:root{color-scheme:dark;--ink:#eaf0f4;--muted:#8796a4;--faint:#5a6977;--canvas:#10171d;--panel:#151e26;--panel-raised:#1b2731;--line:#263540;--line-soft:#202d37;--teal:#72d4c1;--teal-deep:#183c3a;--blue:#93abc1;--danger:#e38e92;--shadow:0 24px 70px rgba(0,0,0,.35);--font:'DM Sans',sans-serif;--display:'Manrope',sans-serif}
*{box-sizing:border-box}html{min-width:320px;background:var(--canvas)}body{margin:0;color:var(--ink);font:14px/1.5 var(--font);background:var(--canvas);min-height:100vh}button,input{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
/* Login */
.login-page{min-height:100vh;background:radial-gradient(ellipse at 50% 43%,#1a2a31 0, #10171d 52%);display:grid;place-items:center;padding:32px 20px}.login-shell{width:min(100%,440px)}.brand{display:inline-flex;align-items:center;gap:11px}.login-shell>.brand{margin:0 0 28px 8px}.brand-mark{width:30px;height:30px;display:flex;align-items:center;justify-content:center;gap:2px;transform:skew(-16deg)}.brand-mark span{display:block;width:7px;background:var(--teal);border-radius:2px}.brand-mark span:nth-child(1){height:13px;opacity:.55}.brand-mark span:nth-child(2){height:23px}.brand-mark span:nth-child(3){height:17px;opacity:.78}.brand-name{font:800 21px/1 var(--display);letter-spacing:-1.1px}.brand-name>span{color:var(--teal)}.login-panel{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:rgba(21,30,38,.93);box-shadow:var(--shadow)}.login-content{position:relative;z-index:1;padding:42px 44px 36px}.panel-orbit{position:absolute;width:370px;height:370px;border:1px solid rgba(114,212,193,.075);border-radius:50%;top:-270px;right:-185px;box-shadow:0 0 0 28px rgba(114,212,193,.018),0 0 0 58px rgba(114,212,193,.014)}.lock-icon{width:44px;height:44px;border:1px solid #31514f;background:#1b3435;color:var(--teal);display:grid;place-items:center;border-radius:12px;margin-bottom:27px}.lock-icon svg{width:21px;height:21px}.eyebrow{margin:0 0 9px;color:var(--teal);font-size:10px;font-weight:700;letter-spacing:1.15px}.login-content h1,.page-heading h1{font:700 29px/1.2 var(--display);letter-spacing:-1.15px;margin:0}.login-copy{color:var(--muted);margin:9px 0 27px}.login-form{display:flex;flex-direction:column}.login-form label,.dialog-card label{font-size:12px;font-weight:600;color:#b4c0c9;margin:0 0 7px}.login-form input,.dialog-card input{width:100%;height:46px;border:1px solid var(--line);border-radius:7px;background:#11191f;color:var(--ink);padding:0 13px;transition:border-color .15s,box-shadow .15s}.login-form input:focus,.dialog-card input:focus{outline:none;border-color:#6cbba9;box-shadow:0 0 0 3px rgba(114,212,193,.1)}.login-form label:not(:first-child){margin-top:18px}.password-wrap{position:relative}.password-wrap input{padding-right:46px}.password-toggle{position:absolute;right:9px;top:9px;width:28px;height:28px;border:0;background:transparent;color:var(--faint);cursor:pointer;display:grid;place-items:center}.password-toggle svg{width:17px;height:17px}.button{height:42px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid transparent;border-radius:7px;padding:0 15px;font-size:12px;font-weight:700;cursor:pointer;transition:background .16s,border-color .16s,transform .16s}.button:active{transform:translateY(1px)}.button-primary{color:#10221f;background:var(--teal)}.button-primary:hover{background:#8be1d0}.login-submit{height:46px;margin-top:25px}.login-submit span{font-size:17px;line-height:1}.secure-note{display:flex;justify-content:center;align-items:center;gap:8px;color:var(--faint);font-size:11px;margin-top:25px}.status-dot{width:7px;height:7px;display:inline-block;border-radius:50%;background:var(--teal);box-shadow:0 0 0 3px rgba(114,212,193,.1);flex:none}.login-footer{display:flex;justify-content:space-between;color:#586773;font-size:10px;margin:17px 8px 0}.login-footer span:first-child{letter-spacing:.8px}.form-error{border:1px solid #563a40;background:#2c2025;color:#f0a4a7;border-radius:6px;padding:9px 11px;font-size:12px;margin:-11px 0 17px}
/* App shell */
.dashboard-page{min-height:100vh}.sidebar{width:236px;position:fixed;inset:0 auto 0 0;background:#121a20;border-right:1px solid var(--line-soft);padding:25px 16px 17px;display:flex;flex-direction:column;z-index:5}.sidebar>.brand{padding:0 10px 36px}.sidebar-label{padding:0 10px;margin:0 0 10px;color:#63727e;font-size:9px;font-weight:700;letter-spacing:1.1px}.side-nav{display:grid;gap:4px}.side-link{height:41px;display:flex;align-items:center;gap:12px;padding:0 11px;border-radius:6px;color:#9baab5;font-size:12px;font-weight:600}.side-link svg{width:17px;height:17px;color:#80919d}.side-link:hover{background:#19252d;color:var(--ink)}.side-link.active{background:#1a302f;color:#b2e6da}.side-link.active svg{color:var(--teal)}.sidebar-bottom{margin-top:auto}.server-status{display:flex;align-items:center;gap:9px;color:#8998a2;padding:12px 10px 15px;font-size:10px;border-bottom:1px solid var(--line-soft)}.server-status .status-dot{width:6px;height:6px}.profile-row{display:flex;align-items:center;gap:10px;padding:15px 6px 0}.avatar{width:32px;height:32px;border-radius:8px;background:#24403e;border:1px solid #365b56;color:#a4e1d5;font:700 13px var(--display);display:grid;place-items:center}.profile-text{display:flex;flex:1;min-width:0;flex-direction:column}.profile-text strong{font-size:11px;font-weight:600}.profile-text span{font-size:10px;color:#71818d}.icon-button{border:0;background:transparent;color:#84939e;width:30px;height:30px;display:grid;place-items:center;border-radius:6px;cursor:pointer}.icon-button:hover{background:#23313a;color:var(--ink)}.icon-button svg{width:17px;height:17px}.main-area{margin-left:236px;min-height:100vh}.topbar{height:63px;border-bottom:1px solid var(--line-soft);display:flex;align-items:center;justify-content:space-between;padding:0 42px}.breadcrumbs{display:flex;gap:10px;align-items:center;color:#73828e;font-size:11px}.breadcrumbs strong{color:#cad3da;font-weight:600}.crumb-slash{color:#47545e}.topbar-right{display:flex;align-items:center;gap:22px}.live-indicator{display:flex;align-items:center;gap:8px;color:#8a9a9f;font-size:10px}.live-indicator .status-dot{width:6px;height:6px}.topbar-date{font-size:10px;color:#677782}.mobile-menu{display:none}.content-wrap{max-width:1240px;margin:0 auto;padding:39px 42px 20px}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.page-heading .eyebrow{margin-bottom:8px}.page-heading h1{font-size:30px}.page-subtitle{color:#84939e;margin:8px 0 0;font-size:12px}.plus-icon{font-size:19px;font-weight:400;line-height:0;margin-top:-2px}.metrics-row{display:flex;gap:1px;margin-top:31px;border:1px solid var(--line);border-radius:9px;background:var(--line);overflow:hidden}.metric-block{min-width:210px;flex:1;background:var(--panel);padding:16px 19px 15px;display:flex;flex-direction:column}.metric-label{font-size:10px;color:#84939e}.metric-block>strong{font:700 25px/1.3 var(--display);letter-spacing:-.8px;margin-top:3px}.metric-foot{display:flex;align-items:center;gap:7px;color:#697984;font-size:10px;margin-top:5px}.metric-mark{width:6px;height:6px;border-radius:1px;background:var(--teal)}.metric-note>strong{font-size:19px;letter-spacing:-.3px;margin-top:8px}.users-section{margin-top:29px;border:1px solid var(--line);background:var(--panel);border-radius:9px;overflow:hidden}.table-toolbar{padding:20px 20px 17px;display:flex;align-items:center;justify-content:space-between;gap:16px}.table-toolbar h2{margin:0;font:700 14px var(--display);letter-spacing:-.2px}.table-toolbar p{margin:5px 0 0;color:#74838e;font-size:10px}.search-field{width:min(290px,45%);height:36px;border:1px solid #2a3944;background:#11191f;border-radius:6px;display:flex;align-items:center;gap:9px;padding:0 9px;color:#758590}.search-field svg{width:15px;height:15px;flex:none}.search-field input{min-width:0;flex:1;background:transparent;border:0;outline:0;color:var(--ink);font-size:11px}.search-field input::placeholder{color:#65747f}.search-field kbd{font:9px var(--font);color:#65747f;border:1px solid #34434d;border-radius:3px;padding:1px 4px}.table-scroll{overflow-x:auto}.users-table{width:100%;border-collapse:collapse;text-align:left}.users-table th{height:37px;padding:0 20px;background:#18232b;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line);color:#72828d;font-size:9px;font-weight:600}.users-table td{height:55px;padding:0 20px;border-bottom:1px solid #202d36;color:#c5cfd6;font-size:11px;white-space:nowrap}.users-table tbody tr:last-child td{border-bottom:0}.users-table tbody tr:hover{background:#19242c}.id-cell{font:600 11px ui-monospace,SFMono-Regular,Menlo,monospace;color:#d5e0e5}.date-cell{color:#9ba9b3!important}.status-pill{display:inline-flex;align-items:center;gap:7px;border:1px solid #29423e;background:#1b302e;color:#a8dace;border-radius:20px;padding:4px 8px;font-size:9px}.status-pill .status-dot{width:5px;height:5px;box-shadow:none}.row-actions{display:flex;justify-content:flex-end;gap:4px}.row-action{width:28px;height:28px;border:1px solid transparent;background:transparent;color:#84939e;border-radius:5px;display:grid;place-items:center;cursor:pointer}.row-action:hover{border-color:#33424d;background:#202d36;color:var(--ink)}.row-action.delete:hover{color:var(--danger);border-color:#594044;background:#302326}.row-action svg{width:15px;height:15px}.table-footer{min-height:51px;padding:0 19px;border-top:1px solid var(--line-soft);display:flex;align-items:center;justify-content:space-between;color:#788792;font-size:10px}.pagination{display:flex;align-items:center;gap:10px;color:#bec8cf}.page-button{height:27px;width:27px;border:1px solid #30404a;border-radius:5px;background:#18232b;color:#bac5cc;font-size:19px;line-height:1;cursor:pointer}.page-button:disabled{opacity:.35;cursor:not-allowed}.loading-cell{text-align:center!important;color:#8796a4!important;height:115px!important}.spinner{display:inline-block;width:13px;height:13px;border:2px solid #3d515d;border-top-color:var(--teal);border-radius:50%;animation:spin .8s linear infinite;vertical-align:-2px;margin-right:9px}.empty-state{text-align:center;padding:40px 20px!important;white-space:normal!important}.empty-state strong{display:block;font:600 13px var(--display);color:#c5cfd6;margin-bottom:4px}.empty-state span{color:#7b8b96;font-size:11px}.page-footer{display:flex;justify-content:space-between;margin-top:22px;color:#566570;font-size:9px}.page-footer span:first-child{letter-spacing:.6px}.toast-region{position:fixed;right:22px;bottom:22px;z-index:20;display:grid;gap:8px}.toast{max-width:min(360px,calc(100vw - 32px));padding:12px 15px;background:#1c2a31;border:1px solid #34534e;border-radius:7px;color:#d4e4e3;box-shadow:var(--shadow);font-size:12px;animation:toast-in .2s ease-out}.toast.error{border-color:#69464b;background:#302226;color:#f1c3c4}.edit-dialog,.confirm-dialog{border:0;padding:0;background:transparent;color:var(--ink);max-width:calc(100vw - 28px);width:440px}.confirm-dialog{width:400px}.edit-dialog::backdrop,.confirm-dialog::backdrop{background:rgba(4,9,12,.72);backdrop-filter:blur(3px)}.dialog-card{border:1px solid #34434d;background:#172129;border-radius:11px;padding:24px;box-shadow:var(--shadow)}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px}.dialog-head h2,.confirm-dialog h2{font:700 19px var(--display);letter-spacing:-.5px;margin:0}.dialog-head .eyebrow{font-size:9px;margin-bottom:7px}.dialog-card>label{display:block;margin-top:15px}.dialog-card input{height:42px;font-size:12px}.field-hint{font-size:10px;color:#75848f;margin:7px 0 0}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px}.button-quiet{background:transparent;border-color:#35444e;color:#acb8c0}.button-quiet:hover{background:#22303a}.button-danger{background:#a84f57;color:#fff}.button-danger:hover{background:#bf6068}.delete-symbol{height:36px;width:36px;border:1px solid #684249;background:#38272b;border-radius:9px;color:#ed9ca0;display:grid;place-items:center;font-weight:700;margin-bottom:17px}.confirm-dialog .dialog-card>p{font-size:12px;color:#8d9ba5;line-height:1.65;margin:9px 0 0}.confirm-dialog .dialog-actions{margin-top:22px}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes toast-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){.sidebar{width:206px}.main-area{margin-left:206px}.topbar{padding:0 28px}.content-wrap{padding:33px 28px 20px}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:transform .2s ease;width:244px;box-shadow:var(--shadow)}.sidebar.open{transform:translateX(0)}.main-area{margin-left:0}.topbar{height:57px;padding:0 17px;justify-content:flex-start;gap:12px}.mobile-menu{display:grid;place-items:center;border:0;background:transparent;color:#9cabb5;padding:4px}.mobile-menu svg{width:19px}.topbar-right{margin-left:auto;gap:12px}.live-indicator{font-size:0}.live-indicator .status-dot{width:7px;height:7px}.topbar-date{font-size:9px}.breadcrumbs{font-size:10px}.content-wrap{padding:28px 17px 18px}.page-heading{align-items:flex-start}.page-heading h1{font-size:26px}.page-subtitle{max-width:270px;line-height:1.5}.page-heading>.button{height:37px;padding:0 10px;font-size:0;gap:3px;flex:none}.page-heading>.button .plus-icon{font-size:20px}.metrics-row{margin-top:23px}.metric-block{min-width:0;padding:13px 13px}.metric-block>strong{font-size:21px}.metric-note>strong{font-size:17px}.metric-label,.metric-foot{font-size:9px}.users-section{margin-top:22px}.table-toolbar{padding:16px 13px;align-items:flex-start;flex-direction:column}.search-field{width:100%}.users-table th{padding:0 12px}.users-table td{padding:0 12px}.users-table th:nth-child(3),.users-table td:nth-child(3){display:none}.users-table th:last-child,.users-table td:last-child{padding-right:9px}.table-footer{padding:0 12px}.page-footer{font-size:8px}.login-content{padding:35px 27px 30px}}
@media(max-width:420px){.page-heading{gap:9px}.page-heading .eyebrow{font-size:8px;letter-spacing:.7px}.page-heading h1{font-size:23px}.page-subtitle{font-size:10px}.metric-block{padding:12px 10px}.metric-label{font-size:8px}.metric-foot{font-size:8px}.table-toolbar h2{font-size:13px}.users-table th:first-child,.users-table td:first-child{padding-left:10px}.users-table th:nth-child(2),.users-table td:nth-child(2){padding-left:7px}.id-cell{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/* Player identity columns */
.users-table{min-width:920px}.users-table th:nth-child(1),.users-table td:nth-child(1){min-width:118px}.users-table th:nth-child(2),.users-table td:nth-child(2){min-width:145px}.users-table th:nth-child(3),.users-table td:nth-child(3){min-width:238px}.users-table th:nth-child(4),.users-table td:nth-child(4){min-width:112px}.users-table th:nth-child(5),.users-table td:nth-child(5){min-width:155px}.athilia-id-cell{color:#a9e3d7}.nickname-cell{font-weight:600}.nickname-value{color:#dce7e9}.uuid-cell{font:10px ui-monospace,SFMono-Regular,Menlo,monospace;color:#91a3ae;max-width:250px;overflow:hidden;text-overflow:ellipsis}.pending-pill{display:inline-flex;padding:4px 8px;border:1px solid #4b4737;border-radius:20px;background:#2b2922;color:#d6c68f;font-size:9px}
@media(max-width:760px){.users-table{min-width:1020px}.users-table th:nth-child(3),.users-table td:nth-child(3){display:table-cell}.users-table th:nth-child(4),.users-table td:nth-child(4){display:table-cell}}
/* Membership and moderation controls */
.bulk-panel{margin-top:18px;padding:16px 19px;border:1px solid var(--line);border-radius:9px;background:#162129;display:flex;align-items:center;justify-content:space-between;gap:18px}.bulk-copy h2{margin:0;font:700 13px var(--display)}.bulk-copy p{margin:4px 0 0;color:#7f8e99;font-size:10px}.bulk-controls{display:flex;align-items:center;gap:8px}.bulk-controls select,.bulk-controls input,.dialog-card select{height:37px;padding:0 10px;background:#11191f;border:1px solid #30404a;border-radius:6px;color:#cbd5dc;font:11px var(--font)}.bulk-controls input{width:185px}.bulk-controls .button{height:37px;white-space:nowrap}.bulk-days{display:flex;gap:4px}.bulk-days button{padding:5px 7px;border:1px solid #35464e;border-radius:5px;background:#1d2b32;color:#9ccfc4;font-size:9px;cursor:pointer}.bulk-days button:hover{background:#263b3d}.dialog-card select{width:100%;height:42px;font-size:12px}.dialog-card input[type=datetime-local]{color-scheme:dark}.quick-days{display:flex;gap:6px;margin:8px 0 12px}.quick-days button{padding:5px 9px;border:1px solid #35464e;border-radius:5px;background:#1d2b32;color:#9ccfc4;font-size:10px;cursor:pointer}.quick-days button:hover{background:#263b3d}.ban-toggle{display:flex!important;align-items:center;gap:9px;margin:15px 0!important;color:#e99da1!important}.ban-toggle input{width:15px;height:15px;accent-color:#cf6870}.expiry-label{display:block;color:#778893;font-size:9px;margin-top:4px}.status-pill.default{border-color:#394750;background:#212d34;color:#aab7bf}.status-pill.plus{border-color:#31534c;background:#1b332e;color:#abddca}.status-pill.premium{border-color:#665632;background:#342f22;color:#edd294}.ban-pill{display:inline-flex;margin-left:6px;padding:3px 7px;background:#3b2529;border:1px solid #674047;border-radius:12px;color:#eea6aa;font-size:9px}.users-table th:nth-child(1),.users-table td:nth-child(1){min-width:112px}.users-table th:nth-child(2),.users-table td:nth-child(2){min-width:140px}.users-table th:nth-child(3),.users-table td:nth-child(3){min-width:230px}.users-table th:nth-child(4),.users-table td:nth-child(4){min-width:105px}.users-table th:nth-child(5),.users-table td:nth-child(5){min-width:125px}.users-table th:nth-child(6),.users-table td:nth-child(6){min-width:150px}
.owned-capes{display:grid;gap:6px;padding:9px 11px;border:1px solid #30404a;border-radius:6px;background:#11191f}.owned-capes label{display:flex!important;align-items:center;gap:8px;margin:0!important;font-size:11px!important;font-weight:500!important}.owned-capes input{width:14px;height:14px;accent-color:var(--teal)}
@media(max-width:900px){.bulk-panel{align-items:flex-start;flex-direction:column}.bulk-controls{width:100%;flex-wrap:wrap}.bulk-controls select{flex:1;min-width:150px}}
@media(max-width:760px){.bulk-panel{padding:14px}.bulk-controls input{flex:1;min-width:160px}}
