/* Running portal additions on top of the mock portal.css (no color literals: tokens only). */
.rtile{position:relative}
.rtile input{position:absolute;opacity:0;pointer-events:none}
.rtile:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,var(--surface));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 35%,transparent)}
.rtile:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}
form.inline{display:contents}
/* Offer Accept/Pass sit in forms; display:contents is unreliable on iOS, which left an empty gap. */
.pp-offer-acts > form.inline,.offer-acts > form.inline{display:flex;min-width:0}
.pp-offer-acts > [data-pp-accept-form],.offer-acts > [data-pp-accept-form]{flex:3 1 0}
.pp-offer-acts > [data-pp-pass-form],.offer-acts > [data-pp-pass-form]{flex:1 1 0}
.pp-offer-acts > form > .btn,.offer-acts > form > .btn{width:100%}
.testbar{display:flex;gap:8px;align-items:center;margin-bottom:12px;padding:8px 12px;border-radius:var(--r-sm);border:1px dashed var(--edge-2);color:var(--ink-2);font-size:var(--fs-sm)}
.flash{margin-bottom:12px}
.mono{font-family:ui-monospace,monospace}
.ph{background:var(--flag);color:var(--flag-ink);padding:0 4px;border-radius:4px;font-weight:700}
/* Phone fit (Mikey Nov 7): no page wider than the screen, no iOS focus zoom, safe-area aware heights. */
html,body{overflow-x:clip;max-width:100%}
.app{min-height:100dvh;padding-bottom:calc(var(--tabs) + var(--sp4) + env(safe-area-inset-bottom,0px))}
.tabs{padding-bottom:env(safe-area-inset-bottom,0px);height:calc(var(--tabs) + env(safe-area-inset-bottom,0px))}
.auth{min-height:100dvh;grid-template-columns:minmax(0,1fr)}
.auth .box,.main,.main>*{min-width:0}
.auth .box .row{flex-wrap:wrap}
.auth .btn{white-space:normal;text-align:center;height:auto}
.inp,textarea.inp,select.inp{font-size:max(16px,1em)}
.pp-test-offer{flex-wrap:wrap;gap:8px}
.filters.pillrow{overflow-x:auto;max-width:100%}
.lead-filter{display:flex;align-items:center;gap:10px;flex-wrap:wrap;width:100%}
.lead-filter .f{margin:0;white-space:nowrap}
.lead-filter select{flex:1;min-width:0}

.scr-prefs .sw,.scr-prefs .sw[aria-checked=true]{height:44px;background:transparent}
.scr-prefs .sw::before{content:"";position:absolute;inset:5px 0;background:var(--edge-2);border-radius:99px}
.scr-prefs .sw[aria-checked=true]::before{background:var(--accent)}
.scr-prefs .sw::after{top:8px}
.scr-prefs .sw:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
