@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&display=swap";:root{--viewport-height:100vh;--primary:#1e3a8a;--primary-light:#2d5bbf;--primary-hover:#1e40af;--secondary:#eab308;--secondary-soft:#fde68a;--accent-ocean:#06b6d4;--accent-foam:#e0f2fe;--accent-deep:#0c2461;--background:#f0f5fa;--surface:#fff;--surface-hover:#f3f4f6;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--border:#e2e8f0;--error:#ef4444;--success:#10b981;--font-display:"Outfit", sans-serif;--font-body:"DM Sans", sans-serif;--font-family:"DM Sans", sans-serif;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a, 0 10px 10px -5px #0000000a;--shadow-ocean:0 8px 32px #0e34782e;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.25rem;--radius-full:9999px;--transition-fast:.15s ease-in-out;--transition-normal:.25s ease-in-out;--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px}@supports (height:100dvh){:root{--viewport-height:100dvh}}[data-theme=dark]{--background:#0b1120;--surface:#151f32;--surface-hover:#1e293b;--text-primary:#f0f5fa;--text-secondary:#94a3b8;--text-muted:#64748b;--border:#1e3a5f;--accent-foam:#164e63}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%}body{font-family:var(--font-family);background-color:var(--background);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:var(--viewport-height);line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,textarea,select{font-family:inherit}.btn{border-radius:var(--radius-md);transition:all var(--transition-fast);justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-weight:500;display:inline-flex}.btn-primary{background-color:var(--primary);color:#fff}.btn-primary:hover{background-color:var(--primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-outline{border:1px solid var(--border);color:var(--text-primary);background-color:#0000}.btn-outline:hover{background-color:var(--surface-hover)}.input-field{border-radius:var(--radius-md);border:1px solid var(--border);background-color:var(--surface);width:100%;color:var(--text-primary);transition:border-color var(--transition-fast);padding:.5rem .75rem}.input-field:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #4f46e533}.card{background-color:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border)}.error-text{color:var(--error);margin-top:.25rem;font-size:.875rem}.mini-map-container{border-radius:var(--radius-md);border:1px solid var(--border);width:100%;height:180px;margin-top:1rem;overflow:hidden}@media (width>=769px){.mini-map-container{height:400px}}.location-badge{border-radius:var(--radius-full);align-items:center;gap:.25rem;padding:.25rem .625rem;font-size:.75rem;font-weight:600;display:inline-flex}.location-badge-success{color:#10b981;background-color:#10b9811a}.location-badge-warning{color:#eab308;background-color:#eab3081a}.location-badge-error{color:var(--error);background-color:#ef44441a}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=768px){.desktop-only{display:none!important}}@media (width>=769px){.mobile-only{display:none!important}}.container-responsive{width:100%;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}@media (width>=640px){.container-responsive{max-width:640px}}@media (width>=768px){.container-responsive{max-width:768px}}@media (width>=1024px){.container-responsive{max-width:1024px}}@media (width>=1280px){.container-responsive{max-width:1200px}}.survey-container{background-color:var(--surface-hover);min-height:100vh;padding:2rem 1rem;position:relative}.survey-header-card{border-top:8px solid var(--primary);padding:3rem}.survey-title{color:var(--text-primary);margin-bottom:1rem;font-size:2.25rem;font-weight:800}.question-card{border:1px solid var(--border);box-shadow:none;background-color:var(--surface);border-radius:var(--radius-lg);flex-direction:column;gap:1rem;padding:2rem;display:flex}.location-panel{background-color:var(--surface-hover);border-radius:var(--radius-md);margin-bottom:2rem;padding:1.25rem}.responsive-button-group{flex-wrap:wrap;gap:.75rem;display:flex}.form-actions{justify-content:flex-end;gap:1rem;margin-top:1rem;display:flex}.survey-logo-container{text-align:center;margin-bottom:.875rem}.survey-logo{width:80px;height:auto;margin-bottom:.5rem;display:inline-block}.survey-description{color:var(--text-secondary);text-align:justify;margin-bottom:1.5rem;font-size:1.0625rem;line-height:1.6}.location-panel-content{text-align:center;flex-direction:column;align-items:center;gap:1.25rem;width:100%;display:flex}@media (width>=769px){.location-panel-content{gap:1.5rem;max-width:650px;margin:0 auto}}.location-icon-container{background-color:var(--surface);width:48px;height:48px;box-shadow:var(--shadow-sm);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}@media (width>=769px){.location-icon-container{width:64px;height:64px}.location-icon-container svg{width:32px!important;height:32px!important}}@media (width<=768px){.survey-container{padding:.75rem .5rem}.survey-header-card{padding:1.25rem 1rem}.survey-title{margin-bottom:.75rem;font-size:1.5rem}.question-card{padding:1rem .875rem}.location-panel{margin-bottom:1.25rem;padding:.875rem}.responsive-button-group{flex-direction:column;gap:.5rem}.responsive-button-group button,.responsive-button-group .btn{justify-content:center;width:100%}.form-actions{flex-direction:column;gap:.625rem}.form-actions button{justify-content:center;width:100%}.form-actions .btn-primary{order:-1;padding:.875rem 1.5rem;font-size:1rem}.w-full-mobile{justify-content:center;width:100%!important}.mini-map-container{height:160px;margin-top:.75rem}}.swal2-popup{border-radius:var(--radius-xl)!important;font-family:var(--font-body)!important;border:1px solid var(--border)!important;box-shadow:var(--shadow-xl)!important}.swal2-title{font-family:var(--font-display)!important;font-size:1.25rem!important;font-weight:600!important}.swal2-html-container{font-family:var(--font-body)!important;line-height:1.6!important}.swal2-confirm{background:var(--primary)!important;color:#fff!important;border-radius:var(--radius-md)!important;font-family:var(--font-body)!important;box-shadow:none!important;transition:background var(--transition-fast), box-shadow var(--transition-fast)!important;padding:.6rem 1.5rem!important;font-size:.95rem!important;font-weight:500!important}.swal2-confirm:hover{background:var(--primary-hover)!important;box-shadow:var(--shadow-md)!important}.swal2-confirm:focus{box-shadow:0 0 0 3px #1e3a8a4d!important}[data-theme=dark] .swal2-popup{background:var(--surface)!important;color:var(--text-primary)!important}[data-theme=dark] .swal2-title{color:var(--text-primary)!important}[data-theme=dark] .swal2-html-container{color:var(--text-secondary)!important}[data-theme=dark] .swal2-confirm{background:linear-gradient(135deg,#1e40af 0%,#2d5bbf 50%,#0891b2 100%)!important}[data-theme=dark] .swal2-confirm:hover{box-shadow:0 6px 24px #1e40af66!important}[data-theme=dark] .swal2-icon-warning{border-color:var(--secondary)!important}[data-theme=dark] .swal2-icon-info{border-color:var(--accent-ocean)!important}.auth-container{min-height:var(--viewport-height);display:flex;position:relative;overflow:hidden}.auth-brand-panel{width:50%;min-height:var(--viewport-height);background:linear-gradient(165deg,#0c2461 0%,#1e3a8a 35%,#2d5bbf 65%,#06b6d4 100%);flex-direction:column;justify-content:center;align-items:center;padding:3rem;display:none;position:relative;overflow:hidden}.auth-brand-panel:before{content:"";background:radial-gradient(circle,#06b6d440 0%,#0000 70%);width:80%;height:100%;animation:8s ease-in-out infinite alternate aurora;position:absolute;top:-50%;right:-30%}.auth-brand-panel:after{content:"";background:radial-gradient(circle,#eab30826 0%,#0000 70%);width:60%;height:60%;animation:10s ease-in-out 2s infinite alternate-reverse aurora;position:absolute;bottom:-20%;left:-20%}@keyframes aurora{0%{opacity:.6;transform:translate(0)scale(1)}50%{opacity:1;transform:translate(5%,-8%)scale(1.15)}to{opacity:.7;transform:translate(-3%,5%)scale(1.05)}}.auth-brand-content{z-index:2;text-align:center;flex-direction:column;align-items:center;gap:1.5rem;animation:.8s cubic-bezier(.16,1,.3,1) forwards fadeInBrand;display:flex;position:relative}@keyframes fadeInBrand{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-brand-logo{filter:drop-shadow(0 4px 24px #0000004d);width:140px;height:auto;animation:6s ease-in-out infinite floatLogo}@keyframes floatLogo{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.auth-brand-title{color:var(--text-primary);letter-spacing:-.02em;text-shadow:0 2px 20px #0003;font-family:Outfit,sans-serif;font-size:2.5rem;font-weight:700;line-height:1.1}.auth-brand-subtitle{color:#ffffffbf;max-width:320px;font-family:DM Sans,sans-serif;font-size:1.1rem;font-weight:400;line-height:1.6}.auth-brand-tagline{color:#ffffff73;letter-spacing:.15em;text-transform:uppercase;border-top:1px solid #ffffff1f;margin-top:1rem;padding-top:1.5rem;font-family:Outfit,sans-serif;font-size:.8rem}.auth-waves{z-index:1;pointer-events:none;width:100%;height:200px;position:absolute;bottom:0;left:0}.auth-wave-path{fill:#ffffff0f;animation:12s ease-in-out infinite alternate waveX}.auth-wave-path:nth-child(2){fill:#ffffff0a;animation-duration:14s;animation-delay:-4s}.auth-wave-path:nth-child(3){fill:#ffffff08;animation-duration:16s;animation-delay:-8s}@keyframes waveX{0%{transform:translate(0)translateY(0)}50%{transform:translate(-25px)translateY(8px)}to{transform:translate(15px)translateY(-5px)}}.auth-form-panel{background-color:var(--background);-webkit-overflow-scrolling:touch;flex:1;justify-content:center;align-items:center;padding:2rem;display:flex;position:relative;overflow-y:auto}.auth-form-panel:before{content:"";pointer-events:none;background:radial-gradient(at 100% 0,#06b6d40a 0%,#0000 60%);position:absolute;inset:0}.auth-theme-toggle{z-index:10;position:absolute;top:1.5rem;right:1.5rem}[data-theme=dark] .auth-brand-panel{background:linear-gradient(165deg,#070d1a 0%,#0f1d3d 35%,#1a3057 65%,#0c4a6e 100%)}.auth-card{background-color:var(--surface);border-radius:var(--radius-2xl);width:100%;max-width:420px;box-shadow:var(--shadow-xl);border:1px solid var(--border);padding:2.5rem 2rem;animation:.6s cubic-bezier(.16,1,.3,1) .1s both cardReveal;position:relative}@keyframes cardReveal{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=768px){.auth-container{min-height:var(--viewport-height);flex-direction:column;overflow-y:auto}.auth-brand-panel{display:none!important}.auth-form-panel{padding:1.5rem;padding-left:max(1.5rem, env(safe-area-inset-left));padding-right:max(1.5rem, env(safe-area-inset-right));padding-bottom:max(1.5rem, env(safe-area-inset-bottom));background:linear-gradient(170deg, #0c2461 0%, #1e3a8a 30%, #1a3057 60%, var(--background) 100%);flex:1;justify-content:center}.auth-form-panel:before{background:0 0}.auth-card{border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);margin-top:0;padding:2.5rem 1.75rem;animation-name:cardSlideUp}@keyframes cardSlideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.auth-theme-toggle{top:1rem;right:1rem}.auth-mobile-header{padding-top:max(1.25rem, env(safe-area-inset-top));z-index:2;flex-direction:column;align-items:center;padding-bottom:1rem;position:relative;display:flex!important}.auth-mobile-logo{filter:drop-shadow(0 2px 12px #0000004d);width:80px;height:auto}.auth-mobile-title{color:var(--text-primary);margin-top:.75rem;font-family:Outfit,sans-serif;font-size:1.5rem;font-weight:700}}[data-theme=dark] .auth-brand-title,[data-theme=dark] .auth-mobile-title{color:#fff}@media (width<=768px) and (height<=740px){.auth-form-panel{justify-content:flex-start;padding-top:1rem;padding-bottom:1rem}.auth-mobile-header{padding-top:max(.75rem, env(safe-area-inset-top));padding-bottom:.75rem}}@media (width>=769px){.auth-brand-panel{display:flex}.auth-mobile-header{display:none!important}}@media (width<=480px){.auth-card{border-radius:var(--radius-xl);padding:2rem 1.25rem}}.sidebar{background-color:var(--surface);border-right:1px solid var(--border);flex-direction:column;width:260px;max-width:100%;height:100%;padding:1.5rem 1rem;display:flex}.sidebar-header{border-bottom:1px solid var(--border);flex-direction:column;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:1rem 0;display:flex;position:relative}.sidebar-close{color:var(--text-secondary);padding:.5rem;position:absolute;top:0;right:0}.logo-main{object-fit:contain;width:130px}.logo-text{object-fit:contain;width:200px}.sidebar-nav{flex-direction:column;flex:1;gap:.25rem;display:flex}.nav-item{border-radius:var(--radius-md);color:var(--text-secondary);transition:all var(--transition-fast);align-items:center;gap:.75rem;padding:.75rem 1rem;font-weight:500;display:flex}.nav-item.active{background-color:var(--primary);color:#fff;font-weight:600}.nav-item:hover:not(.active){background-color:var(--surface-hover)}.sidebar-footer{border-top:1px solid var(--border);flex-direction:column;gap:.25rem;padding-top:1rem;display:flex}.logout-btn{border-radius:var(--radius-md);color:var(--error);text-align:left;cursor:pointer;width:100%;transition:background-color var(--transition-fast);align-items:center;gap:.75rem;padding:.75rem 1rem;font-weight:500;display:flex}.logout-btn:hover{background-color:#ef44440d}@media (width<=768px){.sidebar{width:280px}}.categories-section{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.categories-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:0 .5rem;display:flex}.categories-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;display:flex}.categories-list{flex-direction:column;gap:.25rem;display:flex}.category-item{border-radius:var(--radius-sm);transition:background-color var(--transition-fast);justify-content:space-between;align-items:center;padding:.375rem .5rem;display:flex}.category-item:hover,.category-item.active{background-color:var(--surface-hover)}.category-btn{cursor:pointer;text-align:left;color:var(--text-primary);background:0 0;border:none;flex:1;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.category-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.category-actions{opacity:0;transition:opacity var(--transition-fast);gap:.25rem;display:flex}.category-item:hover .category-actions{opacity:1}.btn-icon:hover{background-color:var(--surface-hover);color:var(--text-primary)}.btn-icon-small{cursor:pointer;color:var(--text-muted);border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;display:flex}.btn-icon-small:hover{background-color:var(--surface-hover);color:var(--text-primary)}.btn-icon-small.delete:hover{color:var(--error)}.modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{background-color:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:0 20px 25px -5px #0000001a}.modal-header h3{margin:0;font-size:1.125rem;font-weight:600}.color-picker{gap:.75rem;display:flex}.dashboard-container{height:var(--viewport-height);background-color:var(--background);display:flex;overflow:hidden}.main-wrapper{flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.content-area{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;min-height:0;padding:2rem;overflow-y:auto}.mobile-header{background-color:var(--surface);border-bottom:1px solid var(--border);z-index:50;justify-content:space-between;align-items:center;padding:1rem;display:none;position:sticky;top:0}@media (width<=768px){.dashboard-container{height:var(--viewport-height);flex-direction:column}.mobile-header{display:flex}.content-area{padding:1rem;padding-bottom:max(5.5rem, calc(env(safe-area-inset-bottom) + 5rem))}.sidebar-overlay{z-index:100;transition:opacity var(--transition-normal);background-color:#00000080;position:fixed;inset:0}.sidebar-drawer{z-index:101;width:280px;transition:transform var(--transition-normal);box-shadow:var(--shadow-lg);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar-drawer.open{transform:translate(0)}}.login-logo-wrapper{justify-content:center;margin-bottom:2rem;animation:.5s cubic-bezier(.16,1,.3,1) both fadeInUp;display:flex}.login-logo{object-fit:contain;background:var(--surface);width:72px;height:72px;transition:transform var(--transition-slow);border-radius:50%;padding:.5rem;box-shadow:0 4px 20px #1e3a8a26}.login-logo:hover{transform:scale(1.08)}@media (width>=769px){.login-logo-wrapper{display:none}}.login-header{text-align:center;margin-bottom:2rem;animation:.5s cubic-bezier(.16,1,.3,1) 50ms both fadeInUp}.login-title{color:var(--text-primary);letter-spacing:-.02em;margin:0;font-family:Outfit,sans-serif;font-size:1.75rem;font-weight:700;line-height:1.2}.login-subtitle{color:var(--text-muted);margin-top:.5rem;font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:400}.login-error{border:1px solid #ef444433;border-left:3px solid var(--error);border-radius:var(--radius-md);color:var(--error);background:linear-gradient(135deg,#ef444414,#ef444408);margin-bottom:1.25rem;padding:.875rem 1rem;font-size:.85rem;line-height:1.5;animation:.4s cubic-bezier(.16,1,.3,1) shakeIn}@keyframes shakeIn{0%{opacity:0;transform:translate(-8px)}40%{transform:translate(4px)}70%{transform:translate(-2px)}to{opacity:1;transform:translate(0)}}.login-form{flex-direction:column;gap:1.25rem;width:100%;display:flex}.login-field{flex-direction:column;gap:.375rem;animation:.5s cubic-bezier(.16,1,.3,1) both fadeInUp;display:flex}.login-field:first-child{animation-delay:.1s}.login-field:nth-child(2){animation-delay:.18s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.login-label{color:var(--text-secondary);letter-spacing:.02em;text-transform:uppercase;font-family:DM Sans,sans-serif;font-size:.8rem;font-weight:600}.login-input-wrapper{position:relative}.login-input-wrapper:after{content:"";background:linear-gradient(90deg, var(--primary), var(--accent-ocean));width:0;height:2px;transition:all var(--transition-slow);border-radius:2px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.login-input-wrapper:focus-within:after{width:100%}.login-input{border-radius:var(--radius-lg);border:1.5px solid var(--border);background-color:var(--surface);width:100%;color:var(--text-primary);transition:all var(--transition-slow);outline:none;padding:.75rem 1rem;font-family:DM Sans,sans-serif;font-size:.95rem}.login-input::placeholder{color:var(--text-muted);font-weight:300}.login-input:hover{border-color:var(--text-muted)}.login-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1e3a8a1a,0 2px 8px #06b6d414}.login-input--error{border-color:var(--error)!important;box-shadow:0 0 0 3px #ef444414!important}.login-field-error{color:var(--error);align-items:center;gap:.25rem;margin-top:.25rem;font-size:.75rem;font-weight:500;display:flex}.login-field-error:before{content:"!";background:var(--error);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;font-size:.6rem;font-weight:700;display:inline-flex}.login-submit{border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 50%, var(--accent-ocean) 100%);color:#fff;letter-spacing:.01em;cursor:pointer;transition:all var(--transition-slow);background-size:200%;border:none;margin-top:.75rem;padding:.875rem 1.5rem;font-family:Outfit,sans-serif;font-size:1rem;font-weight:600;animation:.5s cubic-bezier(.16,1,.3,1) .26s both fadeInUp;position:relative;overflow:hidden}.login-submit:before{content:"";background:linear-gradient(90deg,#0000,#ffffff26,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.login-submit:hover{background-position:100%;transform:translateY(-2px);box-shadow:0 6px 24px #1e3a8a59,0 2px 8px #06b6d433}.login-submit:hover:before{left:100%}.login-submit:active{transform:translateY(0);box-shadow:0 2px 8px #1e3a8a33}.login-submit:disabled{opacity:.65;cursor:not-allowed;box-shadow:none!important;transform:none!important}.login-submit:disabled:before{display:none}.login-loading-dot{align-items:center;gap:.25rem;display:inline-flex}.login-loading-dot span{background:#fff;border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite dotPulse}.login-loading-dot span:nth-child(2){animation-delay:.15s}.login-loading-dot span:nth-child(3){animation-delay:.3s}@keyframes dotPulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1.1)}}.login-divider{align-items:center;gap:1rem;margin-top:.5rem;animation:.5s cubic-bezier(.16,1,.3,1) .34s both fadeInUp;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--border);flex:1;height:1px}.login-divider-text{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:500}.login-footer{text-align:center;color:var(--text-muted);margin-top:1.5rem;font-family:DM Sans,sans-serif;font-size:.85rem;animation:.5s cubic-bezier(.16,1,.3,1) .42s both fadeInUp}.login-footer a{color:var(--primary);transition:color var(--transition-fast);font-weight:600;text-decoration:none;position:relative}.login-footer a:after{content:"";background:var(--accent-ocean);width:0;height:1.5px;transition:width var(--transition-slow);position:absolute;bottom:-1px;left:0}.login-footer a:hover{color:var(--accent-ocean)}.login-footer a:hover:after{width:100%}[data-theme=dark] .login-input{background-color:#ffffff08}[data-theme=dark] .login-input:focus{box-shadow:0 0 0 3px #06b6d41f,0 2px 12px #06b6d414}[data-theme=dark] .login-logo{background:var(--surface)}[data-theme=dark] .login-submit{background:linear-gradient(135deg,#1e40af 0%,#2d5bbf 50%,#0891b2 100%) 0 0/200%}[data-theme=dark] .login-submit:hover{box-shadow:0 6px 24px #1e40af66,0 2px 8px #0891b240}@media (width<=768px){.login-logo-wrapper{margin-bottom:1.25rem}.login-header{margin-bottom:1.5rem}.login-form{gap:1rem}.login-submit{margin-top:.5rem}}@media (width<=768px) and (height<=740px){.login-logo-wrapper{margin-bottom:.75rem}.login-header{margin-bottom:1rem}.login-title{font-size:1.5rem}.login-subtitle{margin-top:.35rem}.login-form{gap:.875rem}}.dashboard-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.dashboard-title{color:var(--text-primary);margin:0;font-size:1.875rem;font-weight:700}.dashboard-subtitle{color:var(--text-secondary);margin:.25rem 0 0}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.stat-card{align-items:center;gap:.875rem;padding:1.25rem;display:flex}.stat-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.stat-value{margin:0;font-size:1.75rem;font-weight:700;line-height:1.1}.stat-label{color:var(--text-secondary);margin:0;font-size:.8125rem}.surveys-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;display:grid}.survey-card{flex-direction:column;gap:0;padding:1.25rem;display:flex}.survey-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;display:flex}.survey-card-title{flex:1;margin:0;padding-right:.5rem;font-size:1.0625rem;font-weight:600;line-height:1.4}.survey-card-meta{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.survey-badges{flex-wrap:wrap;gap:.375rem;margin-top:.5rem;display:flex}.survey-share-section{border-top:1px solid var(--border);margin-top:1rem;padding-top:.875rem}.survey-share-row{color:var(--text-secondary);align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.75rem;display:flex}.survey-share-url{background:var(--surface-hover);text-overflow:ellipsis;white-space:nowrap;border-radius:4px;flex:1;min-width:0;padding:.25rem .5rem;font-family:monospace;font-size:.68rem;overflow:hidden}.survey-actions{flex-wrap:wrap;justify-content:flex-end;gap:.375rem;display:flex}.action-btn{border-radius:var(--radius-md);justify-content:center;align-items:center;min-width:36px;min-height:36px;padding:.4rem;display:inline-flex}.survey-share-url{background:var(--surface-hover);text-overflow:ellipsis;white-space:nowrap;border-radius:4px;max-width:200px;padding:.25rem .5rem;font-family:monospace;font-size:.7rem;overflow:hidden}.survey-badge-location{color:#06b6d4;background-color:#06b6d41a;border-radius:9999px;align-items:center;gap:.25rem;padding:.25rem .625rem;font-size:.7rem;font-weight:600;display:inline-flex}.survey-badge-location svg{flex-shrink:0}.new-survey-fab{display:none}@media (width<=768px){.dashboard-header{flex-direction:column;align-items:flex-start;gap:.5rem;margin-bottom:1.25rem}.dashboard-header .btn-nueva-encuesta{display:none}.dashboard-title{font-size:1.375rem}.dashboard-subtitle{font-size:.875rem}.stats-grid{-webkit-overflow-scrolling:touch;grid-template-columns:repeat(3,1fr);gap:.625rem;margin-bottom:1.25rem;overflow-x:auto}.stat-card{flex-direction:column;align-items:flex-start;gap:.625rem;padding:.875rem}.stat-icon{width:36px;height:36px}.stat-value{font-size:1.375rem}.stat-label{font-size:.72rem;line-height:1.3}.surveys-grid{grid-template-columns:1fr;gap:.75rem}.survey-card{padding:1rem}.survey-card-title{font-size:1rem}.survey-actions{grid-template-columns:repeat(6,1fr);justify-items:center;gap:.375rem;display:grid}.action-btn{border-radius:var(--radius-md);width:100%;min-height:40px}.survey-share-url{max-width:unset;flex:1;min-width:0}.new-survey-fab{bottom:max(1.5rem, env(safe-area-inset-bottom));z-index:90;background-color:var(--primary);color:#fff;width:56px;height:56px;transition:transform var(--transition-fast), box-shadow var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;text-decoration:none;display:flex;position:fixed;right:1.5rem;box-shadow:0 4px 16px #1e3a8a66}.new-survey-fab:hover,.new-survey-fab:active{transform:scale(1.08);box-shadow:0 6px 24px #1e3a8a80}}@media (width<=480px){.stats-grid{grid-template-columns:repeat(3,minmax(90px,1fr))}.survey-share-url{flex:unset;max-width:120px}}.filters-bar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.search-input-wrapper{flex:1;min-width:200px;max-width:400px;position:relative}.search-input{border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--surface);width:100%;color:var(--text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:.625rem .75rem .625rem 2.5rem;font-size:.875rem}.search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1e3a8a1a}.filter-select{border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--surface);color:var(--text-primary);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;outline:none;min-width:160px;padding:.625rem 2rem .625rem .75rem;font-size:.875rem}.filter-select:focus{border-color:var(--primary)}.calendar-filter-wrapper{position:relative}.filter-btn{border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--surface);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:.5rem;padding:.625rem .75rem;font-size:.875rem;display:flex}.filter-btn:hover{border-color:var(--primary)}.filter-btn.active{border-color:var(--primary);color:var(--primary);background-color:#1e3a8a0d}.calendar-dropdown{z-index:100;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:280px;padding:1rem;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 10px 25px #0000001a}.calendar-header-row{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.calendar-nav-btn{cursor:pointer;color:var(--text-secondary);border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:.375rem;display:flex}.calendar-nav-btn:hover{background-color:var(--surface-hover);color:var(--text-primary)}.calendar-month-title{color:var(--text-primary);font-size:.875rem;font-weight:600}.calendar-weekdays{grid-template-columns:repeat(7,1fr);gap:.25rem;margin-bottom:.5rem;display:grid}.calendar-weekday{color:var(--text-muted);text-align:center;padding:.25rem;font-size:.6875rem;font-weight:600}.calendar-days{grid-template-columns:repeat(7,1fr);gap:.25rem;display:grid}.calendar-day{aspect-ratio:1;cursor:pointer;border-radius:var(--radius-md);color:var(--text-primary);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;font-size:.8125rem;display:flex;position:relative}.calendar-day.other-month{color:var(--text-muted);opacity:.5}.calendar-day.has-survey{color:var(--text-primary);background-color:#3b82f633;font-weight:600}.calendar-day.has-survey:hover,[data-theme=dark] .calendar-day.has-survey{background-color:#3b82f659}[data-theme=dark] .calendar-day.has-survey:hover{background-color:#3b82f680}.calendar-day.selected{background-color:var(--primary)!important;color:#fff!important}.calendar-day.today{border:2px solid var(--primary)}.calendar-day:disabled{cursor:default;opacity:.4}.survey-dot-indicator{background-color:var(--primary);border-radius:50%;width:4px;height:4px;position:absolute;bottom:2px}.categories-bar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.categories-label{color:var(--text-secondary);flex-shrink:0;font-size:.875rem;font-weight:600}.categories-chips{flex-wrap:wrap;gap:.5rem;display:flex}.category-chip{border:1px solid var(--border);color:var(--text-primary);background-color:var(--surface);cursor:pointer;transition:all var(--transition-fast);border-radius:9999px;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;display:inline-flex}.category-chip:hover{border-color:var(--primary);background-color:var(--surface-hover)}.category-chip.active{border-color:var(--chip-color,var(--primary));color:var(--primary);background-color:#1e3a8a1a}.category-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.calendar-day.selected .survey-dot-indicator{background-color:#fff}.calendar-clear-btn{border:1px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;margin-top:.75rem;padding:.5rem;font-size:.8125rem}.calendar-clear-btn:hover{background-color:var(--surface-hover);color:var(--text-primary)}@media (width<=768px){.filters-bar{flex-direction:column;align-items:stretch}.search-input-wrapper{max-width:none}.filter-select,.calendar-filter-wrapper{width:100%}.filter-btn{justify-content:center;width:100%}.calendar-dropdown{width:100%;left:0;right:0}.categories-bar{flex-direction:column;align-items:flex-start}.categories-chips{width:100%}.category-chip{padding:.3125rem .625rem;font-size:.75rem}}.builder-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.builder-title{margin:0;font-size:1.5rem;font-weight:700}.builder-actions{gap:.75rem;display:flex}.question-card.dragging{border:2px solid var(--primary);background-color:var(--surface-hover);z-index:1001;box-shadow:0 10px 25px #0000001a}.question-drag-handle{background-color:var(--surface-hover);cursor:grab;width:40px;color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.question-content{flex:1;padding:1.5rem}.question-header{gap:1rem;margin-bottom:1rem;display:flex}.add-question-bar{justify-content:center;gap:1rem;padding:1rem;display:flex}@media (width<=768px){.builder-header{flex-direction:column;align-items:flex-start;margin-bottom:1.5rem}.builder-actions{width:100%}.builder-actions button{flex:1}.question-header{flex-direction:column}.question-header select{width:100%!important}.add-question-bar{flex-direction:column}.add-question-bar button{width:100%}}@media (width<=480px){.question-content{padding:1rem}.question-drag-handle{width:30px}}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;top:0;left:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{-webkit-transform-origin:0 0;width:1600px;height:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{width:auto;padding:0;max-width:none!important;max-height:none!important}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:#33b5e566}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;z-index:800;width:0;height:0}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{z-index:800;pointer-events:visiblePainted;pointer-events:auto;position:relative}.leaflet-top,.leaflet-bottom{z-index:1000;pointer-events:none;position:absolute}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{outline-offset:1px;background:#ddd}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{text-align:center;color:#000;background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;text-decoration:none;display:block}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.leaflet-bar a.leaflet-disabled{cursor:default;color:#bbb;background-color:#f4f4f4}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{text-indent:1px;font:700 18px Lucida Console,Monaco,monospace}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{color:#333;background:#fff;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{padding-right:5px;overflow:hidden scroll}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{font-size:1.08333em;display:block}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;padding:0 5px;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{width:1em;height:.6669em;vertical-align:baseline!important;display:inline!important}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{white-space:nowrap;box-sizing:border-box;text-shadow:1px 1px #fff;background:#fffc;border:2px solid #777;border-top:none;padding:2px 5px 1px;line-height:1.1}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{text-align:center;margin-bottom:20px;position:absolute}.leaflet-popup-content-wrapper{text-align:left;border-radius:12px;padding:1px}.leaflet-popup-content{min-height:1px;margin:13px 24px 13px 20px;font-size:1.08333em;line-height:1.3}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{pointer-events:none;width:40px;height:20px;margin-top:-1px;margin-left:-20px;position:absolute;left:50%;overflow:hidden}.leaflet-popup-tip{pointer-events:auto;width:17px;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{color:#333;background:#fff;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{text-align:center;color:#757575;background:0 0;border:none;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;text-decoration:none;position:absolute;top:0;right:0}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";width:24px;filter:progid:DXImageTransform.Microsoft.Matrix(M11=.707107, M12=.707107, M21=-.707107, M22=.707107);margin:0 auto}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{color:#222;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:#fff;border:1px solid #fff;border-radius:3px;padding:6px;position:absolute;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{pointer-events:none;content:"";background:0 0;border:6px solid #0000;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{margin-left:-6px;left:50%}.leaflet-tooltip-top:before{border-top-color:#fff;margin-bottom:-12px;bottom:0}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-top:-12px;margin-left:-6px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;margin-left:-12px;left:0}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.tutorial-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2000;background-color:#000000d9;justify-content:center;align-items:center;padding:1.5rem;animation:.3s ease-out tutorial-fade-in;display:flex;position:fixed;inset:0}.tutorial-modal-content{border-radius:var(--radius-xl);background-color:#0b1120;border:1px solid #ffffff1a;flex-direction:column;width:fit-content;max-height:88vh;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000080}.tutorial-video-wrapper{aspect-ratio:9/16;background-color:#000;width:100%;max-width:360px;max-height:80vh;position:relative}.tutorial-video-wrapper video{object-fit:cover;width:100%;height:100%;display:block}.tutorial-close-btn{z-index:2010;color:#fff;background-color:#ef4444;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex;position:absolute;top:2rem;right:1rem;box-shadow:0 2px 8px #ef444480}.tutorial-close-btn:hover{background-color:#dc2626;transform:rotate(90deg);box-shadow:0 4px 12px #ef4444b3}.tutorial-minimized-btn{z-index:1000;color:#fff;cursor:pointer;background:#ef4444;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:all .3s cubic-bezier(.175,.885,.32,1.275);animation:.5s ease-out tutorial-slide-in-left;display:flex;position:fixed;top:1.5rem;left:1.5rem;box-shadow:0 4px 12px #1e3a8a66}.tutorial-minimized-btn:hover{transform:scale(1.1)rotate(10deg);box-shadow:0 6px 16px #1e3a8a99}.tutorial-minimized-btn i,.tutorial-minimized-btn svg{animation:2s infinite tutorial-camera-pulse}@keyframes tutorial-fade-in{0%{opacity:0}to{opacity:1}}@keyframes tutorial-slide-in-left{0%{opacity:0;transform:translate(-100px)}to{opacity:1;transform:translate(0)}}@keyframes tutorial-camera-pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes tutorial-bubble-fade{0%{opacity:0;transform:scale(.8)translate(-10px)}to{opacity:1;transform:scale(1)translate(0)}}.tutorial-bubble{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#0f172a;z-index:1000;pointer-events:none;background-color:#f0f5faa6;border:1px solid #fff6;border-radius:4px 18px 18px;max-width:200px;padding:10px 16px;font-size:.8125rem;line-height:1.4;animation:.4s cubic-bezier(.175,.885,.32,1.275) tutorial-bubble-fade;position:fixed;top:1.5rem;left:4.5rem;box-shadow:0 4px 16px #0000001a}.tutorial-bubble:after{content:"";border-top:8px solid #0000;border-bottom:8px solid #0000;border-right:8px solid #f0f5faa6;position:absolute;top:12px;left:-8px}[data-theme=dark] .tutorial-bubble{color:#f0f5fa;text-shadow:0 1px 3px #0006;background-color:#0f172a8c;border:1px solid #fff3}[data-theme=dark] .tutorial-bubble:after{border-right-color:#0f172a8c}@media (width<=768px){.tutorial-modal-overlay{padding:0}.tutorial-modal-content{border:none;border-radius:0;max-width:100%;max-height:100vh}.tutorial-video-wrapper{aspect-ratio:9/16;width:auto;max-width:100%;height:100vh;max-height:100vh}.tutorial-minimized-btn{width:42px;height:42px;top:1rem;left:1rem}.tutorial-bubble{max-width:160px;font-size:.75rem;top:1rem;left:4rem}}.survey-success-page{min-height:var(--viewport-height);background:radial-gradient(circle at top, #1e3a8a1f, transparent 42%), linear-gradient(160deg, var(--surface-hover) 0%, #edf4fb 45%, #e4edf7 100%);justify-content:center;align-items:center;padding:2rem 1rem;display:flex;position:relative;overflow:hidden}.survey-success-page:before{content:"";opacity:.08;filter:saturate(.9)contrast(1.05);pointer-events:none;background-image:url(/assets/Logo-miramar-kma0zPTA.png);background-position:50%;background-repeat:no-repeat;background-size:min(72vw,560px);position:absolute;inset:0}.survey-success-page:after{content:"";pointer-events:none;background:linear-gradient(#ffffff2e,#ffffff0a);position:absolute;inset:0}.survey-success-theme-toggle{top:max(1.25rem, env(safe-area-inset-top));right:max(1.25rem, env(safe-area-inset-right));z-index:2;position:absolute}.survey-success-card{z-index:1;text-align:center;border-top:8px solid var(--primary);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:min(100%,520px);padding:3rem 2.25rem;animation:.42s cubic-bezier(.16,1,.3,1) both surveySuccessRise;position:relative;box-shadow:0 18px 45px #0f172a24}.survey-success-icon-wrap{justify-content:center;margin-bottom:1.5rem;display:flex}.survey-success-icon{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);border-radius:9999px;justify-content:center;align-items:center;width:84px;height:84px;display:flex;box-shadow:0 10px 28px #1e3a8a47}.survey-success-title{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.03em;margin:0 0 .75rem;font-size:clamp(1.85rem,4vw,2.4rem);font-weight:800}.survey-success-message{font-family:var(--font-body);color:var(--text-secondary);margin:0;font-size:clamp(1.05rem,2.2vw,1.25rem);line-height:1.65}@keyframes surveySuccessRise{0%{opacity:0;transform:translateY(18px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=640px){.survey-success-page{padding:1.25rem}.survey-success-card{border-top-width:6px;padding:2.25rem 1.25rem}.survey-success-icon{width:72px;height:72px}.survey-success-theme-toggle{top:max(.75rem, env(safe-area-inset-top));right:max(.75rem, env(safe-area-inset-right))}}[data-theme=dark] .survey-success-page{background:radial-gradient(circle at top,#06b6d429,#0000 40%),linear-gradient(160deg,#09101f 0%,#0b172d 48%,#11213f 100%)}[data-theme=dark] .survey-success-page:before{opacity:.1;filter:brightness(1.08)saturate(.85)}[data-theme=dark] .survey-success-card{border-color:#ffffff0d;box-shadow:0 22px 52px #00000047}.leaflet-cluster-anim .leaflet-marker-icon,.leaflet-cluster-anim .leaflet-marker-shadow{-webkit-transition:-webkit-transform .3s ease-out,opacity .3s ease-in;-o-transition:-o-transform .3s ease-out, opacity .3s ease-in;-moz-transition:-moz-transform .3s ease-out,opacity .3s ease-in;transition:transform .3s ease-out,opacity .3s ease-in}.leaflet-cluster-spider-leg{-webkit-transition:-webkit-stroke-dashoffset .3s ease-out,-webkit-stroke-opacity .3s ease-in;-o-transition:-o-stroke-dashoffset .3s ease-out, -o-stroke-opacity .3s ease-in;-moz-transition:-moz-stroke-dashoffset .3s ease-out,-moz-stroke-opacity .3s ease-in;transition:stroke-dashoffset .3s ease-out,stroke-opacity .3s ease-in}.marker-cluster-small{background-color:#b5e28c99}.marker-cluster-small div{background-color:#6ecc3999}.marker-cluster-medium{background-color:#f1d35799}.marker-cluster-medium div{background-color:#f0c20c99}.marker-cluster-large{background-color:#fd9c7399}.marker-cluster-large div{background-color:#f1801799}.leaflet-oldie .marker-cluster-small{background-color:#b5e28c}.leaflet-oldie .marker-cluster-small div{background-color:#6ecc39}.leaflet-oldie .marker-cluster-medium{background-color:#f1d357}.leaflet-oldie .marker-cluster-medium div{background-color:#f0c20c}.leaflet-oldie .marker-cluster-large{background-color:#fd9c73}.leaflet-oldie .marker-cluster-large div{background-color:#f18017}.marker-cluster{background-clip:padding-box;border-radius:20px}.marker-cluster div{text-align:center;border-radius:15px;width:30px;height:30px;margin-top:5px;margin-left:5px;font:12px Helvetica Neue,Arial,Helvetica,sans-serif}.marker-cluster span{line-height:30px}.location-modal-overlay{z-index:1000;padding:1rem;padding-top:max(1rem, env(safe-area-inset-top));padding-right:max(1rem, env(safe-area-inset-right));padding-bottom:max(1rem, env(safe-area-inset-bottom));padding-left:max(1rem, env(safe-area-inset-left));background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.location-modal-container{background-color:var(--surface);border-radius:var(--radius-lg);width:1200px;max-width:95vw;max-height:min(95vh, calc(var(--viewport-height) - 2rem));box-shadow:var(--shadow-lg);flex-direction:column;display:flex;overflow:hidden}@supports (height:100dvh){.location-modal-container{max-height:min(95dvh, calc(var(--viewport-height) - 2rem))}}.location-modal-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.5rem;display:flex}.location-header-controls{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.btn-heatmap{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.8rem;font-weight:500;display:inline-flex}.btn-heatmap:hover{background:var(--surface-hover);color:var(--text-primary)}.btn-heatmap.active{color:#fff;background:linear-gradient(135deg,#ef4444 0%,#f97316 100%);border-color:#0000;box-shadow:0 2px 8px #ef44444d}.btn-heatmap.active:hover{box-shadow:0 4px 12px #ef444466}.heatmap-active-badge{color:#ef4444;align-items:center;gap:.3rem;margin-left:.75rem;font-size:.8rem;font-weight:500;display:inline-flex}.location-modal-title{align-items:center;gap:.5rem;font-size:1.125rem;font-weight:600;display:flex}.location-modal-title svg{color:var(--primary)}.location-modal-close{cursor:pointer;color:var(--text-secondary);border-radius:var(--radius-md);transition:all var(--transition-fast);background:0 0;border:none;align-items:center;padding:.5rem;display:flex}.location-modal-close:hover{background-color:var(--surface-hover);color:var(--text-primary)}.location-radius-control{background-color:var(--surface-hover);border-radius:var(--radius-md);align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;display:flex}.location-radius-control svg{color:var(--primary);flex-shrink:0}.location-radius-control span{color:var(--text-secondary);white-space:nowrap}.radius-slider{background:var(--border);-webkit-appearance:none;cursor:pointer;border-radius:3px;outline:none;width:120px;height:6px}.radius-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--primary);cursor:pointer;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 3px #0003}.radius-slider::-moz-range-thumb{background:var(--primary);cursor:pointer;border:none;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 3px #0003}.radius-value{text-align:center;min-width:40px;color:var(--text-primary);font-weight:600}.location-modal-content{flex-direction:column;flex:1;padding:0;display:flex;overflow:hidden}.location-map-info{background-color:var(--surface-hover);border-bottom:1px solid var(--border);color:var(--text-secondary);padding:.75rem 1.5rem;font-size:.875rem}.location-map{flex:1;width:100%;min-height:550px}.location-modal-empty{color:var(--text-secondary);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:3rem;display:flex}.location-modal-empty svg{color:var(--text-secondary);opacity:.5}.location-modal-empty p{margin:0;font-size:1.125rem;font-weight:500}.location-modal-empty span{opacity:.7;font-size:.875rem}.location-modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.custom-cluster-icon{background:0 0}.cluster-icon{color:#fff;border-radius:50%;justify-content:center;align-items:center;font-size:.875rem;font-weight:700;display:flex;box-shadow:0 2px 8px #0000004d}.cluster-small{background-color:#4f46e5;width:36px;height:36px;font-size:.75rem}.cluster-medium{background-color:#7c3aed;width:44px;height:44px;font-size:.875rem}.cluster-large{background-color:#db2777;width:52px;height:52px;font-size:1rem}.custom-single-marker{background:0 0;border:none}.single-marker{justify-content:center;align-items:center;display:flex}.single-marker-icon{flex-direction:column;justify-content:flex-start;align-items:center;display:flex;position:relative}.single-marker-icon .marker-count{color:#fff;background-color:#4f46e5;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;margin-bottom:2px;padding:0 6px;font-size:12px;font-weight:700;line-height:1;display:flex;position:static;box-shadow:0 2px 4px #00000059}.single-marker-icon .marker-pin-svg{display:block}.marker-popup{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem}.marker-popup strong{color:#1f2937;margin-bottom:.25rem;display:block}.marker-popup p{color:#6b7280;margin:.125rem 0;font-size:.75rem}@media (width<=640px){.location-modal-container{max-width:100vw;max-height:var(--viewport-height);width:100%;height:calc(var(--viewport-height) - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:0}.location-map{min-height:300px}.location-modal-header{gap:.5rem}.location-header-controls{order:3;justify-content:center;width:100%}.location-radius-control{justify-content:center;width:100%}.radius-slider{flex:1;max-width:200px}}.results-header{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.results-title{color:var(--text-primary);margin:0;font-size:1.875rem;font-weight:700}.results-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.results-filters{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);margin-bottom:1.5rem;padding:1rem}.results-filters-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.filter-group{flex-direction:column;gap:.5rem;margin-top:.875rem;display:flex}.filter-options{flex-wrap:wrap;gap:.5rem;display:flex}.filter-pill{border:1px solid var(--border);background:var(--surface-hover);color:var(--text-primary);cursor:pointer;border-radius:999px;padding:.3rem .7rem;font-size:.8rem;transition:all .2s}.filter-pill:hover{border-color:var(--primary)}.filter-pill.active{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 18%, var(--surface));color:var(--primary);font-weight:600}.winner-badge{background:color-mix(in srgb, var(--primary) 20%, var(--surface));color:var(--primary);border:1px solid color-mix(in srgb, var(--primary) 40%, var(--border));border-radius:999px;align-self:center;padding:.2rem .55rem;font-size:.72rem;font-weight:600}[data-theme=dark] .winner-badge{color:#93c5fd;background:#3b82f626;border-color:#3b82f666}.ai-conclusion{border:1px solid var(--border);border-radius:var(--radius-md);background:linear-gradient(145deg, color-mix(in srgb, var(--primary) 8%, var(--surface)) 0%, var(--surface) 100%);margin-top:1.5rem;padding:1.125rem}.ai-conclusion h3{margin:0 0 .5rem;font-size:1rem}.ai-conclusion p{margin:0;line-height:1.5}.ai-conclusion-content{flex-direction:column;gap:.95rem;display:flex}.ai-headline{color:var(--text-primary);margin:0;font-size:.98rem;font-weight:700}.ai-section h4{color:var(--text-secondary);letter-spacing:.01em;text-transform:uppercase;margin:0 0 .4rem;font-size:.88rem}.ai-section p{color:var(--text-primary);margin:0}.ai-section ul{gap:.3rem;margin:.35rem 0 0;padding-left:1.1rem;display:grid}.ai-section li{color:var(--text-primary);line-height:1.45}.ai-question-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.65rem;display:grid}.ai-question-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;gap:.35rem;padding:.75rem;display:flex}.ai-question-card h5{color:var(--text-primary);margin:0;font-size:.85rem}.ai-question-card p{margin:0;font-size:.84rem}.ai-question-card ul{margin-top:.2rem}.dynamic-summary-container .summary-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.dynamic-summary-container.collapsed .dynamic-summary-data-part>:not(.summary-header),.dynamic-summary-container.collapsed .dynamic-summary-conclusion-part{display:none!important}.dynamic-summary-container .btn-ghost{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:.4rem .6rem}.dynamic-summary-container .btn-ghost:hover{border-color:color-mix(in srgb, var(--primary) 20%, var(--border))}.ai-summary{border-top:1px dashed var(--border);padding-top:.65rem}@media (width<=768px){.results-header{margin-bottom:1.5rem}.results-title{font-size:1.5rem}.results-grid{grid-template-columns:1fr;gap:.75rem}.results-filters-header{align-items:flex-start}.ai-question-grid{grid-template-columns:1fr}}@media (width<=480px){.results-header{flex-direction:row;align-items:center}.results-header .btn{padding:.4rem}}.btn-loading-content{align-items:center;gap:.5rem;display:flex}.ai-spinner{animation:1s linear infinite spin}.ai-loading-indicator{background:color-mix(in srgb, var(--primary) 5%, var(--surface));border:1px dashed color-mix(in srgb, var(--primary) 30%, var(--border));border-radius:var(--radius-md);flex-direction:column;gap:1rem;padding:1.25rem;animation:.3s fadeIn;display:flex}.ai-skeleton-wrapper{flex-direction:column;gap:.6rem;display:flex}.ai-skeleton-line{background:linear-gradient(90deg, var(--border) 25%, color-mix(in srgb, var(--primary) 15%, var(--border)) 50%, var(--border) 75%);border-radius:var(--radius-sm);background-size:200% 100%;height:.7rem;animation:1.5s infinite shimmer}.ai-skeleton-line.short{width:40%}.ai-skeleton-line.medium{width:65%}.ai-skeleton-block{background:linear-gradient(90deg, var(--border) 25%, color-mix(in srgb, var(--primary) 15%, var(--border)) 50%, var(--border) 75%);border-radius:var(--radius-md);background-size:200% 100%;height:3.5rem;margin-top:.35rem;animation:1.5s .1s infinite shimmer}.ai-loading-text{color:var(--primary);justify-content:center;align-items:center;gap:.25rem;margin:0;font-size:.875rem;font-weight:500;display:flex}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.territorial-skeleton-chart{border-radius:var(--radius-md);background:linear-gradient(90deg, var(--border) 25%, color-mix(in srgb, var(--primary) 15%, var(--border)) 50%, var(--border) 75%);background-size:200% 100%;width:100%;height:320px;animation:1.5s infinite shimmer}.territorial-skeleton-summary{flex-direction:column;gap:.6rem;display:flex}.territorial-skeleton-summary .skeleton-row{background:linear-gradient(90deg, var(--border) 25%, color-mix(in srgb, var(--primary) 15%, var(--border)) 50%, var(--border) 75%);border-radius:var(--radius-sm);background-size:200% 100%;justify-content:space-between;height:2rem;padding:.5rem;animation:1.5s infinite shimmer;display:flex}.territorial-skeleton-summary .skeleton-row:first-child{animation-delay:0s}.territorial-skeleton-summary .skeleton-row:nth-child(2){animation-delay:.1s}.territorial-skeleton-summary .skeleton-row:nth-child(3){animation-delay:.2s}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.loading-dots:after{content:"";animation:1.5s steps(4,end) infinite loadingDots}@keyframes loadingDots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}.equity-report{color:var(--text-primary);border:1px solid var(--border);background:#fff;border-radius:12px;margin-top:1.5rem;font-family:inherit;overflow:hidden;box-shadow:0 4px 6px -1px #00000014,0 2px 4px -1px #0000000a}.equity-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.equity-title-group{align-items:center;gap:.875rem;display:flex}.equity-icon-container{background:#3b82f61a;border-radius:8px;justify-content:center;align-items:center;padding:.5rem;display:flex}.equity-icon{color:#3b82f6}.equity-texts{flex-direction:column;gap:.25rem;display:flex}.equity-title{color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:700;line-height:1.2}.equity-subtitle{color:var(--text-secondary);margin:0;font-size:.875rem}.equity-btn-pdf{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background .2s;display:flex}.equity-btn-pdf:hover{background:#2563eb}.equity-body{grid-template-columns:1fr 1fr;gap:2rem;padding:1.5rem;display:grid}@media (width<=768px){.equity-body{grid-template-columns:1fr;gap:1.5rem}}.equity-col{flex-direction:column;gap:1rem;display:flex}.equity-col-title{color:var(--text-primary);letter-spacing:.05em;text-transform:uppercase;margin:0 0 .5rem;font-size:.75rem;font-weight:700}.equity-card{background:var(--surface-hover);border:1px solid var(--border);border-radius:8px;padding:1rem}.equity-card.highlight-card{background:color-mix(in srgb, var(--primary) 4%, var(--surface))}.equity-card-header{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.equity-status-icon.success{color:#10b981}.equity-status-icon.warning{color:#f59e0b}.equity-status-icon.highlight{color:#3b82f6}.equity-card-title{color:var(--text-primary);font-size:.95rem;font-weight:600}.equity-card-desc{color:var(--text-secondary);margin:0;font-size:.875rem;line-height:1.5}.equity-card-desc strong{color:var(--text-primary)}.equity-recommendations{margin-top:.5rem}.equity-rec-title{color:var(--text-primary);margin:0 0 .75rem;font-size:.875rem;font-weight:600}.equity-rec-list{flex-direction:column;gap:.75rem;margin:0;padding-left:1.25rem;display:flex}.equity-rec-list li{color:var(--text-secondary);font-size:.875rem;line-height:1.5}.equity-rec-list li::marker{color:var(--text-muted)}.equity-rec-list li strong{color:var(--text-primary);margin-right:.25rem}.equity-footer{background:var(--surface-hover);border-top:1px solid var(--border);color:var(--text-muted);text-align:center;padding:1rem 1.5rem;font-size:.75rem;font-style:italic}.equity-selectors{border-bottom:1px solid var(--border);background:var(--surface-hover);grid-template-columns:1fr 1fr;gap:1rem;padding:1rem 1.5rem;display:grid}@media (width<=768px){.equity-selectors{grid-template-columns:1fr}}.equity-selector-group{flex-direction:column;gap:.35rem;min-width:0;display:flex}.equity-selector-label{color:var(--text-secondary);letter-spacing:.02em;font-size:.75rem;font-weight:600}.equity-select{background:var(--surface);border:1px solid var(--border);width:100%;max-width:100%;color:var(--text-primary);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border-radius:6px;outline:none;padding:.45rem .6rem;font-size:.82rem;transition:border-color .2s;overflow:hidden}.equity-select:focus{border-color:#3b82f6}.equity-table-wrapper{border:1px solid var(--border);border-radius:8px;margin-top:.75rem;overflow-x:auto}.equity-table{border-collapse:collapse;width:100%;font-size:.84rem}.equity-table thead th{background:var(--surface-hover);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:.65rem .75rem;font-size:.75rem;font-weight:600}.equity-table tbody tr{border-bottom:1px solid var(--border);transition:background .15s}.equity-table tbody tr:last-child{border-bottom:none}.equity-table tbody tr:hover{background:#3b82f60a}.equity-table tbody td{color:var(--text-primary);white-space:nowrap;padding:.6rem .75rem}.equity-cell-cat{text-overflow:ellipsis;max-width:200px;font-weight:600;overflow:hidden;color:var(--text-primary)!important}.equity-cell-count{margin-right:.4rem;font-weight:500}.equity-cell-pct{border-radius:4px;padding:.15rem .4rem;font-size:.72rem;font-weight:600}.equity-cell-pct.ok{color:#059669;background:#10b9811f}.equity-cell-pct.over{color:#dc2626;background:#ef44441f}.equity-cell-pct.under{color:#d97706;background:#f59e0b1f}.equity-cell-total{font-weight:700;color:var(--text-primary)!important}.equity-badge{white-space:nowrap;letter-spacing:.01em;border-radius:999px;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.72rem;font-weight:700;display:inline-flex;box-shadow:0 1px 2px #0000000d}.equity-badge.balanced{color:#166534;background:#dcfce7;border:1px solid #bbf7d0}.equity-badge.segregated{color:#991b1b;background:#fee2e2;border:1px solid #fecaca}.equity-badge.risk{color:#92400e;background:#fef3c7;border:1px solid #fde68a}.equity-badge.neutral{color:#374151;background:#f3f4f6;border:1px solid #e5e7eb}.equity-row-segregated{background:#ef44440d!important}.equity-row-segregated:hover{background:#ef444414!important}.equity-row-risk{background:#f59e0b0d!important}.equity-row-risk:hover{background:#f59e0b14!important}.equity-visual-bars{flex-direction:column;gap:.5rem;margin-top:1.25rem;display:flex}.equity-bar-row{align-items:center;gap:.65rem;display:flex}.equity-bar-label{width:120px;min-width:120px;color:var(--text-primary);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:500;overflow:hidden}.equity-bar-track{background:var(--surface-hover);border-radius:4px;flex:1;height:20px;display:flex;overflow:hidden}.equity-bar-segment{height:100%;transition:width .4s}.equity-bar-status{text-align:center;width:20px;font-size:.85rem}.equity-bar-legend{border-top:1px dashed var(--border);flex-wrap:wrap;gap:1rem;margin-top:.5rem;padding-top:.5rem;display:flex}.equity-bar-legend-item{color:var(--text-secondary);align-items:center;gap:.35rem;font-size:.75rem;display:inline-flex}.equity-insights-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.75rem;display:grid}.equity-threshold-pills{flex-wrap:wrap;gap:.5rem;margin:.75rem 0 1rem;display:flex}.equity-threshold-pill{border:1px solid var(--border);background:var(--surface-hover);color:var(--text-secondary);cursor:pointer;border-radius:999px;align-items:center;gap:.35rem;padding:.4rem .85rem;font-size:.8rem;font-weight:500;transition:all .2s;display:inline-flex;position:relative}.equity-threshold-pill:hover{border-color:var(--text-muted);color:var(--text-primary)}.equity-threshold-pill.active{color:#2563eb;background:#3b82f61a;border-color:#3b82f6;font-weight:600}.equity-threshold-pill.recommended{border-color:#10b98159}.equity-threshold-pill.recommended.active{color:#059669;background:#10b9811a;border-color:#10b981}.equity-pill-badge{text-transform:uppercase;letter-spacing:.04em;color:#059669;background:#10b98126;border-radius:4px;padding:.1rem .4rem;font-size:.58rem;font-weight:700;line-height:1.3}.equity-strategic-conclusion{border-top:1px dashed var(--border);padding-top:1rem}.equity-strategic-text{flex-direction:column;gap:.65rem;display:flex}.equity-strategic-text p{color:var(--text-secondary);margin:0;font-size:.875rem;line-height:1.65}.equity-strategic-text p strong{color:var(--text-primary)}.equity-strategic-recommendation{background:color-mix(in srgb, var(--primary) 5%, var(--surface));border-left:4px solid var(--primary);border-radius:0 var(--radius-md) var(--radius-md) 0;box-shadow:var(--shadow-sm);margin-bottom:.5rem;padding:1rem 1.25rem;color:var(--text-primary)!important}.equity-strategic-recommendation strong{color:var(--primary)}.equity-strategic-keys{background:var(--surface-hover);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:.5rem;margin-top:.5rem;padding:.75rem;display:flex}.equity-key-item{color:var(--text-secondary);align-items:flex-start;gap:.5rem;font-size:.82rem;line-height:1.45;display:flex}.equity-key-item strong{color:var(--text-primary)}.equity-key-item svg{flex-shrink:0;margin-top:2px}.equity-key-item.winner svg{color:#059669}.equity-key-item.filter svg{color:#2563eb}.equity-key-item.contrast svg{color:#d97706}[data-theme=dark] .equity-report{color:#f9fafb;background:#111827;border-color:#1f2937;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}[data-theme=dark] .equity-header{border-bottom-color:#1f2937}[data-theme=dark] .equity-title{color:#f9fafb}[data-theme=dark] .equity-subtitle{color:#9ca3af}[data-theme=dark] .equity-col-title{color:#e5e7eb}[data-theme=dark] .equity-card{background:#1f293799;border-color:#374151}[data-theme=dark] .equity-card.highlight-card{background:#1f293766}[data-theme=dark] .equity-card-title{color:#f3f4f6}[data-theme=dark] .equity-card-desc{color:#9ca3af}[data-theme=dark] .equity-card-desc strong{color:#f3f4f6}[data-theme=dark] .equity-status-icon.highlight{color:#60a5fa}[data-theme=dark] .equity-rec-title{color:#e5e7eb}[data-theme=dark] .equity-rec-list li{color:#9ca3af}[data-theme=dark] .equity-rec-list li::marker{color:#6b7280}[data-theme=dark] .equity-rec-list li strong{color:#d1d5db}[data-theme=dark] .equity-footer{color:#6b7280;background:#111827;border-top-color:#1f2937}[data-theme=dark] .equity-selectors{background:#11182780;border-bottom-color:#1f2937}[data-theme=dark] .equity-selector-label{color:#9ca3af}[data-theme=dark] .equity-select{color:#d1d5db;background:#1f293799;border-color:#374151}[data-theme=dark] .equity-table-wrapper{border-color:#1f2937}[data-theme=dark] .equity-table thead th{color:#9ca3af;background:#1f2937cc;border-bottom-color:#374151}[data-theme=dark] .equity-table tbody tr{border-bottom-color:#1f2937}[data-theme=dark] .equity-table tbody td{color:#e5e7eb}[data-theme=dark] .equity-cell-cat{color:#f3f4f6!important}[data-theme=dark] .equity-cell-pct.ok{color:#34d399}[data-theme=dark] .equity-cell-pct.over{color:#f87171}[data-theme=dark] .equity-cell-pct.under{color:#fbbf24}[data-theme=dark] .equity-cell-total{color:#f9fafb!important}[data-theme=dark] .equity-badge.balanced{color:#34d399;background:#10b98133;border-color:#10b9814d}[data-theme=dark] .equity-badge.segregated{color:#f87171;background:#ef444433;border-color:#ef44444d}[data-theme=dark] .equity-badge.risk{color:#fbbf24;background:#f59e0b33;border-color:#f59e0b4d}[data-theme=dark] .equity-badge.neutral{color:#d1d5db;background:#4b556333;border-color:#4b55634d}[data-theme=dark] .equity-bar-label{color:#d1d5db}[data-theme=dark] .equity-bar-track{background:#1f293780}[data-theme=dark] .equity-bar-legend{border-top-color:#1f2937}[data-theme=dark] .equity-bar-legend-item{color:#9ca3af}[data-theme=dark] .equity-threshold-pill{color:#9ca3af;background:#1f293780;border-color:#374151}[data-theme=dark] .equity-threshold-pill:hover{color:#d1d5db;border-color:#6b7280}[data-theme=dark] .equity-threshold-pill.active{color:#93c5fd;background:#3b82f626}[data-theme=dark] .equity-threshold-pill.recommended.active{color:#6ee7b7;background:#10b98126}[data-theme=dark] .equity-pill-badge{color:#34d399;background:#10b98133}[data-theme=dark] .equity-strategic-conclusion{border-top-color:#1f2937}[data-theme=dark] .equity-strategic-text p{color:#d1d5db}[data-theme=dark] .equity-strategic-text p strong{color:#f3f4f6}[data-theme=dark] .equity-strategic-recommendation{color:#93c5fd!important}[data-theme=dark] .equity-strategic-keys{background:#1f293766;border-color:#1f2937}[data-theme=dark] .equity-key-item{color:#9ca3af}[data-theme=dark] .equity-key-item strong{color:#d1d5db}[data-theme=dark] .equity-key-item.winner svg{color:#34d399}[data-theme=dark] .equity-key-item.filter svg{color:#60a5fa}[data-theme=dark] .equity-key-item.contrast svg{color:#fbbf24}@media print{*,:before,:after{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important;page-break-inside:auto!important}@page{margin:10mm;size:A4}body{background:var(--background)!important;color:var(--text-primary)!important}#root>:not(main),header,nav,footer,.results-header,.results-grid:not(.dynamic-summary-container .results-grid){display:none!important}.dynamic-summary-container{background:var(--background)!important;width:100%!important;color:var(--text-primary)!important;box-shadow:none!important;border:none!important;margin:0!important;padding:20px!important;display:block!important;position:static!important}.dynamic-summary-container .input-field,.dynamic-summary-container button:not(.print-only),.dynamic-summary-container select,.dynamic-summary-container .btn,.equity-selectors,.equity-btn-pdf,.ai-spinner,.loading-dots{display:none!important}.dynamic-summary-conclusion-part,.ai-conclusion{background:var(--background)!important;border:1px solid var(--border)!important;border-radius:var(--radius-md)!important}.card,.equity-report{background:var(--surface)!important;border:1px solid var(--border)!important;border-radius:12px!important;padding:1.5rem!important}.equity-header{background:var(--background)!important;border-bottom:1px solid var(--border)!important;page-break-after:avoid!important}.equity-body{grid-template-columns:1fr!important;padding:1.5rem!important}.equity-table-wrapper{border:1px solid var(--border)!important;border-radius:8px!important;overflow:visible!important}.equity-table{table-layout:fixed!important;width:100%!important}.equity-table thead th,.equity-table tbody td{white-space:normal!important;word-break:break-word!important;overflow-wrap:break-word!important}.equity-cell-cat{max-width:none!important;text-overflow:unset!important;overflow:visible!important}.equity-table thead th{background:var(--surface-hover)!important;color:var(--text-secondary)!important;border-bottom:1px solid var(--border)!important}.equity-table tbody tr{border-bottom:1px solid var(--border)!important}.equity-bar-track{background:var(--surface-hover)!important}.equity-badge{border:none!important}.equity-badge.balanced{color:#34d399!important;background:#10b98126!important}.equity-badge.segregated{color:#f87171!important;background:#ef444426!important}.equity-badge.risk{color:#fbbf24!important;background:#f59e0b26!important}.equity-strategic-recommendation{color:var(--text-primary)!important;background:#3b82f61a!important;border-left:3px solid #3b82f6!important}.equity-strategic-keys{background:var(--surface-hover)!important;border:1px solid var(--border)!important}.equity-card{background:var(--surface)!important;border:1px solid var(--border)!important}.equity-insights-grid{display:block!important}.equity-footer{background:var(--background)!important;border-top:1px solid var(--border)!important;color:var(--text-muted)!important}.equity-strategic-conclusion{page-break-before:always!important}}.students-header{justify-content:space-between;align-items:center;gap:2rem;margin-bottom:2.5rem;display:flex}.students-title{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.025em;margin:0;font-size:2.25rem;font-weight:800}.students-subtitle{color:var(--text-secondary);margin:.25rem 0 0;font-size:1.1rem}.students-toolbar{background:var(--surface);border-radius:var(--radius-xl);border:1px solid var(--border);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:1.5rem;padding:1rem;display:flex}.filter-toggle{align-items:center;gap:.5rem;padding:.75rem 1.25rem;display:flex}.filter-badge{color:var(--primary);font-size:1rem}.filters-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);margin-bottom:2rem;padding:1.5rem}.filters-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;display:grid}.filter-group label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.8rem;font-weight:700}.filter-group select{border:1px solid var(--border);border-radius:var(--radius-lg);background-color:var(--background);width:100%;color:var(--text-primary);padding:.75rem;font-size:.9rem}.students-stats{color:var(--text-secondary);margin-bottom:1.25rem;padding-left:.5rem;font-size:.95rem;font-weight:500}.students-table-wrapper{background-color:var(--surface);border-radius:var(--radius-xl);border:1px solid var(--border);box-shadow:var(--shadow-lg);overflow:hidden}.students-table{border-collapse:separate;border-spacing:0;text-align:left;width:100%}.students-table th{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background-color:var(--background);border-bottom:1px solid var(--border);padding:1.25rem 1.5rem;font-size:.85rem;font-weight:700}.students-table td{border-bottom:1px solid var(--border);background-color:var(--surface);transition:background-color var(--transition-fast);padding:1.25rem 1.5rem}.students-table tr:hover td{background-color:var(--surface-hover)}.students-table tr.retired td{opacity:.7}.student-info-cell{align-items:center;gap:1.25rem;display:flex}.student-details{flex-direction:column;display:flex}.student-name-text{color:var(--text-primary);font-size:1.05rem;font-weight:700}.run-badge{color:var(--text-secondary);background:var(--background);border-radius:var(--radius-md);border:1px solid var(--border);width:fit-content;margin-top:.2rem;padding:.15rem .5rem;font-family:monospace;font-size:.85rem}.course-badge{border-radius:var(--radius-md);color:var(--primary);background-color:#1e3a8a14;border:1px solid #1e3a8a1a;padding:.35rem .75rem;font-size:.85rem;font-weight:600;display:inline-flex}.gender-badge{border-radius:var(--radius-full);text-transform:uppercase;padding:.3rem .75rem;font-size:.8rem;font-weight:700}.gender-badge.m{color:#3b82f6;background:#3b82f61a}.gender-badge.f{color:#ec4899;background:#ec48991a}.contact-info{flex-direction:column;gap:.4rem;display:flex}.contact-item{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.status-tag{border-radius:var(--radius-full);text-transform:uppercase;align-items:center;gap:.4rem;padding:.25rem .6rem;font-size:.75rem;font-weight:700;display:inline-flex}.status-tag.active{color:#10b981;background-color:#10b9811a}.status-tag.retired{color:#ef4444;background-color:#ef44441a}.pagination{justify-content:center;align-items:center;gap:1.5rem;margin-top:2.5rem;padding:1rem;display:flex}.pagination-info{color:var(--text-secondary);font-size:.95rem;font-weight:600}.actions-cell{justify-content:flex-end;gap:.75rem;display:flex}@media (width<=1024px){.students-toolbar{flex-direction:column;align-items:stretch}.search-box{max-width:100%}}.student-form-container{max-width:1000px;margin:0 auto;padding:2rem 0}.back-btn{border-radius:var(--radius-lg);align-items:center;gap:.5rem;padding:.6rem 1.2rem;display:flex}.student-form{flex-direction:column;gap:2.5rem;display:flex}.form-row{gap:2rem;margin-bottom:1.5rem;display:grid}.form-row.two-cols{grid-template-columns:1fr 1fr}.form-row.three-cols{grid-template-columns:1fr 1fr 1fr}.form-group{flex-direction:column;gap:.6rem;display:flex}.form-group.full-width{grid-column:1/-1}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--border);border-radius:var(--radius-lg);background-color:var(--background);width:100%;color:var(--text-primary);transition:all var(--transition-normal);padding:.85rem 1rem;font-size:.95rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary);background-color:var(--surface);outline:none;box-shadow:0 0 0 4px #1e3a8a14}.form-group input:disabled{background-color:var(--background);opacity:.6;cursor:not-allowed}.form-actions{justify-content:flex-end;gap:1.25rem;margin-top:1rem;padding-top:1.5rem;display:flex}.form-actions .btn{border-radius:var(--radius-lg);padding:.8rem 2rem;font-weight:600}@media (width<=768px){.form-section{padding:1.5rem}.form-row.two-cols,.form-row.three-cols{grid-template-columns:1fr;gap:1.25rem}}.page-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.page-title{color:var(--text-primary);margin:0;font-size:1.875rem;font-weight:700}.page-subtitle{color:var(--text-secondary);margin:.25rem 0 0}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.categories-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.category-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:all var(--transition-fast);flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.category-card:hover{border-color:var(--primary);box-shadow:0 4px 12px #00000014}.category-card-header{align-items:center;gap:.75rem;display:flex}.category-color{border-radius:50%;flex-shrink:0;width:16px;height:16px}.category-name{color:var(--text-primary);margin:0;font-size:1.125rem;font-weight:600}.category-card-body{flex:1}.category-count{color:var(--text-secondary);margin:0;font-size:.875rem}.category-card-actions{gap:.5rem;display:flex}.category-card-actions .btn{flex:1;justify-content:center;padding:.5rem .75rem;font-size:.8125rem}.color-picker{flex-wrap:wrap;gap:.5rem;display:flex}.color-option{cursor:pointer;width:32px;height:32px;transition:all var(--transition-fast);border:2px solid #0000;border-radius:50%}.color-option:hover{transform:scale(1.1)}.color-option.selected{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--text-primary)}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:0 20px 40px #0003}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.modal-header h3{color:var(--text-primary);margin:0;font-size:1.125rem;font-weight:600}.modal-body{padding:1.25rem}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem;display:flex}.btn-icon{cursor:pointer;color:var(--text-secondary);border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:.375rem;display:flex}.btn-icon:hover{background:var(--surface-hover);color:var(--text-primary)}@media (width<=768px){.page-header{flex-direction:column;align-items:flex-start}.page-title{font-size:1.375rem}.categories-grid{grid-template-columns:1fr}.category-card-actions{flex-direction:column}}.automation-admin-container{max-width:1400px;margin:0 auto;padding:2rem;font-family:Inter,system-ui,sans-serif;animation:.5s ease-out fadeIn}.automation-header{border-bottom:1px solid var(--border,#e2e8f0);justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}.automation-header h1{background:linear-gradient(135deg, var(--primary,#4f46e5) 0%, #7c3aed 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0;font-size:2rem;font-weight:800}.automation-subtitle{color:var(--text-secondary,#64748b);margin-top:.5rem}.header-controls{align-items:center;gap:1rem;display:flex}.search-bar{position:relative}.search-icon{color:var(--text-muted,#94a3b8);position:absolute;top:50%;left:10px;transform:translateY(-50%)}.search-input{border:1px solid var(--border,#e2e8f0);background:var(--surface,#fff);color:var(--text-primary,#1e293b);border-radius:10px;outline:none;padding:.6rem 1rem .6rem 2.2rem}.search-input::placeholder{color:var(--text-muted,#94a3b8)}.view-controls{background:var(--background,#f8fafc);border:1px solid var(--border,#e2e8f0);border-radius:12px;gap:1rem;padding:.5rem;display:flex}.view-btn{color:var(--text-secondary,#64748b);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-weight:600;transition:all .2s;display:flex}.view-btn.active{background:var(--surface,white);color:var(--primary,#4f46e5);box-shadow:0 4px 6px -1px #0000001a}.close-btn{cursor:pointer;color:var(--text-secondary,#64748b);background:0 0;border:none;transition:color .2s}.close-btn:hover{color:var(--text-primary,#1e293b)}.kanban-board{gap:1.5rem;min-height:calc(100vh - 250px);padding-bottom:1rem;display:flex;overflow-x:auto}.kanban-column{background:var(--background,#f1f5f9);border-radius:16px;flex-direction:column;width:320px;min-width:320px;max-height:100%;display:flex}.column-header{justify-content:space-between;align-items:center;padding:1.25rem;display:flex}.column-header h2{text-transform:uppercase;letter-spacing:.05em;color:var(--text-primary,#1e293b);align-items:center;gap:.5rem;margin:0;font-size:1rem;font-weight:700;display:flex}.column-count{background:var(--surface,#e2e8f0);color:var(--text-secondary,#475569);border-radius:20px;padding:.2rem .6rem;font-size:.75rem;font-weight:700}.task-list{flex:1;min-height:100px;padding:.75rem;transition:background .2s}.kanban-card{background:var(--surface,#fff);border:1px solid var(--border,#f1f5f9);cursor:grab;border-radius:12px;margin-bottom:1rem;padding:1.25rem;transition:all .2s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;box-shadow:0 2px 4px #0000000d}.kanban-card.has-card-color:before{content:"";background:var(--card-color);opacity:.15;border-radius:inherit;pointer-events:none;z-index:0;position:absolute;inset:0}.kanban-card.has-card-color>*{z-index:1;position:relative}.kanban-card:hover{border-color:var(--primary-light,#e0e7ff);transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a}.priority-high{color:#ef4444;border-left-color:#ef4444}.priority-medium{color:#f59e0b;border-left-color:#f59e0b}.priority-low{color:#10b981;border-left-color:#10b981}.kanban-card{border-left-style:solid;border-left-width:4px}.kanban-card.has-card-color{border-left-width:8px}.card-title{color:var(--text-primary,#1e293b);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:.5rem;font-size:1rem;font-weight:700;display:-webkit-box;overflow:hidden}.card-meta{color:var(--text-secondary,#64748b);justify-content:space-between;align-items:center;margin-top:1rem;font-size:.75rem;display:flex}.card-meta-date{align-items:center;gap:.25rem;display:flex}.card-meta-evidence{color:var(--text-muted,#64748b);align-items:center;gap:.2rem;display:flex}.card-issuer-badge{color:var(--primary,#4f46e5);background:#4f46e51a;border-radius:6px;align-items:center;gap:.5rem;width:fit-content;margin-bottom:.75rem;padding:.3rem .6rem;font-size:.8rem;font-weight:700;display:flex}.user-badge{background:var(--background,#f1f5f9);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;align-items:center;gap:.4rem;max-width:120px;padding:.2rem .5rem;display:flex;overflow:hidden}.user-badge-inline{background:0 0;padding:0}.list-view-container{background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);border-radius:16px;overflow:hidden;box-shadow:0 4px 6px -1px #0000000d}.automation-table{border-collapse:collapse;width:100%}.automation-table th{text-align:left;background:var(--background,#f8fafc);color:var(--text-secondary,#64748b);text-transform:uppercase;letter-spacing:.05em;padding:1.25rem;font-size:.85rem;font-weight:700}.automation-table td{border-bottom:1px solid var(--border,#f1f5f9);vertical-align:middle;padding:1.25rem}.automation-table tr:hover{background:#4f46e505}.table-title{color:var(--text-primary,#1e293b);font-weight:600}.table-date{color:var(--text-secondary,#64748b);font-size:.9rem}.table-empty{text-align:center;color:var(--text-muted,#64748b);padding:3rem}.automation-loading{text-align:center;color:var(--text-secondary,#64748b);padding:5rem}.priority-pill{border-radius:20px;align-items:center;gap:.3rem;padding:.25rem .75rem;font-size:.75rem;font-weight:700;display:inline-flex}.priority-pill.high{color:#dc2626;background:#fee2e2}.priority-pill.medium{color:#d97706;background:#fef3c7}.priority-pill.low{color:#059669;background:#d1fae5}.status-badge{text-transform:uppercase;border-radius:20px;padding:.35rem .85rem;font-size:.75rem;font-weight:700}.status-badge.revision{color:#7c3aed;background:#f3e8ff}.status-badge.proceso{color:#2563eb;background:#dbeafe}.status-badge.concluido{color:#056143;background:#d1fae5}.status-badge.cancelado{color:#475569;background:#f1f5f9}.admin-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1100;background:#0f172a80;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.admin-modal-content{background:var(--surface,#fff);border-radius:24px;flex-direction:column;width:90%;max-width:700px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.admin-modal-header{border-bottom:1px solid var(--border,#e2e8f0);justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex}.admin-modal-header h2{color:var(--text-primary,#1e293b)}.admin-modal-body{padding:2rem;overflow-y:auto}.admin-ticket-info{background:var(--background,#f8fafc);border-radius:16px;margin-bottom:2rem;padding:1.5rem}.admin-ticket-title{color:var(--text-primary,#1e293b);margin-bottom:.5rem;font-size:1.1rem}.admin-ticket-description{color:var(--text-secondary,#475569);line-height:1.6}.admin-ticket-meta{color:var(--text-muted,#64748b);gap:1.5rem;margin-top:1.5rem;font-size:.85rem;display:flex}.admin-ticket-meta-item{align-items:center;gap:.4rem;display:flex}.admin-color-label{color:var(--text-muted,#64748b);font-size:.9rem}.admin-field{margin-bottom:1.5rem}.admin-field label{color:var(--text-secondary,#64748b);margin-bottom:.5rem;font-size:.9rem;font-weight:700;display:block}.admin-select,.admin-textarea{border:1px solid var(--border,#e2e8f0);background:var(--surface,#fff);width:100%;color:var(--text-primary,#1e293b);border-radius:10px;padding:.75rem;font-family:inherit;font-size:1rem}.admin-modal-footer{border-top:1px solid var(--border,#e2e8f0);justify-content:flex-end;gap:1rem;padding:1.5rem 2rem;display:flex}.save-btn{background:var(--primary,#4f46e5);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:.75rem 1.5rem;font-weight:600}.cancel-btn{background:var(--background,#f1f5f9);color:var(--text-secondary,#475569);cursor:pointer;border:none;border-radius:10px;padding:.75rem 1.5rem;font-weight:600}.evidence-section-title{color:var(--text-secondary,#64748b);align-items:center;gap:.5rem;margin:0;font-size:.85rem;font-weight:700;display:flex}.evidence-item{background:var(--background,#f1f5f9);border:1px solid var(--border,#e2e8f0);color:var(--text-primary,#1e293b);border-radius:10px;align-items:center;gap:1rem;padding:.75rem 1rem;text-decoration:none;transition:all .2s;display:flex}.evidence-item:hover{background:var(--surface-hover,#e2e8f0);border-color:var(--primary,#4f46e5)}.evidence-item-icon{color:var(--text-secondary,#64748b);flex-shrink:0}.evidence-item-arrow{color:var(--text-secondary,#64748b);flex-shrink:0}.no-evidence{text-align:center;color:var(--text-muted,#64748b);padding:2rem;font-style:italic}[data-theme=dark] .automation-header{border-bottom-color:var(--border)}[data-theme=dark] .search-input{background:var(--surface);color:var(--text-primary);border-color:var(--border)}[data-theme=dark] .view-controls{background:var(--surface);border-color:var(--border)}[data-theme=dark] .view-btn.active{background:var(--surface-hover);color:var(--primary)}[data-theme=dark] .close-btn{color:var(--text-secondary)}[data-theme=dark] .close-btn:hover{color:var(--text-primary)}[data-theme=dark] .kanban-card{background:var(--surface);border-color:var(--border)}[data-theme=dark] .kanban-card:hover{border-color:var(--primary)}[data-theme=dark] .kanban-card.has-card-color:before{opacity:.2}[data-theme=dark] .column-count{background:var(--surface-hover);color:var(--text-secondary)}[data-theme=dark] .card-issuer-badge{background:#4f46e533}[data-theme=dark] .user-badge{background:var(--surface-hover)}[data-theme=dark] .list-view-container{background:var(--surface);border-color:var(--border)}[data-theme=dark] .automation-table th{background:var(--surface-hover);color:var(--text-secondary)}[data-theme=dark] .automation-table td{border-bottom-color:var(--border)}[data-theme=dark] .automation-table tr:hover{background:#4f46e50d}[data-theme=dark] .table-title{color:var(--text-primary)}[data-theme=dark] .table-date{color:var(--text-secondary)}[data-theme=dark] .priority-pill.high{color:#fca5a5;background:#ef444433}[data-theme=dark] .priority-pill.medium{color:#fcd34d;background:#f59e0b33}[data-theme=dark] .priority-pill.low{color:#6ee7b7;background:#10b98133}[data-theme=dark] .status-badge.revision{color:#c4b5fd;background:#7c3aed33}[data-theme=dark] .status-badge.proceso{color:#93c5fd;background:#2563eb33}[data-theme=dark] .status-badge.concluido{color:#6ee7b7;background:#05966933}[data-theme=dark] .status-badge.cancelado{color:#94a3b8;background:#47376433}[data-theme=dark] .admin-modal-content{background:var(--surface)}[data-theme=dark] .admin-modal-header{border-bottom-color:var(--border)}[data-theme=dark] .admin-modal-header h2{color:var(--text-primary)}[data-theme=dark] .admin-modal-body .admin-field label{color:var(--text-secondary)}[data-theme=dark] .admin-select,[data-theme=dark] .admin-textarea{background:var(--surface);color:var(--text-primary);border-color:var(--border)}[data-theme=dark] .admin-modal-footer{border-top-color:var(--border)}[data-theme=dark] .cancel-btn{background:var(--surface-hover);color:var(--text-secondary)}[data-theme=dark] .admin-ticket-info{background:var(--surface-hover)}[data-theme=dark] .admin-ticket-title{color:var(--text-primary)}[data-theme=dark] .admin-ticket-description{color:var(--text-secondary)}[data-theme=dark] .admin-ticket-meta,[data-theme=dark] .admin-color-label{color:var(--text-muted)}[data-theme=dark] .evidence-item{background:var(--surface);border-color:var(--border)}[data-theme=dark] .evidence-item:hover{background:var(--surface-hover)}[data-theme=dark] .evidence-item-icon{color:var(--text-secondary)}[data-theme=dark] .evidence-item-name{color:var(--text-primary)}[data-theme=dark] .evidence-item-date,[data-theme=dark] .evidence-item-arrow,[data-theme=dark] .evidence-section-title{color:var(--text-secondary)}[data-theme=dark] .no-evidence{color:var(--text-muted)}.funcionarios-page{max-width:1400px;margin:0 auto;padding:1.5rem 0}.funcionarios-header{justify-content:space-between;align-items:center;gap:2rem;margin-bottom:2.5rem;display:flex}.funcionarios-title{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.025em;margin:0;font-size:2.25rem;font-weight:800}.funcionarios-subtitle{color:var(--text-secondary);margin:.25rem 0 0;font-size:1.1rem}.funcionarios-toolbar{background:var(--surface);border-radius:var(--radius-xl);border:1px solid var(--border);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:2rem;padding:1rem;display:flex}.tabs{background-color:var(--background);border-radius:var(--radius-lg);border:1px solid var(--border);gap:.25rem;padding:.4rem;display:flex}.tab-btn{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-normal);background:0 0;border:none;align-items:center;gap:.6rem;padding:.6rem 1.25rem;font-size:.95rem;font-weight:600;display:flex}.tab-btn:hover{color:var(--text-primary);background-color:#00000008}[data-theme=dark] .tab-btn:hover{background-color:#ffffff0d}.tab-btn.active{background-color:var(--surface);color:var(--primary);box-shadow:var(--shadow-md)}[data-theme=dark] .tab-btn.active{background-color:var(--primary);color:#fff}.search-box{flex:1;max-width:450px;position:relative}.search-icon{color:var(--text-muted);transition:color var(--transition-fast);position:absolute;top:50%;left:1.1rem;transform:translateY(-50%)}.search-input{border:1px solid var(--border);border-radius:var(--radius-lg);background-color:var(--background);width:100%;color:var(--text-primary);transition:all var(--transition-normal);padding:.8rem 1rem .8rem 2.8rem;font-size:.95rem}.search-input:focus{border-color:var(--primary);background-color:var(--surface);outline:none;box-shadow:0 0 0 4px #1e3a8a14}.search-input:focus+.search-icon{color:var(--primary)}.funcionarios-stats{color:var(--text-secondary);margin-bottom:1.25rem;padding-left:.5rem;font-size:.95rem;font-weight:500}.funcionarios-table-wrapper{background-color:var(--surface);border-radius:var(--radius-xl);border:1px solid var(--border);box-shadow:var(--shadow-lg);overflow:hidden}.funcionarios-table{border-collapse:separate;border-spacing:0;text-align:left;width:100%}.funcionarios-table th{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background-color:var(--background);border-bottom:1px solid var(--border);padding:1.25rem 1.5rem;font-size:.85rem;font-weight:700}.funcionarios-table td{border-bottom:1px solid var(--border);vertical-align:middle;background-color:var(--surface);transition:background-color var(--transition-fast);padding:1.25rem 1.5rem}.funcionarios-table tr:last-child td{border-bottom:none}.funcionarios-table tr:hover td{background-color:var(--surface-hover)}.funcionario-info-cell{align-items:center;gap:1.25rem;display:flex}.avatar-initials{border-radius:var(--radius-full);color:#fff;background:linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1rem;font-weight:700;display:flex;box-shadow:0 4px 10px #1e3a8a33}.funcionario-details{flex-direction:column;display:flex}.funcionario-name{color:var(--text-primary);font-size:1.05rem;font-weight:700}.funcionario-rut{color:var(--text-secondary);background:var(--background);border-radius:var(--radius-md);width:fit-content;margin-top:.2rem;padding:.1rem .5rem;font-family:monospace;font-size:.9rem}.cargo-badge{border-radius:var(--radius-md);color:var(--primary);background-color:#1e3a8a14;border:1px solid #1e3a8a1a;padding:.35rem .75rem;font-size:.85rem;font-weight:600;display:inline-flex}.nivel-text{color:var(--text-muted);margin-top:.4rem;font-size:.8rem;font-weight:500;display:block}.status-indicator{border-radius:var(--radius-full);text-transform:uppercase;align-items:center;gap:.4rem;padding:.25rem .6rem;font-size:.75rem;font-weight:700;display:inline-flex}.status-active{color:#10b981;background-color:#10b9811a}.status-retired{color:#ef4444;background-color:#ef44441a}.contact-link{color:var(--text-secondary);transition:color var(--transition-fast);align-items:center;gap:.5rem;margin-bottom:.4rem;font-size:.9rem;text-decoration:none;display:flex}.contact-link:hover{color:var(--primary)}.contact-link svg{color:var(--text-muted);transition:color var(--transition-fast)}.contact-link:hover svg{color:var(--primary)}.date-tag{flex-direction:column;gap:.25rem;display:flex}.date-tag span{color:var(--text-secondary);font-size:.85rem}.date-tag strong{color:var(--text-muted);text-transform:uppercase;margin-right:.2rem;font-size:.75rem}.action-buttons{gap:.75rem;display:flex}.action-btn{border-radius:var(--radius-lg);width:38px;height:38px;transition:all var(--transition-normal);border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);justify-content:center;align-items:center;display:flex}.action-btn:hover{box-shadow:var(--shadow-md);color:var(--primary);border-color:var(--primary);transform:translateY(-2px)}.btn-delete:hover{color:var(--error);border-color:var(--error);background-color:#ef44440d}@media (width<=1024px){.funcionarios-toolbar{flex-direction:column;align-items:stretch}.search-box{max-width:100%}}.funcionario-form-container{max-width:900px;margin:0 auto;padding:2rem 0}.form-header{align-items:center;gap:1.5rem;margin-bottom:3rem;display:flex}.form-header h1{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.025em;margin:0;font-size:2rem;font-weight:800}.back-btn{align-items:center;gap:.5rem;padding:.6rem 1.2rem;display:flex}.error-banner{color:var(--error);border-radius:var(--radius-lg);border-left:5px solid var(--error);background-color:#ef444414;margin-bottom:2.5rem;padding:1.25rem;font-weight:500}.funcionario-form{flex-direction:column;gap:2.5rem;display:flex}.form-section{background-color:var(--surface);border-radius:var(--radius-xl);border:1px solid var(--border);box-shadow:var(--shadow-lg);padding:2.5rem}.form-section h2{font-size:1.25rem;font-family:var(--font-display);color:var(--primary);border-bottom:1px solid var(--border);align-items:center;gap:.75rem;margin:0 0 2rem;padding-bottom:.75rem;font-weight:700;display:flex}.form-row{flex-wrap:wrap;gap:2rem;margin-bottom:1.5rem;display:flex}.form-group{flex-direction:column;flex:1;gap:.6rem;min-width:250px;display:flex}.form-group.full-width{flex:100%}.form-group label{color:var(--text-secondary);padding-left:.2rem;font-size:.9rem;font-weight:600}.required{color:var(--error)}.form-group input,.form-group select{border:1px solid var(--border);border-radius:var(--radius-lg);background-color:var(--background);color:var(--text-primary);transition:all var(--transition-normal);padding:.85rem 1rem;font-size:.95rem}.form-group input:focus,.form-group select:focus{border-color:var(--primary);background-color:var(--surface);outline:none;box-shadow:0 0 0 4px #1e3a8a14}.form-group input.error{border-color:var(--error);background-color:#ef444405}.field-error{color:var(--error);padding-left:.2rem;font-size:.85rem;font-weight:500}.form-actions{justify-content:flex-end;gap:1.25rem;padding-top:1.5rem;display:flex}.form-actions .btn{padding:.8rem 2rem;font-weight:600}@media (width<=768px){.form-section{padding:1.5rem}.form-row{flex-direction:column;gap:1.25rem}}.tutorial-fab{background:linear-gradient(135deg, var(--primary,#4f46e5) 0%, #a855f7 100%);color:#fff;cursor:pointer;z-index:1000;border:none;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;bottom:2rem;right:2rem;box-shadow:0 4px 20px #4f46e566}.tutorial-fab:hover{background:linear-gradient(135deg,#4338ca 0%,#9333ea 100%);transform:translateY(-4px)scale(1.05);box-shadow:0 8px 25px #4f46e580}.tutorial-fab.animating-in{animation:.5s cubic-bezier(.34,1.56,.64,1) forwards popIn}.tutorial-card{background:var(--bg-card,#ffffffe6);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color,#ffffff80);z-index:1000;border-radius:20px;flex-direction:column;width:calc(100% - 4rem);max-width:380px;display:flex;position:fixed;bottom:2rem;right:2rem;overflow:hidden;box-shadow:0 20px 40px -10px #00000026,inset 0 0 0 1px #ffffff80}.tutorial-card.animating-in{transform-origin:100% 100%;animation:.4s cubic-bezier(.16,1,.3,1) forwards slideUpFade}.tutorial-card.animating-out{animation:.2s cubic-bezier(.16,1,.3,1) forwards popOut}.tutorial-header{border-bottom:1px solid var(--border-color,#0000000d);background:linear-gradient(90deg,#4f46e50d,#0000);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.tutorial-title{align-items:center;gap:.75rem;display:flex}.tutorial-icon{color:var(--primary,#4f46e5)}.tutorial-header h3{color:var(--text-color,#111827);margin:0;font-size:1.1rem;font-weight:700}.tutorial-close{color:var(--text-secondary,#6b7280);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:.25rem;transition:all .2s;display:flex}.tutorial-close:hover{color:#111827;background:#0000000d;transform:rotate(90deg)}.tutorial-body{flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.tutorial-body p{color:var(--text-secondary,#4b5563);margin:0;font-size:.95rem;line-height:1.5}.tutorial-action-btn{background:var(--primary-light,#eef2ff);width:100%;color:var(--primary,#4f46e5);cursor:pointer;border:1px solid #0000;border-radius:12px;margin-top:.5rem;padding:.8rem;font-size:.95rem;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1)}.tutorial-action-btn:hover{background:var(--primary,#4f46e5);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #4f46e54d}@keyframes slideUpFade{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes popIn{0%{opacity:0;transform:scale(.5)rotate(-45deg)}70%{transform:scale(1.1)rotate(10deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes popOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}[data-theme=dark] .tutorial-card{background:var(--surface,#1e293bf2);border-color:var(--border,#ffffff1a);box-shadow:0 20px 40px -10px #00000080,inset 0 0 0 1px #ffffff1a}[data-theme=dark] .tutorial-header h3{color:var(--text-primary,#f8fafc)}[data-theme=dark] .tutorial-body p{color:var(--text-secondary,#cbd5e1)}[data-theme=dark] .tutorial-action-btn{color:#818cf8;background:#4f46e533}[data-theme=dark] .tutorial-action-btn:hover{background:var(--primary,#4f46e5);color:#fff}.tickets-container{max-width:1000px;color:var(--text-color,#111827);background:0 0;margin:0 auto;padding:2.5rem;font-family:Inter,Outfit,system-ui,sans-serif;animation:.5s ease-out fadeInPage}@keyframes fadeInPage{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tickets-header{border-bottom:1px solid var(--border-color,#e5e7eb);flex-direction:column;gap:.5rem;margin-bottom:2.5rem;padding-bottom:1.5rem;display:flex}.tickets-header h1{background:linear-gradient(135deg, var(--primary,#4f46e5) 0%, #a855f7 100%);-webkit-text-fill-color:transparent;letter-spacing:-.02em;-webkit-background-clip:text;margin:0;font-size:2.25rem;font-weight:800}.tickets-header p{color:var(--text-secondary,#6b7280);margin:0;font-size:1.1rem;font-weight:400}.grid-layout{grid-template-columns:1fr;gap:2.5rem;display:grid}@media (width>=768px){.grid-layout{grid-template-columns:1fr 1.2fr}}.ticket-form{background:var(--bg-card,#fffc);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border,#ffffff4d);box-shadow:var(--glass-shadow,0 8px 32px 0 #1f268712);border-radius:16px;flex-direction:column;gap:1.5rem;padding:2rem;display:flex;position:sticky;top:2rem}.form-title{color:var(--text-color,#111827);align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:1.25rem;font-weight:700;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex;position:relative}.form-group label{color:var(--text-secondary,#4b5563);margin-left:.25rem;font-size:.9rem;font-weight:600}.ticket-form input,.ticket-form textarea{border:1px solid var(--border-color,#e5e7eb);background:var(--bg-main,#f9fafb);width:100%;color:var(--text-color,#111827);border-radius:10px;padding:.875rem 1rem;font-family:inherit;font-size:1rem;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:inset 0 2px 4px #00000005}.ticket-form input:focus,.ticket-form textarea:focus{border-color:var(--primary,#4f46e5);background:var(--bg-card,#fff);box-shadow:0 0 0 3px var(--primary-light,#4f46e526);outline:none}.ticket-form textarea{resize:vertical;min-height:140px}.file-input-wrapper{border:2px dashed var(--border-color,#e5e7eb);text-align:center;background:var(--bg-main,#f9fafb);cursor:pointer;border-radius:10px;padding:1.5rem;transition:all .2s;position:relative}.file-input-wrapper:hover{border-color:var(--primary,#4f46e5);background:var(--primary-light,#4f46e50d)}.file-input-wrapper input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;top:0;left:0}.file-input-content{color:var(--text-secondary,#6b7280);flex-direction:column;align-items:center;gap:.5rem;display:flex}.file-list-preview{flex-direction:column;gap:.5rem;margin-top:.5rem;display:flex}.file-preview-item{background:var(--bg-card,#fff);border:1px solid var(--border-color,#e5e7eb);border-radius:6px;justify-content:space-between;align-items:center;padding:.5rem .75rem;font-size:.85rem;display:flex}.submit-btn{background:linear-gradient(135deg, var(--primary,#4f46e5) 0%, #6366f1 100%);color:#fff;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;margin-top:.5rem;padding:1rem 2rem;font-size:1rem;font-weight:600;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:0 4px 12px #4f46e54d}.submit-btn:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 6px 16px #4f46e566}.submit-btn:active:not(:disabled){transform:translateY(0)}.submit-btn:disabled{opacity:.7;cursor:not-allowed;box-shadow:none;background:#9ca3af}.tickets-list-container{flex-direction:column;gap:1.5rem;display:flex}.tickets-list-container h2{color:var(--text-color,#111827);align-items:center;gap:.5rem;margin:0;font-size:1.5rem;font-weight:700;display:flex}.ticket-card{background:var(--bg-card,#fffc);-webkit-backdrop-filter:blur(8px);border:1px solid var(--glass-border,#ffffff4d);border-radius:16px;padding:1.5rem;transition:all .3s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;box-shadow:0 4px 6px -1px #0000000d}.ticket-card:before{content:"";background:var(--primary,#4f46e5);border-radius:4px 0 0 4px;width:4px;transition:width .3s;position:absolute;top:0;bottom:0;left:0}.ticket-card.revision:before{background:#7c3aed}.ticket-card.proceso:before{background:#3b82f6}.ticket-card.concluido:before{background:#10b981}.ticket-card.cancelado:before{background:#64748b}.ticket-card.pending:before{background:#f59e0b}.ticket-card.in_progress:before{background:#3b82f6}.ticket-card.completed:before{background:#10b981}.ticket-card:hover{border-color:var(--border-color,#e5e7eb);transform:translateY(-4px)scale(1.01);box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000000d}.ticket-card:hover:before{width:6px}.ticket-card-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;display:flex}.ticket-card-header h3{color:var(--text-color,#111827);flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;font-size:1.15rem;font-weight:700;line-height:1.3;display:flex}.status{text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border-radius:20px;align-items:center;gap:.35rem;padding:.4rem .85rem;font-size:.75rem;font-weight:700;display:inline-flex}.status.revision{color:#6d28d9;background:#7c3aed1a;border:1px solid #7c3aed33}.status.proceso{color:#1d4ed8;background:#3b82f61a;border:1px solid #3b82f633}.status.concluido{color:#047857;background:#10b9811a;border:1px solid #10b98133}.status.cancelado{color:#475569;background:#64748b1a;border:1px solid #64748b33}.status.pending{color:#b45309;background:#f59e0b1a;border:1px solid #f59e0b33}.status.in_progress{color:#1d4ed8;background:#3b82f61a;border:1px solid #3b82f633}.status.completed{color:#047857;background:#10b9811a;border:1px solid #10b98133}.date-badge{color:var(--text-secondary,#6b7280);background:var(--bg-main,#f3f4f6);border-radius:6px;align-items:center;gap:.35rem;width:fit-content;margin-bottom:1rem;padding:.25rem .6rem;font-size:.8rem;display:flex}.ticket-card p{color:var(--text-secondary,#4b5563);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.95rem;line-height:1.6;display:-webkit-box;overflow:hidden}.evidence-indicator{cursor:pointer;background:var(--primary-light,#4f46e51a);color:var(--primary,#4f46e5);border:1px solid #0000;border-radius:20px;justify-content:center;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.8rem;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.evidence-indicator:hover{background:var(--primary,#4f46e5);color:#fff;transform:translateY(-2px);box-shadow:0 4px 8px #4f46e540}.no-tickets{text-align:center;background:var(--bg-card,#ffffff80);border:1px dashed var(--border-color,#cbd5e1);color:var(--text-secondary,#64748b);border-radius:16px;flex-direction:column;align-items:center;gap:1rem;padding:3rem 2rem;font-weight:500;display:flex}.modal-overlay,.file-modal-overlay{-webkit-backdrop-filter:blur(12px);z-index:1000;background:#0f172a99;justify-content:center;align-items:center;animation:.3s cubic-bezier(.16,1,.3,1) fadeInModal;display:flex;position:fixed;inset:0}@keyframes fadeInModal{0%{opacity:0}to{opacity:1}}.modal-content,.file-modal-content{background:var(--bg-card,#fff);color:var(--text-color,#111827);border-radius:24px;width:90%;max-width:600px;animation:.4s cubic-bezier(.34,1.56,.64,1) slideUpModal;position:relative;overflow:hidden;transform:translateY(0);box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #ffffff1a}.file-modal-content{flex-direction:column;max-width:900px;max-height:88vh;display:flex}@keyframes slideUpModal{0%{opacity:0;transform:translateY(30px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-header,.file-modal-header{border-bottom:1px solid var(--border-color,#e5e7eb);background:#ffffff80;justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex}.modal-header h3,.file-modal-header h3{color:var(--text-color,#111827);align-items:center;gap:.5rem;margin:0;font-size:1.35rem;font-weight:700;display:flex}.close-btn{background:var(--bg-main,#f3f4f6);color:var(--text-secondary,#6b7280);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.close-btn:hover{color:#111827;background:#e5e7eb;transform:rotate(90deg)}.modal-body{max-height:70vh;padding:2rem;overflow-y:auto}.modal-ticket-info{background:linear-gradient(135deg, var(--primary,#4f46e5) 0%, #6366f1 100%);color:#fff;border-radius:16px;margin-bottom:2rem;padding:1.5rem;box-shadow:0 10px 25px -5px #4f46e566}.modal-ticket-title{color:#fff;margin:0 0 .75rem;font-size:1.25rem;font-weight:700}.modal-ticket-description{color:#fffffff2;margin:0;font-size:1rem;line-height:1.6}.evidence-list{flex-direction:column;gap:1.5rem;display:flex}.evidence-section{flex-direction:column;gap:1rem;display:flex}.evidence-section-title{color:var(--text-color,#111827);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.5rem;margin:0;font-size:.9rem;font-weight:800;display:flex}.evidence-item{background:var(--bg-main,#f9fafb);border:1px solid var(--border-color,#e5e7eb);color:var(--text-color,#111827);cursor:pointer;text-align:left;border-radius:14px;align-items:center;gap:1rem;width:100%;padding:1rem 1.25rem;text-decoration:none;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex}.evidence-item:hover{border-color:var(--primary,#4f46e5);background:#fff;transform:translate(6px);box-shadow:0 10px 20px -10px #4f46e533}.evidence-item-icon{background:var(--primary-light,#eef2ff);width:44px;height:44px;color:var(--primary,#4f46e5);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.evidence-item-content{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.evidence-item-name{color:var(--text-color,#111827);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}.evidence-item-date{color:var(--text-secondary,#4b5563);font-size:.85rem}.evidence-item-arrow{color:var(--text-secondary,#9ca3af);align-items:center;transition:transform .2s,color .2s;display:flex}.evidence-item:hover .evidence-item-arrow{color:var(--primary,#4f46e5);transform:translate(4px)translateY(-2px)}.file-modal-body{background:var(--bg-main,#f9fafb);flex:1;justify-content:center;align-items:center;min-height:400px;padding:1.5rem;display:flex;overflow-y:auto}.file-preview-image{object-fit:contain;border-radius:12px;max-width:100%;max-height:70vh;box-shadow:0 10px 25px -5px #0000001a}.file-preview-pdf{background:#fff;border:none;border-radius:12px;width:100%;height:75vh;box-shadow:0 4px 6px -1px #0000001a}.file-preview-default{text-align:center;border:1px dashed var(--border-color,#e5e7eb);background:#fff;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:400px;padding:3rem;display:flex}.file-icon{color:var(--text-secondary,#9ca3af);margin-bottom:1.5rem}.file-name{color:var(--text-color,#111827);word-break:break-word;margin-bottom:2rem;font-size:1.1rem;font-weight:700}.download-btn{background:var(--primary,#4f46e5);color:#fff;border-radius:10px;align-items:center;gap:.75rem;padding:.875rem 1.75rem;font-weight:600;text-decoration:none;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 4px 6px -1px #4f46e533}.download-btn:hover{background:var(--primary-hover,#4338ca);transform:translateY(-2px);box-shadow:0 10px 15px -3px #4f46e54d}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-color,#cbd5e1);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary,#94a3b8)}[data-theme=dark] .tickets-header h1{background:linear-gradient(135deg,#818cf8 0%,#c084fc 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}[data-theme=dark] .ticket-form{background:var(--surface,#1e293bcc);border-color:var(--border,#ffffff1a)}[data-theme=dark] .form-title,[data-theme=dark] .tickets-list-container h2{color:var(--text-primary,#f8fafc)}[data-theme=dark] .ticket-form input,[data-theme=dark] .ticket-form textarea,[data-theme=dark] .file-input-wrapper{background:var(--background,#0f172a);color:var(--text-primary,#f8fafc);border-color:var(--border,#334155)}[data-theme=dark] .file-input-wrapper:hover{background:#4f46e526}[data-theme=dark] .file-preview-item{background:var(--background,#0f172a);border-color:var(--border,#334155);color:var(--text-primary,#f8fafc)}[data-theme=dark] .ticket-card{background:var(--surface,#1e293bcc);border-color:var(--border,#ffffff1a)}[data-theme=dark] .ticket-card-header h3{color:var(--text-primary,#f8fafc)}[data-theme=dark] .date-badge{background:var(--background,#0f172a);color:var(--text-secondary,#cbd5e1)}[data-theme=dark] .no-tickets{background:var(--surface,#1e293b80);border-color:var(--border,#334155)}
