:root{--green:#07b66a;--green-dark:#07894f;--green-light:#e9f8f0;--ink:#252b31;--muted:#89919a;--line:#e8ebee;--paper:#f7f8fa;--red:#bc5757;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-size:13px;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--paper);line-height:1.55}h1,h2,h3,p{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.48;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--green);outline-offset:3px}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.sidebar{position:fixed;inset:0 auto 0 0;width:210px;padding:28px 20px;background:var(--paper);border-right:1px solid #eceff1;z-index:15}.brand{display:flex;align-items:center;gap:11px;font-size:17px;font-weight:600}.brand-mark{width:37px;height:37px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:white;font-size:21px;font-weight:500}.brand small{display:block;color:var(--muted);font-size:10px;font-weight:400;letter-spacing:1px;margin-top:2px}.nav-caption{font-size:11px;color:#a0a6ae;margin:38px 12px 10px}.sidebar nav{display:grid;gap:5px}.sidebar nav a{height:42px;display:flex;align-items:center;gap:12px;padding:0 13px;border-radius:5px;color:#667079}.sidebar nav a>span{font-size:19px;width:20px;text-align:center;color:#89929a}.sidebar nav a:hover{background:#eff1f3}.sidebar nav a.active{background:var(--green-light);color:var(--green-dark);font-weight:600}.sidebar nav a.active>span{color:var(--green)}.sidebar-footer{position:absolute;bottom:26px;left:28px;color:#6f7c75;font-size:12px}.sidebar-footer>span:last-child{display:block;padding-left:12px;color:#a1a8ae;font-size:10px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:6px}.workspace{margin-left:210px;padding:22px 28px 20px;max-width:2200px}.topbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}.topbar h1{font-size:22px;font-weight:500}.topbar p{color:var(--muted);font-size:11px;margin-top:3px}.session{display:flex;align-items:center;gap:13px;font-size:12px}.session>div{display:flex;align-items:center;gap:8px}.session strong{font-weight:500}.session #session-role{padding:1px 6px;border:1px solid #dcebe2;background:#f0f8f3;color:#69917a;font-size:10px;border-radius:3px}.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 12px;border:1px solid #dfe4e8;background:white;color:#5d6870;border-radius:4px;white-space:nowrap;font-size:12px}.button:hover{border-color:#a4cdb7;color:var(--green-dark)}.button.primary{background:var(--green);border-color:var(--green);color:white}.button.danger{background:#fff8f8;border-color:#e7bcbc;color:#b44e4e}.button.small{height:27px;padding:0 9px;font-size:11px}.text-button{border:0;background:none;color:var(--green-dark);padding:4px;font-size:12px}.icon-button{border:0;background:none;color:#8b959d;font-size:24px;line-height:1;padding:4px}.panel{background:white;border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:13px;box-shadow:0 1px 3px #26344503}.panel-header{padding:15px 18px 12px;display:flex;align-items:center;justify-content:space-between;gap:14px}.panel-header h2{font-size:14px;font-weight:600}.panel-header p,.panel-caption{font-size:11px;color:#949da5}.panel-header p{margin-top:3px}.panel-caption{padding:10px 18px;border-top:1px solid #edf0f2}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 18px;background:white;border:1px solid var(--line);border-radius:7px;margin-bottom:13px}.toolbar label{display:flex;gap:8px;align-items:center;font-size:12px;color:#7b8690}.toolbar input,.toolbar select{height:31px;border:1px solid #dfe4e8;border-radius:4px;padding:0 9px;background:white;color:#53606a}.toolbar .search-input{width:255px}.toolbar .push-right{margin-left:auto}.muted{color:#929ca5;font-size:11px}.table-scroll{width:100%;max-height:calc(100vh - 260px);overflow:auto;scrollbar-width:thin;scrollbar-color:#c7ced3 #f4f6f7}table{border-collapse:separate;border-spacing:0;width:100%;font-size:12px}th,td{padding:8px 13px;height:36px;border-bottom:1px solid #edf0f2;border-right:1px solid #f2f4f5;white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}thead{position:sticky;top:0;z-index:3}th{background:#f8f9fb;color:#606b75;font-size:11px;font-weight:500;height:33px}th:first-child,td:first-child{text-align:left}td{color:#5b6871;background:white}tbody tr:nth-child(even) td{background:#fdfdfe}tbody tr:hover td{background:#f3faf6}th button{font:inherit;color:inherit;border:0;background:none;padding:0}th button:hover{color:var(--green)}.text-cell{text-align:left}.wrap-cell{white-space:normal;min-width:180px;max-width:420px}.row-link{font:inherit;color:var(--green-dark);border:0;background:none;padding:0}.no-rows{height:120px;text-align:center!important;color:#99a3ab}.table-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 18px;color:#8b969e;font-size:11px}.pagination{display:flex;align-items:center;gap:7px}.missing{color:#b1b8bd}.message{padding:10px 13px;border:1px solid #dcece3;background:#f1f8f4;color:#618070;border-radius:5px;font-size:12px;margin-bottom:13px;white-space:pre-wrap}.message.error,.form-message.error{color:#b35151}.message.error{border-color:#edd8d8;background:#fdf6f6}.message.warning{border-color:#eee1c2;background:#fffaef;color:#987637}.empty-state{padding:75px 25px;text-align:center;color:#9ba4ac}.empty-state h2{font-size:16px;color:#6c7981;font-weight:500;margin-bottom:6px}.empty-state p{font-size:12px;margin:6px 0 16px}.analytics-frame{width:100%;height:calc(100vh - 106px);min-height:600px;border:0;background:var(--paper);display:block}.drawer-backdrop{position:fixed;inset:0;background:#24393025;z-index:25}.drawer{position:fixed;inset:0 0 0 auto;width:450px;max-width:100%;background:white;z-index:26;box-shadow:-12px 0 60px #24393018;display:flex;flex-direction:column}.drawer>header{padding:23px 24px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px}.drawer h2{font-size:18px;font-weight:500}.drawer header p{font-size:12px;color:#98a1a8;margin-top:5px}.drawer-body{overflow:auto;flex:1;padding:12px 24px}.drawer footer{display:flex;justify-content:space-between;gap:10px;padding:17px 24px;border-top:1px solid var(--line)}.detail-list{display:grid;grid-template-columns:140px minmax(0,1fr);margin:0;font-size:12px}.detail-list dt,.detail-list dd{padding:8px 0;border-bottom:1px solid #f0f2f4}.detail-list dt{color:#939da5}.detail-list dd{margin:0;text-align:right;color:#52616b;overflow-wrap:anywhere}.drawer h3,.dialog h3{font-size:13px;margin:17px 0 8px;font-weight:500}.dialog{border:1px solid var(--line);border-radius:9px;padding:0;width:450px;max-width:calc(100vw - 30px);max-height:90vh;color:var(--ink);box-shadow:0 16px 75px #25382e24}.dialog.wide-dialog{width:640px}.dialog::backdrop{background:#24393040}.dialog header{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line)}.dialog h2{font-size:17px;font-weight:500}.dialog-body{padding:17px 22px;max-height:70vh;overflow:auto}.dialog footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 22px;border-top:1px solid var(--line)}.field{display:grid;gap:7px;font-size:12px;color:#6c7982;margin:0 0 15px}.field input,.field textarea{width:100%;border:1px solid #dfe4e8;border-radius:4px;min-height:35px;padding:7px 10px;color:#42525d;background:white}.field textarea{resize:vertical}.form-message{font-size:12px;min-height:20px;white-space:pre-wrap}.scope-list{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;margin:8px 0 18px;padding-left:18px;color:#74818a;font-size:12px}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);z-index:80;background:#354b3f;color:white;border-radius:5px;padding:10px 18px;font-size:12px;box-shadow:0 5px 25px #0002}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.help-copy{padding:0 18px 18px;color:#818e97;font-size:12px;line-height:1.9}.help-copy p+p{margin-top:9px}.help-copy strong{font-weight:500;color:#566b5d}.skip-link{position:fixed;top:-80px;left:220px;background:white;border:2px solid var(--green);padding:10px;z-index:100}.skip-link:focus{top:10px}.login-page{min-height:100vh;display:grid;place-items:center;padding:25px}.login-card{width:390px;max-width:100%;padding:33px 35px 26px;border:1px solid var(--line);border-radius:10px;background:white;box-shadow:0 5px 28px #26344506}.login-card .brand{margin-bottom:30px}.login-card h1{font-size:22px;font-weight:500}.login-description{font-size:12px;color:#8c979f;margin:7px 0 26px}.login-submit{width:100%;margin-top:5px;height:37px}.login-footer{font-size:11px;color:#a0a9b0;margin-top:22px;text-align:center}.login-card .field{margin-bottom:17px}.status-grid{padding:0 18px 18px}.status-grid .detail-list{grid-template-columns:170px 1fr}.table-scroll.cohort-scroll{max-height:390px}.badge{display:inline-block;border:1px solid #e1e8e4;background:#f7faf8;color:#81968a;font-size:10px;padding:0 5px;border-radius:3px}.login-card input{height:38px}
@media(max-width:1000px){.sidebar{width:175px;padding:25px 14px}.workspace{margin-left:175px;padding:20px}.session{gap:8px}.session>div{display:grid;gap:2px}.sidebar nav a{padding:0 10px}.topbar p{max-width:290px}.brand{font-size:15px}.help-grid{grid-template-columns:1fr}.table-scroll{max-height:calc(100vh - 285px)}}@media(max-width:700px){.sidebar{position:static;width:auto;padding:15px;border-right:0;border-bottom:1px solid var(--line)}.sidebar .brand,.nav-caption,.sidebar-footer{display:none}.sidebar nav{display:flex;overflow:auto;gap:4px}.sidebar nav a{white-space:nowrap;height:34px;padding:0 10px;font-size:12px}.sidebar nav a>span{display:none}.workspace{margin-left:0;padding:17px 13px}.topbar{align-items:flex-start;gap:10px}.topbar h1{font-size:20px}.topbar p{display:none}.session{gap:6px;flex-wrap:wrap;justify-content:flex-end}.session strong{max-width:90px;overflow:hidden;text-overflow:ellipsis}.session .button{height:27px}.toolbar{padding:12px;gap:8px}.toolbar .search-input{width:190px}.toolbar .push-right{margin-left:0}.table-footer{align-items:flex-start;flex-wrap:wrap}.analytics-frame{height:calc(100vh - 135px)}.scope-list{grid-template-columns:1fr}.drawer{width:100%}}

/* Compact help controls and the official game avatar. */
.brand-mark,.game-avatar{object-fit:contain;background:transparent;flex-shrink:0;border-radius:50%}.hint{display:inline-grid;place-items:center;width:14px;height:14px;padding:0;border:1px solid #bbc2c9;border-radius:50%;background:transparent;color:#969fa8;font-size:9px;font-weight:400;line-height:1;cursor:pointer;vertical-align:middle}.panel-header h2 .hint{margin-left:4px}.hint:hover{color:var(--green-dark);border-color:var(--green)}#metric-help-body,#portal-help-body{white-space:pre-wrap;line-height:1.9;color:#68747e}.table-toolbar{justify-content:flex-end}.coverage-line{display:flex;justify-content:space-between;gap:12px;color:#939da5;font-size:11px;margin:0 2px 12px}.table-header-meta{color:#939da5;font-size:11px;font-weight:400}.panel-header{padding-top:13px;padding-bottom:11px}.kpis{padding-bottom:15px}.login-card h1{margin-bottom:24px}
