body.auth-page{display:flex;flex-direction:column;min-height:100vh}.auth-page .login-container,.auth-page .message-container{max-width:440px;width:100%;flex:1;display:flex;align-items:center;justify-content:center;padding:1rem}.login-section{max-width:440px;margin:0 auto}.main.main-auth{flex:1;display:flex;align-items:center}.auth-heading{text-align:center;font-size:1.5rem;font-weight:700;color:var(--text);margin-bottom:1.5rem}.login-card,.message-card{background:var(--card);border-radius:12px;padding:2.5rem 2rem;box-shadow:var(--shadow-sm);border:1px solid var(--border)}.message-card{text-align:center}.icon-box{width:80px;height:80px;margin:0 auto 1.5rem;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;animation:scaleIn 0.5s ease-out}.icon-box.error{background:linear-gradient(135deg,var(--danger) 0%,#c24545 100%)}.icon-emoji{font-size:36px;line-height:1}.icon-box .icon-svg{display:block;color:#fff;flex:none}.message-card h1,.login-card h1{color:var(--text);font-size:1.5rem;font-weight:700;margin-bottom:1rem}.message{color:var(--text-muted);font-size:1rem;line-height:1.7;margin-bottom:1.5rem}.email-display{background:var(--bg);padding:0.75rem 1rem;border-radius:8px;margin:1rem 0;color:var(--primary);font-weight:600;word-break:break-all;font-size:0.95rem}.auth-page .btn-primary{display:inline-block;padding:0.75rem 1.5rem;background:var(--primary);color:white;border:none;border-radius:8px;font-size:1rem;font-weight:600;text-decoration:none;cursor:pointer;transition:background 0.2s,transform 0.2s}@media (hover:hover){.auth-page .btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px);color:white}}.auth-page .btn-primary:disabled{opacity:0.6;cursor:not-allowed;transform:none}.auth-page .btn-secondary{display:inline-block;padding:0.625rem 1.25rem;background:transparent;color:var(--text-muted);border:1.5px solid var(--border);border-radius:8px;font-size:0.95rem;font-weight:500;text-decoration:none;cursor:pointer;transition:all 0.2s;margin-top:0.75rem}@media (hover:hover){.auth-page .btn-secondary:hover{border-color:var(--primary);color:var(--primary);background:var(--bg)}}.info-box{background:var(--bg);padding:1rem;border-radius:8px;margin:1.5rem 0;text-align:left}.info-box p,.info-box small{color:var(--text-muted);font-size:0.9rem;line-height:1.5;margin:0.5rem 0}.info-box strong{color:var(--text)}.note{color:var(--text-muted);font-size:0.85rem;margin-top:1.5rem;line-height:1.6}.loading{margin-top:1rem;color:var(--text-muted)}@keyframes scaleIn{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}.form-field{margin-bottom:1rem}.form-label{display:block;font-weight:500;color:var(--text);margin-bottom:0.5rem;font-size:0.9rem}.form-control{width:100%;padding:0.75rem;border:1px solid var(--border);border-radius:8px;font-size:1rem;font-family:inherit;background:var(--card);color:var(--text);transition:border-color 0.2s,box-shadow 0.2s}.form-control.input-error{border-color:var(--danger)}.form-control.input-error:focus{border-color:var(--danger);box-shadow:0 0 0 3px rgba(212,84,84,0.12)}.form-control:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(91,106,191,0.1)}.btn-magic-link{width:100%;padding:0.75rem;background:var(--primary);color:white;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background 0.2s,transform 0.2s;font-family:inherit}@media (hover:hover){.btn-magic-link:hover{background:var(--primary-dark);transform:translateY(-1px)}}.btn-magic-link:disabled{opacity:0.6;cursor:not-allowed;transform:none}#draftAuthModal .form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(91,106,191,0.1)}#draftAuthModal .btn-magic-link{background:var(--primary)}@media (hover:hover){#draftAuthModal .btn-magic-link:hover{background:var(--primary-dark)}}.message-card .btn-spinner,.login-card .btn-spinner,#draftAuthModal .btn-spinner{width:16px;height:16px;margin-right:6px}.field-error{display:none;color:var(--danger);font-size:0.82rem;line-height:1.4;margin:0.35rem 0 0}.field-error.visible{display:block}.status-message{border-radius:8px;padding:0.75rem 1rem;margin-bottom:1rem;display:none;font-size:0.9rem}.status-message.success{background-color:var(--success-light);border:1px solid var(--success-border);color:var(--success)}.status-message.error{background-color:var(--danger-light);border:1px solid var(--danger-border);color:var(--danger)}.back-link{text-align:center;margin-top:1.5rem}.back-link a{color:var(--primary);text-decoration:none;font-size:0.9rem;font-weight:500}@media (hover:hover){.back-link a:hover{text-decoration:underline}}.code-toggle-btn{display:flex;align-items:center;justify-content:center;gap:0.375rem;width:100%;margin:1.25rem 0 0;padding:0;background:none;border:none;color:var(--primary);font-size:0.875rem;cursor:pointer;transition:opacity 0.2s}.code-toggle-btn:hover{opacity:0.7}.code-toggle-icon{font-size:0.7rem;transition:transform 0.3s}.code-toggle-btn.active .code-toggle-icon{transform:rotate(180deg)}.code-collapsible{display:grid;grid-template-rows:0fr;transition:grid-template-rows 0.3s ease}.code-collapsible.open{grid-template-rows:1fr}.code-collapsible-inner{overflow:hidden}.code-input-section{margin:0.5rem 0 0.75rem;padding:1.25rem;background:var(--bg);border-radius:8px;border:1px solid var(--border)}.code-label{font-weight:600;color:var(--text);margin-bottom:1rem;font-size:0.95rem}.code-inputs{display:flex;justify-content:center;align-items:center;gap:8px;margin-bottom:1rem;flex-wrap:nowrap}.code-digit{width:44px;height:52px;min-width:0;flex-shrink:0;text-align:center;font-size:1.25rem;font-weight:700;border:1px solid var(--border);border-radius:8px;outline:none;transition:all 0.2s;background:var(--card);color:var(--text);font-family:'SF Mono','Monaco','Consolas',monospace;padding:0}.code-digit:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(91,106,191,0.1)}.code-digit:disabled{background:var(--bg);color:var(--gray);cursor:not-allowed}.code-status{display:none;padding:0.75rem 1rem;border-radius:8px;font-size:0.9rem;margin-bottom:0.75rem;text-align:center}.code-status.success{background:var(--success-light);color:var(--success-dark);border:1px solid var(--success-border)}.code-status.error{background:var(--danger-light);color:var(--danger);border:1px solid var(--danger-border)}.code-status.info{background:var(--bg);color:var(--primary);border:1px solid var(--border)}.code-resend-section{margin:1rem 0 0.25rem;text-align:center}.code-resend-btn{font-size:0.9rem;padding:0.625rem 1.25rem}.resend-countdown{display:block;font-size:0.9rem;color:var(--text-muted);padding:0.625rem 0}@media (max-width:480px){.login-card,.message-card{padding:2rem 1.5rem}.code-digit{width:38px;height:46px;font-size:1.1rem}.code-inputs{gap:6px}}.login-consent{color:var(--text-muted);font-size:0.72rem;line-height:1.45;margin:1rem auto 0;max-width:380px;text-align:center}.login-consent a{color:var(--primary);text-decoration:underline}
/* Kontextzeile ueber dem Login, wenn man ueber den Diashow-QR kommt (login_return.py). */
.auth-context{text-align:center;font-size:0.9rem;line-height:1.5;color:var(--text-secondary);margin:-0.75rem 0 1.25rem}
