.auth-container{min-height: calc(100vh - 200px);display: flex;align-items: center;padding: 60px 0;}
.auth-form{background: #ffffff;border-radius: 12px;box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);padding: 3rem;margin: 0 auto;max-width: 500px;}
.auth-header{text-align: center;margin-bottom: 2rem;}
.auth-header h1{font-size: 28px;font-weight: 700;color: #2d3748;margin-bottom: 8px;}
.auth-header p{color: #718096;font-size: 15px;}
.auth-form .form-control{border: 2px solid #e9ecef;border-radius: 8px;padding: 12px 16px;font-size: 15px;transition: all 0.3s ease;}
.auth-form .form-control:focus{border-color: #007bff;box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.15);outline: none;}
.auth-form .form-label{font-weight: 600;color: #2d3748;margin-bottom: 8px;font-size: 14px;}
.auth-form .required-field::after{content: ' *';color: #dc3545;}
.auth-form .alert{border-radius: 8px;padding: 16px 20px;margin-bottom: 24px;border: none;}
.auth-form .alert-success{background-color: #d4edda;color: #155724;}
.auth-form .alert-danger{background-color: #f8d7da;color: #721c24;}
.auth-form .alert-info{background-color: #d1ecf1;color: #0c5460;}
.auth-link{text-align: center;margin-top: 24px;padding-top: 24px;border-top: 1px solid #e9ecef;}
.auth-link a{color: #007bff;text-decoration: none;font-weight: 600;}
.auth-link a:hover{text-decoration: underline;}
.auth-form .spinner-border{width: 1.2rem;height: 1.2rem;border-width: 0.15em;}
.btn-login{background: linear-gradient(135deg, #28a745 0%, #218838 100%);border: none;padding: 14px 32px;font-size: 16px;font-weight: 600;border-radius: 8px;transition: all 0.3s ease;box-shadow: 0 4px 12px rgba(40, 167, 69, 0.3);width: 100%;}
.btn-login:hover{transform: translateY(-2px);box-shadow: 0 6px 20px rgba(40, 167, 69, 0.4);}
.btn-login:disabled{opacity: 0.6;cursor: not-allowed;transform: none;}
.forgot-password{text-align: right;margin-top: 8px;}
.forgot-password a{color: #6c757d;text-decoration: none;font-size: 14px;}
.forgot-password a:hover{color: #007bff;text-decoration: underline;}
.btn-register{background: linear-gradient(135deg, #007bff 0%, #0056b3 100%);border: none;padding: 14px 32px;font-size: 16px;font-weight: 600;border-radius: 8px;transition: all 0.3s ease;box-shadow: 0 4px 12px rgba(0, 123, 255, 0.3);width: 100%;}
.btn-register:hover{transform: translateY(-2px);box-shadow: 0 6px 20px rgba(0, 123, 255, 0.4);}
.btn-register:disabled{opacity: 0.6;cursor: not-allowed;transform: none;}
.auth-form .form-check{padding-left: 0;display: flex;align-items: flex-start;gap: 12px;min-height: auto;}
.auth-form .form-check-input{width: 20px !important;height: 20px !important;margin-top: 2px !important;margin-left: 0 !important;cursor: pointer;border: 2px solid #ced4da;border-radius: 4px;flex-shrink: 0;position: relative;appearance: none;-webkit-appearance: none;-moz-appearance: none;background-color: #fff;transition: all 0.2s ease;}
.auth-form .form-check-input:checked{background-color: #007bff;border-color: #007bff;background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");background-size: 100% 100%;background-position: center;background-repeat: no-repeat;}
.auth-form .form-check-input:focus{border-color: #007bff;outline: 0;box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);}
.auth-form .form-check-input:hover{border-color: #007bff;}
.auth-form .form-check-label{cursor: pointer;color: #2d3748;line-height: 1.6;margin: 0;font-size: 15px;}
.privacy-link{color: #007bff;text-decoration: none;font-weight: 500;}
.privacy-link:hover{text-decoration: underline;}
.divider{text-align: center;margin: 24px 0;position: relative;}
.divider::before{content: '';position: absolute;top: 50%;left: 0;right: 0;height: 1px;background-color: #e9ecef;}
.divider span{background-color: white;padding: 0 16px;position: relative;color: #718096;font-size: 14px;}
.password-requirements{font-size: 13px;color: #6c757d;margin-top: 6px;}
.auth-form .info-box{background-color: #e7f3ff;border-left: 4px solid #007bff;padding: 16px 20px;margin-bottom: 24px;border-radius: 4px;font-size: 14px;color: #004085;}
.btn-recover{background: linear-gradient(135deg, #ffc107 0%, #e0a800 100%);border: none;padding: 14px 32px;font-size: 16px;font-weight: 600;border-radius: 8px;transition: all 0.3s ease;box-shadow: 0 4px 12px rgba(255, 193, 7, 0.3);width: 100%;color: #000;}
.btn-recover:hover{transform: translateY(-2px);box-shadow: 0 6px 20px rgba(255, 193, 7, 0.4);color: #000;}
.btn-recover:disabled{opacity: 0.6;cursor: not-allowed;transform: none;}
.btn-reset{background: linear-gradient(135deg, #007bff 0%, #0056b3 100%);border: none;padding: 14px 32px;font-size: 16px;font-weight: 600;border-radius: 8px;transition: all 0.3s ease;box-shadow: 0 4px 12px rgba(0, 123, 255, 0.3);width: 100%;}
.btn-reset:hover{transform: translateY(-2px);box-shadow: 0 6px 20px rgba(0, 123, 255, 0.4);}
.btn-reset:disabled{opacity: 0.6;cursor: not-allowed;transform: none;}
.newsletter-consent-container{max-width: 700px;margin: 60px auto;padding: 40px;background: white;border-radius: 12px;box-shadow: 0 4px 20px rgba(0,0,0,0.1);}
.newsletter-consent-header{text-align: center;margin-bottom: 40px;}
.newsletter-consent-header h1{font-size: 32px;color: #2d3748;margin-bottom: 10px;}
.newsletter-consent-header .icon{font-size: 64px;margin-bottom: 20px;}
.status-badge{display: inline-block;padding: 8px 16px;border-radius: 20px;font-size: 14px;font-weight: 600;margin-bottom: 20px;}
.status-pending{background-color: #fff3cd;color: #856404;}
.status-confirmed{background-color: #d4edda;color: #155724;}
.status-unsubscribed{background-color: #f8d7da;color: #721c24;}
.newsletter-consent-container .info-box{background-color: #f8f9fa;padding: 20px;border-radius: 8px;margin: 20px 0;border-left: 4px solid #007bff;}
.newsletter-consent-container .info-box p{margin: 8px 0;color: #495057;}
.info-label{font-weight: 600;color: #2d3748;}
.action-buttons{margin-top: 30px;text-align: center;}
.btn-consent{display: inline-block;padding: 14px 32px;margin: 10px;border-radius: 8px;font-weight: 600;text-decoration: none;transition: transform 0.2s;border: none;cursor: pointer;font-size: 16px;}
.btn-consent:hover{transform: translateY(-2px);}
.btn-confirm{background: linear-gradient(135deg, #28a745 0%, #218838 100%);color: white;box-shadow: 0 4px 12px rgba(40, 167, 69, 0.3);}
.btn-unsubscribe{background: linear-gradient(135deg, #dc3545 0%, #c82333 100%);color: white;box-shadow: 0 4px 12px rgba(220, 53, 69, 0.3);}
.btn-consent:disabled{opacity: 0.6;cursor: not-allowed;}
.newsletter-consent-container .alert{padding: 15px 20px;border-radius: 8px;margin: 20px 0;}
.newsletter-consent-container .alert-success{background-color: #d4edda;border: 1px solid #c3e6cb;color: #155724;}
.newsletter-consent-container .alert-danger{background-color: #f8d7da;border: 1px solid #f5c6cb;color: #721c24;}
.newsletter-consent-container .alert-info{background-color: #d1ecf1;border: 1px solid #bee5eb;color: #0c5460;}
.message-container{margin-top: 20px;}
