:root { color-scheme: light; font-family: Inter, "Segoe UI", sans-serif; color: #172033; background: #eef2f7; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; }
.auth-shell { min-height: 100vh; display: grid; place-items: center; padding: 32px 20px; background: linear-gradient(135deg, #eef2f7 0%, #f8fafc 52%, #e9f5f1 100%); }
.auth-panel { width: min(100%, 520px); background: #fff; border: 1px solid #dbe3ec; border-radius: 8px; box-shadow: 0 22px 55px rgba(31, 45, 61, .12); padding: 32px; }
.auth-panel-compact { width: min(100%, 430px); }
.auth-brand { display: flex; align-items: center; gap: 12px; padding-bottom: 24px; border-bottom: 1px solid #e7ecf2; }
.auth-brand > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 8px; background: #13795b; color: #fff; font-weight: 800; }
.auth-brand div { display: grid; gap: 2px; }
.auth-brand strong { font-size: 16px; }
.auth-brand small, .auth-heading p, .auth-form small, .company-list small { color: #667085; }
.auth-heading { margin: 28px 0 22px; }
.auth-heading h1 { margin: 0 0 7px; font-size: 24px; letter-spacing: 0; }
.auth-heading p { margin: 0; line-height: 1.45; }
.auth-form { display: grid; gap: 16px; }
.auth-form label:not(.auth-check) { display: grid; gap: 7px; font-size: 13px; font-weight: 650; }
.auth-form input { width: 100%; height: 42px; border: 1px solid #cdd6e0; border-radius: 6px; padding: 0 12px; font: inherit; }
.auth-form input:focus { outline: 3px solid rgba(19, 121, 91, .14); border-color: #13795b; }
.auth-form button, .company-list button { border: 0; border-radius: 6px; background: #13795b; color: #fff; min-height: 44px; padding: 0 18px; font: inherit; font-weight: 700; cursor: pointer; }
.auth-check { display: flex; align-items: center; gap: 8px; font-size: 13px; color: #475467; }
.auth-check input { width: 16px; height: 16px; }
.auth-errors { padding: 11px 12px; border: 1px solid #f3b4b4; border-radius: 6px; background: #fff1f1; color: #a92121; font-size: 13px; }
.company-list { display: grid; gap: 10px; }
.company-list form { margin: 0; }
.company-list button { width: 100%; min-height: 64px; background: #f8fafc; border: 1px solid #dbe3ec; color: #172033; display: flex; align-items: center; gap: 12px; text-align: left; }
.company-list button > span { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 6px; background: #dff1ea; color: #13795b; }
.company-list button div { display: grid; gap: 3px; }
.company-list button:hover { border-color: #13795b; }
@media (max-width: 560px) { .auth-panel { padding: 24px 20px; } }
