@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap');
:root{--navy:#080B53;--navy-h:#06083d;--navy-soft:rgba(8,11,83,.06);--navy-mid:rgba(8,11,83,.15);--gold:#C9A84C;--gold-soft:rgba(201,168,76,.12);--green:#16a34a;--green-s:rgba(22,163,74,.10);--amber:#d97706;--amber-s:rgba(217,119,6,.10);--red:#dc2626;--red-s:rgba(220,38,38,.10);--surface:#f8f9fc;--white:#fff;--border:#e4e7f0;--text:#111827;--muted:#6b7280;--light:#9ca3af;--mono:'JetBrains Mono',monospace;--sans:'Inter',sans-serif;--r:10px;--rs:6px;}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:var(--sans);background:var(--surface);color:var(--text);font-size:13px;line-height:1.5;min-height:100vh;}
.mm-audit-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--red);color:#fff;padding:10px 16px;font-size:13px;font-weight:500;position:sticky;top:0;z-index:200;}
.mm-audit-banner[hidden]{display:none!important;}
.mm-audit-banner-dismiss{background:transparent;border:none;color:#fff;font-size:20px;line-height:1;cursor:pointer;padding:0 4px;}
.hdr{background:var(--navy);color:#fff;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:56px;position:sticky;top:0;z-index:100;box-shadow:0 2px 12px rgba(8,11,83,.4);}
.hdr-brand{display:flex;align-items:center;gap:12px;}
.hdr-logo{font-family:var(--mono);font-size:13px;font-weight:700;color:var(--gold);letter-spacing:1px;}
.hdr-title{font-size:13px;font-weight:500;color:rgba(255,255,255,.75);border-left:1px solid rgba(255,255,255,.2);padding-left:12px;}
.hdr-right{display:flex;align-items:center;gap:12px;}
.clock-w{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:6px 12px;}
.cdot{width:7px;height:7px;border-radius:50%;background:var(--green);animation:pd 1.5s infinite;}
.cdot.warn{background:var(--amber);}
.cdot.crit{background:var(--red);animation:pd .6s infinite;}
@keyframes pd{0%,100%{opacity:1}50%{opacity:.3}}
.ctime{font-family:var(--mono);font-size:15px;font-weight:700;color:#fff;letter-spacing:1px;}
.clabel{font-size:10px;color:rgba(255,255,255,.5);letter-spacing:.3px;}
.spb{background:var(--navy);border-bottom:1px solid rgba(255,255,255,.08);padding:0 24px;display:flex;align-items:center;overflow-x:auto;scrollbar-width:none;}
.spb::-webkit-scrollbar{display:none;}
.spill{display:flex;align-items:center;gap:6px;padding:8px 14px;font-size:11px;font-weight:500;color:rgba(255,255,255,.4);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;transition:all .2s;}
.spill:hover{color:rgba(255,255,255,.7);}
.spill.active{color:#fff;border-bottom-color:var(--gold);}
.spill.done{color:var(--green);}
.snum{width:18px;height:18px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;font-family:var(--mono);}
.spill.active .snum{background:var(--gold);color:var(--navy);}
.spill.done .snum{background:var(--green);color:#fff;}
.abody{display:grid;grid-template-columns:1fr 300px;min-height:calc(100vh - 96px);}
.mpanel{padding:20px;overflow-y:auto;}
.spanel{background:#fff;border-left:1px solid var(--border);padding:14px;overflow-y:auto;position:sticky;top:96px;height:calc(100vh - 96px);}
.max-panel{background:var(--navy);border:1px solid rgba(201,168,76,.35);border-radius:var(--r);padding:16px 18px;margin-bottom:18px;color:#fff;}
.mp-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,.55);margin-bottom:6px;}
.mp-ceiling{font-family:var(--mono);font-size:28px;font-weight:700;color:var(--gold);line-height:1.2;margin-bottom:4px;}
.mp-current{font-size:12px;color:rgba(255,255,255,.65);margin-bottom:8px;}
.mp-nudge{font-size:12px;font-weight:600;color:var(--gold);background:rgba(201,168,76,.12);border-left:3px solid var(--gold);padding:8px 12px;margin-bottom:10px;border-radius:0 var(--rs) var(--rs) 0;}
.mp-nudge.blocked{color:#fca5a5;border-left-color:var(--red);background:rgba(220,38,38,.12);}
.mp-nudge.at-max{color:#86efac;border-left-color:var(--green);background:rgba(22,163,74,.12);}
.mp-gap{display:inline-block;font-size:11px;font-weight:600;padding:4px 10px;border-radius:20px;margin-bottom:12px;}
.mp-gap.has-gap{background:rgba(201,168,76,.2);color:var(--gold);}
.mp-gap.at-max{background:rgba(22,163,74,.2);color:#86efac;}
.mp-gap.blocked{background:rgba(220,38,38,.2);color:#fca5a5;}
.lever-list{display:flex;flex-direction:column;gap:8px;}
.lever-item{background:rgba(255,255,255,.06);border-radius:var(--rs);padding:10px 12px;border-left:3px solid transparent;cursor:pointer;transition:background .15s;}
.lever-item:hover{background:rgba(255,255,255,.1);}
.lever-item.active{border-left-color:var(--gold);}
.lever-item.done{border-left-color:var(--green);opacity:.85;}
.lever-item.blocked{border-left-color:var(--red);cursor:default;opacity:.9;}
.lever-title{font-size:12px;font-weight:700;color:#fff;margin-bottom:3px;}
.lever-desc{font-size:11px;color:rgba(255,255,255,.6);line-height:1.4;margin-bottom:4px;}
.lever-impact{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--gold);}
.lever-item.done .lever-impact{color:#86efac;}
.lever-item.blocked .lever-impact{color:#fca5a5;}
.lever-step{font-size:10px;color:rgba(255,255,255,.45);margin-top:2px;}
.ceil-bar-wrap{margin:6px 0 4px;}
.ceil-bar-bg{height:8px;background:#f3f4f6;border-radius:4px;overflow:hidden;}
.ceil-bar-fill{height:100%;background:var(--gold);border-radius:4px;transition:width .3s;}
.ceil-bar-fill.at-max{background:var(--green);}
.ceil-pct{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--navy);}
.card{background:#fff;border:1px solid var(--border);border-radius:var(--r);margin-bottom:14px;overflow:hidden;}
.ch{padding:12px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px;background:var(--navy-soft);}
.ch h3{font-size:13px;font-weight:700;color:var(--navy);flex:1;}
.cb{padding:16px;}
.sbadge{font-family:var(--mono);font-size:10px;font-weight:700;background:var(--navy);color:#fff;padding:2px 7px;border-radius:4px;letter-spacing:.5px;}
.pref{font-size:10px;color:var(--muted);font-family:var(--mono);background:var(--navy-soft);padding:2px 6px;border-radius:4px;}
.fr{display:grid;grid-template-columns:190px 1fr auto;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid #f3f4f6;}
.fr:last-child{border-bottom:none;}
.fl{font-size:12px;font-weight:500;color:var(--text);line-height:1.3;display:flex;align-items:flex-start;gap:6px;flex-wrap:wrap;}
.field-hint-btn{flex-shrink:0;width:16px;height:16px;padding:0;border-radius:50%;border:1.5px solid var(--navy);background:#fff;color:var(--navy);font-size:10px;font-weight:700;font-style:italic;font-family:var(--sans);line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;margin-top:1px;}
.field-hint-btn:hover{background:var(--navy);color:#fff;}
.field-hint-btn.field-hint-auto{border-color:var(--muted);color:var(--muted);}
.field-hint-btn.field-hint-auto:hover{background:var(--muted);color:#fff;border-color:var(--muted);}
.doc-md-header{margin-bottom:6px;}
.anote-header{margin-top:10px;margin-bottom:4px;}
#field-hint-popup{position:fixed;z-index:300;width:380px;max-width:calc(100vw - 24px);max-height:min(420px,calc(100vh - 48px));overflow-y:auto;background:#fff;border:1.5px solid var(--navy);border-radius:var(--r);box-shadow:0 8px 32px rgba(8,11,83,.2);padding:14px 16px;font-size:11px;line-height:1.55;color:var(--text);}
.fhp-body ol,.fhp-body ul{margin:6px 0 6px 16px;padding:0;}
.fhp-body li{margin-bottom:4px;}
.fhp-body u{text-decoration:underline;text-underline-offset:2px;}
#field-hint-popup.open{display:block;}
#field-hint-popup[hidden]{display:none;}
.fhp-title{font-size:12px;font-weight:700;color:var(--navy);margin-bottom:8px;padding-right:48px;}
.fhp-body{color:var(--text);}
.fhp-body strong{color:var(--navy);}
.fhp-close{position:absolute;top:10px;right:10px;padding:4px 8px;font-size:10px;font-weight:600;border:1px solid var(--border);border-radius:4px;background:#fff;color:var(--muted);cursor:pointer;}
.fhp-close:hover{border-color:var(--navy);color:var(--navy);}
.fh{font-size:10px;color:var(--muted);margin-top:1px;}
.fi{width:100%;padding:7px 10px;border:1.5px solid var(--border);border-radius:var(--rs);font-family:var(--mono);font-size:12px;font-weight:500;color:var(--text);background:#fbfcff;transition:border-color .15s;outline:none;}
.fi:focus{border-color:var(--navy);background:#fff;}
.fi.calc{background:var(--navy-soft);color:var(--navy);font-weight:700;border-color:var(--navy-mid);cursor:default;}
.fi.rg{background:var(--green-s);color:var(--green);border-color:rgba(22,163,74,.3);font-weight:700;}
.fi.rr{background:var(--red-s);color:var(--red);border-color:rgba(220,38,38,.3);font-weight:700;}
.fi.ra{background:var(--amber-s);color:var(--amber);border-color:rgba(217,119,6,.3);font-weight:700;}
select.fi{cursor:pointer;}
.fs{min-width:80px;font-size:10px;font-weight:600;padding:3px 7px;border-radius:4px;text-align:center;white-space:nowrap;}
.ok{background:var(--green-s);color:var(--green);}
.wa{background:var(--amber-s);color:var(--amber);}
.er{background:var(--red-s);color:var(--red);}
.in{background:rgba(59,130,246,.08);color:#2563eb;}
.na{background:#f3f4f6;color:var(--muted);}
.ib{background:var(--navy-soft);border-left:3px solid var(--navy);border-radius:0 var(--rs) var(--rs) 0;padding:10px 14px;font-size:11px;color:var(--navy);margin:8px 0;}
.rb{background:#fffbeb;border:1.5px solid var(--amber);border-radius:var(--r);padding:12px 16px;margin:10px 0;}
.rb h4{font-size:12px;font-weight:700;color:var(--amber);margin-bottom:8px;}
.lrow{display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:1px solid rgba(217,119,6,.15);font-size:11px;}
.lrow:last-child{border-bottom:none;}
.ln{flex:1;color:var(--text);font-weight:500;}
.la{color:var(--amber);font-weight:600;font-size:10px;}
.li{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--navy);}
.vc{border-radius:var(--r);padding:16px;margin:12px 0;display:flex;align-items:center;gap:14px;}
.vc.apr{background:var(--green-s);border:1.5px solid var(--green);}
.vc.dec{background:var(--red-s);border:1.5px solid var(--red);}
.vc.rev{background:var(--amber-s);border:1.5px solid var(--amber);}
.vamt{font-family:var(--mono);font-size:26px;font-weight:700;}
.vc.apr .vamt{color:var(--green);}
.vc.dec .vamt{color:var(--red);}
.vc.rev .vamt{color:var(--amber);}
.vlbl{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;}
.vd{font-size:11px;color:var(--muted);margin-top:2px;}
.ss{margin-bottom:16px;}
.st{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-bottom:8px;padding-bottom:5px;border-bottom:1px solid var(--border);}
.kr{display:flex;justify-content:space-between;align-items:center;padding:5px 0;border-bottom:1px solid #f9fafb;}
.kr:last-child{border-bottom:none;}
.kn{font-size:11px;color:var(--muted);}
.kv{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--navy);}
.kv.g{color:var(--green);}
.kv.r{color:var(--red);}
.kv.a{color:var(--amber);}
.rc{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:5px;margin-bottom:3px;font-size:11px;}
.rc.pass{background:var(--green-s);color:var(--green);}
.rc.fail{background:var(--red-s);color:var(--red);font-weight:700;}
.rc.pend{background:#f9fafb;color:var(--muted);}
.rc.flag{background:var(--amber-s);color:var(--amber);font-weight:600;}
.btn{padding:7px 14px;border-radius:7px;font-size:12px;font-weight:600;cursor:pointer;border:none;transition:all .15s;display:inline-flex;align-items:center;gap:5px;}
.btn-p{background:var(--navy);color:#fff;}
.btn-p:hover{background:var(--navy-h);}
.btn-o{background:#fff;color:var(--navy);border:1.5px solid var(--navy);}
.btn-sm{padding:5px 10px;font-size:11px;}
.dv{border:none;border-top:1px solid var(--border);margin:12px 0;}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.hlr{background:var(--gold-soft);border-radius:5px;padding:4px 8px;margin:-4px -8px;}
.frow2{display:grid;grid-template-columns:190px 1fr;gap:8px;align-items:start;padding:7px 0;border-bottom:1px solid #f3f4f6;}
.frow2:last-child{border-bottom:none;}
.anote{width:100%;min-height:55px;padding:7px 10px;border:1.5px solid var(--border);border-radius:var(--rs);font-family:var(--sans);font-size:11px;color:var(--text);resize:vertical;outline:none;background:#fbfcff;}
.anote:focus{border-color:var(--navy);}
.stab{display:none;}
.stab.act{display:block;}
.l2-banner{background:var(--amber-s);border:1.5px solid var(--amber);border-radius:var(--r);padding:10px 14px;font-size:11px;color:var(--amber);margin-bottom:12px;font-weight:600;}
.doc-overlay{display:none;position:fixed;inset:0;background:rgba(8,11,83,.55);z-index:200;align-items:flex-start;justify-content:center;padding:24px;overflow-y:auto;}
.doc-overlay.open{display:flex;}
.doc-panel{background:#fff;border-radius:var(--r);width:100%;max-width:920px;max-height:calc(100vh - 48px);display:flex;flex-direction:column;box-shadow:0 12px 40px rgba(8,11,83,.25);overflow:hidden;}
.doc-header{padding:16px 20px;border-bottom:1px solid var(--border);position:relative;padding-right:90px;}
.doc-header h2{font-size:16px;font-weight:700;color:var(--navy);margin-bottom:4px;}
.doc-sub{font-size:11px;color:var(--muted);line-height:1.5;max-width:720px;}
.doc-close{position:absolute;top:16px;right:16px;}
.doc-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);background:var(--navy-soft);padding:0 12px;}
.doc-tab{padding:10px 16px;font-size:12px;font-weight:600;color:var(--muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;margin-bottom:-1px;}
.doc-tab:hover{color:var(--navy);}
.doc-tab.active{color:var(--navy);border-bottom-color:var(--gold);background:#fff;}
.doc-pane{display:none;padding:16px 20px 20px;flex:1;overflow-y:auto;min-height:0;}
.doc-pane.active{display:block;}
.doc-upload-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px;}
.doc-upload-row input[type=file]{font-size:11px;max-width:280px;}
.doc-status{font-size:11px;font-weight:600;color:var(--muted);margin-bottom:6px;}
.doc-status.wait{color:var(--amber);}
.doc-status.ok{color:var(--green);}
.doc-status.err{color:var(--red);}
.doc-progress{display:none;margin-bottom:10px;}
.doc-progress.active{display:block;}
.doc-progress-row{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:600;color:var(--muted);margin-bottom:5px;}
.doc-progress-pct{color:var(--navy);font-family:var(--mono);}
.doc-progress-track{height:8px;background:var(--navy-soft);border-radius:999px;overflow:hidden;border:1px solid var(--border);}
.doc-progress-fill{height:100%;width:0;background:linear-gradient(90deg,var(--gold),#e8b923);border-radius:999px;transition:width .25s linear;}
.doc-meta{font-size:10px;color:var(--muted);font-family:var(--mono);margin-bottom:8px;min-height:14px;}
.doc-md{width:100%;min-height:400px;padding:12px;border:1.5px solid var(--border);border-radius:var(--rs);font-family:var(--mono);font-size:11px;line-height:1.55;resize:vertical;background:#fbfcff;color:var(--text);}
::-webkit-scrollbar{width:4px;height:4px;}
::-webkit-scrollbar-thumb{background:var(--navy-mid);border-radius:10px;}
@media print{
  .hdr,#limit-maximiser,.spb,.hdr-right,.btn,.doc-overlay,#field-hint-popup{display:none!important;}
  .abody{grid-template-columns:1fr;}
  .spanel{display:none;}
}
