:root{--navy:#07111f;--navy2:#0b192c;--panel:#10243d;--line:#243a54;--text:#edf5ff;--muted:#8da3bb;--mint:#14d6a3;--danger:#ff6978;--shadow:0 24px 80px #01050b99}
*{box-sizing:border-box}html{font-size:16px}body{margin:0;background:radial-gradient(circle at 20% 0,#123d63 0,transparent 36%),var(--navy);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;min-height:100vh}
.auth-page{display:grid;place-items:center;padding:28px}.auth-shell{width:min(1040px,100%);display:grid;grid-template-columns:1.05fr .95fr;background:#081624;border:1px solid var(--line);border-radius:26px;overflow:hidden;box-shadow:var(--shadow)}
.auth-brand{padding:64px;background:linear-gradient(145deg,#0b243c,#071522);display:flex;flex-direction:column;justify-content:center}.auth-brand h1{font-size:2.6rem;line-height:1.05;margin:24px 0 18px;max-width:480px}.auth-copy{color:#a9bdd1;line-height:1.7;max-width:500px;margin:0 0 28px}.auth-feature{display:flex;gap:10px;color:#c8d9e8;margin:8px 0}.auth-feature span{color:var(--mint)}
.auth-logo{display:block;width:190px;height:190px;object-fit:contain;border-radius:18px;background:#fff;box-shadow:0 18px 44px #01071180}.auth-logo-mobile{display:none;width:112px;height:112px;margin:0 auto 26px;border-radius:14px}
.auth-mark{width:52px;height:52px;border-radius:15px;background:linear-gradient(145deg,var(--mint),#22a8ff);display:grid;place-items:center;color:#03131b;font-weight:950;box-shadow:0 10px 32px #14d6a344}.auth-card{padding:64px 54px;background:#0a192a}.auth-card h2{font-size:1.8rem;margin:7px 0}.eyebrow{color:var(--mint);font-size:.68rem;letter-spacing:.16em;font-weight:900}.muted{color:var(--muted);line-height:1.55}.auth-card form{display:grid;gap:17px;margin:30px 0}.auth-card label,dialog label{display:grid;gap:8px;color:#a9bdd1;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}input,select{width:100%;border:1px solid #2a4662;background:#071522;color:#fff;border-radius:10px;padding:13px 14px;font:inherit;outline:none}input:focus,select:focus{border-color:var(--mint);box-shadow:0 0 0 3px #14d6a322}button{border:0;border-radius:10px;padding:13px 16px;background:var(--mint);color:#031913;font:inherit;font-weight:850;cursor:pointer}button:disabled{opacity:.55;cursor:wait}.auth-card small{color:#647d95}.form-message{min-height:20px;color:#ff9da7;margin:0;font-size:.82rem}.single-card{width:min(520px,100%);padding:25px}.single-card .auth-card{border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}
.admin-page{background:var(--navy)}.admin-header{height:78px;padding:0 max(24px,calc((100vw - 1320px)/2));border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:#081624e8;position:sticky;top:0;z-index:5;backdrop-filter:blur(16px)}.admin-brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}.admin-brand .auth-mark{width:39px;height:39px;border-radius:11px;font-size:.78rem}.admin-brand small{display:block;color:var(--muted);font-size:.7rem;margin-top:2px}.admin-header nav{display:flex;gap:18px;align-items:center}.admin-header a,.link-button{color:#b7c9da;text-decoration:none;background:transparent;padding:8px;font-weight:700;font-size:.82rem}.admin-main{width:min(1320px,calc(100% - 40px));margin:42px auto}.admin-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.admin-heading h1{font-size:2rem;margin:6px 0}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:28px 0}.summary-grid article{background:#0d2035;border:1px solid var(--line);border-radius:14px;padding:19px}.summary-grid strong{display:block;font-size:1.8rem;color:var(--mint)}.summary-grid span{color:var(--muted);font-size:.77rem}.admin-panel{background:#0c1e31;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:var(--shadow)}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.panel-heading input{max-width:290px}.admin-table-wrap{overflow:auto;margin-top:18px}table{width:100%;border-collapse:collapse;font-size:.8rem}th{text-align:left;padding:12px 10px;color:#6f8aa5;border-bottom:1px solid var(--line);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}td{padding:15px 10px;border-bottom:1px solid #18324b;color:#c9d8e7}td strong,td small{display:block}td small{color:var(--muted);margin-top:4px}.role-badge,.status-badge{display:inline-block;padding:6px 8px;border-radius:999px;font-size:.68rem;border:1px solid #31506d}.role-badge.admin{color:#ffd27c}.role-badge.client{color:#91c6ff}.status-badge.active{color:var(--mint);border-color:#236352}.status-badge.blocked{color:#ff9da7;border-color:#6b3540}.row-actions{display:flex;gap:6px}.row-actions button{padding:7px 9px;background:#153049;color:#bfdaef;font-size:.7rem}.empty-row{text-align:center;padding:40px;color:var(--muted)}
dialog{width:min(480px,calc(100% - 30px));border:1px solid var(--line);border-radius:18px;background:#0b1c2f;color:var(--text);padding:0;box-shadow:var(--shadow)}dialog::backdrop{background:#010811cc;backdrop-filter:blur(5px)}dialog form,.password-result{padding:26px;display:grid;gap:17px}.dialog-heading{display:flex;justify-content:space-between;align-items:start}.dialog-heading h2,.password-result h2{margin:5px 0}.icon-button{background:transparent;color:#9db2c6;font-size:1.5rem;padding:2px}.dialog-actions{display:flex;justify-content:flex-end;gap:9px}.secondary{background:#10263c;color:#c8d9e8;border:1px solid var(--line)}.password-copy{display:flex;gap:8px;align-items:center;background:#061422;border:1px solid #2b4a67;padding:10px;border-radius:10px}.password-copy code{font-size:1rem;word-break:break-all;flex:1;color:#b8f6e5}.password-copy button{padding:8px 10px}.admin-toast{position:fixed;right:28px;bottom:28px;background:#153d4d;border:1px solid #297169;padding:13px 17px;border-radius:10px;opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none}.admin-toast.show{opacity:1;transform:none}
@media(max-width:800px){.auth-shell{grid-template-columns:1fr}.auth-brand{display:none}.auth-card{padding:40px 28px}.auth-logo-mobile{display:block}.summary-grid{grid-template-columns:1fr 1fr}.admin-heading{align-items:start}.panel-heading{align-items:stretch;flex-direction:column}.panel-heading input{max-width:none}.admin-header{padding:0 18px}.admin-main{width:calc(100% - 24px);margin:26px auto}}
