:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#24334b;background:#f4f7fc;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.muted{color:#77859a;line-height:1.65}.eyebrow{margin:22px 0 6px;color:#7890c7;font-size:12px;font-weight:800;letter-spacing:.16em}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 18% 22%,#e1eaff 0,transparent 35%),radial-gradient(ellipse at 82% 78%,#e8f5f4 0,transparent 32%),#f5f7fc}.login-card{width:min(100%,440px);padding:42px;border:1px solid #e7ebf3;border-radius:24px;background:#fff;box-shadow:0 28px 90px #263b621c}.brand-mark{width:56px;height:56px;display:grid;place-items:center;border-radius:17px;background:linear-gradient(140deg,#3567ed,#6386f4);color:white;font-size:29px;font-weight:800;box-shadow:0 8px 18px #3567ed40}.brand-mark.small{width:42px;height:42px;border-radius:13px;font-size:23px}.login-card h1{margin:0;font-size:28px;letter-spacing:-.03em}.login-card .muted{margin:10px 0 26px}.login-card form{display:grid;gap:16px}.login-card label,.field{display:grid;gap:8px;font-size:13px;font-weight:650;color:#45536a}.login-card input,.field input,.field select,.field textarea{width:100%;min-height:46px;padding:0 13px;border:1px solid #dce3ee;border-radius:10px;outline:0;background:#fbfcfe;color:#24334b}.field textarea{padding:12px;min-height:100px;resize:vertical}.login-card input:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:#7392f2;box-shadow:0 0 0 3px #3567ed18}.primary,.secondary,.danger{min-height:42px;padding:0 16px;border:0;border-radius:9px;font-weight:700}.primary{background:#3567ed;color:#fff;box-shadow:0 5px 12px #3567ed2b}.primary:hover{background:#2858db}.secondary{background:#edf2ff;color:#3159c5}.danger{background:#fff0f0;color:#b23b42}.wide{width:100%;min-height:48px;margin-top:3px}.form-error{min-height:18px;margin:0;color:#b23b42;font-size:13px}.login-foot{text-align:center;color:#98a3b4;font-size:12px;margin:26px 0 0}.app-shell{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:22px 15px;background:#fff;border-right:1px solid #e7ebf2}.brand{display:flex;align-items:center;gap:11px;padding:2px 9px 28px}.brand b{display:block;color:#315fea;font-size:15px;letter-spacing:.01em}.brand small{display:block;margin-top:4px;color:#9aa5b6;font-size:11px}.sidebar nav{display:grid;gap:6px}.nav-item{height:48px;padding:0 14px;display:flex;align-items:center;gap:12px;border:0;border-radius:10px;background:transparent;color:#66748a;text-align:left;font-weight:600}.nav-item span{width:22px;color:#8b9ab2;font-size:20px;text-align:center}.nav-item:hover{background:#f5f7fb}.nav-item.active{background:#edf2ff;color:#2e59cd}.nav-item.active span{color:#3567ed}.sidebar-bottom{margin-top:auto;padding:15px 11px 3px;border-top:1px solid #edf0f5}.sidebar-bottom a{display:flex;align-items:center;gap:8px;color:#586981;text-decoration:none;font-size:12px;font-weight:650}.sidebar-bottom small{display:block;margin-top:11px;color:#a1aaba;font-size:11px}.online-dot{width:8px;height:8px;border-radius:50%;background:#31b37c;box-shadow:0 0 0 4px #e4f6ee}.main-shell{min-width:0}.topbar{height:76px;position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:0 34px;background:#ffffffed;border-bottom:1px solid #e8edf4;backdrop-filter:blur(14px)}.topbar>div:first-child{display:flex;align-items:center;gap:12px}.crumb{color:#a1abba;font-size:12px}.topbar b{font-size:15px}.user-box{display:flex;align-items:center;gap:10px;color:#586981;font-size:13px}.avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e9efff;color:#3567ed;font-weight:700}.icon-button{width:36px;height:36px;border:0;border-radius:9px;background:#f1f4fa;color:#6b7890;font-size:20px}.page-content{max-width:1440px;margin:auto;padding:30px 34px 50px}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}.page-heading h1{margin:0;font-size:25px;letter-spacing:-.03em}.page-heading p{margin:7px 0 0;color:#8390a3;font-size:13px}.grid{display:grid;gap:16px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:20px}.card{min-width:0;padding:21px;border:1px solid #e5eaf2;border-radius:15px;background:#fff;box-shadow:0 4px 16px #283c6007}.stat-label{color:#8290a4;font-size:12px;font-weight:650}.stat-value{margin-top:12px;color:#263750;font-size:27px;font-weight:750;letter-spacing:-.04em}.stat-foot{margin-top:8px;color:#a0aabc;font-size:11px}.two-col{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr)}.card h2{margin:0 0 16px;font-size:16px}.table-wrap{overflow:auto;border:1px solid #edf0f5;border-radius:11px}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{padding:13px 14px;border-bottom:1px solid #edf0f5;text-align:left;font-size:12px}th{background:#f8faff;color:#7b899e;font-weight:650}td{color:#43536b}tr:last-child td{border-bottom:0}.table-empty{padding:38px 15px;color:#929eb0;text-align:center;font-size:13px}.status{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:20px;background:#eaf7f0;color:#208056;font-size:11px;font-weight:700}.status.off{background:#fff1ed;color:#b26442}.status.revoked{background:#fff0f0;color:#ae4147}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field.full{grid-column:1/-1}.form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:9px;margin-top:6px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.toolbar input{min-height:40px;padding:0 12px;border:1px solid #dce3ee;border-radius:9px}.key-box{margin-top:15px;padding:14px;border:1px dashed #8ba4ee;border-radius:10px;background:#f3f6ff;color:#294ba7;font-size:12px;line-height:1.7}.key-box code{display:block;overflow-wrap:anywhere;font-weight:700}.tabs{display:flex;gap:8px;margin-bottom:15px}.tabs button{min-height:38px;padding:0 13px;border:1px solid #e2e8f1;border-radius:9px;background:#fff;color:#6c7990}.tabs button.active{border-color:#a8baf3;background:#edf2ff;color:#315bc9}.notice{padding:13px 15px;border-radius:10px;background:#edf5ff;color:#526b98;font-size:12px;line-height:1.6}.notice.warn{background:#fff5e7;color:#986a28}.inline{display:flex;align-items:center;gap:10px}.inline input[type=checkbox]{width:17px;height:17px;accent-color:#3567ed}.toast{position:fixed;right:24px;bottom:24px;z-index:20;padding:13px 17px;border-radius:11px;background:#27364d;color:white;box-shadow:0 10px 30px #1d2a421f}.file-label{display:flex;align-items:center;gap:10px}.file-label input{max-width:350px}.mono{font-family:Consolas,monospace;font-size:11px;color:#8290a4}.progress{height:6px;overflow:hidden;border-radius:8px;background:#eef1f7}.progress i{height:100%;display:block;background:#3567ed}.settings-row{display:grid;grid-template-columns:minmax(180px,.6fr) 1fr;align-items:center;gap:20px;padding:15px 0;border-bottom:1px solid #edf0f5}.settings-row:last-child{border:0}.settings-row b{font-size:13px}.settings-row small{display:block;margin-top:5px;color:#8996a9}.settings-row input{max-width:390px}.device-list{display:flex;flex-wrap:wrap;gap:5px}.device-pill{padding:4px 7px;border-radius:6px;background:#f1f4f9;color:#748198;font-size:10px}
@media(max-width:1000px){.app-shell{grid-template-columns:210px minmax(0,1fr)}.page-content{padding:24px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col{grid-template-columns:1fr}}@media(max-width:680px){.app-shell{grid-template-columns:1fr}.sidebar{position:sticky;z-index:6;width:100%;height:auto;padding:10px;background:#fff;border-right:0;border-bottom:1px solid #e7ebf2}.brand{padding:0 7px 8px}.sidebar nav{display:flex;overflow:auto}.nav-item{min-width:max-content;height:42px;padding:0 10px;font-size:12px}.nav-item span{display:none}.sidebar-bottom{display:none}.topbar{height:60px;padding:0 16px}.crumb{display:none}.page-content{padding:18px 14px 32px}.page-heading{align-items:center}.page-heading h1{font-size:21px}.stats-grid{gap:9px}.card{padding:15px}.stat-value{font-size:23px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.form-actions{grid-column:auto}.login-card{padding:29px 22px}}
.nav-icon{width:22px;height:22px;display:grid;place-items:center;color:#8291a8}.nav-icon svg,.icon-button svg,.row-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav-item.active .nav-icon{color:#3567ed}.nav-item span.nav-icon{font-size:inherit}.icon-button{display:grid;place-items:center}.icon-button:hover{color:#315bc9;background:#edf2ff}.row-icon{width:34px;height:34px;display:inline-grid;place-items:center;border:1px solid #e1e7f0;border-radius:9px;background:#f7f9fc;color:#63738b}.row-icon:hover{border-color:#a8baf3;background:#edf2ff;color:#3159c5}.row-icon.danger{background:#fff4f4;color:#be4a52}.row-icon.danger:hover{background:#ffe8e8;border-color:#f0b3b6}.table-actions{display:flex;align-items:center;gap:7px}.admin-dialog{width:min(620px,calc(100vw - 28px));max-width:none;max-height:calc(100vh - 28px);padding:0;border:1px solid #e1e7f0;border-radius:18px;background:#fff;color:#24334b;box-shadow:0 24px 90px #18274445}.admin-dialog::backdrop{background:#17243b66;backdrop-filter:blur(2px)}.dialog-card{padding:0}.dialog-card>header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:18px 23px 15px;border-bottom:1px solid #edf0f5;background:#fff}.dialog-card>header .eyebrow{margin:0 0 3px}.dialog-card>header h2{margin:0;font-size:20px}.dialog-close{width:36px;height:36px;border:0;border-radius:10px;background:#fff0f0;color:#b64850;font-size:25px;line-height:1}.dialog-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px 23px;max-height:calc(100vh - 210px);overflow:auto}.dialog-body .field{min-width:0}.dialog-body .field input,.dialog-body .field select{min-width:0}.divider-label{grid-column:1/-1;display:flex;align-items:center;gap:12px;margin-top:5px;color:#50617a;font-size:13px;font-weight:750}.divider-label:after{height:1px;flex:1;background:#e8edf4;content:""}.check-row{grid-column:1/-1;display:flex;align-items:center;gap:11px;padding:13px 14px;border:1px solid #e4eaf2;border-radius:10px;background:#f9fbfe}.check-row input{width:18px;height:18px;accent-color:#3567ed}.check-row b,.check-row small{display:block}.check-row small{margin-top:4px;color:#8a97a9;font-size:11px}.backup-field:disabled,.backup-field input:disabled{opacity:.5}.dialog-card>footer{position:sticky;bottom:0;z-index:2;display:flex;justify-content:flex-end;gap:9px;padding:14px 23px;border-top:1px solid #edf0f5;background:#fff}.key-dialog{width:min(500px,calc(100vw - 28px))}.key-dialog .dialog-body{display:block;max-height:unset}.created-key{margin:0;padding:16px;border:1px dashed #8ba4ee;border-radius:11px;background:#f3f6ff;color:#294ba7}.created-key b{display:block;margin-bottom:8px;font-size:13px}.created-key code{display:block;overflow-wrap:anywhere;font-size:16px;font-weight:750;letter-spacing:.035em}.created-meta{margin:0 0 12px;color:#6d7c93;font-size:13px}.license-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.license-detail-grid .settings-row{grid-template-columns:140px minmax(0,1fr)}.detail-key{padding:16px;border:1px solid #e5eaf2;border-radius:11px;background:#fafbfe}.detail-key code{display:block;margin:10px 0;overflow-wrap:anywhere;color:#284ba9;font-size:15px;font-weight:750;letter-spacing:.03em}.search-wrap{display:flex;align-items:center;gap:9px}.search-wrap input{width:min(300px,45vw);min-height:40px;padding:0 12px;border:1px solid #dce3ee;border-radius:9px;outline:0}.search-wrap input:focus{border-color:#7894ed;box-shadow:0 0 0 3px #3567ed18}
@media(max-width:680px){.dialog-body,.license-detail-grid{grid-template-columns:1fr}.dialog-body .divider-label,.dialog-body .check-row{grid-column:1}.dialog-card>header,.dialog-body,.dialog-card>footer{padding-left:17px;padding-right:17px}}

.backup-toolbar{display:flex;align-items:center;gap:9px}.backup-toolbar input{width:min(300px,45vw);min-height:40px;padding:0 12px;border:1px solid #dce3ee;border-radius:9px;outline:0}.backup-toolbar input:focus{border-color:#7392f2;box-shadow:0 0 0 3px #3567ed18}@media(max-width:560px){.backup-toolbar{width:100%;flex-wrap:wrap}.backup-toolbar input{width:100%;flex:1 1 100%}.toolbar:has(.backup-toolbar){align-items:flex-start;flex-direction:column}}
