.disconnected-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000bf;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.disconnected-modal{background:#fff;border-radius:16px;max-width:450px;width:90%;box-shadow:0 20px 60px #0000004d;animation:disconnectedSlideIn .3s ease-out;overflow:hidden}@keyframes disconnectedSlideIn{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}.disconnected-modal-header{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;padding:2rem;text-align:center}.disconnected-icon{font-size:4rem;margin-bottom:1rem;animation:disconnectedPulse 2s ease-in-out infinite}@keyframes disconnectedPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.disconnected-modal-header h2{margin:0;font-size:1.75rem;font-weight:700}.disconnected-modal-body{padding:2rem}.disconnected-message{font-size:1.1rem;color:#2c3e50;margin-bottom:1rem;line-height:1.6;font-weight:500}.disconnected-info{color:#7f8c8d;font-size:.95rem;margin:0;line-height:1.5}.disconnected-modal-footer{padding:0 2rem 2rem}.disconnected-confirm-button{width:100%;padding:1rem;background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.disconnected-confirm-button:hover{background:linear-gradient(135deg,#2980b9,#21618c);transform:translateY(-2px);box-shadow:0 4px 12px #3498db66}.disconnected-confirm-button:active{transform:translateY(0)}@media (max-width: 480px){.disconnected-modal{max-width:95%;margin:1rem}.disconnected-modal-header{padding:1.5rem}.disconnected-icon{font-size:3rem}.disconnected-modal-header h2{font-size:1.5rem}.disconnected-modal-body{padding:1.5rem}.disconnected-message{font-size:1rem}.disconnected-info{font-size:.9rem}.disconnected-modal-footer{padding:0 1.5rem 1.5rem}.disconnected-confirm-button{padding:.875rem;font-size:1rem}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-blue: #1e3a8a;--primary-blue-light: #3b82f6;--primary-blue-dark: #1e40af;--accent-blue: #3b82f6;--accent-blue-light: #60a5fa;--accent-blue-dark: #2563eb;--golden-accent: #f59e0b;--golden-accent-light: #fbbf24;--golden-accent-dark: #d97706;--steel-gray: #4a5568;--steel-gray-light: #718096;--steel-gray-dark: #2d3748;--success: #10b981;--danger: #ef4444;--warning: #f59e0b;--info: #3b82f6;--bg-primary: #ffffff;--bg-secondary: #f7fafc;--bg-dark: #1a202c;--bg-overlay: rgba(30, 58, 138, .95);--text-primary: #1a202c;--text-secondary: #4a5568;--text-light: #e2e8f0;--text-white: #ffffff;--border: #e2e8f0;--border-dark: #cbd5e0;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--gradient-primary: linear-gradient(135deg, var(--primary-blue) 0%, var(--accent-blue) 100%);--gradient-gold: linear-gradient(135deg, var(--golden-accent) 0%, var(--golden-accent-light) 100%);--gradient-dark: linear-gradient(135deg, var(--primary-blue-dark) 0%, var(--accent-blue-dark) 100%);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-secondary);color:var(--text-primary);line-height:1.6}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;color:var(--text-primary);margin-bottom:1rem}h1.gradient-text,h2.gradient-text{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}@media (max-width: 768px){h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.5rem}h4{font-size:1.25rem}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.75rem;font-size:1rem;font-weight:600;border-radius:.75rem;border:none;cursor:pointer;transition:all .3s ease;text-decoration:none;font-family:inherit}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 15px #1e3a8a4d}.btn-primary:hover{box-shadow:0 6px 25px #3b82f680;transform:translateY(-2px)}.btn-secondary{background:var(--steel-gray);color:#fff;box-shadow:0 4px 15px #4a55684d}.btn-secondary:hover{background:var(--steel-gray-dark);transform:translateY(-2px)}.btn-outline{background:transparent;color:var(--primary-blue);border:2px solid var(--primary-blue)}.btn-outline:hover{background:var(--primary-blue);color:#fff;transform:translateY(-2px)}.btn-gold{background:var(--gradient-gold);color:#fff;box-shadow:0 4px 15px #f59e0b4d}.btn-gold:hover{box-shadow:0 6px 25px #fbbf2480;transform:translateY(-2px)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#dc2626;transform:translateY(-2px)}.btn-sm{padding:.625rem 1.25rem;font-size:.875rem}.btn-lg{padding:1.125rem 2.25rem;font-size:1.125rem}.card{background:#fff;border-radius:var(--radius-xl);padding:1.5rem;box-shadow:var(--shadow);transition:all .3s ease}.card:hover{transform:translateY(-5px);box-shadow:0 12px 30px #00000026}.card-primary{border-left:4px solid var(--primary-blue);background:linear-gradient(to right,#1e3a8a0d,#fff)}.badge{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .875rem;border-radius:1.5rem;font-size:.875rem;font-weight:600}.badge-success{background:var(--primary-blue);color:#fff}.badge-gold{background:var(--golden-accent);color:#fff}.section{padding:4rem 0}.section-dark{background:var(--bg-secondary)}.section-title{text-align:center;font-size:2.5rem;margin-bottom:1rem}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.fadeIn{animation:fadeIn .6s ease-out}.slideIn{animation:slideIn .6s ease-out}.pulse{animation:pulse 2s ease-in-out infinite}.container{max-width:1280px;margin:0 auto;padding:0 2rem}.loading{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:1.5rem;color:var(--text-secondary)}@media (min-width: 768px) and (max-width: 1024px){.container{padding:0 1.5rem;max-width:960px}.section{padding:3.5rem 0}}@media (max-width: 767px){.container{padding:0 1rem}.section{padding:3rem 0}}@media (max-width: 480px){.container{padding:0 .75rem}.section{padding:2rem 0}}.single-session-modal{max-width:500px;animation:slideDown .3s ease-out}.single-session-modal .modal-header{background:linear-gradient(135deg,#dc2626,#991b1b);color:#fff;padding:1.5rem;text-align:center;border-radius:12px 12px 0 0}.single-session-modal .modal-header h2{margin:0;font-size:1.5rem;font-weight:800;display:flex;align-items:center;justify-content:center;gap:.5rem}.single-session-modal .modal-body{padding:2rem;text-align:center}.warning-icon{font-size:4rem;margin-bottom:1rem;animation:pulse 2s ease-in-out infinite}.warning-text{font-size:1.1rem;color:var(--text-primary);margin-bottom:1rem;font-weight:600}.info-text{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.6}.session-info-box{background:linear-gradient(135deg,#e0f2fe,#bae6fd);border:2px solid #0ea5e9;border-radius:8px;padding:1rem;margin:1rem 0;text-align:left}.session-info-box p{margin:.5rem 0;color:#0c4a6e;font-size:.95rem}.session-info-box strong{color:#075985}.question-box{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:8px;padding:1rem;margin-top:1.5rem}.question-box strong{color:#92400e;font-size:1.05rem}.single-session-modal .modal-footer{display:flex;gap:1rem;padding:1.5rem;background:#f9fafb;border-radius:0 0 12px 12px;border-top:1px solid #e5e7eb}.single-session-modal .modal-footer .btn{flex:1;padding:.875rem 1.5rem;font-size:1rem;font-weight:700}@keyframes slideDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 576px){.single-session-modal{max-width:90%;margin:1rem}.single-session-modal .modal-body{padding:1.5rem}.warning-icon{font-size:3rem}.single-session-modal .modal-footer{flex-direction:column}}.pending-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.pending-modal-content{background:#fff;border-radius:16px;max-width:550px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #fbbf244d;animation:pendingSlideIn .3s ease-out}@keyframes pendingSlideIn{0%{opacity:0;transform:translateY(-30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.pending-modal-header{padding:24px 24px 16px;border-bottom:2px solid #fef3c7;background:linear-gradient(135deg,#fffbeb,#fff);display:flex;flex-direction:column;align-items:center;gap:12px}.pending-icon{font-size:64px;animation:pendingPulse 2s ease-in-out infinite}@keyframes pendingPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.pending-modal-header h2{margin:0;color:#d97706;font-size:24px;font-weight:700;text-align:center}.pending-modal-body{padding:24px}.pending-message{color:#374151;font-size:16px;line-height:1.6;margin:0 0 24px;text-align:center;font-weight:500}.pending-info-box{background:#fffbeb;border:2px solid #fde68a;border-radius:12px;padding:20px;margin:24px 0}.info-item{display:flex;gap:16px;margin-bottom:20px}.info-item:last-child{margin-bottom:0}.info-icon{font-size:32px;flex-shrink:0}.info-item strong{color:#92400e;font-size:16px;display:block;margin-bottom:4px}.info-item p{color:#78350f;font-size:14px;margin:0;line-height:1.5}.pending-footer-text{text-align:center;color:#6b7280;font-size:14px;margin:20px 0 0;font-style:italic}.pending-modal-footer{padding:16px 24px 24px;display:flex;justify-content:center}.pending-modal-btn{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;padding:12px 32px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #f59e0b4d}.pending-modal-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #f59e0b66;background:linear-gradient(135deg,#d97706,#b45309)}.pending-modal-btn:active{transform:translateY(0)}.auth-page{min-height:100vh;background:linear-gradient(135deg,var(--primary-blue) 0%,var(--accent-blue) 100%);padding:2rem 1rem;display:flex;align-items:center;justify-content:center;overflow-x:hidden;max-width:100vw}.auth-container{width:100%;max-width:500px;margin:0 auto;animation:fadeIn .6s ease-out}.auth-header{text-align:center;margin-bottom:2rem}.auth-logo{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1rem}.logo-icon{font-size:3rem;filter:drop-shadow(0 4px 10px rgba(0,0,0,.3))}.auth-logo h1{font-size:2.5rem;font-weight:900;color:#fff;margin:0;text-shadow:0 2px 10px rgba(0,0,0,.3);letter-spacing:-1px}.auth-subtitle{color:#fffffff2;font-size:1.125rem;margin:0;font-weight:500}.auth-form-card{background:#fff;border-radius:1.5rem;padding:2.5rem;box-shadow:0 20px 60px #0000004d;margin-bottom:1.5rem}.form-header{margin-bottom:2rem;text-align:center}.form-header h2{font-size:1.75rem;color:var(--primary-blue);margin:0 0 .5rem}.form-header p{color:var(--text-secondary);margin:0;font-size:.9375rem}.auth-form{width:100%}.form-group{margin-bottom:1.5rem;width:100%}.form-group label{display:block;font-weight:600;margin-bottom:.5rem;color:var(--text-primary);font-size:.9375rem}.form-group input{width:100%;padding:.875rem 1rem;border:2px solid var(--border);border-radius:.75rem;font-size:1rem;transition:all .3s;font-family:inherit;box-sizing:border-box}.form-group input:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px #3b82f61a}.email-detection-badge{margin-top:.75rem;padding:.875rem 1rem;background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-radius:.75rem;border-left:4px solid #10b981;display:flex;align-items:center;gap:.75rem;animation:slideDown .3s ease;box-shadow:0 2px 8px #10b98133}.detection-icon{font-size:1.5rem;flex-shrink:0}.detection-text{font-weight:700;color:#065f46;font-size:1rem;flex-shrink:0}.detection-check{color:#047857;font-size:.875rem;font-weight:600;margin-left:auto}.form-footer-link{text-align:right;margin-bottom:1.5rem}.forgot-password-btn{background:none;border:none;color:var(--primary-blue);text-decoration:none;font-size:.875rem;font-weight:600;transition:color .3s;cursor:pointer;padding:0;font-family:inherit}.forgot-password-btn:hover{color:var(--accent-blue);text-decoration:underline}.password-input-wrapper{position:relative;width:100%}.password-input-wrapper input{width:100%;padding-right:3rem;box-sizing:border-box}.password-toggle-btn{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:1.25rem;padding:.5rem;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:color .3s;line-height:1}.password-toggle-btn:hover{color:var(--primary-blue)}.password-toggle-btn:focus{outline:none}.error-message{padding:1rem 1.25rem;background:#ef44441a;border:2px solid #ef4444;border-radius:.75rem;color:#991b1b;margin-bottom:1.5rem;font-weight:600;font-size:.9375rem}.success-message{padding:1.5rem 1.25rem;background:#10b9811a;border:2px solid #10b981;border-radius:.75rem;margin-bottom:1.5rem}.success-message .success-icon{font-size:2rem;text-align:center;margin-bottom:.75rem}.success-message .success-content{text-align:center}.success-message .success-title{color:#065f46;font-weight:600;font-size:.9375rem;margin:0 0 1rem}.spam-warning{background:linear-gradient(135deg,#fee2e2,#fecaca);border:2px solid #dc2626;border-radius:.5rem;padding:1rem;display:flex;align-items:center;gap:.75rem;margin-top:1rem}.spam-warning .warning-icon{font-size:1.5rem;flex-shrink:0}.spam-warning strong{color:#991b1b;font-weight:700;display:block;margin-bottom:.25rem;font-size:.875rem}.spam-warning{color:#7f1d1d;font-weight:600;font-size:.875rem;line-height:1.4}.auth-divider{position:relative;text-align:center;margin:2rem 0}.auth-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border)}.auth-divider span{background:#fff;padding:0 1rem;color:var(--text-secondary);font-size:.875rem;font-weight:600;position:relative;z-index:1}.auth-alternative{text-align:center}.auth-alternative p{color:var(--text-secondary);margin-bottom:1rem;font-size:.9375rem}.auth-info{text-align:center;color:#fff}.auth-info p{margin:.5rem 0;font-size:.875rem;opacity:.95}.auth-help{margin-top:1rem}.auth-help a{color:#fff;text-decoration:underline;font-weight:600}.auth-help a:hover{opacity:.8}@media (min-width: 768px) and (max-width: 1024px){.auth-page{padding:2.5rem 2rem}.auth-container{max-width:600px}.auth-form-card{padding:3rem}.auth-logo h1{font-size:3rem}.logo-icon{font-size:3.5rem}.form-header h2{font-size:2rem}}@media (max-width: 767px){.auth-page{padding:1rem;min-height:100vh;overflow-x:hidden}.auth-container{max-width:100%;width:100%}.auth-header{margin-bottom:1.5rem}.auth-logo{flex-direction:column;gap:.5rem}.auth-logo h1{font-size:2rem}.logo-icon{font-size:2.5rem}.auth-subtitle{font-size:1rem}.auth-form-card{padding:1.5rem;border-radius:1.25rem}.form-header{margin-bottom:1.5rem}.form-header h2{font-size:1.5rem}.form-header p{font-size:.875rem}.form-group{margin-bottom:1.25rem}.form-group input{padding:.75rem .875rem;font-size:16px}.auth-divider{margin:1.5rem 0}.auth-info{margin-top:1rem}.auth-info p{font-size:.8125rem}}@media (max-width: 480px){.auth-page{padding:.75rem}.auth-form-card{padding:1.25rem}.auth-logo h1{font-size:1.75rem}.logo-icon{font-size:2rem}.form-header h2{font-size:1.375rem}.form-group input{padding:.625rem .75rem}.btn-lg{padding:.875rem 1.5rem;font-size:1rem}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem;animation:fadeIn .3s ease-out}.forgot-password-modal{background:#fff;border-radius:1.25rem;max-width:480px;width:100%;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out;overflow:hidden}.modal-header{background:linear-gradient(135deg,var(--primary-blue) 0%,var(--accent-blue) 100%);padding:2rem 1.5rem 1.5rem;text-align:center;color:#fff}.modal-icon{font-size:3.5rem;margin-bottom:.75rem;filter:drop-shadow(0 4px 10px rgba(0,0,0,.2))}.modal-header h3{margin:0;font-size:1.5rem;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.1)}.modal-body{padding:2rem 1.5rem;text-align:center}.modal-message{color:var(--text-secondary);font-size:1rem;margin:0 0 1.25rem;line-height:1.5}.modal-question{color:var(--text-primary);font-size:1.125rem;margin:0 0 .75rem}.modal-question strong{color:var(--primary-blue)}.modal-hint{color:var(--text-secondary);font-size:.9375rem;margin:0;line-height:1.6}.modal-footer{padding:1.5rem;display:flex;gap:1rem;border-top:1px solid var(--border-light);background:var(--bg-light)}.btn-modal{flex:1;padding:.875rem 1.5rem;font-size:.9375rem;font-weight:600;border-radius:.75rem;border:none;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-secondary.btn-modal{background:#e5e7eb;color:#374151}.btn-secondary.btn-modal:hover{background:#d1d5db;transform:translateY(-1px)}.btn-primary.btn-modal{background:linear-gradient(135deg,var(--primary-blue) 0%,var(--accent-blue) 100%);color:#fff}.btn-primary.btn-modal:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3b82f666}@media (max-width: 640px){.modal-footer{flex-direction:column}.btn-modal{width:100%}.modal-icon{font-size:3rem}.modal-header{padding:1.5rem 1rem 1rem}.modal-body{padding:1.5rem 1rem}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem 1rem;animation:fadeInOverlay .3s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overflow-y:auto}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:1rem;box-shadow:0 25px 50px -12px #00000040;max-height:calc(100vh - 4rem);overflow-y:auto;animation:slideUp .3s ease-out;position:relative;margin:auto;width:100%}.modal-small{width:100%;max-width:400px}.modal-medium{width:100%;max-width:600px}.modal-large{width:100%;max-width:900px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:2px solid var(--border);background:var(--gradient-primary);color:#fff;border-radius:1rem 1rem 0 0}.modal-title{font-size:1.5rem;font-weight:700;margin:0;color:#fff}.modal-close{background:#fff3;border:none;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;color:#fff}.modal-close:hover{background:#ffffff4d;transform:rotate(90deg)}.modal-body{padding:2rem 1.5rem}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:0 1rem 1rem 0}.modal-content::-webkit-scrollbar-thumb{background:var(--steel-gray);border-radius:4px}.modal-content::-webkit-scrollbar-thumb:hover{background:var(--steel-gray-dark)}@media (min-width: 768px) and (max-width: 1024px){.modal-overlay{padding:1rem}.modal-content{max-height:90vh}.modal-header{padding:1.5rem}.modal-title{font-size:1.4rem}.modal-body{padding:1.75rem 1.5rem}.modal-small{max-width:400px}.modal-medium{max-width:600px}.modal-large{max-width:850px}}@media (max-width: 767px){.modal-overlay{padding:.5rem}.modal-content{max-height:95vh}.modal-header{padding:1.25rem}.modal-title{font-size:1.25rem}.modal-body{padding:1.5rem 1.25rem}.modal-small,.modal-medium,.modal-large{max-width:100%}}@media (max-width: 480px){.modal-overlay{padding:0}.modal-content{max-height:100vh;border-radius:0}.modal-header{padding:1rem}.modal-title{font-size:1.15rem}.modal-body{padding:1.25rem 1rem}}.error-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.error-modal-content{background:#fff;border-radius:16px;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #dc26264d;animation:errorSlideIn .3s ease-out}@keyframes errorSlideIn{0%{opacity:0;transform:translateY(-30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.error-modal-header{padding:24px 24px 16px;border-bottom:2px solid #fee2e2;background:linear-gradient(135deg,#fef2f2,#fff);display:flex;align-items:center;gap:16px}.error-icon{font-size:48px;animation:shake .5s ease-in-out}.error-modal-header h2{margin:0;color:#dc2626;font-size:24px;font-weight:700}.error-modal-body{padding:24px}.error-message{color:#374151;font-size:16px;line-height:1.6;margin:0 0 16px}.error-details{margin-top:16px;background:#f9fafb;border-radius:8px;overflow:hidden}.error-details summary{padding:12px 16px;background:#f3f4f6;cursor:pointer;font-weight:600;color:#6b7280;-webkit-user-select:none;user-select:none;transition:all .2s}.error-details summary:hover{background:#e5e7eb;color:#374151}.error-details pre{padding:16px;margin:0;background:#1f2937;color:#f87171;font-size:13px;line-height:1.5;overflow-x:auto;font-family:Courier New,monospace}.error-modal-footer{padding:16px 24px 24px;display:flex;justify-content:flex-end}.error-modal-btn{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;border:none;padding:12px 32px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #dc26264d}.error-modal-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #dc262666;background:linear-gradient(135deg,#b91c1c,#991b1b)}.error-modal-btn:active{transform:translateY(0)}.success-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.success-modal-content{background:#fff;border-radius:16px;max-width:500px;width:90%;box-shadow:0 20px 60px #10b9814d;animation:successSlideIn .3s ease-out}@keyframes successSlideIn{0%{opacity:0;transform:translateY(-30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.success-modal-header{padding:24px 24px 16px;border-bottom:2px solid #d1fae5;background:linear-gradient(135deg,#ecfdf5,#fff);display:flex;align-items:center;gap:16px}.success-icon{font-size:48px;animation:successBounce .6s ease-out}@keyframes successBounce{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.success-modal-header h2{margin:0;color:#059669;font-size:24px;font-weight:700}.success-modal-body{padding:24px}.success-message{color:#374151;font-size:16px;line-height:1.6;margin:0}.success-modal-footer{padding:16px 24px 24px;display:flex;justify-content:flex-end}.success-modal-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:12px 32px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #10b9814d}.success-modal-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #10b98166;background:linear-gradient(135deg,#059669,#047857)}.success-modal-btn:active{transform:translateY(0)}.register-page{min-height:100vh;background:linear-gradient(135deg,var(--bg-secondary) 0%,white 100%);padding:2rem 0;overflow-x:hidden;max-width:100vw}.register-container{max-width:800px;margin:0 auto;padding:0 2rem;width:100%;box-sizing:border-box}.progress-bar{display:flex;justify-content:space-between;margin-bottom:3rem;position:relative}.progress-bar:before{content:"";position:absolute;top:25px;left:25%;right:25%;height:3px;background:var(--border);z-index:0}.progress-step{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem;position:relative;z-index:1}.step-number{width:50px;height:50px;border-radius:50%;background:#fff;border:3px solid var(--border);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.25rem;color:var(--text-secondary);transition:all .3s}.progress-step.active .step-number{border-color:var(--primary-blue);background:var(--primary-blue);color:#fff}.progress-step.current .step-number{box-shadow:0 0 0 4px #3b82f633;animation:pulse 2s ease-in-out infinite}.step-label{font-size:.875rem;font-weight:600;color:var(--text-secondary);text-align:center}.progress-step.active .step-label{color:var(--primary-blue)}.register-form{background:#fff;border-radius:1.5rem;padding:3rem;box-shadow:0 10px 40px #0000001a}.form-step{animation:slideIn .4s ease-out}.form-step h2{font-size:2rem;margin-bottom:.5rem;color:var(--primary-blue)}.step-description{color:var(--text-secondary);margin-bottom:2rem}.form-group label{display:block;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.form-group input[type=text],.form-group input[type=email],.form-group input[type=password],.form-group select{width:100%;padding:.875rem 1rem;border:2px solid var(--border);border-radius:.75rem;font-size:1rem;transition:all .3s;font-family:inherit}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px #3b82f61a}.form-hint{display:block;margin-top:.5rem;font-size:.875rem;color:var(--text-secondary)}.checkbox-group{margin-bottom:1.25rem}.checkbox-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer}.checkbox-label input[type=checkbox]{width:20px;height:20px;margin-top:2px;cursor:pointer;flex-shrink:0}.checkbox-label span{line-height:1.6}.link-button{background:none;border:none;color:var(--primary-blue);text-decoration:underline;cursor:pointer;font-weight:600;padding:0;font-size:inherit}.link-button:hover{color:var(--accent-blue)}.alert{padding:1rem 1.25rem;border-radius:.75rem;margin-top:1rem;line-height:1.6}.alert-success{background:#10b9811a;border:2px solid #10b981;color:#065f46}.alert-warning{background:#f59e0b1a;border:2px solid var(--golden-accent);color:#92400e}.alert small{display:block;margin-top:.5rem;opacity:.9}.detected-corpo-badge{display:flex;align-items:center;gap:1.5rem;padding:2rem;background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-radius:1rem;border-left:5px solid #10b981;margin-bottom:1.5rem;box-shadow:0 4px 15px #10b98133;animation:slideDown .4s ease}.detected-corpo-icon{font-size:4rem;width:80px;height:80px;background:#fff;border-radius:1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 10px #0000001a}.detected-corpo-info{flex:1}.detected-corpo-info h3{margin:0 0 .5rem;font-size:1.5rem;color:#065f46;font-weight:800}.detected-corpo-info p{margin:0;color:#047857;font-size:1rem;font-weight:600}.email-type-info{margin-top:1.5rem}.privacy-note{background:var(--bg-secondary);padding:1rem;border-radius:.75rem;margin-top:1.5rem}.privacy-note p{margin:0;color:var(--text-secondary)}.document-types{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.document-type-card{position:relative;cursor:pointer}.document-type-card input[type=radio]{position:absolute;opacity:0}.card-content{padding:1.5rem;border:2px solid var(--border);border-radius:1rem;text-align:center;transition:all .3s;background:#fff}.document-type-card:hover .card-content{border-color:var(--primary-blue);transform:translateY(-4px);box-shadow:0 8px 20px #3b82f633}.document-type-card input:checked+.card-content{border-color:var(--primary-blue);background:#3b82f60d;box-shadow:0 0 0 3px #3b82f61a}.card-icon{font-size:3rem;display:block;margin-bottom:.75rem}.card-content h4{margin:0 0 .5rem;font-size:1.125rem;color:var(--text-primary)}.card-content p{margin:0;font-size:.875rem;color:var(--text-secondary)}.file-upload input[type=file]{width:100%;padding:.875rem;border:2px dashed var(--border);border-radius:.75rem;cursor:pointer;transition:all .3s}.file-upload input[type=file]:hover{border-color:var(--primary-blue);background:#3b82f60d}.file-preview{margin-top:.75rem;padding:.75rem 1rem;background:#10b9811a;border-radius:.5rem;color:#065f46;font-weight:600}.no-documents-needed{text-align:center;padding:3rem 2rem;background:#10b9810d;border-radius:1rem;border:2px solid #10b981}.success-icon{font-size:4rem;margin-bottom:1rem}.no-documents-needed h3{color:#065f46;margin-bottom:1rem}.no-documents-needed p{color:var(--text-secondary);margin-bottom:.5rem}.email-badge{display:inline-block;padding:.5rem 1.25rem;background:var(--primary-blue);color:#fff;border-radius:2rem;font-weight:600;margin-top:1rem}.error-message{display:none}.form-actions{display:flex;gap:1rem;margin-top:2rem;padding-top:2rem;border-top:2px solid var(--border)}.form-actions button{flex:1}.login-link{text-align:center;margin-top:1.5rem;color:var(--text-secondary)}.privacy-content{line-height:1.8}.privacy-content h3{color:var(--primary-blue);margin-top:1.5rem;margin-bottom:.75rem}.privacy-content h4{color:var(--text-primary);margin-top:1rem;margin-bottom:.5rem}.privacy-content ul{margin:.5rem 0 1rem 1.5rem}.privacy-content li{margin-bottom:.5rem}.success-modal-content{text-align:center;padding:1rem 0}.success-icon-large{font-size:5rem;margin-bottom:1rem;animation:pulse 2s ease-in-out infinite}.success-modal-content h3{color:var(--primary-blue);margin-bottom:1rem}.success-modal-content p{color:var(--text-secondary);line-height:1.8;margin-bottom:1rem}.success-badge{display:inline-block;padding:.75rem 1.5rem;background:#10b9811a;border:2px solid #10b981;border-radius:2rem;color:#065f46;font-weight:700;margin:1rem 0}.warning-badge{display:inline-block;padding:.75rem 1.5rem;background:#f59e0b1a;border:2px solid var(--golden-accent);border-radius:2rem;color:#92400e;font-weight:700;margin:1rem 0}@media (min-width: 1025px){.register-container{max-width:900px;padding:0 2rem}.register-form{padding:3.5rem;box-shadow:0 20px 60px #00000026}.progress-bar{margin-bottom:4rem;padding:0 3rem}.progress-bar:before{top:27px;left:18%;right:18%;height:4px}.step-number{width:55px;height:55px;font-size:1.375rem;border-width:4px}.step-label{font-size:1rem;font-weight:700}.form-step h2{font-size:2.5rem;margin-bottom:1rem}.step-description{font-size:1.125rem;margin-bottom:2.5rem}.checkbox-group{margin-bottom:2rem}.checkbox-label{padding:1rem;border-radius:.75rem;transition:all .2s}.checkbox-label:hover{background:var(--bg-secondary);transform:translate(5px)}.checkbox-label input[type=checkbox]{width:24px;height:24px}.checkbox-label span{font-size:1.0625rem}.privacy-note{padding:1.5rem;font-size:1rem}}@media (min-width: 768px) and (max-width: 1024px){.register-container{max-width:700px;padding:0 1.5rem}.register-form{padding:2.5rem}.document-types{grid-template-columns:repeat(2,1fr)}.form-step h2{font-size:1.75rem}.step-number{width:45px;height:45px;font-size:1.1rem}}@media (max-width: 767px){.register-container{padding:0 1rem;max-width:100%}.register-form{padding:2rem 1.5rem}.progress-bar{margin-bottom:2rem}.step-label{font-size:.75rem}.step-number{width:40px;height:40px;font-size:1rem}.form-step h2{font-size:1.5rem}.document-types{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-group input,.form-group select{font-size:16px}}@media (max-width: 480px){.register-page{padding:1rem 0}.register-container{padding:0 .75rem}.register-form{padding:1.5rem 1rem}.progress-bar:before{display:none}.progress-bar{gap:.5rem}.step-label{display:none}.form-step h2{font-size:1.375rem}}*{max-width:100%}html,body{overflow-x:hidden;max-width:100vw}.video-gallery-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:2rem;animation:fadeIn .3s ease-out}.video-gallery-modal{background:#fff;border-radius:24px;width:100%;max-width:1200px;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out;display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:2rem;border-bottom:2px solid #f1f5f9;background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.modal-title-section{display:flex;align-items:center;gap:1rem}.modal-icon{font-size:2.5rem;animation:pulse 2s ease-in-out infinite}.modal-title{font-size:1.75rem;font-weight:800;color:var(--text-primary);margin:0}.modal-subtitle{font-size:1rem;color:var(--text-secondary);margin:.25rem 0 0;font-weight:500}.modal-close{width:40px;height:40px;border-radius:50%;border:none;background:#fff;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 2px 8px #0000001a}.modal-content{padding:2rem;overflow-y:auto;flex:1}.videos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem;margin-bottom:2rem}.video-item{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px #00000014;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative}.video-item:hover{transform:translateY(-8px);box-shadow:0 12px 40px #3b82f633}.video-item.featured{background:linear-gradient(135deg,#667eea,#764ba2)}.video-item.featured .video-title,.video-item.featured .video-description{color:#fff}.video-item.playing{outline:4px solid var(--primary-blue);outline-offset:2px}.featured-badge{position:absolute;top:1rem;right:1rem;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;padding:.5rem 1rem;border-radius:8px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 4px 12px #fbbf2466;z-index:3}.video-thumbnail{position:relative;width:100%;padding-top:56.25%;overflow:hidden}.thumbnail-placeholder{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2)}.placeholder-icon{font-size:4rem;opacity:.7;z-index:1;position:relative}.thumbnail-placeholder img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.video-item:hover .thumbnail-placeholder img{transform:scale(1.1)}.play-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0000004d;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.video-item:hover .play-overlay{opacity:1}.play-button{width:70px;height:70px;background:#fffffff2;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--primary-blue);transform:scale(.9);transition:transform .3s ease}.video-item:hover .play-button{transform:scale(1)}.duration-badge{position:absolute;bottom:.75rem;right:.75rem;background:#000000d9;color:#fff;padding:.375rem .75rem;border-radius:6px;font-size:.875rem;font-weight:600;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.video-details{padding:1.25rem}.video-title{font-size:1.125rem;font-weight:700;color:var(--text-primary);margin:0 0 .5rem;line-height:1.4}.video-description{font-size:.875rem;color:var(--text-secondary);line-height:1.6;margin:0}.video-player-section{margin-top:2rem;padding-top:2rem;border-top:2px solid #f1f5f9;animation:fadeIn .3s ease-out}.player-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.player-header h3{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.close-player{background:#f1f5f9;border:none;padding:.75rem 1.5rem;border-radius:12px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .3s ease}.close-player:hover{background:var(--primary-red);color:#fff}.video-player{background:#000;border-radius:16px;overflow:hidden;box-shadow:0 8px 32px #0000004d;margin-bottom:1.5rem}.video-element{width:100%;height:auto;display:block;max-height:600px;background:#000;-webkit-tap-highlight-color:transparent;outline:none}.video-element::-webkit-media-controls-panel{background-color:#000c}.video-element::-webkit-media-controls{opacity:1!important}.video-player-info{background:linear-gradient(135deg,#f8f9fa,#e9ecef);padding:1.5rem;border-radius:12px;border-left:4px solid var(--primary-blue)}.player-description{font-size:1rem;color:var(--text-secondary);line-height:1.6;margin:0}.video-player-placeholder{background:linear-gradient(135deg,#1e293b,#334155);border-radius:16px;padding:4rem 2rem;text-align:center;color:#fff}.player-icon{font-size:4rem;margin-bottom:1rem}.video-player-placeholder p{font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.video-player-placeholder small{font-size:.875rem;opacity:.7}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.video-gallery-modal-overlay{padding:1rem}.modal-header{padding:1.5rem}.modal-title{font-size:1.5rem}.modal-subtitle{font-size:.875rem}.modal-icon{font-size:2rem}.modal-content{padding:1.5rem}.videos-grid{grid-template-columns:1fr;gap:1.5rem}.play-button{width:60px;height:60px;font-size:1.25rem}.video-player-placeholder{padding:3rem 1.5rem}.player-icon{font-size:3rem}.video-element{max-height:400px}.video-player-info{padding:1rem}.player-description{font-size:.875rem}}.hero{position:relative;min-height:600px;display:flex;align-items:center;overflow:hidden;padding:4rem 0}.hero-background{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--gradient-primary);opacity:.05;z-index:0}.hero-background:after{content:"";position:absolute;top:-50%;right:-10%;width:800px;height:800px;background:var(--golden-accent);opacity:.1;border-radius:50%;filter:blur(100px)}.hero-content{position:relative;z-index:1;text-align:center;animation:fadeIn 1s ease-out}.hero-badge{margin-bottom:2rem;animation:slideIn 1s ease-out .2s backwards;display:flex;justify-content:center}.hero-logo{height:180px;width:auto;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(0,0,0,.15));transition:transform .3s ease}.hero-logo:hover{transform:scale(1.05)}.hero-title{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.hero-title-main{font-size:4.5rem;font-weight:900;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-2px;animation:slideIn 1s ease-out .3s backwards;text-shadow:0 4px 20px rgba(45,80,22,.2)}.hero-title-sub{font-size:1.75rem;color:var(--text-secondary);font-weight:600;animation:slideIn 1s ease-out .4s backwards}.hero-description{font-size:1.25rem;line-height:1.8;color:var(--text-secondary);max-width:700px;margin:0 auto 3rem;animation:slideIn 1s ease-out .5s backwards}.hero-actions{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;margin-bottom:3rem;animation:slideIn 1s ease-out .6s backwards}.hero-welcome{display:flex;justify-content:center;animation:slideIn 1s ease-out .7s backwards}.welcome-card{display:flex;align-items:center;gap:1.5rem;padding:1.5rem 2rem;background:#fff;border-radius:1rem;box-shadow:0 10px 30px #0000001a;border:2px solid var(--primary-blue)}.welcome-icon{font-size:3rem;animation:pulse 2s ease-in-out infinite}.welcome-text{text-align:left}.welcome-greeting{font-size:.875rem;color:var(--text-secondary);margin:0}.welcome-name{font-size:1.25rem;font-weight:700;color:var(--primary-blue);margin:.25rem 0}.welcome-corpo{font-size:.875rem;color:var(--text-secondary);margin:0;font-style:italic}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:4rem;animation:slideIn 1s ease-out .8s backwards}.stat-card{text-align:center;padding:2rem;background:#fff;border-radius:1rem;box-shadow:0 4px 20px #00000014;transition:transform .3s,box-shadow .3s}.stat-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #00000026}.stat-number{font-size:3rem;font-weight:900;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.stat-label{color:var(--text-secondary);font-size:1rem;font-weight:600}.info-modal-content{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-bottom:2rem}.info-step{text-align:center;padding:1.5rem;background:var(--bg-secondary);border-radius:.75rem;transition:transform .3s}.info-step:hover{transform:translateY(-5px)}.step-icon{font-size:3rem;margin-bottom:1rem}.info-step h4{color:var(--primary-blue);margin-bottom:.75rem;font-size:1.25rem}.info-step p{color:var(--text-secondary);line-height:1.6;margin:0}.modal-footer{border-top:2px solid var(--border);padding-top:1.5rem;margin-top:1.5rem}.btn-block{width:100%}@media (min-width: 768px) and (max-width: 1024px){.hero{min-height:520px;padding:3.5rem 0}.hero-logo{height:150px}.hero-title-main{font-size:3.5rem;letter-spacing:-1.5px}.hero-title-sub{font-size:1.5rem}.hero-description{font-size:1.15rem;max-width:650px}.hero-actions{gap:1.25rem}.welcome-card{padding:1.25rem 1.75rem;gap:1.25rem}.welcome-icon{font-size:2.5rem}.welcome-name{font-size:1.15rem}.video-gallery-card{max-width:700px;padding:1.75rem}.gallery-card-icon{width:70px;height:70px}.icon-main{font-size:3rem}.gallery-card-title{font-size:1.6rem}.gallery-card-subtitle{font-size:1.05rem}}.video-gallery-card{max-width:800px;margin:3rem auto 2rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;padding:2rem;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 32px #667eea4d;position:relative;overflow:hidden;animation:fadeIn 1s ease-out .7s backwards}.video-gallery-card:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);transition:transform .6s ease}.video-gallery-card:hover:before{transform:translate(-25%,-25%)}.video-gallery-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 16px 48px #667eea66}.gallery-card-content{display:flex;align-items:center;gap:2rem;position:relative;z-index:1}.gallery-card-icon{position:relative;width:80px;height:80px;display:flex;align-items:center;justify-content:center}.icon-main{font-size:3.5rem;filter:drop-shadow(0 4px 12px rgba(0,0,0,.3));animation:float 3s ease-in-out infinite}.icon-badge{position:absolute;bottom:0;right:0;font-size:1.5rem;background:#fff;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0003;animation:pulse 2s ease-in-out infinite}.gallery-card-info{flex:1}.gallery-card-title{font-size:1.75rem;font-weight:800;color:#fff;margin:0 0 .5rem;text-shadow:0 2px 8px rgba(0,0,0,.2)}.gallery-card-subtitle{font-size:1.125rem;color:#ffffffe6;margin:0 0 1rem;font-weight:500}.gallery-card-count{display:inline-block}.count-badge{background:#fff3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;padding:.5rem 1.25rem;border-radius:12px;font-size:.875rem;font-weight:700;border:2px solid rgba(255,255,255,.3);display:inline-flex;align-items:center;gap:.5rem}.count-badge:before{content:"▶️";font-size:1rem}.gallery-card-arrow{font-size:2rem;color:#fff;font-weight:700;transition:transform .3s ease;filter:drop-shadow(0 2px 8px rgba(0,0,0,.2))}.video-gallery-card:hover .gallery-card-arrow{transform:translate(8px)}@keyframes pulse{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}@media (max-width: 767px){.hero{padding:2.5rem 0;min-height:450px}.hero-logo{height:130px}.hero-title-main{font-size:2.75rem;letter-spacing:-1px}.hero-title-sub{font-size:1.25rem}.hero-description{font-size:1.1rem;max-width:90%}.hero-actions{gap:1rem}.hero-stats{grid-template-columns:1fr;gap:1.5rem}.welcome-card{flex-direction:column;text-align:center;padding:1.5rem}.welcome-text{text-align:center}.welcome-icon{font-size:2.5rem}.info-modal-content{grid-template-columns:1fr;gap:1.5rem}.hero-video-gallery{margin:3rem 1rem 2rem}.gallery-title{font-size:1.5rem}.gallery-icon{font-size:2rem}.gallery-subtitle{font-size:1rem}.video-grid{grid-template-columns:1fr;gap:1.5rem}.video-card.featured{grid-column:span 1}.play-icon{font-size:3rem}.overlay-play{width:60px;height:60px;font-size:1.25rem}.video-gallery-card{margin:2rem 1rem;padding:1.5rem}.gallery-card-content{flex-direction:column;text-align:center;gap:1.5rem}.gallery-card-title{font-size:1.5rem}.gallery-card-subtitle{font-size:1rem}.icon-main{font-size:3rem}.icon-badge{font-size:1.25rem;width:28px;height:28px}.gallery-card-arrow{display:none}}@media (max-width: 480px){.hero{min-height:400px;padding:2rem 0}.hero-logo{height:110px}.hero-title-main{font-size:2.25rem}.hero-title-sub{font-size:1.1rem}.hero-description{font-size:1rem}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn{width:100%}.stat-number{font-size:2.5rem}.welcome-card,.video-gallery-card{padding:1.25rem}.gallery-card-title{font-size:1.35rem}}.insurance-section{padding:4rem 2rem;background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.insurance-container{max-width:1200px;margin:0 auto}.insurance-header{text-align:center;margin-bottom:3rem}.insurance-icon{font-size:4rem;display:block;margin-bottom:1rem;animation:float 3s ease-in-out infinite}.insurance-title{font-size:2.5rem;margin:0 0 .5rem;color:#1a202c;font-weight:700}.insurance-subtitle{font-size:1.1rem;color:#64748b;margin:0}.insurance-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-top:2rem}.insurance-card{background:#fff;border-radius:20px;padding:2rem;box-shadow:0 10px 30px #0000001a;transition:all .3s ease;position:relative;overflow:hidden}.insurance-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,#667eea,#764ba2)}.insurance-card.polizza-famiglie:before{background:linear-gradient(90deg,#f093fb,#f5576c)}.insurance-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #00000026}.insurance-card-header{margin-bottom:2rem}.insurance-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:50px;font-size:.875rem;font-weight:600;margin-bottom:1rem}.insurance-badge.usmia{background:linear-gradient(135deg,#f093fb,#f5576c)}.badge-icon{font-size:1.2rem}.badge-logo{width:24px;height:24px;object-fit:contain;background:#fff;border-radius:50%;padding:2px}.insurance-card h3{font-size:1.75rem;margin:0 0 1rem;color:#1a202c;font-weight:700}.insurance-description{color:#64748b;line-height:1.6;margin:0}.insurance-features{margin:1.5rem 0;padding:1.5rem;background:#f8fafc;border-radius:12px}.feature-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;color:#475569;font-weight:500}.feature-item:not(:last-child){border-bottom:1px solid #e2e8f0}.feature-icon{width:24px;height:24px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem;flex-shrink:0}.insurance-btn{width:100%;padding:1rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.75rem;transition:all .3s ease;margin-top:1.5rem}.insurance-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.insurance-btn.usmia-btn{background:linear-gradient(135deg,#f093fb,#f5576c)}.insurance-btn.usmia-btn:hover{box-shadow:0 8px 20px #f093fb66}.insurance-btn:hover .btn-arrow{transform:translate(5px)}.request-status{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-radius:12px;margin:1rem 0;border:2px solid #10b981}.status-icon{font-size:1.25rem}.status-text{font-weight:600;color:#065f46;font-size:.95rem}.insurance-card.request-sent{border:2px solid #10b981;background:linear-gradient(to bottom,#fff,#f0fdf4)}.insurance-card.request-sent .insurance-btn{background:linear-gradient(135deg,#10b981,#059669)}.insurance-card.request-sent .insurance-btn:hover{box-shadow:0 8px 20px #10b9814d}@media (max-width: 768px){.insurance-section{padding:3rem 1rem}.insurance-title{font-size:2rem}.insurance-cards{grid-template-columns:1fr;gap:1.5rem}.insurance-card{padding:1.5rem}.insurance-card h3{font-size:1.5rem}.insurance-features{padding:1rem}.feature-item{font-size:.95rem}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .3s ease}.rc-auto-modal{background:#fff;border-radius:24px;padding:2.5rem;max-width:700px;width:100%;max-height:90vh;overflow-y:auto;position:relative;animation:slideUp .3s ease;box-shadow:0 20px 60px #0000004d}.modal-close-btn{position:absolute;top:1.5rem;right:1.5rem;background:#f1f5f9;border:none;width:40px;height:40px;border-radius:50%;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;color:#64748b;z-index:10}.modal-close-btn:hover{background:#e2e8f0;color:#1e293b;transform:rotate(90deg)}.modal-header{text-align:center;margin-bottom:2rem}.modal-icon{font-size:4rem;display:block;margin-bottom:1rem;animation:bounce 2s ease-in-out infinite}.modal-header h2{font-size:2rem;margin:0 0 .5rem;color:#1a202c;font-weight:700}.modal-header p{color:#64748b;margin:0;font-size:1.05rem}.rc-auto-form{margin-top:2rem}.form-group label{font-weight:600;color:#334155;margin-bottom:.5rem;font-size:.95rem}.form-group input,.form-group textarea{padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:1rem;transition:all .3s ease;font-family:inherit}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-divider{text-align:center;margin:2rem 0 1.5rem;position:relative}.form-divider:before,.form-divider:after{content:"";position:absolute;top:50%;width:40%;height:1px;background:linear-gradient(90deg,transparent,#e2e8f0,transparent)}.form-divider:before{left:0}.form-divider:after{right:0}.form-divider span{background:#fff;padding:0 1rem;color:#64748b;font-weight:600;font-size:1.1rem}.submit-btn{width:100%;padding:1.125rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:1.125rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.75rem;transition:all .3s ease;margin-top:2rem}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.submit-btn:disabled{opacity:.7;cursor:not-allowed}.btn-arrow{font-size:1.5rem;transition:transform .3s ease}.submit-btn:hover:not(:disabled) .btn-arrow{transform:translate(5px)}.spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.success-message{text-align:center;padding:3rem 2rem}.success-icon{width:80px;height:80px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:700;margin:0 auto 1.5rem;animation:scaleIn .5s ease}.success-message h3{font-size:2rem;color:#1a202c;margin:0 0 1rem;font-weight:700}.success-message p{color:#64748b;font-size:1.1rem;margin:0;line-height:1.6}@media (max-width: 768px){.rc-auto-modal{padding:2rem 1.5rem;max-height:95vh}.modal-close-btn{top:1rem;right:1rem;width:36px;height:36px;font-size:1.25rem}.modal-header h2{font-size:1.5rem}.modal-icon{font-size:3rem}.form-row{grid-template-columns:1fr;gap:1rem;margin-bottom:1rem}.form-group input,.form-group textarea{padding:.75rem}.submit-btn{padding:1rem;font-size:1rem}.success-message{padding:2rem 1rem}.success-icon{width:60px;height:60px;font-size:2rem}.success-message h3{font-size:1.5rem}.success-message p{font-size:1rem}}.rc-auto-modal::-webkit-scrollbar{width:8px}.rc-auto-modal::-webkit-scrollbar-track{background:#f1f5f9;border-radius:10px}.rc-auto-modal::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px}.rc-auto-modal::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#764ba2,#667eea)}.cf-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:fadeIn .2s ease}.cf-modal-wrapper{max-width:600px;width:100%;max-height:90vh;overflow:hidden;border-radius:16px}.cf-modal-content{background:#fff;border-radius:16px;width:100%;height:100%;max-height:90vh;overflow-y:scroll;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease;padding-right:20px;margin-right:-20px;box-sizing:content-box}.cf-modal-content::-webkit-scrollbar{width:0!important;display:none!important}.cf-modal-content{scrollbar-width:none;-ms-overflow-style:none}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.cf-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 30px;border-bottom:2px solid #f0f0f0;background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.cf-modal-header h2{margin:0;font-size:24px;font-weight:700;color:#fff}.cf-close-btn{background:#fff3;border:none;font-size:32px;color:#fff;cursor:pointer;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s ease;line-height:1}.cf-close-btn:hover{background:#ffffff4d;transform:rotate(90deg)}.cf-modal-body{padding:30px}.cf-success-section{text-align:center}.cf-success-icon{font-size:64px;margin-bottom:20px;animation:bounceIn .5s ease}@keyframes bounceIn{0%{transform:scale(0)}50%{transform:scale(1.1)}to{transform:scale(1)}}.cf-success-section h3{color:#10b981;font-size:22px;margin:0 0 30px;font-weight:600}.cf-error-section{text-align:center;padding:20px 0}.cf-error-icon{font-size:64px;margin-bottom:20px;animation:shake .5s ease}.cf-error-section h3{color:#ef4444;font-size:22px;margin:0 0 15px;font-weight:600}.cf-error-section p{color:#666;font-size:16px;margin:10px 0;line-height:1.6}.cf-error-help{background:#fef3c7;border-left:4px solid #f59e0b;padding:15px;border-radius:8px;margin-top:20px;text-align:left}.cf-error-help code{background:#78350f;color:#fef3c7;padding:4px 8px;border-radius:4px;font-family:Courier New,monospace;font-weight:600}.cf-data-grid{text-align:left}.cf-data-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f0f0f0}.cf-data-row:last-child{border-bottom:none}.cf-label{color:#666;font-size:14px;font-weight:500}.cf-value{color:#1f2937;font-size:16px;font-weight:600}.cf-highlight{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;padding:8px 16px;border-radius:8px;font-family:Courier New,monospace;letter-spacing:1px}.cf-separator{height:2px;background:linear-gradient(to right,transparent,#8b5cf6,transparent);margin:20px 0}.cf-data-section{background:#f9fafb;border-radius:12px;padding:20px;margin:20px 0}.cf-data-section h4{margin:0 0 15px;color:#7c3aed;font-size:16px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.cf-info-box{background:#dbeafe;border-left:4px solid #3b82f6;padding:15px;border-radius:8px;margin-top:20px}.cf-info-box p{margin:0;color:#1e40af;font-size:14px;line-height:1.6}.cf-loading{text-align:center;padding:40px 20px}.cf-spinner{width:50px;height:50px;border:4px solid #f0f0f0;border-top:4px solid #8b5cf6;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}.cf-loading p{color:#666;font-size:16px}.cf-modal-footer{padding:20px 30px;border-top:2px solid #f0f0f0;display:flex;gap:12px;justify-content:flex-end;background:#fafafa}.cf-btn{padding:12px 24px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px}.cf-btn-primary{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;box-shadow:0 4px 12px #8b5cf64d}.cf-btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #8b5cf666}.cf-btn-secondary{background:#fff;color:#7c3aed;border:2px solid #8b5cf6}.cf-btn-secondary:hover{background:#f5f3ff;transform:translateY(-2px)}@media (max-width: 640px){.cf-modal-content{max-width:100%;margin:10px;max-height:95vh}.cf-modal-header{padding:20px}.cf-modal-header h2{font-size:20px}.cf-modal-body{padding:20px}.cf-data-row{flex-direction:column;align-items:flex-start;gap:5px}.cf-value{font-size:14px}.cf-modal-footer{flex-direction:column;padding:15px 20px}.cf-btn{width:100%;justify-content:center}}.confirm-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-out}.confirm-modal-content{background:#fff;border-radius:16px;width:90%;max-width:500px;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out;overflow:hidden}.confirm-modal-header{padding:2rem;text-align:center;border-bottom:2px solid #f0f0f0}.confirm-modal-header.warning{background:linear-gradient(135deg,#fff3cd,#ffe69c);border-bottom-color:#ffc107}.confirm-modal-header.danger{background:linear-gradient(135deg,#f8d7da,#f1aeb5);border-bottom-color:#dc3545}.confirm-modal-header.success{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-bottom-color:#10b981}.confirm-modal-header.info{background:linear-gradient(135deg,#cfe2ff,#9ec5fe);border-bottom-color:#0d6efd}.confirm-modal-icon{font-size:4rem;display:block;margin-bottom:1rem;animation:bounce .6s ease-out}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.confirm-modal-header h3{margin:0;font-size:1.5rem;color:#333;font-weight:700}.confirm-modal-body{padding:2rem;text-align:center}.confirm-modal-body p{margin:0;font-size:1.1rem;color:#555;line-height:1.6}.confirm-modal-footer{padding:1.5rem 2rem;background:#f8f9fa;display:flex;gap:1rem;justify-content:flex-end;border-top:1px solid #e0e0e0}.confirm-modal-footer .btn{padding:.8rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;border:none;cursor:pointer;transition:all .2s;min-width:120px}.btn-confirm{color:#fff}.btn-confirm.warning{background:linear-gradient(135deg,#ffc107,#ff9800)}.btn-confirm.warning:hover{background:linear-gradient(135deg,#ff9800,#f57c00);transform:translateY(-2px);box-shadow:0 4px 12px #ff980066}.btn-confirm.danger{background:linear-gradient(135deg,#dc3545,#c82333)}.btn-confirm.danger:hover{background:linear-gradient(135deg,#c82333,#bd2130);transform:translateY(-2px);box-shadow:0 4px 12px #dc354566}.btn-confirm.success{background:linear-gradient(135deg,#28a745,#218838)}.btn-confirm.success:hover{background:linear-gradient(135deg,#218838,#1e7e34);transform:translateY(-2px);box-shadow:0 4px 12px #28a74566}.btn-confirm.info{background:linear-gradient(135deg,#0d6efd,#0b5ed7)}.btn-confirm.info:hover{background:linear-gradient(135deg,#0b5ed7,#0a58ca);transform:translateY(-2px);box-shadow:0 4px 12px #0d6efd66}@media (max-width: 576px){.confirm-modal-content{width:95%;margin:1rem}.confirm-modal-header,.confirm-modal-body{padding:1.5rem}.confirm-modal-icon{font-size:3rem}.confirm-modal-header h3{font-size:1.2rem}.confirm-modal-body p{font-size:1rem}.confirm-modal-footer{flex-direction:column}.confirm-modal-footer .btn{width:100%}}.polizza-famiglie-modal{background:#fff;border-radius:24px;padding:2.5rem;max-width:700px;width:100%;max-height:90vh;overflow-y:auto;position:relative;animation:slideUp .3s ease;box-shadow:0 20px 60px #0000004d}.polizza-famiglie-modal .modal-header{text-align:center;margin-bottom:2rem;position:relative}.usmia-logo{width:80px;height:auto;margin:1rem auto;display:block;padding:.5rem;background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a}.polizza-famiglie-modal .modal-icon{font-size:4rem;display:block;margin-bottom:.5rem;animation:pulse 2s ease-in-out infinite}.polizza-famiglie-modal .modal-header h2{font-size:2rem;margin:1rem 0 .5rem;background:linear-gradient(135deg,#f093fb,#f5576c);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}.info-disclaimer-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;padding:1rem 1.5rem;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;margin-bottom:1rem;transition:all .3s ease}.info-disclaimer-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #3b82f666}.polizza-famiglie-modal .modal-header p{color:#64748b;margin:0;font-size:1.05rem}.polizza-form{margin-top:2rem}.polizza-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.polizza-form .form-group{display:flex;flex-direction:column}.polizza-form .form-group label{font-weight:600;color:#334155;margin-bottom:.5rem;font-size:.95rem;display:flex;flex-direction:column;gap:.25rem}.field-help{font-weight:400;font-size:.85rem;color:#64748b;font-style:italic}.polizza-form .form-group input,.polizza-form .form-group select,.polizza-form .form-group textarea{padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:1rem;transition:all .3s ease;font-family:inherit;background:#fff}.polizza-form .form-group input:focus,.polizza-form .form-group select:focus,.polizza-form .form-group textarea:focus{outline:none;border-color:#f093fb;box-shadow:0 0 0 3px #f093fb1a}.polizza-form .form-group select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}.polizza-form .form-group textarea{resize:vertical;min-height:100px}.polizza-form .form-divider{text-align:center;margin:2rem 0 1.5rem;position:relative}.polizza-form .form-divider:before,.polizza-form .form-divider:after{content:"";position:absolute;top:50%;width:35%;height:1px;background:linear-gradient(90deg,transparent,#f093fb,transparent)}.polizza-form .form-divider:before{left:0}.polizza-form .form-divider:after{right:0}.polizza-form .form-divider span{background:#fff;padding:0 1rem;color:#64748b;font-weight:600;font-size:1.1rem}.polizza-form .submit-btn{width:100%;padding:1.125rem 1.5rem;background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;border:none;border-radius:12px;font-size:1.125rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.75rem;transition:all .3s ease;margin-top:2rem}.polizza-form .submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #f093fb66}.polizza-form .submit-btn:disabled{opacity:.7;cursor:not-allowed}.polizza-form .btn-arrow{font-size:1.5rem;transition:transform .3s ease}.polizza-form .submit-btn:hover:not(:disabled) .btn-arrow{transform:translate(5px)}.polizza-form .spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.polizza-famiglie-modal .success-message{text-align:center;padding:3rem 2rem}.polizza-famiglie-modal .success-icon{width:80px;height:80px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:700;margin:0 auto 1.5rem;animation:scaleIn .5s ease}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.polizza-famiglie-modal .success-message h3{font-size:2rem;color:#1a202c;margin:0 0 1rem;font-weight:700}.polizza-famiglie-modal .success-message p{color:#64748b;font-size:1.1rem;margin:0;line-height:1.6}@media (max-width: 768px){.polizza-famiglie-modal{padding:2rem 1.5rem;max-height:95vh}.usmia-logo{width:60px}.polizza-famiglie-modal .modal-header h2{font-size:1.5rem}.polizza-famiglie-modal .modal-icon{font-size:3rem}.polizza-form .form-row{grid-template-columns:1fr;gap:1rem;margin-bottom:1rem}.polizza-form .form-group input,.polizza-form .form-group select,.polizza-form .form-group textarea{padding:.75rem}.polizza-form .submit-btn{padding:1rem;font-size:1rem}.polizza-famiglie-modal .success-message{padding:2rem 1rem}.polizza-famiglie-modal .success-icon{width:60px;height:60px;font-size:2rem}.polizza-famiglie-modal .success-message h3{font-size:1.5rem}.polizza-famiglie-modal .success-message p{font-size:1rem}.info-disclaimer-btn{font-size:.85rem;padding:.6rem 1.2rem}.file-input-label{padding:.75rem}.file-hint{font-size:.8rem}}.polizza-famiglie-modal::-webkit-scrollbar{width:8px}.polizza-famiglie-modal::-webkit-scrollbar-track{background:#f1f5f9;border-radius:10px}.polizza-famiglie-modal::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#f093fb,#f5576c);border-radius:10px}.polizza-famiglie-modal::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#f5576c,#f093fb)}.file-upload-group{margin-bottom:1.5rem}.file-input-wrapper{position:relative}.file-input{display:none}.file-input-label{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:#fff;border:2px dashed #e2e8f0;border-radius:12px;cursor:pointer;transition:all .3s ease}.file-input-label:hover{border-color:#f093fb;background:#fef3fb}.file-icon{font-size:2rem;flex-shrink:0}.file-text{color:#64748b;font-weight:500;flex-grow:1}.file-input:focus+.file-input-label{border-color:#f093fb;box-shadow:0 0 0 3px #f093fb1a}.file-hint{margin:.5rem 0 0;color:#94a3b8;font-size:.875rem;font-style:italic}.warning-modal{max-width:500px;background:linear-gradient(135deg,#fff,#fef2f2);border:3px solid #ef4444;box-shadow:0 25px 50px #ef44444d}.error-header{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;padding:2rem;border-radius:16px;margin:-2.5rem -2.5rem 2rem;text-align:center;box-shadow:0 10px 30px #ef44444d}.error-icon{font-size:4rem;animation:shake .5s ease-in-out;display:block;margin-bottom:1rem}.error-header h2{margin:0;font-size:1.5rem;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.2)}.warning-details{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;border:2px solid #fecaca;box-shadow:0 4px 12px #ef44441a}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid #fee2e2}.detail-row:last-child{border-bottom:none}.detail-label{font-weight:600;color:#475569;font-size:1rem}.detail-value{font-weight:700;color:#1e293b;font-size:1.1rem}.error-text{color:#ef4444!important;font-size:1.3rem!important}.warning-message{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-left:4px solid #ef4444;padding:1.5rem;border-radius:8px;margin-bottom:1.5rem}.warning-title{margin:0 0 .5rem;font-size:1.1rem;font-weight:700;color:#dc2626}.warning-subtitle{margin:0;font-size:1rem;color:#475569}.warning-subtitle strong{color:#ef4444;font-weight:700}.partner-section{padding:5rem 0}.section-header{text-align:center;margin-bottom:4rem}.section-title{font-size:3rem;margin-bottom:1rem;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-subtitle{font-size:1.25rem;color:var(--text-secondary)}.featured-partners{margin-bottom:4rem}.carousel-container{overflow:hidden;border-radius:1.5rem;box-shadow:0 8px 30px #00000026;background:#fff}.carousel-track{display:flex;transition:transform .8s cubic-bezier(.4,0,.2,1)}.carousel-slide{min-width:100%;padding:4rem 2rem;display:flex;flex-direction:column;align-items:center;gap:2rem;cursor:pointer;transition:all .3s;background:linear-gradient(135deg,#b8860b0d,#b8860b1a)}.carousel-slide:hover{background:linear-gradient(135deg,#b8860b1a,#b8860b26)}.carousel-slide .featured-logo{font-size:5rem;filter:drop-shadow(0 4px 15px rgba(0,0,0,.2))}.carousel-slide .featured-content{text-align:center;max-width:500px}.carousel-slide .featured-content h4{font-size:2rem;font-weight:800;color:var(--text-primary);margin-bottom:.75rem}.carousel-slide .featured-categoria{color:var(--text-secondary);font-size:1rem;margin-bottom:1rem;font-weight:500}.carousel-slide .featured-sconto{color:var(--golden-accent);font-weight:900;font-size:1.5rem;margin:0}.carousel-indicators{display:flex;justify-content:center;gap:.75rem;padding:1.5rem 0;background:#fff;border-radius:0 0 1.5rem 1.5rem}.indicator{width:12px;height:12px;border-radius:50%;border:2px solid var(--golden-accent);background:transparent;cursor:pointer;transition:all .3s;padding:0}.indicator:hover{transform:scale(1.2)}.indicator.active{background:var(--golden-accent);width:40px;border-radius:6px}.partners-cta-home{background:linear-gradient(135deg,var(--primary-blue) 0%,var(--accent-blue) 100%);padding:3rem;border-radius:1.5rem;text-align:center;color:#fff;box-shadow:0 8px 30px #1e3a8a4d}.partners-cta-home h3{font-size:2rem;font-weight:800;margin-bottom:.75rem}.partners-cta-home p{font-size:1.125rem;opacity:.95;margin-bottom:2rem}.category-filter{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;margin-bottom:3rem;padding:1.5rem;background:#fff;border-radius:1rem;box-shadow:0 4px 20px #00000014}.partners-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}.partner-card{background:#fff;border-radius:1rem;overflow:hidden;box-shadow:0 4px 20px #00000014;transition:all .3s;cursor:pointer;animation:fadeIn .6s ease-out backwards}.partner-card:hover{transform:translateY(-10px) scale(1.02);box-shadow:0 12px 40px #00000026}.partner-logo-wrapper{background:var(--gradient-primary);padding:2rem;display:flex;align-items:center;justify-content:center;min-height:150px}.partner-logo{font-size:4rem;filter:drop-shadow(0 4px 10px rgba(0,0,0,.2))}.partner-info{padding:1.5rem}.partner-nome{font-size:1.5rem;margin:0 0 .75rem;color:var(--text-primary)}.partner-descrizione{color:var(--text-secondary);line-height:1.6;margin-bottom:1.25rem}.no-results{text-align:center;padding:4rem 2rem;color:var(--text-secondary);font-size:1.25rem}.detail-logo{font-size:5rem;text-align:center;padding:2rem;background:var(--gradient-primary);border-radius:1rem;margin:-2rem -1.5rem 0}.detail-info h3{font-size:2rem;margin:1rem 0;color:var(--primary-blue)}.detail-sconto-box{background:var(--gradient-gold);padding:2rem;border-radius:1rem;text-align:center}.sconto-badge{display:flex;align-items:center;justify-content:center;gap:1rem}.sconto-value{color:#fff;font-size:1.75rem;font-weight:900;margin:.25rem 0 0}.detail-instructions{background:var(--bg-secondary);padding:1.5rem;border-radius:.75rem}.detail-instructions h4{margin:0 0 1rem;color:var(--primary-blue)}.detail-instructions li{color:var(--text-secondary);line-height:1.8;margin-bottom:.5rem}.detail-actions{display:flex;flex-direction:column;gap:1rem}@media (min-width: 768px) and (max-width: 1024px){.partner-section{padding:4rem 0}.section-title{font-size:2.5rem}.section-subtitle{font-size:1.15rem}.carousel-slide .featured-logo{font-size:4.5rem}.carousel-slide .featured-content h4{font-size:1.75rem}.partners-cta-home h3{font-size:1.85rem}.partners-cta-home p{font-size:1.05rem}.category-filter{padding:1.25rem}.category-btn{padding:.7rem 1.4rem;font-size:.95rem}.partners-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.75rem}}@media (max-width: 767px){.partner-section{padding:3rem 0}.section-header{margin-bottom:3rem}.section-title{font-size:2rem}.section-subtitle{font-size:1.1rem}.carousel-slide{padding:3rem 1.5rem}.carousel-slide .featured-logo{font-size:4rem}.carousel-slide .featured-content h4{font-size:1.6rem}.carousel-slide .featured-sconto{font-size:1.35rem}.partners-cta-home{padding:2.5rem 1.5rem}.partners-cta-home h3{font-size:1.75rem}.partners-cta-home p{font-size:1rem}.featured-grid{grid-template-columns:1fr}.category-filter{padding:1rem}.category-btn{padding:.625rem 1.25rem;font-size:.875rem}.partners-grid{grid-template-columns:1fr;gap:1.5rem}}@media (max-width: 480px){.partner-section{padding:2.5rem 0}.section-title{font-size:1.75rem}.section-subtitle{font-size:1rem}.carousel-slide{padding:2.5rem 1rem}.carousel-slide .featured-logo{font-size:3.5rem}.carousel-slide .featured-content h4{font-size:1.4rem}.partners-cta-home{padding:2rem 1.25rem}.partners-cta-home h3{font-size:1.5rem}.featured-card{flex-direction:column;text-align:center}.category-btn{flex:1;min-width:120px;justify-content:center}}.unions-section{padding:5rem 2rem;background:linear-gradient(135deg,#f8f9fa,#fff)}.unions-container{max-width:1200px;margin:0 auto}.unions-header{text-align:center;margin-bottom:4rem}.unions-icon{font-size:4rem;display:block;margin-bottom:1rem;animation:float 3s ease-in-out infinite}.unions-title{font-size:2.5rem;font-weight:800;color:var(--primary-blue);margin-bottom:.5rem;letter-spacing:-.5px}.unions-subtitle{font-size:1.25rem;color:#6c757d;font-weight:500}.unions-intro-card{background:#fff;padding:2.5rem;border-radius:1rem;box-shadow:0 4px 20px #1e3a8a1a;margin-bottom:3rem;border-left:4px solid var(--accent-blue)}.intro-badge{display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,var(--primary-blue),var(--accent-blue));color:#fff;padding:.5rem 1rem;border-radius:2rem;font-weight:600;font-size:.875rem;margin-bottom:1.5rem}.intro-badge span:first-child{font-size:1.25rem}.unions-greeting{font-size:1.125rem;line-height:1.8;color:#495057;margin:0}.unions-benefits{margin-bottom:3rem}.benefits-title{font-size:2rem;font-weight:700;color:var(--primary-blue);text-align:center;margin-bottom:2.5rem}.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.benefit-card{background:#fff;padding:2rem;border-radius:1rem;box-shadow:0 2px 10px #00000014;transition:all .3s ease;text-align:center;border:2px solid transparent}.benefit-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #1e3a8a26;border-color:var(--accent-blue)}.benefit-icon-circle{width:80px;height:80px;background:linear-gradient(135deg,var(--primary-blue),var(--accent-blue));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto 1.5rem;box-shadow:0 4px 15px #1e3a8a33}.benefit-card h4{font-size:1.25rem;font-weight:700;color:var(--primary-blue);margin-bottom:.75rem}.benefit-card p{font-size:1rem;color:#6c757d;line-height:1.6;margin:0}.unions-partners{background:#fff;padding:2.5rem;border-radius:1rem;box-shadow:0 4px 20px #1e3a8a1a;margin-bottom:3rem}.partners-trust-title{font-size:1.75rem;font-weight:700;color:var(--primary-blue);text-align:center;margin-bottom:2rem}.partner-logos{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;align-items:center}.union-logo-card{background:#f8f9fa;padding:2rem;border-radius:.75rem;display:flex;align-items:center;justify-content:center;transition:all .3s ease;border:2px solid transparent;position:relative;overflow:hidden}.union-logo-card.clickable{cursor:pointer}.union-logo-card.clickable:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#3b82f61a,#9333ea1a);opacity:0;transition:opacity .3s ease}.union-logo-card.clickable:hover:after{opacity:1}.logo-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#3b82f6f2;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.union-logo-card.clickable:hover .logo-overlay{opacity:1}.overlay-icon{font-size:3rem;animation:pulse 1.5s ease-in-out infinite}.union-logo-card:hover{background:#fff;border-color:var(--accent-blue);box-shadow:0 4px 15px #1e3a8a26;transform:scale(1.05)}.union-logo{max-width:100%;height:auto;max-height:120px;filter:grayscale(0%);opacity:1;transition:all .3s ease}.union-logo-card:hover .union-logo{transform:scale(1.1);filter:drop-shadow(0 4px 15px rgba(30,58,138,.3))}.unions-cta{background:linear-gradient(135deg,var(--primary-blue),var(--accent-blue));border-radius:1.5rem;padding:3rem;text-align:center;color:#fff;box-shadow:0 8px 30px #1e3a8a40}.cta-content h3{font-size:2rem;font-weight:800;margin-bottom:1rem;color:#fff}.cta-content p{font-size:1.125rem;line-height:1.8;margin-bottom:2rem;color:#fffffff2;max-width:700px;margin-left:auto;margin-right:auto}.unions-btn{display:inline-flex;align-items:center;gap:.75rem;background:#fff;color:var(--primary-blue);padding:1rem 2rem;border-radius:3rem;font-size:1.125rem;font-weight:700;border:none;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0003}.unions-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000004d;background:var(--golden-accent);color:#fff}.btn-icon{font-size:1.5rem}.btn-arrow{font-size:1.25rem;transition:transform .3s ease}.unions-btn:hover .btn-arrow{transform:translate(5px)}@media (min-width: 768px) and (max-width: 1024px){.unions-section{padding:4rem 1.5rem}.unions-header{margin-bottom:3.5rem}.unions-icon{font-size:3.5rem}.unions-title{font-size:2.25rem}.unions-subtitle{font-size:1.15rem}.unions-intro-card{padding:2.25rem}.unions-greeting{font-size:1.05rem}.benefits-title{font-size:1.85rem}.benefits-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.35rem}.benefit-card{padding:1.75rem}.benefit-icon-circle{width:70px;height:70px;font-size:1.75rem}.unions-partners{padding:2.25rem}.partner-logos{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.unions-cta{padding:2.5rem 2rem}.cta-content h3{font-size:1.85rem}.cta-content p{font-size:1.05rem}}@media (max-width: 767px){.unions-section{padding:3rem 1rem}.unions-header{margin-bottom:2.5rem}.unions-icon{font-size:3rem}.unions-title{font-size:2rem}.unions-subtitle{font-size:1.125rem}.unions-intro-card{padding:1.5rem}.unions-greeting{font-size:1rem}.benefits-title{font-size:1.75rem}.benefits-grid{grid-template-columns:1fr}.benefit-card{padding:1.5rem}.benefit-icon-circle{width:60px;height:60px;font-size:1.5rem}.partner-logos{grid-template-columns:1fr;gap:1.5rem}.unions-cta{padding:2rem 1.5rem}.cta-content h3{font-size:1.5rem}.cta-content p{font-size:1rem}.unions-btn{width:100%;justify-content:center}}@media (max-width: 480px){.unions-section{padding:2.5rem 1rem}.unions-title{font-size:1.75rem}.unions-subtitle{font-size:1rem}.unions-intro-card{padding:1.25rem}.benefits-title{font-size:1.5rem}.benefit-card{padding:1.25rem}.benefit-card h4{font-size:1.125rem}.benefit-icon-circle{width:55px;height:55px;font-size:1.35rem}.unions-cta{padding:1.75rem 1.25rem}.cta-content h3{font-size:1.35rem}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .3s ease-out}.union-modal{background:#fff;border-radius:1.5rem;max-width:700px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out;position:relative}.modal-close{position:absolute;top:1.5rem;right:1.5rem;background:#f8f9fa;border:none;width:40px;height:40px;border-radius:50%;font-size:1.5rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;color:#6c757d;z-index:1}.modal-close:hover{background:var(--primary-blue);color:#fff;transform:rotate(90deg)}.modal-header{background:linear-gradient(135deg,var(--primary-blue),var(--accent-blue));padding:3rem 2rem 2rem;color:#fff;text-align:center;border-radius:1.5rem 1.5rem 0 0}.modal-icon{font-size:4rem;display:block;margin-bottom:1rem;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.modal-header h2{font-size:2rem;font-weight:800;margin:0 0 .5rem;color:#fff}.modal-header p{font-size:1.125rem;margin:0;color:#fffffff2}.union-form{padding:2.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.form-row:last-of-type{margin-bottom:0}.form-group{display:flex;flex-direction:column}.form-group label{font-size:.9rem;font-weight:600;color:var(--primary-blue);margin-bottom:.5rem}.form-group input,.form-group textarea{padding:.875rem 1rem;border:2px solid #e9ecef;border-radius:.75rem;font-size:1rem;transition:all .3s ease;font-family:inherit}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 4px #3b82f61a}.form-group textarea{resize:vertical;min-height:100px}.success-message{padding:3rem 2rem;text-align:center}.success-icon{font-size:5rem;display:block;margin-bottom:1.5rem;animation:scaleIn .5s ease-out}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.success-message h3{font-size:1.75rem;font-weight:700;color:var(--primary-blue);margin-bottom:.75rem}.success-message p{font-size:1.125rem;color:#6c757d;margin:0}.error-message{background:#fee;color:#c33;padding:1rem;border-radius:.75rem;margin-bottom:1.5rem;text-align:center;font-weight:600}.form-actions{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem}.btn-cancel,.btn-submit{padding:1rem 2rem;border-radius:3rem;font-size:1.125rem;font-weight:700;border:none;cursor:pointer;transition:all .3s ease}.btn-cancel{background:#f8f9fa;color:#6c757d}.btn-cancel:hover{background:#e9ecef;transform:translateY(-2px)}.btn-submit{background:linear-gradient(135deg,var(--primary-blue),var(--accent-blue));color:#fff;box-shadow:0 4px 15px #1e3a8a4d}.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #1e3a8a66}.btn-submit:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.union-modal{margin:1rem;max-height:95vh}.modal-header{padding:2.5rem 1.5rem 1.5rem}.modal-header h2{font-size:1.5rem}.modal-header p{font-size:1rem}.modal-icon{font-size:3rem}.union-form{padding:1.5rem}.form-row{grid-template-columns:1fr;gap:1rem}.form-actions{grid-template-columns:1fr}.form-group input,.form-group textarea{font-size:16px}}@media (max-width: 480px){.modal-close{width:35px;height:35px;font-size:1.25rem;top:1rem;right:1rem}.union-form{padding:1.25rem}.btn-cancel,.btn-submit{padding:.875rem 1.5rem;font-size:1rem}}.union-modal{background:#fff;border-radius:24px;padding:2.5rem;max-width:600px;width:100%;position:relative;animation:slideUp .3s ease;box-shadow:0 20px 60px #0000004d}.union-modal-header{text-align:center;margin-bottom:2rem}.union-modal-logo{width:100px;height:auto;margin:0 auto 1.5rem;display:block;padding:1rem;background:#fff;border-radius:16px;box-shadow:0 8px 24px #0000001a}.union-modal-header h2{font-size:2rem;margin:0 0 .5rem;color:#1a202c;font-weight:700}.union-modal-header p{color:#64748b;margin:0;font-size:1.1rem}.union-options{display:grid;gap:1.5rem;margin-top:2rem}.union-option-card{background:#fff;border:2px solid #e2e8f0;border-radius:16px;padding:2rem;cursor:pointer;transition:all .3s ease;text-align:center;position:relative;overflow:hidden;width:100%}.union-option-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2);transform:scaleX(0);transition:transform .3s ease}.union-option-card.polizza-option:before{background:linear-gradient(90deg,#f093fb,#f5576c)}.union-option-card:hover{border-color:#667eea;transform:translateY(-4px);box-shadow:0 12px 32px #667eea33}.union-option-card.polizza-option:hover{border-color:#f093fb;box-shadow:0 12px 32px #f093fb33}.union-option-card:hover:before{transform:scaleX(1)}.option-icon{font-size:3rem;margin-bottom:1rem;display:block;animation:float 3s ease-in-out infinite}.union-option-card h3{font-size:1.5rem;margin:0 0 .75rem;color:#1a202c;font-weight:700}.union-option-card p{color:#64748b;margin:0;line-height:1.6;font-size:1rem}.option-arrow{position:absolute;bottom:1.5rem;right:1.5rem;font-size:2rem;color:#667eea;transition:transform .3s ease}.polizza-option .option-arrow{color:#f093fb}.union-option-card:hover .option-arrow{transform:translate(5px)}@media (max-width: 768px){.union-modal{padding:2rem 1.5rem;max-width:95%}.union-modal-logo{width:80px;padding:.75rem}.union-modal-header h2{font-size:1.5rem}.union-modal-header p{font-size:1rem}.union-option-card{padding:1.5rem}.option-icon{font-size:2.5rem}.union-option-card h3{font-size:1.25rem}.union-option-card p{font-size:.95rem}.option-arrow{bottom:1rem;right:1rem;font-size:1.5rem}}.generic-union-modal{background:#fff;border-radius:24px;padding:2.5rem;max-width:600px;width:100%;position:relative;animation:slideUp .3s ease;box-shadow:0 20px 60px #0000004d}.generic-union-header{text-align:center;margin-bottom:2rem}.generic-union-logo{width:100px;height:auto;margin:0 auto 1.5rem;display:block;padding:1rem;background:#fff;border-radius:16px;box-shadow:0 8px 24px #0000001a}.generic-union-header h2{font-size:2rem;margin:0 0 .5rem;color:#1a202c;font-weight:700}.generic-union-header p{color:#64748b;margin:0;font-size:1.1rem}.generic-union-options{display:grid;gap:1.5rem;margin-top:2rem}.generic-option-card{background:#fff;border:2px solid #e2e8f0;border-radius:16px;padding:2rem;cursor:pointer;transition:all .3s ease;text-align:center;position:relative;overflow:hidden;width:100%}.generic-option-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#10b981,#059669);transform:scaleX(0);transition:transform .3s ease}.generic-option-card.website-option:before{background:linear-gradient(90deg,#3b82f6,#2563eb)}.generic-option-card:hover{border-color:#10b981;transform:translateY(-4px);box-shadow:0 12px 32px #10b98133}.generic-option-card.website-option:hover{border-color:#3b82f6;box-shadow:0 12px 32px #3b82f633}.generic-option-card:hover:before{transform:scaleX(1)}.generic-option-card .option-icon{font-size:3rem;margin-bottom:1rem;display:block;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.generic-option-card h3{font-size:1.5rem;margin:0 0 .75rem;color:#1a202c;font-weight:700}.generic-option-card p{color:#64748b;margin:0;line-height:1.6;font-size:1rem}.generic-option-card .option-arrow{position:absolute;bottom:1.5rem;right:1.5rem;font-size:2rem;color:#10b981;transition:transform .3s ease}.website-option .option-arrow{color:#3b82f6}.generic-option-card:hover .option-arrow{transform:translate(5px)}.stay-option:hover .option-arrow{transform:scale(1.2)}@media (max-width: 768px){.generic-union-modal{padding:2rem 1.5rem;max-width:95%}.generic-union-logo{width:80px;padding:.75rem}.generic-union-header h2{font-size:1.5rem}.generic-union-header p{font-size:1rem}.generic-option-card{padding:1.5rem}.generic-option-card .option-icon{font-size:2.5rem}.generic-option-card h3{font-size:1.25rem}.generic-option-card p{font-size:.95rem}.generic-option-card .option-arrow{bottom:1rem;right:1rem;font-size:1.5rem}}.verification-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem;overflow-y:auto}.verification-modal-content{background:#fff;border-radius:20px;width:100%;max-width:500px;margin:auto;position:relative;animation:slideUp .3s ease-out}.verification-modal-close{position:absolute;top:15px;right:15px;background:#0000001a;border:none;width:35px;height:35px;border-radius:50%;font-size:1.3rem;color:#333;cursor:pointer;transition:all .2s;z-index:10}.verification-modal-close:hover{background:#0003;transform:rotate(90deg)}.verification-card{padding:2rem;text-align:center}.verification-header{margin-bottom:1.5rem}.verification-logo{font-size:3rem;margin-bottom:.5rem;animation:pulse 2s infinite}.verification-header h2{color:#2d5016;font-size:1.8rem;font-weight:800;margin:0 0 .3rem}.verification-header h3{color:#666;font-size:1rem;font-weight:500;margin:0}.verification-user-info{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:1.5rem;border-radius:15px;margin-bottom:1.5rem}.verification-user-info h4{color:#2d5016;font-size:1.3rem;font-weight:700;margin:0 0 .5rem}.verification-corpo{color:#555;font-size:.95rem;margin:0 0 .8rem;font-weight:500}.verification-user-info .badge{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border-radius:25px;font-size:.85rem;font-weight:600;border:2px solid}.verification-qr-wrapper{background:#fff;padding:1.5rem;border-radius:15px;box-shadow:0 4px 20px #0000001a;margin:1.5rem 0;display:flex;justify-content:center}.verification-qr-wrapper svg{display:block;border-radius:10px}.verification-token{background:#f8f9fa;padding:1.2rem;border-radius:12px;margin:1.5rem 0;border:2px dashed #dee2e6}.verification-token label{display:block;font-size:.85rem;color:#666;font-weight:600;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.token-display{font-family:Courier New,monospace;font-size:1rem;font-weight:700;color:#2d5016;background:#fff;padding:.8rem 1rem;border-radius:8px;margin:.5rem 0;letter-spacing:1px;word-break:break-all;border:2px solid #e9ecef}.token-expires{font-size:.8rem;color:#dc3545;margin:.5rem 0 0;font-weight:600}.verification-instructions{background:#e7f5ff;padding:1.2rem;border-radius:12px;margin:1.5rem 0;border-left:4px solid #1971c2;text-align:left}.verification-instructions h4{color:#1971c2;font-size:1rem;font-weight:700;margin:0 0 .8rem}.verification-instructions ol{margin:0;padding-left:1.3rem;color:#495057}.verification-instructions li{margin-bottom:.5rem;font-size:.9rem;line-height:1.5}.verification-warning{background:#fff3cd;border:2px solid #ffc107;border-radius:10px;padding:1rem;margin-top:1.5rem}.verification-warning p{margin:0;color:#856404;font-size:.85rem;line-height:1.5}.verification-warning strong{font-weight:700}.verification-loading,.verification-error{padding:3rem 1rem;text-align:center}.verification-loading p{color:#666;font-size:.95rem}.verification-error p{color:#dc3545;font-size:1rem;font-weight:600;margin-bottom:1rem}@media (max-width: 576px){.verification-modal-content{max-width:95%}.verification-card{padding:1.5rem 1rem}.verification-qr-wrapper svg{width:250px!important;height:250px!important}.verification-header h2{font-size:1.5rem}.verification-user-info h4{font-size:1.1rem}.token-display{font-size:.85rem}}.header{background:#fff;box-shadow:0 4px 20px #00000014;position:sticky;top:0;z-index:100;border-bottom:3px solid var(--primary-blue)}.header-container{display:flex;align-items:center;gap:1.5rem;padding:1rem 2rem;min-height:80px}.header-logo{display:flex;align-items:center;gap:1rem;text-decoration:none;transition:transform .3s}.header-logo:hover{transform:scale(1.05)}.logo-badge{width:50px;height:50px;background:var(--gradient-primary);border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #2d50164d;transform:rotate(-5deg);transition:transform .3s}.header-logo:hover .logo-badge{transform:rotate(0)}.logo-icon{font-size:1.75rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.logo-text{font-size:1.75rem;font-weight:800;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px;color:var(--primary-blue)}.header-nav{display:flex;align-items:center;gap:2rem;margin-left:auto}.nav-link{color:var(--text-primary)!important;text-decoration:none;font-weight:600;font-size:1rem;position:relative;transition:color .3s;padding:.5rem 0;display:inline-flex;align-items:center;gap:.5rem}.nav-icon{font-size:1.25rem;display:inline-block;line-height:1;font-family:"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji",sans-serif}.nav-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:3px;background:var(--gradient-primary);transition:width .3s;border-radius:2px}.nav-link:hover{color:var(--primary-blue)}.nav-link:hover:after{width:100%}.nav-link-admin{color:var(--golden-accent);font-weight:700}.nav-link-admin:after{background:var(--gradient-gold)}.header-user-info{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;border:2px solid #e2e8f0;transition:all .3s ease}.header-user-info:hover{border-color:var(--primary-blue);box-shadow:0 4px 12px #3b82f626}.user-corpo-icon{font-size:1.5rem;line-height:1}.user-name{font-weight:600;color:var(--text-primary)!important;font-size:.95rem}.verification-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .875rem;border-radius:1.5rem;font-size:.8125rem;font-weight:700;white-space:nowrap;transition:all .3s}.verification-badge.badge-pending{background:#fef3c7;color:#92400e;border:2px solid #f59e0b}.verification-badge.badge-approved{background:#d1fae5;color:#065f46;border:2px solid #10b981}.verification-badge.badge-rejected{background:#fee2e2;color:#991b1b;border:2px solid #ef4444}.logo-icon-img{width:40px;height:40px;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:.5rem;z-index:1001}.hamburger span{width:25px;height:3px;background:var(--primary-blue);border-radius:2px;transition:all .3s}.hamburger.active span:nth-child(1){transform:translateY(8px) rotate(45deg)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.mobile-menu{position:fixed;top:0;right:-100%;width:50%;max-width:350px;height:100vh;background:#fff;box-shadow:-4px 0 20px #0003;transition:right .3s ease-in-out;z-index:1000;overflow-y:auto;border-left:8px solid transparent;border-image:linear-gradient(to bottom,#008c45,#008c45 33%,#f4f5f0 33%,#f4f5f0 66%,#cd212a 66%,#cd212a) 1}.mobile-menu.open{right:0}.mobile-menu-header{padding:1.5rem;background:#fff;text-align:center;border-bottom:3px solid var(--primary-blue)}.mobile-menu-logo{width:80px;height:80px;margin:0 auto;display:block;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.15))}.mobile-menu-header h3{display:none}.mobile-nav{display:flex;flex-direction:column;padding:1rem 0}.mobile-user-info{padding:1rem 1.5rem;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-bottom:2px solid #dee2e6;margin-bottom:.5rem}.mobile-user-name{font-weight:700;font-size:1.1rem;color:var(--text-primary);margin:0 0 .25rem}.mobile-user-corpo{font-size:.9rem;color:var(--text-secondary);margin:0 0 .5rem}.mobile-nav-link{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;color:var(--text-primary);text-decoration:none;font-weight:600;font-size:1rem;border:none;background:none;width:100%;text-align:left;cursor:pointer;transition:all .3s;border-left:4px solid transparent}.mobile-nav-link:hover{background:linear-gradient(90deg,rgba(45,80,22,.05) 0%,transparent 100%);border-left-color:var(--primary-blue);color:var(--primary-blue)}.mobile-nav-button{background:linear-gradient(135deg,var(--primary-blue) 0%,#1e40af 100%);color:#fff;margin:.5rem 1.5rem;padding:.75rem 1rem;border-radius:8px;justify-content:center;font-weight:700;font-size:.9rem;box-shadow:0 4px 12px #2d50164d;text-align:center;width:calc(100% - 3rem);border-left:4px solid transparent}.mobile-nav-button:hover{background:linear-gradient(135deg,#1e5a0f,#153d0b);transform:translateY(-2px);box-shadow:0 6px 16px #2d501666;border-left-color:transparent}.mobile-nav-admin{color:var(--golden-accent);font-weight:700}.mobile-nav-admin:hover{background:linear-gradient(90deg,rgba(218,165,32,.1) 0%,transparent 100%);border-left-color:var(--golden-accent)}.mobile-nav-logout{color:#dc2626;border-top:1px solid #e5e7eb;margin-top:.5rem}.mobile-nav-logout:hover{background:linear-gradient(90deg,rgba(220,38,38,.05) 0%,transparent 100%);border-left-color:#dc2626}.mobile-menu-backdrop{display:none;position:fixed;top:0;left:0;width:100%;height:100vh;background:#00000080;z-index:999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.mobile-menu.open~.mobile-menu-backdrop{display:block}.desktop-nav,.desktop-only{display:flex}.mobile-only{display:none}@media (min-width: 768px) and (max-width: 1440px){.header-container{padding:1rem 1.5rem;min-height:70px}.logo-text{font-size:1.6rem}.logo-badge{width:48px;height:48px}.logo-icon-img{width:38px;height:38px}.desktop-nav{display:none}.hamburger{display:flex}.desktop-only{display:none!important}.mobile-only{display:flex!important}.header-user-info.mobile-only{padding:.5rem 1rem}.header-user-info.mobile-only .user-corpo-icon{font-size:1.4rem}.header-user-info.mobile-only .user-name{font-size:.9rem}.mobile-menu{width:55%;max-width:380px}.mobile-nav-link{padding:1.1rem 1.75rem;font-size:1.05rem}.mobile-menu-logo{width:90px;height:90px}}@media (max-width: 767px){.header-container{padding:.75rem 1rem;min-height:65px}.logo-text{font-size:1.4rem}.logo-badge{width:42px;height:42px}.logo-icon-img{width:32px;height:32px}.desktop-nav{display:none}.hamburger{display:flex}.desktop-only{display:none!important}.mobile-only{display:flex!important}.header-user-info.mobile-only{padding:.4rem .75rem}.header-user-info.mobile-only .user-corpo-icon{font-size:1.2rem}.header-user-info.mobile-only .user-name{font-size:.85rem}.mobile-menu{width:70%;max-width:320px}.mobile-nav-link{padding:1rem 1.25rem;font-size:.95rem}.mobile-menu-logo{width:75px;height:75px}.hide-on-mobile-only{display:none!important}}@media (max-width: 480px){.header-container{padding:.6rem .75rem;min-height:60px;gap:1rem}.logo-text{font-size:1.2rem}.logo-badge{width:38px;height:38px}.logo-icon-img{width:28px;height:28px}.header-user-info.mobile-only{padding:.3rem .6rem}.header-user-info.mobile-only .user-corpo-icon{font-size:1.1rem}.header-user-info.mobile-only .user-name{font-size:.8rem}.mobile-menu{width:80%;max-width:300px}.mobile-nav-link{padding:.9rem 1rem;font-size:.9rem}.mobile-menu-logo{width:65px;height:65px}.hamburger span{width:22px;height:2.5px}}.footer{background:var(--gradient-primary);color:#fff;margin-top:6rem}.footer-content{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding:4rem 2rem}.footer-section{display:flex;flex-direction:column;gap:1.5rem}.footer-logo{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.footer-logo .logo-icon{font-size:2rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.footer-logo .logo-text{font-size:1.75rem;font-weight:800;color:#fff;letter-spacing:-.5px}.footer-description{color:#ffffffe6;line-height:1.6;margin:0}.footer-title{font-size:1.25rem;font-weight:700;color:var(--golden-accent);margin:0 0 1rem;letter-spacing:.5px}.footer-links{display:flex;flex-direction:column;gap:.75rem}.footer-links a{color:#ffffffd9;text-decoration:none;transition:all .3s;display:inline-flex;align-items:center;gap:.5rem}.footer-links a:before{content:"▸";opacity:0;transform:translate(-10px);transition:all .3s}.footer-links a:hover{color:var(--golden-accent);padding-left:.5rem}.footer-links a:hover:before{opacity:1;transform:translate(0)}.footer-social{display:flex;gap:1rem}.social-link{width:45px;height:45px;border-radius:50%;background:#ffffff26;display:flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;transition:all .3s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.social-link:hover{background:var(--golden-accent);transform:translateY(-5px) rotate(360deg);box-shadow:0 8px 20px #b8860b66}.footer-bottom{border-top:1px solid rgba(255,255,255,.2);padding:1.5rem 2rem}.footer-copyright{text-align:center;color:#fffc;margin:0;font-size:.875rem}@media (min-width: 768px) and (max-width: 1024px){.footer-content{grid-template-columns:1fr 1fr;gap:2.5rem;padding:3.5rem 2rem}.footer-section h4{font-size:1.1rem}.footer-link,.footer-info{font-size:.95rem}}@media (max-width: 767px){.footer-content{grid-template-columns:1fr;gap:2rem;padding:3rem 2rem}.footer-section:first-child{padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.2)}.footer-section h4{font-size:1.05rem}.footer-link,.footer-info{font-size:.9rem}}@media (max-width: 480px){.footer-content{padding:2rem 1rem;gap:1.75rem}.footer-bottom{padding:1.25rem 1rem}.footer-copyright{font-size:.75rem;line-height:1.6}.footer-section h4{font-size:1rem}.footer-link,.footer-info{font-size:.85rem}}.admin-layout{display:flex;min-height:100vh;background:#f5f7fa}.admin-sidebar{width:280px;background:linear-gradient(180deg,var(--primary-blue),var(--accent-blue));color:#fff;display:flex;flex-direction:column;position:fixed;left:0;top:0;height:100vh;box-shadow:4px 0 20px #0000001a;z-index:1000}.admin-sidebar-header{padding:2rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.2)}.admin-sidebar-header h1{font-size:1.5rem;font-weight:800;margin:0 0 .5rem;color:#fff}.admin-user-name{font-size:.9rem;opacity:.9;margin:0}.admin-nav{flex:1;padding:1.5rem 0;overflow-y:auto}.nav-link{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;color:#ffffffe6;text-decoration:none;transition:all .3s ease;border-left:4px solid transparent;font-weight:500}.nav-link:hover{background:#ffffff1a;color:#fff;border-left-color:#fff}.nav-link.active{background:#ffffff26;color:#fff;border-left-color:var(--golden-accent);font-weight:600}.nav-icon{font-size:1.5rem;width:30px;display:flex;align-items:center;justify-content:center}.nav-text{font-size:1rem}.admin-sidebar-footer{padding:1.5rem;border-top:1px solid rgba(255,255,255,.2);display:flex;flex-direction:column;gap:.75rem}.btn-back,.btn-logout{width:100%;padding:.75rem;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.95rem}.btn-back{background:#fff3;color:#fff}.btn-back:hover{background:#ffffff4d;transform:translate(-3px)}.btn-logout{background:#dc3545e6;color:#fff}.btn-logout:hover{background:#dc3545;transform:scale(1.02)}.admin-main{margin-left:280px;flex:1;padding:2rem;width:calc(100% - 280px);min-height:100vh}@media (max-width: 768px){.admin-sidebar{width:70px}.admin-sidebar-header h1{font-size:1.2rem}.admin-user-name,.nav-text{display:none}.nav-link{justify-content:center;padding:1rem}.nav-icon{font-size:1.8rem}.admin-main{margin-left:70px;width:calc(100% - 70px)}.btn-back,.btn-logout{font-size:0;padding:.75rem}.btn-back:before{content:"←";font-size:1.5rem}.btn-logout:before{content:"🚪";font-size:1.5rem}}.ban-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:10001;animation:fadeIn .2s ease-out}.ban-modal-content{background:#fff;border-radius:16px;width:90%;max-width:600px;box-shadow:0 20px 60px #dc354566;animation:slideUp .3s ease-out;overflow:hidden}.ban-modal-header{background:linear-gradient(135deg,#f8d7da,#f1aeb5);border-bottom:3px solid #dc3545;padding:2rem;text-align:center}.ban-modal-header .ban-modal-icon{font-size:4rem;display:block;margin-bottom:1rem;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.ban-modal-header h3{margin:0;font-size:1.8rem;color:#dc3545;font-weight:700}.ban-modal-body{padding:2rem}.ban-user-info{background:#f8f9fa;border-left:4px solid #6c757d;padding:1rem 1.5rem;margin-bottom:1.5rem;border-radius:8px}.ban-user-info p{margin:.5rem 0;font-size:1rem;color:#333}.ban-user-info strong{color:#495057;font-weight:600}.ban-warning{background:linear-gradient(135deg,#fff3cd,#ffe69c);border:2px solid #ffc107;border-radius:12px;padding:1.2rem;margin-bottom:1.5rem;display:flex;gap:1rem;align-items:flex-start}.ban-warning .warning-icon{font-size:2rem;flex-shrink:0}.ban-warning p{margin:0;font-size:.95rem;color:#856404;line-height:1.5}.ban-reason-section{margin-bottom:1rem}.ban-reason-section label{display:block;font-size:1rem;font-weight:600;color:#333;margin-bottom:.5rem}.ban-reason-section .required{color:#dc3545;font-weight:700}.ban-reason-input{width:100%;padding:1rem;border:2px solid #dee2e6;border-radius:8px;font-size:1rem;font-family:inherit;resize:vertical;transition:all .2s}.ban-reason-input:focus{outline:none;border-color:#dc3545;box-shadow:0 0 0 3px #dc35451a}.ban-reason-input.error{border-color:#dc3545;background:#fff5f5}.input-footer{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem}.error-message{color:#dc3545;font-size:.9rem;font-weight:500}.char-count{color:#6c757d;font-size:.85rem}.ban-info{background:#e7f3ff;border-left:4px solid #0d6efd;padding:.8rem 1rem;border-radius:8px}.ban-info .info-text{margin:0;font-size:.9rem;color:#004085}.ban-modal-footer{padding:1.5rem 2rem;background:#f8f9fa;display:flex;gap:1rem;justify-content:flex-end;border-top:1px solid #e0e0e0}.ban-modal-footer .btn{padding:.9rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;border:none;cursor:pointer;transition:all .2s;min-width:140px}.btn-cancel{background:#6c757d;color:#fff}.btn-cancel:hover{background:#5a6268;transform:translateY(-2px);box-shadow:0 4px 12px #6c757d4d}.btn-ban{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff}.btn-ban:hover:not(:disabled){background:linear-gradient(135deg,#c82333,#bd2130);transform:translateY(-2px);box-shadow:0 4px 12px #dc354566}.btn-ban:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 576px){.ban-modal-content{width:95%;margin:1rem}.ban-modal-header,.ban-modal-body{padding:1.5rem}.ban-modal-header .ban-modal-icon{font-size:3rem}.ban-modal-header h3{font-size:1.4rem}.ban-warning{flex-direction:column;text-align:center}.ban-modal-footer{flex-direction:column}.ban-modal-footer .btn{width:100%}}.user-details-modal{max-width:700px;max-height:90vh;overflow-y:auto}.user-details-header{display:flex;align-items:center;gap:1.5rem;padding:1.5rem;background:linear-gradient(135deg,var(--primary-blue),var(--accent-blue));border-radius:1rem;margin-bottom:2rem}.user-details-avatar{width:80px;height:80px;background:#fff;color:var(--primary-blue);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;flex-shrink:0;box-shadow:0 4px 15px #0003}.user-details-name h3{font-size:1.75rem;font-weight:700;color:#fff;margin:0 0 .25rem}.user-details-email{font-size:1rem;color:#ffffffe6;margin:0;word-break:break-all}.user-details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-bottom:2rem}.detail-item{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:#f8f9fa;border-radius:.75rem;border-left:3px solid var(--primary-blue)}.detail-item.full-width{grid-column:1 / -1}.detail-label{font-size:.875rem;font-weight:600;color:#6c757d;text-transform:uppercase;letter-spacing:.5px}.detail-value{font-size:1rem;font-weight:600;color:var(--primary-blue)}.ban-reason{color:#dc3545;font-style:italic}.detail-badge{display:inline-flex;align-items:center;padding:.5rem 1rem;border-radius:2rem;font-size:.875rem;font-weight:700;width:fit-content}.detail-badge.badge-istituzionale{background:#e3f2fd;color:#1976d2}.detail-badge.badge-generica{background:#fff3cd;color:#856404}.detail-badge.status-approved{background:#d1fae5;color:#065f46}.detail-badge.status-pending{background:#fef3c7;color:#92400e}.detail-badge.status-rejected{background:#fee2e2;color:#991b1b}.detail-badge.ban-active{background:#d1fae5;color:#065f46}.detail-badge.ban-banned{background:#fee2e2;color:#991b1b}.user-details-actions{background:#f8f9fa;padding:1.5rem;border-radius:1rem;margin-top:1.5rem}.user-details-actions h4{font-size:1.25rem;font-weight:700;color:var(--primary-blue);margin:0 0 1.25rem;display:flex;align-items:center;gap:.5rem}.user-details-actions h4:before{content:"⚙️";font-size:1.5rem}.actions-grid{display:grid;gap:1rem}.action-btn{display:flex;align-items:center;gap:1rem;padding:1.25rem;border:none;border-radius:.75rem;cursor:pointer;transition:all .3s ease;background:#fff;border:2px solid #e2e8f0;width:100%;text-align:left}.action-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #00000026}.action-btn:active:not(:disabled){transform:translateY(0)}.action-btn:disabled{opacity:.6;cursor:not-allowed}.btn-icon{font-size:2rem;width:50px;height:50px;display:flex;align-items:center;justify-content:center;border-radius:.5rem;flex-shrink:0}.btn-text{display:flex;flex-direction:column;gap:.25rem;flex:1}.btn-text strong{font-size:1.125rem;font-weight:700}.btn-text small{font-size:.875rem;opacity:.7}.action-btn.ban{border-color:#fbbf24}.action-btn.ban:hover:not(:disabled){border-color:#f59e0b;background:#fef3c7}.action-btn.ban .btn-icon{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff}.action-btn.ban .btn-text strong{color:#d97706}.action-btn.unban{border-color:#10b981}.action-btn.unban:hover:not(:disabled){border-color:#059669;background:#d1fae5}.action-btn.unban .btn-icon{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.action-btn.unban .btn-text strong{color:#047857}.action-btn.reset{border-color:var(--accent-blue)}.action-btn.reset:hover:not(:disabled){border-color:var(--primary-blue);background:#e0f2fe}.action-btn.reset .btn-icon{background:linear-gradient(135deg,var(--accent-blue),var(--primary-blue));color:#fff}.action-btn.reset .btn-text strong{color:var(--primary-blue)}.action-btn.delete{border-color:#ef4444}.action-btn.delete:hover:not(:disabled){border-color:#dc2626;background:#fee2e2}.action-btn.delete .btn-icon{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.action-btn.delete .btn-text strong{color:#dc2626}@media (max-width: 767px){.user-details-modal{max-width:100%}.user-details-header{flex-direction:column;text-align:center;padding:1.25rem}.user-details-avatar{width:70px;height:70px;font-size:1.75rem}.user-details-name h3{font-size:1.5rem}.user-details-grid{grid-template-columns:1fr;gap:1rem}.action-btn{padding:1rem}.btn-icon{width:45px;height:45px;font-size:1.75rem}.btn-text strong{font-size:1rem}.btn-text small{font-size:.8rem}}.live-monitor{min-height:100vh;background:#f8f9fa}.live-header{background:linear-gradient(135deg,var(--primary-blue),var(--accent-blue));color:#fff;padding:2rem;box-shadow:0 4px 20px #1e3a8a33}.live-header .header-content{max-width:1800px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.live-header h1{font-size:2rem;font-weight:800;margin:0 0 .5rem}.live-header p{margin:0;font-size:1.125rem;opacity:.95}.header-actions{display:flex;gap:1rem}.btn-refresh,.btn-refresh-now{background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.3);padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-refresh:hover,.btn-refresh-now:hover{background:#ffffff4d;transform:translateY(-2px)}.btn-refresh.active{background:#4caf504d;border-color:#4caf5080}.stats-live-grid{max-width:1800px;margin:-2rem auto 2rem;padding:0 2rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.stat-live-card{background:#fff;padding:1.5rem;border-radius:1rem;box-shadow:0 2px 10px #00000014;display:flex;align-items:center;gap:1.5rem;border-left:4px solid var(--primary-blue);transition:all .3s ease}.stat-live-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #1e3a8a26}.stat-live-card.primary{border-left-color:var(--primary-blue)}.stat-live-card.online{border-left-color:#4caf50}.stat-live-card.new{border-left-color:#9c27b0}.stat-live-card.approved{border-left-color:#28a745}.stat-live-card.pending{border-left-color:var(--golden-accent)}.stat-live-card.banned{border-left-color:#dc3545}.stat-live-icon{font-size:2.5rem;line-height:1}.stat-live-value{font-size:2.5rem;font-weight:800;color:var(--primary-blue);line-height:1}.stat-live-label{font-size:.875rem;color:#6c757d;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-top:.5rem}.stat-live-sub{font-size:.75rem;color:#adb5bd;margin-top:.25rem;font-weight:500}.stat-live-card.offline-stat{border-left-color:#dc3545}.stat-live-card.rejected-stat{border-left-color:#fd7e14}.stat-live-card.logins-stat{border-left-color:#6f42c1}.charts-container{max-width:1800px;margin:2rem auto;padding:0 2rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:2rem}.chart-card{background:#fff;padding:2rem;border-radius:1rem;box-shadow:0 2px 10px #00000014}.chart-card h3{margin:0 0 1.5rem;font-size:1.25rem;color:#212529;font-weight:700}.bar-chart{display:flex;gap:1rem;height:250px;align-items:flex-end;justify-content:space-around}.bar-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem}.bar-container{width:100%;height:200px;display:flex;align-items:flex-end;justify-content:center}.bar{width:80%;background:linear-gradient(180deg,var(--primary-blue),var(--accent-blue));border-radius:.5rem .5rem 0 0;position:relative;min-height:10px;transition:all .3s ease;display:flex;align-items:flex-start;justify-content:center;padding-top:.5rem}.bar:hover{transform:translateY(-5px);box-shadow:0 5px 15px #1e3a8a4d}.bar-value{font-weight:700;color:#fff;font-size:.875rem}.bar-label{font-size:.75rem;color:#6c757d;font-weight:600;text-align:center}.corpo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.corpo-card{background:#fff;border:2px solid #e9ecef;border-left:4px solid;border-radius:.75rem;padding:1.5rem 1rem;text-align:center;transition:all .3s ease;cursor:pointer}.corpo-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px #00000026;border-color:currentColor}.corpo-count{font-size:2.5rem;font-weight:800;color:var(--primary-blue);margin-bottom:.5rem}.corpo-name{font-size:.875rem;font-weight:600;color:#495057;text-transform:capitalize;margin-bottom:.25rem}.corpo-percent{font-size:.75rem;color:#6c757d;font-weight:600}.verification-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.verification-card{background:#fff;border:2px solid #e9ecef;border-left:4px solid;border-radius:.75rem;padding:1.5rem 1rem;text-align:center;transition:all .3s ease;cursor:pointer}.verification-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px #00000026}.verification-count{font-size:2.5rem;font-weight:800;color:var(--primary-blue);margin-bottom:.5rem}.verification-name{font-size:.875rem;font-weight:600;color:#495057;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.verification-percent{font-size:.75rem;color:#6c757d;font-weight:600}.pie-chart-list{display:flex;flex-direction:column;gap:1rem}.pie-item{display:flex;flex-direction:column;gap:.5rem}.pie-label{font-size:.875rem;font-weight:600;color:#495057;text-transform:capitalize}.pie-bar-container{width:100%;height:30px;background:#f1f3f5;border-radius:.5rem;overflow:hidden}.pie-bar{height:100%;display:flex;align-items:center;justify-content:center;transition:all .3s ease;position:relative}.pie-bar:hover{filter:brightness(1.1)}.pie-value{font-weight:700;color:#fff;font-size:.875rem;text-shadow:0 1px 2px rgba(0,0,0,.2)}.donut-chart{display:flex;gap:1rem;flex-wrap:wrap}.donut-item{flex:1;min-width:150px}.donut-segment{padding:2rem 1rem;border-radius:1rem;text-align:center;transition:all .3s ease;cursor:pointer}.donut-segment:hover{transform:translateY(-5px);box-shadow:0 5px 15px #00000026}.donut-info{color:#fff}.donut-value{font-size:2.5rem;font-weight:800;margin-bottom:.5rem}.donut-label{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.donut-percent{font-size:1.125rem;font-weight:700;opacity:.9}.controls-bar{max-width:1800px;margin:0 auto 2rem;padding:0 2rem;display:flex;gap:2rem;align-items:center;flex-wrap:wrap}.search-box-live{flex:1;min-width:300px;position:relative}.search-input-live{width:100%;padding:1rem 1.5rem;border:2px solid #e9ecef;border-radius:.75rem;font-size:1rem;transition:all .3s ease}.search-input-live:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 4px #1e3a8a1a}.clear-search-live{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:#dc3545;color:#fff;border:none;width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.clear-search-live:hover{background:#c82333;transform:translateY(-50%) scale(1.1)}.filter-buttons{display:flex;gap:.75rem}.filter-btn{background:#fff;border:2px solid #e9ecef;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .3s ease;color:#495057}.filter-btn:hover{border-color:var(--primary-blue);color:var(--primary-blue)}.filter-btn.active{background:var(--primary-blue);border-color:var(--primary-blue);color:#fff}.users-live-container{max-width:1800px;margin:0 auto;padding:0 2rem 2rem}.users-live-table{background:#fff;border-radius:1rem;overflow:hidden;box-shadow:0 2px 10px #00000014}.users-live-header{display:grid;grid-template-columns:120px 250px 1fr 150px 120px 150px 180px;gap:1rem;padding:1rem 1.5rem;background:linear-gradient(135deg,#f8f9fa,#e9ecef);font-weight:700;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px;color:#495057;border-bottom:2px solid #dee2e6}.users-live-body{max-height:calc(100vh - 500px);overflow-y:auto}.user-live-row{display:grid;grid-template-columns:120px 250px 1fr 150px 120px 150px 180px;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid #f1f3f5;align-items:center;transition:all .2s ease;cursor:pointer}.user-live-row:hover{background:#f8f9fa;transform:translate(4px)}.user-live-row.online{background:#4caf5008}.user-live-row.online:hover{background:#4caf5014}.status-indicator{display:flex;align-items:center;gap:.5rem}.status-dot{width:12px;height:12px;border-radius:50%;animation:pulse 2s ease-in-out infinite}.status-indicator.online .status-dot{background:#4caf50;box-shadow:0 0 10px #4caf5080}.status-indicator.offline .status-dot{background:#dc3545;animation:none}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.8}}.status-text{font-weight:600;font-size:.875rem}.status-indicator.online .status-text{color:#4caf50}.status-indicator.offline .status-text{color:#6c757d}.col-user{display:flex;align-items:center;gap:1rem}.user-live-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--primary-blue),var(--accent-blue));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem;flex-shrink:0}.user-live-name{display:flex;flex-direction:column;gap:.25rem}.name-primary{font-weight:600;color:#212529}.badge-admin{display:inline-block;background:linear-gradient(135deg,gold,#ffed4e);color:#333;padding:.125rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:700;width:fit-content}.col-email{color:#6c757d;font-size:.9rem}.col-corpo{font-weight:500;color:#495057;text-transform:capitalize}.col-verification{display:flex;gap:.5rem;flex-wrap:wrap}.status-badge{font-size:1.25rem}.status-badge.status-banned{animation:shake .5s ease-in-out infinite}@keyframes shake{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}.activity-time{font-size:.875rem;font-weight:600;color:#495057}.activity-time.inactive{color:#adb5bd;font-style:italic}.col-device{font-size:.875rem;color:#6c757d}.empty-state-live{text-align:center;padding:4rem 2rem}.empty-icon-live{font-size:4rem;display:block;margin-bottom:1rem;opacity:.5}.empty-state-live p{font-size:1.125rem;color:#6c757d;margin:0}.auto-refresh-info{max-width:1800px;margin:1rem auto 0;padding:0 2rem;text-align:center;color:#6c757d;font-size:.875rem;font-weight:600}@media (max-width: 1400px){.users-live-header,.user-live-row{grid-template-columns:100px 200px 1fr 120px 100px 120px 150px;font-size:.875rem}}@media (max-width: 1024px){.users-live-header,.user-live-row{grid-template-columns:80px 180px 1fr 100px 80px 100px 120px;font-size:.8rem}.stat-live-value{font-size:2rem}}@media (max-width: 768px){.controls-bar{flex-direction:column;align-items:stretch}.filter-buttons{justify-content:center}.users-live-table{overflow-x:auto}.users-live-header,.user-live-row{min-width:1000px}}.activity-log-container{padding:2rem;max-width:1400px;margin:0 auto}.activity-log-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.activity-log-header h2{font-size:1.8rem;color:#2d5016;margin:0}.activity-log-loading{text-align:center;padding:4rem}.spinner{border:4px solid #f3f3f3;border-top:4px solid #2d5016;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin:0 auto 1rem}.activity-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem;border-radius:15px;display:flex;align-items:center;gap:1rem;box-shadow:0 4px 15px #0000001a}.stat-card.top-partners{background:linear-gradient(135deg,#f093fb,#f5576c);grid-column:span 1}.stat-icon{font-size:3rem;opacity:.9}.stat-info h3{font-size:2.5rem;margin:0;font-weight:800}.stat-info h4{font-size:1.1rem;margin:0 0 .5rem;font-weight:700}.stat-info p{margin:0;opacity:.9;font-size:.9rem}.stat-info ul{list-style:none;padding:0;margin:0}.stat-info li{display:flex;justify-content:space-between;padding:.3rem 0;font-size:.9rem;border-bottom:1px solid rgba(255,255,255,.2)}.stat-info li:last-child{border-bottom:none}.partner-count{background:#ffffff4d;padding:.2rem .6rem;border-radius:12px;font-weight:700;font-size:.85rem}.activity-filters{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.activity-search{flex:1;min-width:250px;padding:.8rem 1.2rem;border:2px solid #e0e0e0;border-radius:10px;font-size:1rem;transition:all .2s}.activity-search:focus{outline:none;border-color:#2d5016;box-shadow:0 0 0 3px #2d50161a}.filter-buttons{display:flex;gap:.5rem}.filter-btn{padding:.8rem 1.5rem;border:2px solid #e0e0e0;background:#fff;border-radius:10px;font-size:.9rem;cursor:pointer;transition:all .2s;font-weight:600}.filter-btn:hover{border-color:#2d5016;background:#f5f5f5}.filter-btn.active{background:#2d5016;color:#fff;border-color:#2d5016}.activity-table-container{background:#fff;border-radius:15px;box-shadow:0 2px 10px #0000000d;overflow:hidden}.activity-table{width:100%;border-collapse:collapse}.activity-table thead{background:#f8f9fa}.activity-table th{padding:1rem;text-align:left;font-weight:700;color:#2d5016;border-bottom:2px solid #e0e0e0;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.activity-table td{padding:1rem;border-bottom:1px solid #f0f0f0;vertical-align:middle}.activity-table tbody tr:hover{background:#f8f9fa}.activity-table tbody tr:last-child td{border-bottom:none}.no-activities{text-align:center;padding:3rem!important;color:#999;font-size:1.1rem}.action-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border-radius:20px;font-size:.85rem;font-weight:600;white-space:nowrap}.action-badge.qr_generated{background:#e7f5ff;color:#1971c2}.action-badge.qr_scanned,.action-badge.verification_success{background:#d1fae5;color:#065f46}.action-badge.verification_failed{background:#fee2e2;color:#991b1b}.action-badge.token_expired{background:#fef3c7;color:#92400e}.user-info{display:flex;flex-direction:column;gap:.2rem}.user-info strong{color:#2d5016;font-size:.95rem}.user-info small{color:#666;font-size:.8rem}.partner-info{display:flex;flex-direction:column;gap:.2rem}.partner-info strong{color:#333;font-size:.95rem}.partner-info small{color:#666;font-size:.8rem}.text-muted{color:#999;font-style:italic}.activity-date{color:#666;font-size:.9rem;white-space:nowrap}.metadata-details{cursor:pointer}.metadata-details summary{color:#2d5016;font-weight:600;font-size:.85rem;padding:.3rem .6rem;background:#f0f0f0;border-radius:5px;display:inline-block;transition:background .2s}.metadata-details summary:hover{background:#e0e0e0}.metadata-details pre{background:#f8f9fa;padding:1rem;border-radius:8px;overflow-x:auto;font-size:.8rem;margin-top:.5rem;border:1px solid #e0e0e0}@media (max-width: 1024px){.activity-stats{grid-template-columns:1fr}.stat-card.top-partners{grid-column:span 1}}@media (max-width: 768px){.activity-log-container{padding:1rem}.activity-filters{flex-direction:column}.activity-search{width:100%}.filter-buttons{width:100%;overflow-x:auto;padding-bottom:.5rem}.activity-table-container{overflow-x:auto}.activity-table{min-width:800px}.stat-info h3{font-size:2rem}}.token-validator{max-width:800px;margin:2rem auto;padding:2rem;background:#fff;border-radius:20px;box-shadow:0 4px 20px #00000014}.validator-header{text-align:center;margin-bottom:2rem}.validator-header h2{font-size:2rem;color:#2d5016;margin:0 0 .5rem}.validator-header p{color:#666;margin:0}.validator-actions{text-align:center;margin-bottom:2rem}.validator-actions .btn-lg{font-size:1.2rem;padding:1rem 2rem;width:100%;max-width:400px}.divider{color:#999;margin:1.5rem 0;position:relative;text-align:center}.divider:before,.divider:after{content:"";position:absolute;top:50%;width:40%;height:1px;background:#ddd}.divider:before{left:0}.divider:after{right:0}.manual-input{margin-bottom:2rem}.manual-input label{display:block;font-weight:600;color:#333;margin-bottom:.5rem}.input-group{display:flex;gap:.5rem}.token-input{flex:1;padding:1rem;border:2px solid #e0e0e0;border-radius:10px;font-size:1rem;font-family:Courier New,monospace;transition:all .2s}.token-input:focus{outline:none;border-color:#2d5016;box-shadow:0 0 0 3px #2d50161a}.token-input:disabled{background:#f5f5f5;cursor:not-allowed}.validation-result{margin-top:2rem;padding:2rem;border-radius:15px;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.validation-result.valid{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:3px solid #10b981}.validation-result.invalid{background:linear-gradient(135deg,#fee2e2,#fecaca);border:3px solid #ef4444}.result-icon{text-align:center;font-size:4rem;margin-bottom:1rem}.result-content h3{text-align:center;color:#333;font-size:1.5rem;margin:0 0 1.5rem}.user-card-compact,.token-info,.use-token-form,.used-info{background:#fff;padding:1.5rem;border-radius:12px;margin-bottom:1rem}.user-card-compact h4,.token-info h4,.use-token-form h4,.used-info h4{color:#2d5016;margin:0 0 1rem;font-size:1.1rem}.user-card-compact p,.token-info p,.used-info p{margin:.5rem 0;color:#333}.user-card-compact strong,.token-info strong,.used-info strong{color:#666;font-weight:600}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .8rem;border-radius:15px;font-size:.85rem;font-weight:600;margin-left:.5rem}.badge-approved{background:#d1fae5;color:#065f46;border:1px solid #10b981}.badge-pending{background:#fef3c7;color:#92400e;border:1px solid #fbbf24}.status-active{color:#10b981;font-weight:700}.status-used{color:#ef4444;font-weight:700}.status-expired{color:#f59e0b;font-weight:700}.use-token-form input{width:100%;padding:.8rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;margin-bottom:1rem;transition:all .2s}.use-token-form input:focus{outline:none;border-color:#2d5016;box-shadow:0 0 0 3px #2d50161a}.btn-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;font-weight:700;transition:all .2s}.btn-success:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #10b98166}.btn-success:disabled{opacity:.5;cursor:not-allowed}.used-info{background:#fef3c7;border:2px solid #fbbf24}@media (max-width: 576px){.token-validator{padding:1rem;margin:1rem}.validator-header h2{font-size:1.5rem}.input-group{flex-direction:column}.divider:before,.divider:after{width:35%}}.documents-manager{padding:20px;max-width:1400px;margin:0 auto}.dm-header{margin-bottom:30px}.dm-header h2{font-size:28px;margin-bottom:10px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dm-header p{color:#666;font-size:14px}.dm-upload-section{background:#fff;padding:25px;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px}.dm-upload-section h3{margin-bottom:20px;color:#333;font-size:20px}.dm-form{display:flex;flex-direction:column;gap:20px}.dm-form-row{display:grid;grid-template-columns:1fr 200px;gap:20px}.dm-form-group{display:flex;flex-direction:column;gap:8px}.dm-form-group label{font-weight:600;color:#333;font-size:14px}.dm-form-group input[type=text],.dm-form-group textarea,.dm-form-group select{padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;transition:all .3s ease;font-family:inherit}.dm-form-group input[type=text]:focus,.dm-form-group textarea:focus,.dm-form-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.dm-form-group input[type=file]{padding:10px;border:2px dashed #e0e0e0;border-radius:8px;cursor:pointer;transition:all .3s ease}.dm-form-group input[type=file]:hover{border-color:#667eea;background:#f8f9ff}.dm-file-info{padding:10px;background:#e8f5e9;border-radius:6px;color:#2e7d32;font-size:13px;font-weight:500}.dm-submit-btn{padding:14px 28px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;align-self:flex-start}.dm-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.dm-submit-btn:disabled{opacity:.6;cursor:not-allowed}.dm-filters{background:#fff;padding:20px;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px}.dm-filters h3{margin-bottom:15px;color:#333;font-size:18px}.dm-filter-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px}.dm-filter-row select{padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;cursor:pointer;transition:all .3s ease}.dm-filter-row select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.dm-list-section{background:#fff;padding:25px;border-radius:12px;box-shadow:0 2px 8px #0000001a}.dm-list-section h3{margin-bottom:20px;color:#333;font-size:20px}.dm-loading,.dm-empty{text-align:center;padding:40px;color:#999;font-size:16px}.dm-table-container{overflow-x:auto}.dm-table{width:100%;border-collapse:collapse;min-width:900px}.dm-table thead{background:#f5f5f5}.dm-table th{padding:12px;text-align:left;font-weight:600;color:#333;font-size:13px;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e0e0e0}.dm-table td{padding:16px 12px;border-bottom:1px solid #f0f0f0;vertical-align:top}.dm-table tbody tr{transition:background .2s ease}.dm-table tbody tr:hover{background:#f9f9f9}.dm-doc-info{display:flex;align-items:flex-start;gap:12px}.dm-doc-icon{font-size:28px;flex-shrink:0}.dm-doc-title{font-weight:600;color:#333;margin-bottom:4px;font-size:14px}.dm-doc-desc{color:#666;font-size:13px;margin-bottom:4px;line-height:1.4}.dm-doc-filename{color:#999;font-size:12px;font-family:Courier New,monospace}.dm-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500;white-space:nowrap}.dm-badge-corpo{background:#e3f2fd;color:#1976d2}.dm-badge-categoria{background:#f3e5f5;color:#7b1fa2}.dm-actions{display:flex;gap:8px}.dm-btn{padding:8px 12px;border:none;border-radius:6px;cursor:pointer;font-size:18px;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.dm-btn-view{background:#e3f2fd;color:#1976d2}.dm-btn-view:hover{background:#bbdefb;transform:scale(1.1)}.dm-btn-delete{background:#ffebee;color:#c62828}.dm-btn-delete:hover{background:#ffcdd2;transform:scale(1.1)}@media (max-width: 768px){.documents-manager{padding:15px}.dm-upload-section,.dm-filters,.dm-list-section{padding:20px}.dm-form-row,.dm-filter-row{grid-template-columns:1fr}.dm-table-container{margin:0 -20px;padding:0 20px}.dm-table{font-size:13px}.dm-table th,.dm-table td{padding:10px 8px}.dm-doc-icon{font-size:24px}.dm-doc-title{font-size:13px}.dm-doc-desc{font-size:12px}.dm-actions{flex-direction:column}}.rc-auto-manager{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 20px #00000014}.polizza-famiglie-manager{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 20px #00000014}.manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid #f1f5f9}.manager-header h2{font-size:1.75rem;font-weight:800;color:var(--text-primary);margin:0}.stats{display:flex;gap:2rem}.stat-item{display:flex;flex-direction:column;align-items:center;gap:.25rem}.stat-number{font-size:2rem;font-weight:800;color:var(--primary-blue)}.stat-label{font-size:.875rem;color:var(--text-secondary);font-weight:600}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-secondary)}.empty-state p{font-size:1.125rem}.richieste-table{overflow-x:auto}table{width:100%;border-collapse:collapse}thead th{background:linear-gradient(135deg,#f8f9fa,#e9ecef);padding:1rem;text-align:center;font-weight:700;font-size:.875rem;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #dee2e6}tbody td{padding:1rem;border-bottom:1px solid #f1f5f9}tbody tr{transition:background .2s ease}tbody tr:hover{background:#f8f9fa}tbody tr.selected{background:#e0f2fe}.user-info,.vehicle-info,.contact-info{display:flex;flex-direction:column;gap:.25rem}.user-info strong,.vehicle-info strong{color:var(--text-primary);font-weight:600}.user-info small,.vehicle-info small,.contact-info small{color:var(--text-secondary);font-size:.875rem}.status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .875rem;border-radius:1rem;font-size:.8125rem;font-weight:700;white-space:nowrap}.badge-pending{background:#fef3c7;color:#92400e;border:2px solid #f59e0b}.badge-sent{background:#dbeafe;color:#1e40af;border:2px solid #3b82f6}.badge-completed{background:#d1fae5;color:#065f46;border:2px solid #10b981}.btn-view{background:var(--primary-blue);color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .3s ease}.btn-view:hover{background:#1e5a0f;transform:translateY(-2px)}.detail-modal{background:#fff;border-radius:24px;padding:2rem;max-width:800px;width:90%;max-height:90vh;overflow-y:auto;position:relative}.modal-close{position:absolute;top:1rem;right:1rem;width:40px;height:40px;border-radius:50%;border:none;background:#f1f5f9;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;transition:all .3s ease}.modal-close:hover{background:var(--primary-red);color:#fff;transform:rotate(90deg)}.detail-modal h3{font-size:1.75rem;font-weight:800;color:var(--text-primary);margin-bottom:1.5rem}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.detail-section{background:#f8f9fa;padding:1.5rem;border-radius:12px;border-left:4px solid var(--primary-blue)}.detail-section.full-width{grid-column:1 / -1}.detail-section h4{font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem}.detail-section p{margin:.5rem 0;color:var(--text-secondary);line-height:1.6}.detail-section p strong{color:var(--text-primary);font-weight:600;margin-right:.5rem}.forward-section{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.email-display{display:flex;align-items:center;gap:1rem;padding:1rem;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:8px;border:2px solid #3b82f6}.email-label{font-weight:600;color:var(--text-secondary);font-size:.875rem}.email-value{font-weight:700;color:var(--primary-blue);font-size:1rem}.download-link{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--primary-blue);color:#fff;text-decoration:none;border-radius:8px;font-weight:600;transition:all .3s ease;margin-top:.5rem}.download-link:hover{background:#1e5a0f;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}.family-info{display:flex;flex-direction:column;gap:.25rem}.family-info strong{color:var(--text-primary);font-weight:600}.family-info small{color:var(--text-secondary);font-size:.875rem}.email-input{flex:1;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.95rem;transition:all .3s ease}.email-input:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px #3b82f61a}.btn-forward{background:linear-gradient(135deg,var(--primary-blue) 0%,#1e40af 100%);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:700;font-size:.95rem;cursor:pointer;transition:all .3s ease;white-space:nowrap}.btn-forward:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #3b82f64d}.btn-forward:disabled{opacity:.6;cursor:not-allowed}.sent-info{margin-top:1rem;padding:.75rem;background:#d1fae5;border-left:4px solid #10b981;border-radius:8px;color:#065f46;font-size:.875rem;font-weight:600}.loading{text-align:center;padding:4rem 2rem;color:var(--text-secondary);font-size:1.125rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem;animation:fadeIn .3s ease-out}.success-modal{background:#fff;border-radius:20px;padding:2.5rem 2rem;max-width:500px;width:100%;box-shadow:0 20px 60px #0000004d;position:relative;animation:slideUp .3s ease-out;text-align:center}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-close{position:absolute;top:1rem;right:1rem;background:#0000001a;border:none;width:36px;height:36px;border-radius:50%;font-size:1.5rem;color:#64748b;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;line-height:1}.modal-close:hover{background:#00000026;transform:rotate(90deg)}.modal-icon{font-size:3.5rem;margin-bottom:1rem;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.success-modal h3{font-size:1.5rem;font-weight:700;color:var(--primary-blue);margin:0 0 1rem}.modal-message{font-size:1.125rem;color:var(--text-primary);margin:0 0 1rem;line-height:1.6}.modal-message strong{color:var(--primary-blue);font-weight:700}.modal-note{font-size:.95rem;color:var(--text-secondary);margin:0 0 2rem;padding:.75rem 1rem;background:#f8fafc;border-left:4px solid var(--golden-accent);border-radius:8px;text-align:left}.btn-ok{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:.875rem 2.5rem;font-size:1rem;font-weight:700;border-radius:12px;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px #10b9814d}.btn-ok:hover{transform:translateY(-2px);box-shadow:0 8px 20px #10b98166}.btn-ok:active{transform:translateY(0)}@media (max-width: 768px){.manager-header{flex-direction:column;align-items:flex-start;gap:1rem}.stats{width:100%;justify-content:space-around}.richieste-table{overflow-x:scroll}table{min-width:800px}.detail-grid{grid-template-columns:1fr}.forward-section{flex-direction:column;align-items:stretch}.btn-forward{width:100%}.success-modal{padding:2rem 1.5rem}.modal-icon{font-size:3rem}.success-modal h3{font-size:1.25rem}.modal-message{font-size:1rem}}.concorsi-manager{padding:2rem}.concorsi-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.concorsi-header h2{margin:0;color:#1e3a8a}.btn-create{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-create:hover{transform:translateY(-2px);box-shadow:0 8px 20px #10b9814d}.concorsi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:1.5rem}.concorso-card{background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 2px 10px #00000014;transition:all .3s ease;position:relative;border-left:4px solid #3b82f6}.concorso-card:hover{transform:translateY(-5px);box-shadow:0 12px 30px #00000026}.concorso-header-card{display:flex;justify-content:space-between;align-items:start;margin-bottom:1rem;gap:1rem}.concorso-header-card h3{margin:0;color:#1e3a8a;font-size:1.25rem;flex:1}.badge-categoria{padding:.375rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.badge-categoria.forze-armate{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#166534}.badge-categoria.forze-ordine{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af}.badge-categoria.ufficiali{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.badge-categoria.avanzamento{background:linear-gradient(135deg,#fce7f3,#fbcfe8);color:#9f1239}.concorso-info{margin:1rem 0;display:flex;flex-direction:column;gap:.75rem}.info-row{display:flex;justify-content:space-between;align-items:center;gap:1rem}.info-row .label{font-weight:600;color:#6b7280;font-size:.9rem}.info-row .value{color:#1f2937;font-weight:500;text-align:right;flex:1}.badge-scadenza{padding:.375rem .75rem;border-radius:.5rem;font-size:.875rem;font-weight:700}.badge-scadenza.urgente{background:#fee2e2;color:#dc2626}.badge-scadenza.breve{background:#fef3c7;color:#d97706}.badge-scadenza.normale{background:#dcfce7;color:#16a34a}.badge-scadenza.scaduto{background:#f3f4f6;color:#6b7280;text-decoration:line-through}.concorso-descrizione{margin:1rem 0;padding:1rem;background:#f9fafb;border-radius:.5rem;color:#4b5563;font-size:.9rem;line-height:1.6}.concorso-actions{display:flex;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e5e7eb;flex-wrap:wrap}.btn-documento{flex:1;min-width:100px;padding:.625rem 1rem;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;text-decoration:none;text-align:center;transition:all .2s ease}.btn-documento:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}.btn-edit{padding:.625rem 1rem;background:#e0f2fe;color:#0369a1;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-delete{padding:.625rem 1rem;background:#fee2e2;color:#dc2626;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-delete:hover{background:#dc2626;color:#fff}.concorso-stato{position:absolute;top:1rem;right:1rem;padding:.375rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:700}.concorso-stato.attivo{background:#dcfce7;color:#166534}.concorso-stato.scaduto{background:#fee2e2;color:#dc2626}.concorso-stato.sospeso{background:#fef3c7;color:#92400e}.empty-state{text-align:center;padding:4rem 2rem;background:#fff;border-radius:1rem;box-shadow:0 2px 10px #00000014}.empty-state p{margin:.5rem 0;color:#6b7280}.modal-content{background:#fff;padding:2rem;border-radius:1rem;max-width:800px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:2px solid #e5e7eb;border-radius:.5rem;font-size:1rem;transition:all .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group textarea{resize:vertical;font-family:inherit}.form-group small{display:block;margin-top:.5rem;color:#6b7280;font-size:.875rem}.form-group small a{color:#3b82f6;text-decoration:none}.form-group small a:hover{text-decoration:underline}.btn-cancel{padding:.75rem 1.5rem;background:#f3f4f6;color:#374151;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-cancel:hover{background:#e5e7eb}.btn-save{padding:.75rem 1.5rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-save:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #10b9814d}.btn-save:disabled{opacity:.6;cursor:not-allowed}.loading{text-align:center;padding:3rem;color:#6b7280;font-size:1.125rem}@media (max-width: 768px){.concorsi-grid{grid-template-columns:1fr}.concorsi-header{flex-direction:column;align-items:stretch;gap:1rem}.form-row{grid-template-columns:1fr}.concorso-actions{flex-direction:column}.btn-documento{min-width:100%}}.modal-content-simple{background:#fff;border-radius:16px;padding:0;width:90%;max-width:500px;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease;overflow:hidden}.modal-header-simple{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb;font-size:.875rem;color:#6b7280}.modal-icon-simple{font-size:1rem}.modal-body-simple{padding:2rem 1.5rem;text-align:center}.success-icon,.error-icon{font-size:3rem;display:block;margin-bottom:1rem}.modal-body-simple p{margin:0;font-size:1rem;color:#374151;font-weight:500}.modal-actions-simple{padding:1rem 1.5rem;display:flex;justify-content:flex-end;border-top:1px solid #e5e7eb}.btn-ok{background:#3b82f6;color:#fff;border:none;padding:.625rem 2rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-ok:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.modal-actions-confirm{padding:1rem 1.5rem;display:flex;justify-content:flex-end;gap:.75rem;border-top:1px solid #e5e7eb}.btn-cancel-modal{background:#e5e7eb;color:#374151;border:none;padding:.625rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-cancel-modal:hover{background:#d1d5db}.btn-confirm-modal{background:#3b82f6;color:#fff;border:none;padding:.625rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-confirm-modal:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.settings-manager{padding:2rem;max-width:1200px;margin:0 auto}.settings-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid #e5e7eb}.settings-icon{font-size:3rem;animation:rotate 10s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.settings-header h2{margin:0;font-size:1.75rem;color:#1f2937}.settings-header p{margin:.25rem 0 0;color:#6b7280;font-size:.95rem}.settings-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;gap:1rem}.spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}.spinner-small{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;margin-right:.5rem}.alert{padding:1rem 1.5rem;border-radius:8px;margin-bottom:1.5rem;font-weight:500;animation:slideDown .3s ease-out}.alert-success{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46;border:1px solid #6ee7b7}.alert-error{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b;border:1px solid #fca5a5}.settings-content{display:flex;flex-direction:column;gap:1.5rem}.setting-item{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem;transition:all .3s ease}.setting-item:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f61a}.setting-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}.setting-icon{font-size:2rem;line-height:1}.setting-info h3{margin:0;font-size:1.25rem;color:#1f2937}.setting-info p{margin:.25rem 0 0;color:#6b7280;font-size:.9rem;line-height:1.5}.setting-input-group{display:flex;flex-direction:column;gap:.5rem}.setting-input-group label{font-size:.9rem;font-weight:600;color:#374151}.setting-input-group input{padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:all .2s ease;background:#fff}.setting-input-group input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.setting-input-group input:disabled{background:#f9fafb;cursor:not-allowed;opacity:.7}.settings-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 2px 8px #3b82f64d}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #3b82f666}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:#fff;color:#6b7280;border:2px solid #e5e7eb}.btn-secondary:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db}.settings-info-box{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #93c5fd;border-radius:8px;padding:1rem 1.25rem;color:#1e40af;font-size:.9rem;line-height:1.6}.settings-info-box strong{display:block;margin-bottom:.25rem;color:#1e3a8a}@media (max-width: 767px){.settings-manager{padding:1rem}.settings-header{flex-direction:column;gap:1rem;text-align:center}.settings-header h2{font-size:1.5rem}.setting-item{padding:1rem}.setting-header{flex-direction:column;align-items:center;text-align:center}.settings-actions{flex-direction:column}.btn{width:100%;justify-content:center}}@media (min-width: 768px) and (max-width: 1440px){.settings-manager{padding:1.5rem}}.admin-management{padding:2rem}.admin-mgmt-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.admin-mgmt-header h2{margin:0;color:#1e3a8a}.btn-create-admin{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-create-admin:hover{transform:translateY(-2px);box-shadow:0 8px 20px #10b9814d}.no-permission{text-align:center;padding:4rem 2rem;background:#fff;border-radius:1rem;box-shadow:0 2px 10px #00000014}.no-permission h2{color:#dc3545;margin-bottom:1rem}.admins-list{display:grid;gap:1.5rem}.admin-card{background:#fff;padding:1.5rem;border-radius:1rem;box-shadow:0 2px 10px #00000014;display:flex;justify-content:space-between;align-items:center;transition:all .3s ease}.admin-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px #0000001f}.admin-info{display:flex;gap:1rem;align-items:center}.admin-avatar{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700}.admin-info h4{margin:0 0 .25rem;color:#1e3a8a}.admin-info p{margin:0 0 .5rem;color:#6c757d;font-size:.9rem}.admin-role-badge{display:inline-block;padding:.25rem .75rem;border-radius:1rem;font-size:.85rem;font-weight:600;background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.admin-actions{display:flex;gap:.75rem}.btn-edit,.btn-remove{padding:.5rem 1rem;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-edit{background:#e0f2fe;color:#0369a1}.btn-edit:hover{background:#0ea5e9;color:#fff}.btn-remove{background:#fee2e2;color:#dc2626}.btn-remove:hover{background:#dc2626;color:#fff}.current-user-badge{padding:.5rem 1rem;background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46;border-radius:.5rem;font-weight:600}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;padding:2rem;border-radius:1rem;max-width:900px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-content h3{margin:0 0 1.5rem;color:#1e3a8a;font-size:1.75rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#374151;font-weight:600}.search-input-wrapper{position:relative;margin-bottom:.5rem}.search-input{width:100%;padding:.875rem 2.5rem .875rem 1rem;border:2px solid #e5e7eb;border-radius:.5rem;font-size:1rem;transition:all .3s ease;background:#f9fafb}.search-input:focus{outline:none;border-color:#3b82f6;background:#fff;box-shadow:0 0 0 3px #3b82f61a}.clear-search{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:#ef4444;color:#fff;border:none;border-radius:50%;width:24px;height:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;transition:all .2s ease}.clear-search:hover{background:#dc2626;transform:translateY(-50%) scale(1.1)}.search-results-count{display:block;margin-top:.5rem;padding:.5rem .75rem;border-radius:.375rem;font-size:.875rem;font-weight:600;background:#dbeafe;color:#1e40af}.no-results{display:block;margin-top:.5rem;color:#dc2626;font-weight:500;font-size:.875rem}.form-group select{width:100%;padding:.75rem;border:2px solid #e5e7eb;border-radius:.5rem;font-size:1rem;transition:border-color .3s ease}.form-group select:focus{outline:none;border-color:#3b82f6}.permissions-editor{margin:1.5rem 0}.presets{margin-bottom:2rem;padding:1.5rem;background:#f9fafb;border-radius:.75rem}.presets label{display:block;margin-bottom:.75rem;color:#374151;font-weight:600}.preset-buttons{display:flex;gap:.75rem;flex-wrap:wrap}.preset-buttons button{padding:.5rem 1rem;border:2px solid #e5e7eb;border-radius:.5rem;background:#fff;font-weight:600;cursor:pointer;transition:all .2s ease}.preset-buttons button:hover{border-color:#3b82f6;background:#eff6ff;transform:translateY(-2px)}.permissions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:1.5rem}.permission-group{background:#f9fafb;padding:1.5rem;border-radius:.75rem;border:2px solid #e5e7eb}.permission-group h4{margin:0 0 1rem;color:#1e3a8a;font-size:1.125rem;padding-bottom:.75rem;border-bottom:2px solid #e5e7eb}.permission-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;margin-bottom:.5rem;background:#fff;border-radius:.5rem;cursor:pointer;transition:all .2s ease}.permission-item:hover{background:#eff6ff;transform:translate(5px)}.permission-item input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#3b82f6}.permission-item span{color:#374151;font-size:.95rem;-webkit-user-select:none;user-select:none}.permission-item input:checked+span{color:#1e3a8a;font-weight:600}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem;border-top:2px solid #e5e7eb}.btn-cancel,.btn-save{padding:.75rem 2rem;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:1rem}.btn-cancel{background:#e5e7eb;color:#374151}.btn-cancel:hover{background:#d1d5db}.btn-save{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.btn-save:hover{transform:translateY(-2px);box-shadow:0 8px 20px #3b82f666}.loading{text-align:center;padding:3rem;color:#6c757d;font-size:1.125rem}@media (max-width: 768px){.admin-mgmt-header{flex-direction:column;gap:1rem;align-items:flex-start}.admin-card{flex-direction:column;align-items:flex-start;gap:1rem}.admin-actions{width:100%}.permissions-grid{grid-template-columns:1fr}.preset-buttons{flex-direction:column}.preset-buttons button{width:100%}}.admin-dashboard{min-height:100vh;background:#f8f9fa}.admin-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem}.spinner{width:60px;height:60px;border:4px solid #e9ecef;border-top-color:var(--primary-blue);border-radius:50%;animation:spin .8s linear infinite}.admin-header{background:linear-gradient(135deg,var(--primary-blue),var(--accent-blue));color:#fff;padding:2rem;box-shadow:0 4px 20px #1e3a8a33}.header-content{max-width:1600px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.admin-header h1{font-size:2rem;font-weight:800;margin:0 0 .5rem;color:#fff}.admin-header p{margin:0;font-size:1.125rem;color:#fffffff2}.admin-user-info{background:#fff3;padding:.75rem 1.5rem;border-radius:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-weight:600}.stats-grid{max-width:1600px;margin:-2rem auto 2rem;padding:0 2rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.stat-card{background:#fff;padding:1.5rem;border-radius:1rem;box-shadow:0 2px 10px #00000014;display:flex;align-items:center;gap:1.5rem;border-left:4px solid var(--primary-blue);transition:all .3s ease}.stat-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #1e3a8a26}.stat-card.pending{border-left-color:var(--golden-accent)}.stat-card.approved{border-left-color:#28a745}.stat-card.rejected{border-left-color:#dc3545}.stat-icon{font-size:3rem;width:70px;height:70px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-blue),var(--accent-blue));border-radius:1rem;box-shadow:0 4px 15px #1e3a8a33}.stat-card.pending .stat-icon{background:linear-gradient(135deg,var(--golden-accent),#fbbf24)}.stat-card.approved .stat-icon{background:linear-gradient(135deg,#28a745,#20c997)}.stat-card.rejected .stat-icon{background:linear-gradient(135deg,#dc3545,#e74c3c)}.stat-info h3{font-size:2.5rem;font-weight:800;color:var(--primary-blue);margin:0 0 .25rem}.stat-info p{font-size:1rem;color:#6c757d;margin:0;font-weight:600}.admin-tabs{max-width:1600px;margin:0 auto 2rem;padding:0 2rem;display:flex;gap:1rem;border-bottom:2px solid #e9ecef}.admin-tabs button{background:none;border:none;padding:1rem 2rem;font-size:1rem;font-weight:600;color:#6c757d;cursor:pointer;border-bottom:3px solid transparent;transition:all .3s ease;position:relative;bottom:-2px}.admin-tabs button:hover{color:var(--primary-blue)}.admin-tabs button.tab-active{color:var(--primary-blue);border-bottom-color:var(--accent-blue)}.search-box{position:relative;margin-bottom:1.5rem;max-width:600px}.search-input{width:100%;padding:1rem 3rem 1rem 1.5rem;border:2px solid #e9ecef;border-radius:.75rem;font-size:1rem;transition:all .3s ease;background:#fff}.search-input:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px #3b82f61a}.clear-search{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:#e9ecef;border:none;width:2rem;height:2rem;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:#6c757d;transition:all .2s ease}.clear-search:hover{background:#dc3545;color:#fff}.no-results{text-align:center;padding:3rem;color:#6c757d;background:#fff;border-radius:1rem;box-shadow:0 2px 10px #00000014}.no-results p{font-size:1.125rem;margin:0}.admin-content{max-width:1600px;margin:0 auto;padding:0 2rem 3rem}.admin-content h2{font-size:1.75rem;font-weight:700;color:var(--primary-blue);margin-bottom:1.5rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header h2{margin:0}.section-actions{display:flex;gap:1rem}.btn-approve-all{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-weight:600;font-size:1rem;cursor:pointer;display:flex;align-items:center;gap:.5rem;box-shadow:0 2px 10px #28a7454d;transition:all .3s ease}.btn-approve-all:hover{background:linear-gradient(135deg,#20c997,#28a745);box-shadow:0 4px 20px #28a74566;transform:translateY(-2px)}.btn-approve-all:active{transform:translateY(0)}.empty-state{background:#fff;padding:4rem 2rem;border-radius:1rem;text-align:center;box-shadow:0 2px 10px #00000014}.empty-icon{font-size:5rem;display:block;margin-bottom:1rem;opacity:.5}.empty-state p{font-size:1.125rem;color:#6c757d;margin:0}.users-list{display:flex;flex-direction:column;gap:1.5rem}.user-card{background:#fff;padding:2rem;border-radius:1rem;box-shadow:0 2px 10px #00000014;border-left:4px solid var(--primary-blue)}.user-card.pending-card{border-left-color:var(--golden-accent)}.user-info{display:flex;gap:1.5rem;margin-bottom:1.5rem}.user-avatar{width:80px;height:80px;background:linear-gradient(135deg,var(--primary-blue),var(--accent-blue));border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.75rem;font-weight:700;flex-shrink:0}.user-details h3{font-size:1.5rem;font-weight:700;color:var(--primary-blue);margin:0 0 .5rem}.user-details p{margin:.25rem 0;color:#6c757d;font-size:1rem}.badge{display:inline-block;padding:.375rem .75rem;border-radius:2rem;font-size:.875rem;font-weight:600;margin-top:.5rem}.badge-istituzionale{background:#e3f2fd;color:#1976d2}.badge-generica{background:#fff3cd;color:#856404}.documents-section{background:#f8f9fa;padding:1.5rem;border-radius:.75rem;margin-bottom:1.5rem}.documents-section h4{font-size:1.125rem;font-weight:700;color:var(--primary-blue);margin:0 0 1rem}.document-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.doc-btn{background:#fff;border:2px solid #e9ecef;padding:.75rem 1rem;border-radius:.5rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;color:var(--primary-blue)}.doc-btn:hover{border-color:var(--accent-blue);background:#f0f7ff;transform:translateY(-2px)}.user-actions{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.btn-approve,.btn-reject{padding:1rem 2rem;border:none;border-radius:.75rem;font-size:1.125rem;font-weight:700;cursor:pointer;transition:all .3s ease}.btn-approve{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;box-shadow:0 4px 15px #28a7454d}.btn-approve:hover{transform:translateY(-2px);box-shadow:0 6px 20px #28a74566}.btn-reject{background:linear-gradient(135deg,#dc3545,#e74c3c);color:#fff;box-shadow:0 4px 15px #dc35454d}.btn-reject:hover{transform:translateY(-2px);box-shadow:0 6px 20px #dc354566}.users-table-container{background:#fff;border-radius:1rem;box-shadow:0 2px 10px #00000014;overflow:hidden}.users-table{width:100%;border-collapse:collapse}.users-table thead{background:linear-gradient(135deg,var(--primary-blue),var(--accent-blue));color:#fff}.users-table th{padding:1rem;text-align:left;font-weight:700;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.users-table td{padding:1rem;border-bottom:1px solid #e9ecef}.users-table tbody tr:hover{background:#f8f9fa}.users-table tbody tr.clickable-row{cursor:pointer;transition:all .2s ease}.users-table tbody tr.clickable-row:hover{background:#e0f2fe;transform:translate(2px)}.users-table tbody tr.clickable-row:active{transform:translate(0)}.table-user{display:flex;align-items:center;gap:.75rem}.table-avatar{width:40px;height:40px;background:linear-gradient(135deg,var(--primary-blue),var(--accent-blue));border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.875rem;font-weight:700}.table-badge{display:inline-block;padding:.25rem .75rem;border-radius:1rem;font-size:.8rem;font-weight:600}.table-badge.status-approved{background:#d4edda;color:#155724}.table-badge.status-pending{background:#fff3cd;color:#856404}.table-badge.status-rejected{background:#f8d7da;color:#721c24}.table-actions{display:flex;gap:.5rem}.table-btn{width:36px;height:36px;border:none;border-radius:.5rem;font-size:1rem;cursor:pointer;transition:all .3s ease}.table-btn.approve{background:#d4edda}.table-btn.approve:hover{background:#28a745;transform:scale(1.1)}.table-btn.reject{background:#f8d7da}.table-btn.reject:hover{background:#dc3545;transform:scale(1.1)}.table-btn.ban{background:#ffe5e5}.table-btn.ban:hover{background:#f44;transform:scale(1.1)}.table-btn.unban{background:#e0f7fa}.table-btn.unban:hover{background:#00acc1;transform:scale(1.1)}.table-btn.delete{background:#ffebee;color:#c62828}.table-btn.delete:hover{background:#d32f2f;color:#fff;transform:scale(1.1)}.table-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.table-badge.ban-active{background:linear-gradient(135deg,#d4edda,#c3e6cb);color:#155724;border:1px solid #28a745}.table-badge.ban-banned{background:linear-gradient(135deg,#f8d7da,#f5c6cb);color:#721c24;border:1px solid #dc3545;font-weight:600}@media (min-width: 768px) and (max-width: 1440px){.admin-header{padding:1.5rem}.admin-header h1{font-size:1.75rem}.admin-header p{font-size:.95rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem;padding:0 1.5rem;overflow:visible}.stat-card{padding:1.25rem}.stat-icon{width:55px;height:55px;font-size:2.25rem}.stat-info h3{font-size:2.25rem}.stat-label{font-size:.9rem}.admin-tabs{padding:0 1.5rem;overflow-x:auto;overflow-y:hidden;gap:.75rem;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.admin-tabs::-webkit-scrollbar{height:4px}.admin-tabs::-webkit-scrollbar-thumb{background:#ddd;border-radius:4px}.admin-tabs button{padding:.85rem 1.25rem;font-size:.95rem;white-space:nowrap}.admin-content{padding:1.5rem}.search-box{max-width:100%}.search-input{font-size:.95rem;padding:.85rem 3rem .85rem 1.25rem}.users-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.users-table{min-width:900px}.users-table th,.users-table td{padding:.85rem;font-size:.9rem}.user-avatar{width:42px;height:42px;font-size:1rem}.user-name{font-size:.95rem}.user-email{font-size:.85rem}.user-actions{gap:.5rem}.action-button{padding:.5rem .85rem;font-size:.85rem}}@media (max-width: 767px){.admin-header{padding:1.5rem 1rem}.header-content{flex-direction:column;align-items:flex-start;gap:1rem}.admin-header h1{font-size:1.5rem}.stats-grid{grid-template-columns:1fr;margin:-1rem auto 1.5rem;padding:0 1rem}.admin-tabs{padding:0 1rem;flex-wrap:wrap}.admin-tabs button{padding:.75rem 1rem;font-size:.9rem}.admin-content{padding:0 1rem 2rem}.user-info{flex-direction:column;align-items:center;text-align:center}.user-actions,.document-buttons{grid-template-columns:1fr}.users-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -1rem;padding:0 1rem}.users-table{min-width:700px}}@media (max-width: 480px){.stat-card{padding:1rem}.stat-icon{width:50px;height:50px;font-size:2rem}.stat-info h3{font-size:2rem}.user-avatar{width:60px;height:60px;font-size:1.25rem}.admin-header h1{font-size:1.35rem}.admin-tabs button{padding:.65rem .85rem;font-size:.85rem}}.admin-import-users{padding:2rem;max-width:1400px;margin:0 auto}.import-header{margin-bottom:2rem}.import-header h1{margin:0 0 .5rem;color:#1e3a8a;font-size:2rem}.import-header p{color:#64748b;margin:0 0 1rem}.search-filter{position:relative;margin:1.5rem 0}.search-input{width:100%;padding:1rem 3rem 1rem 1rem;font-size:1rem;border:2px solid #cbd5e1;border-radius:8px;background:#fff;transition:all .2s}.search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.search-input::placeholder{color:#94a3b8}.clear-search{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:#94a3b8;border:none;color:#fff;width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .2s}.clear-search:hover{background:#64748b}.group-selector{margin:1.5rem 0;padding:1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 6px #0000001a}.group-controls{display:flex;align-items:center;justify-content:center;gap:2rem}.group-nav-btn{padding:.75rem 1.5rem;background:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;color:#667eea}.group-nav-btn:hover:not(:disabled){background:#f0f4ff;transform:scale(1.05)}.group-nav-btn:disabled{opacity:.3;cursor:not-allowed}.group-info{display:flex;align-items:center;gap:1rem;background:#fff;padding:.75rem 1.5rem;border-radius:8px}.group-info label{font-weight:600;color:#475569}.group-select{padding:.5rem 1rem;border:2px solid #cbd5e1;border-radius:6px;font-size:1rem;font-weight:600;color:#1e3a8a;cursor:pointer;background:#fff}.group-count{color:#64748b;font-weight:600}.stats-bar{display:flex;gap:2rem;margin-top:1rem;padding:1rem;background:#f8fafc;border-radius:8px}.stats-bar .stat{color:#475569}.stats-bar .stat strong{color:#1e3a8a;font-size:1.2rem}.import-actions{display:flex;gap:1rem;margin-bottom:2rem}.select-all-btn{padding:.75rem 1.5rem;background:#fff;border:2px solid #cbd5e1;border-radius:8px;cursor:pointer;font-weight:600;color:#475569;transition:all .2s}.select-all-btn:hover{background:#f8fafc;border-color:#94a3b8}.import-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,#7c3aed,#5b21b6);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:1rem;transition:all .2s}.import-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #7c3aed4d}.import-btn:disabled{background:#cbd5e1;cursor:not-allowed}.users-list{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.users-list table{width:100%;border-collapse:collapse}.users-list th{background:#f1f5f9;padding:1rem;text-align:left;font-weight:600;color:#475569;border-bottom:2px solid #e2e8f0}.users-list td{padding:.75rem 1rem;border-bottom:1px solid #f1f5f9}.users-list tbody tr{cursor:pointer;transition:background .15s}.users-list tbody tr:hover{background:#f8fafc}.users-list tbody tr.selected{background:#ede9fe}.users-list input[type=checkbox]{cursor:pointer;width:18px;height:18px}.import-progress{background:#f8fafc;padding:1.5rem;border-radius:8px;margin-bottom:2rem}.progress-info{display:flex;justify-content:space-between;margin-bottom:.5rem;font-weight:600;color:#475569}.progress-bar{height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#7c3aed,#5b21b6);transition:width .3s}.import-results{margin-top:2rem;background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 1px 3px #0000001a}.import-results h3{margin:0 0 1rem;color:#1e3a8a}.import-results table{width:100%;border-collapse:collapse}.import-results th{background:#f1f5f9;padding:.75rem;text-align:left;font-weight:600;color:#475569;border-bottom:2px solid #e2e8f0}.import-results td{padding:.75rem;border-bottom:1px solid #f1f5f9}.import-results tr.success{background:#f0fdf4}.import-results tr.error{background:#fef2f2;color:#991b1b}.no-users{text-align:center;padding:4rem 2rem;background:#f0fdf4;border-radius:12px;color:#15803d}.no-users h3{margin:0 0 .5rem;font-size:1.5rem}.admin-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.spinner{border:3px solid #e2e8f0;border-top-color:#7c3aed;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s}.modal-content{background:#fff;border-radius:16px;max-width:600px;width:90%;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{padding:2rem 2rem 1rem;border-bottom:2px solid #f1f5f9}.modal-header h3{margin:0;color:#1e3a8a;font-size:1.5rem}.modal-body{padding:2rem}.modal-body p{margin:0 0 1rem;color:#475569;font-size:1.1rem}.modal-info{background:#f8fafc;padding:1.5rem;border-radius:8px;border-left:4px solid #7c3aed;margin-top:1rem}.modal-info p{margin:0 0 .5rem;color:#1e3a8a;font-weight:600}.modal-info ul{margin:.5rem 0 0;padding-left:1.5rem}.modal-info li{margin:.5rem 0;color:#475569;line-height:1.6}.modal-actions{padding:1.5rem 2rem 2rem;display:flex;gap:1rem;justify-content:flex-end}.btn-cancel{padding:.75rem 1.5rem;background:#fff;border:2px solid #cbd5e1;border-radius:8px;cursor:pointer;font-weight:600;color:#475569;transition:all .2s}.btn-cancel:hover{background:#f8fafc;border-color:#94a3b8}.btn-confirm{padding:.75rem 1.5rem;background:linear-gradient(135deg,#7c3aed,#5b21b6);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s}.btn-confirm:hover{transform:translateY(-2px);box-shadow:0 4px 12px #7c3aed66}.import-results{margin-top:3rem}.import-results h3{color:#1e3a8a;margin-bottom:2rem;font-size:1.5rem}.results-section{margin-bottom:2rem;padding:1.5rem;border-radius:12px}.success-section{background:#f0fdf4;border:2px solid #86efac}.success-section h4{color:#15803d;margin:0 0 1rem}.error-section{background:#fef2f2;border:2px solid #fca5a5}.error-section h4{color:#dc2626;margin:0 0 1rem}.results-section table{width:100%;background:#fff;border-radius:8px;overflow:hidden}.results-section table th{background:#f8fafc;padding:.75rem;text-align:left;font-weight:600;color:#475569;border-bottom:2px solid #e2e8f0}.results-section table td{padding:.75rem;border-bottom:1px solid #f1f5f9}.results-section tbody tr.success,.results-section tbody tr.error{background:#fff}.results-section tbody tr:hover{background:#f8fafc}.profile-container{min-height:calc(100vh - 80px);background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem 0;width:100%;overflow-x:hidden;box-sizing:border-box}.profile-wrapper{max-width:1000px;margin:0 auto;width:100%;padding:0;box-sizing:border-box}.loading-spinner,.error-message{text-align:center;padding:3rem;background:#fff;border-radius:16px;box-shadow:0 10px 30px #0000001a}.spinner{border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.profile-header{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 10px 30px #0000001a;display:flex;align-items:center;gap:2rem;margin:0 1rem 2rem;box-sizing:border-box}.profile-avatar{flex-shrink:0}.avatar-circle{width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-weight:700;color:#fff;text-transform:uppercase;box-shadow:0 5px 15px #667eea4d}.profile-info h1{margin:0 0 .5rem;font-size:2rem;color:#1a202c}.profile-email{color:#718096;margin:0 0 1rem;font-size:1.1rem}.profile-badges{display:flex;gap:.75rem;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:8px;font-size:.9rem;font-weight:600;white-space:nowrap}.badge-pending{background:#fef3c7;color:#92400e}.badge-approved{background:#d1fae5;color:#065f46}.badge-rejected{background:#fee2e2;color:#991b1b}.badge-institutional{background:#dbeafe;color:#1e40af}.badge-personal{background:#e0e7ff;color:#4338ca}.message-alert{padding:1rem 1.5rem;border-radius:12px;margin-bottom:1.5rem;font-weight:500;animation:slideDown .3s ease}.message-alert.success{background:#d1fae5;color:#065f46;border-left:4px solid #10b981}.message-alert.error{background:#fee2e2;color:#991b1b;border-left:4px solid #ef4444}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.profile-tabs{background:#fff;border-radius:16px;padding:.5rem;display:flex;gap:.5rem;margin:0 1rem 2rem;box-shadow:0 5px 15px #0000000d;overflow-x:auto;box-sizing:border-box}.tab-button{flex:1;min-width:150px;padding:.875rem 1rem;background:transparent;border:none;border-radius:12px;font-size:1rem;font-weight:600;color:#64748b;cursor:pointer;transition:all .3s ease;white-space:nowrap}.tab-button:hover{background:#f1f5f9;color:#475569}.tab-button.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.profile-content{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 10px 30px #0000001a;margin:0 1rem;box-sizing:border-box}.tab-panel h2{margin:0 0 1.5rem;font-size:1.75rem;color:#1a202c}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;margin-bottom:2rem;width:100%}.info-card{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:#f8fafc;border-radius:12px;border:2px solid #e2e8f0;transition:all .3s ease;max-width:100%;box-sizing:border-box}.info-card:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea1a}.info-icon{font-size:2rem;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:10px;flex-shrink:0}.info-details{flex:1;min-width:0}.info-details label{display:block;font-size:.875rem;color:#64748b;margin-bottom:.25rem;font-weight:500}.info-details p{margin:0;font-size:1rem;font-weight:600;color:#1e293b;overflow:hidden;text-overflow:ellipsis}.warning-box,.success-box,.error-box{padding:1.5rem;border-radius:12px;margin-top:2rem}.warning-box{background:#fef3c7;border-left:4px solid #f59e0b}.success-box{background:#d1fae5;border-left:4px solid #10b981}.error-box{background:#fee2e2;border-left:4px solid #ef4444}.warning-box h3,.success-box h3,.error-box h3{margin:0 0 .75rem;font-size:1.25rem}.warning-box p,.success-box p,.error-box p{margin:0;line-height:1.6}.edit-form,.password-form{max-width:600px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-bottom:1.25rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#374151}.form-group input{width:100%;padding:.875rem;border:2px solid #e5e7eb;border-radius:10px;font-size:1rem;transition:all .3s ease}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled{background:#f9fafb;color:#6b7280;cursor:not-allowed}.form-info{background:#f8fafc;padding:1rem;border-radius:10px;margin-bottom:1.5rem}.form-info p{margin:.5rem 0;color:#475569}.form-info strong{color:#1e293b}.form-actions{display:flex;gap:1rem;margin-top:2rem}.btn-primary,.btn-secondary{padding:.875rem 2rem;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#e5e7eb;color:#374151}.btn-secondary:hover:not(:disabled){background:#d1d5db}.password-requirements{background:#f8fafc;padding:1.25rem;border-radius:10px;margin:1.5rem 0}.password-requirements h4{margin:0 0 .75rem;font-size:1rem;color:#374151}.password-requirements ul{list-style:none;padding:0;margin:0}.password-requirements li{padding:.5rem 0;color:#6b7280;transition:color .3s ease}.password-requirements li.valid{color:#10b981;font-weight:600}.completion-status h3{margin:0 0 1rem;font-size:1.5rem;color:#1a202c}.checklist{margin:1.5rem 0}.checklist-item{padding:1rem;margin-bottom:.75rem;background:#f8fafc;border-radius:10px;border-left:4px solid #e5e7eb;font-weight:500;transition:all .3s ease}.checklist-item.completed{background:#d1fae5;border-left-color:#10b981;color:#065f46}.info-note{background:#dbeafe;padding:1rem;border-radius:10px;margin-top:2rem;border-left:4px solid #3b82f6}.info-note p{margin:0;color:#1e40af;line-height:1.6}.qr-container{display:flex;justify-content:center;align-items:center;padding:2rem 0}.qr-card{background:#fff;border-radius:1.5rem;padding:2.5rem;box-shadow:0 10px 40px #00000026;max-width:450px;width:100%;text-align:center;border:3px solid var(--primary-blue)}.qr-header{margin-bottom:2rem}.qr-header h3{font-size:1.75rem;font-weight:800;color:var(--primary-blue);margin:0 0 .5rem}.qr-header p{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0 0 1rem}.qr-code-wrapper{background:#fff;padding:1.5rem;border-radius:1rem;box-shadow:0 4px 15px #0000001a;display:inline-block;margin-bottom:2rem}.qr-info{margin-bottom:2rem}.qr-corpo{font-size:1.125rem;font-weight:700;color:var(--primary-blue);margin:0 0 .5rem}.qr-id{font-size:.875rem;color:var(--text-secondary);font-family:Courier New,monospace;margin:0}.qr-usage{background:#f8fafc;padding:1.5rem;border-radius:1rem;margin-bottom:1.5rem;text-align:left}.qr-usage h4{margin:0 0 1rem;font-size:1.125rem;color:var(--primary-blue)}.qr-usage ol{margin:0;padding-left:1.5rem}.qr-usage li{margin-bottom:.75rem;line-height:1.6;color:var(--text-primary)}@media print{.profile-header,.profile-tabs,.qr-usage,.btn{display:none!important}.qr-card{box-shadow:none;border:2px solid #000;page-break-inside:avoid}.qr-code-wrapper{box-shadow:none}}.documents-info{background:#e7f3ff;border-left:4px solid #0d6efd;padding:1.5rem;border-radius:8px;margin-bottom:2rem}.documents-info p{margin:.5rem 0;color:#004085;line-height:1.6}.documents-info strong{font-weight:600;color:#002a5c}.info-text{font-size:.95rem;margin-top:1rem!important}.required-mark{color:#dc3545;font-weight:700;margin-left:.25rem}.no-documents{text-align:center;padding:3rem;background:#fff3cd;border-radius:12px;border:2px dashed #ffc107}.no-documents p{margin:0;font-size:1.1rem;color:#856404}.documents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem;margin-bottom:2rem}.document-card{background:#fff;border-radius:12px;border:2px solid #e0e0e0;padding:1.5rem;transition:all .3s ease}.document-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.document-card.required{border-color:#ffc107;background:linear-gradient(to bottom,#fff9e6,#fff)}.document-card.optional{border-color:#e0e0e0}.document-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #f0f0f0}.document-icon{font-size:2.5rem;flex-shrink:0}.document-header h4{margin:0 0 .25rem;font-size:1.1rem;color:#333;font-weight:600}.document-type{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;background:#e0e0e0;color:#666}.document-card.required .document-type{background:#fff3cd;color:#856404}.document-body{display:flex;flex-direction:column;gap:1rem}.document-status{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:8px;font-weight:500}.document-status.uploaded{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.document-status.missing{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.status-icon{font-size:1.2rem}.document-actions{display:flex;gap:.75rem}.btn-view,.btn-replace,.btn-upload{flex:1;padding:.75rem 1rem;border-radius:8px;border:none;font-weight:600;cursor:pointer;transition:all .2s;text-align:center;font-size:.9rem}.btn-view{background:linear-gradient(135deg,#0d6efd,#0b5ed7);color:#fff}.btn-view:hover{background:linear-gradient(135deg,#0b5ed7,#0a58ca);transform:translateY(-2px);box-shadow:0 4px 12px #0d6efd4d}.btn-replace{background:linear-gradient(135deg,#ffc107,#ff9800);color:#000;display:flex;align-items:center;justify-content:center}.btn-replace:hover{background:linear-gradient(135deg,#ff9800,#f57c00);transform:translateY(-2px);box-shadow:0 4px 12px #ff98004d}.btn-upload{background:linear-gradient(135deg,#28a745,#218838);color:#fff;width:100%;display:flex;align-items:center;justify-content:center}.btn-upload:hover:not(:disabled){background:linear-gradient(135deg,#218838,#1e7e34);transform:translateY(-2px);box-shadow:0 4px 12px #28a7454d}.btn-upload:disabled{opacity:.6;cursor:not-allowed}.documents-footer{margin-top:2rem}.info-box{background:#f8f9fa;border-left:4px solid #6c757d;padding:1.5rem;border-radius:8px}.info-box h4{margin:0 0 1rem;color:#495057;font-size:1.1rem}.info-box ul{margin:0;padding-left:1.5rem}.info-box li{margin:.5rem 0;color:#6c757d;line-height:1.6}@media (max-width: 768px){.profile-container{padding:1rem 0}.profile-wrapper{padding:0;max-width:100%}.profile-header{flex-direction:column;text-align:center;padding:1.5rem 1rem;margin:0 1rem 1rem}.profile-info h1{font-size:1.5rem}.profile-tabs{flex-wrap:nowrap;overflow-x:auto;margin:0 1rem 1rem}.tab-button{min-width:120px;padding:.75rem;font-size:.9rem}.profile-content{padding:1.5rem 1rem;margin:0 1rem}.info-grid{grid-template-columns:1fr;gap:1rem;width:100%}.info-card{padding:1rem;max-width:100%;margin:0}.info-icon{width:45px;height:45px;font-size:1.5rem}.info-details label{font-size:.8rem}.info-details p{font-size:.95rem}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}.documents-grid{grid-template-columns:1fr}.document-actions{flex-direction:column}.btn-view,.btn-replace{width:100%}}.partners-page{min-height:100vh;background:#f8f9fa}.verification-required{padding:4rem 0;background:linear-gradient(135deg,#f0f7ff,#e6f2ff)}.verification-message{background:#fff;border-radius:1.5rem;padding:3rem;text-align:center;box-shadow:0 8px 30px #1e3a8a1a;border:2px solid #e0f2fe;max-width:700px;margin:0 auto}.verification-icon{font-size:5rem;margin-bottom:1.5rem;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.verification-message h2{color:var(--primary-blue);font-size:2rem;font-weight:800;margin-bottom:1rem}.verification-message>p{color:var(--text-secondary);font-size:1.125rem;line-height:1.6;margin-bottom:2.5rem}.verification-steps{display:flex;justify-content:center;gap:2rem;margin-bottom:2rem}.step{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:#f0f7ff;border-radius:.75rem;min-width:120px;transition:all .3s}.step.disabled{opacity:.4}.step-icon{font-size:2.5rem}.step span:last-child{font-size:.875rem;font-weight:600;color:var(--primary-blue);text-align:center}.verification-note{background:linear-gradient(135deg,#fff7ed,#ffe8cc);border-left:4px solid #fb923c;padding:1rem 1.5rem;border-radius:.5rem;font-size:1rem;color:#9a3412;margin:0}.partners-hero{background:linear-gradient(135deg,var(--primary-blue) 0%,var(--accent-blue) 100%);color:#fff;padding:4rem 0 3rem;text-align:center}.partners-hero-title{font-size:3rem;font-weight:900;margin-bottom:1rem;text-shadow:0 2px 10px rgba(0,0,0,.2)}.partners-hero-subtitle{font-size:1.25rem;opacity:.95;margin-bottom:2rem}.partners-search{max-width:600px;margin:0 auto}.search-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:1.25rem;font-size:1.25rem;z-index:1}.search-input{width:100%;padding:1rem 1rem 1rem 3.5rem;border:none;border-radius:3rem;font-size:1rem;box-shadow:0 8px 30px #00000026;transition:all .3s}.search-input:focus{outline:none;box-shadow:0 8px 40px #00000040;transform:translateY(-2px)}.featured-section{padding:4rem 0;background:#fff}.section-title{text-align:center;font-size:2rem;font-weight:800;color:var(--golden-accent);margin-bottom:2.5rem}.featured-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.featured-card{position:relative;background:#fff;border-radius:1.5rem;padding:2rem;box-shadow:0 4px 20px #b8860b26;border:2px solid var(--golden-accent);cursor:pointer;transition:all .3s;overflow:hidden}.featured-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);transition:left .5s}.featured-card:hover:before{left:100%}.featured-card:hover{transform:translateY(-10px);box-shadow:0 12px 40px #b8860b4d}.featured-badge{position:absolute;top:1rem;right:1rem;background:var(--golden-accent);color:#fff;padding:.375rem .875rem;border-radius:1.5rem;font-size:.75rem;font-weight:700;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.featured-logo{font-size:4rem;text-align:center;margin-bottom:1.5rem;filter:drop-shadow(0 4px 10px rgba(0,0,0,.1))}.featured-content{text-align:center}.featured-content h3{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.featured-categoria{color:var(--text-secondary);font-size:.875rem;margin-bottom:.75rem}.featured-sconto{color:var(--golden-accent);font-weight:800;font-size:1.125rem;margin:0}.filter-section{padding:2rem 0;background:#fff;border-top:1px solid var(--border);border-bottom:1px solid var(--border);position:sticky;top:80px;z-index:50;box-shadow:0 4px 12px #0000000d}.category-filter{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.category-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:2px solid var(--border);background:#fff;border-radius:2rem;cursor:pointer;transition:all .3s;font-weight:600;color:var(--text-primary)}.category-btn:hover{border-color:var(--primary-blue);background:var(--bg-secondary);transform:translateY(-2px)}.category-btn.active{background:var(--gradient-primary);color:#fff;border-color:var(--primary-blue);box-shadow:0 4px 15px #2d50164d}.category-icon{font-size:1.25rem}.category-name{font-size:.875rem}.partners-grid-section{padding:4rem 0}.results-header{text-align:center;margin-bottom:3rem}.results-header h2{font-size:2rem;font-weight:800;color:var(--primary-blue);margin-bottom:.5rem}.results-count{color:var(--text-secondary);font-size:1rem}.partners-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem}.partner-card{background:#fff;border-radius:1.25rem;overflow:hidden;box-shadow:0 4px 20px #00000014;transition:all .3s;cursor:pointer}.partner-card:hover{transform:translateY(-8px);box-shadow:0 12px 40px #00000026}.partner-logo-wrapper{background:var(--gradient-primary);padding:2.5rem;display:flex;align-items:center;justify-content:center;min-height:180px}.partner-logo{font-size:5rem;filter:drop-shadow(0 4px 10px rgba(0,0,0,.2))}.partner-info{padding:1.75rem}.partner-categoria{margin-bottom:.75rem;display:inline-block}.partner-nome{font-size:1.5rem;margin:0 0 .75rem;color:var(--text-primary);font-weight:700}.partner-descrizione{color:var(--text-secondary);line-height:1.6;margin-bottom:1.25rem;font-size:.9375rem}.partner-sconto{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--gradient-gold);border-radius:.75rem;margin-bottom:1.25rem}.sconto-icon{font-size:1.75rem}.sconto-text{font-weight:700;color:#fff;font-size:1.125rem}.no-results{text-align:center;padding:5rem 2rem;background:#fff;border-radius:1.5rem;box-shadow:0 4px 20px #00000014}.no-results-icon{font-size:5rem;margin-bottom:1.5rem}.no-results h3{font-size:1.75rem;color:var(--text-primary);margin-bottom:.75rem}.no-results p{color:var(--text-secondary);margin-bottom:2rem;font-size:1.125rem}.partners-cta{padding:5rem 0;background:linear-gradient(135deg,var(--primary-blue) 0%,var(--accent-blue) 100%)}.cta-card{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:1.5rem;padding:3rem;text-align:center;color:#fff;border:2px solid rgba(255,255,255,.2)}.cta-card h2{font-size:2.5rem;font-weight:900;margin-bottom:1rem}.cta-card p{font-size:1.125rem;opacity:.95;margin-bottom:2rem;max-width:600px;margin-left:auto;margin-right:auto}.partner-detail{display:flex;flex-direction:column;gap:2rem}.detail-logo{font-size:6rem;text-align:center;padding:2.5rem;background:var(--gradient-primary);border-radius:1.25rem;margin:-2rem -1.5rem 0}.detail-info{text-align:center}.detail-info h3{font-size:2rem;margin:1rem 0;color:var(--primary-blue);font-weight:800}.detail-descrizione{color:var(--text-secondary);line-height:1.8;font-size:1.125rem}.detail-sconto-box{background:var(--gradient-gold);padding:2rem;border-radius:1.25rem;text-align:center}.sconto-badge{display:flex;align-items:center;justify-content:center;gap:1.5rem}.sconto-badge .sconto-icon{font-size:3rem}.sconto-label{color:#fff;font-size:.875rem;margin:0;opacity:.9}.sconto-value{color:#fff;font-size:2rem;font-weight:900;margin:.25rem 0 0}.detail-instructions{background:var(--bg-secondary);padding:1.75rem;border-radius:1rem}.detail-instructions h4{margin:0 0 1rem;color:var(--primary-blue);font-size:1.125rem}.detail-instructions ol{margin:0;padding-left:1.5rem}.detail-instructions li{margin-bottom:.75rem;line-height:1.6;color:var(--text-primary)}.detail-actions{margin-top:1rem}@media (max-width: 768px){.partners-hero-title{font-size:2rem}.partners-hero-subtitle{font-size:1rem}.verification-message{padding:2rem 1.5rem}.verification-icon{font-size:3.5rem}.verification-message h2{font-size:1.5rem}.verification-message>p{font-size:1rem}.verification-steps{flex-direction:column;gap:1rem}.step{min-width:auto;width:100%}.featured-grid{grid-template-columns:1fr}.category-filter{overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;padding-bottom:.5rem}.partners-grid{grid-template-columns:1fr}.cta-card h2{font-size:1.75rem}.detail-logo{font-size:4rem;margin:-1.5rem -1rem 0}}.document-viewer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:fadeIn .2s ease-out}.document-viewer-modal{background:#fff;border-radius:16px;width:100%;max-width:1200px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out}.viewer-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:16px 16px 0 0}.viewer-title{display:flex;align-items:center;gap:12px}.viewer-icon{font-size:28px}.viewer-title h2{margin:0;font-size:20px;font-weight:600}.viewer-close{background:#fff3;border:none;color:#fff;width:40px;height:40px;border-radius:50%;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.viewer-close:hover{background:#ffffff4d;transform:scale(1.1)}.viewer-content{flex:1;overflow:hidden;position:relative;background:#f9fafb;display:flex;align-items:center;justify-content:center;min-height:400px}.viewer-loading{display:flex;flex-direction:column;align-items:center;gap:16px;color:#6b7280}.viewer-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px}.viewer-iframe{width:100%;height:600px;border:none}.viewer-unsupported{text-align:center;padding:40px}.viewer-unsupported p{font-size:18px;color:#6b7280;margin-bottom:20px}.btn-download-fallback{display:inline-block;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:12px 24px;border-radius:8px;text-decoration:none;font-weight:600;transition:transform .2s}.btn-download-fallback:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.viewer-footer{display:flex;gap:12px;padding:20px 24px;border-top:1px solid #e5e7eb;background:#fff;border-radius:0 0 16px 16px}.viewer-footer a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:8px;text-decoration:none;font-weight:600;transition:all .2s}.btn-download:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-open-new-tab{background:#f3f4f6;color:#374151;border:1px solid #e5e7eb}.btn-open-new-tab:hover{background:#e5e7eb}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.loading-spinner{width:50px;height:50px;border:4px solid #e5e7eb;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 768px){.document-viewer-modal{max-width:100%;max-height:100vh;border-radius:0}.viewer-header{border-radius:0}.viewer-footer{border-radius:0;flex-direction:column}.viewer-iframe{height:500px}}.documents-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:40px 20px}.documents-header{text-align:center;margin-bottom:30px}.documents-header h1{color:#fff;font-size:2.5rem;margin-bottom:15px;text-shadow:0 2px 10px rgba(0,0,0,.2)}.corpo-badge{display:inline-block;background:#ffffff40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:12px 24px;border-radius:50px;color:#fff;font-weight:600;font-size:1.1rem;border:2px solid rgba(255,255,255,.3);box-shadow:0 4px 15px #0000001a}.documents-subtitle{color:#fffffff2;font-size:1.1rem;margin:20px 0 30px;text-align:center;text-shadow:0 1px 3px rgba(0,0,0,.1)}.documents-search{max-width:600px;margin:0 auto 30px}.documents-search input{width:100%;padding:16px 24px;border:none;border-radius:50px;font-size:1rem;box-shadow:0 4px 20px #00000026;background:#fff;transition:all .3s ease}.documents-search input:focus{outline:none;box-shadow:0 6px 30px #00000040;transform:translateY(-2px)}.documents-search input::placeholder{color:#999}.documents-categories{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-bottom:40px;max-width:800px;margin-left:auto;margin-right:auto}.category-btn{background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.3);color:#fff;padding:12px 24px;border-radius:50px;cursor:pointer;font-size:.95rem;font-weight:600;transition:all .3s ease;display:flex;align-items:center;gap:8px}.category-btn:hover{background:#ffffff59;transform:translateY(-2px);box-shadow:0 4px 15px #0003}.category-btn.active{background:#fff;color:#667eea;border-color:#fff;box-shadow:0 4px 20px #00000040}.category-icon{font-size:1.2rem}.category-name{font-weight:600}.documents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px;max-width:1200px;margin:0 auto}.document-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 4px 20px #0000001a;transition:all .3s ease;display:flex;flex-direction:column;gap:16px}.document-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px #0003}.document-icon{font-size:3rem;text-align:center;margin-bottom:8px}.document-content{flex:1}.document-content h3{font-size:1.3rem;color:#333;margin:0 0 12px;font-weight:700}.document-description{color:#666;font-size:.95rem;line-height:1.6;margin-bottom:16px}.document-meta{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #f0f0f0;font-size:.85rem}.document-category{color:#7b1fa2;font-weight:600;background:#f3e5f5;padding:4px 12px;border-radius:12px}.document-size{color:#999;font-weight:500}.document-actions{display:flex;gap:12px}.btn-download,.btn-view{flex:1;padding:12px 20px;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;text-align:center;display:inline-block}.btn-download{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-download:hover{transform:translateY(-2px);box-shadow:0 4px 15px #667eea66}.btn-view{background:#f5f5f5;color:#333;border:none;cursor:pointer}.btn-view:hover{background:#e0e0e0;transform:translateY(-2px)}.no-documents{text-align:center;padding:60px 20px;background:#fff;border-radius:16px;max-width:600px;margin:0 auto;box-shadow:0 4px 20px #0000001a}.no-documents p{font-size:1.2rem;color:#666;margin:0}.search-hint{font-size:.95rem;color:#999;margin-top:12px}.documents-footer{max-width:800px;margin:40px auto 0;padding:24px;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;border:1px solid rgba(255,255,255,.2)}.documents-footer p{margin:0;color:#fff;font-size:.95rem;line-height:1.6;text-align:center}.documents-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:#fff}.loading-spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.documents-loading p{font-size:1.1rem;color:#ffffffe6}@media (max-width: 768px){.documents-page{padding:20px 15px}.documents-header h1{font-size:2rem}.corpo-badge{font-size:1rem;padding:10px 20px}.documents-subtitle{font-size:1rem}.documents-categories{gap:8px}.category-btn{padding:10px 16px;font-size:.9rem}.category-name{display:none}.documents-grid{grid-template-columns:1fr;gap:16px}.document-card{padding:20px}.document-icon{font-size:2.5rem}.document-content h3{font-size:1.1rem}.document-description{font-size:.9rem}.document-actions{flex-direction:column}.btn-download,.btn-view{padding:10px 16px;font-size:.9rem}}.concorsi-page{min-height:100vh;background:linear-gradient(135deg,#f0f4f8,#e2e8f0)}.concorsi-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:1rem}.loading-spinner{width:50px;height:50px;border:4px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.concorsi-hero{background:linear-gradient(135deg,#1e40af,#3b82f6);padding:4rem 2rem;text-align:center;color:#fff;box-shadow:0 10px 40px #0003}.concorsi-hero-content h1{font-size:3rem;font-weight:800;margin-bottom:1rem;text-shadow:0 2px 10px rgba(0,0,0,.3)}.concorsi-hero-content p{font-size:1.25rem;opacity:.95;max-width:700px;margin:0 auto 1.5rem}.guest-notice{background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1rem 2rem;border-radius:50px;display:inline-block;margin-top:1rem}.guest-notice p{margin:0;font-size:1rem}.guest-notice a{color:#fbbf24;font-weight:700;text-decoration:underline}.guest-notice a:hover{color:#fcd34d}.concorsi-filters{max-width:1200px;margin:2rem auto;padding:0 2rem;display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.filter-btn{background:#fff;border:2px solid #e2e8f0;padding:.75rem 1.5rem;border-radius:50px;cursor:pointer;display:flex;align-items:center;gap:.5rem;font-weight:600;color:#475569;transition:all .3s}.filter-btn:hover{border-color:#3b82f6;color:#3b82f6;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}.filter-btn.active{background:linear-gradient(135deg,#3b82f6,#1e40af);border-color:#1e40af;color:#fff;box-shadow:0 4px 12px #3b82f666}.filter-icon{font-size:1.25rem}.concorsi-container{max-width:1200px;margin:0 auto;padding:2rem}.concorsi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem}.concorso-card{background:#fff;border-radius:1rem;padding:2rem;box-shadow:0 4px 20px #0000001a;transition:all .3s;border-left:5px solid #3b82f6}.concorso-card.urgente{border-left-color:#ef4444}.concorso-card.breve{border-left-color:#f59e0b}.concorso-card.normale{border-left-color:#10b981}.concorso-card:hover{transform:translateY(-5px);box-shadow:0 10px 40px #00000026}.concorso-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.concorso-header h3{font-size:1.25rem;font-weight:700;color:#1e293b;margin:0;flex:1}.badge-scadenza{padding:.4rem .8rem;border-radius:50px;font-size:.75rem;font-weight:700;white-space:nowrap;text-transform:uppercase}.badge-scadenza.urgente{background:#fee2e2;color:#991b1b}.badge-scadenza.breve{background:#fef3c7;color:#92400e}.badge-scadenza.normale{background:#d1fae5;color:#065f46}.concorso-corpo{display:flex;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.corpo-badge{background:linear-gradient(135deg,#3b82f6,#1e40af);color:#fff;padding:.5rem 1rem;border-radius:50px;font-size:.875rem;font-weight:600}.posti-badge{background:#f1f5f9;color:#475569;padding:.5rem 1rem;border-radius:50px;font-size:.875rem;font-weight:600}.concorso-descrizione{color:#64748b;line-height:1.6;margin-bottom:1.5rem}.concorso-requisiti{background:#f8fafc;padding:1rem;border-radius:.75rem;margin-bottom:1.5rem}.concorso-requisiti strong{display:block;margin-bottom:.5rem;color:#1e293b;font-size:.875rem}.concorso-requisiti ul{margin:0;padding-left:1.25rem}.concorso-requisiti li{color:#475569;font-size:.875rem;margin-bottom:.25rem}.concorso-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-top:1px solid #e2e8f0;padding-top:1rem}.scadenza-text{font-size:.875rem;color:#64748b;font-weight:600}.btn-bando{background:linear-gradient(135deg,#3b82f6,#1e40af);color:#fff;padding:.625rem 1.25rem;border-radius:.5rem;font-weight:700;font-size:.875rem;text-decoration:none;transition:all .3s;white-space:nowrap}.btn-bando:hover{background:linear-gradient(135deg,#1e40af,#1e3a8a);transform:translate(3px);box-shadow:0 4px 12px #3b82f666}.no-concorsi{text-align:center;padding:4rem 2rem;color:#64748b;font-size:1.125rem}.concorsi-cta{background:linear-gradient(135deg,#1e40af,#3b82f6);padding:4rem 2rem;margin-top:4rem;text-align:center}.cta-content{max-width:700px;margin:0 auto}.cta-content h2{color:#fff;font-size:2.5rem;margin-bottom:1rem;font-weight:800}.cta-content p{color:#ffffffe6;font-size:1.25rem;margin-bottom:2rem}.cta-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn-register,.btn-login{padding:1rem 2.5rem;border-radius:.75rem;font-weight:700;font-size:1.125rem;text-decoration:none;transition:all .3s}.btn-register{background:#fff;color:#1e40af}.btn-register:hover{background:#f8fafc;transform:translateY(-3px);box-shadow:0 10px 30px #ffffff4d}.btn-login{background:#fff3;color:#fff;border:2px solid white}.btn-login:hover{background:#ffffff4d;transform:translateY(-3px)}@media (max-width: 1024px){.concorsi-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.concorsi-hero-content h1{font-size:2.5rem}}@media (max-width: 768px){.concorsi-hero{padding:3rem 1.5rem}.concorsi-hero-content h1{font-size:2rem}.concorsi-hero-content p{font-size:1rem}.concorsi-filters{padding:0 1rem;gap:.75rem}.filter-btn{padding:.625rem 1rem;font-size:.875rem}.concorsi-grid{grid-template-columns:1fr;gap:1.5rem}.concorso-card{padding:1.5rem}.concorso-footer{flex-direction:column;align-items:flex-start;gap:1rem}.btn-bando{width:100%;text-align:center}.cta-content h2{font-size:2rem}.cta-content p{font-size:1rem}.cta-buttons{flex-direction:column}.btn-register,.btn-login{width:100%;text-align:center}}.test-upload-container{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem;display:flex;justify-content:center;align-items:center}.test-upload-card{background:#fff;border-radius:20px;padding:2rem;max-width:900px;width:100%;box-shadow:0 20px 60px #0000004d}.test-upload-card h1{color:#667eea;margin-bottom:.5rem;font-size:2rem}.test-upload-card>p{color:#666;margin-bottom:2rem}.upload-section{background:#f8f9fa;padding:2rem;border-radius:10px;margin-bottom:2rem}.file-input-hidden{display:none}.file-upload-label{display:block;width:100%;padding:2rem;border:3px dashed #667eea;border-radius:10px;background:#fff;cursor:pointer;margin-bottom:1rem;text-align:center;font-size:1.2rem;font-weight:700;color:#667eea;transition:all .3s}.file-upload-label:hover{background:#f0f4ff;border-color:#764ba2;transform:scale(1.02)}.file-info{background:#fff;padding:1rem;border-radius:8px;margin-bottom:1rem;border-left:4px solid #667eea}.file-info p{margin:.5rem 0;color:#333}.test-button{width:100%;padding:1rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s}.test-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #667eea66}.test-button:disabled{opacity:.6;cursor:not-allowed}.logs-section{margin-bottom:2rem}.logs-section h2{color:#333;margin-bottom:1rem;font-size:1.3rem}.logs{background:#1e1e1e;color:#0f0;padding:1.5rem;border-radius:10px;font-family:Courier New,monospace;font-size:.9rem;max-height:400px;overflow-y:auto;white-space:pre-wrap;word-break:break-all}.log-entry{padding:.5rem 0;border-bottom:1px solid #333}.log-entry:last-child{border-bottom:none}.log-time{color:#888;margin-right:1rem}.log-info .log-message{color:#0f0}.log-success .log-message{color:#0f0;font-weight:700}.log-error .log-message{color:#f44;font-weight:700}.preview-section{background:#f8f9fa;padding:2rem;border-radius:10px;margin-bottom:2rem;text-align:center}.preview-section h2{color:#333;margin-bottom:1rem}.preview-image{max-width:100%;max-height:400px;border-radius:10px;margin-bottom:1rem;box-shadow:0 4px 12px #0000001a}.preview-section a{display:inline-block;padding:.5rem 1.5rem;background:#667eea;color:#fff;text-decoration:none;border-radius:5px;transition:background .3s}.preview-section a:hover{background:#764ba2}.instructions{background:#fff3cd;padding:1.5rem;border-radius:10px;border-left:4px solid #ffc107}.instructions h3{color:#856404;margin-bottom:1rem}.instructions ol{color:#856404;padding-left:1.5rem}.instructions li{margin:.5rem 0}.instructions code{background:#fff;padding:.2rem .5rem;border-radius:4px;color:#d63384;font-family:Courier New,monospace}
