:root{color-scheme:light;--ink:#173244;--muted:#6b7f8c;--line:#d4dee4;--surface:#fff;--page:#eef2f4;--orange:#f26735;--navy:#172d3a;--green:#248a50}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:radial-gradient(circle at 12% 10%,#fff4ee 0,transparent 30%),radial-gradient(circle at 90% 90%,#e5f2f7 0,transparent 34%),var(--page)}button,input,select{font:inherit}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(330px,42%) 1fr}.auth-brand{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(32px,5vw,72px);background:linear-gradient(145deg,#172d3a,#1e4559);color:#fff}.auth-brand:after{content:"";position:absolute;width:430px;height:430px;right:-180px;bottom:-160px;border:70px solid #ffffff0d;border-radius:50%}.brand-logo{position:relative;z-index:1;display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}.brand-mark{display:grid;place-items:center;width:45px;height:45px;border-radius:13px;background:linear-gradient(145deg,#ff7f4b,#ef5e2c);font-size:21px;font-weight:800;box-shadow:0 12px 24px #0c1c2545}.brand-logo strong{display:block;font-size:17px}.brand-logo small{display:block;margin-top:2px;color:#afc2ce;font-size:10px}.brand-copy{position:relative;z-index:1;max-width:480px;margin:80px 0}.brand-copy span{font-size:10px;font-weight:700;letter-spacing:2px;color:#8fd3ba}.brand-copy h1{max-width:440px;margin:13px 0 15px;font-size:clamp(33px,4vw,55px);line-height:1.04;letter-spacing:-1.8px}.brand-copy p{max-width:430px;margin:0;color:#bdd0da;font-size:14px;line-height:1.75}.brand-points{position:relative;z-index:1;display:flex;gap:20px;flex-wrap:wrap;color:#c9d8df;font-size:11px}.brand-points span{display:flex;align-items:center;gap:7px}.brand-points i{width:7px;height:7px;border-radius:50%;background:#55c58e;box-shadow:0 0 0 4px #55c58e1c}.auth-main{display:grid;place-items:center;padding:32px}.auth-card{width:min(455px,100%);padding:36px;border:1px solid #d0dbe1;border-radius:18px;background:#ffffffed;box-shadow:0 28px 75px #2039471a;backdrop-filter:blur(12px)}.auth-kicker{display:block;color:#ee6736;font-size:10px;font-weight:750;letter-spacing:1.7px}.auth-card h2{margin:8px 0 7px;font-size:28px;letter-spacing:-.65px}.auth-intro{margin:0 0 25px;color:var(--muted);font-size:12px;line-height:1.6}.auth-field{display:block;margin-top:15px}.auth-field>span{display:block;margin-bottom:7px;color:#425e6d;font-size:11px;font-weight:650}.auth-field input,.auth-field select{width:100%;height:46px;padding:0 13px;border:1px solid #cbd7de;border-radius:9px;background:#fff;color:#294858;outline:0}.auth-field input:focus,.auth-field select:focus{border-color:#7fa5bb;box-shadow:0 0 0 4px #6c9dbb1c}.auth-row{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:15px 0}.auth-check{display:flex;align-items:center;gap:8px;color:#5f7583;font-size:11px}.auth-check input{accent-color:var(--orange)}.auth-link{color:#35799e;font-size:11px;font-weight:650;text-decoration:none}.auth-link:hover{text-decoration:underline}.auth-submit{display:flex;align-items:center;justify-content:center;width:100%;height:47px;border:0;border-radius:9px;background:linear-gradient(135deg,#f57844,#ef5d2b);color:#fff;font-size:12px;font-weight:750;cursor:pointer;box-shadow:0 10px 24px #ef693438}.auth-submit:hover{filter:brightness(.97);transform:translateY(-1px)}.auth-message{margin:0 0 16px;padding:11px 13px;border:1px solid #f0bba8;border-radius:9px;background:#fff3ee;color:#a74727;font-size:11px;line-height:1.5}.auth-message.success{border-color:#adddbd;background:#effbf3;color:#257447}.auth-footer{margin:20px 0 0;padding-top:18px;border-top:1px solid #e0e6ea;color:#6a7e8a;font-size:11px;text-align:center}.auth-footer a{color:#e65f30;font-weight:700;text-decoration:none}.password-note{display:block;margin-top:6px;color:#80919b;font-size:9px;line-height:1.45}.activation-state{text-align:center}.activation-icon{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 18px;border-radius:18px;background:#e4f6ea;color:#278a51;font-size:28px;font-weight:800}.activation-state .auth-submit{margin-top:22px;text-decoration:none}.admin-shell{min-height:100vh;padding:26px;background:var(--page)}.admin-wrap{max-width:1200px;margin:0 auto}.admin-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.admin-top h1{margin:5px 0 0;font-size:27px}.admin-actions{display:flex;gap:9px}.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:39px;padding:0 14px;border:1px solid #cbd7de;border-radius:8px;background:#fff;color:#486473;font-size:11px;font-weight:650;text-decoration:none}.admin-card{overflow:hidden;border:1px solid #ccd8df;border-radius:13px;background:#fff;box-shadow:0 15px 38px #243d4b0c}.admin-table{width:100%;border-collapse:collapse;font-size:11px}.admin-table th{padding:13px 15px;background:#e3e9ed;color:#3d5867;text-align:left}.admin-table td{padding:14px 15px;border-top:1px solid #dce4e8;color:#536e7d}.admin-user strong,.admin-user small{display:block}.admin-user strong{color:#264757;font-size:12px}.admin-user small{margin-top:3px;color:#788b96}.admin-table select{height:36px;min-width:145px;padding:0 30px 0 10px;border:1px solid #cbd7de;border-radius:8px;background:#fff;color:#385767;font-size:11px}.save-user{height:36px;padding:0 13px;border:0;border-radius:8px;background:#f26735;color:#fff;font-size:10px;font-weight:700;cursor:pointer}.role-pill{display:inline-flex;padding:4px 8px;border-radius:6px;background:#eaf3f8;color:#34749a;font-size:9px;font-weight:700}.admin-note{padding:12px 15px;border-bottom:1px solid #d8e1e6;background:#f8fafb;color:#637985;font-size:10px}@media(max-width:850px){.auth-shell{grid-template-columns:1fr}.auth-brand{min-height:280px;padding:28px}.brand-copy{margin:50px 0 30px}.brand-copy h1{font-size:34px}.auth-main{padding:20px}.admin-shell{padding:14px}.admin-top{align-items:flex-start;flex-direction:column}.admin-card{overflow-x:auto}.admin-table{min-width:850px}}@media(max-width:520px){.auth-card{padding:26px 20px}.auth-brand{min-height:240px}.brand-copy h1{font-size:29px}.brand-points{display:none}}

.password-note.email-note-error{color:#b8422d;font-weight:700}

.auth-field input.input-error{border-color:#d66b54;box-shadow:0 0 0 4px #d66b5415}
