:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#17202b;background:#f3f5f7;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#f3f5f7}button,input{font:inherit}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#eef2f3,#f8f9fa)}.login-card{width:min(410px,100%);background:#fff;border:1px solid #dde3e8;border-radius:14px;padding:34px;box-shadow:0 18px 50px rgba(23,32,43,.08)}.login-card h1{margin:18px 0 2px;font-size:25px}.muted{margin:0 0 28px;color:#74808c}.brand-mark{width:46px;height:46px;border-radius:10px;display:grid;place-items:center;background:#17202b;color:#fff;font-weight:800;letter-spacing:.04em}.brand-mark.small{width:38px;height:38px;border-radius:8px;font-size:13px}.login-card label{display:grid;gap:7px;margin:0 0 16px;font-size:13px;font-weight:650;color:#3b4651}.login-card input{width:100%;border:1px solid #ccd4dc;border-radius:8px;padding:11px 12px;background:#fff;outline:none}.login-card input:focus{border-color:#75879a;box-shadow:0 0 0 3px rgba(80,103,125,.12)}.login-card button,.secondary-button{border:0;border-radius:8px;padding:10px 14px;cursor:pointer}.login-card button{width:100%;background:#17202b;color:#fff;font-weight:700;margin-top:4px}.form-error{min-height:19px;color:#a43737;font-size:13px;margin:0 0 8px}.app-shell{min-height:100vh;display:grid;grid-template-columns:224px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;background:#18212b;color:#cbd3da;padding:22px 14px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 25px}.brand div{display:grid}.brand strong{color:#fff;font-size:14px}.brand span:last-child{font-size:11px;color:#82909d}.sidebar nav{display:grid;gap:4px}.nav-item{display:flex;justify-content:space-between;align-items:center;color:#aab5bf;text-decoration:none;padding:10px 11px;border-radius:7px;font-size:13px}.nav-item.active{background:#26333f;color:#fff}.nav-item.disabled{opacity:.52;cursor:default}.nav-item small{font-size:9px;text-transform:uppercase}.sidebar-footer{margin-top:auto;padding:16px 9px 0;border-top:1px solid #2d3944;display:grid;gap:7px;font-size:12px}.text-button{border:0;background:transparent;padding:0;text-align:left;color:#98a6b2;cursor:pointer}.content{padding:30px 34px 48px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.topbar h1{margin:2px 0 0;font-size:26px}.eyebrow{margin:0;color:#73808b;font-size:10px;font-weight:800;letter-spacing:.12em}.status-pill{background:#e8edf0;border:1px solid #d4dce2;border-radius:999px;padding:6px 10px;font-size:11px;color:#53616c}.status-pill.ok{background:#edf5ef;border-color:#d4e6d8;color:#2f6b3b}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}.stat-card,.panel{background:#fff;border:1px solid #dfe5e9;border-radius:10px}.stat-card{padding:18px}.stat-card span{display:block;color:#66737e;font-size:12px}.stat-card strong{display:block;font-size:28px;margin:7px 0 3px;color:#18212b}.stat-card small{color:#87929c}.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.panel{padding:18px;margin-bottom:14px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}.panel-head h2{font-size:15px;margin:0 0 3px}.panel-head p{font-size:11px;color:#7c8993;margin:0}.secondary-button{background:#f2f4f6;border:1px solid #dce2e7;color:#34414c;font-size:11px}.tier-list,.simple-list{display:grid;gap:8px}.tier-row,.simple-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #edf0f2;padding:8px 0;font-size:12px}.tier-row:last-child,.simple-row:last-child{border-bottom:0}.badge{display:inline-flex;align-items:center;border-radius:999px;background:#eef2f4;padding:4px 8px;font-size:10px;font-weight:700;color:#485560}.badge.good{background:#eaf4ec;color:#2e6b3b}.badge.warn{background:#f8efe1;color:#8a5c14}.badge.bad{background:#f7e8e8;color:#9a3535}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:760px}th,td{text-align:left;padding:10px 9px;border-bottom:1px solid #edf0f2;font-size:11px;white-space:nowrap}th{color:#75818b;font-size:10px;text-transform:uppercase;letter-spacing:.04em}td{color:#34414c}.empty{text-align:center;color:#8b959e;padding:25px}.banner{padding:10px 12px;border-radius:8px;margin-bottom:14px;font-size:12px}.banner.error{background:#f9eaea;border:1px solid #efd0d0;color:#8c3030}@media(max-width:1050px){.stats-grid{grid-template-columns:repeat(2,1fr)}.grid-two{grid-template-columns:1fr}}@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.sidebar nav{grid-template-columns:repeat(2,1fr)}.sidebar-footer{margin-top:18px}.content{padding:22px 16px}.stats-grid{grid-template-columns:1fr}.topbar{align-items:flex-start}.grid-two{grid-template-columns:1fr}}

/* Phase 5: license management */
[hidden]{display:none!important}.page-view{display:block}.banner.success{background:#edf5ef;border:1px solid #d4e6d8;color:#2f6b3b}.primary-button,.danger-button,.row-button,.copy-button,.icon-button{font:inherit;cursor:pointer}.primary-button{border:0;border-radius:8px;padding:10px 14px;background:#17202b;color:#fff;font-size:12px;font-weight:700}.danger-button{border:1px solid #e4c6c6;border-radius:8px;padding:9px 13px;background:#fff4f4;color:#913737;font-size:12px;font-weight:700}.license-toolbar{display:flex;gap:16px;align-items:end;justify-content:space-between}.filter-grid{display:grid;grid-template-columns:minmax(260px,1.8fr) minmax(150px,.7fr) minmax(150px,.7fr);gap:12px;flex:1}.filter-grid label,.form-grid label,.full-field{display:grid;gap:6px;font-size:11px;font-weight:700;color:#52606b}.filter-grid input,.filter-grid select,.form-grid input,.form-grid select,.full-field textarea{width:100%;border:1px solid #ccd4dc;border-radius:7px;padding:9px 10px;background:#fff;color:#26313b;outline:none}.filter-grid input:focus,.filter-grid select:focus,.form-grid input:focus,.form-grid select:focus,.full-field textarea:focus{border-color:#75879a;box-shadow:0 0 0 3px rgba(80,103,125,.1)}.licenses-table td:first-child strong{display:block;font-size:12px}.licenses-table td:first-child small{display:block;margin-top:3px;color:#89949d}.clickable-row{cursor:pointer}.clickable-row:hover{background:#fafbfc}.row-button{border:1px solid #dce2e7;background:#fff;border-radius:6px;padding:6px 9px;color:#3e4b56;font-size:10px}.mono,code{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace}.modal-backdrop{position:fixed;inset:0;z-index:50;background:rgba(11,16,21,.48);display:grid;place-items:center;padding:24px;overflow:auto}.modal-card{width:min(900px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#fff;border:1px solid #dce2e7;border-radius:12px;box-shadow:0 24px 70px rgba(0,0,0,.2);padding:22px}.editor-card{width:min(820px,100%)}.detail-card{width:min(980px,100%)}.modal-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:20px}.modal-head h2{margin:3px 0 0;font-size:21px}.icon-button{border:0;background:#f0f3f5;width:32px;height:32px;border-radius:7px;font-size:21px;line-height:1;color:#53616d}.form-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}.optional{font-weight:500;color:#9aa3ab}.full-field{margin-top:14px}.full-field textarea{resize:vertical}.modal-actions{display:flex;justify-content:flex-end;align-items:center;gap:9px;margin-top:18px;padding-top:16px;border-top:1px solid #edf0f2}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid #e2e7ea;border-radius:9px;overflow:hidden}.detail-grid>div{padding:13px 14px;border-bottom:1px solid #edf0f2}.detail-grid>div:nth-child(odd){border-right:1px solid #edf0f2}.detail-grid>div:last-child,.detail-grid>div:nth-last-child(2):nth-child(odd){border-bottom:0}.detail-grid .span-two{grid-column:1/-1;border-right:0!important}.detail-grid span{display:block;color:#7b8791;font-size:10px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px}.detail-grid strong{font-size:12px;color:#293640}.detail-grid p{margin:0;color:#45525e;font-size:12px;white-space:pre-wrap}.key-line{display:flex;align-items:center;gap:9px;justify-content:space-between}.key-line code{font-size:12px;color:#25313b;overflow-wrap:anywhere}.copy-button{border:1px solid #dce2e7;background:#f5f7f8;border-radius:6px;padding:5px 8px;font-size:10px;color:#40505c}.security-note{font-size:10px;color:#8a5c14;background:#f8efe1;border-radius:999px;padding:5px 8px}.detail-section{margin-top:20px}.detail-section h3{margin:0 0 9px;font-size:13px}.mini-table{border:1px solid #e5e9ec;border-radius:8px;overflow:hidden}.mini-head,.mini-row{display:grid;grid-template-columns:1.2fr .7fr 1fr .7fr;gap:10px;align-items:center;padding:9px 11px}.mini-head{background:#f6f8f9;color:#76828c;font-size:9px;text-transform:uppercase;letter-spacing:.04em}.mini-row{border-top:1px solid #edf0f2;font-size:11px;color:#3c4954}.mini-row code{font-size:10px}.timeline{border:1px solid #e5e9ec;border-radius:8px;overflow:hidden}.timeline-row{padding:10px 12px;border-bottom:1px solid #edf0f2}.timeline-row:last-child{border-bottom:0}.timeline-row>div{display:flex;justify-content:space-between;gap:16px}.timeline-row strong{font-size:11px}.timeline-row span{color:#88939c;font-size:10px}.timeline-row p{margin:5px 0 0;color:#5f6c76;font-size:10px;line-height:1.45}.empty.compact{padding:15px}.detail-body{min-height:80px}
@media(max-width:900px){.filter-grid{grid-template-columns:1fr 1fr}.filter-grid label:first-child{grid-column:1/-1}.license-toolbar{align-items:stretch;flex-direction:column}.license-toolbar .primary-button{align-self:flex-start}.form-grid.two,.detail-grid{grid-template-columns:1fr}.detail-grid>div{border-right:0!important}.detail-grid .span-two{grid-column:auto}.mini-head,.mini-row{grid-template-columns:1fr 1fr}.mini-head span:nth-child(n+3),.mini-row>*:nth-child(n+3){display:none}}

.activation-filters{grid-template-columns:minmax(260px,2fr) minmax(150px,1fr) minmax(150px,1fr)}
@media(max-width:760px){.activation-filters{grid-template-columns:1fr}}
.audit-details{white-space:normal;min-width:320px;max-width:720px}.success{background:#edf5ef;border:1px solid #d4e6d8;color:#2f6b3b}.security-note{font-size:11px;color:#6d7983}
