:root{--bg:#f3f6f4;--surface:#fff;--border:#dce4df;--text:#1f2b30;--muted:#6f7d82;--brand:#126675;--brand-dark:#0e5562;--brand-soft:#e9f3f2;--danger:#a0444c;--shadow:0 28px 70px rgba(25,51,49,.12)}
*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;font-family:"Segoe UI Variable","Segoe UI",Arial,sans-serif;color:var(--text);background:radial-gradient(circle at 20% 10%,#fff 0,#f7faf8 30%,var(--bg) 70%)}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(18,102,117,.035),transparent 42%)}
button,input{font:inherit}.hidden{display:none!important}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:32px}.auth-card{width:min(460px,100%);background:rgba(255,255,255,.96);border:1px solid var(--border);border-radius:22px;padding:34px;box-shadow:var(--shadow);backdrop-filter:blur(12px)}
.brand-line{display:flex;align-items:center;gap:12px;padding-bottom:24px;border-bottom:1px solid #edf1ee}.brand-icon-wrap{width:48px;height:48px;border-radius:13px;overflow:hidden;display:grid;place-items:center;background:#eef5f3}.brand-icon-wrap img{width:100%;height:100%;object-fit:cover}.brand-line strong{display:block;font-size:20px;letter-spacing:-.03em}.brand-line span{display:block;margin-top:2px;color:var(--muted);font-size:12px}
.auth-copy{padding:28px 0 22px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.13em;color:var(--brand)}h1{margin:7px 0 8px;font-size:31px;line-height:1.08;letter-spacing:-.045em}p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}
form{display:grid;gap:17px}label>span{display:block;margin:0 0 7px 2px;font-size:11px;font-weight:750;color:#46555b}.input-wrap{height:49px;display:flex;align-items:center;border:1px solid #cfd9d3;background:#fff;border-radius:10px;transition:.15s}.input-wrap:focus-within{border-color:#79a7aa;box-shadow:0 0 0 4px rgba(18,102,117,.08)}.input-wrap>svg{width:18px;height:18px;margin-left:14px;color:#78878b;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.input-wrap input{flex:1;min-width:0;height:47px;border:0;outline:0;background:transparent;padding:0 13px;color:var(--text)}.password-toggle{width:46px;height:47px;border:0;background:transparent;display:grid;place-items:center;color:#68777c;cursor:pointer}.password-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.login-error{border:1px solid #e5b9bd;background:#fff3f4;color:var(--danger);padding:10px 12px;border-radius:9px;font-size:11px;line-height:1.45}.login-button{height:50px;border:0;border-radius:10px;background:var(--brand);color:#fff;font-weight:750;display:flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;transition:.15s;box-shadow:0 7px 18px rgba(18,102,117,.15)}.login-button:hover{background:var(--brand-dark);transform:translateY(-1px)}.login-button:disabled{opacity:.7;cursor:wait;transform:none}.login-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.spinner{width:17px;height:17px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .65s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.security-note{margin-top:22px;padding-top:18px;border-top:1px solid #edf1ee;display:flex;gap:9px;align-items:flex-start;color:#758187;font-size:10px;line-height:1.45}.security-note svg{width:17px;height:17px;flex:0 0 auto;color:#4b7d77;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:520px){.auth-shell{padding:16px}.auth-card{padding:25px 20px;border-radius:17px}h1{font-size:27px}}
