:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:#080b10;color:#eaf2f5}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at 90% 0,rgba(53,190,255,.08),transparent 30%),#080b10}button,input{font:inherit}.hidden{display:none!important}.login-screen{min-height:100vh;display:grid;place-items:center;padding:20px}.login-box{width:min(380px,100%);padding:30px;border:1px solid #202b37;border-radius:18px;background:#0e141b;box-shadow:0 28px 80px #0008}.login-box h1{margin:16px 0 4px;font-size:25px}.login-box>p{margin:0 0 24px;color:#718391}.brand-mark{display:grid;place-items:center;width:48px;height:48px;border:1px solid #7358f4;border-radius:14px;color:#d3caff;background:#19132f;box-shadow:0 0 26px #7154ed44;font-weight:600}.brand-mark.small{width:31px;height:31px;border-radius:9px;font-size:10px}.login-box label,.compact label,.dialog-body label{display:grid;gap:6px;margin:12px 0;color:#91a1aa;font-size:12px}input{width:100%;padding:10px 11px;border:1px solid #2a3744;border-radius:9px;color:#edf5f7;background:#10171f;outline:none}input:focus{border-color:#7156ef;box-shadow:0 0 0 3px #7156ef22}.error{min-height:19px;color:#ff93ae;font-size:12px}.shell{display:grid;grid-template-columns:190px minmax(0,1fr);min-height:100vh}.sidebar{display:flex;flex-direction:column;gap:24px;padding:20px 14px;border-right:1px solid #1d2630;background:#0b0f15}.brand{display:flex;align-items:center;gap:10px;padding:3px 7px}.sidebar nav{display:grid;gap:5px}.nav-button{width:100%;padding:10px;border:0;border-radius:9px;color:#7e909e;background:transparent;text-align:left;cursor:pointer}.nav-button:hover{color:#edf5f7;background:#111821}.nav-button.active{color:#fff;background:linear-gradient(90deg,#6a4cff3d,#6a4cff0d);box-shadow:inset 2px 0 #8d73ff}.controller{margin-top:auto;padding:11px;border:1px solid #1c312d;border-radius:10px;color:#9fb0b7;background:#0d1717;font-size:11px}.status-dot{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:#4de0a2;box-shadow:0 0 10px #4de0a2aa}.main{min-width:0}.main>header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 21px;border-bottom:1px solid #1b232c;color:#748692;font-size:12px}.user-menu{display:flex;align-items:center;gap:10px;color:#cbd6db}.page{display:none;padding:22px}.page.active{display:block}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:17px}.page-heading h2{margin:0;font-size:23px;font-weight:600}.page-heading p,.tile p,.service-row p,.dialog-body p{margin:4px 0 0;color:#718390;font-size:11px}.button{display:inline-flex;align-items:center;justify-content:center;padding:8px 11px;border:1px solid #2a3744;border-radius:8px;color:#cad6db;background:#111821;cursor:pointer}.button:hover{border-color:#42515e;color:#fff}.button.primary{border-color:#7359f0;color:#fff;background:#593ee0}.button.danger{border-color:#583144;color:#ffb5c8;background:#24131b}.button.ghost{padding:6px 9px;background:transparent}.button.wide{width:100%}.button:disabled{opacity:.4;cursor:not-allowed}.tile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tile,.panel,.empty{padding:16px;border:1px solid #202b36;border-radius:13px;background:linear-gradient(145deg,#10161e,#0d1219);box-shadow:0 10px 26px #0002}.tile-head{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#bdc9cf;font-size:12px}.tile h3{margin:18px 0 0;font-size:19px}.badge{padding:3px 7px;border-radius:999px;color:#9fb0b7;background:#182129;font-size:9px}.badge.online{color:#7ceeba;background:#10261f}.badge.offline{color:#a1aeb5;background:#192129}.actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}.service-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #1c2630}.service-row:last-child{border:0}.empty{text-align:center;padding:45px 18px;color:#72838f}.empty h3{margin:0 0 6px;color:#c6d1d6}.notice{margin:16px 22px 0;padding:10px 12px;border:1px solid #285342;border-radius:9px;color:#88efc1;background:#10241d;font-size:11px}.notice.error-notice{border-color:#5b3043;color:#ffabc0;background:#24131b}.account-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:12px}.user-list{display:grid;gap:7px;align-content:start}.user-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px;border:1px solid transparent;border-radius:9px;background:#111922;cursor:pointer}.user-row.selected{border-color:#614cca;background:#19152b}.user-row small{display:block;margin-top:2px;color:#6f808c}.permission-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}.permission-group{margin:8px 0;border:1px solid #202c37;border-radius:10px;background:#0c1218}.permission-group summary{padding:11px 12px;cursor:pointer}.permission-body{padding:0 12px 12px;border-top:1px solid #1b252e}.permission-master,.permission-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0}.permission-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.check{display:flex;align-items:center;gap:7px;padding:7px 8px;border-radius:8px;color:#92a3ac;background:#111922;font-size:10px}.check input{width:auto;accent-color:#6b51ee}.switch input{width:auto;accent-color:#6b51ee}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:10px 8px;border-bottom:1px solid #1c2630;text-align:left;font-size:11px}th{color:#71838f}.result-success{color:#76eab5}.result-denied,.result-failed{color:#ff9db4}.compact{max-width:480px}.dialog-body{width:min(390px,calc(100vw - 30px));padding:20px}dialog{padding:0;border:1px solid #2b3742;border-radius:14px;color:#eaf2f5;background:#0f151c;box-shadow:0 28px 85px #000a}dialog::backdrop{background:#020407bf}@media(max-width:800px){.tile-grid{grid-template-columns:1fr 1fr}.account-layout{grid-template-columns:1fr}.user-list{grid-template-columns:1fr 1fr}}@media(max-width:620px){.shell{grid-template-columns:1fr}.sidebar{gap:12px;border-right:0;border-bottom:1px solid #1d2630}.brand{justify-content:center}.sidebar nav{grid-template-columns:repeat(7,minmax(0,1fr))}.nav-button{padding:8px 2px;text-align:center;font-size:9px}.controller{display:none}.page{padding:15px}.main>header{padding:12px 15px}.tile-grid{grid-template-columns:1fr}.page-heading,.service-row{align-items:flex-start;flex-direction:column}.permission-actions{grid-template-columns:1fr 1fr}}
