:root{--ink:#161616;--muted:#6d6d6d;--line:#e7e5e1;--paper:#fbfaf8;--white:#fff;--orange:#f4a61d;--blue:#5267d8;--green:#298b68;--red:#c95555;--shadow:0 18px 50px rgba(25,23,20,.08)}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}button,textarea,input{font:inherit}.hidden{display:none!important}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% 10%,#fff4df 0,transparent 32%),#f4f1eb}.login-card{width:min(470px,100%);background:#fff;padding:46px;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}.login-logo{width:128px;height:64px;object-fit:contain;object-position:left}.login-card h1{font-size:44px;line-height:1.05;letter-spacing:-.045em;margin:18px 0}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:800;color:#9a6710;margin:0 0 8px}.muted{color:var(--muted);line-height:1.55}.error{color:var(--red);min-height:22px}.app{min-height:100vh;display:grid;grid-template-columns:248px 1fr}.sidebar{height:100vh;position:sticky;top:0;background:#151515;color:#fff;padding:28px 18px;display:flex;flex-direction:column}.logo{width:112px;height:58px;object-fit:contain;filter:invert(1);mix-blend-mode:screen;margin:0 12px 36px}.sidebar nav{display:grid;gap:7px}.nav-item{border:0;background:transparent;color:#aaa;text-align:left;padding:13px 14px;border-radius:10px;cursor:pointer;display:flex;gap:12px;align-items:center}.nav-item:hover,.nav-item.active{background:#2a2927;color:#fff}.nav-item.active span{color:var(--orange)}.sidebar-foot{margin-top:auto;border-top:1px solid #333;padding:18px 10px 0}.user-chip{display:flex;gap:10px;align-items:center}.user-chip>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--orange);color:#111;font-weight:800}.user-chip strong,.user-chip small{display:block;max-width:145px;overflow:hidden;text-overflow:ellipsis}.user-chip small{font-size:11px;color:#999;margin-top:2px}.text-button{background:transparent;border:0;color:#aaa;padding:12px 0 0;cursor:pointer}.view{display:none;min-height:100vh}.active-view{display:flex;flex-direction:column}.topbar{padding:32px 42px 24px;background:rgba(251,250,248,.94);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:3;backdrop-filter:blur(10px)}.topbar h2{font-size:28px;letter-spacing:-.03em;margin:0}.status-pill{background:#eef7f2;color:#2b765b;border:1px solid #d4ebdf;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:700}.conversation{width:min(920px,calc(100% - 48px));margin:0 auto;padding:42px 0 24px;flex:1}.assistant-message{display:flex;gap:14px;max-width:720px}.spark{width:34px;height:34px;border-radius:10px;background:#1a1a1a;color:var(--orange);display:grid;place-items:center;flex:0 0 auto}.assistant-message p{color:var(--muted);line-height:1.6;margin:7px 0}.composer-wrap{width:min(920px,calc(100% - 48px));margin:0 auto 30px}.composer{background:#fff;border:1px solid #dedbd5;border-radius:18px;box-shadow:0 10px 35px rgba(23,20,17,.07);overflow:hidden}.composer textarea{width:100%;border:0;outline:0;resize:vertical;padding:20px 22px;min-height:125px;line-height:1.5}.composer-actions{border-top:1px solid #eeeae4;padding:12px 14px;display:flex;justify-content:space-between;align-items:center}.attach{cursor:pointer;color:#555;font-weight:650;font-size:14px}.attach input{display:none}.attach span{font-size:21px;vertical-align:-1px;margin-right:4px}.primary,.secondary{border:0;border-radius:10px;padding:11px 16px;font-weight:750;cursor:pointer}.primary{background:#191919;color:#fff}.primary:hover{background:#333}.primary:disabled{opacity:.5;cursor:wait}.secondary{background:#fff;border:1px solid var(--line)}.privacy-note{text-align:center;color:#999;font-size:11px}.file-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.file-chip{background:#fff;border:1px solid var(--line);border-radius:9px;padding:7px 10px;font-size:12px}.result{margin-top:32px;display:grid;gap:16px}.analysis-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px}.analysis-head{display:flex;justify-content:space-between;gap:16px}.severity{padding:6px 10px;border-radius:999px;font-size:11px;font-weight:800;text-transform:uppercase}.severity.low{background:#eef7f2;color:#287858}.severity.medium{background:#fff4d8;color:#8d6416}.severity.high,.severity.critical{background:#fdeaea;color:#9c3434}.analysis-card h3{margin:0 0 12px;font-size:17px}.analysis-card ul{padding-left:18px;color:#4c4c4c;line-height:1.55}.draft-box{white-space:pre-wrap;background:#f8f7f4;border-radius:10px;padding:16px;line-height:1.55}.approval-row{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}.report-body,.history-wrap{padding:30px 42px 50px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.metric{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.metric span{font-size:12px;color:var(--muted)}.metric strong{display:block;font-size:30px;margin-top:8px;letter-spacing:-.04em}.chart-grid,.report-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:18px;margin-bottom:18px}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.panel-head h3{margin:0;font-size:16px}.panel-head span{font-size:11px;color:var(--muted)}canvas{width:100%;max-height:280px}.rank-list,.finding-list{display:grid;gap:12px}.rank-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.rank-row small{color:var(--muted)}.bar{grid-column:1/-1;height:6px;background:#efede8;border-radius:5px;overflow:hidden}.bar i{display:block;height:100%;background:var(--orange);border-radius:5px}.finding{border-left:3px solid var(--orange);padding-left:13px}.finding strong{display:block;font-size:13px}.finding p{margin:5px 0;font-size:12px;line-height:1.45;color:var(--muted)}.signal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}.signal{border:1px solid var(--line);border-radius:10px;padding:12px}.signal strong,.signal span{display:block}.signal span{font-size:11px;color:var(--muted);margin-top:4px}.small{font-size:12px}.search{border:1px solid var(--line);border-radius:10px;padding:10px 13px;width:270px;background:#fff}.history-list{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}.history-row{padding:16px 18px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:110px 1fr auto;gap:16px;align-items:center}.history-row:last-child{border-bottom:0}.history-row time,.history-row span{font-size:12px;color:var(--muted)}.history-row strong{font-size:14px}.toast{position:fixed;right:24px;bottom:24px;background:#191919;color:#fff;padding:13px 16px;border-radius:10px;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s;z-index:20}.toast.show{opacity:1;transform:none}@media(max-width:900px){.app{grid-template-columns:82px 1fr}.sidebar{padding:22px 12px}.logo{width:56px;margin:0 0 30px}.nav-item{font-size:0;justify-content:center}.nav-item span{font-size:18px}.user-chip div,.text-button{display:none}.metric-grid{grid-template-columns:repeat(2,1fr)}.chart-grid,.report-grid{grid-template-columns:1fr}.signal-grid{grid-template-columns:repeat(2,1fr)}.topbar,.report-body,.history-wrap{padding-left:24px;padding-right:24px}}@media(max-width:620px){.app{display:block}.sidebar{height:auto;position:fixed;bottom:0;top:auto;width:100%;z-index:10;flex-direction:row;padding:8px}.sidebar .logo,.sidebar-foot{display:none}.sidebar nav{grid-template-columns:repeat(3,1fr);width:100%}.nav-item{font-size:10px;flex-direction:column;gap:3px;padding:7px}.view{padding-bottom:72px}.topbar{padding:20px}.status-pill{display:none}.conversation,.composer-wrap{width:calc(100% - 28px)}.metric-grid{grid-template-columns:1fr 1fr}.signal-grid{grid-template-columns:1fr 1fr}.history-row{grid-template-columns:1fr}.search{width:150px}.login-card{padding:30px}.login-card h1{font-size:35px}}
