:root{color-scheme:light;--p-color-bg: #f1f1f1;--p-color-surface: #ffffff;--p-color-surface-subdued: #f7f7f7;--p-color-surface-hover: #f1f1f1;--p-color-text: #303030;--p-color-text-subdued: #616161;--p-color-text-strong: #1a1a1a;--p-color-border: #e3e3e3;--p-color-border-strong: #8a8a8a;--p-color-focus: #005bd3;--p-color-primary: #303030;--p-color-primary-hover: #1f1f1f;--p-color-success-bg: #e3f1df;--p-color-success-text: #0c5132;--p-color-warning-bg: #fff1d6;--p-color-warning-border: #f1d18a;--p-color-warning-text: #5f3f00;--p-color-critical-bg: #fed3d1;--p-color-critical-text: #8e1f0b;--p-shadow-card: 0 1px 0 rgba(26, 26, 26, .07);--p-radius-1: 6px;--p-radius-2: 8px;--p-space-1: 4px;--p-space-2: 8px;--p-space-3: 12px;--p-space-4: 16px;--p-space-5: 20px;--p-space-6: 24px;background:var(--p-color-bg);color:var(--p-color-text);font-family:-apple-system,BlinkMacSystemFont,San Francisco,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:13px;font-synthesis:none;letter-spacing:0;line-height:20px;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{background:var(--p-color-bg);margin:0;min-height:100vh;min-width:320px}button,input,select{font:inherit;letter-spacing:0}button,.icon-link{align-items:center;background:var(--p-color-primary);border:1px solid var(--p-color-primary);border-radius:var(--p-radius-2);box-shadow:inset 0 1px #ffffff29,0 1px #1a1a1a0d;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:650;gap:6px;justify-content:center;line-height:16px;min-height:32px;padding:0 12px;text-decoration:none;white-space:nowrap}button:hover,.icon-link:hover{background:var(--p-color-primary-hover);border-color:var(--p-color-primary-hover)}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--p-color-focus);outline-offset:1px}button:disabled{cursor:not-allowed;opacity:.55}button svg{flex:0 0 auto;height:15px;width:15px}input,select{background:var(--p-color-surface);border:1px solid var(--p-color-border-strong);border-radius:var(--p-radius-2);color:var(--p-color-text);font-size:13px;line-height:20px;min-height:32px;padding:5px 10px;width:100%}input::placeholder{color:#8a8a8a}select{min-width:180px}.center-screen,.auth-screen{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:var(--p-space-5)}.auth-screen{background:linear-gradient(#fff 0 0) top / 100% 112px no-repeat,var(--p-color-bg)}.auth-panel{background:var(--p-color-surface);border:1px solid var(--p-color-border);border-radius:var(--p-radius-2);box-shadow:var(--p-shadow-card);max-width:464px;padding:var(--p-space-5);width:100%}.auth-panel h1{color:var(--p-color-text-strong);font-size:20px;font-weight:700;line-height:28px;margin:var(--p-space-4) 0 var(--p-space-4)}.brand-mark{align-items:center;background:var(--p-color-surface-subdued);border:1px solid var(--p-color-border);border-radius:var(--p-radius-2);color:var(--p-color-text);display:flex;height:36px;justify-content:center;width:36px}.brand-mark svg{height:20px;width:20px}.auth-row{display:grid;gap:var(--p-space-2);grid-template-columns:minmax(0,1fr) auto}.app-shell{background:var(--p-color-bg);min-height:100vh}.app-shell.standalone{display:grid;grid-template-columns:220px minmax(0,1fr)}.sidebar{align-self:start;background:#ebebeb;border-right:1px solid #dcdcdc;color:var(--p-color-text);display:grid;gap:var(--p-space-2);min-height:100vh;padding:var(--p-space-4) var(--p-space-2);position:sticky;top:0;z-index:10}.brand{align-items:center;color:var(--p-color-text-strong);display:flex;font-size:14px;font-weight:700;gap:var(--p-space-2);min-height:36px;padding:0 var(--p-space-3)}.brand svg{height:17px;width:17px}.sidebar nav{align-items:stretch;display:grid;gap:2px;min-width:0;padding:var(--p-space-1) 0}.sidebar nav::-webkit-scrollbar{display:none}.nav-button{background:transparent;border-color:transparent;box-shadow:none;color:var(--p-color-text-subdued);font-size:13px;font-weight:550;justify-content:flex-start;min-height:32px;padding:0 var(--p-space-3);width:100%}.nav-button:hover{background:var(--p-color-surface-hover);border-color:transparent;color:var(--p-color-text)}.nav-button.active{background:var(--p-color-surface);border-color:var(--p-color-surface);box-shadow:0 1px #1a1a1a0d;color:var(--p-color-text-strong)}.nav-button svg{color:currentColor;height:15px;width:15px}.content{margin:0 auto;max-width:1012px;min-width:0;padding:var(--p-space-6) var(--p-space-5) 40px;width:100%}.embedded .content{max-width:1048px;padding-top:var(--p-space-5)}.topbar{align-items:flex-start;display:flex;gap:var(--p-space-4);justify-content:space-between;margin-bottom:var(--p-space-4)}.topbar h1{color:var(--p-color-text-strong);font-size:20px;font-weight:700;line-height:28px;margin:0}.eyebrow{color:var(--p-color-text-subdued);font-size:12px;font-weight:450;line-height:16px;margin:0 0 2px}.status-pill,.record-status{align-items:center;border-radius:var(--p-radius-1);display:inline-flex;font-size:12px;font-weight:550;gap:5px;line-height:16px;min-height:22px;padding:2px 8px;text-transform:capitalize;white-space:nowrap}.status-pill.ok,.record-status.completed{background:var(--p-color-success-bg);color:var(--p-color-success-text)}.status-pill.warn,.record-status.queued,.record-status.running{background:var(--p-color-warning-bg);color:var(--p-color-warning-text)}.record-status.failed{background:var(--p-color-critical-bg);color:var(--p-color-critical-text)}.banner{align-items:center;border:1px solid transparent;border-radius:var(--p-radius-2);display:flex;gap:var(--p-space-3);justify-content:space-between;line-height:20px;margin-bottom:var(--p-space-4);padding:var(--p-space-3)}.banner.warn{background:var(--p-color-warning-bg);border-color:var(--p-color-warning-border);color:var(--p-color-text)}.banner.info{background:#ebf3ff;border-color:#b5d7ff;color:var(--p-color-text)}.banner.error,.error-line{background:#fff4f4;border-color:var(--p-color-critical-bg);color:var(--p-color-critical-text)}.error-line{border:1px solid var(--p-color-critical-bg);border-radius:var(--p-radius-2);font-size:13px;line-height:20px;margin:var(--p-space-3) 0 0;padding:var(--p-space-2) 10px}.stack{display:grid;gap:var(--p-space-4)}.scan-progress{align-items:center;display:grid;grid-template-columns:minmax(0,1fr) auto;overflow:hidden;padding-bottom:var(--p-space-4);position:relative}.scan-progress-main,.scan-progress-side{align-items:center;display:flex;gap:var(--p-space-3);min-width:0}.scan-progress-main svg{color:var(--p-color-focus);flex:0 0 auto}.scan-progress-main strong,.scan-progress-main span,.scan-progress-side span{display:block;overflow-wrap:anywhere}.scan-progress-main strong{color:var(--p-color-text-strong);font-size:13px;font-weight:700;line-height:20px}.scan-progress-main span,.scan-progress-side span{color:var(--p-color-text-subdued);font-size:12px;line-height:16px}.scan-progress-side{justify-content:flex-end}.progress-percent{color:var(--p-color-text-strong);font-size:18px;font-weight:750;line-height:24px;min-width:72px;text-align:right}.progress-track{background:#005bd329;bottom:0;height:3px;left:0;overflow:hidden;position:absolute;right:0}.progress-track span{animation:progress-slide 1.35s ease-in-out infinite;background:var(--p-color-focus);display:block;height:100%;width:42%}.progress-track.determinate span{animation:none;transition:width .28s ease}.metric-grid,.detail-grid{display:grid;gap:var(--p-space-3);grid-template-columns:repeat(4,minmax(0,1fr))}.metric,.panel,.table-wrap,.empty-state{background:var(--p-color-surface);border:1px solid var(--p-color-border);border-radius:var(--p-radius-2);box-shadow:var(--p-shadow-card)}.metric{min-height:74px;padding:var(--p-space-4)}.metric span{color:var(--p-color-text-subdued);display:block;font-size:12px;font-weight:450;line-height:16px;margin-bottom:var(--p-space-1)}.metric strong{color:var(--p-color-text-strong);display:block;font-size:18px;font-weight:700;line-height:24px;overflow-wrap:anywhere}.panel{overflow:hidden}.panel-head{border-bottom:1px solid var(--p-color-border);padding:var(--p-space-4)}.panel h2,.panel p{margin:0}.panel h2{color:var(--p-color-text-strong);font-size:14px;font-weight:700;line-height:20px}.panel p{color:var(--p-color-text-subdued);font-size:13px;line-height:20px;margin-top:2px;max-width:680px}.panel-body{padding:var(--p-space-4)}.actions,.inline-controls,.row-actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--p-space-2)}.log-toolbar{align-items:center;display:grid;gap:var(--p-space-2);grid-template-columns:minmax(220px,1fr) auto auto auto}.search-field{align-items:center;display:grid;gap:var(--p-space-2);grid-template-columns:auto minmax(0,1fr);min-width:0}.search-field svg{color:var(--p-color-text-subdued);height:16px;width:16px}.log-page-summary,.pagination-bar{align-items:center;color:var(--p-color-text-subdued);display:flex;font-size:12px;gap:var(--p-space-3);justify-content:space-between;line-height:16px;margin-top:var(--p-space-3)}.pagination-bar{background:var(--p-color-surface);border:1px solid var(--p-color-border);border-radius:var(--p-radius-2);box-shadow:var(--p-shadow-card);justify-content:flex-end;margin-top:0;padding:var(--p-space-3)}.pagination-bar span{color:var(--p-color-text);font-weight:550}.align-end{justify-content:flex-end}.ghost,.mini{background:var(--p-color-surface);border-color:#c9cccf;box-shadow:0 1px #1a1a1a0d;color:var(--p-color-text)}.ghost:hover,.mini:hover{background:var(--p-color-surface-subdued);border-color:var(--p-color-border-strong);color:var(--p-color-text-strong)}.mini{min-height:28px;padding:0 10px}.settings-grid{align-items:end;display:grid;gap:var(--p-space-3);grid-template-columns:minmax(136px,.8fr) minmax(180px,1fr) auto auto}.field{color:var(--p-color-text);display:grid;gap:var(--p-space-1);min-width:0}.field span,.check-field span{color:var(--p-color-text);font-size:13px;font-weight:450;line-height:20px}.check-field{align-items:center;display:inline-flex;gap:var(--p-space-2);min-height:32px;white-space:nowrap}.check-field input{accent-color:var(--p-color-primary);height:16px;min-height:16px;padding:0;width:16px}.form-actions{display:flex;justify-content:flex-end}.table-wrap{overflow-x:auto}table{border-collapse:collapse;min-width:760px;width:100%}thead{background:var(--p-color-surface-subdued)}th,td{border-bottom:1px solid #ebebeb;padding:9px var(--p-space-4);text-align:left;vertical-align:middle}th{color:var(--p-color-text-subdued);font-size:12px;font-weight:650;line-height:16px}td{color:var(--p-color-text);font-size:13px;line-height:20px}.log-details{color:var(--p-color-text-subdued);max-width:360px;overflow-wrap:anywhere}tbody tr:hover{background:#fafafa}tr:last-child td{border-bottom:0}.empty-state{color:var(--p-color-text-subdued);font-size:13px;font-weight:550;line-height:20px;padding:28px;text-align:center}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes progress-slide{0%{transform:translate(-105%)}to{transform:translate(250%)}}@media(max-width:920px){.app-shell.standalone{display:block}.sidebar{border-bottom:1px solid var(--p-color-border);border-right:0;min-height:auto;padding:var(--p-space-2) var(--p-space-3)}.sidebar nav{display:flex;overflow-x:auto;padding:0;scrollbar-width:none;width:100%}.nav-button{flex:0 0 auto;width:auto}.metric-grid,.detail-grid,.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.auth-screen{align-items:flex-start;padding:var(--p-space-4)}.auth-panel{margin-top:52px}.auth-row{grid-template-columns:1fr}.content{padding:var(--p-space-5) var(--p-space-3) 32px}.topbar,.banner{align-items:stretch;flex-direction:column}.scan-progress{grid-template-columns:1fr}.scan-progress-side{align-items:stretch;flex-direction:column}.progress-percent{min-width:0;text-align:left}.metric-grid,.detail-grid,.settings-grid{grid-template-columns:1fr}.actions,.inline-controls,.log-toolbar{align-items:stretch;flex-direction:column}.log-toolbar{display:grid;grid-template-columns:1fr}.actions button,.inline-controls button,.inline-controls select,.form-actions button,.log-toolbar button{width:100%}.log-page-summary,.pagination-bar{align-items:stretch;flex-direction:column}.form-actions{justify-content:stretch}}
