:root{--navy:#0E1A4B;--green:#188743;--green-dark:#126832;--ink:#18203d;--muted:#65708a;--line:#e4e8f0;--bg:#f7f9fc;--danger:#b42318;--shadow:0 18px 55px rgba(14,26,75,.10)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:linear-gradient(135deg,#f8fbff,#f1f7f3);min-height:100vh}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:72px 20px 42px}.auth-form-side{width:100%;display:flex;align-items:center;justify-content:center}.auth-card{width:min(460px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;padding:36px;box-shadow:var(--shadow)}.auth-card-register{width:min(560px,100%)}.auth-logo{display:flex;align-items:center;justify-content:center;gap:11px;color:var(--navy);text-decoration:none;margin:0 auto 30px}.auth-logo img{width:48px;height:48px;object-fit:contain}.auth-logo strong{font-size:22px;letter-spacing:-.7px}.auth-logo strong span{color:var(--green)}.auth-logo small{display:block;margin-top:2px;color:var(--muted);font-size:10px}.auth-card h2{font-size:29px;text-align:center;color:var(--navy);margin:0 0 8px;letter-spacing:-.8px}.auth-card .sub{color:var(--muted);text-align:center;margin:0 0 27px;line-height:1.55;font-size:14px}.field{margin-bottom:17px}.field label{display:block;font-size:12px;font-weight:800;color:var(--navy);margin-bottom:7px}.field input,.field select{width:100%;height:50px;border:1px solid #d9dfeb;border-radius:11px;padding:0 14px;font:inherit;color:var(--ink);outline:none;background:#fff}.field input:focus,.field select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(24,135,67,.1)}.field input.input-error{border-color:#e1857d;box-shadow:0 0 0 3px rgba(180,35,24,.08)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.password-field{position:relative}.password-field input{padding-right:48px}.password-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:38px;height:38px;padding:0;border:0;border-radius:8px;background:transparent;color:#7b8498;display:grid;place-items:center;cursor:pointer}.password-toggle:hover{background:#f3f6f9;color:var(--navy)}.password-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.password-toggle .eye-closed{display:none}.password-toggle.is-visible .eye-open{display:none}.password-toggle.is-visible .eye-closed{display:block}.field-warning{display:none;margin-top:7px;font-size:11.5px;font-weight:700;color:var(--danger);line-height:1.4}.field-warning.show{display:block}.auth-submit{width:100%;height:52px;border:0;border-radius:11px;background:var(--green);color:white;font-weight:800;font-size:15px;cursor:pointer;box-shadow:0 10px 24px rgba(24,135,67,.24)}.auth-submit:hover{background:var(--green-dark)}.auth-meta{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:12px;margin:2px 0 22px}.auth-meta a,.switch a{color:var(--green-dark);font-weight:800;text-decoration:none}.check{display:flex;align-items:flex-start;gap:7px;color:var(--muted);line-height:1.35}.check input{accent-color:var(--green);margin-top:1px}.switch{text-align:center;margin:22px 0 0;color:var(--muted);font-size:13px}.auth-message{display:none;margin-bottom:18px;padding:11px 13px;border-radius:10px;font-size:12px;font-weight:700}.auth-message.error{display:block;background:#fff1f0;color:#ad2b24}.auth-message.success{display:block;background:#edf9f1;color:#126832}.back-home{position:fixed;left:28px;top:24px;color:var(--navy);text-decoration:none;font-size:13px;font-weight:800}.legal-note{font-size:10.5px;color:#8a93a8;text-align:center;margin-top:18px;line-height:1.5}
@media(max-width:620px){.auth-shell{padding:72px 16px 28px}.auth-card,.auth-card-register{padding:27px 22px;border-radius:20px}.form-row{grid-template-columns:1fr;gap:0}.back-home{left:18px;top:18px}.auth-logo{margin-bottom:25px}.auth-card h2{font-size:26px}.auth-meta{align-items:flex-start}}
