/* Shared polish rules; individual shops retain their own compositions. */
:root{--ui-font:system-ui,-apple-system,'Segoe UI',sans-serif}
#signal-ui button,#lab button,#quiet-story button{font-family:var(--ui-font);font-style:normal;letter-spacing:normal;font-variant-numeric:tabular-nums}
#signal-ui button:not(.ia-node),#lab button,#quiet-story button{min-height:44px}
#signal-ui .sig-close,#lab .icon-button{width:44px;height:44px;min-width:44px;flex:none}
#signal-ui input,#signal-ui select,#lab input,#lab select{font-family:var(--ui-font)}
#signal-ui button:disabled{opacity:.65}
#signal-dialog,#lab,#quiet-story{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#8da8a4 transparent}
#signal-dialog .sig-dialog-head h1{overflow-wrap:break-word}
#dialog-title:focus,#lab-title:focus{outline:0}
.sig-inline-status{flex:none;margin:0;padding:11px 22px;background:#e0eee6;border-bottom:1px solid #b8d4c5;color:#245e50;font:550 13px/1.45 var(--ui-font);max-height:88px;overflow-y:auto;position:sticky;top:0;z-index:3}
.sig-inline-status:empty{display:none}
.sig-inline-status[data-kind=error]{background:#f6e9dd;border-color:#dfc4ab;color:#824527}
.sig-inline-status[data-kind=progress]{background:#e8eef0;color:#355e6b}
#signal-dialog.imprint-panel #form-error[data-kind=error]{color:#ffd1b5}
#signal-dialog.imprint-panel #form-error[data-kind=success]{color:#b8e6ce}
.quiet-sale-body .quiet-error{color:#8a4329}
#quiet-landing-retry{margin-top:16px;pointer-events:auto}
#quiet-landing-retry[hidden]{display:none}
#lab{color:#244e54;background:#f5f5eb}
#lab .sheet-head h1{font-size:30px}
#lab .lede{font-size:13px;line-height:1.55;margin:12px 0 16px}
#lab summary{min-height:46px;display:flex;align-items:center;font:650 14px/1.35 var(--ui-font);color:#294f54}
#lab .setting{font-size:14px;line-height:1.4;min-height:62px}
#lab .setting>span{min-width:0}
#lab .setting small,#lab details p,#lab .compare p{font-size:12px;color:#526d70;line-height:1.55}
#lab .setting input[type=checkbox]{min-width:42px}
#lab input[type=range]{min-height:44px;min-width:80px}
#lab .setting select{max-width:44%;font-size:13px}
#lab .sky-compare{margin-bottom:8px}
#lab .sky-compare>p{margin:8px 0 14px}
#lab .segmented button{font-size:13px;min-width:0}
#crew-motion-settings fieldset{margin-top:10px}
#lab #peer-motion-stats{overflow-wrap:anywhere}
#lab .sheet-foot button{font-weight:650}
#sound-volume-value{font-size:12px;min-width:36px;text-align:right;color:#406667;font-variant-numeric:tabular-nums}
#signal-ui #crew-open{min-width:0}
#connection{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
@media(max-width:720px){.sig-top{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));gap:6px}.sig-top #crew-open{flex:1;max-width:170px}.sig-top .sig-brand{flex:none}.sig-inline-status{padding:10px 18px;font-size:12px}#lab{max-height:calc(100dvh - max(18px,env(safe-area-inset-top)) - env(safe-area-inset-bottom))}#signal-dialog{max-height:calc(100dvh - max(18px,env(safe-area-inset-top)) - env(safe-area-inset-bottom))}#signal-ui .sig-context{padding-bottom:env(safe-area-inset-bottom)}#sig-toast{top:184px;max-width:calc(100vw - 32px)}}
@media(max-width:380px){.sig-brand b,.sig-brand small{display:none}.sig-brand .sig-emblem{font-size:25px}.sig-top #crew-open{padding-inline:9px}.sig-top #crew-requests{padding-inline:9px}#lab .sheet-head{padding:16px 18px}#lab .sheet-body{padding-inline:18px}#lab .sheet-head h1{font-size:27px}#lab .setting{gap:8px}#lab .sheet-foot{padding:12px 18px}}
@media(max-height:480px){#lab .sheet-head{padding:10px 18px}#lab .sheet-head h1{font-size:25px}#lab .sheet-foot{padding:9px 18px}#lab .lede{margin:10px 0}.sig-inline-status{max-height:62px;padding:8px 18px}#sig-toast{top:64px;font-size:12px}.quiet-phase #sig-toast{display:none!important}}
@media(prefers-reduced-motion:reduce){#lab *,#quiet-story *{scroll-behavior:auto!important;transition:none!important}}

#lab summary::after{content:"⌄";margin-left:auto;color:#587778;font-size:19px;padding-left:12px}#lab details[open]>summary::after{transform:rotate(180deg)}
#signal-dialog>#form-error:not(:empty){margin:0;padding:10px 20px;background:#e0eee6;color:#245e50;font-size:13px;line-height:1.45}#signal-dialog>#form-error[data-kind=error]{background:#f6e9dd;color:#824527}
#quiet-landing strong{text-align:center;max-width:calc(100% - 40px);line-height:1.35}
@media(max-width:600px) and (min-height:501px){body:not(.quiet-phase) #signal-ui .sig-context{bottom:calc(145px + env(safe-area-inset-bottom));}}
@media(max-width:650px) and (max-height:650px){.quiet-sale-emblem{font-size:38px;margin:4px}.quiet-sale-receipt{padding:12px;margin:12px auto}.quiet-sale-receipt>strong{font-size:32px}.quiet-sale-body>p{margin:10px auto 14px}.quiet-sale-body{padding-bottom:18px}}
/* Keep close and return actions visible while ordinary dialog content scrolls. */
#signal-dialog:not(.tide-panel):not(.imprint-panel):not(.rq-panel){overflow:hidden}
#signal-dialog:not(.tide-panel):not(.imprint-panel):not(.rq-panel)>.sig-dialog-head,#signal-dialog:not(.tide-panel):not(.imprint-panel):not(.rq-panel)>.sig-dialog-foot{flex:none}
#signal-dialog:not(.tide-panel):not(.imprint-panel):not(.rq-panel)>.sig-dialog-body,#signal-dialog>.quiet-sale-body{min-height:0;overflow-y:auto;overscroll-behavior:contain}
#signal-dialog summary{min-height:44px;align-content:center}
