.2fa-disable-card,.2fa-setup-card,.2fa-status-card,.login-2fa-form,.login-form{max-width:400px;margin:2rem auto;padding:2rem;background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.2fa-disable-card h2,.2fa-setup-card h2,.2fa-status-card h3,.login-2fa-form h2,.login-form h2{margin-top:0;color:#333;font-size:1.5rem}.qr-code-container{display:flex;justify-content:center;margin:2rem 0;padding:1rem;background:#f5f5f5;border-radius:8px}.qr-code{width:200px;height:200px;border-radius:4px}.manual-entry{margin:1rem 0;cursor:pointer}.manual-entry summary{color:#007bff;padding:.5rem 0;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color .2s}.manual-entry summary:hover{color:#0056b3}.manual-code{display:flex;align-items:center;margin-top:.5rem;padding:.5rem;background:#f5f5f5;border-radius:4px;font-family:Courier New,monospace;gap:.5rem}.manual-code code{flex:1;word-break:break-all;font-size:.9rem}.totp-input{width:100%;padding:.75rem;font-size:2rem;text-align:center;letter-spacing:.5rem;border:2px solid #ddd;border-radius:4px;font-family:Courier New,monospace;margin:1rem 0;transition:border-color .2s,box-shadow .2s}.totp-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px rgba(0,123,255,.1)}.recovery-codes-section{margin-top:2rem;padding:1rem;background:#fff8dc;border-left:4px solid #ffc107;border-radius:4px}.recovery-codes-section h3{margin-top:0;color:#333}.recovery-codes-list{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:1rem 0;font-family:Courier New,monospace}.recovery-code{padding:.5rem;background:#fff;border:1px solid #ddd;border-radius:4px;text-align:center;font-size:.9rem;-webkit-user-select:all;-moz-user-select:all;user-select:all;word-break:break-all}.status-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.status-badge{padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:600;text-transform:uppercase}.status-badge.enabled{background:#d4edda;color:#155724}.status-badge.disabled{background:#f8d7da;color:#721c24}.status-details{margin:1rem 0;padding:1rem;background:#f5f5f5;border-radius:4px}.status-details p{margin:.5rem 0;font-size:.95rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#333;font-size:.95rem}.form-group input[type=email],.form-group input[type=password],.form-input{width:100%;padding:.75rem;border:2px solid #ddd;border-radius:4px;font-size:1rem;transition:border-color .2s,box-shadow .2s;font-family:inherit}.form-group input[type=email]:focus,.form-group input[type=password]:focus,.form-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px rgba(0,123,255,.1)}.button-group{display:flex;gap:.5rem;margin-top:1.5rem;flex-wrap:wrap}.btn{padding:.75rem 1.5rem;border:none;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .3s ease;text-transform:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover:not(:disabled){background:#0056b3;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,123,255,.3)}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background:#545b62;transform:translateY(-2px);box-shadow:0 4px 12px hsla(208,7%,46%,.3)}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover:not(:disabled){background:#c82333;transform:translateY(-2px);box-shadow:0 4px 12px rgba(220,53,69,.3)}.btn-link{background:none;border:none;color:#007bff;text-decoration:underline;cursor:pointer;padding:0;font-size:.9rem;margin-top:1rem;font-weight:400}.btn-link:hover:not(:disabled){color:#0056b3}.btn-block{width:100%}.btn-small{padding:.25rem .5rem;font-size:.85rem}.alert{padding:.75rem 1rem;border-radius:4px;margin:1rem 0;display:flex;align-items:flex-start;gap:.5rem;font-size:.95rem}.alert-success{background:#d4edda;color:#155724;border-left:4px solid #28a745}.alert-warning{background:#fff3cd;color:#856404;border-left:4px solid #ffc107}.alert-error{background:#f8d7da;color:#721c24;border-left:4px solid #dc3545}.success-message{color:#28a745;font-weight:600;margin:1rem 0}.text-muted{color:#6c757d;font-size:.9rem}.text-warning{color:#f58025;font-size:.9rem}.loading{text-align:center;padding:2rem;color:#666;font-size:1.1rem}.settings-page{max-width:600px;margin:0 auto;padding:2rem}.settings-page h1{margin-top:0;color:#333;font-size:2rem}.settings-section{margin:2rem 0}@media (prefers-color-scheme:dark){.2fa-disable-card,.2fa-setup-card,.2fa-status-card,.login-2fa-form,.login-form{background:#1e1e1e;color:#e0e0e0;box-shadow:0 2px 8px rgba(0,0,0,.5)}.2fa-disable-card h2,.2fa-setup-card h2,.2fa-status-card h3,.login-2fa-form h2,.login-form h2,.settings-page h1{color:#e0e0e0}.qr-code-container{background:#2a2a2a}.manual-entry summary{color:#4db8ff}.manual-entry summary:hover{color:#85d4ff}.manual-code,.totp-input{background:#2a2a2a;border-color:#444}.totp-input{color:#e0e0e0}.totp-input:focus{border-color:#4db8ff;box-shadow:0 0 0 3px rgba(77,184,255,.2)}.recovery-codes-section{background:#2a2a2a;border-left-color:#ffc107}.recovery-code{background:#1e1e1e;border-color:#444;color:#e0e0e0}.status-details{background:#2a2a2a}.form-group input[type=email],.form-group input[type=password],.form-input{background:#2a2a2a;border-color:#444;color:#e0e0e0}.form-group input[type=email]:focus,.form-group input[type=password]:focus,.form-input:focus{border-color:#4db8ff;box-shadow:0 0 0 3px rgba(77,184,255,.2)}.form-group label{color:#e0e0e0}.alert{color:#333}}@media (max-width:600px){.2fa-disable-card,.2fa-setup-card,.2fa-status-card,.login-2fa-form,.login-form{margin:1rem;padding:1.5rem}.recovery-codes-list{grid-template-columns:1fr}.status-header{align-items:flex-start;gap:1rem}.button-group,.status-header{flex-direction:column}.btn{width:100%;text-align:center}.qr-code{width:150px;height:150px}.settings-page{padding:1rem}.settings-page h1{font-size:1.5rem}}@media print{.alert,.btn,.button-group{display:none}.recovery-code,.recovery-codes-list{page-break-inside:avoid}}