:root{--bg: #f5f7fb;--panel: #ffffff;--ink: #151827;--muted: #6f7688;--line: #e6e8ef;--violet: #6557e8;--danger: #dd4456;--warning: #e49a30;--green: #1f9d72}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top left,#ebe8ff 0,transparent 32%),linear-gradient(180deg,#fbfcff 0%,var(--bg) 42%);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,textarea,select{font:inherit}.shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:240px;padding:28px 18px;background:linear-gradient(180deg,#111526,#171a2d);color:#c8cce0;display:flex;flex-direction:column;box-shadow:18px 0 45px #11182714}.brand{display:flex;align-items:center;gap:12px;color:#fff;font-weight:800;margin-bottom:36px}.brand-mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,#8879ff,#5143d4);font-size:12px}nav a{display:flex;gap:10px;align-items:center;padding:12px;border-radius:10px;margin-bottom:6px;font-weight:650}nav a.active,nav a:hover{background:#272b40;color:#fff}.side-card{margin-top:auto;padding:14px;border:1px solid #30354c;border-radius:12px;background:#202439;display:flex;gap:10px}.side-card strong,.side-card span{display:block}.side-card span{color:#8f96ad;font-size:12px;margin-top:3px}.pulse{width:9px;height:9px;border-radius:50%;background:#35d39b;box-shadow:0 0 0 6px #35d39b22;margin-top:4px}main{grid-column:2;padding:0 38px 48px;min-width:0}header{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:28px}header h1{margin:4px 0 0;font-size:20px}.eyebrow{color:#8990a4;font-size:11px;font-weight:800;letter-spacing:1.4px}.button{border:0;border-radius:10px;padding:10px 16px;font-weight:750;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.button.primary{background:linear-gradient(135deg,#7667ff,#5143d4);color:#fff;box-shadow:0 12px 26px #6557e844}.button.secondary{background:#eeecff;color:#5143d4}.button:disabled{opacity:.55;cursor:not-allowed}.page-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:24px}.page-head h2{font-size:31px;margin:4px 0 7px;letter-spacing:-.7px}.page-head p{margin:0;color:var(--muted)}.demo-kicker{display:inline-flex;align-items:center;gap:6px;color:#5b4ce0;background:#eeecff;border:1px solid #ddd8ff;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.7px}.updated{color:#168764;background:#e8f8f1;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:700}.panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 18px 50px #1118270a;min-width:0}.chat-layout{display:grid;grid-template-columns:230px minmax(0,1fr) 280px;gap:20px;align-items:start}.chat-panel{padding:0;overflow:hidden}.chat-messages{min-height:430px;max-height:60vh;overflow:auto;padding:26px;scroll-behavior:smooth}.message{display:flex;margin-bottom:14px}.message.user{justify-content:flex-end}.message.system{justify-content:center}.bubble{max-width:78%;border:1px solid var(--line);background:linear-gradient(180deg,#fff,#fbfcff);border-radius:18px;padding:15px 17px;box-shadow:0 12px 32px #11182712;animation:bubbleIn .22s ease-out}.message.user .bubble{background:linear-gradient(135deg,#7667ff,#5143d4);color:#fff;border-color:transparent}.message.system .bubble{background:#f0f2f8;color:var(--muted);text-align:center}.bubble p{white-space:pre-wrap;margin:0;line-height:1.55}.bubble small{display:block;margin-top:9px;color:inherit;opacity:.72}.finding-list{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.finding-list span{background:#fff0f2;color:var(--danger);border-radius:999px;padding:5px 8px;font-size:12px;font-weight:750}.badge-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:850;letter-spacing:.2px;text-transform:uppercase;white-space:nowrap}.badge.success{background:#e8f8f1;color:#147a59}.badge.danger{background:#ffedf0;color:#b72e42}.badge.warning{background:#fff5df;color:#a7620d}.badge.info{background:#e9f3ff;color:#286ea8}.badge.semantic{background:#eeeaff;color:#5547d1}.badge.muted{background:#f1f3f8;color:#6f7688}.badge.disabled{background:#ecebff;color:#4938a8;border:1px solid #cbc5ff}.composer{border-top:1px solid var(--line);padding:16px;background:#fbfcff}textarea,input{width:100%;resize:vertical;border:1px solid #dfe2ec;border-radius:12px;padding:13px;outline:none}input[type=checkbox]{width:auto}textarea:focus,input:focus,select:focus{border-color:var(--violet);box-shadow:0 0 0 3px #6557e81a}textarea:disabled,input:disabled,select:disabled{background:#f1f3f8;color:#8c93a6;cursor:not-allowed}.composer-actions{display:flex;justify-content:space-between;gap:12px;margin-top:12px}.selector-row{display:flex;gap:8px;flex-wrap:wrap}select{border:1px solid #dfe2ec;background:#fff;border-radius:10px;padding:10px 12px}.helper-panel h3,.panel h3{margin:0 0 14px}.helper-panel p{color:var(--muted);line-height:1.5}.sessions-panel{max-height:70vh;overflow:auto}.session-list{display:grid;gap:8px}.session-list button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:11px;text-align:left;cursor:pointer}.session-list button.active{border-color:#cfc8ff;background:#f3f1ff}.session-list b,.session-list span{display:block}.session-list b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-list span{color:var(--muted);font-size:11px;margin-top:4px}.prompt-chip{width:100%;border:1px solid #dfe2ec;background:#fff;padding:13px 14px;border-radius:12px;text-align:left;margin-bottom:8px;cursor:pointer;font-weight:750;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.prompt-chip:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 24px #1118270c}.prompt-chip b,.prompt-chip span{display:block}.prompt-chip span{color:var(--muted);font-size:12px;margin-top:3px;font-weight:600}.prompt-chip.safe{color:#147a59;background:#f4fcf8;border-color:#cceee0}.prompt-chip.danger{color:var(--danger);background:#fff6f7;border-color:#ffd8de}.prompt-chip.semantic{color:#5547d1;background:#f7f5ff;border-color:#ded9ff}.history>div{border-top:1px solid var(--line);padding:12px 0}.history b,.history span,.history small{display:block}.history span,.history small{color:var(--muted);font-size:12px;margin-top:3px}.admin-panel{max-width:760px}.admin-panel p{color:var(--muted);line-height:1.5}.admin-panel label{display:grid;gap:8px;margin-top:18px;font-weight:750}.danger-button{background:linear-gradient(135deg,#e05766,#b72e42)!important;box-shadow:0 12px 26px #dd445633!important}.reset-summary{margin-top:20px;border-top:1px solid var(--line);padding-top:18px}.reset-summary dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:14px 0 0}.reset-summary div{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fbfcff}.reset-summary dt{color:var(--muted);font-size:12px;font-weight:750}.reset-summary dd{margin:4px 0 0;font-size:22px;font-weight:850}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:18px}.stat{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;display:flex;gap:14px;align-items:center;min-height:104px;box-shadow:0 14px 36px #1118270a}.stat.hero{background:linear-gradient(135deg,#171a2d,#5143d4);color:#fff;border-color:transparent}.stat.hero .stat-icon{background:#ffffff20;color:#fff}.stat.hero span,.stat.hero small{color:#e2dfff}.stat-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:var(--violet);background:#eeecff;font-weight:900}.stat-icon.warning{background:#fff6df;color:var(--warning)}.stat-icon.danger{background:#ffedf0;color:var(--danger)}.stat-icon.success{background:#e8f8f1;color:var(--green)}.stat b,.stat span{display:block}.stat b{font-size:30px;line-height:1;letter-spacing:-.7px}.stat span{color:var(--muted);margin-top:4px}.stat small{color:#9aa1b3;font-size:12px;margin-top:3px;display:block}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}.recent-panel{grid-column:1 / -1}.simulator-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:18px;align-items:start}.simulator-form{display:grid;gap:12px}.policy-builder-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:18px;align-items:start}.policy-form{display:grid;gap:12px}.policy-form label span{display:block;color:var(--muted);font-size:12px;font-weight:800;margin-bottom:6px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end}.check-row{display:flex;align-items:center;gap:8px;min-height:44px}.check-row span{margin:0!important;color:var(--ink)!important}.row-actions{display:flex;gap:8px;justify-content:flex-end}.row-actions .button{padding:8px 10px}.sample-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.metric-row{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:12px 0}.stacked-row{align-items:center;gap:16px}.rule-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:12px 0}.rule-row b,.rule-row span{display:block}.rule-row div span{color:var(--muted);font-size:13px;margin-top:4px}.decision-summary{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin-bottom:14px}.decision-summary b{font-size:30px}.preview-box{white-space:pre-wrap;border:1px solid var(--line);border-radius:12px;padding:12px;background:#fafbff;color:var(--ink);overflow:auto}.metric-row span{color:var(--muted)}.responsive-table{display:grid;gap:8px;width:100%}.table-header,.table-row{display:grid;grid-template-columns:minmax(96px,.85fr) minmax(118px,1fr) minmax(180px,2fr) minmax(92px,.8fr) minmax(70px,.65fr) minmax(74px,.65fr) minmax(82px,.65fr);gap:10px;align-items:center}.table-header{color:var(--muted);font-size:10px;font-weight:850;letter-spacing:.8px;text-transform:uppercase;border-bottom:1px solid var(--line);padding:0 10px 10px}.table-row{border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff}.table-row>span{min-width:0}.request-preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}.button.compact{padding:7px 10px;font-size:12px}.detail-backdrop{position:fixed;inset:0;z-index:20;background:#11182766;display:grid;place-items:center;padding:20px}.detail-dialog{width:min(1080px,100%);max-height:min(860px,calc(100vh - 40px));overflow:auto;background:#fff;border-radius:18px;border:1px solid var(--line);box-shadow:0 28px 90px #11182733;padding:22px}.detail-head{display:flex;align-items:start;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:16px}.detail-head h3{margin:4px 0 0;font-size:22px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-card{border:1px solid var(--line);border-radius:12px;background:#fafbff;padding:14px;min-width:0}.detail-card.wide{grid-column:1 / -1}.detail-card h4{margin:0 0 8px;color:var(--muted);font-size:11px;letter-spacing:.7px;text-transform:uppercase}.detail-card p{margin:0;line-height:1.45}.detail-card small{display:block;color:var(--muted);line-height:1.45;margin-top:6px}.detail-card pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.45}.finding-detail{display:grid;gap:3px;border-top:1px solid var(--line);padding:9px 0}.finding-detail:first-of-type{border-top:0;padding-top:0}.finding-detail span{color:var(--muted)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:1100px}th,td{text-align:left;border-top:1px solid var(--line);padding:10px;font-size:13px}th{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.8px;background:#fafbff;position:sticky;top:0;z-index:1}td{vertical-align:middle}.empty{color:var(--muted);text-align:center;padding:22px!important}.spinner{width:16px;height:16px;border:2px solid #dfe2ec;border-top-color:var(--violet);border-radius:50%;display:inline-block;margin-right:8px;vertical-align:-3px;animation:spin .8s linear infinite}.typing{display:inline-flex;gap:5px;align-items:center;margin-right:8px}.typing i{width:7px;height:7px;border-radius:50%;background:var(--violet);animation:typing 1s ease-in-out infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}.bubble.loading{background:#f8f7ff;border-color:#ded9ff}.bubble.error{background:#fff5f6;border-color:#ffd8de;color:#9f2637}.dashboard-note{color:var(--muted);margin:-4px 0 18px}.preview{max-width:320px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.error-cell{max-width:220px;color:var(--muted)}.pill{border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}.pill.hit{background:#e8f8f1;color:var(--green)}.pill.miss{background:#f1f3f8;color:var(--muted)}.similarity{font-weight:850;color:var(--muted)}.similarity.hot{color:#5547d1;background:#eeeaff;padding:5px 8px;border-radius:999px}.duration{font-weight:850}.duration.fast{color:var(--green)}.duration.medium{color:var(--warning)}.duration.slow{color:var(--danger)}.duration.neutral{color:var(--muted)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes typing{0%,80%,to{transform:translateY(0);opacity:.35}40%{transform:translateY(-4px);opacity:1}}@keyframes bubbleIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:960px){.shell{grid-template-columns:1fr}.sidebar{position:static;width:auto}main{grid-column:1;padding:0 18px 32px}.chat-layout,.dashboard-grid,.simulator-layout,.policy-builder-layout,.form-grid,.sample-row,.stats{grid-template-columns:1fr}.table-header{display:none}.table-row{grid-template-columns:1fr;gap:8px}.table-row>span{display:flex;justify-content:space-between;gap:12px}.table-row>span:before{content:attr(data-label);color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.request-preview{white-space:normal}.detail-grid{grid-template-columns:1fr}}
