:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#183052;background:#f4f7fc;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a.button{border:0;border-radius:9px;background:#1557d2;color:white;padding:11px 17px;cursor:pointer;text-decoration:none;display:inline-block}button.secondary{background:#e7effd;color:#244d8a}button.danger{background:#fbe9e7;color:#9f2a21}button:disabled{opacity:.5;cursor:wait}a{color:#1557d2}input,select,textarea{padding:11px;border:1px solid #c9d5e9;border-radius:8px;width:100%;background:white}label{display:grid;gap:7px;margin:14px 0;font-size:14px}small{color:#536985}h1{font-size:32px;letter-spacing:-1px;margin:10px 0}h2{font-size:21px;margin:8px 0 18px}p{line-height:1.6;color:#516684}.layout{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.sidebar{background:#113263;color:white;padding:28px 20px;display:flex;flex-direction:column;gap:10px}.brand{font-size:26px;font-weight:800;letter-spacing:1px;margin-bottom:30px}.brand span{font-size:12px;color:#bdd4fb;display:block;margin-top:5px;letter-spacing:2px}.sidebar button{text-align:left;background:transparent;color:#c5d8f8}.sidebar button.active{background:#2453a1;color:white}.sidebar footer{margin-top:auto;font-size:12px;padding-top:40px;color:#bdd4fb}.main{padding:36px;max-width:1450px;width:100%;margin:auto}.top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:32px}.top select{max-width:280px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}.card{background:white;border:1px solid #dce5f3;border-radius:16px;padding:24px}.card h3{margin-top:0}.card .icon{width:46px;height:46px;border-radius:12px;background:#e4edff;display:grid;place-items:center;font-size:20px;margin-bottom:20px}.row{display:flex;align-items:center;justify-content:space-between;gap:14px}.actions{display:flex;gap:8px;flex-wrap:wrap}.badge{display:inline-block;font-size:12px;padding:5px 9px;border-radius:30px;background:#e5efff;color:#2455a5}.badge.pending,.badge.suspended{background:#fff0d5;color:#916722}.table{overflow:auto;background:white;border-radius:14px;border:1px solid #dce5f3}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th,td{padding:14px;border-bottom:1px solid #edf2fa;font-size:14px}th{font-size:12px;color:#546986}td button{padding:7px 10px;font-size:12px}.auth{max-width:430px;margin:8vh auto;padding:32px}.auth .brand{color:#113263}.auth button{width:100%;margin:12px 0}.auth .tabs{display:flex;gap:10px}.hero{background:#e5eeff;padding:28px;border-radius:16px;margin-bottom:24px}.stats{display:flex;gap:18px;margin:20px 0}.stats .card{flex:1}.stats strong{font-size:28px;display:block;margin-top:8px}dialog{border:0;border-radius:16px;width:min(520px,94vw);max-height:90vh;padding:26px;box-shadow:0 20px 100px #11326340}dialog::backdrop{background:#11326355}#notice{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#113263;color:white;border-radius:10px;padding:14px 22px;display:none;z-index:10}.empty{text-align:center;padding:40px;color:#647a98}.warning{padding:16px;border-radius:10px;background:#fff3dd;color:#805a18;margin:20px 0}.qr{max-width:260px;display:block;margin:20px auto}@media(max-width:750px){.layout{display:block}.sidebar{padding:15px;display:flex;flex-direction:row;overflow:auto;align-items:center}.sidebar .brand{margin:0 20px 0 0;font-size:20px}.sidebar .brand span,.sidebar footer{display:none}.sidebar button{white-space:nowrap}.main{padding:20px}.top{align-items:flex-start;flex-direction:column}.stats{flex-wrap:wrap}.stats .card{min-width:130px}h1{font-size:26px}}

.brand-logo{width:58px;height:58px;object-fit:contain;border-radius:12px;display:block;margin-bottom:12px}.install-link{display:block;text-align:center;margin-top:20px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #4583ed;outline-offset:3px}.checks{display:grid;grid-template-columns:1fr 1fr;gap:8px}.checks label{display:flex;align-items:center;margin:3px 0}.checks input{width:auto}.install-steps{line-height:1.9}.auth{margin:max(28px,6vh) auto}.main{padding-bottom:max(36px,env(safe-area-inset-bottom))}.consent{display:flex;align-items:flex-start;gap:10px}.consent input{width:auto;margin-top:5px}@media(max-width:750px){input,select,textarea{font-size:16px}.brand-logo{width:38px;height:38px;margin:0}.sidebar .brand{display:flex;align-items:center;gap:10px}.auth{margin:20px 14px;max-width:none}.actions button{min-height:44px}.row{flex-wrap:wrap}}

/* Studio's full-blue entrance, with the approved M31 identity. */
.studio-entry{min-height:100svh;background:#183e88;color:#fff;display:flex;flex-direction:column;padding:max(24px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom))}
.studio-entry .auth{width:100%;max-width:380px;margin:auto;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
.studio-entry .brand{text-align:center;margin:0 0 18px;color:#fff;font-size:0}
.studio-entry .brand-logo{width:86px;height:86px;margin:0 auto 18px;border-radius:20px;box-shadow:0 8px 24px #08245730}
.studio-entry .brand span{font-size:11px;letter-spacing:2px;color:#d8e5ff;margin:0}
.studio-entry h1{text-align:center;font-size:26px;letter-spacing:-.7px;line-height:1.35;margin:0 0 12px;color:#fff}
.studio-entry p{color:#e2ebff;font-size:14px;text-align:center;line-height:1.65;margin:12px 0 20px}
.studio-entry label{color:#fff;font-weight:600;font-size:14px;gap:9px;margin:18px 0}
.studio-entry input,.studio-entry select,.studio-entry textarea{min-height:50px;border:1px solid #c4d2e7;border-radius:8px;padding:13px 14px;color:#183052;background:#fff;font-size:16px;box-shadow:0 2px 4px #0e285a12}
.studio-entry .auth button,.studio-entry a.button{min-height:50px;width:100%;margin:0 0 12px;background:#ffcf32;color:#183e88;border-radius:8px;font-weight:700;transition:background .15s ease}
.studio-entry .auth button:hover,.studio-entry a.button:hover{background:#ffda62}
.studio-entry .auth button.secondary{background:transparent;color:#fff;border:1px solid #8ba6d9}
.studio-entry .auth button[data-action="signup"],.studio-entry .auth button[data-action="login"]{background:transparent;border:0;min-height:44px;text-decoration:underline;text-underline-offset:4px;font-weight:500;margin:2px 0 0}
.studio-entry a{color:#fff;text-underline-offset:4px}
.studio-entry .install-link{font-size:13px;margin-top:24px;color:#d8e5ff}
.studio-entry .auth>p:has(a){font-size:13px;margin:12px 0}
.studio-entry :is(button,a,input,select,textarea):focus-visible{outline:3px solid #ffcf32;outline-offset:4px}
.studio-entry .auth> .brand-logo{margin:0 auto 22px}
@media(max-width:750px){.studio-entry{padding:max(24px,env(safe-area-inset-top)) 26px max(24px,env(safe-area-inset-bottom))}.studio-entry .auth{margin:auto;max-width:380px}.studio-entry .brand-logo{width:80px;height:80px}.studio-entry h1{font-size:24px}}

.studio-entry .entry-language{display:block;width:124px;min-height:42px;padding:9px 12px;margin:0 auto 20px;border:0;border-radius:24px;color:#183e88;font-size:14px;font-weight:600}
@media(max-height:700px){.studio-entry .brand-logo{width:64px;height:64px;margin-bottom:12px}.studio-entry .brand{margin-bottom:14px}.studio-entry .entry-language{margin-bottom:16px}.studio-entry p{margin-top:8px;margin-bottom:14px}.studio-entry label{margin:14px 0}.studio-entry .install-link{margin-top:16px}}
