:root{--ink:#174E4A;--ink2:#0d6658;--paper:#f7f4ee;--text:#213532;--muted:#73807d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}body{margin:0;background:#eef3f0;color:var(--text)}
.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr)}
.login-hero{position:relative;display:flex;flex-direction:column;justify-content:center;padding:72px;background:linear-gradient(145deg,#0d6658,#073f39);color:white;overflow:hidden}
.login-hero:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-170px;bottom:-180px;border:70px solid rgba(60,210,187,.08)}
.hero-mark,.logo-mobile{font-size:32px;font-weight:900;letter-spacing:.1em;color:#35d1bd}.kicker{display:block;font-size:10px;letter-spacing:.16em;font-weight:800;opacity:.78;margin-top:26px}
.login-hero h1{max-width:670px;margin:12px 0 14px;font-size:42px;line-height:1.08;letter-spacing:-.03em}.login-hero p{max-width:620px;margin:0;color:rgba(255,255,255,.78);line-height:1.7;font-size:14px}
.login-card-wrap{display:grid;place-items:center;padding:34px;background:linear-gradient(#fbfbfa,#f5f2ea)}.login-card{width:min(440px,100%);background:white;border:1px solid #e1e7e3;border-radius:20px;padding:34px;box-shadow:0 24px 60px rgba(24,61,55,.12)}
.back{display:inline-flex;font-size:11px;color:#5f7b75;margin-bottom:24px}.logo-mobile{display:none}.login-card .kicker{color:#4b8176;margin:0}.login-card h2{font-size:28px;margin:7px 0 8px;color:#1b3e39}.intro{font-size:12px;color:var(--muted);line-height:1.55;margin:0 0 22px}
.form{display:flex;flex-direction:column;gap:15px}.form label{font-size:11px;font-weight:700;color:#465d58}.form input{width:100%;margin-top:7px;border:1px solid #dce4e0;background:#f5f7f6;border-radius:10px;padding:12px 13px;color:#89928f}.form button{margin-top:3px;border:0;border-radius:10px;padding:12px 15px;background:#c7d6d1;color:white;font-weight:800}
.foundation-state{margin-top:22px;border:1px solid #d7e5e0;background:#eef6f3;border-radius:11px;padding:11px 12px}.foundation-state strong,.foundation-state span{display:block}.foundation-state strong{font-size:10px;color:var(--ink)}.foundation-state span{font-size:9.5px;color:#6b807a;margin-top:3px}
@media(max-width:800px){.login-shell{grid-template-columns:1fr}.login-hero{display:none}.login-card-wrap{min-height:100vh;padding:18px}.login-card{padding:27px 22px}.logo-mobile{display:block;font-size:25px;margin-bottom:22px}}

.form input:not(:disabled){background:#fff;color:#243a36;outline:none}.form input:not(:disabled):focus{border-color:#3a8f7d;box-shadow:0 0 0 3px rgba(23,78,74,.10)}
.form button:not(:disabled){background:var(--ink);cursor:pointer;box-shadow:0 9px 24px rgba(23,78,74,.16)}.form button:not(:disabled):hover{background:var(--ink2)}
.form button:disabled{cursor:not-allowed}.login-error{font-size:10px;line-height:1.45;padding:9px 10px;border-radius:8px;background:#f8e7e4;color:#a33a32}
.foundation-state.warning{background:#fff7e5;border-color:#ead6a6}.foundation-state.warning strong{color:#8b6918}.foundation-state.warning span{color:#756846}

.setup-link{display:inline-flex;margin:11px 0 2px;font-size:11px;font-weight:800;color:var(--ink);padding:9px 11px;border:1px solid #d7e4df;border-radius:9px;background:#f2f8f5}.setup-link:hover{background:#e8f3ef}
