:root{--bg-color: #f4f7f9;--bg-main: #f4f7f9;--panel-bg: rgba(255, 255, 255, .92);--panel-bg-solid: #ffffff;--panel-border: #cfd9df;--surface-muted: #e9eef2;--surface-soft: #f7fafb;--grid-line: #dfe7ec;--text-main: #263238;--text-muted: #6d7980;--accent-cyan: #0e7490;--accent-purple: #9a651c;--danger: #c9181f;--success: #16825d;--warning: #9a651c;--font-heading: "Inter", system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif}:root[data-theme=dark]{--bg-color: #0f1417;--bg-main: #0f1417;--panel-bg: rgba(24, 31, 36, .92);--panel-bg-solid: #182027;--panel-border: rgba(210, 225, 235, .14);--surface-muted: #27323a;--surface-soft: #151c21;--grid-line: rgba(220, 235, 245, .12);--text-main: #e6edf1;--text-muted: #9aa8b0;--accent-cyan: #62c7dc;--accent-purple: #d6a55d;--danger: #ff6b6b;--success: #57d69a;--warning: #f2bd6b}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-color);color:var(--text-main);font-family:var(--font-body);-webkit-font-smoothing:antialiased;min-height:100vh}button,input,select,textarea{font:inherit}button:disabled{cursor:not-allowed;opacity:.6}h1,h2,h3,h4,h5,h6{color:var(--text-main);font-family:var(--font-heading);font-weight:800}h1{font-size:30px;line-height:1.1}code{background:var(--surface-muted);border-radius:4px;color:var(--accent-cyan);padding:2px 5px}.app-layout{display:flex;height:100vh;overflow:hidden}.app-content{flex:1;overflow-y:auto;padding:28px;width:100%}.sidebar{background:var(--panel-bg);border-right:1px solid var(--panel-border);display:flex;flex-direction:column;flex:0 0 252px;height:100vh;padding:28px 0}.brand-lockup{align-items:center;display:flex;gap:12px;padding:0 24px 34px}.brand-mark{align-items:center;background:var(--accent-cyan);color:#fff;display:flex;height:40px;justify-content:center;width:40px}.brand-lockup h2{color:var(--accent-cyan);font-size:22px;line-height:1}.brand-lockup span{color:var(--text-muted);font-size:11px;font-weight:800;text-transform:uppercase}.sidebar-nav{display:flex;flex:1;flex-direction:column;gap:6px;padding:0 12px}.sidebar-nav button{align-items:center;background:transparent;border:0;border-left:4px solid transparent;color:var(--text-muted);cursor:pointer;display:flex;gap:12px;padding:13px 12px;text-align:left;transition:background .2s,color .2s,border-color .2s}.sidebar-nav button.active{background:#0e749017;border-left-color:var(--accent-cyan);color:var(--accent-cyan);font-weight:800}.sidebar-footer{border-top:1px solid var(--panel-border);display:flex;flex-direction:column;gap:14px;margin:0 12px;padding-top:18px}.user-card{align-items:center;background:var(--surface-soft);display:flex;gap:10px;padding:12px}.avatar{align-items:center;background:var(--accent-cyan);color:#fff;display:flex;height:34px;justify-content:center;width:34px}.user-card strong,.user-card span{display:block}.user-card strong{font-size:13px}.user-card span{color:var(--text-muted);font-size:12px;overflow-wrap:anywhere}.sidebar-logout{align-items:center;background:transparent;border:1px solid var(--panel-border);border-radius:6px;color:var(--text-muted);cursor:pointer;display:flex;font-weight:800;gap:8px;justify-content:center;padding:10px 12px;transition:background .2s,color .2s}.sidebar-logout:hover{background:#c9181f14;color:var(--danger)}.workspace-page{margin:0;max-width:none;width:100%}.page-heading{align-items:flex-start;gap:18px;width:100%}.page-heading p{margin-top:6px}.panel,.glass-panel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:8px;box-shadow:0 8px 22px #111d2414;padding:22px}:root[data-theme=dark] .panel,:root[data-theme=dark] .glass-panel{box-shadow:0 14px 28px #00000042}.panel-title{align-items:center;color:var(--text-main);display:flex;font-size:18px;font-weight:800;gap:8px}.text-gradient{color:var(--accent-cyan)}.text-muted{color:var(--text-muted)}.text-cyan{color:var(--accent-cyan)}.text-purple{color:var(--accent-purple)}.text-danger{color:var(--danger)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.flex-row{align-items:center;display:flex}.flex-col{display:flex;flex-direction:column}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.items-center{align-items:center}.flex-wrap{flex-wrap:wrap}.grow{flex:1}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-5{gap:20px}.gap-6{gap:24px}.w-full{width:100%}.py-4{padding-bottom:16px;padding-top:16px}.py-10{padding-bottom:40px;padding-top:40px}.py-20{padding-bottom:80px;padding-top:80px}.text-center{text-align:center}.uppercase{text-transform:uppercase}.grid-cols-1{display:grid;grid-template-columns:1fr}.clickable{cursor:pointer}.btn-primary,.btn-secondary,.btn-icon{border-radius:6px;cursor:pointer;transition:background .2s,border-color .2s,color .2s,transform .2s}.btn-primary{align-items:center;background:var(--accent-cyan);border:1px solid var(--accent-cyan);color:#fff;display:flex;font-weight:800;justify-content:center;padding:11px 18px}.btn-primary:hover{background:#0a637c;border-color:#0a637c;transform:translateY(-1px)}:root[data-theme=dark] .btn-primary:hover{background:#48b8d0;border-color:#48b8d0;color:#0f1417}.btn-secondary{background:var(--panel-bg-solid);border:1px solid var(--panel-border);color:var(--text-main);font-weight:700;padding:10px 16px}.btn-secondary:hover{background:var(--surface-muted)}.btn-icon{align-items:center;background:var(--panel-bg-solid);border:1px solid var(--panel-border);color:var(--text-main);display:flex;height:38px;justify-content:center;padding:0;width:38px}.btn-icon:hover{background:var(--surface-muted)}.danger-icon{color:var(--danger)}.input-field{background:var(--panel-bg-solid);border:1px solid var(--panel-border);border-radius:6px;color:var(--text-main);padding:11px 13px;width:100%}.input-field:focus{border-color:var(--accent-cyan);box-shadow:0 0 0 3px #0e749024;outline:none}.auth-shell{align-items:center;background:var(--bg-main);display:flex;justify-content:center;min-height:100vh;padding:24px}.auth-panel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:8px;box-shadow:0 18px 42px #111d2429;max-width:440px;padding:28px;position:relative;width:100%}.auth-brand{align-items:center;display:flex;gap:12px;margin-bottom:28px}.auth-brand h1{color:var(--accent-cyan);font-size:28px}.auth-brand span{color:var(--text-muted);display:block;font-size:12px;font-weight:800;text-transform:uppercase}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-form h2{font-size:24px;margin-bottom:6px}.auth-switch{background:var(--surface-muted);border-radius:6px;display:grid;gap:4px;grid-template-columns:1fr 1fr;padding:4px}.auth-switch button{align-items:center;background:transparent;border:0;border-radius:4px;color:var(--text-muted);cursor:pointer;display:flex;font-weight:800;gap:8px;justify-content:center;padding:10px}.auth-switch button.active{background:var(--panel-bg-solid);color:var(--accent-cyan)}.field-group{display:flex;flex-direction:column;gap:7px}.field-group span{color:var(--text-muted);font-size:13px;font-weight:800}.auth-error{background:#c9181f17;border:1px solid rgba(201,24,31,.18);border-radius:6px;color:var(--danger);font-size:13px;font-weight:800;padding:11px 12px}.auth-notice{align-items:flex-start;background:#0e749017;border:1px solid rgba(14,116,144,.18);border-radius:6px;color:var(--accent-cyan);display:flex;font-size:13px;font-weight:800;gap:8px;line-height:1.45;padding:11px 12px}.auth-notice.subtle{color:var(--text-main);display:block;font-weight:700}.code-input-wrap{align-items:center;display:flex;position:relative}.code-input-wrap svg{color:var(--text-muted);left:13px;position:absolute}.code-input-wrap .input-field{font-size:20px;font-weight:800;letter-spacing:0;padding-left:42px}.auth-link-button{background:transparent;border:0;color:var(--accent-cyan);cursor:pointer;font-weight:800;padding:4px}.auth-submit{margin-top:4px;width:100%}.auth-theme{align-items:center;display:flex;justify-content:center;padding:10px;position:absolute;right:20px;top:20px;width:42px}.compact-input{min-width:150px;width:auto}.search-box{align-items:center;background:var(--panel-bg-solid);border:1px solid var(--panel-border);border-radius:6px;color:var(--text-muted);display:flex;gap:8px;min-width:260px;padding:9px 12px}.search-box input{background:transparent;border:0;color:var(--text-main);outline:0;width:100%}.modal-overlay{align-items:center;background:#0f1417a3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{max-width:520px;width:100%}.loader{animation:spin .9s linear infinite;border:3px solid var(--surface-muted);border-top-color:var(--accent-cyan);border-radius:50%;height:32px;width:32px}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}@keyframes pulseGlow{0%{box-shadow:0 0 #0e749040}70%{box-shadow:0 0 0 8px #0e749000}to{box-shadow:0 0 #0e749000}}.badge{border-radius:4px;display:inline-flex;font-size:11px;font-weight:800;letter-spacing:0;padding:4px 8px;text-transform:uppercase;width:fit-content}.badge-flash,.badge-low{background:#0e74901a;border:1px solid rgba(14,116,144,.18);color:var(--accent-cyan)}.badge-deep,.badge-medium,.badge-high{background:#9a651c1f;border:1px solid rgba(154,101,28,.2);color:var(--warning)}.badge-critical{background:#c9181f1c;border:1px solid rgba(201,24,31,.22);color:var(--danger)}.badge-low{color:var(--success)}.badge-high{color:var(--warning)}.badge-critical,.badge-urgent{color:var(--danger)}.severity-badge{align-items:center;gap:6px}.severity-badge:before{background:currentColor;border-radius:50%;content:"";height:7px;width:7px}.status-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:800;gap:6px;padding:5px 9px}.status-pill:before{border-radius:50%;content:"";height:7px;width:7px}.status-completed,.status-analyzed{background:#16825d1c;color:var(--success)}.status-completed:before,.status-analyzed:before{background:var(--success)}.status-in_progress,.status-pending,.status-queued{background:#9a651c1f;color:var(--warning)}.status-in_progress:before,.status-pending:before,.status-queued:before{background:var(--warning)}.status-failed,.status-partial{background:#c9181f1c;color:var(--danger)}.status-failed:before,.status-partial:before{background:var(--danger)}.metric-grid{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}.metric-card{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:8px;min-height:112px;padding:20px}.metric-card span{color:var(--text-muted);display:block;font-size:12px;font-weight:800;margin-bottom:12px;text-transform:uppercase}.metric-card strong{display:block;font-size:30px;line-height:1}.metric-card small{color:var(--text-muted);font-size:12px;font-weight:700}.danger-card{background:#c9181f1c;border-color:#c9181f38}.tiny-bar,.score-line,.progress-track{background:var(--surface-muted);border-radius:999px;height:5px;margin-top:12px;overflow:hidden}.tiny-bar i,.score-line i,.progress-fill{background:var(--accent-cyan);display:block;height:100%}.table-wrap{overflow-x:auto;width:100%}.data-table{border-collapse:collapse;font-size:14px;text-align:left;width:100%}.data-table th{background:var(--surface-soft);border-bottom:1px solid var(--panel-border);color:var(--text-muted);font-size:12px;font-weight:800;padding:13px 14px;text-transform:uppercase}.data-table td{border-bottom:1px solid var(--panel-border);padding:15px 14px;vertical-align:middle}.data-table td svg{vertical-align:middle}.clickable-row{cursor:pointer}.clickable-row:hover{background:#0e74900f}.selected-row{background:#0e749017}.app-name-cell,.row-actions{align-items:center;display:flex;gap:12px}.app-name-cell span,.muted-block{color:var(--text-muted);display:block;font-size:12px;margin-top:3px;max-width:560px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-icon{align-items:center;background:#0e74901f;color:var(--accent-cyan);display:flex;height:34px;justify-content:center;width:34px}.inventory-panel{padding:0}.inventory-table th,.inventory-table td{padding-left:22px;padding-right:22px}.advisory-panel{align-items:center;background:#303638;color:#fff;display:flex;justify-content:space-between}.advisory-panel .panel-title,.advisory-panel p{color:#fff}.advisory-panel p{color:#cbd5d9;margin-top:8px;max-width:560px}.dashboard-shell{max-width:none}.dashboard-topbar{align-items:center;display:flex;gap:18px;justify-content:space-between;padding:10px 14px}.dashboard-search{max-width:680px;min-width:280px;width:58%}.dashboard-actions{align-items:center;display:flex;gap:12px;position:relative}.topbar-divider{background:var(--panel-border);display:block;height:28px;width:1px}.notification-popover{background:var(--panel-bg-solid);border:1px solid var(--panel-border);border-radius:8px;box-shadow:0 16px 34px #111d2429;min-width:240px;padding:14px;position:absolute;right:134px;top:calc(100% + 10px);z-index:10}.notification-popover strong,.notification-popover span{display:block}.notification-popover strong{font-size:13px}.notification-popover span{color:var(--text-muted);font-size:12px;line-height:1.4;margin-top:5px}.dashboard-metric-card{display:flex;flex-direction:column;justify-content:center;min-height:116px}.metric-card-heading{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.metric-card-heading span{margin-bottom:0}.dashboard-metric-card strong{align-items:baseline;display:flex;gap:7px}.dashboard-inventory{padding:0}.inventory-heading{align-items:center;border-bottom:1px solid var(--panel-border);display:flex;justify-content:space-between;padding:20px 22px}.inventory-heading h3{margin:0}.filter-control{align-items:center;background:var(--panel-bg-solid);border:1px solid var(--panel-border);border-radius:6px;color:var(--text-main);display:flex;gap:8px;min-height:40px;padding:0 10px}.filter-control select{background:transparent;border:0;color:var(--text-main);cursor:pointer;font-weight:700;outline:0}.dashboard-inventory .table-wrap,.history-panel .table-wrap{border-radius:0}.table-footer{align-items:center;border-top:1px solid var(--panel-border);display:flex;gap:16px;justify-content:space-between;padding:14px 22px}.table-range,.page-indicator{color:var(--text-muted);font-size:12px;font-weight:800}.pagination-controls{align-items:center;display:flex;gap:10px}.pagination-controls .btn-secondary{padding:8px 12px}.trend-cell{align-items:center;display:inline-flex;font-size:12px;font-weight:800;gap:4px;white-space:nowrap}.trend-cell.positive{color:var(--accent-cyan)}.trend-cell.negative{color:var(--danger)}.trend-cell.neutral{color:var(--text-muted)}.dashboard-lower-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1.7fr) minmax(300px,.85fr)}.repository-overview{align-items:center;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) auto}.repository-overview-actions{align-items:center;display:flex;gap:16px}.repository-overview-actions>div{display:flex;flex-direction:column;gap:4px;min-width:130px}.repository-overview-actions strong{font-size:28px;line-height:1}.repository-overview-actions small{color:var(--text-muted);font-size:12px}.performance-panel{min-width:0}.performance-panel p{margin-top:6px}.dashboard-chart{height:210px;margin-top:12px;min-width:0}.advisory-card{background:#303638;color:#fff;display:flex;flex-direction:column;justify-content:space-between;min-height:260px}.advisory-card .panel-title,.advisory-card p{color:#fff}.advisory-card p{color:#d7e0e4;line-height:1.5;margin-top:18px}.advisory-card .btn-secondary{align-self:stretch;background:#bdefff;border-color:#bdefff;color:#263238}.history-panel{padding:0}.history-toolbar{align-items:center;border-bottom:1px solid var(--panel-border);display:flex;flex-wrap:wrap;gap:10px;padding:14px 22px}.history-toolbar select{min-height:40px}.history-panel .btn-secondary{padding:8px 12px}.compare-checkbox{accent-color:var(--accent-cyan);cursor:pointer;height:16px;width:16px}.breadcrumb-button,.link-button{align-items:center;background:transparent;border:0;color:var(--accent-cyan);cursor:pointer;display:inline-flex;font-weight:800;gap:6px;padding:0}.meta-row{color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:14px;gap:22px}.meta-row.compact{font-size:12px;gap:10px;justify-content:space-between}.scan-toolbar,.compare-controls{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.tabs-row{border-bottom:1px solid var(--panel-border);display:flex;gap:20px;overflow-x:auto}.tab-button{align-items:center;background:transparent;border:0;border-bottom:3px solid transparent;color:var(--text-muted);cursor:pointer;display:flex;gap:8px;font-weight:800;padding:14px 0;white-space:nowrap}.tab-button.active{border-bottom-color:var(--accent-cyan);color:var(--accent-cyan)}.summary-grid{display:grid;gap:16px;grid-template-columns:minmax(260px,.75fr) minmax(360px,1.7fr)}.wide-panel{min-width:0}.chart-box{height:250px;min-width:0;width:100%}.chart-box.tall{height:320px}.score-donut{align-items:center;align-self:center;border-radius:50%;display:flex;height:142px;justify-content:center;width:142px}.score-donut-core{align-items:center;background:var(--panel-bg-solid);border-radius:50%;display:flex;flex-direction:column;height:98px;justify-content:center;width:98px}.score-donut-core strong{font-size:32px}.score-donut-core span{color:var(--text-muted);font-size:10px;font-weight:800}.risk-strip{align-items:center;background:#c9181f14;border:1px solid rgba(201,24,31,.15);color:var(--danger);display:flex;font-weight:800;justify-content:space-between;padding:12px}.dot-stack{display:flex;gap:5px}.dot-stack i{background:var(--panel-border);border-radius:50%;height:9px;width:9px}.dot-stack i.active.danger{background:var(--danger)}.dot-stack i.active.warning{background:var(--warning)}.dot-stack i.active.success{background:var(--success)}.segmented-control{align-items:center;background:var(--surface-muted);display:flex;gap:3px;padding:3px}.segmented-control span,.segmented-control strong{color:var(--text-muted);font-size:11px;padding:5px 9px}.segmented-control strong{background:var(--accent-cyan);color:#fff}.scan-progress-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.mini-status-row,.repo-chip,.schedule-box,.delta-row{align-items:center;background:var(--surface-soft);display:flex;gap:10px;justify-content:space-between;padding:12px}.content-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1.6fr) minmax(300px,.85fr)}.side-stack{display:flex;flex-direction:column;gap:16px}.schedule-box{justify-content:flex-start}.schedule-box span,.repo-chip span{color:var(--text-muted);display:block;font-size:12px}.repo-chip{justify-content:flex-start}.repo-chip .status-pill{margin-left:auto}.recommendation-panel{background:#0e74901c}.recommendation-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:16px}.recommendation-card{background:var(--panel-bg-solid);border:1px solid var(--panel-border);padding:16px}.recommendation-card span{color:var(--accent-cyan);display:block;font-size:11px;font-weight:800;margin-bottom:10px}.recommendation-card p{color:var(--text-muted);font-size:13px;line-height:1.5;margin-top:8px}.mono-cell{color:var(--accent-cyan);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;font-weight:800}.empty-cell{color:var(--text-muted);padding:28px;text-align:center}.compare-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1.5fr) minmax(320px,.8fr)}.delta-row strong{font-size:18px}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:var(--surface-muted)}::-webkit-scrollbar-thumb{background:#9fb0b8;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#82949d}@media (max-width: 980px){.app-layout{flex-direction:column}.sidebar{flex:none;height:auto;padding:16px 0}.sidebar-nav{flex-direction:row;overflow-x:auto}.sidebar-footer{display:none}.metric-grid,.summary-grid,.content-grid,.dashboard-lower-grid,.repository-overview,.compare-grid{grid-template-columns:1fr}.dashboard-topbar,.inventory-heading{align-items:stretch;flex-direction:column}.dashboard-search{max-width:none;width:100%}.dashboard-actions{justify-content:space-between}.table-footer{align-items:stretch;flex-direction:column}.pagination-controls{justify-content:space-between}.repository-overview-actions{align-items:stretch;flex-direction:column}.notification-popover{right:0}.page-heading{flex-direction:column}.scan-toolbar,.compare-controls{justify-content:flex-start}}
