/* Layout: navy survey-binder header band with tabs, then a single 820px working column of cards; F-tags and counts set in mono like a CMS-2567. */
:root{
  --bg:#eef2f4;--surface:#ffffff;--surface-2:#f6f8f9;--ink:#14212f;--muted:#5b6b7a;--line:#dbe2e7;--grid:#e6ebee;
  --band:#13263d;--band-2:#1b3452;--band-ink:#eaf1f7;--band-muted:#9fb3c8;
  --accent:#0d7a72;--accent-ink:#ffffff;--accent-soft:#dcefed;
  --pass:#1d7a46;--pass-ink:#ffffff;--pass-bg:#e1f2e7;--fail:#b4321f;--fail-bg:#fbe6e1;--na:#94680f;--na-bg:#f7edd4;--chip:#e9eef1;
  --shadow:0 1px 2px rgba(20,33,47,.06),0 4px 14px rgba(20,33,47,.06);
  --display:"Bricolage Grotesque","Avenir Next","Segoe UI",system-ui,sans-serif;
  --body:"IBM Plex Sans","Segoe UI",system-ui,-apple-system,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,monospace;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0e161f;--surface:#16212c;--surface-2:#1b2733;--ink:#e6edf3;--muted:#98a8b8;--line:#2a3846;--grid:#223040;--band:#0a121b;--band-2:#132131;--band-ink:#e6edf3;--band-muted:#8aa0b6;--accent:#3cb8ad;--accent-ink:#06201d;--accent-soft:#143532;--pass:#62cf92;--pass-ink:#0b2415;--pass-bg:#16301f;--fail:#f08877;--fail-bg:#3a1c17;--na:#e3bd5f;--na-bg:#342812;--chip:#223040;--shadow:0 1px 2px rgba(0,0,0,.3),0 4px 14px rgba(0,0,0,.25);color-scheme:dark}}
:root[data-theme="dark"]{--bg:#0e161f;--surface:#16212c;--surface-2:#1b2733;--ink:#e6edf3;--muted:#98a8b8;--line:#2a3846;--grid:#223040;--band:#0a121b;--band-2:#132131;--band-ink:#e6edf3;--band-muted:#8aa0b6;--accent:#3cb8ad;--accent-ink:#06201d;--accent-soft:#143532;--pass:#62cf92;--pass-ink:#0b2415;--pass-bg:#16301f;--fail:#f08877;--fail-bg:#3a1c17;--na:#e3bd5f;--na-bg:#342812;--chip:#223040;--shadow:0 1px 2px rgba(0,0,0,.3),0 4px 14px rgba(0,0,0,.25);color-scheme:dark}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 var(--body)}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--band)}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.topbar{background:linear-gradient(180deg,var(--band),var(--band-2));color:var(--band-ink);padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.topbar .inner{max-width:820px;margin:0 auto;padding-block:16px 0}
.brand{display:flex;align-items:center;gap:12px}
.mark{flex:none;width:38px;height:38px;border-radius:10px;background:var(--accent);display:grid;place-items:center}
.mark svg{width:22px;height:22px}
.brand .nm{font-family:var(--display);font-weight:800;font-size:21px;letter-spacing:-.01em;line-height:1.1}
.brand .fac{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--band-muted)}
.tabs{display:flex;gap:2px;margin-top:14px;overflow-x:auto;scrollbar-width:none}
.tabs button{border:0;background:transparent;color:var(--band-muted);padding:10px 14px 12px;font-weight:600;font-size:14px;white-space:nowrap;border-bottom:3px solid transparent;border-radius:0}
.tabs button:hover{color:var(--band-ink)}
.tabs button.on{color:var(--band-ink);border-bottom-color:var(--accent)}
.tabs .cnt{display:inline-block;background:var(--fail);color:#fff;border-radius:999px;font:600 11px/1.6 var(--mono);padding:0 6px;margin-left:6px;vertical-align:1px}
.wrap{max-width:820px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:18px 80px}
h1{font-family:var(--display);font-weight:700;font-size:26px;letter-spacing:-.015em;line-height:1.15;margin:4px 0 4px;text-wrap:balance}
.sub{margin:0;color:var(--muted);font-size:13.5px}
.btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:9px;padding:9px 14px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:border-color .15s,background .15s}
.btn:hover{border-color:var(--accent)}
.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}
.btn.primary:hover{filter:brightness(1.07)}
.btn.sm{padding:6px 11px;font-size:13px}
.btn.danger{color:var(--fail);border-color:var(--fail)}
.back{background:none;border:0;color:var(--accent);padding:2px 0;font-size:14px;font-weight:600}
.notice{background:var(--fail-bg);color:var(--fail);padding:10px 12px;border-radius:9px;font-size:13px;margin:8px 0;display:none}
.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:9px 16px;border-radius:9px;font-size:14px;display:none;z-index:30;box-shadow:var(--shadow)}
h2{font-family:var(--mono);font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:26px 0 10px;display:flex;align-items:center;gap:10px}
h2::after{content:"";flex:1;height:1px;background:var(--line)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:10px}
.acard{box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s}
.acard:hover{transform:translateY(-1px)}
.acard .t{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.acard .nm{font-family:var(--display);font-weight:700;font-size:18px;letter-spacing:-.01em}
.dt{color:var(--muted);font:500 12.5px var(--mono);white-space:nowrap}
.pills{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}
.pill{font:600 11.5px/1 var(--mono);border-radius:6px;padding:5px 8px;background:var(--chip);color:var(--muted);white-space:nowrap}
.pill.p{background:var(--pass-bg);color:var(--pass)}.pill.f{background:var(--fail-bg);color:var(--fail)}.pill.n{background:var(--na-bg);color:var(--na)}
.sbar{display:flex;height:8px;border-radius:4px;overflow:hidden;background:var(--grid);gap:2px}
.sbar i{display:block;height:100%}
.acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.bar{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--bg);padding:10px 0;border-bottom:1px solid var(--line);margin-bottom:8px}
.namein{font-family:var(--display);font-size:24px;font-weight:700;letter-spacing:-.015em;border:0;background:transparent;color:var(--ink);padding:2px 0;width:100%}
.seg{display:flex;gap:4px;flex-wrap:wrap;background:var(--chip);padding:3px;border-radius:10px;width:fit-content;max-width:100%}
.seg button{border:0;background:transparent;color:var(--muted);border-radius:8px;padding:6px 11px;font-size:13px;font-weight:600}
.seg button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}
.item{position:relative;overflow:hidden}
.item::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:transparent}
.item.fail::before{background:var(--fail)}.item.pass::before{background:var(--pass)}.item.na::before{background:var(--na)}
.top{display:flex;gap:12px;align-items:flex-start}
.num{flex:none;width:32px;height:32px;border-radius:8px;background:var(--surface-2);border:1px solid var(--line);display:grid;place-items:center;font:600 13px var(--mono);color:var(--muted)}
.txt{flex:1;min-width:0;font-weight:500}
.meta{font:600 11px var(--mono);color:var(--muted);letter-spacing:.02em;margin-top:2px}
.flag{display:inline-block;font:600 10.5px var(--mono);color:var(--fail);background:var(--fail-bg);border-radius:5px;padding:2px 6px;margin-left:6px;vertical-align:1px;text-transform:uppercase;letter-spacing:.04em}
.row{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:12px}
.st{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:9px;padding:8px 12px;font-size:14px;font-weight:500}
.st.p.on{background:var(--pass-bg);color:var(--pass);border-color:var(--pass);font-weight:600}
.st.f.on{background:var(--fail-bg);color:var(--fail);border-color:var(--fail);font-weight:600}
.st.n.on{background:var(--na-bg);color:var(--na);border-color:var(--na);font-weight:600}
.cam{background:var(--accent);color:var(--accent-ink);border-radius:9px;padding:8px 13px;font-weight:600;font-size:14px;cursor:pointer;display:inline-flex;gap:6px;align-items:center}
.cam svg{width:16px;height:16px}
.cam.alt{background:var(--pass);color:var(--pass-ink)}
.fixbox label.cam{font:600 14px var(--body);text-transform:none;letter-spacing:0;flex-direction:row;gap:6px;color:var(--pass-ink)}
.cam input{display:none}.cam.busy{opacity:.6;pointer-events:none}
.ml{margin-left:auto}
.fixbox{margin-top:12px;padding:12px;border-radius:10px;background:var(--fail-bg)}
.fixbox.done{background:var(--pass-bg)}
.fixbox label{font:600 11px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);display:flex;flex-direction:column;gap:4px;min-width:0}
.fixbox .grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
select,input[type=date],input[type=text]{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:8px 9px;font-size:14px;width:100%;min-width:0}
textarea{width:100%;margin-top:10px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:9px;padding:9px;font-size:14px;resize:vertical;min-height:40px}
textarea:disabled{opacity:.85}
.thumbs{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.thumbs button{position:relative;padding:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;width:84px;height:84px;background:var(--chip)}
.thumbs img{width:100%;height:100%;object-fit:cover;display:block}
.thumbs .k{position:absolute;left:0;bottom:0;right:0;font:600 9.5px/1.7 var(--mono);letter-spacing:.06em;color:#fff;background:rgba(10,18,27,.65)}
.thumbs .k.after{background:rgba(29,122,70,.92)}
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}
.tile{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;box-shadow:var(--shadow);display:flex;flex-direction:column-reverse;gap:2px}
.tile b{font:700 30px/1.05 var(--display);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.tile span{font:600 10.5px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.tile.p b{color:var(--pass)}.tile.f b{color:var(--fail)}.tile.n b{color:var(--na)}
.headline{font-family:var(--display);font-size:19px;font-weight:600;margin:8px 0 0}
.rline{padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}
.rline:first-child{padding-top:0}.rline:last-child{border-bottom:0;padding-bottom:0}
.rline .nt{color:var(--muted);font-size:13px}
.rline.over .due{color:var(--fail);font-weight:700}
.shareout{width:100%;min-height:150px;font-size:13px;display:none}
.sharecard{background:var(--accent-soft);border-color:transparent}
.pick{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.pick button{text-align:left;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:11px;padding:14px;transition:border-color .15s}
.pick button:hover{border-color:var(--accent)}
.pick button b{display:block;font-family:var(--display);font-size:16px}
.pick button span{font:500 12px var(--mono);color:var(--muted)}
.erow{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:8px;align-items:start;padding:10px 0;border-bottom:1px solid var(--line)}
.erow .f{display:grid;grid-template-columns:minmax(0,1fr) 84px;gap:6px}
.erow .f input:nth-child(2){grid-column:1/-1;order:3}
.erow .ctl{display:flex;flex-direction:column;gap:4px}
.erow .ctl button{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:6px;width:30px;height:28px;padding:0}
.chart{width:100%;height:auto;display:block;margin-top:8px}
.chart text{fill:var(--muted);font:500 10px var(--mono)}
.legend{font:500 12px var(--mono);color:var(--muted)}
.card > b{font-family:var(--display);font-size:16px}
.lb{position:fixed;inset:0;background:rgba(6,12,18,.9);display:none;flex-direction:column;align-items:center;justify-content:center;padding:16px;z-index:20}
.lb.open{display:flex}
.lb img{max-width:100%;max-height:72vh;border-radius:8px}
.lb .cap{color:#e6edf3;font-size:13px;margin:12px 0;text-align:center}
.lb .acts button{background:#fff;color:#14212f;border:0;border-radius:9px;padding:9px 15px;font-size:14px;font-weight:600}
.lb .acts .del{background:#b4321f;color:#fff}
.empty{text-align:center;padding:28px 16px;color:var(--muted)}
@media (max-width:520px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.pick{grid-template-columns:1fr}h1{font-size:23px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ---- website additions: account menu, login, team ---- */
.topbar .inner{position:relative}
.acct{position:absolute;right:0;top:16px;display:flex;align-items:center;gap:8px}
.acct .who{font:500 12px var(--mono);color:var(--band-muted);text-align:right;line-height:1.3}
.acct .who b{display:block;color:var(--band-ink);font:600 13px var(--body)}
.acct button{border:1px solid rgba(255,255,255,.18);background:transparent;color:var(--band-ink);border-radius:8px;padding:6px 10px;font-size:12.5px;font-weight:600}
.acct button:hover{border-color:var(--accent)}
.menu{position:absolute;right:0;top:44px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);min-width:200px;z-index:40;overflow:hidden}
.menu button{display:block;width:100%;text-align:left;border:0;border-radius:0;background:transparent;color:var(--ink);padding:11px 14px;font-size:14px;font-weight:500}
.menu button:hover{background:var(--surface-2)}
.menu .mhead{padding:11px 14px;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}
.login{max-width:400px;margin:6vh auto 0}
.login .card{padding:22px;box-shadow:var(--shadow)}
.field{display:flex;flex-direction:column;gap:5px;margin-top:12px}
.field span{font:600 11px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.field input,.field select{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:9px;padding:10px 11px;font-size:15px;width:100%}
.err{color:var(--fail);font-size:13.5px;margin-top:10px;min-height:1em}
.urow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.urow:last-child{border-bottom:0}
.urow .em{font:500 12.5px var(--mono);color:var(--muted);overflow-wrap:anywhere}
.urow select{width:auto}
.role{font:600 10.5px var(--mono);text-transform:uppercase;letter-spacing:.06em;padding:3px 7px;border-radius:5px;background:var(--chip);color:var(--muted)}
.role.admin{background:var(--accent-soft);color:var(--accent)}
.secret{font:500 13.5px/1.55 var(--mono);background:var(--surface-2);border:1px dashed var(--accent);border-radius:9px;padding:12px;margin:10px 0;user-select:all;overflow-wrap:anywhere}
.roles-help{font-size:13px;color:var(--muted);margin:6px 0 0;padding-left:18px}
.roles-help li{margin:2px 0}
@media (max-width:560px){.acct .who{display:none}}
@media print{.topbar{display:none}}

/* ---- notifications & schedule ---- */
.bellbtn{position:relative;display:inline-grid;place-items:center;padding:6px 9px!important}
.bellbtn .cnt{position:absolute;top:-6px;right:-6px;background:var(--fail);color:#fff;border-radius:999px;font:600 10.5px/1.6 var(--mono);padding:0 5px;min-width:18px;text-align:center}
.menu.notifs{width:min(360px,calc(100vw - 32px));max-height:70vh;overflow:auto}
.nitem{display:flex!important;flex-direction:column;gap:2px;border-bottom:1px solid var(--line)!important;white-space:normal}
.nitem b{font-size:14px}.nitem span{font-size:13px;color:var(--muted)}.nitem em{font:500 11px var(--mono);color:var(--muted);font-style:normal}
.nitem.unread{background:var(--accent-soft)}
.nfoot{color:var(--accent)!important;font-weight:600!important}
.linkbtn{border:0!important;background:none!important;color:var(--accent)!important;padding:0!important;width:auto!important;font-size:13px!important;font-weight:600!important}
.sched{position:relative;overflow:hidden}
.sched::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:transparent}
.sched.overdue::before{background:var(--fail)}.sched.today::before{background:var(--na)}

/* =================== Brand refresh =================== */
:root{--amber:#c98a12;--amber-soft:#fbf0d9;--q:#5b4bc4;--q-soft:#ece9fb;--radius:14px;--shadow-lg:0 2px 4px rgba(20,33,47,.05),0 12px 32px rgba(20,33,47,.10)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--amber:#e7b04a;--amber-soft:#35290f;--q:#a99cf5;--q-soft:#252046;--shadow-lg:0 2px 4px rgba(0,0,0,.35),0 12px 32px rgba(0,0,0,.35)}}
:root[data-theme="dark"]{--amber:#e7b04a;--amber-soft:#35290f;--q:#a99cf5;--q-soft:#252046;--shadow-lg:0 2px 4px rgba(0,0,0,.35),0 12px 32px rgba(0,0,0,.35)}
body{background:linear-gradient(180deg,var(--bg) 0,var(--bg) 100%)}
.topbar{background:
  radial-gradient(1200px 300px at 85% -40%,rgba(13,122,114,.55),transparent 60%),
  radial-gradient(800px 260px at -10% 120%,rgba(91,75,196,.35),transparent 60%),
  linear-gradient(180deg,var(--band),var(--band-2));
  box-shadow:0 1px 0 rgba(255,255,255,.06) inset,0 6px 24px rgba(10,18,27,.18)}
.mark{background:linear-gradient(135deg,#14a397,#0d7a72);box-shadow:0 4px 14px rgba(13,122,114,.45)}
.tabs{gap:4px;padding-bottom:10px}
.tabs button{border-radius:999px;border-bottom:0;padding:8px 14px;color:var(--band-muted)}
.tabs button:hover{background:rgba(255,255,255,.07)}
.tabs button.on{background:rgba(255,255,255,.14);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}
.card{border-radius:var(--radius)}
.acard{box-shadow:var(--shadow)}
.acard:hover{box-shadow:var(--shadow-lg)}

/* hero */
.hero{position:relative;overflow:hidden;border-radius:18px;padding:22px 22px 18px;margin:4px 0 16px;color:#fff;
  background:radial-gradient(600px 220px at 100% 0,rgba(255,255,255,.18),transparent 60%),linear-gradient(130deg,#0d7a72 0%,#145e7a 55%,#1b3452 100%);box-shadow:var(--shadow-lg)}
.hero::after{content:"";position:absolute;right:-40px;bottom:-60px;width:220px;height:220px;border-radius:50%;border:28px solid rgba(255,255,255,.07)}
.hero .eyebrow{font:600 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;opacity:.8}
.hero h1{color:#fff;font-size:30px;margin:6px 0 4px}
.hero p{margin:0;opacity:.92;font-size:15px;max-width:60ch}
.hero-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;position:relative;z-index:1}
.hbtn{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.1);color:#fff;border-radius:10px;padding:9px 14px;font-weight:600;font-size:14px;backdrop-filter:blur(4px)}
.hbtn:hover{background:rgba(255,255,255,.2)}
.hbtn.primary{background:#fff;color:#0d4f5c;border-color:#fff}
.hbtn.primary:hover{background:#eefaf8}

/* tiles */
.tile{position:relative;text-align:left;font:inherit;color:inherit;cursor:default;overflow:hidden}
button.tile{cursor:pointer;transition:transform .15s,box-shadow .15s}
button.tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.tile::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--line)}
.tile.f::before{background:var(--fail)}.tile.n::before{background:var(--amber)}.tile.p::before{background:var(--pass)}.tile.q::before{background:var(--q)}
.tile .ti{position:absolute;right:12px;top:12px;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--chip);color:var(--muted)}
.tile.f .ti{background:var(--fail-bg);color:var(--fail)}.tile.n .ti{background:var(--amber-soft);color:var(--amber)}.tile.q .ti{background:var(--q-soft);color:var(--q)}.tile.p .ti{background:var(--pass-bg);color:var(--pass)}
.tile.q b{color:var(--q)}.tile.n b{color:var(--amber)}
.pill.q{background:var(--q-soft);color:var(--q)}
.btn svg,.seg svg{flex:none}
.btn{gap:7px}
.seg.big button{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;font-size:14px}

/* issues & docs */
.issue{position:relative;overflow:hidden}
.issue::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--amber)}
.issue.pri-high::before{background:var(--fail)}.issue.pri-low::before{background:var(--line)}.issue.resolved::before{background:var(--pass)}
.issue.resolved{opacity:.86}
.inum{font:600 13px var(--mono);color:var(--muted)}
.idesc{margin:8px 0 0;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}
.ithumb{display:block;width:84px;height:84px;border-radius:8px;overflow:hidden;border:1px solid var(--line)}
.ithumb img{width:100%;height:100%;object-fit:cover}
.issue select,.issue input[type=date]{width:auto;min-width:0;font-size:13.5px;padding:7px 8px}
.doc .pill:nth-child(2){max-width:220px;overflow:hidden;text-overflow:ellipsis}
.sharecard{background:linear-gradient(135deg,var(--accent-soft),var(--surface));border-color:transparent;box-shadow:var(--shadow)}
h2{color:var(--muted)}
@media (max-width:520px){.hero{padding:18px}.hero h1{font-size:25px}.tile .ti{display:none}}

/* AI QAPI plan */
.plantoggle{display:flex;align-items:center;gap:8px;width:100%;margin-top:12px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(135deg,var(--q-soft),var(--surface));color:var(--ink);font-weight:600;font-size:13.5px;text-align:left}
.plantoggle .chev{margin-left:auto;color:var(--muted)}
.plan{margin-top:10px;padding:14px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line)}
.plan.busy{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--q)}
.plan-h{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.plan h3{font:600 11px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:16px 0 6px}
.rc{margin:0;padding-left:20px;font-size:14px}.rc li{margin:6px 0}.rc span{display:block;color:var(--muted);font-size:13px}
.acts-list{display:flex;flex-direction:column;gap:6px}
.act{display:flex;gap:10px;align-items:flex-start;padding:9px 10px;border-radius:9px;background:var(--surface);border:1px solid var(--line);font-size:14px;cursor:pointer}
.act input{margin-top:3px;flex:none}.act em{display:block;font:500 11.5px var(--mono);color:var(--muted);font-style:normal;margin-top:2px}
.act.done b{text-decoration:line-through;color:var(--muted)}
.measure{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.measure div{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:9px 10px}
.measure span{display:block;font:600 10.5px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.measure b{font-size:14px}

/* Rounds */
.recbox{margin:14px 0;padding:20px;border-radius:18px;text-align:center;background:linear-gradient(160deg,var(--surface),var(--surface-2));border:1px solid var(--line);box-shadow:var(--shadow)}
.recbox.on{background:linear-gradient(160deg,#2a1214,#13263d);color:#fff;border-color:transparent}
.recbox.paused{background:linear-gradient(160deg,var(--amber-soft),var(--surface))}
.recstate{display:inline-flex;align-items:center;gap:8px;font:600 12px var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.recbox.on .recstate{color:#ffb4a8}
.recstate .dot,.recpill .dot{width:10px;height:10px;border-radius:50%;background:var(--muted)}
.recbox.on .dot,.recpill .dot{background:#ff4d3d;box-shadow:0 0 0 0 rgba(255,77,61,.7);animation:pulse 1.4s infinite}
.recbox.paused .dot{background:var(--amber)}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,77,61,.6)}70%{box-shadow:0 0 0 10px rgba(255,77,61,0)}100%{box-shadow:0 0 0 0 rgba(255,77,61,0)}}
@media (prefers-reduced-motion:reduce){.recbox.on .dot,.recpill .dot{animation:none}}
.rectime{font:700 52px/1.1 var(--display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:6px 0 2px}
.recsub{font-size:13px;opacity:.8;min-height:1.3em}
.recacts{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:16px}
.recbtn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:12px 20px;font-weight:600;font-size:15px;cursor:pointer}
.recbtn input{display:none}
.recbtn.main{background:#e0412f;border-color:#e0412f;color:#fff;box-shadow:0 6px 18px rgba(224,65,47,.35)}
.recbox.on .recbtn:not(.main){background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.25);color:#fff}
.noteform{display:flex;gap:8px;margin:14px auto 0;max-width:460px}
.noteform input{flex:1;min-width:0;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:10px 14px;font-size:14px}
.timeline .tl{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}
.timeline .tl:last-child{border-bottom:0}
.tl .tt{flex:none;font:600 11.5px var(--mono);color:var(--muted);background:var(--chip);border-radius:6px;padding:2px 6px;margin-top:1px}
.tl.note{background:var(--amber-soft);margin:0 -14px;padding:9px 14px}
.tl.photo img{width:72px;height:72px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}
.recpill{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:35;display:inline-flex;align-items:center;gap:8px;border:0;border-radius:999px;background:#2a1214;color:#fff;padding:10px 16px;font-weight:600;font-size:14px;box-shadow:var(--shadow-lg)}
.recpill b{font-family:var(--mono)}
.finding{position:relative;overflow:hidden}
.finding::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--amber)}
.finding.pri-high::before{background:var(--fail)}.finding.pri-low::before{background:var(--line)}.finding.logged::before{background:var(--pass)}
.finding select,.finding input[type=date]{width:auto;font-size:13.5px;padding:7px 8px}
.stickybar{position:sticky;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:6;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0;padding:10px 12px;border-radius:14px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lg);font-size:14px}
.recbtn svg{width:18px;height:18px}
.recpill{white-space:nowrap}

/* Activity log */
.actfilters{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;align-items:center}
.actfilters select,.actfilters input{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:8px 9px;font-size:14px;width:100%;min-width:0}
.aday{font:600 11px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:12px 0 6px;border-bottom:1px solid var(--line)}
.aday:first-child{padding-top:0}
.arow{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:10px;align-items:start;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}
.atime{font:500 12px var(--mono);color:var(--muted);padding-top:2px}
.abody{overflow-wrap:anywhere}.adet{display:block;color:var(--muted);font-size:12.5px}
.alink{color:var(--accent);text-decoration:none;font-weight:500}.alink:hover{text-decoration:underline}
@media (max-width:520px){.arow{grid-template-columns:56px minmax(0,1fr)}.arow .pill{display:none}}

/* Meeting packet */
.pkform{display:flex;flex-direction:column;gap:10px}
.pkdates{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.pkdates .field{margin:0;flex:1;min-width:140px}
.packet{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:28px;margin-top:14px;box-shadow:var(--shadow)}
.packet .phead{border-bottom:3px solid var(--ink);padding-bottom:12px;margin-bottom:6px}
.packet .peyebrow{font:600 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.packet h1{font-family:var(--display);font-size:28px;margin:4px 0}
.packet .pmeta{font-size:13px;color:var(--muted)}
.packet section{margin-top:22px;break-inside:avoid}
.packet h2{all:unset;display:block;font:700 15px var(--display);color:var(--ink);border-bottom:1px solid var(--line);padding-bottom:5px;margin-bottom:10px}
.packet h2::after{display:none}
.packet h3{font:600 13px var(--body);margin:14px 0 6px}
.packet .psub{margin:0 0 8px;font-size:14px}
.psum{font-size:14.5px;white-space:normal;line-height:1.6}
.pkpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.pkpis div{border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.pkpis b{display:block;font:700 26px var(--display);font-variant-numeric:tabular-nums}
.pkpis span{display:block;font-size:12.5px;color:var(--muted)}
.pkpis em{display:block;font:500 11.5px var(--mono);color:var(--muted);font-style:normal}
.dl{font:600 11.5px var(--mono);display:inline-block}.dl.up{color:var(--pass)}.dl.down{color:var(--fail)}
.ptable{width:100%;border-collapse:collapse;font-size:13.5px;font-variant-numeric:tabular-nums}
.ptable th{text-align:left;font:600 11px var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:2px solid var(--line);padding:6px 8px}
.ptable td{border-bottom:1px solid var(--line);padding:7px 8px;vertical-align:top}
.bad{color:var(--fail)}
.plines div{border-bottom:1px solid var(--line);height:30px}
.psign{display:grid;grid-template-columns:1fr 1fr;gap:26px 30px;margin-top:34px}
.psign div{font-size:12px;color:var(--muted)}.psign span{display:block;border-bottom:1px solid var(--ink);height:34px;margin-bottom:4px}
.pblank{height:110px;border:1px dashed var(--line);border-radius:8px}
.printonly{display:none}
@media (max-width:600px){.packet{padding:16px}.pkpis{grid-template-columns:repeat(2,minmax(0,1fr))}.packet section{overflow-x:auto}}
@media print{.packet{border:0;box-shadow:none;padding:0;margin:0}.printonly{display:block}#app:has(.packet)>*:not(.packet){display:none!important}}
@media print{
  body{background:#fff;color:#000}
  .noprint,.tabs,.toast,.notice,.recpill,.stickybar,.back{display:none!important}
  .card{break-inside:avoid;box-shadow:none}
  .thumbs img{width:150px;height:auto}.thumbs button{width:auto;height:auto;border:0}
  .wrap{max-width:none;padding:0}
}

/* Email summary */
.mailcard{margin-top:12px}
.audpick{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.aud{text-align:left;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}
.aud b{font-family:var(--display);font-size:15px}.aud span{font-size:12.5px;color:var(--muted)}
.aud.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);background:linear-gradient(135deg,var(--accent-soft),var(--surface))}
.aud:disabled{opacity:.55;cursor:not-allowed}
.maildraft{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.maildraft textarea{font:14px/1.55 var(--body);background:var(--surface);min-height:280px}
@media (max-width:520px){.audpick{grid-template-columns:1fr}}
.finding.editing{border:1px solid var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.finding.editing::before{background:var(--accent)}
.newtpl{margin-top:12px;padding:12px;border-radius:12px;background:var(--surface);border:1px dashed var(--accent)}
.rem{position:relative;overflow:hidden}.rem::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--q)}
.rem.done,.rem.past{opacity:.75}.rem.done::before{background:var(--pass)}
/* public fix links */
.linkcard{margin-top:14px;border-left:4px solid var(--accent)}
.linkrow{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:8px;background:var(--surface-2)}
.linkurl{width:100%;margin-top:6px;border:1px solid var(--line);border-radius:8px;padding:6px 9px;font:500 12.5px var(--mono);background:var(--surface);color:var(--ink)}
.linkform{margin-top:6px}
/* voice notes during an audit */
.vbar{position:relative;z-index:20;display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:space-between;margin:12px 0;padding:10px 12px 10px 14px;border-radius:14px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}
.vbar.on{background:linear-gradient(120deg,#2a1214,#13263d);color:#fff;border-color:transparent;box-shadow:var(--shadow-lg)}
.vbar.paused{background:var(--amber-soft)}
.vbar.on,.vbar.paused{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));max-width:796px;margin:0 auto}
body:has(.vbar.on) .wrap,body:has(.vbar.paused) .wrap{padding-bottom:160px}
.vbar .vmain{display:flex;gap:10px;align-items:flex-start;flex:1;min-width:200px}
.vbar .dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--muted);margin-top:6px}
.vbar.on .dot{background:#ff4d3d;animation:pulse 1.4s infinite}
.vbar.paused .dot{background:var(--amber)}
.vbar .vtxt{display:flex;flex-direction:column;min-width:0}
.vbar .vtxt b{font-size:14px;font-variant-numeric:tabular-nums}
.vbar .vlast{font-size:12.5px;opacity:.8;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.vbar .vacts{display:flex;gap:6px;flex-wrap:wrap}
.vbtn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:8px 14px;font-weight:600;font-size:13.5px}
.vbtn svg{width:16px;height:16px}
.vbtn.main{background:#e0412f;border-color:#e0412f;color:#fff}
.vbar.on .vbtn:not(.main){background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28);color:#fff}
.vbox{margin:12px 0;border-left:4px solid var(--q)}
.vbox .vhead{display:flex;justify-content:space-between;align-items:center;gap:8px}
.vbox .vhead b{display:inline-flex;align-items:center;gap:6px}
.vbox .vhead svg{width:16px;height:16px}
.vh{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:14px 0 6px}
.vnote{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-top:1px solid var(--line)}
.vnote input[type=checkbox]{margin-top:4px}
.vnote .vt{flex:1;min-width:0;font-size:14px}
.vnote .vi{font-weight:600;font-size:13px;margin-bottom:3px}
.vnote textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:6px 8px;background:var(--surface);color:var(--ink);font-size:13.5px;resize:vertical}
.vnote.done{opacity:.7}
.vok{color:var(--pass);font-weight:700;width:16px}
.tl.mk{color:var(--muted);font-size:13px}
.emailprev{border:1px solid var(--line);border-radius:10px;overflow:auto;background:#fff;color:#14212f;max-height:720px;padding:14px 16px}
.emailprev table{max-width:100%}
.stylebox{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:0 0 12px;font-size:13.5px}
.uplprog{margin:14px auto 0;max-width:460px;text-align:left;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.uplprog .ut{display:flex;justify-content:space-between;gap:8px;font-size:13.5px}
.uplprog .ub{height:6px;background:var(--chip);border-radius:99px;overflow:hidden;margin:8px 0 6px}
.uplprog .ub i{display:block;height:100%;background:var(--accent);transition:width .3s}
.vbar .uplprog{max-width:none;margin:8px 0 0}
