:root{color-scheme:light;--ink:#252b2a;--accent:#176b58}
*{box-sizing:border-box}body{margin:0;background:#f6f5f1;color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;min-height:100vh;display:flex;flex-direction:column}
.brand{display:flex;align-items:center;justify-content:space-between;padding:28px 5vw;gap:20px}.brand>a{display:flex;align-items:center;gap:12px;color:var(--ink);font-size:25px;font-weight:650;text-decoration:none}.brand-icon{display:flex;align-items:center;justify-content:center;border-radius:14px;background:var(--accent);color:white;width:44px;height:44px;font-size:30px}.brand-icon>span{color:#e4ad45;font-size:24px;align-self:flex-end}.brand-caption{font-size:14px;color:#69756e}
main{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:24px 20px 48px}.login-card{background:white;border:1px solid #e3e5df;border-radius:24px;padding:38px;width:100%;max-width:440px;box-shadow:0 16px 60px #252b2a08}.eyebrow{font-size:11px;letter-spacing:1.6px;font-weight:700;color:var(--accent);margin-bottom:16px}h1{font-size:29px;line-height:1.2;margin:0 0 12px;font-weight:650}.intro{font-size:15px;color:#69756e;margin-bottom:28px}.form-group{margin-bottom:20px}.form-group label{font-size:14px;font-weight:550;margin-bottom:8px}.form-control{width:100%;height:50px;border:1px solid #cbd4cd;background:#fbfcfa;border-radius:10px;padding:12px;font-size:16px;color:var(--ink)}.form-control:focus{border-color:var(--accent);box-shadow:0 0 0 3px #e5f2eb;outline:0}.btn-primary,input[type=submit]{width:100%;min-height:48px;border:0;border-radius:10px;background:var(--accent);color:white;font-size:16px;font-weight:600;margin-top:4px}.btn-primary:hover,.btn-primary:focus{background:#105340;color:white}.hint{font-size:12px;line-height:1.6;color:#69756e;margin:24px 0 0}.hint span{white-space:nowrap}.cabinet{font-size:14px;margin:24px 0 0}a{color:var(--accent)}a:focus-visible,input[type=submit]:focus-visible{outline:3px solid #e4ad45;outline-offset:4px}footer{text-align:center;color:#79827b;font-size:12px;padding:20px}.alert{font-size:14px;border-radius:10px;overflow-wrap:anywhere}.invalid-feedback,.help-block{color:#a02c2c}.messages:empty{display:none}
@media(max-width:560px){.brand{padding:20px}.brand-caption{display:none}main{justify-content:flex-start;padding:24px 16px}.login-card{padding:28px 24px;border-radius:20px}h1{font-size:26px}}
