:root {
  --bg:#080b10; --bg-2:#0d1118; --panel:#121823; --panel-2:#171f2c; --line:#273142;
  --text:#edf2f7; --muted:#8e9aae; --soft:#c3ccd9; --accent:#6ea8fe; --accent-2:#98bdff;
  --success:#69d8a2; --warning:#f1c66a; --danger:#ff7f8f; --danger-bg:#2a1419;
  --radius:14px; --shadow:0 18px 60px rgba(0,0,0,.28); --sidebar:230px; --topbar:68px;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box} [hidden]{display:none!important} html{background:var(--bg);color:var(--text)} body{margin:0;min-height:100vh;background:radial-gradient(circle at 70% -20%,#182339 0,transparent 38%),var(--bg);color:var(--text)}
button,input,select,textarea{font:inherit} button{color:inherit}.env-banner{position:fixed;top:0;left:50%;z-index:90;transform:translateX(-50%);padding:4px 12px;border-radius:0 0 8px 8px;background:#735600;color:#fff0ba;font-size:11px;font-weight:800;letter-spacing:.18em;box-shadow:0 4px 22px rgba(0,0,0,.24)}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:40px 20px}.login-card{width:min(100%,460px);background:linear-gradient(180deg,rgba(23,31,44,.96),rgba(14,19,28,.98));border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:var(--shadow)}.brand-lockup{display:flex;align-items:center;gap:15px}.brand-lockup img{filter:drop-shadow(0 8px 20px rgba(40,113,255,.25))}.eyebrow{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.12em}.brand-lockup h1{margin:2px 0 0;font-size:32px}.login-copy{color:var(--soft);line-height:1.6;margin:28px 0}.login-form{display:grid;gap:15px}.login-message{min-height:22px;margin:0;color:var(--danger);font-size:13px}.security-note{margin-top:20px;padding:13px 14px;background:#0c121b;border:1px solid var(--line);border-radius:12px;color:var(--muted);font-size:12px;line-height:1.5}
.field{display:grid;gap:7px}.field-label{font-size:12px;font-weight:700;color:var(--soft)}input,select,textarea{width:100%;border:1px solid var(--line);background:#0b1018;color:var(--text);border-radius:10px;padding:11px 12px;outline:none;transition:border-color .16s,box-shadow .16s}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(110,168,254,.12)}textarea{resize:vertical}.field small{color:var(--muted)}
.button{border:1px solid var(--line);border-radius:10px;background:#192230;padding:9px 13px;font-weight:700;cursor:pointer;transition:transform .12s,background .12s,border-color .12s}.button:hover:not(:disabled){transform:translateY(-1px);border-color:#3b4b63}.button:disabled{opacity:.5;cursor:not-allowed}.button.primary{background:linear-gradient(180deg,#5c98f8,#3f7fdf);border-color:#79adff;color:white}.button.secondary{background:#1b2635}.button.ghost{background:transparent}.button.danger{background:#a93244;border-color:#c6485b;color:#fff}.button.danger-quiet{background:var(--danger-bg);border-color:#63303a;color:#ffb2bc}.button.wide{width:100%;padding:12px}.icon-button{width:38px;height:38px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:#111925;cursor:pointer;font-size:20px}.icon-button:hover{border-color:#40506a}
.app-shell{min-height:100vh}.topbar{position:fixed;top:0;left:0;right:0;height:var(--topbar);display:flex;align-items:center;justify-content:space-between;padding:0 22px;background:rgba(8,11,16,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);z-index:50}.topbar-left,.topbar-right{display:flex;align-items:center;gap:12px}.topbar-title{display:grid}.topbar-title span{font-size:10px;color:var(--muted)}.api-indicator,.session-indicator{display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--line);border-radius:10px;color:var(--muted);font-size:12px}.session-indicator strong{color:var(--soft)}.status-dot{width:8px;height:8px;border-radius:50%;background:#677184}.status-dot.online{background:var(--success);box-shadow:0 0 0 3px rgba(105,216,162,.1)}.status-dot.offline{background:var(--danger)}
.sidebar{position:fixed;left:0;top:var(--topbar);bottom:0;width:var(--sidebar);border-right:1px solid var(--line);background:#0a0f16;padding:18px 12px;display:flex;flex-direction:column;justify-content:space-between;z-index:40}.sidebar nav{display:grid;gap:6px}.sidebar nav button{width:100%;display:flex;gap:11px;align-items:center;border:0;background:transparent;color:#a9b5c7;text-align:left;border-radius:10px;padding:11px 12px;cursor:pointer;font-weight:650}.sidebar nav button:hover,.sidebar nav button.active{background:#151e2a;color:#fff}.sidebar nav button.active{box-shadow:inset 3px 0 0 var(--accent)}.sidebar-footer{padding:12px;color:var(--muted);display:grid;gap:3px;font-size:11px}.sidebar-footer small{font-size:10px}.content{margin-left:var(--sidebar);padding:calc(var(--topbar) + 34px) 34px 46px;min-height:100vh;outline:none}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.page-heading h1{margin:0;font-size:28px;letter-spacing:-.02em}.page-subtitle{margin:7px 0 0;color:var(--muted);line-height:1.5}.page-actions,.inline-actions,.form-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.metrics-grid,.skeleton-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.metric-card{background:linear-gradient(180deg,var(--panel),#0f151e);border:1px solid var(--line);border-radius:var(--radius);padding:18px;display:grid;gap:5px;min-height:128px}.metric-label{color:var(--muted);font-size:12px;font-weight:700}.metric-value{font-size:30px;letter-spacing:-.04em}.metric-detail{color:#718096;font-size:11px}.panel{background:linear-gradient(180deg,var(--panel),#0e141d);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-bottom:18px;box-shadow:0 12px 34px rgba(0,0,0,.12)}.panel-title-row{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:14px}.panel h2{margin:0;font-size:17px}.panel-subtitle{margin:4px 0 0;color:var(--muted);font-size:12px}.info-panel p{color:var(--muted)}.key-value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.key-value-grid div{background:#0b1018;border:1px solid var(--line);padding:11px;border-radius:10px;display:grid;gap:4px}.key-value-grid span{font-size:10px;color:var(--muted)}.key-value-grid strong{overflow-wrap:anywhere;font-size:12px}.error-panel{border-color:#5a2d35}.error-panel p{color:#e9a7b1}.error-panel code{display:block;margin:10px 0 14px;color:#ffc1c8}
.toolbar{display:grid;grid-template-columns:180px minmax(220px,1fr) auto auto;gap:9px;margin-bottom:14px}.table-panel{padding:0;overflow:hidden}.table-scroll{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:780px}.data-table th,.data-table td{padding:13px 15px;border-bottom:1px solid #202a39;text-align:left;vertical-align:middle}.data-table th{position:sticky;top:0;background:#111925;color:#8e9aae;font-size:10px;text-transform:uppercase;letter-spacing:.08em;z-index:2}.data-table td{font-size:13px}.data-table tr:last-child td{border-bottom:0}.clickable-row{cursor:pointer}.clickable-row:hover{background:#151e2a}.clickable-row:focus{outline:2px solid var(--accent);outline-offset:-2px}.table-empty{text-align:center!important;color:var(--muted);padding:32px!important}.truncate-cell{max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hint-code{color:#bdd5ff}.badge{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.badge-active{background:rgba(105,216,162,.12);color:#8ce6b9;border:1px solid rgba(105,216,162,.24)}.badge-revoked{background:rgba(255,127,143,.1);color:#ff9daa;border:1px solid rgba(255,127,143,.22)}.badge-expired{background:rgba(241,198,106,.1);color:#f4d58e;border:1px solid rgba(241,198,106,.22)}.pagination{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:12px 14px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}
.stack-form{display:grid;gap:14px}.created-license{display:grid;gap:14px}.new-license-key{display:block;padding:15px;border-radius:10px;background:#070b10;border:1px dashed #4d6382;color:#d7e5ff;word-break:break-all;font-size:14px}.checkbox-row,.switch-row{display:flex;align-items:center;gap:10px;color:var(--soft)}.checkbox-row input,.switch-row input{width:auto}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.detail-item{background:#0b1018;border:1px solid var(--line);padding:11px;border-radius:10px;display:grid;gap:5px;min-width:0}.detail-item strong,.detail-item code{overflow-wrap:anywhere}.detail-label{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.detail-wide{grid-column:1/-1}.lookup-form{display:grid;grid-template-columns:1fr auto;gap:9px;margin-top:16px}.config-form{display:grid;gap:18px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.switch-row{width:max-content}.switch-row input{position:absolute;opacity:0;pointer-events:none}.switch-ui{width:42px;height:24px;border-radius:999px;background:#343f50;position:relative;transition:.2s}.switch-ui:before{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:white;left:3px;top:3px;transition:.2s}.switch-row input:checked+.switch-ui{background:#3f7fdf}.switch-row input:checked+.switch-ui:before{transform:translateX(18px)}.diff-list{display:grid;gap:8px}.diff-row{display:grid;grid-template-columns:minmax(130px,1fr) 1fr auto 1fr;gap:8px;align-items:center;padding:10px;border-radius:9px;background:#0b1018;border:1px solid var(--line)}.diff-row.critical{border-color:#6e4f24;background:#1d170c}.json-view{max-height:300px;overflow:auto;background:#070b10;border:1px solid var(--line);padding:12px;border-radius:10px;color:#c8d7ec;white-space:pre-wrap;overflow-wrap:anywhere}
.modal-open{overflow:hidden}.modal-overlay{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.72);display:grid;place-items:center;padding:20px}.modal-overlay[hidden]{display:none}.modal-panel{width:min(100%,620px);max-height:min(88vh,780px);overflow:auto;background:#111824;border:1px solid #344155;border-radius:18px;box-shadow:var(--shadow)}.modal-panel.modal-danger{border-color:#6b3340}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:17px 18px;border-bottom:1px solid var(--line)}.modal-header h2{margin:0;font-size:18px}.modal-body{padding:18px}.modal-message{margin:0;color:var(--soft);line-height:1.6}.modal-footer{display:flex;justify-content:flex-end;gap:9px;padding:14px 18px;border-top:1px solid var(--line)}.audit-detail{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.toast-region{position:fixed;right:18px;bottom:18px;z-index:150;display:grid;gap:8px;width:min(390px,calc(100vw - 36px))}.toast{display:flex;align-items:flex-start;gap:9px;padding:12px 14px;background:#121a26;border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow);opacity:0;transform:translateY(8px);transition:.2s;color:var(--soft);font-size:13px}.toast-show{opacity:1;transform:none}.toast-dot{width:8px;height:8px;border-radius:50%;margin-top:5px;background:var(--accent)}.toast-success .toast-dot{background:var(--success)}.toast-error .toast-dot{background:var(--danger)}.toast-warning .toast-dot{background:var(--warning)}.mobile-only,.mobile-nav-wrap{display:none}
:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}
@media(max-width:1100px){.metrics-grid,.skeleton-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.key-value-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){:root{--sidebar:0px}.sidebar{transform:translateX(-100%);width:240px;transition:transform .18s}.sidebar.open{transform:none;box-shadow:20px 0 50px rgba(0,0,0,.45)}.content{margin-left:0;padding:calc(var(--topbar) + 88px) 16px 36px}.mobile-only{display:inline-grid}.mobile-nav-wrap{display:flex;position:fixed;top:var(--topbar);left:0;right:0;z-index:35;background:#0a0f16;border-bottom:1px solid var(--line);padding:9px 16px;align-items:center;gap:10px}.mobile-nav-wrap label{font-size:11px;color:var(--muted)}.mobile-nav-wrap select{padding:8px}.api-indicator span:last-child,.session-indicator span{display:none}.topbar{padding:0 12px}.toolbar{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.page-heading{align-items:stretch;flex-direction:column}.page-actions{justify-content:flex-start}}
@media(max-width:560px){.login-card{padding:24px 18px}.metrics-grid,.skeleton-grid{grid-template-columns:1fr}.toolbar{grid-template-columns:1fr}.topbar-title span{display:none}.session-indicator{display:none}.page-heading h1{font-size:24px}.lookup-form{grid-template-columns:1fr}.modal-footer{flex-direction:column-reverse}.modal-footer .button{width:100%}.audit-detail{grid-template-columns:1fr}.diff-row{grid-template-columns:1fr;gap:4px}.diff-row span:nth-child(3){display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* v0.5.0 — per-license activity */
.detail-tabs {
  display: flex;
  gap: 8px;
  margin: 0 0 16px;
  border-bottom: 1px solid var(--border, rgba(127,127,127,.22));
}

.detail-tab {
  border-radius: 8px 8px 0 0;
  border-bottom: 2px solid transparent;
}

.detail-tab.active {
  border-bottom-color: currentColor;
  font-weight: 700;
}

.license-detail-body {
  display: grid;
  gap: 16px;
}

.check-outcome {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 3px 9px;
  border-radius: 999px;
  font-size: .82rem;
  font-weight: 700;
  white-space: nowrap;
  background: rgba(127,127,127,.12);
}

.outcome-update_detected { background: rgba(40, 167, 69, .13); }
.outcome-failed { background: rgba(220, 53, 69, .13); }
.outcome-baseline_created { background: rgba(13, 110, 253, .13); }

.activity-toolbar input {
  min-width: 260px;
}
