:root{font-family:DM Sans,system-ui,sans-serif;color:#17212b;background:#f3f5f3;font-synthesis:none;--navy:#0d1b2a;--navy2:#15283b;--ink:#17212b;--muted:#68737e;--line:#dde3e1;--surface:#fff;--teal:#167d72;--amber:#9a6513;--red:#b23b3b;--green:#287a58}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:var(--navy);color:#fff;padding:24px 14px 16px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:11px;padding:0 10px 25px}.brand-mark{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#d5e966;color:#17212b}.brand strong,.brand span{display:block}.brand strong{font-family:Manrope;font-size:18px}.brand span{font-size:12px;color:#a8b5c0}.sidebar nav{display:grid;gap:4px}.sidebar nav button{border:0;background:transparent;color:#aeb9c2;padding:10px 12px;border-radius:8px;display:flex;align-items:center;gap:11px;text-align:left;font-size:14px}.sidebar nav button:hover,.sidebar nav button.active{background:var(--navy2);color:#fff}.sidebar nav button.active{box-shadow:inset 3px 0 #d5e966}.user-card{margin-top:auto;padding:14px 8px 2px;border-top:1px solid #263b4e;display:flex;align-items:center;gap:9px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#284259;font-weight:700}.user-card div{min-width:0;flex:1}.user-card strong,.user-card span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.user-card span{color:#8fa0ae;font-size:10px;margin-top:2px}.icon-btn{border:0;background:transparent;color:inherit;display:grid;place-items:center;padding:7px;border-radius:7px}.icon-btn:hover{background:#ffffff15}.workspace{margin-left:248px;width:calc(100% - 248px);min-height:100vh}.workspace>header{height:68px;background:#fff;border-bottom:1px solid var(--line);padding:0 30px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}.workspace header span,.workspace header small{display:block}.workspace header span{font-weight:600}.workspace header small{color:var(--muted);font-size:11px;margin-top:2px}.header-state{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:7px}.live-dot{width:7px;height:7px;border-radius:50%;background:#42ad73;box-shadow:0 0 0 4px #42ad7320}.menu{display:none}.content{max-width:1500px;margin:auto;padding:32px}.page-title{display:flex;justify-content:space-between;gap:30px;align-items:flex-start;margin-bottom:24px}.eyebrow{letter-spacing:.14em;font-size:11px;font-weight:700;color:var(--teal);margin:0 0 7px}.page-title h1,.project-head h1{font:700 28px/1.2 Manrope;margin:0;color:#12202d}.page-title p,.project-head p{color:var(--muted);margin:7px 0 0;max-width:700px}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:18px}.stat{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 18px}.stat span{display:block;color:var(--muted);font-size:12px}.stat strong{font:700 25px Manrope;margin-top:7px;display:block}.stat.green{border-top:3px solid var(--green)}.stat.red{border-top:3px solid var(--red)}.stat.amber{border-top:3px solid #d3982f}.card{background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:20px;margin-bottom:16px;box-shadow:0 1px 2px #14202b08}.card h2{font:700 16px Manrope;margin:0 0 16px}.card h3{font-size:13px;margin:22px 0 10px}.card-heading{display:flex;justify-content:space-between;align-items:flex-start}.table-wrap{overflow:auto;margin:0 -4px}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:#75808a;font-size:11px;letter-spacing:.04em;text-transform:uppercase;padding:10px 12px;border-bottom:1px solid var(--line)}td{padding:13px 12px;border-bottom:1px solid #edf0ef;max-width:380px}tr:last-child td{border:0}tr.clickable:hover{background:#f7faf8}tr.clickable{cursor:pointer}.status{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:700;letter-spacing:.04em;padding:5px 7px;border-radius:99px;background:#eef1f1;color:#59636d;white-space:nowrap}.status span{width:6px;height:6px;border-radius:50%;background:currentColor}.status.good{color:#247451;background:#e9f5ef}.status.bad{color:#a43232;background:#faecec}.status.warn{color:#885b16;background:#faf1df}.secondary,.primary,.small,.back,.link{border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:7px}.primary{border:1px solid var(--navy);background:var(--navy);color:#fff;padding:11px 16px;font-weight:600}.primary:hover{background:#183149}.primary:disabled,.secondary:disabled,.small:disabled{opacity:.5;cursor:not-allowed}.secondary{border:1px solid var(--line);background:#fff;color:var(--ink);padding:9px 13px}.small{border:1px solid var(--line);background:#fff;padding:5px 9px;font-size:11px}.back,.link{border:0;background:transparent;color:var(--teal);padding:0}.back{margin-bottom:16px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.project-head{display:flex;justify-content:space-between;gap:24px;background:linear-gradient(125deg,#f7faf2,#fff);border:1px solid var(--line);padding:25px;border-radius:12px;margin-bottom:16px}.confidence{font-size:12px;text-align:right}.card dl,.drawer dl{display:grid;grid-template-columns:145px 1fr;gap:10px;margin:0}.card dt,.drawer dt{color:var(--muted);font-size:12px}.card dd,.drawer dd{margin:0;font-weight:500;font-size:13px}.tag-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.tag{background:#eef2f0;padding:5px 8px;border-radius:5px;font-size:10px}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin:22px 0 16px}.tabs button{border:0;background:none;padding:10px 14px;color:var(--muted);border-bottom:2px solid transparent}.tabs button.active{color:var(--ink);border-color:var(--teal);font-weight:600}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.criteria{padding:0;list-style:none}.criteria li{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid #edf0ef}.empty{display:grid;place-items:center;color:#87919a;padding:35px;text-align:center}.empty p{margin:8px}.loader{display:flex;align-items:center;gap:9px;color:var(--muted);padding:40px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-banner{display:flex;align-items:center;gap:9px;background:#fff0f0;border:1px solid #efcaca;color:#8c2c2c;padding:11px 13px;border-radius:8px;margin:10px 0}.error-banner span{flex:1}.error-banner button{background:none;border:0;text-decoration:underline;color:inherit}.ask-card form{display:grid;gap:15px}.ask-card label,.login-panel label{display:grid;gap:6px;font-size:12px;font-weight:600}.ask-card select,.ask-card textarea,.login-panel input{border:1px solid #ccd4d1;border-radius:8px;padding:11px 12px;background:#fff;color:var(--ink);width:100%}.ask-card textarea{resize:vertical}.answer-lead{font-size:17px;line-height:1.6}.answer-meta{display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);padding-top:14px;margin-top:14px;color:var(--muted);font-size:12px}.actions{display:flex;gap:5px}.notice{display:flex;gap:12px;padding:13px;background:#f1f7f5;border:1px solid #d4e9e3;border-radius:8px}.notice svg{color:var(--teal);flex:none}.notice strong{font-size:13px}.notice p{font-size:12px;color:var(--muted);margin:4px 0}.qr{display:grid;place-items:center;padding:18px;border:1px dashed #bcc8c4;border-radius:8px;margin:15px 0;text-align:center}.qr p{font-size:11px;color:var(--muted);max-width:280px}.meter{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #edf0ef;font-size:12px}pre{white-space:pre-wrap;word-break:break-word;background:#f5f7f6;padding:12px;border-radius:7px;font-size:11px}.drawer-backdrop{position:fixed;inset:0;background:#0d1b2a80;z-index:40}.drawer{position:absolute;right:0;top:0;bottom:0;width:min(500px,100%);background:#fff;padding:35px;overflow:auto;box-shadow:-15px 0 40px #0002}.drawer .close{position:absolute;right:16px;top:16px}.drawer blockquote{margin:24px 0;padding:18px;background:#f5f7f5;border-left:4px solid var(--teal);line-height:1.6}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(420px,620px) 1fr;background:#0d1b2a}.login-panel{background:#fff;padding:8vh clamp(35px,7vw,100px);display:flex;flex-direction:column;justify-content:center}.login-panel h1{font:700 clamp(34px,4vw,52px)/1.12 Manrope;margin:8px 0 15px;color:#0d1b2a}.login-panel>.muted{color:var(--muted);line-height:1.6;margin-bottom:30px}.login-panel form{display:grid;gap:15px}.security-note{font-size:11px;color:var(--muted);display:flex;gap:7px;align-items:center;margin-top:20px}.login-context{padding:10vw 8vw;color:#fff;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 80% 10%,#2e5b5b,#0d1b2a 55%)}.login-context .eyebrow{color:#d5e966}.login-context blockquote{font:600 clamp(28px,4vw,48px)/1.3 Manrope;margin:15px 0 35px;max-width:800px}.context-points{display:flex;gap:22px;flex-wrap:wrap;color:#b5c1ca}.context-points span{display:flex;align-items:center;gap:7px}.context-points svg{color:#d5e966;width:16px}.login-panel>.brand-mark{margin-bottom:28px}.upload-row,.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end}.upload-row input{border:1px solid var(--line);padding:9px;border-radius:8px}.small-text{font-size:11px}.muted{color:var(--muted)}.governance{margin-bottom:16px}.ask-card select{min-height:42px}@media(max-width:1050px){.stats{grid-template-columns:repeat(3,1fr)}.detail-grid,.cards,.login-shell{grid-template-columns:1fr}.login-context{display:none}}@media(max-width:760px){.sidebar{transform:translate(-100%);transition:.2s;overflow:auto}.sidebar.open{transform:none}.workspace{margin:0;width:100%}.menu{display:grid}.workspace>header{padding:0 16px}.content{padding:22px 15px}.stats{grid-template-columns:repeat(2,1fr)}.page-title,.project-head{display:block}.page-title button{margin-top:12px}.project-head>div+div{margin-top:16px}.confidence{text-align:left}.card{padding:15px}.card dl,.drawer dl{grid-template-columns:120px 1fr}.header-state{display:none}.upload-row,.form-grid{grid-template-columns:1fr}}
