.login-shell{--bg:#0f1f1a;--bg-soft:#172f27;--card:#f7f4ee;--text:#151513;--muted:#5e6059;--primary:#0e6b4b;--primary-dark:#0a5239;--border:#ded7cb;isolation:isolate;background:radial-gradient(circle at top left, #24483b 0%, var(--bg) 45%, #08110e 100%);place-items:center;min-height:100vh;padding:28px;display:grid;position:relative;overflow:hidden}.login-ambient{filter:blur(10px);opacity:.35;z-index:-1;border-radius:999px;position:absolute}.login-ambient-one{background:#f4dca8;width:360px;height:360px;animation:8s ease-in-out infinite floatA;top:-80px;right:-60px}.login-ambient-two{background:#72b99b;width:300px;height:300px;animation:9s ease-in-out infinite floatB;bottom:-60px;left:-50px}.login-grid{background:linear-gradient(145deg,#f7f4eef0,#f7f4eedb);border-radius:28px;grid-template-columns:1fr 1fr;width:min(1024px,100%);display:grid;overflow:hidden;box-shadow:0 22px 80px #05140f73}.brand-panel{color:#f5f7f2;background:linear-gradient(160deg, #153a2df2, #0e1f19f0), linear-gradient(90deg, var(--bg-soft), #10221c);padding:56px;position:relative}.brand-logo{border-radius:12px;margin-bottom:16px}.brand-panel h1{letter-spacing:-.02em;margin:0 0 16px;font-size:clamp(2rem,3.2vw,2.8rem);line-height:1.1}.brand-kicker{letter-spacing:.2em;color:#c7f0dc;margin:0 0 20px;font-size:.74rem;display:inline-block}.brand-copy{color:#d9e9e0;max-width:40ch;margin-bottom:28px;line-height:1.6}.brand-points{gap:14px;margin:0;padding:0;list-style:none;display:grid}.brand-points li{color:#ebf7f0;padding-left:22px;font-size:.95rem;line-height:1.5;position:relative}.brand-points li:before{content:"";background:#8de8bd;border-radius:999px;width:8px;height:8px;position:absolute;top:9px;left:0}.login-card{color:var(--text);background:var(--card);padding:52px 46px}.login-card-head h2{letter-spacing:-.02em;margin:0;font-size:clamp(1.5rem,2.4vw,2rem)}.login-card-head p{color:var(--muted);margin:8px 0 0;font-size:.95rem}.login-form{gap:10px;margin-top:26px;display:grid}.login-form label{color:#1f201c;font-size:.88rem;font-weight:600}.login-form input{border:1px solid var(--border);background:#fdfcf9;border-radius:12px;outline:none;width:100%;padding:13px 14px;font-size:.96rem;transition:border-color .2s,box-shadow .2s}.login-form input:focus{border-color:#77b79a;box-shadow:0 0 0 4px #4c917229}.form-row{justify-content:space-between;align-items:center;gap:12px;margin-top:2px;display:flex}.checkbox-wrap{color:#31342f;align-items:center;gap:8px;font-size:.88rem;display:inline-flex}.checkbox-wrap input{width:15px;height:15px}.form-row a,.signup-note a{color:var(--primary);font-weight:600;text-decoration:none}.form-row a:hover,.signup-note a:hover{text-decoration:underline}.primary-btn{background:linear-gradient(180deg, #138159 0%, var(--primary) 100%);color:#fff;letter-spacing:.02em;cursor:pointer;border:none;border-radius:12px;margin-top:10px;padding:13px;font-size:.96rem;font-weight:700;transition:transform .15s,box-shadow .2s,background .2s}.primary-btn:hover{background:linear-gradient(180deg, #12774f 0%, var(--primary-dark) 100%);transform:translateY(-1px);box-shadow:0 10px 20px #0c483347}.divider{text-align:center;color:#6d7069;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:24px 0 16px;font-size:.84rem;display:grid}.divider:before,.divider:after{content:"";background:var(--border);height:1px}.social-grid{gap:10px;display:grid}.form-message{margin:10px 0 0;font-size:.86rem;font-weight:600}.form-message-error{color:#a33434}.social-btn{border:1px solid var(--border);color:#20211d;cursor:pointer;background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:10px 14px;font-size:.92rem;font-weight:600;transition:transform .15s,border-color .2s;display:flex}.social-btn:hover{border-color:#b9b1a1;transform:translateY(-1px)}.social-btn span{background:#f1ece3;border-radius:999px;place-items:center;width:24px;height:24px;font-weight:700;display:inline-grid}.signup-note{text-align:center;color:#4d5049;margin:18px 0 0;font-size:.88rem}@media (max-width:900px){.login-shell{padding:18px}.login-grid{grid-template-columns:1fr}.brand-panel,.login-card{padding:30px 24px}}@keyframes floatA{0%,to{transform:translateY(0)}50%{transform:translateY(14px)}}@keyframes floatB{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}
