.login-page { min-height:100vh; display:grid; place-items:center; margin:0; padding:20px; background:#f4f5f8; color:#111; font-family:"Segoe UI",Arial,sans-serif; }
.login-card { width:min(430px,100%); padding:38px; border-radius:22px; background:#fff; box-shadow:0 16px 48px #26334a14; }
.login-kicker { color:#06f; font-size:13px; font-weight:700; }
.login-card h1 { margin:12px 0 8px; font-size:30px; line-height:1.15; }
.login-card > p { margin:0 0 28px; color:#667080; font-size:14px; line-height:1.5; }
.login-card form { display:grid; gap:10px; }
.login-card label { margin-top:8px; font-size:14px; font-weight:700; }
.login-card input { width:100%; min-height:48px; padding:11px 13px; border:1px solid #d6d9df; border-radius:10px; font:inherit; }
.login-card input:focus { outline:2px solid #70a6ff; outline-offset:1px; }
.login-card button { min-height:47px; margin-top:13px; border:0; border-radius:24px; background:#06f; color:#fff; font:inherit; font-weight:700; cursor:pointer; }
.login-card button:disabled { opacity:.65; cursor:wait; }
.login-error { margin:3px 0 0; color:#ba273d; font-size:13px; }
.login-error[hidden] { display:none; }

.account-action { border:1px solid #d9dce2; border-radius:20px; padding:8px 12px; background:#fff; color:#273140; font-size:12px; font-weight:600; white-space:nowrap; }
.account-action:hover { border-color:#06f; color:#06f; }
.admin-page { max-width:850px; }
.admin-page h1 { margin:0 0 8px; font-size:36px; }
.admin-page > p { color:#667080; line-height:1.5; }
.admin-card { margin:22px 0; padding:24px; border:1px solid #e1e4e9; border-radius:18px; background:#fff; }
.admin-card h2 { margin:0 0 17px; font-size:21px; }
.admin-form { display:grid; grid-template-columns:1fr 1fr auto; align-items:end; gap:12px; }
.admin-form label { display:grid; gap:7px; min-width:0; font-size:13px; font-weight:700; }
.admin-form input { min-width:0; min-height:42px; padding:9px 11px; border:1px solid #d6d9df; border-radius:10px; font:inherit; }
.admin-form button { min-height:42px; }
.admin-users { display:grid; gap:10px; }
.admin-user { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:13px 15px; border:1px solid #e1e4e9; border-radius:12px; }
.admin-user strong,.admin-user small { display:block; }
.admin-user small { margin-top:3px; color:#697383; }
.admin-activity-note { margin:-5px 0 16px; color:#697383; font-size:13px; line-height:1.45; }
.admin-user-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:12px; }
.admin-activity { display:inline-block; padding:8px 10px; border-radius:10px; background:#eef4ff; color:#315689; font-size:13px; white-space:nowrap; }
.admin-activity strong { display:inline; color:#174ea6; }
.admin-password-form { grid-template-columns:minmax(0,1fr) auto; margin:13px 0 4px; }
@media(max-width:760px) { .account-action { padding:7px 9px; } .admin-form { grid-template-columns:1fr; } .admin-user { align-items:flex-start; flex-wrap:wrap; } .admin-user-actions { justify-content:flex-start; } }
@media(max-width:480px) { .login-card { padding:26px; } .admin-card { padding:17px; } }
