:root{--bg:#061421;--panel:#0b1d2d;--card:#102536;--line:#355064;--text:#dce7f1;--muted:#8ba0b2;--blue:#42b5ff;--green:#20d67a;--red:#ef4148}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;background:radial-gradient(circle at 50% 0,#12314a 0,#061421 45%);color:var(--text)}button,input{font:inherit}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(440px,100%);padding:32px;border:1px solid var(--line);border-radius:16px;background:#0b1d2df2;box-shadow:0 24px 70px #0008}.brand-row{display:flex;align-items:center;gap:13px;margin-bottom:28px}.brand-mark{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:#65d7ff;background:#071724;border:1px solid #39748f;font-size:29px}.brand-row strong{display:block;font-size:19px}.brand-row span{display:block;color:#8fb6d0;font-size:10px;letter-spacing:1px;margin-top:4px}.auth-card h1{font-size:24px;margin:0 0 8px}.lead{color:var(--muted);font-size:14px;line-height:1.5;margin:0 0 24px}.form-grid{display:grid;gap:16px}.field{display:grid;gap:7px}.field label{font-size:12px;font-weight:bold;color:#bcd0df}.field input{width:100%;border:1px solid var(--line);border-radius:7px;padding:12px;background:#091827;color:#fff;outline:none}.field input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #42b5ff20}.check{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.check input{accent-color:var(--blue)}.primary,.secondary,.danger{border:0;border-radius:7px;padding:12px 16px;font-weight:bold;cursor:pointer}.primary{background:#168ed5;color:#fff}.primary:hover{background:#24a6f2}.primary:disabled{opacity:.5;cursor:wait}.secondary{background:#193247;color:#d9e6f0;border:1px solid #3c586d}.danger{background:#5b2028;color:#ffb8bc;border:1px solid #91343d}.message{min-height:18px;margin:16px 0 0;font-size:12px;color:var(--muted)}.message.error{color:#ff8e93}.message.success{color:var(--green)}.hidden{display:none!important}.password-help{font-size:11px;color:var(--muted);line-height:1.5}.admin-shell{min-height:100vh}.admin-header{height:64px;padding:0 28px;border-bottom:1px solid var(--line);background:#0b1d2d;display:flex;align-items:center;justify-content:space-between}.admin-header a{color:var(--blue);text-decoration:none}.admin-main{width:min(1050px,calc(100% - 32px));margin:30px auto;display:grid;gap:22px}.admin-card{border:1px solid var(--line);border-radius:12px;background:#0b1d2d;padding:22px}.admin-card h2{font-size:18px;margin:0 0 6px}.admin-card p{color:var(--muted);font-size:13px}.create-grid{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;align-items:end}.users-table{width:100%;border-collapse:collapse;margin-top:16px}.users-table th,.users-table td{text-align:left;padding:13px 10px;border-bottom:1px solid #253e51;font-size:13px}.users-table th{font-size:10px;letter-spacing:.8px;color:#91b6d0}.status-pill{display:inline-block;padding:5px 9px;border-radius:12px;background:#12402e;color:#5de8a5;font-size:10px}.status-pill.off{background:#48252b;color:#ff9ba0}.user-actions{display:flex;gap:7px;flex-wrap:wrap}.user-actions button{padding:7px 9px;font-size:11px}.reserved{color:#64c8ff;font-weight:bold}.header-actions{display:flex;align-items:center;gap:16px}.header-actions button{padding:8px 12px}.edit-dialog{width:min(460px,calc(100% - 30px));padding:24px;border:1px solid var(--line);border-radius:12px;background:#0b1d2d;color:var(--text);box-shadow:0 25px 80px #000b}.edit-dialog::backdrop{background:#020a12b8;backdrop-filter:blur(3px)}.edit-dialog h2{margin:0 0 5px}.edit-dialog p{margin:0;color:var(--muted);font-size:13px}.dialog-actions{display:flex;justify-content:flex-end;gap:9px}.dialog-actions button{min-width:120px}@media(max-width:780px){.create-grid{grid-template-columns:1fr}.users-table thead{display:none}.users-table,.users-table tbody,.users-table tr,.users-table td{display:block}.users-table tr{padding:12px 0;border-bottom:1px solid var(--line)}.users-table td{border:0;padding:5px 0}.users-table td::before{content:attr(data-label) ': ';color:#8ba0b2}.user-actions{margin-top:8px}}
