/* App-only additions on top of the shared Legends Black styles (style.css). */
body { margin: 0; background: var(--surface); min-height: 100vh; }
.boot { padding: 40px; color: var(--faint); }
.top { position: sticky; top: 0; z-index: 5; }
.mods a, .sub2 a { cursor: pointer; }
.main { max-width: 1400px; margin: 0 auto; padding-left: max(20px, env(safe-area-inset-left, 0px)); padding-right: max(20px, env(safe-area-inset-right, 0px)); }
button.btn { cursor: pointer; }
button.btn:disabled { opacity: .5; cursor: default; }
.who button { background: none; border: 0; color: var(--chrome-muted); font: inherit; cursor: pointer; padding: 0; }
.who button:hover { color: var(--chrome-ink); }
.err { color: var(--neg); font-size: 13.5px; }
.okmsg { color: var(--pos); font-size: 13.5px; }
.inp { padding: 7px 10px; border: 1px solid var(--line2); border-radius: 4px; background: var(--surface); color: var(--ink); font: 14px var(--sans); min-width: 0; }
select.inp { padding: 6px 8px; }
.loading { color: var(--faint); padding: 30px 0; }

/* sign-in */
.login { min-height: 100vh; display: grid; grid-template-rows: 46px 1fr; }
.login .top { position: static; }
.login form { width: min(380px, calc(100% - 32px)); margin: 70px auto 0; display: flex; flex-direction: column; gap: 14px; }
.login h2 { margin: 0; font: 700 28px var(--cond); text-transform: uppercase; letter-spacing: .03em; }
.login label { display: flex; flex-direction: column; gap: 5px; font: 700 12px var(--cond); text-transform: uppercase; letter-spacing: .06em; color: var(--faint); }
.login .btn.pri { padding: 9px 14px; }
.key { font: 600 15px ui-monospace, Menlo, monospace; letter-spacing: .08em; padding: 10px; background: var(--band); border-radius: 4px; word-break: break-all; user-select: all; }
.steps-ol { margin: 0; padding-left: 18px; color: var(--muted); font-size: 14px; display: flex; flex-direction: column; gap: 4px; }

/* forms in pages */
.formrow { display: flex; flex-wrap: wrap; gap: 10px 12px; align-items: flex-end; }
.formrow label { display: flex; flex-direction: column; gap: 4px; font: 700 12px var(--cond); text-transform: uppercase; letter-spacing: .06em; color: var(--faint); }
.formrow .chk { flex-direction: row; align-items: center; gap: 6px; font: 400 14px var(--sans); text-transform: none; letter-spacing: 0; color: var(--ink); }
.panel { border: 1px solid var(--line2); border-radius: 4px; padding: 14px; display: flex; flex-direction: column; gap: 12px; }
.panel h3 { margin: 0; font: 700 15px var(--cond); text-transform: uppercase; letter-spacing: .05em; }
.temp { padding: 10px 12px; background: var(--amber-soft); border-radius: 4px; font-size: 14px; }
.temp code { font: 600 15px ui-monospace, Menlo, monospace; user-select: all; }
@media (max-width: 700px) { .who .nm { display: none; } .ph h2 { font-size: 22px; } }

/* dashboard: one section per business */
.biz { display: flex; flex-direction: column; gap: 14px; padding-top: 18px; border-top: 3px solid var(--ink); scroll-margin-top: 60px; }
.bizhead { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 16px; }
.bizhead h2 { margin: 0; font: 700 22px var(--cond); text-transform: uppercase; letter-spacing: .03em; display: flex; align-items: center; gap: 9px; }
.bizhead h2 i { width: 12px; height: 12px; border-radius: 2px; display: inline-block; }
.bizhead span { font-size: 13px; color: var(--faint); }
.bizhead a { margin-left: auto; font-size: 13px; }
i.sw { display: inline-block; width: 9px; height: 9px; border-radius: 2px; margin-right: 7px; }
