@font-face{font-family:"Instrument Sans";src:url("/assets/InstrumentSans-Regular.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url("/assets/InstrumentSans-Bold.ttf") format("truetype");font-weight:700;font-display:swap}
@font-face{font-family:Gloock;src:url("/assets/Gloock-Regular.ttf") format("truetype");font-weight:400;font-display:swap}
:root{
  --navy:#0e284b;--navy2:#1f3f70;--ink:#172537;--muted:#667487;
  --line:#e6e0d7;--paper:#fff;--bg:#f6f3ee;--bronze:#ab7744;
  --bronze-light:#c9a04a;--bronze-bg:#f5ede3;--green:#3d725e;--red:#9a5248;
  --display:Gloock,Georgia,serif;--body:"Instrument Sans","Trebuchet MS",sans-serif
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-width:320px;background:var(--bg);color:var(--ink);font:15px/1.58 var(--body);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
h1,h2,h3,p{margin-top:0}
h1,h2,.metric{font-family:var(--display);font-weight:400}
h1{max-width:1100px;margin-bottom:15px;color:var(--navy);font-size:clamp(2.4rem,3.5vw,4rem);line-height:1.16;letter-spacing:-.035em}
h2{color:var(--navy);font-size:clamp(1.5rem,2vw,1.85rem);line-height:1.22;letter-spacing:-.02em}
h3{font-size:1rem;color:var(--navy)}
.topbar{min-height:112px;background:linear-gradient(104deg,#0b2341 0%,var(--navy) 65%,#17395e 100%);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:15px clamp(22px,4.5vw,76px);border-bottom:2px solid var(--bronze-light);position:relative;overflow:hidden}
.topbar:after{content:"";position:absolute;right:-78px;top:-168px;width:360px;height:360px;border:1px solid #c9a04a35;border-radius:50%;box-shadow:0 0 0 40px #c9a04a08,0 0 0 86px #c9a04a06;pointer-events:none}
.brand{position:relative;z-index:1;display:flex;gap:20px;align-items:center;min-width:0}
.seal{display:block;flex:none;width:80px;height:80px;object-fit:contain;border-radius:50%;background:#ffffffef;padding:2px;box-shadow:0 0 0 1px #dcc49d,0 8px 24px #0002}
.brand-copy{display:block;font-family:var(--display);font-size:clamp(1.25rem,1.8vw,1.7rem);letter-spacing:.035em;line-height:1.2;white-space:nowrap}
.brand small{display:block;margin-top:5px;font-family:var(--body);font-size:11px;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:#e6d4bb}
.internal,.side-label,.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.17em;font-size:10px;font-weight:700}
.internal{position:relative;z-index:1;color:#e9e2d9;white-space:nowrap;border:1px solid #ffffff36;border-radius:100px;padding:9px 13px}
.internal span{color:var(--bronze-light);padding:0 3px}
.account{position:relative;z-index:1;display:flex;align-items:center;gap:12px;color:#e9e2d9;font-size:12px}
.account[hidden]{display:none}
.account button{border:1px solid #ffffff5c;border-radius:6px;background:transparent;color:#fff;padding:7px 12px;font-size:12px}
.account button:hover{background:#ffffff20}
.shell{display:block;min-height:calc(100vh - 112px)}
.sidebar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:30px;min-height:66px;padding:0 clamp(22px,4.5vw,76px);background:#fffcf8ef;border-bottom:1px solid var(--line);box-shadow:0 5px 18px #0e284b09;backdrop-filter:blur(12px)}
.side-label{flex:none;color:#987044;white-space:nowrap}
.sidebar nav{display:flex;align-items:stretch;gap:6px;min-width:0;overflow-x:auto;scrollbar-width:none}
.sidebar nav::-webkit-scrollbar{display:none}
.nav{position:relative;flex:none;min-height:65px;padding:0 16px;border:0;background:transparent;color:#566478;white-space:nowrap;font-size:13px;font-weight:700;transition:color .15s,background .15s}
.nav:hover{color:var(--navy);background:#f5ede3}
.nav.active{color:var(--navy)}
.nav.active:after{content:"";position:absolute;bottom:0;left:15px;right:15px;height:3px;background:var(--bronze);border-radius:3px 3px 0 0}
.app-footer{border-top:1px solid var(--line);padding:18px clamp(22px,4.5vw,76px);background:#f1ede6;color:var(--muted);font-size:11px;text-align:right}
.logged-out .sidebar,.logged-out .app-footer{display:none}
.logged-out .main{max-width:600px;padding-top:8vh}
.login-panel{padding:40px}
.login-panel .intro{margin-bottom:26px}
.agent-summary{display:flex;align-items:center;justify-content:space-between;gap:22px}
.agent-summary p{margin-bottom:8px;color:var(--muted)}
.short-editor{min-height:200px!important}
.main{width:100%;max-width:1640px;margin:0 auto;padding:48px clamp(22px,4.5vw,76px) 86px}
.eyebrow{color:var(--bronze);margin-bottom:12px}
.intro{color:var(--muted);max-width:900px;margin-bottom:32px;font-size:16px;line-height:1.65}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;min-width:0}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.card,.panel{min-width:0;background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:27px;box-shadow:0 8px 30px #0e284b08}
.card{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:244px;border-top:2px solid var(--bronze-light)}
.card h2{font-size:1.65rem;margin:12px 0 8px}
.card p{color:var(--muted);font-size:14px;max-width:32ch;min-height:44px;margin-bottom:24px}
.card .btn{margin-top:auto}
.card .index{color:var(--bronze);font-size:11px;font-weight:700;letter-spacing:.15em}
.metric{font-size:2.65rem;color:var(--navy);line-height:1.05}
.metric-label{font-size:12px;color:var(--muted);margin-top:8px}
.section{margin-top:28px}
.row{display:flex;align-items:center;justify-content:space-between;gap:14px}
.stack{display:grid;gap:16px}
.field{display:grid;gap:7px;font-size:13px;font-weight:700;color:#45566b}
.field input,.field select,.field textarea{width:100%;padding:12px 13px;border:1px solid #d6d7d4;border-radius:7px;background:#fff;color:var(--ink);outline:none;font-weight:400}
.field textarea{min-height:104px;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--bronze);box-shadow:0 0 0 3px #ab774426}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.wide{grid-column:1/-1}
.btn{border:1px solid var(--navy);background:var(--navy);color:#fff;border-radius:7px;padding:11px 17px;font-size:13px;font-weight:700;display:inline-flex;gap:8px;align-items:center;justify-content:center;text-decoration:none;transition:background .15s,transform .15s}
.btn:hover{background:var(--navy2);transform:translateY(-1px)}
.btn.secondary{background:#fff;color:var(--navy)}
.btn.secondary:hover{background:#f7f1e9}
.btn.quiet{background:transparent;color:var(--navy);border-color:transparent}
.btn.bronze{background:var(--bronze);border-color:var(--bronze)}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.notice{padding:14px 17px;border-radius:7px;background:var(--bronze-bg);border-left:3px solid var(--bronze);font-size:13px;color:#654d36}
.notice.danger{background:#fbefed;border-color:var(--red);color:#783d36}
.notice.success{background:#eef7f0;border-color:var(--green);color:#335c46}
.quote{background:#f8f5ef;border-left:3px solid var(--bronze);padding:17px 19px;color:var(--navy);white-space:pre-wrap}
.progress{height:5px;background:#ebe5db;border-radius:20px;overflow:hidden;margin:18px 0 10px}
.progress span{height:100%;background:var(--bronze);display:block}
.step{font-size:12px;color:var(--muted)}
.choice-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.choice{border:1px solid var(--line);background:#fff;text-align:left;padding:12px 14px;border-radius:7px;color:var(--ink)}
.choice.selected{border-color:var(--bronze);background:var(--bronze-bg);font-weight:700}
.muted{color:var(--muted)}
.tag{display:inline-block;padding:3px 9px;background:#e9edf2;color:var(--navy);font-size:11px;border-radius:20px;font-weight:700}
.record{padding:14px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px}
.record:last-child{border:0}
.record strong{display:block}
.record small{color:var(--muted)}
.result{white-space:pre-wrap;line-height:1.7;overflow-wrap:anywhere}
.result h2{margin-top:25px}
.report-list{padding-left:19px}
.report-list li{margin-bottom:5px}
.split{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr);gap:22px;align-items:start}
.kbd{font-size:11px;color:var(--muted)}
.small{font-size:12px}
.editor{min-height:380px!important;font-family:var(--body);font-size:13px}
.pill{display:inline-block;padding:5px 10px;border-radius:100px;background:#f3e8d9;font-size:11px;font-weight:700;color:#7c522c}
#toast{position:fixed;bottom:25px;right:25px;max-width:370px;background:var(--navy);color:#fff;padding:13px 17px;border-radius:7px;box-shadow:0 8px 30px #10243533;display:none;z-index:10}
@media(max-width:1100px){.side-label{display:none}.sidebar{padding:0 20px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}.main{padding:36px 28px 70px}}
@media(max-width:680px){.topbar{min-height:82px;padding:10px 18px}.seal{width:58px;height:58px}.brand{gap:12px}.brand-copy{font-size:1.1rem}.brand small{font-size:9px;letter-spacing:.12em}.internal{display:none}.account{gap:5px;font-size:10px}.account button{padding:5px 7px}.sidebar{padding:0 12px;min-height:52px}.nav{min-height:52px;padding:0 12px;font-size:12px}.main{padding:29px 16px 60px}.grid,.grid.two,.form-grid,.choice-list{grid-template-columns:1fr}.wide{grid-column:auto}.card,.panel{padding:21px}.card{min-height:0}.agent-summary{align-items:flex-start;flex-direction:column}.login-panel{padding:24px}h1{font-size:2.35rem}.intro{font-size:15px}.row{align-items:flex-start;flex-wrap:wrap}}
@media print{.topbar,.sidebar,.app-footer,.actions,.btn,#toast{display:none!important}.main{width:100%;max-width:none;padding:0}.panel,.card{box-shadow:none;border:0;padding:0}.shell{display:block}.result{white-space:pre-wrap}}
