/* Round 16 shared panels. Information and recorder rows are flat; state-changing
   controls are raised keys. All type sizes come from the existing interface. */
.rr-overlay-layer{position:fixed;inset:0;z-index:180;color:var(--text-hi);font:15px/1.4 var(--ui)}
.rr-overlay-scrim{position:absolute;inset:0;background:rgba(0,0,0,.18)}
.rr-overlay{box-sizing:border-box;position:absolute;background:var(--panel);color:var(--text-hi);overflow:auto;overscroll-behavior:contain}
.rr-overlay [hidden]{display:none}
.rr-overlay a{color:inherit;text-decoration:none}
.rr-overlay button,.rr-overlay input,.rr-overlay select{font:inherit;color:inherit}
.rr-overlay :is(input,select){font-size:16px;min-height:44px;box-sizing:border-box;width:100%;border:1px solid var(--border);border-radius:10px;background:var(--pressed);padding:8px;box-shadow:var(--inset)}
.rr-overlay .rr-flat{background:transparent;border:0;box-shadow:none;min-width:44px;min-height:44px;padding:0}
.rr-overlay .rr-key{display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--border);border-radius:12px;background:var(--raised);box-shadow:var(--key);padding:0 12px;font-weight:600}
.rr-overlay header{display:flex;justify-content:space-between;align-items:center;gap:8px}
.rr-overlay h2{font-size:20px;margin:0}
.rr-overlay p{margin:8px 0;color:var(--text-mid)}
.rr-section-label,.rr-overlay .rr-section-label{font:600 12px/1.4 var(--mono);letter-spacing:.12em;color:var(--text-lo);margin:12px 0 6px}
.rr-health-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--text-lo);flex:none}
.rr-health-dot[data-health=online]{background:var(--brand)}
.rr-health-dot[data-health=degraded]{background:var(--activity)}
.rr-health-dot[data-health=offline]{background:var(--danger)}
.rr-switch-layer{pointer-events:none}.rr-switch-layer :is(.rr-overlay,.rr-overlay-scrim){pointer-events:auto}
.rr-store-sheet{left:0;right:0;border:1px solid var(--border);border-top:0;border-radius:0 0 16px 16px;box-shadow:var(--lift-outer);padding:12px}
.rr-store-sheet nav{display:flex;flex-direction:column;max-height:312px;overflow-y:auto;margin:8px 0}
.rr-store-sheet nav a{display:flex;align-items:center;gap:10px;min-height:52px;flex:none;border-bottom:1px solid var(--border);box-sizing:border-box}
.rr-store-sheet nav a[hidden]{display:none}
.rr-store-sheet .rr-switch-still{position:relative;width:54px;height:32px;aspect-ratio:auto;flex:none;background:var(--pressed);border-radius:6px;overflow:hidden}
.store-card-still img{width:100%;height:100%;object-fit:fill}.store-card-still video{display:none}.store-card-still .store-connected-label{display:none}
/* A 54 px thumbnail is a quiet placeholder until the still arrives; the status stays for screen readers only. */
.rr-switch-still .store-connected-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.rr-store-sheet a:has([data-health=offline]) .rr-switch-still{filter:grayscale(1)}
.rr-switch-copy{flex:1;min-width:0;display:flex;flex-direction:column}.rr-switch-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rr-switch-copy small{font-size:11px;color:var(--text-mid)}
.rr-switch-count{font:600 13px var(--mono);color:var(--text-lo)}[aria-current=page] .rr-switch-count{color:var(--brand)}
.rr-store-sheet footer{display:flex;gap:8px}.rr-store-sheet footer>*{flex:1}
.rr-profile-overlay{width:236px;border:1px solid var(--border);border-radius:14px;box-shadow:var(--key),var(--lift-outer);padding:12px;overflow:visible;max-height:calc(100dvh - 100px)}
.rr-profile-overlay:before{content:"";position:absolute;right:12px;top:-6px;width:10px;height:10px;background:var(--panel);border-top:1px solid var(--border);border-left:1px solid var(--border);transform:rotate(45deg)}
.rr-profile-header{margin-bottom:8px}.rr-profile-initials{width:34px;height:34px;border-radius:50%;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;flex:none;font-weight:600}
.rr-profile-header>span:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column}.rr-profile-header strong{font-size:13px}.rr-profile-header small{font-size:11px;overflow:hidden;text-overflow:ellipsis;color:var(--text-lo)}
.rr-profile-row,.rr-opening summary{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:44px;box-sizing:border-box;border-bottom:1px solid var(--border);font-size:13px;text-align:left}
.rr-profile-row>span:last-child{color:var(--text-lo)}.rr-look{display:flex;background:var(--pressed);box-shadow:var(--inset);border-radius:10px;padding:3px}
.rr-look button{font-size:12px;min-height:44px;min-width:44px;background:transparent;box-shadow:none;border:0;border-radius:8px}.rr-look [aria-pressed=true]{background:var(--raised);box-shadow:var(--key)}
.rr-opening summary{cursor:pointer;flex-wrap:wrap}.rr-opening small{font-size:11px;color:var(--text-lo)}.rr-opening-choice{display:flex;align-items:center;justify-content:space-between;min-height:44px;font-size:13px}.rr-overlay .rr-opening-choice input{width:20px;min-height:20px;box-shadow:none}
.rr-profile-overlay .rr-signout{color:var(--danger);justify-content:center;border:0}.rr-profile-overlay #openingStatus{font-size:11px}
.rr-settings-sheet{inset:auto 0 0;max-height:85dvh;border:1px solid var(--border);border-radius:16px 16px 0 0;box-shadow:var(--sheet);padding:12px 16px calc(16px + env(safe-area-inset-bottom));touch-action:pan-y}
.rr-sheet-handle{width:40px;height:5px;border-radius:999px;background:var(--handle);margin:0 auto 8px}
.rr-recorder-row{padding:12px 0;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:4px}.rr-recorder-row summary{cursor:pointer;min-height:44px;display:flex;flex-direction:column;gap:4px}.rr-recorder-row span,.rr-recorder-row small{color:var(--text-lo)}
.rr-later{font:600 10px var(--mono);letter-spacing:.06em}.rr-recorder-row .rr-later{color:var(--activity)}
.rr-camera-list a{display:flex;align-items:center;gap:8px;min-height:44px}.rr-camera-list a span{margin-left:auto}
.rr-share-key{width:100%}.rr-overlay .account-person{display:flex;align-items:center;justify-content:space-between;min-height:48px;border-bottom:1px solid var(--border);gap:8px}.rr-overlay .account-person>span{display:flex;flex-direction:column;min-width:0}.rr-overlay .account-person small{font-size:11px;color:var(--text-lo)}.rr-overlay .account-person button{min-height:44px;color:var(--danger);border:0;background:transparent;box-shadow:none}
.rr-overlay #shareForm{display:flex;flex-direction:column;gap:8px;padding:12px 0}.rr-overlay #shareForm label{display:flex;flex-direction:column;gap:6px}
/* Help and What's new (spec docs/whatsnew-tour-help-spec.html, W1, H2, V1). Sheets are panels; rows,
   labels, See all and ✕ are flat; Send a support report and Take the tour are raised keys; Next and Done
   are the one primary. */
.rr-overlay .rr-primary{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;border:0;border-radius:12px;background:var(--brandFill);box-shadow:var(--brandKey);color:var(--brandInk);padding:0 18px;font-weight:600}
.rr-help-row{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:44px;box-sizing:border-box;border-bottom:1px solid var(--border);font-size:14px;text-align:left}
.rr-overlay .rr-help-row{padding:0}.rr-help-row small{font:12px var(--mono);color:var(--text-lo)}.rr-help-detail{display:flex;align-items:center;gap:8px;color:var(--text-lo)}
.rr-help-phone a{display:flex;align-items:center;min-height:44px}.rr-help-phone a:first-child{flex:1}.rr-overlay .rr-help-text{padding:0 4px 0 12px;color:var(--text-lo)}
.rr-help-report{width:100%;margin-top:12px}
.rr-overlay .rr-help-version{text-align:center;font:600 12px var(--mono);letter-spacing:.04em;color:var(--text-lo);margin:12px 0 0}
.rr-overlay .rr-help-back{font-size:22px;color:var(--brand)}.rr-help-sheet header h2{flex:1}
.rr-overlay .rr-help-date{font:12px var(--mono);color:var(--text-lo)}
.rr-overlay .rr-release-row{margin:0;padding:8px 0;border-bottom:1px solid var(--border);font-size:14px;color:var(--text-hi)}
.rr-whatsnew-sheet{display:flex;flex-direction:column;gap:10px}
.rr-wn-version{font:600 12px var(--mono);letter-spacing:.06em;color:var(--text-lo)}
.rr-wn-card{display:flex;flex-direction:column;gap:2px;min-height:180px}
.rr-overlay .rr-wn-card p{margin:0;font-size:14px;line-height:1.45}
.rr-overlay .rr-wn-where{font:600 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-lo);margin-top:8px}
.rr-wn-title{margin:2px 0 4px;font:700 18px/1.25 var(--ui)}
.rr-wn-vis{position:relative;display:flex;align-items:center;gap:8px;min-height:56px;padding:8px;background:var(--canvas);border:1px solid var(--border);border-radius:12px;box-sizing:border-box;overflow:hidden}
.rr-wn-strip{position:relative;flex:1;height:22px;background:var(--pressed);box-shadow:var(--inset);border-radius:6px}
.rr-wn-strip i{position:absolute;bottom:9px;height:3px;border-radius:2px}
.rr-wn-rec{left:6px;right:40%;background:var(--brand)}.rr-wn-up{left:62%;right:22%;background:repeating-linear-gradient(90deg,var(--brand) 0 4px,transparent 4px 7px)}
.rr-wn-strip .rr-wn-mot{bottom:13px;left:14%;width:34%;height:5px;background:repeating-linear-gradient(90deg,var(--activity) 0 2px,transparent 2px 5px)}
.rr-wn-edge{font:600 11px var(--mono);letter-spacing:.06em;color:var(--brand);writing-mode:vertical-rl}
.rr-wn-gap{font:600 11px var(--mono);color:var(--text-lo)}
.rr-wn-bar{display:flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--border);border-radius:10px;font-weight:600;font-size:13px}
.rr-wn-list{display:flex;flex-direction:column;gap:4px;flex:1}.rr-wn-list i{height:6px;border-radius:3px;background:var(--border)}
.rr-wn-tray{flex:1;display:flex;gap:3px;padding:3px;background:var(--pressed);box-shadow:var(--inset);border-radius:11px}
.rr-wn-tray span{flex:1;text-align:center;padding:5px 0;border-radius:8px;font-size:12px;font-weight:600;color:var(--text-mid)}.rr-wn-tray .on{background:var(--raised);box-shadow:var(--key);color:var(--text-hi)}
.rr-wn-find{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--raised);box-shadow:var(--key);font-size:18px}
.rr-wn-search{flex:1;display:flex;align-items:center;gap:8px;min-height:34px;padding:0 10px;background:var(--pressed);box-shadow:var(--inset);border-radius:10px;font:13px var(--mono)}
.rr-wn-key{margin-left:auto;display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border:1px solid var(--border);border-radius:11px;background:var(--raised);box-shadow:var(--key);font-size:13px;font-weight:600}
.rr-wn-groups{display:grid;grid-template-columns:1fr 1fr;gap:2px 12px;width:100%;font-size:12px;color:var(--text-mid)}.rr-wn-groups span{display:flex;justify-content:space-between;gap:6px;min-width:0}.rr-wn-groups b{font:600 12px var(--mono);color:var(--text-lo)}
.rr-wn-dots{display:flex;gap:5px;align-items:center;justify-content:center}.rr-wn-dots i{width:6px;height:6px;border-radius:50%;background:var(--handle)}.rr-wn-dots i.on{width:16px;border-radius:4px;background:var(--brand)}
.rr-wn-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.rr-wn-foot>span{display:flex;gap:8px}
.rr-overlay .rr-wn-all{color:var(--brand);font-weight:600;padding:0 4px}
/* Home Screen install guide (PW1, approved Oct 23: S1–S7, P1, H5). The sheet is the What's new panel; the iPhone |
   Android tray is sunken with the selected segment a raised key; the drawing slot is flat on canvas, a fixed 150 px a
   video can fill later; Next, Done and Install are the one primary; Not now, ‹ and ✕ are flat. The browser and
   phone-system parts drawn in the slot are plain sketches, not Apple or Google artwork. */
.rr-ig-sheet{--ig-chrome:#F4F5F4;--ig-ink:#2A2F2C;--ig-lo:#7B827E;--ig-sys:#FFFFFF;--ig-line:rgba(0,0,0,.08)}
:is(#rr,.family-app):not([data-mode="light"]) .rr-ig-sheet{--ig-chrome:#1F2221;--ig-ink:#E6E9E7;--ig-lo:#8C938F;--ig-sys:#242726;--ig-line:rgba(255,255,255,.08)}
.rr-ig-sheet header h2{flex:1}
/* Nothing in the sheet shrinks: on a short phone the sheet scrolls instead of the text running under Next. A card
   holds its height across steps so the sheet doesn't jump. */
.rr-ig-sheet>*{flex-shrink:0}.rr-ig-card{min-height:252px}
.rr-overlay .rr-ig-sub{margin:-6px 0 0;font-size:14px}
.rr-ig-tray{display:flex;gap:3px;padding:3px;flex:none;background:var(--pressed);box-shadow:var(--inset);border-radius:12px}
.rr-overlay .rr-ig-tray button{flex:1;min-height:44px;border:0;border-radius:9px;background:transparent;box-shadow:none;font-size:14px;font-weight:600;color:var(--text-mid)}
.rr-overlay .rr-ig-tray [aria-pressed=true]{background:var(--raised);box-shadow:var(--key);color:var(--text-hi)}
.rr-ig-vis{position:relative;height:150px;flex:none;box-sizing:border-box;overflow:hidden;background:var(--canvas);border:1px solid var(--border);border-radius:12px;font:11px/1.3 var(--ui);color:var(--ig-ink)}
.rr-ig-vis video{display:block;width:100%;height:100%;object-fit:fill}
.rr-overlay .rr-ig-later{color:var(--text-mid);font-weight:600;padding:0 4px}
.rr-ig-icon{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:8px;background:linear-gradient(180deg,#1E7B50,#155F3C)}
.rr-ig-icon::before{content:"";width:44%;height:62%;background:#FFFFFF;-webkit-mask:url("/branding/v1/receipt-green.svg") center/contain no-repeat;mask:url("/branding/v1/receipt-green.svg") center/contain no-repeat}
.rr-ig-icon-big{width:44px;height:44px;border-radius:11px}
.rr-ig-mini{position:absolute;inset:0;padding:10px;display:flex;flex-direction:column;gap:6px;justify-content:flex-end}.rr-ig-mini.rr-ig-from-top{justify-content:flex-start}
.rr-ig-bar{display:flex;gap:6px;align-items:center}
.rr-ig-btn,.rr-ig-bar .rr-ig-url{height:30px;border-radius:15px;background:var(--ig-chrome);box-shadow:0 1px 5px rgba(0,0,0,.14)}
.rr-ig-btn{display:grid;place-items:center;width:30px;flex:none;font-weight:700;font-size:12px}
.rr-ig-url{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:0 9px;font-size:10px;line-height:30px;text-align:center;color:var(--ig-lo)}
.rr-ig-glyph{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8}
.rr-ig-pop,.rr-ig-menu{background:var(--ig-sys);overflow:hidden}
.rr-ig-pop{align-self:flex-end;width:62%;border-radius:12px;box-shadow:0 4px 16px rgba(0,0,0,.18)}
.rr-ig-pop>div{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;border-bottom:1px solid var(--ig-line)}.rr-ig-pop>div:last-child{border-bottom:0}
.rr-ig-share{margin:0 -10px -10px;padding:8px 10px 10px;background:var(--ig-sys);border-radius:12px 12px 0 0;box-shadow:0 -2px 10px rgba(0,0,0,.12)}
.rr-ig-apps{display:flex;gap:9px;margin-bottom:6px}.rr-ig-apps i{width:26px;height:26px;border-radius:7px;background:var(--ig-line)}
.rr-ig-rows>div,.rr-ig-id,.rr-ig-tog{display:flex;align-items:center;border-radius:8px;background:color-mix(in srgb,var(--ig-ink) 5%,var(--ig-sys))}
.rr-ig-rows>div{justify-content:space-between;margin-top:3px;padding:5px 8px}
.rr-ig-add{position:absolute;inset:0;display:flex;flex-direction:column;gap:7px;padding:8px 10px;background:var(--ig-sys)}
.rr-ig-add-top{display:flex;justify-content:space-between;align-items:center;font-weight:600}.rr-ig-add-top span{color:var(--ig-lo);font-weight:400}.rr-ig-add-top b{padding:3px 9px;border-radius:8px}
.rr-ig-id,.rr-ig-tog{gap:8px;padding:6px}.rr-ig-id small{display:block;color:var(--ig-lo);font-size:9.5px}
.rr-ig-tog{justify-content:space-between}.rr-ig-tog i{position:relative;width:30px;height:18px;border-radius:9px;background:#34A35D}.rr-ig-tog i::after{content:"";position:absolute;right:2px;top:2px;width:14px;height:14px;border-radius:50%;background:#FFFFFF}
.rr-ig-home{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px 8px;align-content:start;padding:12px 14px;background:linear-gradient(160deg,#5B7F95,#2F4B5E 55%,#203644)}
.rr-ig-home span{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0;white-space:nowrap;font-size:8.5px;color:#FFFFFF;text-shadow:0 1px 2px rgba(0,0,0,.5)}
.rr-ig-home i{width:34px;height:34px;border-radius:9px;background:rgba(255,255,255,.28)}
.rr-ig-home .rr-ig-icon{display:grid;width:34px;height:34px;border-radius:9px;box-shadow:0 0 0 2px #FFFFFF,0 0 14px rgba(255,255,255,.6)}
.rr-ig-ctop{display:flex;gap:6px;align-items:center;margin:-10px -10px 0;padding:8px 10px;background:var(--ig-chrome)}
.rr-ig-ctop .rr-ig-url{height:24px;border-radius:12px;background:var(--ig-sys);line-height:24px;text-align:left}
.rr-ig-k{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font-weight:700;font-size:14px}
.rr-ig-skel{display:flex;flex-direction:column;gap:7px;padding:10px 2px}.rr-ig-skel i{height:8px;border-radius:4px;background:var(--border)}.rr-ig-skel i:first-child{height:44px;border-radius:8px}.rr-ig-skel i:last-child{width:60%}
.rr-ig-menu{position:absolute;right:8px;top:8px;width:58%;border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.22)}.rr-ig-menu>div{padding:5px 10px}
.rr-ig-dim{position:absolute;inset:0;background:rgba(0,0,0,.35)}
.rr-ig-dialog{position:absolute;left:10px;right:10px;bottom:10px;padding:10px 12px;border-radius:16px;background:var(--ig-sys);box-shadow:0 6px 20px rgba(0,0,0,.25)}
.rr-ig-dialog .rr-ig-id{margin:6px 0 8px;padding:0;background:none}
.rr-ig-btns{display:flex;justify-content:flex-end;gap:14px;font-weight:600}.rr-ig-btns b{padding:3px 8px;border-radius:8px;color:#1A73E8}
.rr-ig-onetap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font:600 12px var(--ui);color:var(--text-hi)}
.rr-ig-vis .rr-ig-hl{box-shadow:var(--ring)}
.rr-ig-vis :is(.rr-ig-pop,.rr-ig-rows,.rr-ig-menu)>.rr-ig-hl{border-radius:0;background:color-mix(in srgb,var(--brand) 14%,var(--ig-sys));box-shadow:inset 0 0 0 2px var(--brand)}
.rr-ig-vis .rr-ig-rows>.rr-ig-hl{border-radius:8px}
/* The sign-in row (P1): a flat list row; Continue with Google stays the page's one main action. */
.auth-get-app{display:flex;align-items:center;gap:10px;box-sizing:border-box;width:100%;min-height:52px;margin-top:16px;padding:0 4px;border-block:1px solid var(--border);color:var(--text-hi);text-decoration:none}
.auth-get-app[hidden]{display:none}.auth-get-app .rr-ig-icon{width:32px;height:32px}
.auth-get-app-copy{flex:1;min-width:0;display:flex;flex-direction:column;font-size:14px;font-weight:600}.auth-get-app-copy small{font-size:12px;font-weight:400;color:var(--text-mid)}
.auth-get-app-go{font-size:20px;color:var(--text-lo)}
@media(min-width:768px){.rr-store-sheet{max-width:480px;left:12px;right:auto;width:480px}.rr-settings-sheet{max-width:640px;margin:0 auto}}

/* Independent Recent / Today cards, with a shared store name. */
.stores-shell{max-width:1200px;margin:auto;padding:calc(16px + env(safe-area-inset-top,0px)) 12px calc(24px + env(safe-area-inset-bottom,0px))}
.stores-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:8px 0 12px}
.stores-heading h1{font-size:26px;margin:0;color:var(--text-hi)}
.stores-back{width:100%;min-height:44px;display:flex;align-items:center;color:var(--brand);text-decoration:none;font-weight:600}.stores-back[hidden]{display:none}
.stores-heading .profile-trigger{text-decoration:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%}
.stores-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:12px}
.store-card{overflow:hidden;border:1px solid var(--border);border-radius:16px;background:var(--panel);color:var(--text-hi);--section-motion:150ms}
.store-card-viewport{position:relative;overflow:hidden}.store-card-faces{display:flex;transition:transform var(--section-motion) ease-out;align-items:stretch}
.store-card[data-face=today] .store-card-faces{transform:translateX(-100%)}
.store-recent-face,.store-today-face{position:relative;width:100%;flex:0 0 100%;box-sizing:border-box;min-width:0}
.store-recent-row{display:flex;gap:5px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;touch-action:pan-x pan-y;scrollbar-width:none;padding:5px 31px 0 5px}
.store-recent-row::-webkit-scrollbar{display:none}
.store-tile{display:block;flex:0 0 var(--store-tile-width);min-width:0;aspect-ratio:16/9;border-radius:8px;overflow:hidden;scroll-snap-align:start;position:relative;background:var(--pressed);text-decoration:none}
.store-tile .store-card-still{position:absolute;inset:0;overflow:hidden;background:var(--pressed)}
.store-tile .store-connected-status{position:absolute;inset:0 0 18px}.store-tile .store-connected-status:first-child:not(:only-child){display:none}
.store-tile-label{position:absolute;left:7px;right:7px;bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;color:#F2F7F3;text-shadow:0 1px 3px #0A140E}
.store-card[data-health=offline] .store-card-still{filter:grayscale(1);opacity:.55}
.store-card-still .store-connected-status{display:grid;place-items:center;height:100%;font-size:11px;color:var(--text-lo)}
.store-name-row{display:flex;align-items:center;gap:8px;padding:4px 8px 6px 12px;min-height:44px;box-sizing:border-box}.store-name-row a{color:inherit;text-decoration:none;flex:1;min-width:0}.store-name-row h2{font-size:18px;font-weight:700;line-height:1.2;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.store-card-moment{font-size:13px;color:var(--text-mid);max-width:50%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.store-card-moment small{font-size:inherit}
.store-card-sales-line{font:600 13px var(--mono)}
.store-card-trouble{display:block;font-size:12px;font-weight:500;color:var(--activity);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.family-app .store-settings-key{width:44px;height:44px;min-width:44px;min-height:44px;flex:none;background:transparent;border:0;box-shadow:none;color:var(--text-mid);padding:0;font-size:20px}
.family-app .store-face-tab{position:absolute;top:0;bottom:0;width:22px;min-width:22px;padding:0;min-height:44px;border:0;border-radius:0;background:var(--track);box-shadow:none;color:var(--brand);display:flex;flex-direction:column;align-items:center;justify-content:center;font:600 12px var(--mono)}
.store-face-tab span{writing-mode:vertical-rl;letter-spacing:.06em}.store-today-tab{right:0}.store-recent-tab{left:0}
.store-card :is(a,img){-webkit-user-drag:none;user-select:none}
.store-today-face{padding:0 8px 0 30px;display:flex;flex-direction:column;justify-content:center;gap:3px;overflow:hidden;max-height:100%;contain:size}
.family-app .store-day-strip{width:100%;height:44px;min-height:44px;padding:11px 0;border:0;background:transparent;box-shadow:none;border-radius:0}.store-day-strip canvas{display:block;box-sizing:border-box;width:100%;height:22px;background:var(--pressed);box-shadow:var(--inset);border-radius:6px}
.store-today-stats{display:flex;justify-content:space-between;gap:6px;font-size:11px;color:var(--text-lo)}.store-today-stats span{display:flex;flex-direction:column;gap:4px;min-width:0}.store-today-stats b{font:600 13px var(--mono);color:var(--text-hi)}
.store-today-problems,.store-today-status{margin:0;font-size:11px;color:var(--text-lo)}.store-today-problems:empty,.store-today-status:empty{display:none}
@media(prefers-reduced-motion:reduce){.store-card-faces{transform:none;display:grid;transition:none}.store-card[data-face=today] .store-card-faces{transform:none}.store-recent-face,.store-today-face{grid-area:1/1;transition:opacity var(--section-motion) ease-out}.store-recent-face{opacity:1}.store-today-face{opacity:0;pointer-events:none}.store-card[data-face=today] .store-recent-face{opacity:0;pointer-events:none}.store-card[data-face=today] .store-today-face{opacity:1;pointer-events:auto}}
/* Desktop Phase 1 top bar pieces (spec docs/desktop-phase1-spec.html, OV1, OV2, TB), built in
   app-family-navigation.js for Watch and the Overview. Neither shows on a phone (below 600 px, or phone
   landscape). The Overview · Watch tray is a sunken tray with the current view raised and the other flat.
   Find is one entry: today's magnifier on a phone, a raised 40 px key below 1280 px, and from 1280 px a
   sunken field (320 px, 380 px from 1600) with its "/" key. */
.rr-view-tray,.rr-find-field{display:none}
@media (min-width:600px){
  .rr-view-tray{display:flex;flex:none;gap:3px;height:40px;padding:3px;box-sizing:border-box;border-radius:12px;background:var(--pressed);box-shadow:var(--inset)}
  .rr-view-tray a{position:relative;display:flex;align-items:center;padding:0 14px;border-radius:9px;font:600 13.5px/1 var(--ui);color:var(--text-mid);text-decoration:none;white-space:nowrap}
  .rr-view-tray a::after{content:"";position:absolute;inset:-5px 0}
  .rr-view-tray a[aria-current=true]{background:var(--raised);box-shadow:var(--key);color:var(--text-hi)}
  .hudhost:not(.phone) #hud .store-search,.rr-topbar .store-search{position:relative;display:grid;place-items:center;flex:none;box-sizing:border-box;width:40px;height:40px;border:1px solid var(--border);border-radius:12px;background:var(--raised);box-shadow:var(--key);color:var(--text-hi);text-decoration:none}
  .hudhost:not(.phone) #hud .store-search::after,.rr-topbar .store-search::after{content:"";position:absolute;inset:-3px}
  .hudhost:not(.phone) #hud .store-search svg,.rr-topbar .store-search svg{width:19px;height:19px}
}
.hudhost.phone .rr-view-tray{display:none}
@media (min-width:1280px){
  .rr-topbar .store-search{order:-1;display:flex;align-items:center;gap:8px;width:320px;padding:0 8px 0 12px;border:0;background:var(--pressed);box-shadow:var(--inset);color:var(--text-lo);font:14px var(--ui)}
  .rr-topbar .store-search svg{width:17px;height:17px;flex:none}
  .rr-topbar .rr-find-field{display:flex;align-items:center;gap:8px;flex:1;min-width:0}
  .rr-find-field>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .rr-find-field kbd{font:600 11px var(--mono);color:var(--text-lo);border:1px solid var(--border);border-radius:5px;padding:1px 6px}
}
/* Watch's View and focus keys share the header; the Find field fits from 1440 px. */
@media (min-width:1440px){
  .hudhost:not(.phone) #hud .store-search{order:-1;display:flex;align-items:center;gap:8px;width:320px;padding:0 8px 0 12px;border:0;background:var(--pressed);box-shadow:var(--inset);color:var(--text-lo);font:14px var(--ui)}
  .hudhost:not(.phone) #hud .store-search svg{width:17px;height:17px;flex:none}
  .hudhost:not(.phone) #hud .rr-find-field{display:flex;align-items:center;gap:8px;flex:1;min-width:0}
}
@media (min-width:1600px){.hudhost:not(.phone) #hud .store-search,.rr-topbar .store-search{width:380px}}

/* One loading-state owner per still host: the portal replaces the static HTML fallback. */
.store-card-still[data-still-publisher="connected"] > [data-still-placeholder]{display:none}

/* Support-only viewing-mode entry, approved owner-preview proposal Oct 25. */
.rr-overlay .rr-owner-preview-entry{justify-content:space-between;text-decoration:none;color:var(--text-hi)}
.rr-overlay .rr-owner-preview-hint{font:500 12px/1.5 var(--ui);color:var(--text-mid)}
