body.auth-page { --auth-accent: #08796c; --auth-soft: #e5f3ee; margin: 0; padding: 0; min-height: 100dvh; background: #f4f7f6; color: #182e2b; display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; letter-spacing: 0; }
body.auth-command { --auth-accent: #256ca2; --auth-soft: #e9f1f7; }
body.auth-admin { --auth-accent: #86630b; --auth-soft: #f6f0dd; }
.auth-page * { box-sizing: border-box; letter-spacing: 0; }
.auth-topbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 32px; background: #fff; border-bottom: 1px solid #dce5e1; }
.auth-topbar a { color: #52645e; font-size: 14px; text-underline-offset: 4px; }
.auth-topbar .auth-brand { display: flex; align-items: center; gap: 10px; font-size: 22px; font-weight: 700; color: #182e2b; text-decoration: none; }
.auth-brand img { width: 34px; height: 34px; object-fit: contain; }
.auth-page :is(.login-container,.le-login-container,.signup-container) { width: min(460px,100%); max-width: 460px; margin: auto; padding: 40px 24px; }
.auth-page :is(.login-card,.le-login-card,.signup-card) { background: transparent; border: 0; border-radius: 0; padding: 0; box-shadow: none; overflow: visible; }
.auth-page :is(.login-header,.le-login-header,.signup-header) { background: none; color: #182e2b; text-align: left; padding: 0; margin: 0 0 28px; }
.auth-page :is(.login-header,.le-login-header,.signup-header) h1 { color: #182e2b; font-size: 28px; line-height: 1.2; margin: 0 0 8px; overflow-wrap: anywhere; }
.auth-page :is(.login-header,.le-login-header,.signup-header) p { color: #52645e; font-size: 14px; margin: 0; }
.auth-page :is(.login-badge,.le-badge,.login-icon) { width: 48px; height: 48px; background: var(--auth-soft); border-radius: 8px; color: var(--auth-accent); margin: 0 0 20px; animation: none; }
.auth-page :is(.login-badge,.le-badge,.login-icon) svg { width: 25px; height: 25px; color: var(--auth-accent); }
.auth-page :is(.login-body,.le-login-body,.signup-body) { padding: 0; }
.auth-page :is(.form-group,.le-form-group) { margin: 0 0 20px; }
.auth-page :is(.form-group,.le-form-group) label { display: block; font-size: 13px; font-weight: 600; color: #2d433a; margin-bottom: 8px; }
.auth-page input { min-width: 0; max-width: 100%; width: 100%; background: #fff; border: 1px solid #bdcec5; border-radius: 6px; padding: 12px 14px; font: inherit; font-size: 16px; color: #182e2b; box-shadow: none; }
.auth-page input::placeholder { color: #677b71; }
.auth-page :is(a,button,input):focus-visible { outline: 3px solid #256ca2; outline-offset: 3px; }
.auth-page :is(.login-btn,.le-login-btn,.signup-btn) { width: 100%; min-height: 46px; background: var(--auth-accent); border: 1px solid var(--auth-accent); color: #fff; border-radius: 6px; font-size: 15px; font-weight: 600; box-shadow: none; transform: none; }
.auth-page :is(.login-btn,.le-login-btn,.signup-btn):hover { background: var(--auth-accent); filter: brightness(.92); transform: none; box-shadow: none; }
.auth-page button:disabled { opacity: .6; cursor: wait; }
.auth-page :is(.login-footer,.le-login-footer,.signup-footer) { padding: 20px 0 0; margin-top: 24px; background: none; border-top: 1px solid #dce5e1; text-align: left; line-height: 2; font-size: 13px; }
.auth-page :is(.login-footer,.le-login-footer,.signup-footer,.account-recovery) a, .auth-page .back-link { color: var(--auth-accent); text-underline-offset: 4px; }
.auth-page .back-link { display: block; text-align: left; margin-top: 24px; font-size: 13px; }
.auth-page :is(.secure-notice,.le-secure-notice,.security-badge) { background: none; color: #5d7167; font-size: 12px; margin-top: 20px; justify-content: flex-start; padding: 0; }
.auth-page :is(.secure-notice,.le-secure-notice,.security-badge) svg { color: #5d7167; }
.auth-page .provider-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.auth-page .provider-btn { min-height: 46px; padding: 10px; border: 1px solid #bdcec5; border-radius: 6px; background: #fff; color: #243f32; box-shadow: none; }
.auth-page .provider-note, .auth-page .provider-divider { color: #60766a; font-size: 12px; }
.auth-page .provider-section { margin-bottom: 24px; }
.auth-page .signup-note { padding: 12px 0; margin-bottom: 20px; background: none; border: 0; color: #52645e; }
.auth-page :is(.login-error,.le-error,.error-message,.signup-error) { color: #9c2c35; background: #fff0f0; border: 1px solid #e6bfc3; border-radius: 6px; }
.auth-page .recovery-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.auth-page .account-recovery button { color: var(--auth-accent); }
.auth-page .recovery-actions input { flex: 1 1 180px; }
@media(max-width:600px) { .auth-topbar { padding: 16px; } .auth-page :is(.login-container,.le-login-container,.signup-container) { padding: 32px 20px; } }
