:root {
  --navy:#081a2a; --navy2:#102c42; --ink:#17212b; --muted:#6d7885; --line:#dfe5ea;
  --paper:#f4f6f8; --white:#fff; --gold:#b38a43; --gold2:#d7ba7d; --green:#278564;
  --red:#b64d52; --amber:#b87920; --blue:#326ca8; --shadow:0 16px 50px rgba(8,26,42,.10);
  --radius:14px;
}
*{box-sizing:border-box} html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:var(--paper)}
button,input,select,textarea{font:inherit} button{cursor:pointer} code{background:#eef1f3;padding:2px 6px;border-radius:5px}
.hidden{display:none!important}.muted{color:var(--muted)}.tiny{font-size:12px}.eyebrow{font-size:11px;letter-spacing:.15em;font-weight:800;color:var(--gold);text-transform:uppercase}.stack{display:flex;flex-direction:column}.gap-12{gap:12px}.wide{width:100%}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% 10%,#173f59 0,#081a2a 42%,#04101a 100%)}
.login-card{width:min(430px,100%);background:#fff;border-radius:22px;padding:38px;box-shadow:0 28px 90px rgba(0,0,0,.35);text-align:center}.login-card h1{margin:6px 0 6px;font-family:Georgia,serif;font-size:36px}.login-card label{text-align:left;font-weight:700;font-size:13px}.login-card input{margin-top:7px}
.brand-mark{margin:auto;width:62px;height:62px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,var(--gold),#7c5d25);color:#fff;font-family:Georgia,serif;font-weight:800;font-size:21px;box-shadow:0 10px 26px rgba(179,138,67,.28)}.brand-mark.small{width:40px;height:40px;border-radius:11px;font-size:14px;margin:0}
.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{position:fixed;z-index:20;inset:0 auto 0 0;width:250px;background:linear-gradient(180deg,var(--navy),#06131f);padding:22px 16px;color:#fff;display:flex;flex-direction:column;overflow:auto}.brand{display:flex;align-items:center;gap:11px;margin-bottom:23px}.brand strong{display:block;font-family:Georgia,serif}.brand span{font-size:11px;color:#8ba0b2;display:block;margin-top:2px}
.nav{display:flex;flex-direction:column;gap:4px;margin-top:13px}.nav button{border:0;background:transparent;color:#aebbc6;text-align:left;padding:10px 12px;border-radius:9px;display:flex;align-items:center;gap:11px;font-size:13px}.nav button span{width:18px;text-align:center;color:#d3b46d}.nav button:hover,.nav button.active{background:#173349;color:#fff}.sidebar-footer{margin-top:auto;padding-top:18px}.security-pill{font-size:10px;color:#8fb4a4;padding:10px 2px}
.main{grid-column:2;min-width:0}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:10}.case-picker-wrap{display:flex;flex-direction:column;gap:3px}.case-picker-wrap select{border:0;padding:0;background:transparent;font-weight:800;font-size:15px;min-width:290px;color:var(--ink)}.top-actions{display:flex;align-items:center;gap:9px}.avatar{width:36px;height:36px;border-radius:50%;background:var(--navy2);color:#fff;display:grid;place-items:center;font-weight:800;font-size:12px}.page{padding:30px;max-width:1600px;margin:auto}
.btn{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:9px;padding:9px 13px;font-weight:750;font-size:13px;transition:.15s}.btn:hover{transform:translateY(-1px);box-shadow:0 5px 16px rgba(8,26,42,.08)}.btn.primary{background:linear-gradient(135deg,var(--gold),#95702f);border-color:transparent;color:#fff}.btn.ghost{background:transparent}.btn.danger{background:#fff4f4;color:var(--red);border-color:#f0c7c9}.btn.small{padding:6px 9px;font-size:12px}.icon-btn{border:0;background:transparent;font-size:21px;color:var(--muted)}
input,select,textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px 11px;background:#fff;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(179,138,67,.12)}textarea{min-height:100px;resize:vertical}label{font-size:12px;font-weight:800;color:#35414c;display:block}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.form-grid .full{grid-column:1/-1}
.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}.page-head h1{font:700 30px Georgia,serif;margin:3px 0 6px}.page-head p{margin:0;color:var(--muted);max-width:760px}.actions{display:flex;flex-wrap:wrap;gap:8px}.grid{display:grid;gap:16px}.grid.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.two{grid-template-columns:1.25fr .75fr}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 4px 15px rgba(8,26,42,.035);padding:18px}.card h2,.card h3{margin:0}.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.card-title{font:700 18px Georgia,serif}.stat{padding:18px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.stat .value{font-size:29px;font-weight:900;margin:7px 0 2px}.stat .label{font-size:12px;color:var(--muted)}.stat .trend{font-size:11px;color:var(--green);margin-top:7px}.accent-line{border-top:3px solid var(--gold)}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:11px;background:#fff}table{width:100%;border-collapse:collapse;font-size:13px}th{background:#f6f8f9;color:#66717c;text-align:left;font-size:10px;letter-spacing:.08em;text-transform:uppercase}th,td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top}tr:last-child td{border-bottom:0}tr:hover td{background:#fbfcfc}.badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800;background:#eef2f4;color:#4e5a65}.badge.green{background:#e9f6f1;color:var(--green)}.badge.red{background:#fbebec;color:var(--red)}.badge.amber{background:#fff2de;color:var(--amber)}.badge.blue{background:#e9f1fb;color:var(--blue)}.badge.gold{background:#f7f0df;color:#826323}
.kv{display:grid;grid-template-columns:150px 1fr;gap:8px;font-size:13px}.kv div:nth-child(odd){color:var(--muted)}.progress{height:7px;border-radius:99px;background:#e8ecef;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold2));border-radius:99px}.list{display:flex;flex-direction:column;gap:9px}.list-item{border:1px solid var(--line);border-radius:10px;padding:12px;background:#fff}.list-item strong{display:block;margin-bottom:4px}.split{display:flex;align-items:center;justify-content:space-between;gap:12px}.empty{padding:44px 20px;text-align:center;border:1px dashed #cbd3d9;border-radius:12px;color:var(--muted);background:#fafbfb}.empty .big{font-size:38px;display:block;margin-bottom:8px}
.upload-zone{border:2px dashed #cbd3d9;border-radius:13px;padding:28px;text-align:center;background:#fafbfb}.upload-zone.drag{border-color:var(--gold);background:#fffaf0}.upload-zone input{display:none}.file-icon{font-size:28px}.doc-row{display:grid;grid-template-columns:40px 1.4fr .7fr .7fr .7fr auto;align-items:center;gap:12px;padding:12px;border-bottom:1px solid var(--line)}.doc-row:last-child{border-bottom:0}.doc-meta{font-size:11px;color:var(--muted);margin-top:3px}
.chat-layout{display:grid;grid-template-columns:1fr 330px;gap:16px}.chat-panel{height:calc(100vh - 215px);min-height:540px;display:flex;flex-direction:column}.chat-messages{flex:1;overflow:auto;padding:5px}.message{max-width:88%;padding:13px 14px;border-radius:12px;margin:9px 0;white-space:pre-wrap;line-height:1.5;font-size:13px}.message.user{margin-left:auto;background:var(--navy2);color:#fff;border-bottom-right-radius:3px}.message.assistant{background:#f4f6f8;border:1px solid var(--line);border-bottom-left-radius:3px}.chat-input{display:grid;grid-template-columns:1fr auto;gap:9px;margin-top:10px}.chat-input textarea{min-height:54px;max-height:150px}.source-card{padding:10px;border:1px solid var(--line);border-radius:9px;margin-bottom:8px;background:#fff}.source-card b{font-size:12px}.source-card p{font-size:11px;color:var(--muted);margin:5px 0 0;line-height:1.4}
.timeline{position:relative;padding-left:26px}.timeline:before{content:"";position:absolute;left:7px;top:4px;bottom:4px;width:2px;background:#dde3e7}.timeline-item{position:relative;padding:0 0 18px}.timeline-item:before{content:"";position:absolute;left:-24px;top:4px;width:12px;height:12px;border:3px solid var(--gold);background:#fff;border-radius:50%}.timeline-date{font-size:11px;font-weight:850;color:var(--gold)}.timeline-title{font-weight:800;margin:3px 0}.timeline-desc{font-size:12px;color:var(--muted)}
.risk-score{font-size:38px;font-weight:900}.risk-matrix{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.risk-cell{aspect-ratio:1.3;border-radius:7px;display:grid;place-items:center;font-size:11px;font-weight:850;background:#eef2f4}.risk-cell.low{background:#e8f5ef;color:#24775c}.risk-cell.medium{background:#fff0d9;color:#9b681e}.risk-cell.high{background:#fae2e4;color:#9f3f45}.draft-output{min-height:430px;white-space:pre-wrap;background:#fbfcfc;border:1px solid var(--line);border-radius:10px;padding:18px;line-height:1.6;font-family:Georgia,serif}.metric-row{display:grid;grid-template-columns:130px 1fr 45px;gap:10px;align-items:center;font-size:12px;margin:10px 0}.money{font-variant-numeric:tabular-nums;font-weight:800}.positive{color:var(--green)}.negative{color:var(--red)}
.modal-backdrop{position:fixed;z-index:100;inset:0;background:rgba(3,12,19,.62);display:grid;place-items:center;padding:20px}.modal-card{width:min(760px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:16px;box-shadow:0 30px 100px rgba(0,0,0,.35);padding:20px}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.modal-head h2{font:700 23px Georgia,serif;margin:0}.toast{position:fixed;z-index:200;right:22px;bottom:22px;background:var(--navy);color:#fff;padding:12px 16px;border-radius:10px;box-shadow:var(--shadow);font-size:13px}.alert{padding:11px 13px;border-radius:9px;font-size:12px}.alert.danger{background:#fff1f1;color:#a53c42;border:1px solid #efc5c7}.alert.info{background:#eef5fb;color:#285e8f;border:1px solid #c8dced}.alert.warning{background:#fff8e8;color:#80601f;border:1px solid #ead8a8}.alert.success{background:#ecf7f2;color:#237258;border:1px solid #c5e3d7}.tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);margin-bottom:16px}.tabs button{border:0;background:transparent;padding:10px 12px;border-bottom:2px solid transparent;color:var(--muted);font-weight:800}.tabs button.active{color:var(--ink);border-color:var(--gold)}.mobile-only{display:none}
@media(max-width:1100px){.grid.stats{grid-template-columns:repeat(2,1fr)}.grid.two,.chat-layout{grid-template-columns:1fr}.chat-panel{height:auto;min-height:600px}.grid.three{grid-template-columns:1fr 1fr}.top-actions .btn{display:none}}
@media(max-width:780px){.app-shell{display:block}.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0)}.main{margin:0}.topbar{padding:0 14px}.mobile-only{display:block}.case-picker-wrap select{min-width:0;max-width:210px}.page{padding:18px 14px}.grid.stats,.grid.two,.grid.three,.form-grid{grid-template-columns:1fr}.page-head{flex-direction:column}.doc-row{grid-template-columns:35px 1fr auto}.doc-row>div:nth-child(n+3):not(:last-child){display:none}.top-actions{gap:2px}.avatar{display:none}.kv{grid-template-columns:110px 1fr}}
