:root{--navy:#12372A;--teal:#4F7A5A;--gold:#B68B2E;--cream:#F3EEDF;--light:#EAF3E6;--ink:#0f172a;--muted:#64748b;--line:#dbe3ec;--bg:#F7F4EC;--red:#dc2626;--amber:#f59e0b;--green:#16a34a;--blue:#7A4E2D;--purple:#6B5B95}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}.app{min-height:100vh;display:flex}.sidebar{width:248px;background:var(--navy);color:#fff;padding:24px 16px;display:flex;flex-direction:column;flex:0 0 auto;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;margin-bottom:26px}.brand img{width:58px;height:58px;object-fit:contain;background:#fff;border-radius:8px;padding:4px}.brand b{font:800 20px Georgia,serif;display:block;letter-spacing:.5px}.brand span{font:400 9px Arial;color:#94a3b8;line-height:1.3;display:block;margin-top:2px}.nav{display:flex;flex-direction:column;gap:3px}.navsec{font-size:9px;letter-spacing:2px;color:#64748b;margin:17px 0 5px;font-weight:700}.nav a{color:#cbd5e1;text-decoration:none;font-size:12px;padding:10px 11px;border-radius:8px;display:flex;align-items:center;gap:10px;cursor:pointer}.nav a i{font-style:normal;color:#5eead4;width:16px;text-align:center}.nav a:hover{background:#123354}.nav a.active{background:var(--teal);color:#fff}.nav a.active i{color:#fff}.sidefoot{margin-top:auto;border-top:1px solid #1e3a5f;padding-top:14px}.user{display:flex;align-items:center;gap:9px}.avatar{width:32px;height:32px;border-radius:50%;background:var(--teal);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:11px}.user b{font-size:11px;display:block}.user span{font-size:9px;color:#94a3b8}.logout{margin-top:10px;background:transparent;border:1px solid #334155;color:#cbd5e1;border-radius:7px;padding:6px 9px;font-size:10px}.tiny{font-size:8px;color:#64748b;margin-top:9px}.main{flex:1;padding:24px 30px 40px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.eyebrow{font-size:9px;letter-spacing:3px;color:var(--teal);font-weight:800}.topbar h1{font:800 27px Georgia,serif;color:var(--navy);margin:4px 0 0}.sub{font-size:11px;color:var(--muted);margin-top:4px}.top-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.chip{background:#fff;border:1px solid var(--line);border-radius:20px;padding:8px 12px;font-size:10px;color:#475569;white-space:nowrap}.chip b{color:var(--teal)}.live{width:7px;height:7px;border-radius:50%;background:var(--green);display:inline-block;margin-right:5px}.btn{background:#fff;border:1px solid var(--line);border-radius:7px;padding:9px 13px;font-size:10px;color:#334155}.btn.primary{background:var(--navy);color:#fff;border-color:var(--navy)}.btn.teal{background:var(--teal);color:#fff;border-color:var(--teal)}.btn.danger{background:#fee2e2;color:#991b1b;border-color:#fecaca}.btn:hover{filter:brightness(1.05)}.view{max-width:1500px}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.kpi{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;box-shadow:0 2px 8px rgba(15,23,42,.04)}.kpi .l{font-size:9px;letter-spacing:1px;color:var(--muted);text-transform:uppercase;font-weight:700}.kpi .v{font:800 26px Arial;color:var(--navy);margin-top:6px}.kpi .v span{font-size:12px;color:var(--teal)}.kpi .d{font-size:9px;color:var(--muted);margin-top:3px}.kpi.red .v{color:#b91c1c}.kpi.gold .v{color:#92400e}.grid{display:grid;grid-template-columns:1.55fr 1fr;gap:14px;margin-bottom:14px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;box-shadow:0 2px 8px rgba(15,23,42,.04);min-width:0}.panel h2{font:800 13px Arial;margin:0;color:var(--navy)}.panel .hint{font-size:9px;color:var(--muted);margin-top:3px}.topline{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.network{position:relative;min-height:360px}.network svg{width:100%;height:340px;display:block}.network-lg svg{height:520px}.network text{font-family:Arial}.table{width:100%;border-collapse:collapse;margin-top:10px}.table th{font-size:8px;color:var(--muted);text-align:left;padding:7px 5px;border-bottom:1px solid #e2e8f0;text-transform:uppercase;letter-spacing:.5px}.table td{font-size:9px;padding:8px 5px;border-bottom:1px solid #f1f5f9;color:#334155;vertical-align:top}.table td b{color:var(--navy)}.table tr:hover td{background:#f8fafc}.score{display:inline-block;min-width:22px;text-align:center;border-radius:5px;padding:2px 4px;font-weight:800;font-size:8px}.s5{background:#fee2e2;color:#991b1b}.s4{background:#ffedd5;color:#9a3412}.s3{background:#fef3c7;color:#92400e}.s2{background:#dcfce7;color:#166534}.s1{background:#dcfce7;color:#166534}.tag{display:inline-block;background:#e0f2fe;color:#0b3b8c;border-radius:4px;padding:1px 4px;font-size:8px;margin-left:3px}.heat{display:grid;grid-template-columns:24px repeat(5,1fr);gap:3px;margin-top:12px}.heat .lab{font-size:7px;color:var(--muted);display:flex;align-items:center;justify-content:center}.heat .h{font-size:7px;color:var(--muted);text-align:center}.heat .cell{height:38px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:var(--navy)}.feed{display:flex;flex-direction:column;gap:8px;margin-top:10px}.feed .item{border-left:3px solid var(--teal);background:#f8fafc;padding:8px 9px;border-radius:4px}.feed .item b{font-size:9px;color:var(--navy)}.feed .item span{display:block;font-size:8px;color:var(--muted);margin-top:2px}.feed .item.red{border-color:var(--red)}.feed .item.amber{border-color:var(--amber)}.callout{background:#f8fafc;border:1px solid var(--line);border-radius:8px;padding:11px;margin-top:12px;font-size:9px;color:#334155;line-height:1.55}.callout b{color:var(--navy)}.assistant-mini{margin-top:12px}.assistant-mini .row{display:flex;gap:6px;margin-top:8px}.assistant-mini input{flex:1;border:1px solid var(--line);border-radius:7px;padding:9px;font-size:10px;min-width:0}.assistant-answer{font-size:9px;line-height:1.55;color:#334155;margin-top:9px;min-height:30px}.chat{display:flex;flex-direction:column;height:calc(100vh - 240px);min-height:430px;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.chat-head{padding:13px 16px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.chat-body{flex:1;padding:16px;overflow:auto;background:#f8fafc}.msg{max-width:78%;padding:10px 12px;border-radius:10px;font-size:11px;line-height:1.55;margin-bottom:9px}.msg.user{margin-left:auto;background:var(--navy);color:#fff}.msg.bot{background:#fff;border:1px solid var(--line);color:#334155;white-space:pre-wrap}.msg .src{display:block;font-size:8px;color:var(--muted);margin-top:6px}.chat-input{display:flex;gap:8px;padding:10px;border-top:1px solid var(--line);background:#fff}.chat-input input{flex:1;border:1px solid var(--line);border-radius:8px;padding:10px;font-size:11px}.chat-input button{background:var(--teal);border:0;color:#fff;border-radius:8px;padding:0 16px;font-weight:700}.register-tools{display:flex;gap:8px;justify-content:space-between;align-items:center;margin-bottom:10px}.register-tools input{border:1px solid var(--line);border-radius:7px;padding:8px 10px;font-size:10px;width:220px}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px}.table-wrap .table{margin:0}.table-wrap .table th{position:sticky;top:0;background:#f8fafc;z-index:1}.execgrid{display:grid;grid-template-columns:1.55fr 1fr;gap:14px;margin-bottom:14px}.healthcard{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.healthcard .l{font-size:10px;color:var(--muted);font-weight:700}.healthcard .r{font:800 22px Arial;color:var(--navy);text-align:right}.healthcard .r small{display:block;font:700 9px Arial;color:var(--muted);margin-top:2px}.ratingbar{height:8px;background:#e2e8f0;border-radius:5px;overflow:hidden;margin-top:6px;width:120px;margin-left:auto}.ratingbar i{display:block;height:8px;border-radius:5px}.progress{height:10px;background:#e2e8f0;border-radius:5px;overflow:hidden}.progress i{display:block;height:10px;background:var(--teal)}.scenario{display:grid;grid-template-columns:300px 1fr;gap:14px}.control label{display:block;font-size:9px;font-weight:700;color:#475569;margin:12px 0 5px}.control input{width:100%;accent-color:var(--teal)}.control .val{float:right;color:var(--teal);font-weight:800}.control .run{background:var(--teal);color:#fff;border-radius:8px;padding:11px;text-align:center;font-weight:800;font-size:10px;margin-top:18px;cursor:pointer}.barbox{display:flex;flex-direction:column;gap:8px;margin-top:12px}.bar{display:grid;grid-template-columns:120px 1fr 60px;gap:8px;align-items:center;font-size:9px;color:#475569}.bar .track{height:10px;background:#e2e8f0;border-radius:5px;overflow:hidden}.bar .fill{height:10px;border-radius:5px;background:var(--teal)}.bar .n{text-align:right;font-weight:800;color:var(--navy)}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.four{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.risk-form{display:flex;flex-direction:column;gap:9px}.risk-form label{font-size:9px;font-weight:700;color:#475569;display:flex;flex-direction:column;gap:4px}.risk-form input,.risk-form select,.risk-form textarea{border:1px solid var(--line);border-radius:6px;padding:8px;font-size:11px;width:100%;background:#fff}.modal-wrap{position:fixed;inset:0;background:rgba(15,23,42,.55);display:none;align-items:flex-start;justify-content:center;padding:30px;z-index:50;overflow:auto}.modal-wrap.open{display:flex}.modal{background:#fff;border-radius:14px;width:min(760px,100%);padding:20px;box-shadow:0 20px 60px rgba(15,23,42,.3)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.modal-head h2{font:800 20px Georgia,serif;margin:2px 0 0;color:var(--navy)}.iconbtn{border:0;background:#f1f5f9;width:30px;height:30px;border-radius:7px;color:#475569;font-size:14px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.empty{background:#fff;border:1px dashed var(--line);border-radius:10px;padding:20px;color:var(--muted);font-size:11px;text-align:center}.login-body{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#07131f 0%,#0b2545 55%,#0f766e 100%);padding:20px}.login-card{background:#fff;border-radius:16px;padding:30px;width:min(410px,100%);box-shadow:0 20px 60px rgba(0,0,0,.3)}.login-logo{width:110px;display:block;margin-bottom:16px}.login-card h1{font:900 36px Georgia,serif;color:var(--navy);margin:5px 0 8px}.login-card p{font-size:11px;color:var(--muted);line-height:1.55}.login-card form{display:flex;flex-direction:column;gap:12px;margin-top:16px}.login-card label{font-size:10px;font-weight:700;color:#475569;display:flex;flex-direction:column;gap:5px}.login-card input{border:1px solid var(--line);border-radius:7px;padding:10px;font-size:12px}.login-card .btn{width:100%;padding:11px;border:0;border-radius:7px;font-weight:700}.msg{font-size:10px;color:#991b1b;min-height:16px}.login-foot{font-size:8px;color:var(--muted);border-top:1px solid var(--line);padding-top:12px;margin-top:16px}.login-card .btn.primary{background:var(--teal);color:#fff}.login-card .btn.primary:hover{filter:brightness(1.08)}
@media(max-width:1100px){.sidebar{width:210px}.main{padding:18px}.kpis{grid-template-columns:repeat(2,1fr)}.grid,.grid2,.execgrid,.scenario{grid-template-columns:1fr}.network-lg svg{height:400px}.topbar{flex-direction:column}.top-actions{justify-content:flex-start}.chat{height:60vh}}
@media(max-width:720px){.app{flex-direction:column}.sidebar{width:100%;height:auto;position:relative;padding:14px}.brand{margin-bottom:10px}.nav{display:grid;grid-template-columns:1fr 1fr;gap:2px}.navsec{display:none}.sidefoot{display:none}.main{padding:14px}.kpis{grid-template-columns:1fr 1fr}.two,.four{grid-template-columns:1fr 1fr}.register-tools{flex-direction:column;align-items:stretch}.register-tools input{width:100%}.topbar h1{font-size:23px}.table{font-size:8px}.scenario{display:block}.chat{height:65vh}}

/* CRMS earth accents */
.sidebar{background:#12372A}.brand img{background:#F3EEDF}.nav a.active{background:#4F7A5A}
.main{background:var(--bg)}.topbar h1{color:#12372A}.eyebrow{color:#6B8F71}
.kpi{border-color:#DDE5D5}.kpi .v{color:#12372A}.panel{border-color:#DDE5D5;background:#FFFDF7}
.login-body{background:linear-gradient(135deg,#071b13 0%,#12372A 55%,#4F7A5A 100%)}
.login-card .btn.primary{background:#4F7A5A}
@media print { .sidebar,.topbar,.top-actions,.btn,.chip,.iconbtn{display:none!important} .app{display:block}.main{padding:0;background:#fff}.view{max-width:none}.panel{break-inside:avoid;box-shadow:none;border-color:#dbe3d4}.kpis{break-inside:avoid}body{background:#fff}}
