/**
 * @license
 * Copyright 2026 Cactusio
 *
 * This code is part of the Cactusio web platform.
 * All rights remain reserved.
 * Unauthorized use, extraction, or redistribution is not permitted.
 *
 * more info at [https://policies.cactusio.com/en/](https://policies.cactusio.com/en/)
 */
.already-logged-in-modal,.auth-modal,.ghg-required-modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:none;align-items:center;justify-content:center;z-index:10000;padding:20px;opacity:0;transition:opacity .3s}.already-logged-in-modal.visible,.auth-modal.visible,.ghg-required-modal.visible{display:flex;opacity:1;animation:.6s fadeInUp}.already-logged-in-modal .modal-content,.auth-modal-content,.ghg-required-modal .modal-content{background:var(--glass-bg);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:2.5rem 2rem;max-width:500px;width:100%;text-align:center;box-shadow:0 20px 40px rgba(0,0,0,.4);animation:.6s fadeInUp;position:relative;overflow:hidden}.success-icon{margin-bottom:1.5rem}.success-icon i{font-size:4rem;color:var(--primary-color);animation:.5s scaleIn}@keyframes scaleIn{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.close-modal{position:absolute;top:1rem;right:1rem;background:0 0;border:none;color:var(--text-gray);font-size:1.5rem;cursor:pointer;transition:color .3s;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%}.close-modal:hover{color:var(--text-light);background-color:rgba(255,255,255,.1)}.modal-header{margin-bottom:1.8rem}.modal-header h2{color:var(--text-light);margin-bottom:.5rem;font-size:1.6rem;background:linear-gradient(90deg,var(--primary-light),var(--secondary-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;word-wrap:break-word}.modal-header p{color:var(--text-gray);margin-bottom:0;line-height:1.5;font-size:.95rem}.modal-header small{display:block;margin-top:.5rem;color:var(--primary-color);font-size:.85rem}.modal-actions{display:flex;gap:.8rem;margin-bottom:1.8rem;flex-direction:column}.btn-primary{width:100%;padding:1rem 1.5rem;background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:#fff;border:none;border-radius:var(--radius-md);font-size:.95rem;font-weight:600;cursor:pointer;transition:.3s;display:flex;align-items:center;justify-content:center;gap:.5rem;text-decoration:none;box-shadow:0 4px 15px rgba(104,190,124,.3);position:relative;overflow:hidden;min-height:48px}.btn-primary::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .7s}.btn-primary:active{transform:scale(.98)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(104,190,124,.4)}.btn-primary:hover::before{left:100%}.btn-primary:disabled{background:linear-gradient(135deg,#999,#666);cursor:not-allowed;box-shadow:none;transform:none}.btn-outline{width:100%;padding:1rem 1.5rem;background:0 0;color:var(--text-gray);border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-md);font-size:.95rem;font-weight:600;cursor:pointer;transition:.3s;display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px}.btn-outline:active{transform:scale(.98)}.btn-outline:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.5);color:var(--text-light);transform:translateY(-2px)}.btn-outline:disabled{background:0 0;color:#666;border-color:#666;cursor:not-allowed;transform:none}.modal-footer{color:var(--text-gray);font-size:.85rem;line-height:1.5}.modal-footer a{color:var(--primary-color);text-decoration:none;transition:color .3s}.modal-footer a:hover{color:var(--primary-light);text-decoration:underline}.resend-link{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.resend-link p{color:var(--text-gray);font-size:.85rem}.resend-link a{color:var(--primary-color);text-decoration:underline;cursor:pointer;transition:color .3s}.resend-link a:hover{color:var(--primary-light)}