html,body,#root{min-width:100%;min-height:100%;margin:0}.mahjong-page{color:#111;background:#f5f5f5;min-height:100vh;padding:10px;font-family:Arial,Microsoft YaHei,sans-serif}.mahjong-container{flex-direction:column;gap:15px;max-width:600px;margin:0 auto;display:flex;position:relative}.mahjong-buttons{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.mahjong-buttons button{cursor:pointer;touch-action:manipulation;background:#fff;border:1px solid #ccc;border-radius:5px;min-width:0;height:45px;padding:0 3px;font-size:16px;transition:transform 80ms,box-shadow 80ms,background-color 80ms,color 80ms}.mahjong-buttons button:active{color:#fff;background:#1677ff;transform:translateY(2px)scale(.94);box-shadow:inset 0 4px 8px #00000059}.plus-buttons button{color:#0050b3;background:#e6f7ff;border-color:#91d5ff}.minus-buttons button{color:#a8071a;background:#fff1f0;border-color:#ffa39e}.minus-buttons button:active{color:#fff;background:#e60012}.mahjong-spans{background:#fff;border-radius:8px;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;padding:10px;display:grid;box-shadow:0 2px 4px #0000000d}.mahjong-spans span{text-align:center;font-size:18px;font-weight:700}.pending-values{align-content:center;min-height:66px}.pending-values span{height:24px;line-height:24px}.pending-values span.changed{color:#e60012;text-shadow:0 0 1px #e6001233}.remaining span{color:#555}.mahjong-controls,.mahjong-stats{background:#fff;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 15px;display:flex;box-shadow:0 2px 4px #0000000d}.mahjong-controls>div{align-items:center;gap:5px;display:flex}.mahjong-controls h4,.mahjong-controls h2,.mahjong-stats h3{margin:0;font-size:16px}.mahjong-controls input{text-align:center;border:1px solid #ccc;border-radius:4px;width:50px;height:30px;font-size:16px}.mahjong-controls button,.mahjong-stats button{color:#fff;cursor:pointer;background:#52c41a;border:0;border-radius:4px;height:35px;padding:0 15px;font-size:16px}.mahjong-controls .undo{background:#fa541c;padding:0 12px}.mahjong-controls button:disabled{background:#bfbfbf}.mahjong-results{background:#fff;border-radius:8px;grid-template-rows:repeat(2,48px);grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;min-height:134px;padding:15px 10px;display:grid;position:relative;box-shadow:0 2px 4px #0000000d}.mahjong-results h5{text-align:center;white-space:nowrap;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;margin:0;font-size:14px;line-height:1;display:flex;overflow:hidden}.mahjong-results h5 span,.mahjong-results h5 strong{text-overflow:clip;max-width:100%;font:inherit;display:block;overflow:hidden}.mahjong-results h5 strong{font-weight:700}.mahjong-results h5.win{color:#e60012}.result-loading{border-radius:inherit;color:#555;background:#ffffffd6;place-items:center;font-size:15px;font-weight:700;display:grid;position:absolute;inset:0}.mahjong-stats h3{color:#666;font-size:15px}.mahjong-stats button{background:#1890ff;height:40px;padding:0 20px;transition:transform 80ms,box-shadow 80ms,background-color 80ms}.mahjong-stats button:active{background:#0050b3;transform:translateY(2px);box-shadow:inset 0 4px 8px #00000061}.mahjong-error{color:#a8071a;text-align:center;background:#fff1f0;border-radius:8px;padding:10px}.mahjong-tools{justify-content:flex-end;gap:8px;display:flex}.mahjong-tools button{color:#333;cursor:pointer;background:#fff;border:1px solid #d9d9d9;border-radius:6px;height:32px;padding:0 12px;font-size:14px}.mahjong-tools .help-button{color:#1677ff;border-color:#91caff;width:32px;padding:0;font-size:18px;font-weight:700}.mahjong-lock{text-align:center;background:#fff;border-radius:12px;width:min(340px,88vw);margin:15vh auto;padding:22px;box-shadow:0 12px 36px #00000040}.mahjong-lock small{color:#555;margin:14px 0 0;display:block}.mahjong-lock .login-field{text-align:left;grid-template-columns:52px 1fr;align-items:center;gap:10px;margin-top:12px;display:grid}.mahjong-lock .login-field span{font-size:16px}.mahjong-lock input{text-align:center;border:1px solid #ccc;border-radius:6px;width:100%;height:40px;font-size:16px}.mahjong-lock button{color:#fff;background:#52c41a;border:0;border-radius:6px;width:100px;height:40px;margin-top:14px;font-size:16px}.mapping-backdrop{z-index:20;background:#0000008c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.mapping-dialog{color:#111;background:#fff;border-radius:12px;width:min(380px,100%);max-height:calc(100vh - 32px);padding:22px;overflow:auto;box-shadow:0 12px 36px #00000040}.mapping-dialog h3{text-align:center;margin:0 0 14px}.mapping-dialog dl{margin:0}.mapping-dialog dl>div{border-bottom:1px solid #eee;grid-template-columns:72px 1fr;gap:10px;padding:8px 0;display:grid}.mapping-dialog dt{font-weight:700}.mapping-dialog dd{margin:0;line-height:1.45}.rebate-help{color:#333;background:#f0f7ff;border-radius:8px;margin-top:14px;padding:12px}.rebate-help p{margin:6px 0 0;line-height:1.6}.mapping-dialog button{color:#fff;background:#1677ff;border:0;border-radius:6px;width:96px;height:36px;margin:18px auto 0;display:block}.settings-dialog{color:#111;background:#fff;border-radius:12px;width:min(340px,100%);padding:22px;box-shadow:0 12px 36px #00000040}.settings-dialog label{justify-content:space-between;align-items:center;gap:14px;font-weight:700;display:flex}.settings-dialog input{text-align:center;border:1px solid #ccc;border-radius:7px;width:110px;height:38px;font-size:17px}.settings-dialog button{color:#fff;background:#1677ff;border:0;border-radius:6px;width:96px;height:36px;margin:18px auto 0;display:block}.confirm-dialog{color:#111;text-align:center;background:#fff;border-radius:14px;width:min(380px,100%);padding:24px 22px;box-shadow:0 18px 48px #00000052}.confirm-dialog h3{margin:0 0 14px;font-size:22px}.confirm-dialog p{color:#666;margin:0;line-height:1.6}.confirm-actions{grid-template-columns:1fr 1fr;gap:12px;margin-top:22px;display:grid}.confirm-actions button{cursor:pointer;border-radius:8px;height:42px;font-size:16px}.confirm-actions .cancel{color:inherit;background:0 0;border:2px solid #69c0ff}.confirm-actions .confirm-new,.confirm-actions .confirm-undo,.confirm-actions .confirm-logout{color:#fff;background:#52c41a;border:0}.confirm-actions .confirm-undo,.confirm-actions .confirm-logout{background:#fa541c}.matrix13-game-page{--arena-bg:#073d32;--arena-bg-2:#0c5a47;--panel:#f5efd9;--panel-soft:#e6dcc0;--ink:#153a31;--muted:#60786f;--accent:#d6b15a;--accent-2:#2f8c6b;--button:#fffaf0;--button-edge:#b8a573;--danger:#e60012;--shadow:#00000057;background:radial-gradient(circle at 50% 0,var(--arena-bg-2),var(--arena-bg) 62%);color:var(--ink);padding:8px}.matrix13-game-page.theme-luxury{--arena-bg:#090909;--arena-bg-2:#35120e;--panel:#16120e;--panel-soft:#251b12;--ink:#f8e3a3;--muted:#c5a96a;--accent:#e6bb55;--accent-2:#8e1717;--button:#211911;--button-edge:#b9852e;--shadow:#000000b3}.matrix13-game-page.theme-chinese{--arena-bg:#211714;--arena-bg-2:#6a211b;--panel:#f0dfbd;--panel-soft:#dbc293;--ink:#34231d;--muted:#79665b;--accent:#b98a38;--accent-2:#8c2f28;--button:#f8ebce;--button-edge:#a97d3c;--shadow:#230c0880}.matrix13-game-page .game-layout{border:3px solid var(--accent);background:linear-gradient(145deg,var(--panel),var(--panel-soft));max-width:520px;box-shadow:0 16px 44px var(--shadow),inset 0 0 0 3px color-mix(in srgb,var(--panel),var(--accent) 22%);border-radius:18px;gap:11px;padding:12px}.matrix13-game-page.theme-luxury .game-layout{background:linear-gradient(135deg,#080808,var(--panel) 46%,#080808);box-shadow:0 18px 48px var(--shadow),inset 0 0 0 1px var(--accent);border-width:2px}.matrix13-game-page.theme-chinese .game-layout{background:linear-gradient(160deg,var(--panel),var(--panel-soft));box-shadow:0 18px 46px var(--shadow),inset 7px 0 0 color-mix(in srgb,var(--accent-2),transparent 25%),inset -7px 0 0 color-mix(in srgb,var(--accent-2),transparent 25%);border-width:2px;border-radius:8px}.game-toolbar{grid-template-columns:1fr auto;align-items:center;gap:8px;display:grid}.theme-switch{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.theme-switch button{border:1px solid var(--button-edge);background:var(--button);min-width:0;height:34px;color:var(--ink);cursor:pointer;border-radius:7px;padding:0 4px;font-size:13px}.theme-switch button[aria-pressed=true]{background:var(--accent-2);color:#fff;border-color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent),transparent 35%)}.theme-luxury .theme-switch button[aria-pressed=true]{background:linear-gradient(135deg,#6f1212,var(--accent));color:#140e08}.theme-chinese .theme-switch button[aria-pressed=true]{background:var(--accent-2);color:#fff8e8}.matrix13-game-page .mahjong-tools{gap:4px}.matrix13-game-page .mahjong-tools button{border-color:var(--button-edge);background:var(--button);height:34px;color:var(--ink);padding:0 9px}.matrix13-game-page .mahjong-tools .help-button{width:34px;color:var(--accent-2)}.matrix13-game-page .mahjong-tools .settings-button{max-width:150px;color:var(--accent-2);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.game-status{border-block:1px solid var(--button-edge);color:var(--muted);justify-content:space-between;align-items:center;padding:7px 10px;font-size:13px;display:flex}.game-status strong{color:var(--ink)}.matrix13-game-page .mahjong-buttons{gap:5px}.matrix13-game-page .mahjong-buttons button{border:1px solid var(--button-edge);background:var(--button);height:42px;color:var(--ink);box-shadow:0 2px 4px color-mix(in srgb,var(--shadow),transparent 35%);border-bottom-width:4px;border-radius:7px;font-weight:700}.matrix13-game-page.theme-luxury .mahjong-buttons button{background:linear-gradient(145deg,var(--panel-soft),var(--button));color:var(--ink);border-width:2px;border-radius:999px}.matrix13-game-page.theme-chinese .mahjong-buttons button{border-inline-width:2px;border-radius:3px}.matrix13-game-page .plus-buttons button{background:color-mix(in srgb,var(--button),var(--accent-2) 12%)}.matrix13-game-page .minus-buttons button{background:color-mix(in srgb,var(--button),var(--danger) 10%);color:color-mix(in srgb,var(--ink),var(--danger) 42%)}.matrix13-game-page .plus-buttons button:active{background:var(--accent-2);color:#fff;box-shadow:inset 0 4px 9px var(--shadow)}.matrix13-game-page .minus-buttons button:active{background:var(--danger);color:#fff;box-shadow:inset 0 4px 9px var(--shadow)}.matrix13-game-page .mahjong-spans{border:1px solid var(--button-edge);background:color-mix(in srgb,var(--panel),var(--accent) 7%);box-shadow:none;border-radius:7px;gap:5px;padding:7px}.matrix13-game-page .mahjong-spans span{color:var(--ink);padding:3px 0;font-size:15px}.matrix13-game-page .pending-values span{color:var(--muted)}.matrix13-game-page .pending-values span.changed{color:var(--danger);text-shadow:0 0 6px color-mix(in srgb,var(--danger),transparent 65%)}.matrix13-game-page .mahjong-controls,.matrix13-game-page .mahjong-stats{border:1px solid var(--button-edge);background:color-mix(in srgb,var(--panel),var(--accent) 8%);color:var(--ink);box-shadow:none;border-radius:8px;padding:9px 10px}.matrix13-game-page .mahjong-controls input{border-color:var(--button-edge);background:var(--button);color:var(--ink)}.matrix13-game-page .mahjong-controls button,.matrix13-game-page .mahjong-stats button{background:var(--accent-2);color:#fff}.matrix13-game-page .mahjong-controls .undo{background:color-mix(in srgb,var(--danger),var(--accent) 25%)}.matrix13-game-page .mahjong-controls button:disabled{background:var(--muted);opacity:.55}.matrix13-game-page .mahjong-results{min-height:127px;box-shadow:none;background:0 0;border:0;grid-template-rows:repeat(2,minmax(52px,auto));gap:7px;padding:8px}.matrix13-game-page .mahjong-results h5{border:1px solid var(--button-edge);background:var(--button);color:var(--ink);box-shadow:inset 0 -3px 0 color-mix(in srgb,var(--button-edge),transparent 35%);border-radius:9px;gap:1px;padding:5px;line-height:1.2}.matrix13-game-page.theme-luxury .mahjong-results h5{background:linear-gradient(135deg,var(--panel-soft),var(--button));border-width:2px;border-radius:12px}.matrix13-game-page.theme-chinese .mahjong-results h5{border-top:3px solid var(--accent-2);border-radius:2px}.matrix13-game-page .mahjong-results h5.win{color:var(--danger)}.matrix13-game-page .result-loading{background:color-mix(in srgb,var(--panel),transparent 12%);color:var(--ink)}.matrix13-game-page .mahjong-stats h3{color:var(--muted)}.matrix13-game-page .mapping-dialog,.matrix13-game-page .confirm-dialog,.matrix13-game-page .settings-dialog{border:2px solid var(--accent);background:var(--panel);color:var(--ink)}.matrix13-game-page .mapping-dialog dl>div{border-color:var(--button-edge)}.matrix13-game-page .rebate-help{background:var(--panel-soft);color:var(--ink)}.matrix13-game-page .mapping-dialog button{background:var(--accent-2)}.matrix13-game-page .settings-dialog input{border-color:var(--button-edge);background:var(--button);color:var(--ink)}.matrix13-game-page .settings-dialog button{background:var(--accent-2)}.settings-dialog h3{text-align:center;margin:0 0 18px}.settings-menu .settings-menu-item{border:2px solid var(--accent);background:var(--accent-2);color:#fff;width:100%;height:46px;box-shadow:0 3px 0 color-mix(in srgb,var(--accent-2),#000 28%);text-align:left;justify-content:space-between;align-items:center;margin:8px 0;padding:0 14px;font-size:14px;font-weight:600;display:flex}.settings-menu .settings-menu-item strong{border:1px solid var(--accent);background:var(--button);min-width:34px;height:28px;color:var(--ink);border-radius:7px;place-items:center;padding:0 8px;font-size:14px;font-weight:700;display:grid}.settings-menu .settings-menu-item:active{box-shadow:0 1px 0 color-mix(in srgb,var(--accent-2),#000 24%);transform:translateY(2px)}.theme-luxury .settings-menu .settings-menu-item{color:#fff6d1}.settings-menu .settings-close{margin-top:18px}.password-dialog{width:min(380px,100%)}.password-dialog label{margin-top:12px}.password-dialog label span{min-width:72px}.password-dialog input{width:min(190px,60%);padding:0 8px}.password-error{color:var(--danger);text-align:center;margin-top:12px}.password-success{background:color-mix(in srgb,var(--accent-2),transparent 88%);color:var(--accent-2);text-align:center;border-radius:8px;padding:18px;font-weight:700}.password-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;display:grid}.password-actions button{width:100%;margin:0}.password-actions button:only-child{grid-column:1/-1;justify-self:center;width:96px}.matrix13-game-page .password-actions .secondary{border:1px solid var(--button-edge);background:var(--button);color:var(--ink)}.matrix13-game-page .mahjong-stats button:active{background:var(--accent);color:var(--ink)}.matrix13-game-page .confirm-dialog p{color:var(--muted)}.matrix13-game-page .confirm-actions .cancel{border-color:var(--button-edge);background:var(--button);color:var(--ink)}.matrix13-game-page .confirm-actions .confirm-new{background:var(--accent-2)}.matrix13-game-page .confirm-actions .confirm-undo,.matrix13-game-page .confirm-actions .confirm-logout{background:color-mix(in srgb,var(--danger),var(--accent) 25%)}@media (width<=430px){.matrix13-game-page .game-layout{border-radius:12px;gap:9px;padding:9px}.game-toolbar{grid-template-columns:minmax(0,1fr) auto;gap:3px}.theme-switch{gap:2px;min-width:0}.theme-switch button{white-space:nowrap;height:30px;padding:0 2px;font-size:clamp(9px,2.7vw,11px)}.game-toolbar .mahjong-tools{white-space:nowrap;justify-content:flex-end;gap:2px;min-width:0}.matrix13-game-page .mahjong-tools button{height:30px;padding:0 4px;font-size:clamp(9px,2.7vw,11px)}.matrix13-game-page .mahjong-tools .settings-button{max-width:78px}.matrix13-game-page .mahjong-tools .help-button{width:28px;padding:0;font-size:16px}.matrix13-game-page .mahjong-buttons{gap:4px}.matrix13-game-page .mahjong-buttons button{height:39px;padding:0 1px;font-size:14px}.matrix13-game-page .mahjong-spans{gap:3px;padding:6px 4px}.matrix13-game-page .mahjong-spans span{font-size:14px}.matrix13-game-page .mahjong-controls{gap:5px;padding:8px 7px}.matrix13-game-page .mahjong-controls h4,.matrix13-game-page .mahjong-controls h2{font-size:14px}.matrix13-game-page .mahjong-controls button{padding:0 9px;font-size:14px}.matrix13-game-page .mahjong-results{gap:5px;padding:5px 0}.matrix13-game-page .mahjong-results h5{padding:6px 1px;font-size:11px;line-height:1.2}.matrix13-game-page{padding:0}.matrix13-game-page .game-layout{width:100%;max-width:none;min-height:100dvh;box-shadow:none;border-radius:0;margin:0}.matrix13-game-page.theme-luxury .game-layout,.matrix13-game-page.theme-chinese .game-layout{box-shadow:none;border-radius:0}}@media (width<=340px){.mahjong-page{padding:5px}.matrix13-game-page{padding:0}.matrix13-game-page .game-layout{padding:7px}.game-toolbar{gap:2px}.theme-switch button{font-size:9px}.matrix13-game-page .mahjong-tools button{padding:0 3px;font-size:9px}.matrix13-game-page .mahjong-tools .settings-button{max-width:68px}.matrix13-game-page .mahjong-tools .help-button{width:26px;font-size:15px}.matrix13-game-page .mahjong-buttons button{font-size:12px}.matrix13-game-page .mahjong-controls input{width:42px}.matrix13-game-page .mahjong-results h5{font-size:10px}}*{box-sizing:border-box}.admin-page{color:#17212b;background:#eef2f6;min-height:100vh;margin:0;padding:32px 18px;font-family:Microsoft YaHei,system-ui,sans-serif}.admin-page button,.admin-page input,.admin-page select{font:inherit}.admin-loading,.admin-login,.admin-denied{background:#fff;border:1px solid #ccd5df;border-radius:12px;width:min(420px,100%);margin:12vh auto 0;padding:28px;box-shadow:0 8px 28px #1e30411a}.admin-login h1,.admin-denied h1{margin:0 0 24px}.admin-login label,.admin-dialog label{grid-template-columns:80px 1fr;align-items:center;gap:10px;margin:14px 0;display:grid}.admin-login input,.admin-dialog input,.admin-dialog select{color:#101820;background:#fff;border:1px solid #9aa9b8;border-radius:6px;min-width:0;height:42px;padding:0 10px}.admin-page button,.admin-page a{color:#fff;cursor:pointer;background:#1769aa;border:0;border-radius:6px;text-decoration:none}.admin-login>button{width:100%;height:44px;margin-top:8px}.admin-login>a{color:#1769aa;text-align:center;background:0 0;margin-top:16px;display:block}.admin-page button:disabled{cursor:not-allowed;opacity:.55}.admin-error{color:#b42318}.admin-shell{background:#fff;border:1px solid #ccd5df;border-radius:12px;width:min(1480px,100%);margin:auto;overflow:hidden;box-shadow:0 8px 28px #1e304114}.admin-shell header{border-bottom:1px solid #d9e0e7;justify-content:space-between;align-items:center;gap:20px;padding:22px 26px;display:flex}.admin-shell h1{margin:0;font-size:24px}.admin-shell header p{color:#5b6875;margin:6px 0 0}.admin-shell nav{gap:10px;display:flex}.admin-shell nav a,.admin-shell nav button,.admin-denied a,.admin-denied button{place-items:center;height:38px;padding:0 16px;display:inline-grid}.admin-shell nav a,.admin-secondary{color:#283849!important;background:#fff!important;border:1px solid #7b8b9a!important}.admin-actions{justify-content:space-between;align-items:center;padding:18px 26px;display:flex}.admin-actions button{height:40px;padding:0 18px}.admin-actions span{color:#5b6875}.admin-notice{color:#176b3a;background:#eaf8f0;border:1px solid #8bc7a5;border-radius:6px;margin:0 26px 16px;padding:11px 14px}.admin-table-wrap{padding:0 26px 28px;overflow-x:auto}.admin-page table{border-collapse:collapse;width:100%}.admin-page th,.admin-page td{text-align:left;white-space:nowrap;border-bottom:1px solid #e1e6eb;padding:13px 10px}.admin-page th{color:#3f4f5f;background:#f4f6f8;font-size:14px}.admin-page td em{color:#13558d;background:#dcecff;border-radius:4px;margin-left:8px;padding:2px 6px;font-size:12px;font-style:normal}.admin-status{border-radius:999px;padding:4px 9px;font-size:13px;font-weight:700;display:inline-block}.admin-status.active{color:#126b37;background:#d9f2e3}.admin-status.disabled{color:#a22a22;background:#fde1df}.row-actions{gap:8px;display:flex}.row-actions button{height:34px;padding:0 11px}.row-actions .reset{color:#1769aa;background:#fff;border:1px solid #1769aa}.row-actions .disable,.admin-dialog .danger{background:#bd2c2c}.row-actions .enable{background:#17804b}.admin-backdrop{z-index:20;background:#0f182094;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.admin-dialog{background:#fff;border-radius:10px;width:min(430px,100%);padding:24px;box-shadow:0 18px 60px #0000004d}.admin-dialog h2{margin:0 0 18px}.admin-dialog>div{grid-template-columns:1fr 1fr;gap:10px;margin-top:20px;display:grid}.admin-dialog button{height:42px}.admin-dialog.confirm p{line-height:1.7}.admin-denied p{margin-bottom:24px}.admin-denied>div{gap:10px;display:flex}.admin-denied>div>*{flex:1}.row-actions .delete{background:#bd2c2c}.row-actions .ip-history{color:#344f68;background:#fff;border:1px solid #58758f}.row-actions{flex-wrap:wrap}.admin-page code{font-family:Consolas,Courier New,monospace;font-size:13px}.users-table{min-width:1280px}.users-table .row-actions{flex-wrap:nowrap}.access-ip-dialog{width:min(760px,100%)}.access-ip-dialog>div:last-child{justify-content:flex-end;display:flex}.access-ip-dialog>div:last-child button{width:120px}.access-ip-dialog .access-ip-table-wrap{max-height:55vh;margin-top:0;display:block;overflow:auto}.access-ip-table-wrap table{min-width:620px}.access-ip-empty{color:#657585;text-align:center;padding:28px 0}.access-ip-summary{color:#657585;margin:-8px 0 14px;font-size:13px}.admin-tabs{border-bottom:1px solid #e1e6eb;gap:8px;padding:16px 26px 0;display:flex}.admin-tabs button{color:#415263;background:#e8eef4;border-radius:6px 6px 0 0;padding:10px 18px}.admin-tabs button.active{color:#fff;background:#1769aa}.statistics-loading{color:#5b6875;text-align:center;padding:48px 26px}.statistics-panel{padding:20px 26px 30px}.statistics-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.statistics-toolbar>div{gap:8px;display:flex}.statistics-toolbar button{color:#34485a;background:#e8eef4;height:38px;padding:0 14px}.statistics-toolbar button.active{color:#fff;background:#1769aa}.statistics-cards,.runtime-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.metric-card{background:#f7f9fb;border:1px solid #d9e1e8;border-radius:8px;min-width:0;padding:16px}.metric-card span{color:#667585;margin-bottom:8px;font-size:13px;display:block}.metric-card strong{color:#17212b;font-size:22px}.statistics-panel h2{margin:28px 0 12px;font-size:18px}.statistics-table{padding:0;overflow-x:auto}.statistics-table td,.statistics-table th{font-variant-numeric:tabular-nums}@media (width<=680px){.admin-page{padding:12px}.admin-shell header{flex-direction:column;align-items:flex-start;padding:18px}.admin-shell nav{width:100%}.admin-shell nav>*{flex:1}.admin-actions{padding:16px 18px}.admin-table-wrap{padding:0 18px 20px;overflow:visible}.admin-page thead{display:none}.admin-page table,.admin-page tbody,.admin-page tr,.admin-page td{display:block}.users-table{min-width:0}.admin-page tr{border:1px solid #d8e0e7;border-radius:8px;margin-bottom:14px;padding:8px 12px}.admin-page td{white-space:normal;justify-content:space-between;align-items:center;gap:14px;padding:9px 0;display:flex}.admin-page td:before{content:attr(data-label);color:#657585;font-size:13px}.users-table td code{overflow-wrap:anywhere;text-align:right;max-width:70%}.users-table .row-actions{flex-wrap:wrap}.row-actions{justify-content:flex-end}.admin-login label,.admin-dialog label{grid-template-columns:70px 1fr}.admin-tabs{padding:12px 18px 0}.admin-tabs button{flex:1}.statistics-panel{padding:16px 18px 24px}.statistics-toolbar{flex-direction:column;align-items:stretch}.statistics-toolbar>div{grid-template-columns:repeat(3,1fr);display:grid}.statistics-toolbar>.admin-secondary{width:100%}.statistics-cards,.runtime-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card{padding:13px}.metric-card strong{font-size:18px}.statistics-table{padding:0}.access-ip-table-wrap table{min-width:0}.access-ip-dialog>div:last-child button{width:100%}}
