:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#0f172a;background:#f6f8fb;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.7}.app-shell,.auth-shell{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top right,rgba(236,72,153,.12),transparent 34%),radial-gradient(circle at bottom left,rgba(11,31,58,.06),transparent 30%),linear-gradient(180deg,#fff,#f6f8fb)}.hero-card,.login-card{width:min(720px,100%);border:1px solid #e2e8f0;border-radius:28px;background:#fffffff7;padding:32px;box-shadow:0 24px 70px #0f172a17}.login-card{width:min(460px,100%);padding:36px 34px 30px}.login-brand{display:grid;justify-items:center;gap:10px;margin-bottom:30px;text-align:center}.brand-mark{display:grid;width:56px;height:56px;flex:0 0 auto;place-items:center;border-radius:18px;background:#0b1f3a;color:#fff;font-weight:800;letter-spacing:.04em}.eyebrow{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;background:#0b1f3a;color:#fff;font-size:.82rem;font-weight:700;letter-spacing:.02em}.access-label{margin-top:0;color:#64748b;font-size:.78rem;font-weight:700;line-height:1.35}h1{margin:18px 0 12px;color:#0b1f3a;font-size:clamp(2rem,6vw,3.4rem);line-height:1}.login-heading{text-align:center}.login-title{margin:0 0 10px;font-size:2.2rem}p{margin:0;color:#475569;font-size:1rem;line-height:1.65}.login-subtitle{margin-top:4px}.login-form{display:grid;gap:16px;margin-top:30px}.login-form label{display:grid;gap:8px;color:#0f172a;font-size:.9rem;font-weight:700}.login-form input{width:100%;min-height:48px;border:1px solid #cbd5e1;border-radius:14px;outline:none;padding:0 14px;background:#fff;color:#0f172a;transition:border-color .16s ease,box-shadow .16s ease}.login-form input:focus{border-color:#ec4899;box-shadow:0 0 0 4px #ec48991f}.password-field{position:relative}.password-field input{padding-right:82px}.password-toggle{position:absolute;top:50%;right:10px;min-height:32px;border:0;border-radius:10px;padding:0 8px;transform:translateY(-50%);background:transparent;color:#0b1f3a;font-size:.78rem;font-weight:800}.password-toggle:hover{background:#f1f5f9}.reset-link{justify-self:center;margin-top:-6px;border:0;padding:2px 0;background:transparent;color:#0b1f3a;font-size:.86rem;font-weight:800;text-decoration:underline;text-underline-offset:3px}.primary-button,.secondary-button{min-height:46px;border:0;border-radius:14px;padding:0 18px;font-weight:800}.primary-button{margin-top:4px;background:#ec4899;color:#fff;box-shadow:0 10px 24px #ec48992e}.secondary-button{min-height:40px;background:#eef2f7;color:#0b1f3a}.form-error,.form-success{border-radius:12px;padding:10px 12px;font-size:.88rem;font-weight:700;line-height:1.45}.form-error{background:#fff1f2;color:#b91c1c}.form-success{background:#ecfdf5;color:#047857}.login-note{margin-top:24px;color:#64748b;font-size:.86rem;text-align:center}.hero-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:28px}.status-card{display:flex;align-items:center;gap:10px;min-height:54px;border:1px solid #e2e8f0;border-radius:16px;padding:0 16px;background:#fff;color:#0f172a;font-weight:600}.status-dot{width:10px;height:10px;flex:0 0 auto;border-radius:999px;background:#ec4899;box-shadow:0 0 0 4px #ec48991f}.session-loader{color:#0b1f3a;font-weight:800}@media(max-width:560px){.app-shell,.auth-shell{padding:16px}.hero-card,.login-card{padding:24px 20px;border-radius:22px}.status-grid{grid-template-columns:1fr}}.input-with-icon{position:relative}.field-icon{position:absolute;top:50%;left:14px;width:20px;height:20px;transform:translateY(-50%);fill:none;stroke:#0b1f3a;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.input-with-icon input{padding-left:44px}.password-field.input-with-icon input{padding-left:44px;padding-right:82px}
