/* ============================================================
   MCRS — BANK-GRADE DESIGN SYSTEM  (Ash Canvas + Dark Instrument)
   Locked composition approved May 17, 2026.
   No glassmorphism. Sharp 90° corners. Navy + Gold. Solid surfaces.
   ============================================================ */
:root{
  --nav-bg:#0f1a2e; --nav-border:rgba(200,168,100,.12);
  --card:#1e293b; --card-border:rgba(255,255,255,.08); --card-border-strong:rgba(255,255,255,.14);
  --bg:#B2BEB5; --surface:#B2BEB5;
  --text:#e2e8f0; --text-secondary:#94a3b8; --text-tertiary:#64748b;
  --text-on-ash:#0f1a2e; --text-on-ash-secondary:#3a4a66; --text-on-ash-tertiary:#5a6a82;
  --canvas-border:rgba(15,26,46,.18);
  --gold:#C8A864; --gold-dim:#8a7445;
  --status-green:#22c55e; --status-amber:#f59e0b; --status-red:#ef4444; --status-blue:#3b82f6; --status-grey:#64748b;
  --row-hover:rgba(200,168,100,.04); --shadow-card:0 2px 6px rgba(15,26,46,.12);
  --field-bg:#16202f; --field-border:rgba(255,255,255,.12);
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{background:var(--bg);color:var(--text);font-family:'DM Sans',-apple-system,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh}
.mono{font-family:'JetBrains Mono',monospace;font-feature-settings:"tnum"}
.serif{font-family:'Source Serif 4',Georgia,serif}
a{color:var(--gold);text-decoration:none}
.hidden{display:none!important}

/* LAYOUT */
.app{display:grid;grid-template-columns:240px 1fr;min-height:100vh}
.sidebar{background:var(--nav-bg);border-right:1px solid var(--nav-border);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}
.brand{padding:22px 20px 18px;border-bottom:1px solid var(--nav-border);display:flex;align-items:center;gap:12px}
.brand-mark{width:36px;height:36px;background:var(--gold);display:flex;align-items:center;justify-content:center;font-family:'Source Serif 4',serif;font-weight:700;font-size:18px;color:var(--nav-bg);letter-spacing:-.5px}
.brand-name{font-family:'Source Serif 4',serif;font-size:17px;font-weight:600;color:#fff;letter-spacing:.5px}
.brand-sub{font-size:10px;color:var(--gold);font-weight:500;letter-spacing:1.2px;text-transform:uppercase;margin-top:1px}
.nav-section{padding:16px 0 8px}
.nav-label{font-size:10px;font-weight:600;color:var(--gold-dim);letter-spacing:1.5px;text-transform:uppercase;padding:0 20px 8px}
.nav-item{display:flex;align-items:center;gap:12px;padding:10px 20px;color:#cbd5e1;cursor:pointer;font-size:13.5px;font-weight:500;border-left:2px solid transparent;transition:background .12s,color .12s,border-color .12s}
.nav-item:hover{background:rgba(255,255,255,.03);color:#fff}
.nav-item.active{background:rgba(200,168,100,.08);color:#fff;border-left-color:var(--gold)}
.nav-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;object-fit:contain;opacity:.72;transition:opacity .12s}
.nav-item:hover .nav-icon,.nav-item.active .nav-icon{opacity:1}
.nav-count{margin-left:auto;font-family:'JetBrains Mono',monospace;font-size:11px;background:rgba(255,255,255,.06);padding:2px 6px;color:#cbd5e1}
.nav-count.amber{background:rgba(245,158,11,.18);color:#fbbf24}
.nav-count.red{background:rgba(239,68,68,.18);color:#fca5a5}
.sidebar-footer{margin-top:auto;padding:16px 20px;border-top:1px solid var(--nav-border);font-size:11px;color:var(--text-tertiary);font-family:'JetBrains Mono',monospace;letter-spacing:.3px}
.sidebar-footer .protocol{color:var(--gold);font-weight:600;display:block;margin-bottom:2px}

/* MAIN */
.main{display:flex;flex-direction:column;min-width:0}
.topbar{height:56px;background:var(--surface);border-bottom:1px solid var(--canvas-border);display:flex;align-items:center;padding:0 24px;gap:16px;position:sticky;top:0;z-index:10}
.crumbs{font-size:12px;color:var(--text-on-ash-secondary);letter-spacing:.4px;text-transform:uppercase;font-weight:500}
.crumbs .sep{margin:0 8px;opacity:.5}.crumbs .now{color:var(--text-on-ash);font-weight:600}
.topbar-right{margin-left:auto;display:flex;align-items:center;gap:12px}
.search{background:#fff;border:1px solid var(--canvas-border);padding:7px 12px;color:var(--text-on-ash);font-family:'JetBrains Mono',monospace;font-size:12px;width:280px;outline:none}
.search::placeholder{color:var(--text-on-ash-tertiary)}.search:focus{border-color:var(--nav-bg)}
.icon-btn{width:34px;height:34px;background:#fff;border:1px solid var(--canvas-border);color:var(--text-on-ash);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;padding:0}
.icon-btn img{width:16px;height:16px;object-fit:contain;filter:invert(13%) sepia(18%) saturate(1320%) hue-rotate(180deg) brightness(45%);transition:filter .12s}
.icon-btn:hover{color:var(--nav-bg);border-color:var(--nav-bg)}
.icon-btn:hover img{filter:invert(8%) sepia(15%) saturate(2600%) hue-rotate(195deg) brightness(70%)}
.content{padding:24px;max-width:1600px;width:100%}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:22px;gap:24px}
.page-title{font-family:'Source Serif 4',serif;font-size:26px;font-weight:600;color:var(--text-on-ash);letter-spacing:-.3px}
.page-sub{font-size:13px;color:var(--text-on-ash-secondary);margin-top:4px}
.page-actions{display:flex;gap:8px}

/* BUTTONS */
.btn{padding:9px 16px;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:600;cursor:pointer;border:1px solid transparent;letter-spacing:.2px;transition:background .12s,border-color .12s,color .12s}
.btn-primary{background:var(--gold);color:var(--nav-bg);border-color:var(--gold)}.btn-primary:hover{background:#d6b977}
.btn-ghost{background:#fff;color:var(--text-on-ash);border-color:var(--canvas-border)}.btn-ghost:hover{border-color:var(--nav-bg);color:var(--nav-bg)}
.btn-dark{background:var(--field-bg);color:var(--text);border-color:var(--card-border-strong)}.btn-dark:hover{border-color:var(--gold-dim);color:#fff}
.btn-sm{padding:6px 12px;font-size:12px}
.btn:disabled{opacity:.45;cursor:not-allowed}

/* KPI */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}
.kpi{background:var(--card);border:1px solid var(--card-border);padding:18px 18px 16px;position:relative;box-shadow:var(--shadow-card)}
.kpi-accent{position:absolute;top:0;left:0;height:2px;width:100%}
.kpi.accent-gold .kpi-accent{background:var(--gold)}.kpi.accent-amber .kpi-accent{background:var(--status-amber)}
.kpi.accent-red .kpi-accent{background:var(--status-red)}.kpi.accent-green .kpi-accent{background:var(--status-green)}
.kpi-label{font-size:10.5px;font-weight:600;color:var(--text-tertiary);letter-spacing:1.4px;text-transform:uppercase}
.kpi-value{font-family:'Source Serif 4',serif;font-size:30px;font-weight:600;color:var(--text);margin-top:6px;font-feature-settings:"tnum";letter-spacing:-.5px}
.kpi-meta{display:flex;align-items:center;gap:6px;margin-top:6px;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--text-secondary)}
.kpi-meta .delta-up{color:var(--status-green)}.kpi-meta .delta-down{color:var(--status-red)}

/* SECTION + TABLE */
.section{background:var(--card);border:1px solid var(--card-border);margin-bottom:22px;box-shadow:var(--shadow-card)}
.section-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--card-border)}
.section-title{font-family:'Source Serif 4',serif;font-size:16px;font-weight:600;color:var(--text)}
.section-sub{font-size:11px;color:var(--text-tertiary);margin-top:2px;font-family:'JetBrains Mono',monospace;letter-spacing:.4px}
.section-tools{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.filter-pill{font-family:'JetBrains Mono',monospace;font-size:11px;padding:5px 10px;border:1px solid var(--card-border);color:var(--text-secondary);cursor:pointer;letter-spacing:.4px}
.filter-pill:hover{color:var(--gold);border-color:var(--gold-dim)}
.filter-pill.active{background:rgba(200,168,100,.1);color:var(--gold);border-color:var(--gold-dim)}
table.cases{width:100%;border-collapse:collapse;font-size:13px}
.cases thead th{font-size:10.5px;font-weight:600;color:var(--text-tertiary);letter-spacing:1.2px;text-transform:uppercase;text-align:left;padding:12px 16px;border-bottom:1px solid var(--card-border);background:#16202f}
.cases tbody td{padding:14px 16px;border-bottom:1px solid var(--card-border);vertical-align:middle;color:var(--text)}
.cases tbody tr{cursor:pointer;transition:background .1s}.cases tbody tr:hover{background:var(--row-hover)}
.cases tbody tr:last-child td{border-bottom:none}
.case-id{font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--text);font-weight:500;letter-spacing:.2px}
.case-id-sub{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--text-tertiary);margin-top:3px}
.network-tag{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:600;padding:3px 8px;letter-spacing:.6px}
.network-tag.visa{background:rgba(59,130,246,.15);color:#93c5fd}
.network-tag.mc,.network-tag.mastercard{background:rgba(239,68,68,.15);color:#fca5a5}
.network-tag.amex{background:rgba(34,197,94,.15);color:#86efac}
.network-tag.discover,.network-tag.other{background:rgba(148,163,184,.15);color:#cbd5e1}
/* Real network logo (used in case rows) */
.network-logo{display:inline-block;width:36px;height:24px;object-fit:contain;vertical-align:middle;filter:invert(13%) sepia(18%) saturate(1320%) hue-rotate(180deg) brightness(45%)}
.reason-code{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--text);font-weight:500}
.reason-code-name{font-size:11px;color:var(--text-secondary);margin-top:2px}
.amount{font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:600;color:var(--text);text-align:right;font-feature-settings:"tnum"}
.status{display:inline-flex;align-items:center;gap:6px;font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:600;padding:4px 10px;letter-spacing:.5px;text-transform:uppercase}
.status::before{content:'';width:6px;height:6px;border-radius:50%}
.status.intake,.status.open{background:rgba(59,130,246,.12);color:#93c5fd}.status.intake::before,.status.open::before{background:var(--status-blue)}
.status.processing,.status.in_prep{background:rgba(200,168,100,.12);color:var(--gold)}.status.processing::before,.status.in_prep::before{background:var(--gold)}
.status.ready{background:rgba(34,197,94,.12);color:#86efac}.status.ready::before{background:var(--status-green)}
.status.submitted,.status.awaiting_outcome{background:rgba(148,163,184,.14);color:#cbd5e1}.status.submitted::before,.status.awaiting_outcome::before{background:var(--status-grey)}
.status.won{background:rgba(34,197,94,.18);color:#86efac}.status.won::before{background:var(--status-green)}
.status.lost,.status.expired{background:rgba(239,68,68,.14);color:#fca5a5}.status.lost::before,.status.expired::before{background:var(--status-red)}
.deadline{font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:600}
.deadline-bar{height:3px;width:100%;background:rgba(255,255,255,.05);margin-top:6px;position:relative}
.deadline-bar .fill{height:100%}
.deadline.green{color:var(--status-green)}.deadline.green .fill{background:var(--status-green)}
.deadline.amber{color:var(--status-amber)}.deadline.amber .fill{background:var(--status-amber)}
.deadline.red{color:var(--status-red)}.deadline.red .fill{background:var(--status-red)}
.deadline.breach{color:var(--status-red)}.deadline.breach .fill{background:var(--status-red)}
.deadline.closed{color:var(--status-grey)}.deadline.closed .fill{background:var(--status-grey)}

/* GRIDS / RULE CARDS / AUDIT */
.bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:22px}
.rule-card{background:var(--card);border:1px solid var(--card-border);box-shadow:var(--shadow-card)}
.rule-card-head{padding:16px 20px;border-bottom:1px solid var(--card-border);display:flex;justify-content:space-between;align-items:center}
.rule-row{display:grid;grid-template-columns:110px 1fr 80px;align-items:center;padding:13px 20px;border-bottom:1px solid var(--card-border);gap:14px}
.rule-row:last-child{border-bottom:none}
.rule-code{font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:600;color:var(--gold);letter-spacing:.4px}
.rule-name{font-size:13px;font-weight:500;color:var(--text)}
.rule-name-sub{font-size:11px;color:var(--text-tertiary);margin-top:2px;font-family:'JetBrains Mono',monospace}
.rule-stat{font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:600;text-align:right;color:var(--text)}
.audit-feed{max-height:420px;overflow-y:auto}
.audit-row{padding:12px 20px;border-bottom:1px solid var(--card-border);display:grid;grid-template-columns:64px 1fr auto;gap:14px;align-items:flex-start}
.audit-row:last-child{border-bottom:none}
.audit-time{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--text-tertiary);padding-top:2px}
.audit-text{font-size:13px;color:var(--text);line-height:1.45}
.audit-text .strong{color:var(--gold);font-weight:600}
.audit-text .id{font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--text-secondary)}
.audit-tag{font-family:'JetBrains Mono',monospace;font-size:10px;padding:2px 7px;background:rgba(255,255,255,.05);color:var(--text-secondary);letter-spacing:.4px;align-self:flex-start;margin-top:1px}
.audit-tag.partial{background:rgba(245,158,11,.16);color:#fbbf24}

/* FORMS */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;padding:20px}
.form-grid .full{grid-column:1/-1}
.field label{display:block;font-size:10.5px;font-weight:600;color:var(--text-tertiary);letter-spacing:1px;text-transform:uppercase;margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;background:var(--field-bg);border:1px solid var(--field-border);color:var(--text);padding:9px 11px;font-family:'JetBrains Mono',monospace;font-size:12.5px;outline:none}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold-dim)}
.field textarea{min-height:74px;resize:vertical;font-family:'DM Sans',sans-serif}
.field .hint{font-size:10.5px;color:var(--text-tertiary);margin-top:4px}

/* MODAL */
.modal-back{position:fixed;inset:0;background:rgba(15,26,46,.55);display:flex;align-items:flex-start;justify-content:center;padding:48px 16px;z-index:50;overflow-y:auto}
.modal{background:var(--card);border:1px solid var(--card-border-strong);width:100%;max-width:760px;box-shadow:0 18px 50px rgba(15,26,46,.45)}
.modal-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--card-border)}
.modal-title{font-family:'Source Serif 4',serif;font-size:18px;color:var(--text)}
.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--card-border)}
.x-btn{cursor:pointer;color:var(--text-tertiary);font-size:18px;background:none;border:none}

/* DETAIL */
.detail-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}
.kv{display:grid;grid-template-columns:150px 1fr;gap:8px 14px;padding:18px 20px;font-size:13px}
.kv .k{color:var(--text-tertiary);font-size:10.5px;letter-spacing:1px;text-transform:uppercase;padding-top:2px}
.kv .v{color:var(--text);font-family:'JetBrains Mono',monospace;font-size:12.5px;word-break:break-word}
.rule-eval{padding:14px 20px;border-bottom:1px solid var(--card-border)}
.rule-eval:last-child{border-bottom:none}
.rule-eval-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.rule-eval-code{font-family:'JetBrains Mono',monospace;color:var(--gold);font-weight:600;font-size:12px}
.rule-eval-name{font-size:13px;color:var(--text);font-weight:500;margin-left:8px}
.verdict{font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:600;padding:2px 8px;letter-spacing:.6px}
.verdict.pass{background:rgba(34,197,94,.16);color:#86efac}
.verdict.review{background:rgba(245,158,11,.16);color:#fbbf24}
.prog{height:6px;background:rgba(255,255,255,.06);margin:6px 0}
.prog .bar{height:100%;background:var(--gold)}
.prog .bar.pass{background:var(--status-green)}.prog .bar.review{background:var(--status-amber)}
.rule-eval-detail{font-size:11.5px;color:var(--text-secondary);margin-top:6px;font-family:'DM Sans',sans-serif}
.integrity-ring{display:flex;align-items:center;gap:16px;padding:18px 20px}
.ring-num{font-family:'Source Serif 4',serif;font-size:38px;color:var(--text);font-weight:600}
.check-list{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;padding:0 20px 18px;font-family:'JetBrains Mono',monospace;font-size:11.5px}
.check-list .ok{color:var(--status-green)}.check-list .no{color:var(--status-red)}
.ev-row{display:grid;grid-template-columns:1fr 70px 90px 1fr;gap:10px;padding:11px 20px;border-bottom:1px solid var(--card-border);font-size:12px;align-items:center}
.ev-row:last-child{border-bottom:none}
.bucket-pill{font-family:'JetBrains Mono',monospace;font-size:10px;padding:2px 7px;background:rgba(200,168,100,.12);color:var(--gold)}
.state-tag{font-family:'JetBrains Mono',monospace;font-size:10px;padding:2px 7px;letter-spacing:.4px}
.state-tag.complete,.state-tag.locked{background:rgba(34,197,94,.14);color:#86efac}
.state-tag.partial{background:rgba(245,158,11,.14);color:#fbbf24}
.state-tag.missing{background:rgba(239,68,68,.14);color:#fca5a5}

/* TIER COLUMNS */
.tier-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.tier-col{background:var(--card);border:1px solid var(--card-border);box-shadow:var(--shadow-card)}
.tier-col-head{padding:12px 16px;border-bottom:1px solid var(--card-border);font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:600;display:flex;justify-content:space-between;letter-spacing:.6px}
.tier-col.breach .tier-col-head,.tier-col.red .tier-col-head{color:var(--status-red)}
.tier-col.amber .tier-col-head{color:var(--status-amber)}
.tier-col.green .tier-col-head{color:var(--status-green)}
.tier-item{padding:11px 16px;border-bottom:1px solid var(--card-border);cursor:pointer}
.tier-item:hover{background:var(--row-hover)}.tier-item:last-child{border-bottom:none}

/* SHELLS */
.shell-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.shell-card{background:var(--card);border:1px solid var(--card-border);padding:16px 18px;box-shadow:var(--shadow-card)}
.shell-name{font-family:'JetBrains Mono',monospace;color:var(--gold);font-size:13px;letter-spacing:.5px}
.shell-count{font-family:'Source Serif 4',serif;font-size:28px;color:var(--text);margin-top:6px}
.shell-sub{font-size:10.5px;color:var(--text-tertiary);margin-top:2px;font-family:'JetBrains Mono',monospace}

/* MISC */
.muted{color:var(--text-tertiary)}
.empty{padding:40px 20px;text-align:center;color:var(--text-tertiary);font-size:13px}
.doc-block{padding:18px 20px;border-bottom:1px solid var(--card-border)}
.doc-block:last-child{border-bottom:none}
.doc-h{font-family:'Source Serif 4',serif;font-size:15px;color:var(--text);margin-bottom:6px}
.doc-h .pill{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--gold);margin-right:8px}
.doc-p{font-size:12.5px;color:var(--text-secondary);line-height:1.55}
.banner{padding:10px 16px;font-size:12.5px;font-family:'JetBrains Mono',monospace;border:1px solid var(--card-border);margin-bottom:14px;background:var(--card);color:var(--text-secondary)}
.banner.warn{border-color:var(--gold-dim);color:var(--gold)}

/* TOAST */
#toast{position:fixed;right:20px;bottom:20px;display:flex;flex-direction:column;gap:8px;z-index:100}
.toast{background:var(--nav-bg);border:1px solid var(--card-border-strong);border-left:3px solid var(--gold);color:var(--text);padding:11px 16px;font-size:12.5px;box-shadow:0 8px 24px rgba(15,26,46,.4);max-width:360px}
.toast.err{border-left-color:var(--status-red)}
.toast.ok{border-left-color:var(--status-green)}

/* SCROLLBAR */
::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--card-border-strong)}::-webkit-scrollbar-thumb:hover{background:var(--gold-dim)}

/* LOGIN */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:20px}
.login-card{background:var(--nav-bg);border:1px solid var(--nav-border);width:100%;max-width:380px;padding:34px 30px;box-shadow:0 18px 50px rgba(15,26,46,.4)}
.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:24px}
.login-card h1{font-family:'Source Serif 4',serif;font-size:20px;color:#fff;font-weight:600}
.login-card .sub{font-size:10px;color:var(--gold);letter-spacing:2px;text-transform:uppercase}
.login-card input{width:100%;background:var(--field-bg);border:1px solid var(--field-border);color:var(--text);padding:11px 13px;font-family:'JetBrains Mono',monospace;font-size:13px;outline:none;margin-bottom:14px}
.login-card input:focus{border-color:var(--gold-dim)}
.login-err{color:#fca5a5;font-size:12px;margin-bottom:12px;min-height:16px;font-family:'JetBrains Mono',monospace}


/* AMD-002 — Merchant Translation additive utilities.
   Use ONLY existing CSS variables. No new colors / fonts / gradients / blur. */
.req-mark{color:var(--gold);font-weight:700;margin-left:3px;font-size:13px}
.field-helper{font-size:10.5px;color:var(--text-tertiary);margin-top:4px;font-family:'DM Sans',sans-serif;line-height:1.45}
.field-error{font-size:11px;color:#fca5a5;margin-top:4px;font-family:'JetBrains Mono',monospace;letter-spacing:.3px}
.field-error-list{margin:0;padding-left:18px;color:#fca5a5;font-size:11px;font-family:'DM Sans',sans-serif;line-height:1.5}
.state-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:16px 20px;border-bottom:1px solid var(--card-border)}
.state-badge{background:var(--field-bg);border:1px solid var(--card-border);padding:10px 12px;display:flex;flex-direction:column;gap:4px}
.state-badge .state-label{font-size:10px;font-weight:600;color:var(--text-tertiary);letter-spacing:1.2px;text-transform:uppercase}
.state-badge .state-value{font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:600;color:var(--text);letter-spacing:.3px}
.state-badge.green{border-color:rgba(34,197,94,.32)}.state-badge.green .state-value{color:#86efac}
.state-badge.amber{border-color:rgba(245,158,11,.32)}.state-badge.amber .state-value{color:#fbbf24}
.state-badge.red{border-color:rgba(239,68,68,.32)}.state-badge.red .state-value{color:#fca5a5}
.state-badge.grey{border-color:rgba(148,163,184,.32)}.state-badge.grey .state-value{color:#cbd5e1}
.state-badge.blue{border-color:rgba(59,130,246,.32)}.state-badge.blue .state-value{color:#93c5fd}
.lede{padding:16px 20px 12px;font-size:13px;color:var(--text);line-height:1.55;font-family:'DM Sans',sans-serif}
.facts-list{padding:6px 20px 16px;font-size:12.5px;color:var(--text-secondary)}
.facts-list .row{display:grid;grid-template-columns:160px 1fr;gap:10px;padding:6px 0;border-bottom:1px dashed var(--card-border)}
.facts-list .row:last-child{border-bottom:none}
.facts-list .row .k{color:var(--text-tertiary);font-size:10.5px;letter-spacing:1px;text-transform:uppercase;padding-top:1px}
.facts-list .row .v{color:var(--text);font-family:'JetBrains Mono',monospace;font-size:12.5px;word-break:break-word}
.need-card{padding:12px 16px;border:1px solid var(--card-border);background:var(--field-bg);margin:0 20px 10px}
.need-card .need-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:4px}
.need-card .need-title{font-size:13px;font-weight:600;color:var(--text)}
.need-card .need-why{font-size:11.5px;color:var(--text-secondary);line-height:1.5;margin-top:4px}
.need-card .need-examples{font-size:11px;color:var(--text-tertiary);margin-top:6px;line-height:1.5}
.need-card .need-examples summary{cursor:pointer;font-family:'JetBrains Mono',monospace;letter-spacing:.4px;color:var(--gold-dim)}
.need-card .need-examples summary:hover{color:var(--gold)}
.need-card .need-examples ul{margin:6px 0 0 16px;padding:0;font-family:'DM Sans',sans-serif}
.guidance-list{margin:0;padding:0 20px 10px 40px;color:var(--text);font-size:12.5px;line-height:1.6}
.guidance-list li{margin-bottom:4px}
.wording-block{padding:14px 20px;border-bottom:1px solid var(--card-border)}
.wording-block pre.mono{background:var(--field-bg);border:1px solid var(--card-border);padding:12px 14px;color:var(--text);font-family:'JetBrains Mono',monospace;font-size:12.5px;line-height:1.55;white-space:pre-wrap;word-break:break-word;margin-top:8px}
.wording-block .placement{font-size:11px;color:var(--text-tertiary);font-family:'JetBrains Mono',monospace;letter-spacing:.4px;margin-top:6px}
.wording-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.next-action{padding:14px 20px;background:var(--field-bg);border-top:1px solid var(--card-border)}
.next-action .na-label{font-size:10px;font-weight:600;color:var(--gold);letter-spacing:1.4px;text-transform:uppercase;margin-bottom:4px}
.next-action .na-text{font-size:13.5px;color:var(--text);font-weight:500;line-height:1.5}
.view-switch{display:inline-flex;border:1px solid var(--canvas-border);background:#fff}
.view-switch button{background:transparent;border:none;padding:6px 12px;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:600;color:var(--text-on-ash-secondary);cursor:pointer;letter-spacing:.3px}
.view-switch button.active{background:var(--nav-bg);color:#fff}
.view-switch button:hover:not(.active){color:var(--nav-bg)}
.protocol-diag{padding:14px 20px}
.protocol-diag .diag-row{display:grid;grid-template-columns:200px 1fr;gap:10px;padding:6px 0;border-bottom:1px dashed var(--card-border);font-family:'JetBrains Mono',monospace;font-size:12px}
.protocol-diag .diag-row:last-child{border-bottom:none}
.protocol-diag .diag-row .k{color:var(--text-tertiary);letter-spacing:.4px}
.protocol-diag .diag-row .v{color:var(--text)}
.edit-btn{font-family:'JetBrains Mono',monospace;font-size:10.5px;font-weight:600;color:var(--gold);background:transparent;border:1px solid var(--gold-dim);padding:3px 9px;cursor:pointer;letter-spacing:.6px;text-transform:uppercase}
.edit-btn:hover{background:rgba(200,168,100,.08)}

/* RESPONSIVE */
@media (max-width:1200px){.kpis,.tier-grid,.shell-grid{grid-template-columns:repeat(2,1fr)}.bottom-grid,.detail-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}}
@media (max-width:860px){.app{grid-template-columns:64px 1fr}.brand-name,.brand-sub,.nav-label,.nav-item span:not(.nav-icon):not(.nav-count){display:none}.nav-item{justify-content:center;padding:12px 0}.nav-count{display:none}.search{width:150px}}


/* === MECDRIS Phase 1 ================================================= */
.mecdris-top-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 22px; margin-bottom: 22px; margin-top: 10px; }
.mecdris-top-grid > .section { margin-bottom: 0; }
.mecdris-card {
  position: relative;
  background: linear-gradient(180deg, rgba(200,168,100,0.06) 0%, var(--card) 100%);
  border: 1px solid var(--card-border);
  border-left: 3px solid var(--gold);
  box-shadow: var(--shadow-card);
}
.mecdris-header {
  display: flex; align-items: center; gap: 14px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--card-border);
}
.mecdris-crest {
  width: 40px; height: 40px; border-radius: 50%;
  background: var(--gold); color: #0f1a2e;
  font-family: 'Source Serif 4', serif; font-weight: 700;
  font-size: 22px; display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
}
.mecdris-ident { flex: 1; min-width: 0; }
.mecdris-name {
  font-family: 'Source Serif 4', serif;
  font-size: 22px; font-weight: 600; color: var(--gold);
  letter-spacing: 0.5px; line-height: 1.15;
}
.mecdris-byline {
  font-size: 11px; color: var(--text-tertiary);
  font-family: 'JetBrains Mono', monospace; letter-spacing: 0.4px;
  margin-top: 3px;
}
.mecdris-toggle {
  background: transparent; border: 1px solid var(--card-border);
  color: var(--text-secondary);
  padding: 4px 14px; font-size: 14px; cursor: pointer; font-family: inherit;
  transition: color 0.15s, border-color 0.15s;
}
.mecdris-toggle:hover { color: var(--gold); border-color: var(--gold); }
.mecdris-body {
  transition: max-height 0.28s ease-out, padding 0.28s ease-out;
  overflow: hidden; max-height: 3000px; padding: 4px 0 12px;
}
.mecdris-card.collapsed .mecdris-body { max-height: 0; padding: 0; }
.mecdris-lede {
  padding: 22px 20px; font-size: 14.5px; color: var(--text-secondary);
  font-family: 'Source Serif 4', serif; line-height: 1.55; font-style: italic;
}
.mecdris-section { padding: 14px 20px; }
.mecdris-section + .mecdris-section { border-top: 1px solid var(--card-border); }
.mecdris-h {
  font-size: 10.5px; color: var(--gold); letter-spacing: 1.2px; text-transform: uppercase;
  font-family: 'JetBrains Mono', monospace; margin-bottom: 6px; font-weight: 600;
}
.mecdris-p {
  font-size: 14px; color: var(--text); line-height: 1.55;
  font-family: 'Source Serif 4', serif;
}
.mecdris-p.mono { font-family: 'JetBrains Mono', monospace; font-size: 12.5px; line-height: 1.5; }
.mecdris-p.muted { color: var(--text-secondary); font-style: italic; }
.mecdris-action { background: rgba(200,168,100,0.05); }
.mecdris-wording { background: rgba(59,130,246,0.04); }

@media (max-width: 1200px) {
  .mecdris-top-grid { grid-template-columns: 1fr; }
}


/* === MECDRIS Phase 1.1 — Design System v1 tokens ==================== */
/* Fonts — added if not already loaded elsewhere. Cinzel for MECDRIS name
   and card titles, Inter for body copy, JetBrains Mono for data.       */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&family=Inter:wght@400;500;600;700&display=swap');

/* Case/Status/Stage banner — inline Edit button ------------------ */
.banner-case {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.banner-case .banner-info { flex: 1; min-width: 0; }
.banner-edit {
  flex-shrink: 0;
  padding: 6px 16px;
  font-size: 11.5px;
  font-family: 'JetBrains Mono', 'IBM Plex Mono', Consolas, monospace;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  background: transparent;
  border: 1px solid #C8A766;
  color: #C8A766;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.banner-edit:hover:not(:disabled) { background: #C8A766; color: #08111F; }
.banner-edit:disabled { opacity: 0.4; cursor: not-allowed; }

/* MECDRIS full-width layout ------------------------------------- */
.mecdris-full { width: 100%; }

/* MECDRIS card — refined per Design System v1 ------------------ */
.mecdris-card {
  background: #1E293B;
  border: 1px solid rgba(125, 145, 168, .22);
  border-left: 3px solid #C8A766;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.16);
  border-radius: 0;
}
.mecdris-header {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 24px;
  border-bottom: 1px solid rgba(125, 145, 168, .22);
  background: transparent;
}
.mecdris-crest {
  width: 44px; height: 44px; border-radius: 50%;
  background: #C8A766; color: #08111F;
  font-family: 'Cinzel', 'Cormorant Garamond', Georgia, serif;
  font-weight: 700; font-size: 22px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
}
.mecdris-ident { flex: 1; min-width: 0; }
.mecdris-name {
  font-family: 'Cinzel', 'Cormorant Garamond', Georgia, serif;
  font-size: 22px; font-weight: 600;
  color: #C8A766;
  letter-spacing: 1.2px;
  line-height: 1.15;
  text-transform: uppercase;
}
.mecdris-byline {
  font-family: 'Inter', 'IBM Plex Sans', 'Segoe UI', Arial, sans-serif;
  font-size: 11.5px; color: #7890AE;
  letter-spacing: 0.3px;
  margin-top: 3px;
  font-weight: 400;
}
.mecdris-toggle {
  background: transparent;
  border: 1px solid rgba(125, 145, 168, .22);
  color: #7890AE;
  padding: 4px 14px;
  font-size: 14px;
  cursor: pointer;
  font-family: inherit;
  transition: color 0.15s, border-color 0.15s;
}
.mecdris-toggle:hover { color: #C8A766; border-color: #C8A766; }

/* Body: two-column narrative grid ------------------------------ */
.mecdris-body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  transition: max-height 0.28s ease-out, opacity 0.2s ease-out;
  overflow: hidden;
  max-height: 3000px;
  opacity: 1;
}
.mecdris-card.collapsed .mecdris-body {
  max-height: 0; opacity: 0;
}
.mecdris-section {
  padding: 20px 24px;
  border-right: 1px solid rgba(125, 145, 168, .22);
  border-top: 1px solid rgba(125, 145, 168, .22);
}
.mecdris-section:nth-child(2n) { border-right: none; }
.mecdris-section:nth-child(1), .mecdris-section:nth-child(2) { border-top: none; }
.mecdris-lede {
  grid-column: 1 / -1;
  padding: 26px 24px;
  font-family: 'Cinzel', 'Cormorant Garamond', Georgia, serif;
  font-size: 15px; color: #C8D4DA;
  line-height: 1.55;
  font-style: italic;
  letter-spacing: 0.3px;
}
.mecdris-h {
  font-family: 'JetBrains Mono', 'IBM Plex Mono', Consolas, monospace;
  font-size: 10.5px; color: #C8A766;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  margin-bottom: 10px;
  font-weight: 600;
}
.mecdris-p {
  font-family: 'Inter', 'IBM Plex Sans', 'Segoe UI', Arial, sans-serif;
  font-size: 14px; color: #C8D4DA;
  line-height: 1.6;
  font-weight: 400;
}
.mecdris-p.mono {
  font-family: 'JetBrains Mono', 'IBM Plex Mono', Consolas, monospace;
  font-size: 12.5px;
  color: #F5F0E7;
  line-height: 1.5;
  letter-spacing: 0.1px;
}
.mecdris-p.muted { color: #7890AE; font-style: italic; }
.mecdris-action {
  background: rgba(200, 167, 102, 0.05);
}
.mecdris-wording {
  background: rgba(118, 169, 216, 0.05);
}

/* On narrower screens the two-column body collapses to one column. */
@media (max-width: 900px) {
  .mecdris-body { grid-template-columns: 1fr; }
  .mecdris-section { border-right: none; }
  .mecdris-section:nth-child(2) { border-top: 1px solid rgba(125, 145, 168, .22); }
}
