body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--bg:#080c14;--surface:#0d1424;--surface2:#111c30;--border:#1e2d47;--border2:#2a3f5f;--cyan:#00d4ff;--cyan-dim:#09b;--green:#0f8;--green-dim:#0a5;--amber:#ffb830;--amber-dim:#c80;--red:#f46;--text:#c8daf0;--text-dim:#7090b0;--text-mute:#f2f5f8;--heading:#fff;--card-bg:#0d1424;--card-bg2:#111c30;--nav-solid:#080c14f7;--grid-color:#2e4a6a;--font-mono:"JetBrains Mono","Fira Mono","Courier New",monospace;--font-display:"Syne","Inter",sans-serif;--font-body:"Inter",sans-serif;--radius:0.625rem;--radius-sm:0.375rem}[data-theme=light]{--bg:#f0f4f8;--surface:#fff;--surface2:#dde7f2;--border:#b8ccdf;--border2:#8aacc8;--cyan:#005f8a;--cyan-dim:#046;--green:#063;--green-dim:#042;--amber:#7a4e00;--amber-dim:#5a3800;--red:#b50020;--text:#0e2035;--text-dim:#2d4d68;--text-mute:#4a6888;--heading:#060f1a;--card-bg:#fff;--card-bg2:#dde7f2;--nav-solid:#f0f4f8f7;--grid-color:#b8ccdf}*{box-sizing:border-box;margin:0;padding:0}body{background:#080c14;background:var(--bg);color:#c8daf0;color:var(--text);font-family:Inter,sans-serif;font-family:var(--font-body);min-height:100vh;overflow-x:hidden}body:before{background-image:linear-gradient(#2e4a6a .0625rem,#0000 0),linear-gradient(90deg,#2e4a6a .0625rem,#0000 0);background-image:linear-gradient(var(--grid-color) .0625rem,#0000 .0625rem),linear-gradient(90deg,var(--grid-color) .0625rem,#0000 .0625rem);background-size:2.5rem 2.5rem;content:"";inset:0;opacity:.12;pointer-events:none;position:fixed;transform:translateZ(0);will-change:transform;z-index:0}#root{position:relative;z-index:1}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes fadeUp{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}@keyframes scan{0%{transform:translateX(-105%)}50%{transform:translateX(0)}to{transform:translateX(105%)}}@keyframes shimmer{to{transform:translateX(200%)}}:root{--sidebar-w:15rem;--sidebar-w-coll:3.875rem;--topbar-h:3.25rem}.app-layout{background:#080c14;background:var(--bg);display:flex;flex:1 1;min-height:0}.app-shell{display:flex;flex-direction:column;min-height:100vh}.sidebar-wrap-desktop{flex-shrink:0;transition:width .25s ease;width:15rem;width:var(--sidebar-w)}.sidebar-is-collapsed .sidebar-wrap-desktop{width:3.875rem;width:var(--sidebar-w-coll)}.sidebar-wrap-mobile{animation:slideInLeft .22s ease both;inset:0 auto 0 0;position:fixed;width:15rem;width:var(--sidebar-w);z-index:500}@keyframes slideInLeft{0%{transform:translateX(-100%)}to{transform:translateX(0)}}.sidebar-backdrop{animation:fadeIn .18s ease;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#040812a6;inset:0;position:fixed;z-index:499}.sidebar{background:#0d1424;background:var(--surface);border-right:1px solid #1e2d47;border-right:1px solid var(--border);display:flex;flex-direction:column;height:calc(100vh - 3.25rem);height:calc(100vh - var(--topbar-h));overflow:hidden;position:sticky;top:3.25rem;top:var(--topbar-h);transition:width .25s ease;width:15rem;width:var(--sidebar-w)}.sidebar.collapsed{width:3.875rem;width:var(--sidebar-w-coll)}.sidebar-header{align-items:center;border-bottom:1px solid #1e2d47;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;gap:.5rem;height:3.25rem;height:var(--topbar-h);justify-content:flex-end;padding:0 .75rem}.sidebar.collapsed .sidebar-header{justify-content:center;padding:0}.brand-name{color:#fff;color:var(--heading);font-family:Syne,Inter,sans-serif;font-family:var(--font-display);font-size:1.2rem;font-weight:700;letter-spacing:-.01em;overflow:hidden;white-space:nowrap}.brand-name span{color:#00d4ff;color:var(--cyan)}.sidebar-close-btn,.sidebar-collapse-btn{align-items:center;background:#0000;border:1px solid #1e2d47;border:1px solid var(--border);border-radius:.375rem;border-radius:var(--radius-sm);color:#7090b0;color:var(--text-dim);cursor:pointer;display:flex;flex-shrink:0;height:1.75rem;justify-content:center;transition:border-color .15s,color .15s,background .15s;width:1.75rem}.sidebar-close-btn:hover,.sidebar-collapse-btn:hover{background:#111c30;background:var(--surface2);border-color:#2a3f5f;border-color:var(--border2);color:#c8daf0;color:var(--text)}.sidebar-close-btn svg,.sidebar-collapse-btn svg{height:1rem;width:1rem}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:.2rem;overflow-x:hidden;overflow-y:auto;padding:.75rem .5rem}.sidebar-link{align-items:center;border-radius:.375rem;border-radius:var(--radius-sm);color:#7090b0;color:var(--text-dim);display:flex;font-family:Inter,sans-serif;font-family:var(--font-body);font-size:.875rem;font-weight:500;gap:.75rem;overflow:hidden;padding:.6rem .75rem;position:relative;text-decoration:none;transition:color .15s,background .15s;white-space:nowrap}.sidebar-link:hover{background:#111c30;background:var(--surface2);color:#c8daf0;color:var(--text)}.sidebar-link.active{background:#00d4ff14;color:#00d4ff;color:var(--cyan)}[data-theme=light] .sidebar-link.active{background:#005f8a12}.sidebar-link-icon{align-items:center;display:flex;flex-shrink:0;height:1.25rem;justify-content:center;width:1.25rem}.sidebar-link-icon svg{height:1.125rem;width:1.125rem}.sidebar-link-label{align-items:center;display:flex;gap:.3rem;overflow:hidden;text-overflow:ellipsis}.sidebar-link-indicator{background:#00d4ff;background:var(--cyan);border-radius:0 2px 2px 0;bottom:20%;left:0;position:absolute;top:20%;width:.1875rem}.sidebar.collapsed .sidebar-link{justify-content:center;padding:.6rem}.sidebar-footer{border-top:1px solid #1e2d47;border-top:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;gap:.25rem;padding:.5rem .5rem .75rem}.sidebar-logout-icon,.sidebar-theme-btn{align-items:center;background:#0000;border:none;border-radius:.375rem;border-radius:var(--radius-sm);color:#7090b0;color:var(--text-dim);cursor:pointer;display:flex;font-family:Inter,sans-serif;font-family:var(--font-body);font-size:.875rem;font-weight:500;gap:.75rem;overflow:hidden;padding:.6rem .75rem;text-align:left;transition:color .15s,background .15s;white-space:nowrap;width:100%}.sidebar-logout-icon:hover,.sidebar-theme-btn:hover{background:#111c30;background:var(--surface2);color:#c8daf0;color:var(--text)}.sidebar.collapsed .sidebar-logout-icon,.sidebar.collapsed .sidebar-theme-btn{justify-content:center;padding:.6rem}.sidebar-logout-icon svg,.sidebar-theme-btn svg{flex-shrink:0;height:1.125rem;width:1.125rem}.sidebar-user{align-items:center;border-top:1px solid #1e2d47;border-top:1px solid var(--border);display:flex;gap:.5rem;justify-content:space-between;margin-top:.15rem;padding:.5rem .75rem .25rem}.sidebar-user-name{color:#7090b0;color:var(--text-dim);font-family:JetBrains Mono,Fira Mono,Courier New,monospace;font-family:var(--font-mono);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-content{display:flex;flex:1 1;flex-direction:column;min-width:0}.topbar{align-items:center;-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);background:#0d1424;background:var(--surface);border-bottom:1px solid #1e2d47;border-bottom:1px solid var(--border);display:flex;gap:.75rem;height:3.25rem;height:var(--topbar-h);padding:0 1rem;position:sticky;top:0;z-index:200}.topbar-menu-btn{align-items:center;background:#0000;border:1px solid #1e2d47;border:1px solid var(--border);border-radius:.375rem;border-radius:var(--radius-sm);color:#7090b0;color:var(--text-dim);cursor:pointer;display:none;flex-shrink:0;height:2rem;justify-content:center;transition:border-color .15s,color .15s;width:2rem}.topbar-menu-btn:hover{border-color:#2a3f5f;border-color:var(--border2);color:#c8daf0;color:var(--text)}.topbar-menu-btn svg{height:1rem;width:1rem}.topbar-brand{flex:1 1;font-size:1.1rem}.topbar-right{align-items:center;display:flex;gap:.5rem;margin-left:auto}.topbar-theme-btn{align-items:center;background:#111c30;background:var(--surface2);border:1px solid #1e2d47;border:1px solid var(--border);border-radius:.375rem;border-radius:var(--radius-sm);color:#7090b0;color:var(--text-dim);cursor:pointer;display:flex;height:2rem;justify-content:center;transition:border-color .15s,color .15s;width:2rem}.topbar-theme-btn:hover{border-color:#2a3f5f;border-color:var(--border2);color:#c8daf0;color:var(--text)}.topbar-theme-btn svg{height:1rem;width:1rem}.topbar-user{align-items:center;display:flex;gap:.4rem}.topbar-developer-link{align-items:center;border:1px solid #1e2d47;border:1px solid var(--border);border-radius:.375rem;border-radius:var(--radius-sm);color:#7090b0;color:var(--text-dim);display:flex;font-family:Inter,sans-serif;font-family:var(--font-body);font-size:.8rem;font-weight:500;gap:.375rem;padding:.22rem .65rem;text-decoration:none;transition:color .15s,border-color .15s,background .15s;white-space:nowrap}.topbar-developer-link:hover{background:#00d4ff0f;border-color:#00d4ff;border-color:var(--cyan);color:#00d4ff;color:var(--cyan)}.topbar-developer-link svg{flex-shrink:0;height:.9rem;width:.9rem}.app-main{flex:1 1;padding:2rem}.app-footer{align-items:center;border-top:.0625rem solid #1e2d47;border-top:.0625rem solid var(--border);color:#f2f5f8;color:var(--text-mute);display:flex;font-family:JetBrains Mono,Fira Mono,Courier New,monospace;font-family:var(--font-mono);font-size:.6875rem;justify-content:space-between;letter-spacing:.04em;padding:.9rem 1.25rem}.user-greeting{font-family:JetBrains Mono,Fira Mono,Courier New,monospace;font-family:var(--font-mono);font-size:.78rem}.logout-btn,.user-greeting{color:#7090b0;color:var(--text-dim);white-space:nowrap}.logout-btn{background:#0000;border:1px solid #1e2d47;border:1px solid var(--border);border-radius:.375rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.75rem;padding:.18rem .55rem;transition:border-color .15s,color .15s}.logout-btn:hover{border-color:#f46;border-color:var(--red);color:#f46;color:var(--red)}@media (max-width:56rem){.sidebar-wrap-desktop{display:none}.topbar-menu-btn{display:flex}.topbar-right{display:none}.app-main{padding:1rem}.stat-grid{grid-template-columns:1fr 1fr}.compliance-grid{grid-template-columns:1fr}.detector-name{font-size:.625rem;width:8rem}.card{padding:1rem}.section-row{gap:1rem;margin-bottom:1.25rem}.audit-table-wrap{overflow-x:visible}.audit-table thead{display:none}.audit-table,.audit-table tbody,.audit-table tr{display:block;width:100%}.audit-table tr{background:#0d1424;background:var(--card-bg);border:.0625rem solid #1e2d47;border:.0625rem solid var(--border);border-radius:.375rem;border-radius:var(--radius-sm);box-shadow:0 1px 3px #0000001f;margin-bottom:.875rem;padding:.25rem}.audit-table td{align-items:flex-start;border-bottom:.0625rem solid #1e2d4766;display:flex;font-size:1rem!important;gap:.75rem;justify-content:space-between;line-height:1.5;overflow:visible;padding:.55rem .75rem;white-space:normal}.audit-table td:last-child{border-bottom:none}.audit-table td:before{color:#7090b0;color:var(--text-dim);content:attr(data-label);flex-shrink:0;font-family:JetBrains Mono,Fira Mono,Courier New,monospace;font-family:var(--font-mono);font-size:.8125rem;font-weight:600;letter-spacing:.04em;padding-top:.15rem;text-transform:uppercase;width:7.5rem}}@media (max-width:30rem){.stat-grid{grid-template-columns:1fr}.page-title{font-size:1.2rem}.section-title{font-size:.9rem}.topbar-user .user-greeting{display:none}.audit-table td{font-size:.9375rem!important}.audit-table td:before{font-size:.75rem;width:6.5rem}}.app-loading{align-items:center;background:#080c14;background:var(--bg);display:flex;flex-direction:column;gap:1rem;height:100vh;justify-content:center}.app-loading h1{color:#00d4ff;color:var(--cyan);font-family:Syne,Inter,sans-serif;font-family:var(--font-display);font-size:2rem}.app-loading p{color:#7090b0;color:var(--text-dim);font-family:JetBrains Mono,Fira Mono,Courier New,monospace;font-family:var(--font-mono);font-size:.85rem}.error-message{background:#ff446614;border:.0625rem solid #ff44664d;border-radius:.625rem;border-radius:var(--radius);color:#f46;color:var(--red);padding:2rem;text-align:center}.error-message h2{font-family:Syne,Inter,sans-serif;font-family:var(--font-display);margin-bottom:.75rem}.pulse-dot{animation:pulse 2s ease-in-out infinite;background:#0f8;background:var(--green);border-radius:50%;box-shadow:0 0 .5rem #0f8;box-shadow:0 0 .5rem var(--green);display:inline-block;height:.4375rem;width:.4375rem}::-webkit-scrollbar{width:.375rem}::-webkit-scrollbar-track{background:#0d1424;background:var(--surface)}::-webkit-scrollbar-thumb{background:#2a3f5f;background:var(--border2);border-radius:.1875rem}.compliance-page,.dashboard-page,.reports-page{animation:fadeUp .4s ease both}.page-title{color:#fff;color:var(--heading);font-family:Syne,Inter,sans-serif;font-family:var(--font-display);font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.page-subtitle{color:#7090b0;color:var(--text-dim);font-size:.85rem;margin-bottom:1.75rem}.stat-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(12.5rem,1fr));margin-bottom:1.75rem}.stat-card{background:#0d1424;background:var(--card-bg);border:.0625rem solid #1e2d47;border:.0625rem solid var(--border);border-radius:.625rem;border-radius:var(--radius);contain:layout style;min-height:7.25rem;overflow:hidden;padding:1.25rem 1.5rem;position:relative;transition:border-color .2s}.stat-card:hover{border-color:#2a3f5f;border-color:var(--border2)}.stat-label{color:#f2f5f8;color:var(--text-mute);font-family:JetBrains Mono,Fira Mono,Courier New,monospace;font-family:var(--font-mono);font-size:.625rem;letter-spacing:.08em;margin-bottom:.5rem;text-transform:uppercase}.stat-value{color:#fff;color:var(--heading);font-family:Syne,Inter,sans-serif;font-family:var(--font-display);font-size:2rem;font-weight:700;line-height:1}.stat-value.cyan{color:#00d4ff;color:var(--cyan)}.stat-value.green{color:#0f8;color:var(--green)}.stat-value.amber{color:#ffb830;color:var(--amber)}.stat-value.red{color:#f46;color:var(--red)}.stat-sub{color:#7090b0;color:var(--text-dim);font-family:JetBrains Mono,Fira Mono,Courier New,monospace;font-family:var(--font-mono);font-size:.6875rem;margin-top:.35rem}.stat-accent{animation:scan 4s ease-in-out infinite;background:linear-gradient(90deg,#0000,#00d4ff,#0000);background:linear-gradient(90deg,#0000,var(--cyan),#0000);bottom:0;height:.125rem;left:0;position:absolute;right:0;will-change:transform}.stat-accent.green{background:linear-gradient(90deg,#0000,#0f8,#0000);background:linear-gradient(90deg,#0000,var(--green),#0000)}.stat-accent.amber{background:linear-gradient(90deg,#0000,#ffb830,#0000);background:linear-gradient(90deg,#0000,var(--amber),#0000)}.stat-accent.red{background:linear-gradient(90deg,#0000,#f46,#0000);background:linear-gradient(90deg,#0000,var(--red),#0000)}.section-row{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:1.75rem}.card{background:#0d1424;background:var(--card-bg);border:.0625rem solid #1e2d47;border:.0625rem solid var(--border);border-radius:.625rem;border-radius:var(--radius);padding:1.5rem}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.section-title{color:#fff;color:var(--heading);font-family:Syne,Inter,sans-serif;font-family:var(--font-display);font-size:1rem;font-weight:600}.section-badge{background:#111c30;background:var(--surface2);border:.0625rem solid #1e2d47;border:.0625rem solid var(--border);border-radius:1.25rem;color:#f2f5f8;color:var(--text-mute);font-family:JetBrains Mono,Fira Mono,Courier New,monospace;font-family:var(--font-mono);font-size:.6875rem;padding:.125rem .625rem}.audit-table-wrap{overflow-x:hidden;width:100%}.audit-table{border-collapse:collapse;font-size:.9rem;table-layout:fixed;width:100%}.audit-table th{border-bottom:.0625rem solid #1e2d47;border-bottom:.0625rem solid var(--border);color:#f2f5f8;color:var(--text-mute);font-family:JetBrains Mono,Fira Mono,Courier New,monospace;font-family:var(--font-mono);font-size:.625rem;letter-spacing:.07em;overflow:hidden;padding:.6rem .75rem;text-align:left;text-transform:uppercase;white-space:nowrap}.audit-table td{border-bottom:.0625rem solid #1e2d4780;color:#c8daf0;color:var(--text);overflow:hidden;padding:.7rem .75rem;vertical-align:top}.audit-table tr:last-child td{border-bottom:none}.audit-table tr:hover td{background:#111c30;background:var(--surface2)}.score-badge{border-radius:.25rem;display:inline-block;font-family:JetBrains Mono,Fira Mono,Courier New,monospace;font-family:var(--font-mono);font-size:.6875rem;font-weight:600;padding:.125rem .5rem}.score-high{background:#00ff881f;border:.0625rem solid #00ff8840;color:#0f8;color:var(--green)}.score-mid{background:#ffb8301f;border:.0625rem solid #ffb83040;color:#ffb830;color:var(--amber)}.score-low{background:#ff44661f;border:.0625rem solid #ff446640;color:#f46;color:var(--red)}.sev-pill{border-radius:1.25rem;display:inline-block;font-family:JetBrains Mono,Fira Mono,Courier New,monospace;font-family:var(--font-mono);font-size:.625rem;font-weight:600;letter-spacing:.05em;padding:.125rem .5rem;text-transform:uppercase}.sev-critical{background:#ff446626;border:.0625rem solid #ff44664d;color:#f46;color:var(--red)}.sev-high{background:#dc351e29;border:.0625rem solid #dc351e59;color:#f53}.sev-medium{background:#00d4ff1f;border:.0625rem solid #00d4ff40;color:#00d4ff;color:var(--cyan)}.sev-low{background:#00ff881a;border:.0625rem solid #0f83;color:#0f8;color:var(--green)}.sev-none{background:#7090b01f;border:.0625rem solid #1e2d47;border:.0625rem solid var(--border);color:#7090b0;color:var(--text-dim)}.analysis-type-pill{border-radius:1rem;display:inline-block;font-family:JetBrains Mono,Fira Mono,Courier New,monospace;font-family:var(--font-mono);font-size:.625rem;font-weight:600;letter-spacing:.03em;padding:.25rem .625rem;white-space:nowrap}.type-prompt{background:#7c3aed26;border:.0625rem solid #7c3aed59;color:#a78bfa}.type-response{background:#00d4ff1f;border:.0625rem solid #00d4ff47;color:#00d4ff;color:var(--cyan)}.type-combined{background:#00ff881a;border:.0625rem solid #00ff8838;color:#0f8;color:var(--green)}.flag-pill{align-items:center;background:#f463;border:.0625rem solid #ff446673;border-radius:50%;color:#f46;color:var(--red);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:.625rem;height:1.125rem;justify-content:center;position:relative;transition:all .2s ease;width:1.125rem}.flag-pill:hover{background:#ff44664d;border-color:#f46;border-color:var(--red);transform:scale(1.1)}.flag-tooltip{background:#111c30;background:var(--surface2);border:.0625rem solid #2a3f5f;border:.0625rem solid var(--border2);border-radius:.375rem;box-shadow:0 .25rem .75rem #0006;color:#c8daf0;color:var(--text);font-family:JetBrains Mono,Fira Mono,Courier New,monospace;font-family:var(--font-mono);font-size:.625rem;left:50%;padding:.5rem .75rem;pointer-events:none;position:absolute;top:calc(100% + .375rem);transform:translateX(-50%);white-space:nowrap;z-index:9999}.flag-tooltip div{color:#ffb830;color:var(--amber);margin:.125rem 0}.flag-tooltip:before{border:.3125rem solid #0000;border-bottom:.3125rem solid var(--border2);bottom:100%;content:"";left:50%;position:absolute;transform:translateX(-50%)}.flag-tooltip-fixed{position:fixed;transform:translate(-50%,-100%);z-index:99999}.flag-tooltip-fixed:before{border:.3125rem solid #0000;border-bottom:none;border-top:.3125rem solid var(--border2);content:"";left:50%;position:absolute;top:100%;transform:translateX(-50%)}.prompt-preview{color:#7090b0;color:var(--text-dim);font-size:.875rem;line-height:1.55;white-space:pre-wrap;word-break:break-word}.prompt-preview,.see-more-btn{font-family:JetBrains Mono,Fira Mono,Courier New,monospace;font-family:var(--font-mono)}.see-more-btn{background:none;border:none;color:#00d4ff;color:var(--cyan);cursor:pointer;display:inline;font-size:.625rem;margin-left:.3125rem;padding:0;text-decoration:underline;text-underline-offset:.125rem}.see-more-btn:hover{opacity:.8}.txt-modal-overlay{align-items:flex-start;animation:fadeIn .12s ease;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);background:#020817b8;display:flex;inset:0;justify-content:center;padding:0;position:fixed;z-index:9999}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.txt-modal{animation:slideUp .16s cubic-bezier(.4,0,.2,1);background:#0d1424;background:var(--surface);border:.0625rem solid #1e2d47;border:.0625rem solid var(--border);border-radius:.625rem;box-shadow:0 1.5rem 4rem #0000008c,0 0 0 .0625rem #00d4ff14;display:flex;flex-direction:column;max-height:80vh;position:relative;width:min(56rem,92vw)}@keyframes slideUp{0%{opacity:0;transform:translateY(.75rem)}to{opacity:1;transform:translateY(0)}}.txt-modal-close{background:none;border:none;border-radius:.25rem;color:#f2f5f8;color:var(--text-mute);cursor:pointer;font-size:1rem;line-height:1;padding:.25rem .375rem;position:absolute;right:.875rem;top:.75rem;transition:color .15s,background .15s}.txt-modal-close:hover{background:#ffffff0f;color:#c8daf0;color:var(--text)}.txt-modal-body{color:#7090b0;color:var(--text-dim);font-size:.8125rem;line-height:1.7;margin:0;max-height:calc(80vh - 2rem);overflow-y:auto;padding:1.5rem 1.25rem;white-space:pre-wrap;word-break:break-word}.ts-cell,.txt-modal-body{font-family:JetBrains Mono,Fira Mono,Courier New,monospace;font-family:var(--font-mono)}.ts-cell{color:#f2f5f8;color:var(--text-mute);font-size:.6875rem;white-space:nowrap}.detector-row{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem}.detector-name-row{align-items:baseline;display:flex;gap:.5rem;justify-content:space-between}.detector-name{color:#7090b0;color:var(--text-dim);font-family:JetBrains Mono,Fira Mono,Courier New,monospace;font-family:var(--font-mono);font-size:.6875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detector-bar-row{align-items:center;display:flex;gap:.5rem;width:100%}.detector-bar-bg{background:#111c30;background:var(--surface2);flex:1 1;overflow:hidden;position:relative}.detector-bar-bg,.detector-bar-fill{border-radius:.1875rem;height:.375rem}.detector-bar-fill{background:#0f8;background:var(--green);left:0;position:absolute;top:0;transition:width .6s ease}.detector-bar-fill.warn{background:#ffb830;background:var(--amber)}.detector-bar-fill.alert{background:#f46;background:var(--red)}.detector-pct{color:#7090b0;color:var(--text-dim);flex-shrink:0;font-family:JetBrains Mono,Fira Mono,Courier New,monospace;font-family:var(--font-mono);font-size:.6875rem;text-align:right;width:2.5rem}.audit-row-clickable{cursor:pointer}.audit-row-clickable:hover td{background:#00d4ff0a}.audit-row-expanded td{background:#00d4ff0f!important;border-bottom:none!important}.expand-icon{color:#00d4ff;color:var(--cyan);flex-shrink:0;font-size:.5625rem;margin-top:.1875rem;opacity:.7;transition:opacity .15s}.audit-row-clickable:hover .expand-icon{opacity:1}.audit-detail-row td{border-bottom:.125rem solid #00d4ff2e!important;padding:0!important}.audit-detail-cell{background:#00d4ff08;padding:0!important}.detector-breakdown-panel{display:flex;flex-direction:column;gap:.875rem;padding:1rem 1.25rem}.lf-all-detectors{align-items:center;border-top:.0625rem solid #1e2d47;border-top:.0625rem solid var(--border);display:flex;flex-wrap:wrap;gap:.5rem;padding-top:.25rem}.lf-all-label{color:#f2f5f8;color:var(--text-mute);flex-shrink:0;font-family:JetBrains Mono,Fira Mono,Courier New,monospace;font-family:var(--font-mono);font-size:.5625rem;letter-spacing:.06em;text-transform:uppercase}.lf-all-chips{display:flex;flex-wrap:wrap;gap:.375rem}.lf-chip{border-radius:.25rem;font-family:JetBrains Mono,Fira Mono,Courier New,monospace;font-family:var(--font-mono);font-size:.625rem;padding:.125rem .5rem;white-space:nowrap}.lf-chip-ok{background:#ffffff0d;border:.0625rem solid #1e2d47;border:.0625rem solid var(--border);color:#7090b0;color:var(--text-dim)}.lf-chip-flagged{background:#ff446614;border:.0625rem solid #ff446640;color:#f46;color:var(--red)}.compliance-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(16.25rem,1fr));margin-bottom:1.75rem}.compliance-status{align-items:center;border-radius:1.25rem;display:inline-flex;font-family:JetBrains Mono,Fira Mono,Courier New,monospace;font-family:var(--font-mono);font-size:.75rem;font-weight:600;gap:.375rem;padding:.25rem .75rem}.status-compliant{background:#00ff881f;border:.0625rem solid #00ff8840;color:#0f8;color:var(--green)}.status-review{background:#ffb8301f;border:.0625rem solid #ffb83040;color:#ffb830;color:var(--amber)}.skeleton{background:#111c30;background:var(--surface2);border-radius:.25rem;overflow:hidden;position:relative}.skeleton:after{animation:shimmer 1.4s ease-in-out infinite;background:linear-gradient(90deg,#0000,#ffffff0f 50%,#0000);content:"";inset:0;position:absolute;transform:translateX(-100%);will-change:transform}.skeleton-line{height:1rem;margin-bottom:.5rem}.page-hidden .skeleton:after,.page-hidden .stat-accent{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.skeleton:after,.stat-accent{animation:none}}.page-loading{background:#080c14;background:var(--bg);min-height:100vh}.empty-state{color:#f2f5f8;color:var(--text-mute);padding:3rem 1.5rem;text-align:center}.empty-state p{font-family:JetBrains Mono,Fira Mono,Courier New,monospace;font-family:var(--font-mono);font-size:.82rem}.pagination{align-items:center;display:flex;gap:.5rem;justify-content:center;margin-top:1rem}.pag-btn{background:#111c30;background:var(--surface2);border:.0625rem solid #1e2d47;border:.0625rem solid var(--border);border-radius:.375rem;border-radius:var(--radius-sm);color:#7090b0;color:var(--text-dim);cursor:pointer;font-family:JetBrains Mono,Fira Mono,Courier New,monospace;font-family:var(--font-mono);font-size:.75rem;padding:.25rem .875rem;transition:all .15s}.pag-btn:hover:not(:disabled){border-color:#2a3f5f;border-color:var(--border2);color:#c8daf0;color:var(--text)}.pag-btn:disabled{cursor:not-allowed;opacity:.35}.pag-info{color:#f2f5f8;color:var(--text-mute);font-size:.6875rem;padding:0 .5rem}.live-badge,.pag-info{font-family:JetBrains Mono,Fira Mono,Courier New,monospace;font-family:var(--font-mono)}.live-badge{align-items:center;color:#0f8;color:var(--green);display:inline-flex;font-size:.625rem;gap:.3125rem;letter-spacing:.05em}.recharts-cartesian-axis-tick-value{fill:#7090b0!important;fill:var(--text-dim)!important;font-size:.6875rem}[data-theme=light] .score-high{background:#d6f0e2;border-color:#9fd8bc;color:#0f8;color:var(--green)}[data-theme=light] .score-mid{background:#fdefd0;border-color:#f0c97a;color:#ffb830;color:var(--amber)}[data-theme=light] .score-low,[data-theme=light] .sev-critical{background:#fdd8de;border-color:#f0939f;color:#f46;color:var(--red)}[data-theme=light] .sev-high{background:#ffe0d5;border-color:#d97060;color:#c0311e}[data-theme=light] .sev-medium{background:#d0eaf7;border-color:#8cc4e4;color:#00d4ff;color:var(--cyan)}[data-theme=light] .sev-low{background:#d6f0e2;border-color:#9fd8bc;color:#0f8;color:var(--green)}[data-theme=light] .sev-none{background:#111c30;background:var(--surface2);border-color:#1e2d47;border-color:var(--border);color:#7090b0;color:var(--text-dim)}[data-theme=light] .status-compliant{background:#d6f0e2;border-color:#9fd8bc;color:#0f8;color:var(--green)}[data-theme=light] .status-review{background:#fdefd0;border-color:#f0c97a;color:#ffb830;color:var(--amber)}[data-theme=light] .pulse-dot{background:#0f8;background:var(--green);box-shadow:0 0 .375rem #0f8;box-shadow:0 0 .375rem var(--green)}.pdf-export-btn{align-items:center;background:#00d4ff12;border:.0625rem solid #00d4ff66;border-radius:.375rem;border-radius:var(--radius-sm);color:#00d4ff;color:var(--cyan);cursor:pointer;display:inline-flex;font-family:JetBrains Mono,Fira Mono,Courier New,monospace;font-family:var(--font-mono);font-size:.6875rem;font-weight:600;gap:.5rem;letter-spacing:.05em;padding:.45rem 1rem;transition:all .18s ease}.pdf-export-btn:hover{background:#00d4ff24;border-color:#00d4ffb3;box-shadow:0 0 .75rem #00d4ff33}.pdf-export-icon{align-items:center;display:flex}.pdf-overlay{align-items:stretch;animation:fadeUp .22s ease both;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#040812e0;display:flex;inset:0;justify-content:center;position:fixed;z-index:9000}.pdf-overlay-panel{background:#0d1424;background:var(--surface);border:.0625rem solid #2a3f5f;border:.0625rem solid var(--border2);border-radius:12px;box-shadow:0 2rem 4rem #000000b3,0 0 0 1px #00d4ff14;display:flex;flex-direction:column;margin:1rem;max-width:900px;overflow:hidden;width:100%}.pdf-overlay-header{align-items:center;background:#111c30;background:var(--surface2);border-bottom:.0625rem solid #1e2d47;border-bottom:.0625rem solid var(--border);display:flex;flex-shrink:0;gap:1rem;justify-content:space-between;padding:.75rem 1.25rem}.pdf-overlay-title{align-items:center;color:#7090b0;color:var(--text-dim);display:flex;flex-wrap:wrap;font-family:JetBrains Mono,Fira Mono,Courier New,monospace;font-family:var(--font-mono);font-size:.7rem;gap:.75rem;letter-spacing:.04em}.pdf-overlay-verified{align-items:center;background:#00d4ff1a;border:.0625rem solid #00d4ff59;border-radius:4px;color:#00d4ff;color:var(--cyan);display:inline-flex;font-size:.6875rem;font-weight:700;gap:.3rem;letter-spacing:.08em;padding:.2rem .55rem;white-space:nowrap}.pdf-overlay-actions{align-items:center;display:flex;flex-shrink:0;gap:.5rem}.pdf-overlay-download{align-items:center;background:#00d4ff1a;border:.0625rem solid #00d4ff73;border-radius:.375rem;border-radius:var(--radius-sm);color:#00d4ff;color:var(--cyan);cursor:pointer;display:inline-flex;font-family:JetBrains Mono,Fira Mono,Courier New,monospace;font-family:var(--font-mono);font-size:.6875rem;font-weight:600;gap:.4rem;letter-spacing:.05em;padding:.4rem .9rem;transition:all .18s ease}.pdf-overlay-download:hover:not(:disabled){background:#00d4ff33;border-color:#00d4ff;border-color:var(--cyan)}.pdf-overlay-download:disabled{cursor:not-allowed;opacity:.55}.pdf-overlay-download.small{font-size:.65rem;padding:.3rem .7rem}.pdf-overlay-close{align-items:center;background:#0000;border:.0625rem solid #2a3f5f;border:.0625rem solid var(--border2);border-radius:.375rem;border-radius:var(--radius-sm);color:#7090b0;color:var(--text-dim);cursor:pointer;display:inline-flex;height:1.8rem;justify-content:center;transition:all .18s ease;width:1.8rem}.pdf-overlay-close:hover{background:#ff44661a;border-color:#f46;border-color:var(--red);color:#f46;color:var(--red)}.pdf-overlay-body{align-items:flex-start;background:#1a2035;display:flex;flex:1 1;justify-content:center;overflow-x:hidden;overflow-y:auto;padding:1.5rem}.pdf-overlay-loading{align-items:center;color:#7090b0;color:var(--text-dim);display:flex;flex-direction:column;font-family:JetBrains Mono,Fira Mono,Courier New,monospace;font-family:var(--font-mono);font-size:.8rem;gap:1rem;justify-content:center;min-height:300px}.pdf-page-wrapper{display:flex;justify-content:center;width:100%}.pdf-paper-shadow{border-radius:2px;box-shadow:0 4px 8px #00000080,0 16px 48px #0009,0 0 0 1px #ffffff14;display:inline-block;max-width:100%;position:relative}.pdf-preview-img{border-radius:2px;display:block;height:auto;max-width:100%}.pdf-verified-ribbon{align-items:center;background:#00bcd4eb;border-radius:3px 0 0 3px;box-shadow:-2px 2px 8px #0000004d;color:#fff;display:flex;font-size:8px;font-weight:800;gap:5px;letter-spacing:1.2px;padding:4px 10px 4px 8px;position:absolute;right:-2px;top:18px}.pdf-overlay-footer{align-items:center;background:#111c30;background:var(--surface2);border-top:.0625rem solid #1e2d47;border-top:.0625rem solid var(--border);display:flex;flex-shrink:0;gap:1rem;justify-content:space-between;padding:.6rem 1.25rem}.pdf-overlay-footer-note{align-items:center;color:#f2f5f8;color:var(--text-mute);display:flex;font-family:JetBrains Mono,Fira Mono,Courier New,monospace;font-family:var(--font-mono);font-size:.625rem;gap:.35rem;letter-spacing:.03em}@keyframes spin{to{transform:rotate(1turn)}}.pdf-spinner{animation:spin .7s linear infinite;border:2px solid #00d4ff40;border-radius:50%;border-top:2px solid var(--cyan);display:inline-block;height:14px;width:14px}.pdf-spinner.large{border-width:3px;height:36px;width:36px}.session-expiry-banner{align-items:center;animation:fadeSlideDown .3s ease;background:linear-gradient(90deg,#ffa0002e,#ff64001f);border-bottom:1px solid #ffa00073;color:#ffbe55;display:flex;flex-shrink:0;font-size:.85rem;font-weight:500;gap:1rem;justify-content:space-between;padding:.65rem 1.25rem;z-index:100}@keyframes fadeSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.session-expiry-actions{display:flex;flex-shrink:0;gap:.6rem}.session-expiry-stay{background:#ffa00026;border:1px solid #ffa00099;border-radius:6px;color:#ffbe55;cursor:pointer;font-size:.8rem;font-weight:600;padding:.3rem .85rem;transition:background .18s,border-color .18s}.session-expiry-stay:hover{background:#ffa00047;border-color:#ffa000e6}.session-expiry-logout{background:#0000;border:1px solid #ff464666;border-radius:6px;color:#ff7070;cursor:pointer;font-size:.8rem;font-weight:600;padding:.3rem .85rem;transition:background .18s,border-color .18s}.session-expiry-logout:hover{background:#ff46461f;border-color:#ff4646b3}.locale-selector{display:inline-block;position:relative}.locale-trigger{align-items:center;background:none;border:.0625rem solid var(--border);border-radius:7px;color:#7090b0;color:var(--text-dim,#7090b0);cursor:pointer;display:flex;font-family:JetBrains Mono,monospace;font-family:var(--font-mono,"JetBrains Mono",monospace);font-size:11px;font-weight:600;gap:6px;padding:.35rem .65rem;transition:border-color .2s,color .2s;white-space:nowrap}.locale-trigger:hover{border-color:#00d4ff;border-color:var(--cyan,#00d4ff);color:#e2e8f0;color:var(--text,#e2e8f0)}.locale-flag{font-size:15px;line-height:1}.locale-label{letter-spacing:.06em}.locale-chevron{font-size:8px;margin-left:2px;opacity:.5}.locale-dropdown{background:#0d1424;background:var(--bg-card,#0d1424);border:.0625rem solid var(--border);border-radius:8px;bottom:calc(100% + 6px);box-shadow:0 -.5rem 2rem #00000080;min-width:145px;overflow:hidden;position:absolute;right:0;z-index:400}.locale-option{align-items:center;background:#0000;border:none;color:#e2e8f0;color:var(--text,#e2e8f0);cursor:pointer;display:flex;font-family:JetBrains Mono,monospace;font-family:var(--font-mono,"JetBrains Mono",monospace);font-size:12px;gap:10px;padding:.55rem .9rem;text-align:left;transition:background .15s;width:100%}.locale-option:hover{background:#ffffff0d}.locale-option.active{background:#00d4ff14;color:#00d4ff;color:var(--cyan,#00d4ff)}.locale-option-label{font-weight:700;letter-spacing:.04em;min-width:22px}.locale-option-full{font-size:11px;opacity:.55}
/*# sourceMappingURL=main.3297e980.css.map*/