/* MRR Page 0 platform, design system v4. Amazon Ops GEMS: blue #0F73FF on near-black #161D2B.
   Tokens first, then shell, grid, inspector, bridge, assistant, admin. Light + dark via [data-theme]. */
:root {
  --bg: #F4F6F9; --surface: #FFFFFF; --surface-2: #F9FAFC; --ink: #161D2B; --ink-2: #3B4454; --muted: #6B7482; --faint: #A0A8B4;
  --line: #E6EAF0; --line-2: #D5DBE4; --accent: #0F73FF; --accent-dk: #0B5AD1; --accent-soft: #E8F1FF;
  --good: #15803D; --good-soft: #E7F6EC; --bad: #C62828; --bad-soft: #FDECEC; --warn: #B7791F; --warn-soft: #FFF4DE; --neutral-soft: #EEF1F5;
  --sec-1: #0F73FF; --sec-2: #7C3AED; --sec-3: #0E9F8A; --sec-4: #F59E0B; --sec-5: #DC2626; --sec-6: #2563EB; --sec-7: #059669; --sec-8: #9333EA; --sec-9: #64748B;
  --radius: 10px; --shadow: 0 1px 2px rgba(22,29,43,.06), 0 8px 24px -12px rgba(22,29,43,.18);
  --pop-shadow: 0 12px 40px -8px rgba(22,29,43,.35);
  --top: #161D2B; --top-2: #1F2838; --top-line: #2E3848; --top-ink: #C9D1DC; --top-muted: #8B95A5;
  --font: "Amazon Ember", "Segoe UI Variable Text", "Segoe UI", Inter, system-ui, sans-serif;
  --inspector-w: 560px; --ai-w: 440px;
}
[data-theme="dark"] {
  --bg: #0F141C; --surface: #161D2B; --surface-2: #1B2333; --ink: #EEF2F7; --ink-2: #C9D1DC; --muted: #8B95A5; --faint: #5C6675;
  --line: #242D3C; --line-2: #2E3848; --accent: #4D94FF; --accent-dk: #2F7BEB; --accent-soft: #17304F;
  --good: #4ADE80; --good-soft: #12301F; --bad: #F87171; --bad-soft: #3A1A1A; --warn: #FBBF24; --warn-soft: #3A2C10; --neutral-soft: #1F2838;
  --shadow: 0 1px 2px rgba(0,0,0,.4), 0 8px 24px -12px rgba(0,0,0,.6); --pop-shadow: 0 12px 40px -8px rgba(0,0,0,.7);
  --top: #0B0F16; --top-2: #161D2B; --top-line: #242D3C;
}
* { box-sizing: border-box; }
html, body { margin: 0; height: 100%; }
body { font: 13px/1.45 var(--font); color: var(--ink); background: var(--bg); -webkit-font-smoothing: antialiased; }
.hidden { display: none !important; }
.muted { color: var(--muted); } .faint { color: var(--faint); } .grow { flex: 1; } .err { color: var(--bad); min-height: 1.2em; margin-top: 8px; }
.num { font-variant-numeric: tabular-nums lining-nums; }
a { color: var(--accent); }
button { font: inherit; cursor: pointer; }
input, select, textarea { font: inherit; color: var(--ink); background: var(--surface); border: 1px solid var(--line-2); border-radius: 8px; padding: 7px 10px; }
input:focus, select:focus, textarea:focus { outline: 2px solid var(--accent); outline-offset: -1px; }
.chip { display: inline-flex; align-items: center; gap: 3px; border-radius: 6px; padding: 1px 6px; font-weight: 700; font-size: 11.5px; white-space: nowrap; }
.chip.up { background: var(--good-soft); color: var(--good); } .chip.down { background: var(--bad-soft); color: var(--bad); }
.chip.flat { background: var(--neutral-soft); color: var(--muted); } .chip.warnc { background: var(--warn-soft); color: var(--warn); } .chip.info { background: var(--accent-soft); color: var(--accent); }
.tool { display: inline-flex; align-items: center; gap: 7px; border: 1px solid var(--line-2); background: var(--surface); border-radius: 8px; padding: 6px 11px; font-weight: 600; color: var(--ink-2); white-space: nowrap; }
.tool:hover { border-color: var(--accent); color: var(--accent); }
.tool.pri { background: var(--accent); color: #fff; border-color: var(--accent); } .tool.pri:hover { background: var(--accent-dk); color: #fff; }
.tool.ghost { border-color: transparent; background: transparent; color: var(--muted); } .tool.ghost:hover { background: var(--neutral-soft); color: var(--ink); }
.tool.sm { padding: 4px 8px; font-size: 12px; }
.tool svg { width: 14px; height: 14px; }
.seg { display: inline-flex; background: var(--neutral-soft); border-radius: 9px; padding: 3px; gap: 2px; }
.seg button { padding: 6px 14px; border: 0; border-radius: 7px; background: transparent; color: var(--muted); font-weight: 600; white-space: nowrap; }
.seg button.active { background: var(--surface); color: var(--ink); box-shadow: 0 1px 2px rgba(22,29,43,.12); }
.toggle { display: inline-flex; align-items: center; gap: 7px; color: var(--muted); font-weight: 500; cursor: pointer; white-space: nowrap; user-select: none; }
.toggle input { display: none; }
.toggle i { width: 28px; height: 16px; border-radius: 999px; background: var(--line-2); position: relative; display: inline-block; transition: background .15s; }
.toggle i::after { content: ""; position: absolute; top: 2px; left: 2px; width: 12px; height: 12px; border-radius: 50%; background: #fff; transition: left .15s; }
.toggle input:checked + i { background: var(--accent); } .toggle input:checked + i::after { left: 14px; }
.card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.card .head { display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-bottom: 1px solid var(--line); flex-wrap: wrap; }
.card .head h2 { font-size: 15px; margin: 0; font-weight: 700; } .card .head .sub { color: var(--muted); }
.pill { font-size: 10.5px; font-weight: 700; border-radius: 999px; padding: 2px 8px; letter-spacing: .3px; }
.pill.PASS, .pill.ok, .pill.PUBLISHED { background: var(--good-soft); color: var(--good); } .pill.WARN { background: var(--warn-soft); color: var(--warn); }
.pill.FAIL, .pill.ALERT { background: var(--bad-soft); color: var(--bad); } .pill.INFO, .pill.SEED, .pill.none { background: var(--neutral-soft); color: var(--muted); }

/* ---------- top bar ---------- */
.top { height: 52px; background: var(--top); color: #fff; display: flex; align-items: center; padding: 0 20px; gap: 24px; position: sticky; top: 0; z-index: 40; }
.brand { display: flex; align-items: center; gap: 10px; font-weight: 700; letter-spacing: .2px; white-space: nowrap; color: #fff; }
.brand .mark { width: 28px; height: 28px; border-radius: 8px; background: linear-gradient(135deg, #0F73FF, #5AA9FF); display: grid; place-items: center; }
.brand .mark svg { width: 20px; height: 20px; }
.brand small { display: block; font-weight: 500; font-size: 10.5px; color: var(--top-muted); letter-spacing: .6px; text-transform: uppercase; margin-top: 1px; }
.nav { display: flex; gap: 2px; height: 52px; align-items: stretch; }
.nav button { display: flex; align-items: center; padding: 0 14px; color: var(--top-ink); background: transparent; border: 0; border-bottom: 2px solid transparent; font-weight: 500; white-space: nowrap; }
.nav button:hover { color: #fff; } .nav button.active { color: #fff; border-bottom-color: #4D94FF; }
.ctx { display: flex; align-items: center; background: var(--top-2); border: 1px solid var(--top-line); border-radius: 8px; padding: 3px 6px 3px 10px; gap: 8px; font-weight: 500; white-space: nowrap; }
.ctx .lbl { color: var(--top-muted); font-size: 11px; } .ctx .vs { color: var(--top-muted); font-size: 11px; }
.ctx select { background: var(--top); border: 1px solid var(--top-line); border-radius: 6px; padding: 3px 24px 3px 8px; color: #fff; font-weight: 600; appearance: none; -webkit-appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%238B95A5' stroke-width='1.5'/></svg>"); background-repeat: no-repeat; background-position: right 8px center; }
.ctx select option { color: #161D2B; background: #fff; }
.status { display: flex; align-items: center; gap: 7px; padding: 5px 10px; border-radius: 999px; background: #12301F; color: #7EE2A1; font-weight: 600; font-size: 12px; border: 1px solid #1E4A2F; white-space: nowrap; cursor: pointer; }
.status.ALERT { background: #3A1A1A; color: #F87171; border-color: #5A2A2A; } .status.none { background: var(--top-2); color: var(--top-muted); border-color: var(--top-line); }
.status .dot { width: 7px; height: 7px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 3px rgba(126,226,161,.18); }
.iconbtn { width: 32px; height: 32px; border-radius: 8px; display: grid; place-items: center; color: var(--top-ink); border: 1px solid transparent; background: transparent; padding: 0; }
.iconbtn:hover { background: var(--top-2); border-color: var(--top-line); color: #fff; } .iconbtn.active { background: var(--top-2); border-color: #4D94FF; color: #fff; }
.iconbtn svg { width: 16px; height: 16px; }
.user { position: relative; }
.avatar { width: 30px; height: 30px; border-radius: 50%; background: var(--accent); display: grid; place-items: center; font-weight: 700; font-size: 11.5px; color: #fff; border: 0; padding: 0; }
.avatar.admin { box-shadow: 0 0 0 2px var(--top), 0 0 0 4px rgba(77,148,255,.4); }
.usermenu { position: absolute; right: 0; top: 38px; background: var(--surface); color: var(--ink); border: 1px solid var(--line-2); border-radius: 10px; box-shadow: var(--pop-shadow); min-width: 240px; padding: 6px; z-index: 50; }
.usermenu .who { padding: 8px 10px 10px; border-bottom: 1px solid var(--line); font-size: 12px; color: var(--muted); } .usermenu .who b { display: block; color: var(--ink); font-size: 13px; }
.usermenu button { display: flex; width: 100%; justify-content: space-between; align-items: center; background: none; border: 0; text-align: left; padding: 8px 10px; border-radius: 7px; color: var(--ink); font-weight: 500; }
.usermenu button:hover { background: var(--neutral-soft); }

/* ---------- sub bar, kpis, page layout ---------- */
main { padding: 0 0 30px; }
.subbar { display: flex; align-items: center; gap: 14px; padding: 14px 24px 0; flex-wrap: wrap; }
.subbar .crumb { color: var(--muted); white-space: nowrap; }
.kpis { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; padding: 14px 24px 0; }
.kpi { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 12px 14px 10px; box-shadow: var(--shadow); position: relative; overflow: hidden; cursor: pointer; }
.kpi:hover { border-color: var(--accent); }
.kpi::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--c, var(--accent)); }
.kpi .t { font-size: 11px; color: var(--muted); font-weight: 600; letter-spacing: .3px; text-transform: uppercase; display: flex; justify-content: space-between; gap: 6px; }
.kpi .t .row { color: var(--faint); font-weight: 500; letter-spacing: 0; text-transform: none; white-space: nowrap; }
.kpi .v { font-size: 24px; font-weight: 700; margin: 6px 0 2px; letter-spacing: -.3px; }
.kpi .d { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--muted); white-space: nowrap; overflow: hidden; }
.pagewrap { display: grid; grid-template-columns: 196px minmax(0, 1fr); gap: 16px; padding: 14px 24px 0; align-items: start; }
.pagewrap.norail { grid-template-columns: minmax(0, 1fr); }
.rail { position: sticky; top: 66px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 8px; box-shadow: var(--shadow); max-height: calc(100vh - 80px); overflow: auto; }
.rail .h { font-size: 10.5px; color: var(--faint); font-weight: 700; letter-spacing: .6px; text-transform: uppercase; padding: 6px 8px 4px; }
.rail a { display: flex; align-items: flex-start; gap: 8px; padding: 6px 8px; border-radius: 7px; color: var(--ink-2); text-decoration: none; font-weight: 500; font-size: 12.5px; cursor: pointer; }
.rail a i { width: 8px; height: 8px; border-radius: 3px; background: var(--c); flex: none; margin-top: 4px; }
.rail a:hover { background: var(--neutral-soft); } .rail a.on { background: var(--accent-soft); color: var(--accent); font-weight: 600; }
.rail a small { margin-left: auto; color: var(--faint); font-weight: 500; white-space: nowrap; padding-left: 6px; }
.rail a .arr { font-weight: 700; width: 10px; flex: none; } .rail a .arr.up { color: var(--bad); } .rail a .arr.good { color: var(--good); }
.rail a .mv { white-space: normal; line-height: 1.25; }
.pendingbar { margin: 12px 24px 0; background: var(--warn-soft); color: var(--warn); border: 1px solid #F3D48A; padding: 8px 12px; border-radius: 8px; font-size: 12px; }
[data-theme="dark"] .pendingbar { border-color: #5A4515; }
.editbar { display: flex; gap: 14px; align-items: center; margin: 12px 24px 0; background: var(--warn-soft); color: var(--warn); border: 1px solid #F3D48A; padding: 8px 12px; border-radius: 8px; font-size: 12.5px; flex-wrap: wrap; }
[data-theme="dark"] .editbar { border-color: #5A4515; }
.editbar label { display: flex; gap: 6px; align-items: center; margin: 0; font-weight: 600; } .editbar input[type=color] { width: 34px; height: 24px; padding: 0; border: 1px solid var(--line-2); background: none; }
body.with-inspector .subbar, body.with-inspector .kpis, body.with-inspector .pagewrap, body.with-inspector .viewpad { padding-right: calc(var(--inspector-w) + 24px); }
body.with-ai .subbar, body.with-ai .kpis, body.with-ai .pagewrap, body.with-ai .viewpad { padding-right: calc(var(--ai-w) + 24px); }
body.with-inspector .kpis, body.with-ai .kpis { grid-template-columns: repeat(3, 1fr); } body.with-inspector .subbar .crumb, body.with-ai .subbar .crumb { display: none; }
body.with-inspector .pagewrap, body.with-ai .pagewrap { grid-template-columns: minmax(0, 1fr); } body.with-inspector .rail, body.with-ai .rail { display: none; }
.viewpad { padding: 14px 24px 0; }

/* ---------- the grid ---------- */
.sheetwrap { overflow: auto; max-height: calc(100vh - 92px); position: relative; }
.sheet table.g { border-collapse: separate; border-spacing: 0; }
.sheet table.g + table.g { margin-top: 14px; border-top: 1px solid var(--line-2); }
.sheet th { position: sticky; top: 0; background: var(--surface-2); color: var(--muted); font-weight: 600; font-size: 11.5px; letter-spacing: .2px; text-align: center; padding: 9px 8px; border-bottom: 1px solid var(--line-2); z-index: 5; white-space: nowrap; }
.sheet th.l { text-align: left; } .sheet th.tot { color: var(--ink); background: var(--neutral-soft); } .sheet th.cat2 { font-style: italic; } .sheet th.momh { color: var(--faint); }
.sheet td { padding: 0 8px; height: 36px; border-bottom: 1px solid var(--line); vertical-align: middle; text-align: center; }
.sheet tr.sec td { height: 30px; background: var(--surface-2); text-align: left; padding-left: 14px; border-bottom: 1px solid var(--line-2); border-top: 1px solid var(--line-2); }
.sheet tr.sec .sname { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: 12px; letter-spacing: .3px; text-transform: uppercase; color: var(--ink-2); }
.sheet tr.sec .sname i { width: 10px; height: 10px; border-radius: 3px; background: var(--c); }
.sheet tr.sec .scope { margin-left: 12px; color: var(--faint); font-weight: 500; font-size: 11.5px; }
.sheet td.n { color: var(--faint); width: 34px; font-size: 11.5px; }
.sheet td.m { text-align: left; color: var(--ink-2); overflow-wrap: anywhere; white-space: normal; line-height: 1.25; padding-top: 4px; padding-bottom: 4px; }
.sheet td.m .tag { display: inline-block; font-size: 10px; font-weight: 700; color: var(--muted); background: var(--neutral-soft); border-radius: 4px; padding: 1px 5px; margin-right: 6px; vertical-align: 1px; letter-spacing: .3px; }
.sheet td.m .fx { color: var(--faint); font-weight: 500; font-size: 11px; margin-left: 6px; white-space: nowrap; }
.sheet tr.child td.m { padding-left: 40px; color: var(--muted); } .sheet tr.child td.m::before { content: ""; display: inline-block; width: 10px; height: 1px; background: var(--line-2); margin-right: 8px; vertical-align: middle; }
.sheet tr.total td { font-weight: 700; color: var(--ink); } .sheet tr.total td.m { color: var(--ink); }
.sheet td.val { position: relative; overflow: hidden; }
.sheet td.val.live { cursor: pointer; } .sheet td.val.live:hover { background: var(--accent-soft); }
.sheet td.val .v { font-weight: 600; font-size: 13px; display: block; }
.sheet td.val.tot { background: var(--surface-2); } .sheet tr.total td.val.tot { background: var(--neutral-soft); }
.sheet td.val .d { display: block; font-size: 10.5px; font-weight: 600; margin-top: 1px; color: var(--faint); white-space: nowrap; }
.sheet td.val .d.up { color: var(--good); } .sheet td.val .d.down { color: var(--bad); }
.sheet td.val.frozen .v::after { content: ""; display: inline-block; width: 5px; height: 5px; margin-left: 5px; border-radius: 50%; background: var(--faint); vertical-align: 3px; }
.sheet td.val.pending { background: repeating-linear-gradient(135deg, transparent 0 6px, var(--warn-soft) 6px 8px); } .sheet td.val.pending .v { color: var(--warn); font-weight: 500; font-size: 11.5px; }
.sheet td.val.static { color: var(--faint); } .sheet td.val.static .v { font-weight: 500; }
.sheet td.val.dash .v { color: var(--faint); font-weight: 400; }
.sheet td.val.fail { background: var(--bad-soft); }
.sheet td.val.sel { box-shadow: inset 0 0 0 2px var(--accent); background: var(--accent-soft); }
.sheet td.val.cite { box-shadow: inset 0 0 0 2px var(--accent); }
.sheet td.val.hasnote::before { content: ""; position: absolute; top: 5px; right: 5px; width: 6px; height: 6px; border-radius: 50%; background: var(--accent); }
.sheet td.momcol { min-width: 72px; } .sheet td.momcol .chip { font-size: 11px; }
.sheet td.edit-target, .sheet th.edit-target, .sheet tr.sec .edit-target { cursor: text; outline: 1px dashed var(--accent); outline-offset: -3px; } .sheet td.edit-sel, .sheet th.edit-sel, .sheet tr.sec .edit-sel { outline: 2px solid var(--accent) !important; outline-offset: -3px; }
.sheet tr.sec .edit-target { padding: 2px 6px; border-radius: 4px; } .sheet tr.sec .sname.edited, .sheet tr.sec .scope.edited { text-decoration: underline dotted #FF9900; }
.sheet td.edited::after { content: ""; position: absolute; left: 3px; bottom: 3px; width: 5px; height: 5px; background: #FF9900; border-radius: 1px; } .sheet td.edited { position: relative; }
.foot { display: flex; gap: 18px; padding: 10px 16px; color: var(--muted); font-size: 11.5px; border-top: 1px solid var(--line); background: var(--surface-2); flex-wrap: wrap; border-radius: 0 0 var(--radius) var(--radius); }
.foot i.dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; vertical-align: 0; margin-right: 5px; background: var(--accent); }
.foot i.fz { display: inline-block; width: 5px; height: 5px; border-radius: 50%; vertical-align: 1px; margin-right: 5px; background: var(--faint); }
.foot i.pd { display: inline-block; width: 12px; height: 10px; vertical-align: -1px; margin-right: 5px; background: repeating-linear-gradient(135deg, transparent 0 3px, var(--warn) 3px 4px); opacity: .7; }

/* ---------- popover ---------- */
.pop { position: fixed; width: 300px; background: var(--surface); border: 1px solid var(--line-2); border-radius: 12px; box-shadow: var(--pop-shadow); z-index: 60; overflow: hidden; }
.pop .ph { padding: 10px 12px 8px; border-bottom: 1px solid var(--line); }
.pop .where { font-size: 11px; color: var(--muted); display: flex; gap: 6px; align-items: center; flex-wrap: wrap; line-height: 1.3; } .pop .where b { color: var(--ink); font-weight: 600; }
.pop .big { display: flex; align-items: baseline; gap: 10px; margin-top: 3px; flex-wrap: wrap; } .pop .big .v { font-size: 20px; font-weight: 700; } .pop .big .sub { color: var(--muted); font-size: 11.5px; }
.pop .items { padding: 6px; }
.pop .it { display: flex; gap: 10px; align-items: center; padding: 8px; border-radius: 8px; cursor: pointer; width: 100%; background: none; border: 0; text-align: left; color: var(--ink); }
.pop .it:hover, .pop .it:focus { background: var(--accent-soft); outline: 0; }
.pop .it .ic { width: 28px; height: 28px; border-radius: 8px; display: grid; place-items: center; background: var(--neutral-soft); color: var(--ink-2); font-size: 14px; flex: none; }
.pop .it:hover .ic { background: var(--accent); color: #fff; }
.pop .it .tx { flex: 1; min-width: 0; } .pop .it .tx b { display: block; font-weight: 600; } .pop .it .tx span { color: var(--muted); font-size: 11.5px; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pop .it .k { font-size: 10px; color: var(--faint); border: 1px solid var(--line-2); border-radius: 4px; padding: 0 5px; }
.pop .pf { padding: 8px 12px; border-top: 1px solid var(--line); color: var(--muted); font-size: 11.5px; display: flex; justify-content: space-between; gap: 10px; } .pop .pf span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ---------- inspector drawer ---------- */
.drawer { position: fixed; top: 52px; right: 0; bottom: 0; width: var(--inspector-w); max-width: 100vw; background: var(--surface); border-left: 1px solid var(--line-2); box-shadow: -16px 0 40px -20px rgba(22,29,43,.35); z-index: 45; display: flex; flex-direction: column; }
.drawer .dh { padding: 14px 18px 0; border-bottom: 1px solid var(--line); }
.drawer .crumbs { font-size: 11.5px; color: var(--muted); display: flex; gap: 6px; align-items: center; flex-wrap: wrap; } .drawer .crumbs b { color: var(--ink); font-weight: 600; }
.drawer .crumbs .x { margin-left: auto; }
.drawer h3 { margin: 4px 0 2px; font-size: 16px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; } .drawer h3 .u { color: var(--muted); font-weight: 500; font-size: 13px; }
.drawer .meta { color: var(--muted); font-size: 12px; margin-bottom: 10px; }
.tabs { display: flex; gap: 2px; overflow-x: auto; }
.tabs button { padding: 8px 12px; border: 0; border-bottom: 2px solid transparent; background: none; color: var(--muted); font-weight: 600; white-space: nowrap; }
.tabs button.active { color: var(--accent); border-bottom-color: var(--accent); }
.tabs button small { margin-left: 5px; background: var(--neutral-soft); border-radius: 999px; padding: 0 6px; font-size: 10.5px; color: var(--muted); } .tabs button small:empty { display: none; }
.drawer .body { padding: 14px 18px; overflow: auto; flex: 1; }
.filters { display: flex; gap: 8px; align-items: center; margin-bottom: 12px; flex-wrap: wrap; }
.filters input { flex: 1; min-width: 160px; padding: 7px 10px; }
.fchip { border: 1px solid var(--line-2); border-radius: 999px; padding: 4px 10px; color: var(--ink-2); font-weight: 500; font-size: 12px; background: var(--surface); cursor: pointer; white-space: nowrap; }
.fchip.on { background: var(--ink); color: #fff; border-color: var(--ink); } [data-theme="dark"] .fchip.on { background: var(--accent); border-color: var(--accent); }
.facets { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 12px; }
.facet { background: var(--surface-2); border: 1px solid var(--line); border-radius: 8px; padding: 8px 10px; min-width: 0; }
.facet .t { font-size: 10.5px; color: var(--muted); font-weight: 600; text-transform: uppercase; letter-spacing: .4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.facet .bars { display: flex; flex-direction: column; gap: 4px; margin-top: 6px; }
.facet .b { display: grid; grid-template-columns: 64px 1fr 36px; gap: 6px; align-items: center; font-size: 11px; color: var(--ink-2); cursor: pointer; border-radius: 4px; }
.facet .b:hover { background: var(--accent-soft); } .facet .b.on span:first-child { color: var(--accent); font-weight: 700; }
.facet .b span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.facet .b i { height: 6px; border-radius: 3px; background: var(--c, var(--accent)); display: block; } .facet .b span:last-child { text-align: right; color: var(--muted); }
table.lst { width: 100%; border-collapse: collapse; font-size: 12px; }
table.lst th { text-align: left; color: var(--muted); font-weight: 600; font-size: 11px; padding: 6px 8px; border-bottom: 1px solid var(--line-2); background: var(--surface); position: sticky; top: 0; cursor: pointer; white-space: nowrap; user-select: none; }
table.lst th.r { text-align: right; } table.lst th.asc::after { content: " \25B4"; } table.lst th.desc::after { content: " \25BE"; }
table.lst td { padding: 7px 8px; border-bottom: 1px solid var(--line); vertical-align: middle; white-space: nowrap; max-width: 220px; overflow: hidden; text-overflow: ellipsis; }
table.lst td.r { text-align: right; } table.lst tr:hover td { background: var(--surface-2); }
.st { display: inline-block; border-radius: 5px; padding: 1px 6px; font-size: 10.5px; font-weight: 600; }
.st.red { background: var(--bad-soft); color: var(--bad); } .st.amb { background: var(--warn-soft); color: var(--warn); } .st.grn { background: var(--good-soft); color: var(--good); } .st.gry { background: var(--neutral-soft); color: var(--muted); } .st.blu { background: var(--accent-soft); color: var(--accent); }
.drawer .df { padding: 10px 18px; border-top: 1px solid var(--line); display: flex; gap: 8px; align-items: center; color: var(--muted); font-size: 12px; background: var(--surface-2); flex-wrap: wrap; }
.kbdbar { display: flex; gap: 8px; color: var(--faint); font-size: 11px; align-items: center; } .kbdbar b { border: 1px solid var(--line-2); border-radius: 4px; padding: 0 5px; color: var(--muted); font-weight: 600; }
.deflist { display: grid; grid-template-columns: 110px 1fr; gap: 8px 12px; font-size: 12.5px; } .deflist dt { color: var(--muted); font-weight: 600; } .deflist dd { margin: 0; line-height: 1.5; white-space: pre-wrap; }
.notes-list .note { padding: 10px 12px; margin: 0 0 8px; border-radius: 8px; background: var(--surface-2); border: 1px solid var(--line); font-size: 13px; line-height: 1.45; white-space: pre-wrap; }
.notes-list .note .meta { color: var(--muted); font-size: 11px; margin-bottom: 4px; font-weight: 600; }
.notes-form { display: flex; flex-direction: column; gap: 8px; margin-top: 10px; } .notes-form textarea { width: 100%; resize: vertical; min-height: 70px; }
.notes-form .tool { align-self: flex-end; }
.mini { width: 100%; border-collapse: collapse; font-size: 12px; } .mini td { padding: 7px 10px; border-bottom: 1px solid var(--line); } .mini td.r { text-align: right; font-weight: 600; white-space: nowrap; }
.mini tr:last-child td { border-bottom: 0; } .mini tr.anchor td { font-weight: 700; background: var(--surface-2); }
.mini .lnk { color: var(--accent); font-weight: 600; cursor: pointer; }
.bar { height: 6px; background: var(--line); border-radius: 3px; overflow: hidden; margin-top: 5px; } .bar i { display: block; height: 100%; background: var(--bad); } .bar i.plus { background: var(--good); }
.sw { display: inline-block; width: 10px; height: 10px; border-radius: 3px; vertical-align: -1px; margin-right: 8px; }
.sw.anchor { background: var(--ink); } .sw.minus { background: var(--bad); } .sw.plus { background: var(--good); } .sw.zero { background: var(--faint); }

/* ---------- bridge view ---------- */
.bridgewrap { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 16px; padding: 14px 24px 0; align-items: start; }
body.with-ai .bridgewrap { grid-template-columns: minmax(0, 1fr); padding-right: calc(var(--ai-w) + 24px); }
.bridgectl { display: flex; gap: 10px; align-items: center; padding: 14px 24px 0; flex-wrap: wrap; }
.wf { padding: 18px 20px 8px; overflow-x: auto; } .wf svg { display: block; font-family: var(--font); font-size: 12px; margin: 0 auto; }
.wf .ax { stroke: var(--line); } .wf .ax-lbl { fill: var(--faint); } .wf .lbl { fill: var(--muted); } .wf .conn { stroke: var(--line-2); }
.wf rect { cursor: pointer; } .wf rect:hover { opacity: .85; }
.wf .anchor { fill: var(--ink); } .wf .minus { fill: var(--bad); } .wf .plus { fill: var(--good); } .wf .zero { fill: var(--faint); }
.wf text.anchor { fill: var(--ink); font-weight: 700; } .wf text.minus { fill: var(--bad); font-weight: 600; } .wf text.plus { fill: var(--good); font-weight: 600; } .wf text.zero { fill: var(--faint); font-weight: 600; }
table.steps { width: 100%; border-collapse: collapse; font-size: 12.5px; }
table.steps th { text-align: left; color: var(--muted); font-weight: 600; font-size: 11px; padding: 8px 10px; border-bottom: 1px solid var(--line-2); }
table.steps td { padding: 9px 10px; border-bottom: 1px solid var(--line); } table.steps td.r, table.steps th.r { text-align: right; white-space: nowrap; }
table.steps tr.anchor td { font-weight: 700; background: var(--surface-2); } table.steps tr:not(.anchor):hover td { background: var(--surface-2); }
table.steps .lnk { color: var(--accent); font-weight: 600; cursor: pointer; } table.steps td.minus { color: var(--bad); } table.steps td.plus { color: var(--good); }
.side .card { margin-bottom: 12px; } .side h4 { margin: 0; padding: 12px 16px; font-size: 13px; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; }
.side h4 span { color: var(--muted); font-weight: 500; font-size: 12px; } .side .p { padding: 12px 16px; color: var(--ink-2); line-height: 1.55; }
.side .p .muted { display: block; margin-top: 8px; }

/* ---------- assistant panel ---------- */
.ai { position: fixed; top: 52px; right: 0; bottom: 0; width: var(--ai-w); max-width: 100vw; background: var(--surface); border-left: 1px solid var(--line-2); display: flex; flex-direction: column; z-index: 44; }
.ai .h { padding: 12px 16px; border-bottom: 1px solid var(--line); display: flex; align-items: center; gap: 10px; }
.ai .h .av { width: 30px; height: 30px; border-radius: 50%; background: linear-gradient(135deg, #0F73FF, #7C3AED); display: grid; place-items: center; color: #fff; flex: none; }
.ai .h .av svg { width: 16px; height: 16px; } .ai .h b { font-size: 13.5px; display: block; } .ai .h span { color: var(--muted); font-size: 11.5px; }
.ai .msgs { flex: 1; padding: 16px; display: flex; flex-direction: column; gap: 12px; overflow: auto; }
.msg { max-width: 94%; line-height: 1.5; font-size: 13px; }
.msg.u { align-self: flex-end; background: var(--accent); color: #fff; border-radius: 14px 14px 4px 14px; padding: 9px 13px; white-space: pre-wrap; }
.msg.a { background: var(--surface-2); border: 1px solid var(--line); border-radius: 4px 14px 14px 14px; padding: 12px 14px; }
.msg.a.wait { color: var(--muted); font-style: italic; } .msg.a p { margin: 0 0 6px; } .msg.a p:last-child { margin-bottom: 0; }
.msg.a ol, .msg.a ul { margin: 4px 0 6px 18px; padding: 0; } .msg.a li { margin: 3px 0; }
.cite { display: inline-flex; align-items: center; gap: 4px; background: var(--accent-soft); color: var(--accent); border-radius: 5px; padding: 0 6px; font-size: 11px; font-weight: 700; vertical-align: 1px; cursor: pointer; border: 0; font-family: inherit; }
.cite:hover { background: var(--accent); color: #fff; }
.ai .tools { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 10px; } .ai .tools span { border: 1px solid var(--line-2); border-radius: 6px; padding: 2px 8px; font-size: 11px; color: var(--muted); }
.ai .sugg { padding: 0 16px 10px; display: flex; gap: 6px; flex-wrap: wrap; }
.ai .sugg button { border: 1px solid var(--line-2); border-radius: 999px; padding: 5px 10px; font-size: 11.5px; color: var(--ink-2); background: var(--surface-2); }
.ai .sugg button:hover { border-color: var(--accent); color: var(--accent); }
.ai form { margin: 0 16px 16px; border: 1px solid var(--line-2); border-radius: 12px; padding: 6px 6px 6px 12px; display: flex; align-items: center; gap: 10px; background: var(--surface-2); }
.ai form input { flex: 1; border: 0; background: transparent; padding: 6px 0; } .ai form input:focus { outline: 0; }
.ai form button { width: 30px; height: 30px; border-radius: 8px; background: var(--accent); border: 0; color: #fff; display: grid; place-items: center; padding: 0; } .ai form button svg { width: 14px; height: 14px; }

/* ---------- data checks + admin ---------- */
.checks { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 16px; padding: 14px 24px 0; align-items: start; }
.checks.viewer { grid-template-columns: minmax(0, 1fr); }
body.with-ai .checks { grid-template-columns: minmax(0, 1fr); padding-right: calc(var(--ai-w) + 24px); }
.gate { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; padding: 16px; }
.gc { border: 1px solid var(--line); border-radius: 10px; padding: 12px 14px; background: var(--surface-2); position: relative; min-width: 0; }
.gc .id { font-size: 10.5px; color: var(--muted); font-weight: 700; letter-spacing: .5px; } .gc .nm { font-weight: 600; margin: 4px 0 6px; font-size: 13px; padding-right: 50px; }
.gc .r { font-size: 12px; color: var(--muted); line-height: 1.45; } .gc .pill { position: absolute; top: 12px; right: 12px; }
.gc.WARN { border-color: #F3D48A; background: #FFFBF0; } .gc.FAIL { border-color: #F3A5A5; background: #FFF5F5; }
[data-theme="dark"] .gc.WARN { border-color: #5A4515; background: #2A2311; } [data-theme="dark"] .gc.FAIL { border-color: #5A2A2A; background: #2A1515; }
.gc details { margin-top: 6px; } .gc summary { color: var(--accent); font-weight: 600; cursor: pointer; font-size: 12px; }
pre { white-space: pre-wrap; font-size: 11px; background: var(--surface); padding: 6px 8px; border-radius: 6px; max-height: 220px; overflow: auto; margin: 4px 0 0; border: 1px solid var(--line); }
.tl { padding: 4px 16px 10px; }
.step { display: grid; grid-template-columns: 22px 1fr auto; gap: 12px; align-items: start; padding: 10px 0; border-bottom: 1px solid var(--line); } .step:last-child { border-bottom: 0; }
.step .ic { width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; font-size: 11px; color: #fff; background: var(--good); margin-top: 1px; }
.step .ic.warn { background: var(--warn); } .step .ic.fail { background: var(--bad); } .step .ic.info { background: var(--faint); }
.step b { display: block; font-weight: 600; } .step span { color: var(--muted); font-size: 12px; } .step .t { color: var(--muted); font-size: 12px; white-space: nowrap; }
.uploads { padding: 12px 16px; display: flex; flex-direction: column; gap: 10px; }
.file { display: grid; grid-template-columns: 34px 1fr auto; gap: 10px; align-items: center; border: 1px solid var(--line); border-radius: 9px; padding: 9px 10px; }
.file.missing { border-style: dashed; }
.file .fi { width: 34px; height: 34px; border-radius: 8px; background: var(--neutral-soft); display: grid; place-items: center; font-weight: 700; font-size: 10px; color: var(--ink-2); }
.file.missing .fi { background: var(--warn-soft); color: var(--warn); }
.file b { display: block; font-weight: 600; font-size: 12.5px; } .file span { color: var(--muted); font-size: 11.5px; display: block; }
.drop { border: 1.5px dashed var(--line-2); border-radius: 9px; padding: 14px; text-align: center; color: var(--muted); font-size: 12px; } .drop.over { border-color: var(--accent); background: var(--accent-soft); }
.runbtn { margin: 0 16px 16px; display: flex; gap: 8px; } .runbtn .tool { flex: 1; justify-content: center; padding: 9px; }
.runs td { padding: 8px 16px; border-bottom: 1px solid var(--line); font-size: 12px; } .runs td.r { text-align: right; } .runs tr:last-child td { border-bottom: 0; }
.schema { padding: 0 16px 14px; color: var(--muted); font-size: 11.5px; } .schema p { margin: 4px 0; } .schema b { color: var(--ink-2); }

/* ---------- definitions ---------- */
.defs { padding: 14px 24px 0; } body.with-ai .defs { padding-right: calc(var(--ai-w) + 24px); }
.defs table.lst td { white-space: normal; max-width: none; vertical-align: top; line-height: 1.5; }
.defs .search { display: flex; gap: 10px; align-items: center; padding: 12px 16px; border-bottom: 1px solid var(--line); } .defs .search input { flex: 1; max-width: 420px; }

/* ---------- login ---------- */
.login { max-width: 400px; margin: 70px auto 0; padding: 26px 28px 24px; }
.login .brandrow { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; color: var(--ink); } .login .brandrow .mark { width: 34px; height: 34px; border-radius: 9px; background: linear-gradient(135deg, #0F73FF, #5AA9FF); display: grid; place-items: center; } .login .brandrow svg { width: 22px; height: 22px; }
.login h1 { margin: 0 0 4px; font-size: 20px; font-weight: 700; } .login p { margin: 0 0 10px; }
.login label { display: block; margin: 12px 0 4px; font-weight: 600; } .login input { width: 100%; }
.login .primary { width: 100%; justify-content: center; margin-top: 16px; padding: 9px; }

@media (max-width: 1280px) { .kpis { grid-template-columns: repeat(3, 1fr); } .pagewrap { grid-template-columns: minmax(0, 1fr); } .rail { display: none; } .gate { grid-template-columns: repeat(2, 1fr); } .bridgewrap, .checks { grid-template-columns: minmax(0, 1fr); } }
@media print {
  .top, .subbar, .kpis, .rail, .foot, .pendingbar, .editbar, .drawer, .ai, .pop { display: none !important; }
  main { padding: 0; } .pagewrap { padding: 0; display: block; } .card { border: 0; box-shadow: none; } .sheetwrap { max-height: none; overflow: visible; }
  .sheet td { height: 24px; } .sheet td .d { display: none; } :root { --bg: #fff; --surface: #fff; }
}

/* ---------- stacked sub-columns (GESNA: scn 103 | scn 102 | Total) ---------- */
.sheet th { height: 34px; padding: 0 8px; }
.sheet thead tr.h2 th { top: 34px; height: 30px; font-size: 11px; }
.sheet th.grp { color: var(--ink); font-weight: 700; background: var(--neutral-soft); border-bottom: 1px solid var(--line-2); letter-spacing: .3px; }
.sheet th.subh { background: var(--surface-2); color: var(--ink-2); font-weight: 600; } .sheet th.subh small { display: block; color: var(--faint); font-weight: 500; font-size: 10px; line-height: 1; margin-top: 1px; }
.sheet thead tr.h2 th.tot { background: var(--neutral-soft); }
.sheet td.val.subc { background: color-mix(in srgb, var(--surface-2) 60%, var(--surface)); border-right: 1px dashed var(--line); }
.sheet td.val.subc + td.val.tot { border-left: 1px solid var(--line-2); }
.sheet td.val.subc .v { font-weight: 500; }

/* ---------- type scales with column width (--vfs set per table by grid.js) ---------- */
.sheet table.g { --vfs: 13px; }
.sheet td { height: calc(var(--vfs) * 2.7); }
.sheet td.val .v { font-size: var(--vfs); }
.sheet td.val .d { font-size: calc(var(--vfs) * 0.8); }
.sheet td.m { font-size: calc(var(--vfs) * 0.96); }
.sheet td.m .tag { font-size: calc(var(--vfs) * 0.74); } .sheet td.m .fx { font-size: calc(var(--vfs) * 0.82); }
.sheet td.n { font-size: calc(var(--vfs) * 0.88); }
.sheet th { font-size: calc(var(--vfs) * 0.9); } .sheet th.grp { font-size: calc(var(--vfs) * 0.95); }
.sheet thead tr.h2 th { font-size: calc(var(--vfs) * 0.85); }
.sheet tr.sec td { height: calc(var(--vfs) * 2.3); } .sheet tr.sec .sname { font-size: calc(var(--vfs) * 0.92); } .sheet tr.sec .scope { font-size: calc(var(--vfs) * 0.88); }
.sheet td.momcol .chip { font-size: calc(var(--vfs) * 0.85); }
.kpi .v { font-size: clamp(24px, 1.7vw, 34px); } .kpi .t { font-size: clamp(11px, 0.75vw, 13px); } .kpi .d { font-size: clamp(12px, 0.8vw, 14px); }

/* ---------- KPI picker, note moderation, polarity control ---------- */
.kpi-gear { border: 1px dashed var(--line-2); background: transparent; color: var(--faint); border-radius: var(--radius); font-size: 18px; padding: 0; }
.kpi-gear:hover { color: var(--accent); border-color: var(--accent); }
.modal-wrap { position: fixed; inset: 0; background: rgba(22,29,43,.35); z-index: 80; display: grid; place-items: center; }
.modal { width: min(820px, 94vw); max-height: 86vh; background: var(--surface); border: 1px solid var(--line-2); border-radius: 14px; box-shadow: var(--pop-shadow); display: flex; flex-direction: column; overflow: hidden; }
.modal .mh { display: flex; align-items: center; gap: 12px; padding: 14px 18px; border-bottom: 1px solid var(--line); font-size: 14px; }
.modal .mt { display: flex; align-items: center; gap: 12px; padding: 10px 18px; } .modal .mt input { width: 320px; }
.modal .mlist { overflow: auto; flex: 1; padding: 0 10px 10px; }
.mrow { display: grid; grid-template-columns: 24px 36px 1fr 150px 90px; gap: 10px; align-items: center; padding: 7px 8px; border-radius: 8px; cursor: pointer; border-bottom: 1px solid var(--line); }
.mrow:hover { background: var(--accent-soft); } .mrow.on { background: var(--accent-soft); }
.mrow .chk { width: 18px; height: 18px; border: 1px solid var(--line-2); border-radius: 5px; display: grid; place-items: center; font-size: 12px; color: #fff; background: var(--surface); }
.mrow.on .chk { background: var(--accent); border-color: var(--accent); }
.mrow .rn { color: var(--faint); font-size: 11.5px; } .mrow .lb { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .mrow .cl { color: var(--muted); font-size: 12px; } .mrow .vl { text-align: right; font-weight: 600; }
.modal .mf { display: flex; gap: 8px; align-items: center; padding: 12px 18px; border-top: 1px solid var(--line); background: var(--surface-2); }
.notes-list .note .meta { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.notes-list .note.resolved { opacity: .72; border-style: dashed; }
.note .lnk { background: none; border: 0; color: var(--accent); font-weight: 600; font-size: 11.5px; padding: 0 4px; } .note .lnk.danger { color: var(--bad); }
.polbox { margin-top: 16px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-2); }
.polbox .t { font-size: 11px; color: var(--muted); font-weight: 700; letter-spacing: .4px; text-transform: uppercase; }

/* ---------- definitions table + users ---------- */
.defs-table td { white-space: normal; max-width: none; vertical-align: top; line-height: 1.5; }
.defs-table tr.defsec td { background: var(--surface-2); font-weight: 700; font-size: 11.5px; letter-spacing: .3px; text-transform: uppercase; color: var(--ink-2); padding: 8px 10px; border-top: 1px solid var(--line-2); }
.defcell { min-height: 20px; padding: 4px 6px; border: 1px dashed var(--line-2); border-radius: 6px; outline: 0; }
.defcell:focus { border-color: var(--accent); background: var(--accent-soft); }
.engine-notes { margin: 8px 16px 16px; color: var(--muted); } .engine-notes summary { cursor: pointer; font-weight: 600; padding: 6px 0; } .engine-notes table { margin-top: 8px; }
.engine-notes td { white-space: normal; max-width: none; vertical-align: top; line-height: 1.5; }
.userform { display: flex; gap: 8px; align-items: center; padding: 12px 16px 6px; } .userform input[type=email] { flex: 1; }
.usermsg { margin: 6px 16px 10px; padding: 10px 12px; border: 1px solid var(--good); border-radius: 9px; background: var(--good-soft); }
.usermsg .cred { display: flex; gap: 10px; align-items: center; margin: 6px 0; flex-wrap: wrap; } .usermsg code { font-size: 14px; font-weight: 700; background: var(--surface); padding: 3px 8px; border-radius: 6px; border: 1px solid var(--line-2); user-select: all; }
table.users td { white-space: normal; max-width: none; } table.users td.r .lnk { margin-left: 6px; }
table.users .lnk { background: none; border: 0; color: var(--accent); font-weight: 600; font-size: 11.5px; padding: 0 4px; white-space: nowrap; } table.users .lnk.danger { color: var(--bad); }
/* users card in the main column: single-line rows, actions right-aligned on one line, form capped so the input does not span the page */
table.users.wide td { white-space: nowrap; vertical-align: middle; padding-top: 9px; padding-bottom: 9px; } table.users.wide td.r { text-align: right; width: 1%; } table.users.wide td.r .lnk { margin-left: 14px; font-size: 12px; }
table.users.wide .chip { display: inline-block; } #adminMain .userform { max-width: 560px; } #adminMain .usermsg { max-width: 720px; }


/* ---------- guided tour ---------- */
.tourbtn { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 10px; border-radius: 8px; color: var(--top-ink); border: 1px solid transparent; background: transparent; font-weight: 600; font-size: 12.5px; text-decoration: none; white-space: nowrap; }
.tourbtn:hover { background: var(--top-2); border-color: var(--top-line); color: #fff; } .tourbtn svg { width: 15px; height: 15px; }
.tour-spot { position: fixed; z-index: 70; border-radius: 8px; box-shadow: 0 0 0 9999px rgba(10, 14, 22, .58), 0 0 0 2px var(--accent); pointer-events: none; transition: top .25s, left .25s, width .25s, height .25s; }
.tour-spot.hidden, .tour-card.hidden { display: none; }
.tour-card { position: fixed; z-index: 71; width: 360px; max-width: calc(100vw - 24px); background: var(--surface); color: var(--ink); border: 1px solid var(--line-2); border-radius: 12px; box-shadow: var(--pop-shadow); padding: 12px 14px 12px; transition: top .25s, left .25s; }
.tour-card.busy { opacity: .6; }
.tour-card .tc-h { display: flex; align-items: center; justify-content: space-between; } .tour-card .tc-n { font-size: 11px; color: var(--muted); font-weight: 600; letter-spacing: .3px; }
.tour-card h3 { margin: 4px 0 6px; font-size: 15px; } .tour-card .tc-b { font-size: 13px; line-height: 1.45; color: var(--ink-2); } .tour-card .tc-b b { color: var(--ink); }
.tour-card .tc-f { display: flex; gap: 8px; align-items: center; margin-top: 12px; }
body.touring .pop, body.touring .drawer { z-index: 69; }
@media print { .tourbtn, .tour-spot, .tour-card { display: none !important; } }
