:root{--bg: #0f1419;--panel: #1a2029;--panel-2: #222b36;--border: #2d3742;--text: #e6edf3;--muted: #8b98a5;--accent: #4c9aff;--green: #3fb950;--amber: #d29922;--red: #f85149;--crit: #da3633}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:14px}a{color:var(--accent);text-decoration:none}button{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:7px 14px;cursor:pointer;font-size:13px}button.secondary{background:var(--panel-2);color:var(--text);border:1px solid var(--border)}button:disabled{opacity:.5;cursor:not-allowed}input,select{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:8px 10px;font-size:13px}.shell{display:flex;min-height:100vh}.sidebar{width:210px;background:var(--panel);border-right:1px solid var(--border);padding:18px 12px;display:flex;flex-direction:column;gap:4px}.brand{font-size:20px;font-weight:700;padding:6px 10px 16px;letter-spacing:.5px}.brand small{display:block;font-size:11px;color:var(--muted);font-weight:400;letter-spacing:0}.nav{overflow-y:auto}.nav a{padding:6px 10px 6px 20px;border-radius:6px;color:var(--muted);display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:13px}.nav a.active,.nav a:hover{background:var(--panel-2);color:var(--text)}.badge{background:var(--red);color:#fff;border-radius:10px;font-size:10px;font-weight:700;padding:0 6px;min-width:16px;height:16px;line-height:16px;text-align:center}.dot{width:8px;height:8px;border-radius:50%;background:var(--accent);display:inline-block;flex-shrink:0}.nav-group{margin-bottom:2px}.nav-group-header{width:100%;background:none;border:none;color:var(--muted);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;text-align:left}.nav-group-header:hover{color:var(--text)}.nav-group-header>span:first-child{flex:1;text-align:left}.nav-group-header .chev{font-size:10px;flex-shrink:0}.spacer{flex:1}.userbox{font-size:12px;color:var(--muted);padding:8px 10px;border-top:1px solid var(--border)}.userbox b{color:var(--text)}.main{flex:1;padding:26px 32px;overflow:auto}h1{font-size:22px;margin:0 0 4px}h2{font-size:16px;margin:24px 0 10px}.sub{color:var(--muted);margin:0 0 18px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:16px}.card .k{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.card .v{font-size:26px;font-weight:700;margin-top:6px}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:600}.panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;overflow:hidden}.pill{padding:2px 8px;border-radius:20px;font-size:11px;font-weight:600}.rag-green{background:#3fb95026;color:var(--green)}.rag-amber{background:#d2992226;color:var(--amber)}.rag-red{background:#f8514926;color:var(--red)}.sev-critical{color:var(--crit);font-weight:700}.sev-high{color:var(--red)}.sev-medium{color:var(--amber)}.sev-low,.sev-info{color:var(--muted)}.pass{color:var(--green)}.fail{color:var(--red)}.login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh}.login{width:340px}.login .card{padding:26px}.login input{width:100%;margin-bottom:12px}.login button{width:100%}.error{color:var(--red);font-size:13px;margin:8px 0}.notice{color:var(--amber);font-size:13px;margin-bottom:14px;padding:8px 10px;background:#d299221f;border:1px solid rgba(210,153,34,.3);border-radius:6px}.sso-sep{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;margin:14px 0}.sso-sep:before,.sso-sep:after{content:"";flex:1;height:1px;background:var(--border)}.sso-btn{display:block;text-align:center;padding:9px;border:1px solid var(--border);border-radius:8px;color:var(--text);text-decoration:none;background:var(--panel-2)}.sso-btn:hover{border-color:var(--accent)}.report-btn-group{display:inline-flex;gap:2px}.report-btn-group button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.report-btn-group button:last-child{border-top-left-radius:0;border-bottom-left-radius:0;padding:8px 10px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.report-html{background:#fff;color:#111;padding:20px;border-radius:8px;overflow:auto}.report-html table{color:#111}.report-html th,.report-html td{border-color:#ccc}.muted{color:var(--muted)}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.help{position:relative;display:inline-flex;margin-left:7px;vertical-align:middle;cursor:help;outline:none}.help-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--panel-2);border:1px solid var(--border);color:var(--muted);font-size:11px;font-style:italic;font-weight:700}.help:hover .help-icon,.help:focus .help-icon{color:var(--accent);border-color:var(--accent)}.help-tip{position:fixed;top:0;left:0;width:260px;max-width:calc(100vw - 12px);background:#000;color:var(--text);border:1px solid var(--border);border-radius:8px;padding:9px 11px;font-size:12px;font-weight:400;line-height:1.5;font-style:normal;opacity:0;transition:opacity .12s;z-index:1000;pointer-events:none;box-shadow:0 6px 20px #00000080;text-align:left;white-space:normal}h1 .help,h2 .help{font-size:13px}.manual{max-width:820px}.manual h2{border-bottom:1px solid var(--border);padding-bottom:6px}.manual ol,.manual ul{line-height:1.7}.manual code{background:var(--panel-2);padding:1px 5px;border-radius:4px;font-size:12px}.step{background:var(--panel);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:8px;padding:12px 16px;margin:10px 0}.step b{color:var(--accent)}.checkbox-row{display:flex;align-items:center;gap:8px}.checkbox-row input{width:auto}.chat-layout{display:flex;gap:16px;height:calc(100vh - 190px)}.thread-list{width:240px;overflow-y:auto;flex-shrink:0}.assistant-avatar{width:100%;max-width:180px;display:block;margin:0 auto 12px;border-radius:12px}.thread-item{display:flex;align-items:center;gap:6px;padding:9px 11px;border:1px solid var(--border);border-radius:8px;margin-bottom:6px;cursor:pointer}.thread-item:hover{background:var(--panel-2)}.thread-item.active{border-color:var(--accent);background:var(--panel)}.thread-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.thread-del{background:none;border:none;color:var(--muted);cursor:pointer;font-size:18px;line-height:1;padding:0 4px;flex-shrink:0}.thread-del:hover{color:var(--red)}.chat-main{flex:1;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--panel)}.chat-messages{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:12px}.bubble{max-width:78%;padding:11px 14px;border-radius:12px;line-height:1.5}.bubble.user{align-self:flex-end;background:var(--accent);color:#fff}.bubble.assistant{align-self:flex-start;background:var(--panel-2);border:1px solid var(--border)}.bubble-role{font-size:11px;opacity:.7;margin-bottom:3px}.bubble-meta{font-size:11px;color:var(--muted);margin-top:8px;border-top:1px solid var(--border);padding-top:6px}.chat-input{display:flex;gap:10px;padding:12px;border-top:1px solid var(--border)}.chat-input input{flex:1}.bubble-actions{display:flex;gap:12px;margin-top:8px}.linkbtn{background:none;border:none;color:var(--accent);padding:0;font-size:12px;cursor:pointer}.linkbtn:hover{text-decoration:underline}.md{line-height:1.55}.md>*:first-child{margin-top:0}.md>*:last-child{margin-bottom:0}.md h1{font-size:18px;margin:14px 0 8px}.md h2{font-size:16px;margin:14px 0 6px}.md h3{font-size:14px;margin:12px 0 6px}.md p{margin:8px 0}.md ul,.md ol{margin:8px 0;padding-left:20px}.md li{margin:3px 0}.md code{background:#ffffff14;padding:1px 5px;border-radius:4px;font-size:12px}.md pre{background:#00000040;padding:10px 12px;border-radius:8px;overflow-x:auto}.md pre code{background:none;padding:0}.md table{width:auto;margin:8px 0}.md th,.md td{border:1px solid var(--border);padding:5px 9px}.md a{color:var(--accent)}.md blockquote{border-left:3px solid var(--border);margin:8px 0;padding-left:12px;color:var(--muted)}.md strong{color:var(--text)}.bubble.user .md code,.bubble.user .md pre{background:#0003}
