:root{color-scheme:dark;--bg:#0b0e14;--surface:#111720;--surface-2:#161e29;--line:#263140;--ink:#edf2f8;--muted:#9aa7b7;--subtle:#718093;--blue:#77a8ff;--green:#62d6a6;--yellow:#edc970;--red:#f18e8e;--radius:12px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-size:14px}.admin-shell{min-height:100vh}.admin-sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:#0e131b;border-right:1px solid var(--line);padding:24px 15px;display:flex;flex-direction:column;z-index:2}.admin-brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;padding:3px 7px 22px}.brand-mark{width:40px;height:40px;display:grid;place-items:center;background:#d72e42;color:#fff;font-size:19px;font-weight:900;font-style:italic;border-radius:10px;box-shadow:inset 0 -4px #941a2b}.admin-brand strong{display:block;font-size:15px;letter-spacing:.5px}.admin-brand small{display:block;margin-top:3px;color:var(--subtle);font-size:9px;letter-spacing:1.5px}.demo-pill{margin:0 5px 24px;padding:9px 10px;border:1px solid #614d2b;background:#282115;color:#e6c77b;border-radius:8px;font-size:11px;font-weight:700}.admin-nav{display:grid;gap:4px}.admin-nav button{height:42px;display:flex;align-items:center;gap:12px;padding:0 12px;color:#aab5c4;border:0;border-radius:8px;background:transparent;text-align:left;font:inherit;cursor:pointer}.admin-nav button span{font-size:13px}.admin-nav button:hover{background:#17202c;color:var(--ink)}.admin-nav button.active{background:#1b2b43;color:#a9c8ff;box-shadow:inset 3px 0 var(--blue)}.sidebar-foot{margin-top:auto;padding:14px 8px 0;border-top:1px solid var(--line);font-size:12px;line-height:1.8;color:#b7c2d0}.sidebar-foot small{color:var(--subtle);font-size:11px}.status-dot{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:var(--yellow)}.admin-main{max-width:1580px;margin-left:238px;padding:28px 38px 22px}.admin-header{display:flex;align-items:end;justify-content:space-between;margin-bottom:23px}.eyebrow{display:block;color:var(--subtle);font-size:9px;font-weight:750;letter-spacing:1.8px}.admin-header h1{margin:5px 0 0;font-size:27px;line-height:1.2;letter-spacing:0}.header-actions{display:flex;align-items:center;gap:18px}.admin-date{color:var(--muted);font-size:12px}.back-link,.text-link{color:#a9c8ff;text-decoration:none;font-size:12px}.demo-banner{display:flex;gap:12px;align-items:flex-start;padding:13px 16px;margin:0 0 22px;border:1px solid #594a28;border-radius:9px;background:#211c12}.banner-icon{display:grid;place-items:center;flex:none;width:20px;height:20px;border:1px solid #a38b4e;border-radius:50%;color:#e8ce87;font-size:12px}.demo-banner strong{font-size:12px;color:#efdaa0}.demo-banner p{margin:4px 0 0;color:#c0b48f;font-size:11px;line-height:1.6}.admin-section{display:none}.admin-section.active{display:block}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:16px}.metric-card,.panel-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.metric-card{min-height:122px;padding:16px 17px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:7px}.metric-card>span{font-size:11px;color:var(--muted)}.metric-card strong{font-size:27px;line-height:1;font-weight:720;font-variant-numeric:tabular-nums}.metric-card small{font-size:10px;color:var(--muted)}.metric-card em{margin-left:4px;color:var(--subtle);font-style:normal}.positive{color:var(--green)!important}.overview-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(310px,1fr);gap:14px;margin-bottom:14px}.overview-grid.lower{grid-template-columns:1fr 1fr}.panel-card{padding:19px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.panel-heading h2{margin:5px 0 0;font-size:16px;font-weight:650}.chart-note{color:var(--subtle);font-size:11px}.bar-chart{height:145px;display:flex;align-items:end;gap:10px;padding:16px 5px 0;border-bottom:1px solid var(--line)}.bar-chart i{display:block;flex:1;height:calc(var(--v)*1%);min-height:6px;border-radius:4px 4px 0 0;background:linear-gradient(180deg,#7baaff,#375a92);opacity:.9}.chart-axis{display:flex;justify-content:space-between;margin-top:8px;color:var(--subtle);font-size:10px}.healthy{padding:5px 8px;border:1px solid #244d41;border-radius:99px;background:#10241e;color:var(--green);font-size:10px}.health-list,.event-list,.role-mix ul,.team-list ul{list-style:none;padding:0;margin:15px 0 0}.health-list li{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:9px;padding:11px 0;border-top:1px solid #202a37}.health-icon{width:20px;height:20px;display:grid;place-items:center;border-radius:6px;font-size:11px}.health-icon.ok{background:#153128;color:var(--green)}.health-icon.pause{background:#302a1c;color:var(--yellow)}.health-list strong,.event-list strong{display:block;font-size:12px;font-weight:600}.health-list small,.event-list small{display:block;margin-top:4px;color:var(--subtle);font-size:10px}.health-list b{font-size:10px;color:var(--green)}.health-list b.muted{color:var(--yellow)}.role-mix{display:flex;align-items:center;gap:28px;margin-top:14px}.donut{width:128px;height:128px;flex:none;display:grid;place-items:center;border-radius:50%;background:conic-gradient(#6799ed 0 82.5%,#63d5a5 82.5% 96.6%,#e4c46d 96.6% 100%);position:relative}.donut:before{content:"";position:absolute;inset:13px;border-radius:50%;background:var(--surface)}.donut>span{position:relative;text-align:center;font-size:18px;font-weight:700}.donut small{display:block;margin-top:2px;color:var(--subtle);font-size:9px;font-weight:400}.role-mix ul{flex:1;margin:0}.role-mix li{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:8px;padding:8px 0;color:var(--muted);font-size:11px}.role-mix li b{color:var(--ink);font-size:11px}.dot{width:8px;height:8px;border-radius:50%}.dot.personal{background:#6799ed}.dot.coach{background:#63d5a5}.dot.pending{background:#e4c46d}.event-list li{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;padding:10px 0;border-top:1px solid #202a37}.event-avatar{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;font-size:11px;font-weight:700}.event-avatar.blue{color:#a9c8ff;background:#1a2c46}.event-avatar.yellow{color:#efdaa0;background:#302a1c}.event-avatar.green{color:#8ee1bf;background:#153128}.event-list em{font-size:10px;color:var(--subtle);font-style:normal}.admin-footer{margin-top:25px;padding-top:14px;border-top:1px solid #1b2430;color:var(--subtle);font-size:10px}.section-intro{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px}.section-intro h2{margin:5px 0 0;font-size:20px}.section-intro p{margin:7px 0 0;color:var(--muted);font-size:12px;line-height:1.6}.read-only-tag{padding:5px 9px;border:1px solid var(--line);border-radius:6px;color:var(--muted);font-size:10px}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px;border:1px solid var(--line);border-radius:10px 10px 0 0;background:#10161f}.toolbar label{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px}.toolbar select,.search-field input{height:34px;min-width:114px;padding:0 10px;border:1px solid #344151;border-radius:7px;background:#121a24;color:var(--ink);font:inherit;font-size:11px}.search-field{height:34px;min-width:220px;padding:0 9px;border:1px solid #344151;border-radius:7px;background:#121a24}.search-field span{color:var(--subtle);font-size:19px}.search-field input{flex:1;min-width:0;height:30px;border:0;background:transparent;outline:0}.toolbar-count{margin-left:auto;color:var(--subtle);font-size:10px}.table-wrap{overflow:auto;border:1px solid var(--line);border-top:0;border-radius:0 0 10px 10px;background:var(--surface)}table{width:100%;min-width:850px;border-collapse:collapse;text-align:left}th{height:40px;background:#151d28;color:var(--subtle);font-size:10px;font-weight:600}td,th{padding:0 14px;border-bottom:1px solid #202a37}td{height:57px;color:var(--muted);font-size:11px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#151e29}.user-cell{display:flex;align-items:center;gap:9px}.user-avatar{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;background:#253750;color:#b8d0ff;font-size:11px;font-weight:700}.user-name{color:var(--ink);font-weight:600}.user-meta{display:block;margin-top:3px;color:var(--subtle);font-size:9px}.role-tag,.status-tag,.consent-tag{display:inline-flex;align-items:center;padding:4px 7px;border:1px solid var(--line);border-radius:6px;font-size:9px;white-space:nowrap}.role-tag.coach{border-color:#295044;background:#14281f;color:#8fe0bf}.role-tag.personal{border-color:#2c4461;background:#172538;color:#adcaff}.status-tag.active{color:var(--green)}.status-tag.pending{color:var(--yellow)}.status-tag.paused{color:#e59a9a}.consent-tag{color:#afbdd0}.row-open{padding:6px 8px;border:1px solid #344151;border-radius:6px;background:#151d28;color:#b9caff;font:inherit;font-size:10px;cursor:pointer}.row-open:hover{border-color:#668bcc}.text-link{border:0;background:transparent;font:inherit;cursor:pointer}.team-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:14px}.team-feature{min-height:205px;display:grid;grid-template-columns:54px 1fr auto;align-content:start;column-gap:15px;padding:23px}.team-symbol{grid-row:span 3;width:48px;height:48px;display:grid;place-items:center;border-radius:13px;background:#182b3d;color:#9ec3ff;font-size:24px}.team-feature h3{margin:7px 0;font-size:20px}.team-feature p{max-width:430px;margin:0;color:var(--muted);font-size:12px;line-height:1.8}.team-feature>strong{grid-column:3;grid-row:1/3;font-size:29px;color:var(--green)}.team-feature>small{grid-column:3;grid-row:3;color:var(--subtle);font-size:10px}.team-list h3{margin:0 0 12px;font-size:15px}.team-list li{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid #202a37;color:var(--muted);font-size:11px}.team-list b{color:var(--ink);font-size:10px}.content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.content-item{min-height:83px;display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;padding:15px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.content-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;font-size:16px}.content-icon.blue{background:#182b42;color:#9ec3ff}.content-icon.green{background:#142b23;color:#83d9b5}.content-icon.yellow{background:#302918;color:#e8ce87}.content-icon.purple{background:#292239;color:#c2b1f1}.content-item strong,.content-item small{display:block}.content-item strong{font-size:12px}.content-item small{margin-top:5px;color:var(--subtle);font-size:10px}.content-item>b{color:var(--green);font-size:9px;font-weight:500}.content-item:nth-child(2)>b{color:var(--yellow)}.usage-metrics{margin-bottom:14px}.endpoint-table{max-width:820px}.endpoint-row{display:grid;grid-template-columns:150px minmax(100px,1fr) 55px;align-items:center;gap:15px;margin-top:20px;color:var(--muted);font-size:11px}.endpoint-row b{text-align:right;color:var(--green);font-size:11px}.progress{height:7px;overflow:hidden;border-radius:99px;background:#263140}.progress i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#60cba0,#8ce0b9)}.audit-list{border:1px solid var(--line);border-radius:10px;background:var(--surface)}.audit-list article{min-height:72px;display:grid;grid-template-columns:55px 30px minmax(0,1fr) 75px;align-items:center;gap:11px;padding:12px 16px;border-bottom:1px solid #202a37}.audit-list article:last-child{border-bottom:0}.audit-list time{color:var(--subtle);font-variant-numeric:tabular-nums;font-size:11px}.audit-icon{width:27px;height:27px;display:grid;place-items:center;border-radius:8px}.audit-icon.green{background:#153128;color:var(--green)}.audit-icon.blue{background:#172b43;color:#9ec3ff}.audit-icon.yellow{background:#302918;color:var(--yellow)}.audit-icon.red{background:#321f23;color:var(--red)}.audit-list strong{font-size:12px}.audit-list p{margin:4px 0 0;color:var(--subtle);font-size:10px}.audit-list em{text-align:right;color:var(--muted);font-size:10px;font-style:normal}.detail-dialog{width:min(470px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid #344151;border-radius:12px;background:var(--surface);color:var(--ink);box-shadow:0 28px 90px #0009}.detail-dialog::backdrop{background:#05080dcc;backdrop-filter:blur(6px)}.detail-card{position:relative;padding:27px}.detail-close{position:absolute;right:16px;top:14px;border:0;background:transparent;color:var(--muted);font-size:24px;cursor:pointer}.detail-card h2{margin:6px 0 20px;font-size:22px}.detail-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.detail-field{padding:11px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.detail-field span{display:block;color:var(--subtle);font-size:10px}.detail-field strong{display:block;margin-top:6px;font-size:12px}.detail-note{margin:17px 0 0;color:var(--subtle);font-size:10px;line-height:1.7}.admin-section [hidden]{display:none!important}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #88b3ff;outline-offset:2px}
@media(max-width:1050px){.admin-sidebar{width:205px}.admin-main{margin-left:205px;padding:24px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-grid{grid-template-columns:1fr 1fr}.overview-grid.lower{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.admin-sidebar{position:sticky;top:0;width:auto;height:auto;padding:10px 12px;display:block;border-right:0;border-bottom:1px solid var(--line)}.admin-brand{display:inline-flex;padding:0 0 7px}.brand-mark{width:32px;height:32px}.admin-brand strong{font-size:12px}.demo-pill{position:absolute;right:12px;top:16px;margin:0;padding:7px 8px;font-size:9px}.admin-nav{display:flex;gap:3px;overflow:auto;padding-bottom:1px}.admin-nav button{flex:none;height:36px;gap:7px;padding:0 9px;font-size:12px}.admin-nav button span{font-size:10px;white-space:nowrap}.sidebar-foot{display:none}.admin-main{margin:0;padding:20px 14px}.admin-header{align-items:center}.admin-header h1{font-size:23px}.admin-date{display:none}.header-actions{gap:0}.back-link{font-size:10px}.demo-banner{padding:11px}.demo-banner p{font-size:10px}.overview-grid,.overview-grid.lower,.team-grid{grid-template-columns:1fr}.metric-card{min-height:100px;padding:13px}.metric-card strong{font-size:24px}.metric-grid{gap:8px}.panel-card{padding:15px}.role-mix{gap:18px}.donut{width:110px;height:110px}.toolbar{align-items:stretch}.search-field{width:100%;min-width:0}.toolbar label{flex:1;justify-content:space-between}.toolbar select{flex:1;min-width:0}.toolbar-count{width:100%;margin:0}.table-wrap{border-radius:0 0 8px 8px}.content-grid{grid-template-columns:1fr}.audit-list article{grid-template-columns:42px 28px minmax(0,1fr) 48px;gap:7px;padding:10px}.audit-list strong{font-size:11px}.audit-list p{font-size:9px}.team-feature{grid-template-columns:42px 1fr auto;padding:18px}.team-symbol{width:38px;height:38px}.team-feature h3{font-size:17px}.team-feature p{font-size:11px}.endpoint-row{grid-template-columns:105px minmax(60px,1fr) 45px;gap:9px;font-size:10px}.detail-fields{grid-template-columns:1fr 1fr}}
@media(max-width:360px){.admin-nav button{padding:0 7px}.admin-nav button span{font-size:9px}.detail-fields{grid-template-columns:1fr}}

/* Operational dashboard controls */
.refresh-button,.pagination button{height:34px;min-width:34px;border:1px solid #344151;border-radius:7px;background:#121a24;color:var(--muted);font:inherit;font-size:15px;cursor:pointer}.refresh-button:hover,.pagination button:hover:not(:disabled){border-color:#668bcc;color:var(--ink)}
.refresh-button{margin-left:0}.pagination{display:flex;align-items:center;justify-content:space-between;padding:12px 2px;color:var(--subtle);font-size:10px}.pagination>div{display:flex;gap:6px}.pagination button:disabled{opacity:.35;cursor:not-allowed}.detail-id{overflow-wrap:anywhere;font-size:10px!important;font-weight:500!important;color:var(--muted)}
.bar-chart i{position:relative}.bar-chart i:hover{background:linear-gradient(180deg,#a8c8ff,#4c75b6);opacity:1}
.admin-section[hidden]{display:none!important}
