:root{--color-primary:#5f259f;--color-primary-alt:#2e1a47;--color-primary-light:#9747ff;--color-secondary:#00bab2;--color-secondary-light:#3cdbc0;--color-bg:#f9f9f9;--color-surface:#ffffff;--color-border:#e4e7eb;--color-text:#263238;--color-text-muted:#5b6b79;--color-text-faint:#9eabbe;--color-success:#2dac3e;--color-success-bg:#e8f7ea;--color-warning:#b5790a;--color-warning-bg:#fdf2e0;--color-critical:#d12c38;--color-critical-bg:#fbe7e8;--color-neutral-bg:#eef0f2;--radius:10px;--shadow-card:0 1px 2px rgba(38,50,56,0.04),0 4px 16px -8px rgba(38,50,56,0.12);--font-sans:-apple-system,"Segoe UI",Roboto,system-ui,sans-serif}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);line-height:1.5}a{color:inherit}.app-shell{display:flex;min-height:100vh}.app-sidebar{width:248px;flex:none;background:var(--color-primary-alt);color:#ffffff;padding:24px 16px;display:flex;flex-direction:column;gap:24px}.app-sidebar__brand{font-size:18px;font-weight:700;letter-spacing:-.01em;padding:0 8px}.app-sidebar__brand small{display:block;font-size:11px;font-weight:500;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:.08em;margin-top:2px}.app-nav{display:flex;flex-direction:column;gap:2px}.app-nav a{text-decoration:none;padding:10px 12px;border-radius:8px;font-size:14px;font-weight:500;color:rgba(255,255,255,.78)}.app-nav a:hover{background:rgba(255,255,255,.08);color:#ffffff}.app-nav a[data-active=true]{background:var(--color-secondary);color:#052e2b;font-weight:700}.app-sidebar__footer{margin-top:auto;padding:0 8px}.app-sidebar__user{display:flex;flex-direction:column;gap:2px;padding:4px 0 10px;border-top:1px solid rgba(255,255,255,.12);margin-top:8px}.app-sidebar__user-name{font-size:13px;font-weight:600;color:#ffffff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-sidebar__user-role{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:rgba(255,255,255,.6)}.app-sidebar__footer form button{all:unset;cursor:pointer;font-size:13px;color:rgba(255,255,255,.6)}.app-sidebar__footer form button:hover{color:#ffffff}.app-main{flex:1 1;min-width:0;padding:32px 40px 64px}.page-header{margin-bottom:28px}.page-header h1{font-size:26px;font-weight:700;letter-spacing:-.01em;margin:0 0 6px}.page-header p{color:var(--color-text-muted);margin:0;max-width:68ch}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:16px;gap:16px;margin-bottom:32px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:20px 22px}.metric-card__label{font-size:12.5px;color:var(--color-text-muted);margin-bottom:8px}.metric-card__value{font-size:26px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.metric-card__help{font-size:12px;color:var(--color-text-faint);margin-top:6px}.section{margin-bottom:40px}.section h2{font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin:0 0 14px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:14px;gap:14px}.entity-card h3{font-size:15.5px;margin:0 0 6px}.entity-card p{font-size:13.5px;color:var(--color-text-muted);margin:0 0 10px}.tag-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.tag{font-size:11px;font-weight:600;padding:3px 9px;background:var(--color-neutral-bg);color:var(--color-text-muted)}.pill,.tag{border-radius:999px}.pill{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;padding:3px 10px}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.pill--success{background:var(--color-success-bg);color:var(--color-success)}.pill--warning{background:var(--color-warning-bg);color:var(--color-warning)}.pill--critical{background:var(--color-critical-bg);color:var(--color-critical)}.pill--neutral{background:var(--color-neutral-bg);color:var(--color-text-muted)}.source-note{font-size:11.5px;color:var(--color-text-faint);margin-top:10px;padding-top:10px;border-top:1px dashed var(--color-border)}.table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:560px}thead th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);background:var(--color-neutral-bg)}tbody td,thead th{padding:12px 16px;border-bottom:1px solid var(--color-border)}tbody td{vertical-align:top}tbody tr:last-child td{border-bottom:none}.timeline{border-left:2px solid var(--color-border);padding-left:24px;display:flex;flex-direction:column;gap:22px}.timeline-item{position:relative}.timeline-item:before{content:"";position:absolute;left:-29px;top:4px;width:9px;height:9px;border-radius:50%;background:var(--color-secondary);border:2px solid var(--color-surface);box-shadow:0 0 0 1px var(--color-secondary)}.timeline-item time{font-size:12px;color:var(--color-text-faint);display:block;margin-bottom:3px}.timeline-item h3{font-size:15px;margin:0 0 4px}.timeline-item p{font-size:13.5px;color:var(--color-text-muted);margin:0}.empty-state{padding:28px;text-align:center;color:var(--color-text-faint);border:1px dashed var(--color-border);border-radius:var(--radius);font-size:13.5px}.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-primary-alt)}.login-card{background:var(--color-surface);border-radius:14px;padding:36px 34px;width:100%;max-width:360px;box-shadow:0 20px 60px -20px rgba(0,0,0,.5)}.login-card h1{font-size:20px;margin:0 0 4px}.login-card p.subtitle{font-size:13.5px;color:var(--color-text-muted);margin:0 0 22px}.login-card input{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:8px;font-size:14px;margin-bottom:14px}.login-card button{width:100%;padding:11px 12px;border:none;border-radius:8px;background:var(--color-primary);color:#ffffff;font-weight:700;font-size:14px;cursor:pointer}.login-card button:hover{background:var(--color-primary-light)}.login-error{background:var(--color-critical-bg);color:var(--color-critical);font-size:13px;padding:8px 12px;border-radius:8px;margin-bottom:14px}.login-dev-details{margin-top:18px;padding-top:14px;border-top:1px solid var(--color-border)}.login-dev-details summary{cursor:pointer;font-size:12.5px;color:var(--color-text-muted)}.login-dev-form{margin-top:12px}@media (max-width:860px){.app-shell{flex-direction:column}.app-sidebar{width:100%;flex-direction:row;flex-wrap:wrap;align-items:center;row-gap:4px}.app-sidebar__brand{flex-basis:100%;padding-bottom:4px}.app-nav{flex-direction:row;flex-wrap:wrap;flex:1 1}.app-sidebar__footer{margin-top:0;margin-left:auto}.app-main{padding:24px 20px 48px}.table-wrap{overflow-x:visible;border:none;background:transparent}.table-wrap table{min-width:0}.table-wrap thead{display:none}.table-wrap tbody,.table-wrap tr{display:block;width:100%}.table-wrap tr{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-card);margin-bottom:12px;padding:4px 0}.table-wrap tr:last-child{margin-bottom:0}.table-wrap td{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:10px 16px;border-bottom:1px solid var(--color-border);text-align:right}.table-wrap td:last-child{border-bottom:none}.table-wrap td:before{content:attr(data-label);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);text-align:left;flex:none;padding-top:1px}.table-wrap td.cell-stack{flex-direction:column;align-items:flex-start;text-align:left;gap:4px}.table-wrap td.cell-stack:before{padding-top:0}}