.login-container{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:1fr minmax(400px,500px) 1fr;align-items:center;background-color:var(--color-bg-app);padding:40px 20px}.login-card{background:var(--color-bg-surface);border-radius:12px;box-shadow:var(--shadow-lg);padding:50px 40px;text-align:center;grid-column:2;justify-self:center}.login-card h1{color:var(--color-text-primary);margin-bottom:8px;font-size:2rem;font-weight:600}.login-subtitle{color:var(--color-text-secondary);margin-bottom:30px;font-size:1rem;white-space:pre-line}.login-form{text-align:left}.form-group{margin-bottom:20px;width:100%}.member-id-fieldset{border:none;padding:0;margin:0}.member-id-fieldset legend{padding:0;font-size:.95rem;font-weight:600;color:var(--color-text-primary);margin-bottom:8px}.member-id-input{width:100%;min-height:48px;padding:14px;border:2px solid var(--color-border-input);border-radius:8px;font-size:1rem;box-sizing:border-box;background:var(--color-bg-surface);color:var(--color-text-primary);transition:border-color .3s ease;appearance:none;margin:0}.member-id-input::placeholder{color:var(--color-text-placeholder)}.member-id-input:focus{outline:none;border-color:var(--color-bg-accent);box-shadow:var(--focus-ring)}.member-id-input[aria-invalid=true]{border-color:var(--color-border-danger-soft)}.error-message{display:flex;align-items:flex-start;gap:8px;color:var(--color-text-danger-strong);margin-bottom:20px;font-size:.9rem;white-space:pre-line}.error-message-icon{flex-shrink:0;margin-top:2px}.brand-icon{margin-top:-30px}.login-button{width:100%;background-color:var(--color-bg-accent);color:var(--color-text-inverse);border:2px solid transparent;padding:14px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-sizing:border-box;margin:0}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px color-mix(in srgb,var(--color-bg-accent) 40%,transparent)}.login-button:disabled{background:var(--color-bg-disabled);cursor:not-allowed;transform:none;box-shadow:none}.login-button:active:not(:disabled){transform:translateY(0)}@media(max-width:768px){.login-container{grid-template-columns:1fr;padding:20px 15px}.login-card{padding:40px 30px;grid-column:1;max-width:100%}.login-card h1{font-size:1.8rem}}@media(max-width:480px){.login-container{grid-template-columns:1fr;padding:15px 10px}.login-card{padding:30px 25px;grid-column:1}.login-card h1{font-size:1.6rem}}.date-fieldset{border:none;padding:0;margin:0 0 20px}.date-fieldset legend{padding:0;font-size:.95rem;font-weight:600;color:var(--color-text-primary);margin-bottom:8px}.date-fields{display:flex;gap:12px}.date-field{display:flex;flex-direction:column;min-width:0}.date-field-month,.date-field-day{flex:1 1 0}.date-field-year{flex:2 1 0}.date-field label{font-size:.8rem;color:var(--color-text-secondary);margin-bottom:4px}.date-input{width:100%;min-height:48px;padding:14px;border:2px solid var(--color-border-input);border-radius:8px;font-size:1rem;text-align:center;letter-spacing:.05em;box-sizing:border-box;background:var(--color-bg-surface);color:var(--color-text-primary);transition:border-color .3s ease;appearance:none;margin:0}.date-input::placeholder{color:var(--color-text-placeholder)}.date-input:focus{outline:none;border-color:var(--color-bg-accent);box-shadow:var(--focus-ring)}.date-input[aria-invalid=true]{border-color:var(--color-border-danger-soft)}@media(max-width:480px){.date-fields{gap:8px}}.phone-fieldset{border:none;padding:0;margin:0}.phone-fieldset legend{padding:0;font-size:.95rem;font-weight:600;color:var(--color-text-primary);margin-bottom:8px}.phone-input{width:100%;min-height:48px;padding:14px;border:2px solid var(--color-border-input);border-radius:8px;font-size:1rem;letter-spacing:.02em;box-sizing:border-box;background:var(--color-bg-surface);color:var(--color-text-primary);transition:border-color .3s ease;appearance:none;margin:0}.phone-input::placeholder{color:var(--color-text-placeholder)}.phone-input:focus{outline:none;border-color:var(--color-bg-accent);box-shadow:var(--focus-ring)}.phone-input[aria-invalid=true]{border-color:var(--color-border-danger-soft)}
