@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap";.liquid-glass{background:#ffffff26;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);border:1px solid rgba(255,255,255,.3);position:relative;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .liquid-glass{background:#0000004d;border:1px solid rgba(255,255,255,.2)}.liquid-glass-shine{position:relative;overflow:hidden}.liquid-glass-shine:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.3) 0%,rgba(255,255,255,.1) 30%,transparent 70%);animation:liquidMove 8s ease-in-out infinite;pointer-events:none;z-index:0}.liquid-glass-shine:after{content:"";position:absolute;top:-100%;right:-100%;width:200%;height:200%;background:radial-gradient(circle at 70% 70%,rgba(139,92,246,.2) 0%,rgba(59,130,246,.1) 30%,transparent 70%);animation:liquidMove 12s ease-in-out infinite reverse;pointer-events:none;z-index:0;animation-delay:-2s}.liquid-glass-card{background:#ffffff1f;backdrop-filter:blur(18px) saturate(180%);-webkit-backdrop-filter:blur(18px) saturate(180%);border:1px solid rgba(255,255,255,.28);position:relative;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .liquid-glass-card{background:#00000040;border:1px solid rgba(255,255,255,.18)}.liquid-glass-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 25% 25%,rgba(255,255,255,.25) 0%,rgba(255,255,255,.08) 25%,transparent 60%);animation:liquidMove 10s ease-in-out infinite;pointer-events:none;z-index:0}.liquid-glass-card:after{content:"";position:absolute;bottom:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle at 75% 75%,rgba(139,92,246,.15) 0%,rgba(59,130,246,.08) 25%,transparent 60%);animation:liquidMove 14s ease-in-out infinite reverse;pointer-events:none;z-index:0;animation-delay:-3s}.liquid-glass-panel{background:#ffffff38;backdrop-filter:blur(22px) saturate(180%);-webkit-backdrop-filter:blur(22px) saturate(180%);border:1px solid rgba(255,255,255,.32);position:relative;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .liquid-glass-panel{background:#0006;border:1px solid rgba(255,255,255,.22)}.liquid-glass-panel:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.28) 0%,rgba(255,255,255,.1) 30%,transparent 65%);animation:liquidMove 12s ease-in-out infinite;pointer-events:none;z-index:0}.liquid-glass-panel:after{content:"";position:absolute;bottom:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle at 80% 80%,rgba(139,92,246,.2) 0%,rgba(59,130,246,.12) 25%,transparent 65%);animation:liquidMove 16s ease-in-out infinite reverse;pointer-events:none;z-index:0;animation-delay:-4s}.liquid-glass-modal{background:#ffffff47;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,.38);position:relative;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .liquid-glass-modal{background:#00000073;border:1px solid rgba(255,255,255,.28)}.liquid-glass-modal:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.3) 0%,rgba(255,255,255,.12) 28%,transparent 68%);animation:liquidMove 9s ease-in-out infinite;pointer-events:none;z-index:0}.liquid-glass-modal:after{content:"";position:absolute;bottom:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle at 70% 70%,rgba(139,92,246,.25) 0%,rgba(59,130,246,.15) 28%,transparent 68%);animation:liquidMove 13s ease-in-out infinite reverse;pointer-events:none;z-index:0;animation-delay:-2.5s}.liquid-glass-button{background:#ffffff1f;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);border:1px solid rgba(255,255,255,.32);position:relative;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer}.liquid-glass-button:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 40% 40%,rgba(255,255,255,.35) 0%,rgba(255,255,255,.15) 30%,transparent 70%);animation:liquidMove 6s ease-in-out infinite;pointer-events:none;z-index:0}.liquid-glass-button:hover:before{animation-duration:3s}.liquid-glass>*,.liquid-glass-shine>*,.liquid-glass-card>*,.liquid-glass-panel>*,.liquid-glass-modal>*,.liquid-glass-button>*{position:relative;z-index:1}@keyframes liquidMoveSmooth{0%,to{transform:translate(0) rotate(0);opacity:.5}33%{transform:translate(40px,-30px) rotate(120deg);opacity:.8}66%{transform:translate(-30px,40px) rotate(240deg);opacity:.7}}.liquid-glass-shadow{box-shadow:0 8px 32px #0000004d,0 0 0 1px #ffffff1a inset}.liquid-glass-card-shadow{box-shadow:0 12px 40px #00000040,0 0 0 1px #ffffff1f inset,0 4px 16px #00000026}.liquid-glass-panel-shadow{box-shadow:0 16px 56px #00000059,0 0 0 1px #ffffff26 inset,0 8px 24px #0003}.liquid-glass-modal-shadow{box-shadow:0 25px 60px -12px #0000004d,0 0 0 1px #fff3 inset,0 12px 32px #00000040}.liquid-glass:hover{border-color:#ffffff73;box-shadow:0 12px 40px #00000040,0 0 0 1px #ffffff26 inset;transform:translateY(-2px)}.liquid-glass-card:hover{border-color:#ffffff61;box-shadow:0 16px 48px #0000004d,0 0 0 1px #ffffff2e inset;transform:translateY(-4px) scale(1.02)}.liquid-glass-panel:hover{border-color:#ffffff6b;box-shadow:0 20px 56px #0006,0 0 0 1px #fff3 inset;transform:translateY(-2px)}.liquid-glass-modal:hover{border-color:#ffffff73;box-shadow:0 32px 72px #00000059,0 0 0 1px #ffffff40 inset}.liquid-glass-button:hover{border-color:#fff6;background:#ffffff2e;transform:translateY(-2px);box-shadow:0 8px 24px #0003,0 0 0 1px #fff3 inset}.liquid-glass-button:active{transform:translateY(0);box-shadow:0 4px 12px #00000026,0 0 0 1px #ffffff26 inset}.liquid-glass-light{background:#ffffffbf;backdrop-filter:blur(14px) saturate(180%);-webkit-backdrop-filter:blur(14px) saturate(180%);border:1px solid rgba(255,255,255,.45)}.liquid-glass-tinted{background:#8b5cf62e;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);border:1px solid rgba(139,92,246,.35)}.liquid-glass-tinted:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 30%,rgba(139,92,246,.25) 0%,rgba(59,130,246,.15) 30%,transparent 70%);animation:liquidMove 7s ease-in-out infinite;pointer-events:none;z-index:0}.liquid-glass-tinted:after{content:"";position:absolute;bottom:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle at 70% 70%,rgba(59,130,246,.2) 0%,rgba(139,92,246,.12) 30%,transparent 70%);animation:liquidMove 11s ease-in-out infinite reverse;pointer-events:none;z-index:0;animation-delay:-2s}@media (prefers-reduced-motion: reduce){.liquid-glass-shine:before,.liquid-glass-shine:after,.liquid-glass-card:before,.liquid-glass-card:after,.liquid-glass-panel:before,.liquid-glass-panel:after,.liquid-glass-modal:before,.liquid-glass-modal:after,.liquid-glass-button:before,.liquid-glass-tinted:before,.liquid-glass-tinted:after{animation:none}.liquid-glass:hover,.liquid-glass-card:hover,.liquid-glass-panel:hover,.liquid-glass-button:hover{transform:none}}.liquid-glass,.liquid-glass-shine,.liquid-glass-card,.liquid-glass-panel,.liquid-glass-modal,.liquid-glass-button{will-change:transform,opacity;transform:translateZ(0);-webkit-transform:translateZ(0)}@media (min-width: 768px){.liquid-glass:before,.liquid-glass:after,.liquid-glass-shine:before,.liquid-glass-shine:after,.liquid-glass-card:before,.liquid-glass-card:after,.liquid-glass-panel:before,.liquid-glass-panel:after,.liquid-glass-modal:before,.liquid-glass-modal:after,.liquid-glass-button:before{will-change:transform,opacity;transform:translateZ(0);-webkit-transform:translateZ(0)}}:root{--font-sans: "Manrope", system-ui, Avenir, Helvetica, Arial, sans-serif;--background: hsl(240 10% 99%);--foreground: hsl(240 10% 3.9%);--muted: hsl(240 5% 96.1%);--muted-foreground: hsl(240 4% 46.1%);--popover: hsl(0 0% 100%);--popover-foreground: hsl(240 10% 3.9%);--card: hsl(0 0% 100% / .75);--card-foreground: hsl(240 10% 3.9%);--border: hsl(240 6% 90%);--input: hsl(240 6% 90%);--primary: hsl(262.1 83.3% 57.8%);--primary-foreground: hsl(210 20% 98%);--secondary: hsl(240 5% 96.1%);--secondary-foreground: hsl(240 6% 10%);--accent: hsl(240 5% 96.1%);--accent-foreground: hsl(240 6% 10%);--destructive: hsl(0 84.2% 60.2%);--destructive-foreground: hsl(210 20% 98%);--success: hsl(142.1 76.2% 36.3%);--success-foreground: hsl(210 20% 98%);--ring: hsl(262.1 83.3% 57.8%);--radius: .75rem}[data-color-theme=violet]{--primary: hsl(262.1 83.3% 57.8%);--ring: hsl(262.1 83.3% 57.8%)}[data-color-theme=blue]{--primary: hsl(217.2 91.2% 59.8%);--ring: hsl(217.2 91.2% 59.8%)}[data-color-theme=green]{--primary: hsl(142.1 76.2% 36.3%);--ring: hsl(142.1 76.2% 36.3%)}[data-color-theme=orange]{--primary: hsl(24.6 95% 53.1%);--ring: hsl(24.6 95% 53.1%)}[data-color-theme=rose]{--primary: hsl(346.8 77.2% 49.8%);--ring: hsl(346.8 77.2% 49.8%)}[data-theme=dark]{--background: hsl(240 10% 3.9%);--foreground: hsl(0 0% 98%);--muted: hsl(240 4% 15%);--muted-foreground: hsl(240 5% 65%);--popover: hsl(240 10% 3.9%);--popover-foreground: hsl(0 0% 98%);--card: hsl(240 4% 10% / .75);--card-foreground: hsl(0 0% 98%);--border: hsl(240 4% 15%);--input: hsl(240 4% 15%);--primary: hsl(262.1 83.3% 57.8%);--primary-foreground: hsl(210 20% 98%);--secondary: hsl(240 4% 15%);--secondary-foreground: hsl(0 0% 98%);--accent: hsl(240 4% 15%);--accent-foreground: hsl(0 0% 98%);--destructive: hsl(0 62.8% 50.6%);--destructive-foreground: hsl(0 0% 98%);--success: hsl(142.1 70.6% 45.3%);--success-foreground: hsl(210 20% 98%);--ring: hsl(262.1 83.3% 57.8%)}[data-theme=dark][data-color-theme=violet]{--primary: hsl(262.1, 75%, 68%);--ring: hsl(262.1, 75%, 68%)}[data-theme=dark][data-color-theme=blue]{--primary: hsl(217.2, 85%, 65%);--ring: hsl(217.2, 85%, 65%)}[data-theme=dark][data-color-theme=green]{--primary: hsl(142.1, 70.6%, 45.3%);--ring: hsl(142.1, 70.6%, 45.3%)}[data-theme=dark][data-color-theme=orange]{--primary: hsl(24.6, 90%, 55%);--ring: hsl(24.6, 90%, 55%)}[data-theme=dark][data-color-theme=rose]{--primary: hsl(346.8, 85%, 55%);--ring: hsl(346.8, 85%, 55%)}*{box-sizing:border-box;margin:0;padding:0}html{overflow-x:hidden}body{margin:0;background-color:var(--background);color:var(--foreground);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;position:relative;min-height:100vh;line-height:1.5;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%}body:before,body:after{content:"";position:fixed;left:0;top:0;width:200vw;height:200vh;z-index:-1;filter:blur(120px);will-change:transform;transition:transform 1.5s cubic-bezier(.65,0,.35,1),opacity .5s ease-in-out}body:before{top:-50vh;left:-50vw;background:radial-gradient(circle at 40% 40%,var(--primary) 0%,transparent 20%),radial-gradient(circle at 60% 60%,hsl(190,80%,60%) 0%,transparent 25%);opacity:.5;transform:translate(var(--aurora1-x, 0),var(--aurora1-y, 0)) rotate(var(--aurora1-r, 0deg)) scale(1)}body:after{top:-50vh;left:-50vw;background:radial-gradient(circle at 60% 40%,hsl(24,95%,53%) 0%,transparent 20%),radial-gradient(circle at 40% 60%,hsl(347,77%,49%) 0%,transparent 25%);opacity:.3;transform:translate(var(--aurora2-x, 0),var(--aurora2-y, 0)) rotate(var(--aurora2-r, 0deg)) scale(1.2)}[data-theme=dark] body:before{opacity:.2}[data-theme=dark] body:after{opacity:.15}body.route-changing:before,body.route-changing:after{animation-duration:4s}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:var(--border);border-radius:10px;border:3px solid var(--background)}::-webkit-scrollbar-thumb:hover{background-color:var(--primary)}input[type=text],input[type=email],input[type=tel],input[type=password],input[type=search],input[type=datetime-local],select,textarea{font-size:16px}@media (max-width: 768px){input[type=text],input[type=email],input[type=tel],input[type=password],input[type=search],input[type=datetime-local],select,textarea{font-size:16px}}@media (hover: none) and (pointer: coarse){*{-webkit-tap-highlight-color:rgba(0,0,0,0)}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}body:before,body:after{animation:none!important;transition:none!important}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@media (orientation: landscape) and (max-height: 500px){body:before,body:after{opacity:.2}}.user-calendar-view{padding:2rem;max-width:1400px;margin:0 auto}.user-calendar-header{margin-bottom:2rem;text-align:center}.user-calendar-header h1{font-size:2rem;font-weight:700;margin-bottom:.5rem;color:var(--text-primary)}.user-calendar-header p{color:var(--text-secondary);font-size:1rem}.user-calendar-filters{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap;padding:1.5rem;background:#ffffff1f;backdrop-filter:blur(18px) saturate(180%);-webkit-backdrop-filter:blur(18px) saturate(180%);border:1px solid rgba(255,255,255,.28);border-radius:12px;box-shadow:0 8px 32px #00000026;position:relative;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .user-calendar-filters{background:#00000040;border-color:#ffffff2e}.user-calendar-filters:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 25% 25%,rgba(255,255,255,.25) 0%,rgba(255,255,255,.08) 25%,transparent 60%);animation:liquidMove 10s ease-in-out infinite;pointer-events:none;z-index:0}.user-calendar-filters:after{content:"";position:absolute;bottom:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle at 75% 75%,rgba(139,92,246,.15) 0%,rgba(59,130,246,.08) 25%,transparent 60%);animation:liquidMove 14s ease-in-out infinite reverse;pointer-events:none;z-index:0;animation-delay:-3s}.user-calendar-filters>*{position:relative;z-index:1}.user-calendar-filters:hover{border-color:#ffffff61;box-shadow:0 12px 40px #0003;transform:translateY(-2px)}.filter-group{flex:1;min-width:200px}.filter-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-primary)}.filter-group select{width:100%;padding:.75rem;border:1px solid rgba(255,255,255,.3);border-radius:8px;background:#ffffff1a;backdrop-filter:blur(8px) saturate(180%);-webkit-backdrop-filter:blur(8px) saturate(180%);color:var(--text-primary);font-size:1rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}[data-theme=dark] .filter-group select{background:#0003;border-color:#fff3}.filter-group select:focus{outline:none;border-color:#667eeacc;background:#ffffff26;box-shadow:0 0 0 3px #667eea33;transform:translateY(-1px)}.filter-group select:hover{border-color:#fff6;background:#ffffff1f}.user-calendar-container{background:#ffffff1f;backdrop-filter:blur(18px) saturate(180%);-webkit-backdrop-filter:blur(18px) saturate(180%);border:1px solid rgba(255,255,255,.28);border-radius:12px;padding:1.5rem;box-shadow:0 8px 32px #00000026;position:relative;overflow:visible;transition:all .3s cubic-bezier(.4,0,.2,1)}.user-calendar-container .fc-daygrid-day,.user-calendar-container .fc-timegrid-slot,.user-calendar-container .fc-timegrid-col{pointer-events:auto!important;cursor:pointer!important;position:relative!important;z-index:1!important}.user-calendar-container .fc-daygrid-day-frame{pointer-events:auto!important}.user-calendar-container .fc-daygrid-day-number{pointer-events:auto!important;cursor:pointer!important}[data-theme=dark] .user-calendar-container{background:#00000040;border-color:#ffffff2e}.user-calendar-container:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 25% 25%,rgba(255,255,255,.25) 0%,rgba(255,255,255,.08) 25%,transparent 60%);animation:liquidMove 10s ease-in-out infinite;pointer-events:none;z-index:0}.user-calendar-container:after{content:"";position:absolute;bottom:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle at 75% 75%,rgba(139,92,246,.15) 0%,rgba(59,130,246,.08) 25%,transparent 60%);animation:liquidMove 14s ease-in-out infinite reverse;pointer-events:none;z-index:0;animation-delay:-3s}.user-calendar-container>*{position:relative;z-index:1}.user-calendar-container .fc-header-toolbar{display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;z-index:10!important;position:relative!important;margin-bottom:1.5em!important;padding:1em 0!important}.user-calendar-container .fc-button,.user-calendar-container .fc-button-group,.user-calendar-container .fc-button-group button{pointer-events:auto!important;z-index:10!important;position:relative!important;display:inline-flex!important;visibility:visible!important;opacity:1!important}.user-calendar-container .fc-button{cursor:pointer!important;background-color:var(--primary)!important;border-color:var(--primary)!important;color:var(--primary-foreground)!important;padding:.5em 1em!important;font-weight:500!important;border-radius:6px!important;transition:all .2s ease!important}.user-calendar-container .fc-button:hover{background-color:color-mix(in srgb,var(--primary) 85%,black)!important;border-color:color-mix(in srgb,var(--primary) 85%,black)!important;transform:translateY(-1px)!important;box-shadow:0 4px 8px #0003!important}.user-calendar-container .fc-button-active{background-color:color-mix(in srgb,var(--primary) 90%,black)!important;border-color:color-mix(in srgb,var(--primary) 90%,black)!important;font-weight:600!important}.user-calendar-container .fc-button-primary{background-color:var(--primary)!important;border-color:var(--primary)!important}.user-calendar-container .fc-toolbar-title{font-size:1.5rem!important;font-weight:700!important;color:var(--foreground)!important}.user-calendar-container:hover{border-color:#ffffff61;box-shadow:0 16px 48px #0003}.success-message{background:#10b981;color:#fff;padding:1rem;border-radius:8px;margin-bottom:1.5rem;text-align:center;font-weight:600;animation:slideDown .3s ease-out}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.modal-content{background:#ffffff47;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,.38);border-radius:12px;padding:2rem;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 25px 60px -12px #0000004d,0 0 0 1px #fff3 inset,0 12px 32px #00000040;animation:slideUp .3s ease-out;position:relative;overflow:hidden}[data-theme=dark] .modal-content{background:#00000073;border-color:#ffffff47}.modal-content:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.3) 0%,rgba(255,255,255,.12) 28%,transparent 68%);animation:liquidMove 9s ease-in-out infinite;pointer-events:none;z-index:0}.modal-content:after{content:"";position:absolute;bottom:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle at 70% 70%,rgba(139,92,246,.25) 0%,rgba(59,130,246,.15) 28%,transparent 68%);animation:liquidMove 13s ease-in-out infinite reverse;pointer-events:none;z-index:0;animation-delay:-2.5s}.modal-content>*{position:relative;z-index:1}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-content h2{margin-bottom:1rem;color:var(--text-primary)}.modal-content p{margin-bottom:1.5rem;color:var(--text-secondary)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-primary)}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:8px;background:var(--background);color:var(--text-primary);font-size:1rem}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.error-message{background:#ef4444;color:#fff;padding:.75rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.form-actions button{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.form-actions button[type=submit]{background:var(--primary);color:#fff}.form-actions button[type=submit]:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}.form-actions button[type=button]{background:var(--background-secondary);color:var(--text-primary)}.form-actions button[type=button]:hover:not(:disabled){background:var(--border-color)}.form-actions button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.user-calendar-view{padding:1rem}.user-calendar-filters{flex-direction:column}.filter-group{min-width:100%}.modal-content{width:95%;padding:1.5rem}}.skeleton{position:relative;overflow:hidden;background:var(--muted);border-radius:var(--radius);animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-shimmer{position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:skeleton-shimmer 1.5s infinite}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes skeleton-shimmer{0%{left:-100%}to{left:100%}}.skeleton-card{height:200px;padding:1.5rem;border:1px solid var(--border);margin-bottom:1rem}.skeleton-table{height:60px;border:1px solid var(--border);margin-bottom:.5rem;border-radius:8px}.skeleton-list{height:80px;padding:1rem;border:1px solid var(--border);margin-bottom:.75rem;border-radius:var(--radius)}.skeleton-text{height:1rem;margin-bottom:.5rem;border-radius:4px}.skeleton-text:nth-child(1){width:100%}.skeleton-text:nth-child(2){width:90%}.skeleton-text:nth-child(3){width:75%}.skeleton-circle{width:50px;height:50px;border-radius:50%}[data-theme=dark] .skeleton{background:#ffffff0d}[data-theme=dark] .skeleton-shimmer{background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent)}.page-container{animation:contentFadeIn .6s ease-in-out .2s;animation-fill-mode:backwards;max-width:100%;overflow-x:hidden;color:#fff}.form-and-list-container{display:grid;grid-template-columns:450px 1fr;gap:2.5rem;align-items:flex-start}.form-section,.list-section{background:#ffffff1a;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:2.5rem;border-radius:20px;border:1px solid rgba(255,255,255,.2);transition:all .3s ease;width:100%;box-sizing:border-box;box-shadow:0 8px 32px #0000004d;position:relative;overflow:hidden}.form-section:before,.list-section:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgba(255,255,255,.15),transparent 70%);animation:liquidMove 8s infinite linear;pointer-events:none;z-index:0}.form-section>*,.list-section>*{position:relative;z-index:1}.form-section:hover,.list-section:hover{box-shadow:0 12px 40px #0006;border-color:#667eea80;background:#ffffff26}.form-section h2,.list-section h2{margin-top:0;font-size:1.5rem;margin-bottom:1.5rem;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.5)}.form-section form{display:flex;flex-direction:column;gap:1.5rem}.form-section .form-group{display:flex;flex-direction:column;gap:.5rem}.form-section label{font-weight:600;font-size:.875rem;color:#ffffffe6}.form-group input,.form-group select{width:100%;padding:.85rem 1rem;border:1px solid rgba(255,255,255,.3);background:#ffffff1a;color:#fff;border-radius:8px;font-size:.95rem;transition:all .2s ease;box-sizing:border-box}.form-group select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m6 9 6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 1rem center;background-size:1em;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea33;background:#ffffff26}.form-section button{width:100%;background:var(--primary);color:var(--primary-foreground);padding:.95rem;border:none;border-radius:var(--radius);font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px -5px var(--primary);font-size:1rem}.form-section button:hover{transform:translateY(-2px);box-shadow:0 6px 20px -5px var(--primary)}.form-section button:active{transform:translateY(0)}.form-section button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.list-section{padding:2rem;min-height:400px}.list-section ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.list-section li{background-color:var(--muted);padding:1rem 1.25rem;border-radius:var(--radius);border:1px solid var(--border);font-weight:500;transition:all .2s ease;display:flex;justify-content:space-between;align-items:center;word-wrap:break-word;overflow-wrap:break-word}.list-section li:hover{transform:translateY(-2px);border-color:var(--primary);box-shadow:0 4px 15px -5px var(--muted-foreground);z-index:1;position:relative}.page-message{padding:1.5rem;border-radius:var(--radius);margin-top:1rem;text-align:center;background-color:color-mix(in srgb,var(--destructive) 15%,transparent);color:var(--destructive);border:1px solid var(--destructive);font-weight:500}@media (max-width: 1200px){.form-and-list-container{grid-template-columns:400px 1fr;gap:2rem}.form-section,.list-section{padding:2rem}}@media (max-width: 900px){.form-and-list-container{grid-template-columns:1fr;gap:1.5rem}.form-section,.list-section{padding:1.5rem}.form-section h2,.list-section h2{font-size:1.35rem;margin-bottom:1.25rem}}@media (max-width: 768px){.form-section,.list-section{padding:1.25rem}.form-section form{gap:1.25rem}.form-group input,.form-group select{padding:.75rem;font-size:1rem}.form-section button{padding:1rem;font-size:1.05rem}.list-section li{padding:.875rem 1rem;flex-direction:column;align-items:flex-start;gap:.5rem}}@media (max-width: 480px){.form-and-list-container{gap:1rem}.form-section,.list-section{padding:1rem}.form-section h2,.list-section h2{font-size:1.25rem;margin-bottom:1rem}.form-section form{gap:1rem}.form-group input,.form-group select{padding:.75rem .875rem}.list-section{min-height:300px}.list-section li{padding:.75rem}}@media (max-width: 320px){.form-section,.list-section{padding:.75rem}.form-section h2,.list-section h2{font-size:1.1rem}.form-group input,.form-group select{padding:.625rem .75rem;font-size:.95rem}.form-section button{padding:.875rem;font-size:1rem}}.page-container .form-section[style*=max-width]{max-width:100%!important}@media (max-width: 768px){.page-container .form-section[style*=max-width]{margin-bottom:1rem!important}}.success-message{padding:1.5rem;border-radius:var(--radius);margin-bottom:1.5rem;text-align:center;background-color:color-mix(in srgb,#10b981 15%,transparent);color:#059669;border:1px solid #10b981;font-weight:500;animation:messageSlideIn .3s ease-out}.error-message{padding:1.5rem;border-radius:var(--radius);margin-bottom:1.5rem;text-align:center;background-color:color-mix(in srgb,var(--destructive) 15%,transparent);color:var(--destructive);border:1px solid var(--destructive);font-weight:500;animation:messageSlideIn .3s ease-out}.form-group textarea{width:100%;padding:.85rem 1rem;border:1px solid var(--border);background-color:var(--muted);color:var(--foreground);border-radius:var(--radius);font-size:.95rem;transition:all .2s ease;box-sizing:border-box;font-family:inherit;resize:vertical;min-height:80px}.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 25%,transparent);background-color:var(--background)}.form-actions{display:flex;gap:1rem;margin-top:.5rem}.form-actions .btn-primary{flex:1;background:var(--primary);color:var(--primary-foreground);padding:.95rem;border:none;border-radius:var(--radius);font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px -5px var(--primary);font-size:1rem}.form-actions .btn-secondary{flex:1;background:var(--muted);color:var(--muted-foreground);padding:.95rem;border:1px solid var(--border);border-radius:var(--radius);font-weight:600;cursor:pointer;transition:all .3s ease;font-size:1rem}.form-actions .btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px -5px var(--primary)}.form-actions .btn-secondary:hover{background:var(--accent);border-color:var(--accent-foreground);transform:translateY(-2px)}.form-actions .btn-primary:active,.form-actions .btn-secondary:active{transform:translateY(0)}.table-container{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--border);background-color:var(--muted);box-shadow:0 2px 8px #0000001a;-webkit-overflow-scrolling:touch}.data-table{width:100%;min-width:600px;border-collapse:collapse;background-color:var(--background)}.data-table th,.data-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.data-table th{background-color:var(--muted);font-weight:600;color:var(--muted-foreground);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;position:sticky;top:0;z-index:10}.data-table tr:hover{background-color:var(--muted)}.data-table tr:last-child td{border-bottom:none}.data-table th:first-child,.data-table td:first-child{width:60px;min-width:60px}.data-table th:last-child,.data-table td:last-child{width:180px;min-width:180px;white-space:normal}.action-buttons{display:flex;gap:.5rem;align-items:center}.btn-edit,.btn-delete{padding:.5rem 1rem;border:none;border-radius:var(--radius);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.25rem}.btn-edit{background:color-mix(in srgb,#3b82f6 15%,transparent);color:#2563eb;border:1px solid #3b82f6}.btn-edit:hover{background:#3b82f6;color:#fff;transform:translateY(-1px)}.btn-delete{background:color-mix(in srgb,var(--destructive) 15%,transparent);color:var(--destructive);border:1px solid var(--destructive)}.btn-delete:hover{background:var(--destructive);color:var(--destructive-foreground);transform:translateY(-1px)}.loading-container{display:flex;justify-content:center;align-items:center;min-height:200px;font-size:1.1rem;color:var(--muted-foreground)}@media (max-width: 768px){.form-actions{flex-direction:column;gap:.75rem}.table-container{font-size:.875rem;margin:0 -1rem;border-radius:0;border-left:none;border-right:none}.data-table{min-width:500px}.data-table th,.data-table td{padding:.75rem .5rem;font-size:.85rem}.action-buttons{flex-direction:column;gap:.25rem}.btn-edit,.btn-delete{width:100%;justify-content:center;padding:.5rem;font-size:.8rem}.data-table th:first-child,.data-table td:first-child{width:50px;min-width:50px}.data-table th:last-child,.data-table td:last-child{width:120px;min-width:120px}}@media (max-width: 480px){.success-message,.error-message{padding:1rem;font-size:.9rem}.table-container{margin:0 -1.5rem;box-shadow:none;border:none;background:transparent}.data-table{min-width:400px;border:1px solid var(--border);border-radius:var(--radius);background:var(--background)}.data-table th,.data-table td{padding:.5rem .25rem;font-size:.8rem}.data-table th:first-child,.data-table td:first-child{display:none}.data-table th:not(:first-child):not(:last-child),.data-table td:not(:first-child):not(:last-child){white-space:normal;word-break:break-word;max-width:150px}.data-table th:last-child,.data-table td:last-child{width:100px;min-width:100px}}@media (max-width: 360px){.table-container{margin:0 -2rem}.data-table{min-width:320px}.data-table th,.data-table td{padding:.4rem .2rem;font-size:.75rem}.btn-edit,.btn-delete{padding:.4rem;font-size:.7rem}.data-table th:last-child,.data-table td:last-child{width:80px;min-width:80px}}.stats-overview{margin-bottom:2rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:var(--card, white);border-radius:var(--radius, 12px);padding:1.5rem;border:1px solid var(--border, #e5e7eb);transition:all .3s ease;display:flex;align-items:center;gap:1rem;box-shadow:0 2px 8px #0000000d}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.stat-card.primary{border-left:4px solid #3b82f6}.stat-card.secondary{border-left:4px solid #8b5cf6}.stat-card.success{border-left:4px solid #10b981}.stat-card.info{border-left:4px solid #06b6d4}.stat-icon{font-size:2.5rem;flex-shrink:0}.stat-content{flex:1}.stat-content h3{margin:0 0 .5rem;font-size:.9rem;font-weight:600;color:var(--muted-foreground, #6b7280);text-transform:uppercase;letter-spacing:.05em}.stat-number{font-size:2rem;font-weight:700;color:var(--foreground, #1f2937);margin-bottom:.5rem;line-height:1}.stat-breakdown{display:flex;flex-direction:column;gap:.25rem}.stat-breakdown span{font-size:.8rem;color:var(--muted-foreground, #6b7280)}.system-stats{margin-bottom:2rem}.system-metrics{display:flex;flex-direction:column;gap:1rem}.metric-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--border, #e5e7eb)}.metric-item:last-child{border-bottom:none}.metric-label{font-weight:500;color:var(--foreground, #374151)}.metric-value{font-weight:700;font-size:1.1rem;color:var(--primary, #3b82f6)}.summary-stats{display:flex;flex-direction:column;gap:1rem}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--muted, #f9fafb);border-radius:var(--radius, 8px);border:1px solid var(--border, #e5e7eb)}.summary-item strong{color:var(--foreground, #374151);font-weight:500}.summary-item span{font-weight:600;color:var(--primary, #3b82f6)}.rankings{margin-bottom:2rem}.ranking-badge{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;font-weight:600;font-size:.8rem;background:var(--muted, #f3f4f6);color:var(--muted-foreground, #6b7280)}.ranking-badge.top-3{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff}@media (max-width: 768px){.stats-grid{grid-template-columns:1fr;gap:1rem}.stat-card{padding:1rem}.stat-icon{font-size:2rem}.stat-number{font-size:1.5rem}.stat-breakdown{font-size:.75rem}.metric-item,.summary-item{flex-direction:column;align-items:flex-start;gap:.5rem}.metric-item span,.summary-item span{align-self:flex-end}}@media (max-width: 480px){.stat-card{flex-direction:column;text-align:center;gap:.75rem}.stat-content{width:100%}.system-metrics,.summary-stats{gap:.75rem}.metric-item,.summary-item{padding:.5rem .75rem;font-size:.9rem}}.form-group input.field-error,.form-group select.field-error,.form-group textarea.field-error{border-color:#ef4444;background-color:#ef44440d;box-shadow:0 0 0 3px #ef44441a}.form-group input.field-error:focus,.form-group select.field-error:focus,.form-group textarea.field-error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef444433;outline:none}.dropdown-trigger.field-error{border-color:#ef4444!important;background-color:#ef44440d!important;box-shadow:0 0 0 3px #ef44441a!important}.dropdown-trigger.field-error:hover{border-color:#ef4444!important;box-shadow:0 0 0 3px #ef444433!important}.filter-dropdown .dropdown-trigger{width:100%!important;padding:1rem 1.25rem!important;border:1px solid var(--border)!important;background-color:var(--muted)!important;background:var(--muted)!important;color:var(--foreground)!important;border-radius:var(--radius)!important;font-size:.95rem!important;font-weight:500!important;cursor:pointer!important;transition:all .2s ease!important;display:flex!important;justify-content:space-between!important;align-items:center!important;gap:.5rem!important;text-align:left!important}.filter-dropdown .dropdown-trigger:hover{border-color:var(--primary)!important;background-color:var(--background)!important;background:var(--background)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 20%,transparent)!important}.filter-dropdown .dropdown-trigger.active{border-color:var(--primary)!important;background-color:var(--muted)!important;background:var(--muted)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 20%,transparent)!important}.filter-dropdown .dropdown-item{width:100%!important;padding:.875rem 1.25rem!important;background:none!important;background-color:transparent!important;border:none!important;border-bottom:1px solid var(--border)!important;color:var(--foreground)!important;font-size:.9rem!important;font-weight:500!important;cursor:pointer!important;transition:all .2s ease!important;text-align:left!important;box-shadow:none!important;outline:none!important}.filter-dropdown .dropdown-item:last-child{border-bottom:none!important}.filter-dropdown .dropdown-item:hover{background-color:var(--muted)!important;background:var(--muted)!important;color:var(--primary)!important;box-shadow:none!important;border-color:var(--border)!important}.filter-dropdown .dropdown-item:active{background-color:var(--primary)!important;background:var(--primary)!important;color:var(--primary-foreground)!important;box-shadow:none!important}.platform-url{color:#667eea;font-family:monospace;font-size:.8em}.text-muted{color:#6c757d;font-style:italic}.action-buttons{display:flex;flex-direction:column;gap:4px;min-width:120px}.action-buttons .btn{font-size:.75rem;padding:4px 8px;white-space:nowrap}.btn-warning{background-color:#ffc107;border-color:#ffc107;color:#212529}.btn-warning:hover{background-color:#e0a800;border-color:#d39e00}.btn-success{background-color:#28a745;border-color:#28a745;color:#fff}.btn-success:hover{background-color:#218838;border-color:#1e7e34}.modal-content{background:var(--background);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-radius:20px;border:1px solid color-mix(in srgb,var(--border) 50%,transparent);width:90%;max-width:600px;max-height:90vh;overflow:hidden;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px color-mix(in srgb,var(--primary) 20%,transparent);animation:modalSlideIn .4s cubic-bezier(.34,1.56,.64,1);position:relative}.modal-content:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgba(255,255,255,.1),transparent 70%);animation:liquidMove 7s infinite linear;pointer-events:none;z-index:0}.modal-content>.modal-header,.modal-content>.modal-form{position:relative;z-index:1}.modal-form,.modal-body{color:#e5e7eb;background:#111827f2!important}.modal-form small,.modal-body small{color:#d1d5db!important;font-weight:500}.modal-form .form-row,.modal-body .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}@media (max-width: 768px){.modal-form .form-row,.modal-body .form-row{grid-template-columns:1fr;gap:1rem}}.modal-form input[type=checkbox],.modal-body input[type=checkbox]{width:auto!important;margin-right:.5rem;cursor:pointer}.modal-form label:has(input[type=checkbox]),.modal-body label:has(input[type=checkbox]){color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.3)}.modal-form label small,.modal-body label small,.modal-form .form-group small,.modal-body .form-group small{color:#d1d5db!important;font-weight:400;text-transform:none}.modal-body small[style*=color]{color:#d1d5db!important}.modal-footer{padding-top:2rem;margin-top:2rem;border-top:1px solid rgba(255,255,255,.2);display:flex;gap:1rem;justify-content:flex-end}.modal-form h3,.modal-body h3{color:#fff!important;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.3)}.modal-form hr,.modal-body hr{border-color:#ffffff4d!important;margin:2rem 0!important}.modal-body{padding:3rem 2.5rem 2.5rem!important;overflow-y:auto;max-height:calc(90vh - 120px)}.modal-form .form-group{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem;position:relative}.modal-form .form-group label,.modal-body .form-group label{font-weight:600;color:#fff!important;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;text-shadow:0 1px 2px rgba(0,0,0,.3)}.modal-form .form-group input,.modal-form .form-group select,.modal-form .form-group textarea,.modal-body .form-group input,.modal-body .form-group select,.modal-body .form-group textarea{width:100%;padding:1rem 1.25rem;border:2px solid var(--border);background:#fff!important;color:#111827!important;border-radius:12px;font-size:1rem;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);box-sizing:border-box;box-shadow:0 1px 3px #0000001a;font-family:inherit}.modal-form .form-group input::placeholder,.modal-form .form-group textarea::placeholder,.modal-body .form-group input::placeholder,.modal-body .form-group textarea::placeholder{color:#6b7280!important;opacity:.9}.modal-form .form-group textarea{resize:vertical;min-height:100px}.modal-form .form-group select,.modal-body .form-group select{background:#fff!important;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23111827' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m6 9 6 6 6-6'/%3e%3c/svg%3e")!important;background-repeat:no-repeat!important;background-position:right 1.25rem center!important;background-size:1.25em!important;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;padding-right:3rem;color:#111827!important}.modal-form .form-group select option,.modal-body .form-group select option{background:#fff!important;color:#111827!important}.modal-form .form-group input:focus,.modal-form .form-group select:focus,.modal-form .form-group textarea:focus,.modal-body .form-group input:focus,.modal-body .form-group select:focus,.modal-body .form-group textarea:focus{outline:none;border-color:var(--primary);background:#fff!important;color:#111827!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 15%,transparent),0 4px 12px #00000026;transform:translateY(-1px)}.modal-form .form-group input:hover,.modal-form .form-group select:hover,.modal-form .form-group textarea:hover{border-color:color-mix(in srgb,var(--primary) 60%,var(--border));box-shadow:0 2px 8px #0000001a}@media (max-width: 768px){.modal-content{width:95%;margin:1rem}.modal-header{padding:1.5rem 2rem 1rem}.modal-header h2{font-size:1.5rem}.modal-form{padding:2rem}.modal-body{padding:2.5rem 2rem 2rem!important}.modal-actions{flex-direction:column;gap:1rem}.modal-actions button{width:100%}}@media (max-width: 480px){.modal-content{width:98%;margin:.5rem;max-height:95vh}.modal-header{padding:1rem 1.5rem .75rem}.modal-form{padding:1.5rem}.modal-form .form-group{margin-bottom:1.5rem}.modal-actions .btn-primary,.modal-actions .btn-secondary{padding:.875rem 1.5rem;font-size:.95rem}}.confirm-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1100;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}.confirm-modal-content{background:var(--background);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-radius:16px;border:1px solid color-mix(in srgb,var(--border) 50%,transparent);width:90%;max-width:400px;overflow:hidden;box-shadow:0 20px 40px -12px #0000004d,0 0 0 1px color-mix(in srgb,var(--destructive) 20%,transparent);animation:confirmModalSlideIn .3s cubic-bezier(.34,1.56,.64,1);position:relative}.confirm-modal-header{display:flex;align-items:center;gap:1rem;padding:1.5rem 2rem 1rem;background:linear-gradient(135deg,var(--destructive),color-mix(in srgb,var(--destructive) 80%,hsl(0,70%,60%)));color:var(--destructive-foreground);position:relative;overflow:hidden}.confirm-modal-header:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffff1a,#ffffff0d);pointer-events:none}.confirm-modal-icon{font-size:1.5rem;position:relative;z-index:1}.confirm-modal-title{margin:0;font-size:1.25rem;font-weight:700;color:var(--destructive-foreground);text-shadow:0 1px 2px rgba(0,0,0,.1);position:relative;z-index:1}.confirm-modal-body{padding:1.5rem 2rem}.confirm-modal-message{color:var(--foreground);font-size:1rem;line-height:1.5;margin:0}.confirm-modal-actions{display:flex;gap:1rem;justify-content:flex-end;padding:0 2rem 2rem}.confirm-modal-actions .btn-danger{background:linear-gradient(135deg,var(--destructive),color-mix(in srgb,var(--destructive) 80%,hsl(0,70%,60%)));color:var(--destructive-foreground);border:none;padding:.75rem 1.5rem;border-radius:10px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:.95rem;box-shadow:0 4px 15px color-mix(in srgb,var(--destructive) 40%,transparent),0 1px 3px #0000001a;position:relative;overflow:hidden}.confirm-modal-actions .btn-danger:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.confirm-modal-actions .btn-danger:hover:before{left:100%}.confirm-modal-actions .btn-danger:hover{transform:translateY(-2px);box-shadow:0 8px 25px color-mix(in srgb,var(--destructive) 50%,transparent),0 4px 12px #00000026}.confirm-modal-actions .btn-cancel{background:var(--card);color:var(--foreground);padding:.75rem 1.5rem;border:2px solid var(--border);border-radius:10px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:.95rem;box-shadow:0 1px 3px #0000001a}.confirm-modal-actions .btn-cancel:hover{background:var(--muted);border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}@keyframes confirmModalSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (max-width: 768px){.confirm-modal-content{width:95%;margin:1rem}.confirm-modal-header{padding:1.25rem 1.5rem .75rem}.confirm-modal-title{font-size:1.1rem}.confirm-modal-body{padding:1.25rem 1.5rem}.confirm-modal-actions{padding:0 1.5rem 1.5rem;flex-direction:column;gap:.75rem}.confirm-modal-actions button{width:100%}}@media (max-width: 480px){.confirm-modal-content{width:98%;margin:.5rem}.confirm-modal-header{padding:1rem 1.25rem .5rem}.confirm-modal-icon{font-size:1.25rem}.confirm-modal-title{font-size:1rem}.confirm-modal-body{padding:1rem 1.25rem}.confirm-modal-message{font-size:.9rem}.confirm-modal-actions{padding:0 1.25rem 1.25rem}.confirm-modal-actions .btn-danger,.confirm-modal-actions .btn-cancel{padding:.75rem 1.25rem;font-size:.9rem}}.dashboard-container{display:block;animation:contentFadeIn .6s ease-in-out .2s;animation-fill-mode:backwards;max-width:100%;overflow-x:hidden}.booking-form,.calendar-view{background-color:var(--card);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);padding:2rem;border-radius:var(--radius);border:1px solid var(--border);transition:all .3s ease;width:100%;box-sizing:border-box;position:relative;overflow:hidden}.booking-form:before,.calendar-view:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgba(255,255,255,.1),transparent 70%);animation:liquidMove 9s infinite linear;pointer-events:none;z-index:0}.booking-form>*,.calendar-view>*{position:relative;z-index:1}.calendar-view-fullwidth{background-color:var(--card);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);padding:2.5rem;border-radius:var(--radius);border:1px solid var(--border);transition:all .3s ease;width:100%;box-sizing:border-box;margin-top:2rem;min-height:800px;position:relative;z-index:10;overflow:hidden}.calendar-view-fullwidth:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgba(255,255,255,.1),transparent 70%);animation:liquidMove 10s infinite linear;pointer-events:none;z-index:0}.calendar-view-fullwidth>*{position:relative;z-index:1}.booking-form:hover,.calendar-view:hover,.calendar-view-fullwidth:hover{box-shadow:0 8px 30px #0000001a;border-color:color-mix(in srgb,var(--primary) 20%,var(--border))}.booking-form{position:sticky;top:2rem;height:fit-content}.booking-form form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;font-size:.875rem;color:var(--card-foreground)}.form-group input,.form-group select{width:100%;padding:.85rem 1rem;border:1px solid var(--border);background-color:var(--muted);color:var(--foreground);border-radius:var(--radius);font-size:.95rem;transition:all .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box}.form-group select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m6 9 6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 1rem center;background-size:1em;cursor:pointer}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 25%,transparent);background-color:var(--background)}.form-group select:disabled{opacity:.5;cursor:not-allowed}.form-button{background:var(--primary);color:var(--primary-foreground);padding:.95rem;border:none;border-radius:var(--radius);font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px -5px var(--primary);font-size:1rem}.form-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px -5px var(--primary)}.form-button:active{transform:translateY(0)}.form-button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.form-message{padding:1rem;border-radius:var(--radius);margin-top:1rem;text-align:center;font-weight:500}.form-message.error{background-color:color-mix(in srgb,var(--destructive) 15%,transparent);color:var(--destructive);border:1px solid var(--destructive)}.form-message.success{background-color:color-mix(in srgb,var(--success) 20%,transparent);color:var(--success);border:1px solid var(--success)}.calendar-view,.calendar-view-fullwidth{--fc-border-color: var(--border);--fc-today-bg-color: color-mix(in srgb, var(--primary) 10%, transparent);--fc-list-event-hover-bg-color: var(--muted);--fc-event-bg-color: var(--primary);--fc-event-border-color: var(--primary);--fc-event-text-color: var(--primary-foreground);overflow-x:auto}.calendar-view-fullwidth .fc{height:auto!important;min-height:600px;position:relative;z-index:1}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.calendar-header-left{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.calendar-title{font-size:1.5rem;font-weight:700;margin:0;padding:0;border:none;background:linear-gradient(45deg,var(--primary),hsl(190,80%,60%));-webkit-background-clip:text;background-clip:text;color:transparent;white-space:nowrap}.calendar-title.pulse{animation:pulseRealtime .6s ease-in-out}@keyframes pulseRealtime{0%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.03);filter:brightness(1.2)}to{transform:scale(1);filter:brightness(1)}}.calendar-nav,.calendar-header-right{display:flex;gap:.5rem;flex-wrap:wrap}.calendar-nav button,.calendar-header-right button,.today-button{background-color:var(--secondary);color:var(--secondary-foreground);border:1px solid var(--border);border-radius:.6rem;padding:.6rem 1.2rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.calendar-nav button:hover,.calendar-header-right button:hover,.today-button:hover{background-color:var(--muted);color:var(--foreground);border-color:var(--primary);transform:translateY(-2px);box-shadow:0 2px 8px -2px var(--muted-foreground)}.calendar-header-right button.active-view{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary);box-shadow:0 4px 12px -5px var(--primary)}.fullscreen-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 20px;border-radius:8px;cursor:pointer;transition:all .3s ease;font-weight:600;font-size:14px;display:flex;align-items:center;gap:8px;margin-left:12px;box-shadow:0 4px 12px #667eea4d}.fullscreen-button:hover{background:linear-gradient(135deg,#5a6fd8,#6a4190);transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.fullscreen-button:active{transform:translateY(0);box-shadow:0 2px 8px #667eea4d}.fullscreen-button svg{width:18px;height:18px}.today-button{padding:.4rem .8rem;font-size:.8rem}.fc .fc-toolbar.fc-header-toolbar{display:none}.fc .fc-toolbar-title{font-size:1.25rem;font-weight:600}.fc .fc-button-group,.fc .fc-button{border-radius:var(--radius)}.fc .fc-button{padding:.5rem 1rem;font-size:.875rem;font-weight:500}.fc .fc-daygrid-day-number{font-size:.875rem;padding:.5rem;color:var(--muted-foreground)}.fc .fc-col-header-cell{border-color:var(--border)!important}.fc-col-header-cell-cushion{color:var(--muted-foreground);text-decoration:none;font-weight:600;padding:.5rem}.fc .fc-day-today .fc-daygrid-day-number{color:var(--primary);font-weight:800}.fc-h-event,.fc-v-event{border:none!important;background-color:var(--primary)!important;color:var(--primary-foreground)!important;border-radius:4px;box-shadow:0 2px 5px #0000001a}.custom-calendar-event{padding:4px 6px;height:100%;width:100%;overflow:hidden;font-size:.8rem;line-height:1.4;cursor:pointer;border-left:3px solid color-mix(in srgb,var(--primary-foreground),transparent 50%)}.custom-calendar-event i{font-style:normal;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.custom-calendar-event p{margin:0;opacity:.85;font-size:.75rem}.calendar-view{--fc-col-header-cell-bg-color: transparent;--fc-list-day-bg-color: var(--muted)}[data-theme=dark] .calendar-view{--fc-col-header-cell-bg-color: var(--muted);--fc-list-day-bg-color: var(--muted);--fc-list-day-text-color: var(--foreground)}[data-theme=dark] .fc-col-header-cell-cushion{color:var(--foreground)}[data-theme=dark] .fc .fc-col-header-cell{background-color:var(--muted)!important;border-color:var(--border)!important}[data-theme=dark] .fc .fc-col-header-cell-cushion{color:var(--foreground)!important}[data-theme=dark] .fc .fc-daygrid-day{background-color:var(--card)!important;border-color:var(--border)!important}[data-theme=dark] .fc .fc-daygrid-day-number{color:var(--foreground)!important}[data-theme=dark] .fc .fc-list-day-cushion,[data-theme=dark] .fc .fc-list-day-side{background-color:var(--muted)!important;color:var(--foreground)!important}[data-theme=dark] .fc .fc-timegrid-slot-label{background-color:var(--card)!important;color:var(--foreground)!important;border-color:var(--border)!important}[data-theme=dark] .fc .fc-timegrid-axis-cushion{background-color:var(--card)!important;color:var(--foreground)!important}[data-theme=dark] .fc .fc-timegrid-divider{background-color:var(--card)!important;border-color:var(--border)!important}[data-theme=dark] .fc .fc-timegrid-col-bg{background-color:var(--card)!important}[data-theme=dark] .fc .fc-timegrid-axis{background-color:var(--muted)!important;border-color:var(--border)!important}[data-theme=dark] .fc .fc-timegrid-axis-frame,[data-theme=dark] .fc .fc-col-header-cell.fc-timegrid-axis-cushion{background-color:var(--muted)!important}@media (max-width: 1200px){.calendar-view-fullwidth{padding:1.75rem;min-height:750px}.filters-container{padding:1.75rem}}@media (max-width: 1024px){.calendar-view-fullwidth{padding:2rem;min-height:700px}.calendar-title{font-size:1.35rem}.filters-container{padding:1.5rem}.filters-row{gap:1.5rem}}@media (max-width: 900px){.calendar-view-fullwidth{padding:1.5rem;min-height:600px}.filters-row{grid-template-columns:1fr;gap:1.5rem}.filters-header{flex-direction:column;align-items:flex-start;gap:1rem}.filters-stats{width:100%;justify-content:space-between}}@media (max-width: 768px){.calendar-view-fullwidth{padding:1.25rem;min-height:500px}.filters-container{padding:1.25rem}.filters-row{grid-template-columns:1fr;gap:1.25rem}.dropdown-trigger{padding:.875rem 1rem;font-size:1rem}.dropdown-item{padding:.75rem 1rem;font-size:.95rem}.calendar-header{flex-direction:column;align-items:stretch;gap:1rem}.calendar-header-left{justify-content:space-between;width:100%}.calendar-header-right{width:100%;justify-content:center}.calendar-header-right button{flex-grow:1;padding:.75rem .5rem;font-size:.8rem}.calendar-title{font-size:1.25rem}.today-button{padding:.5rem .75rem;font-size:.75rem}.calendar-nav button{padding:.5rem .75rem;font-size:.8rem}.clear-filters-btn{padding:.375rem .75rem;font-size:.8rem}}@media (max-width: 480px){.calendar-view-fullwidth{padding:1rem;min-height:400px}.filters-container{padding:1rem}.filters-header{flex-direction:column;align-items:flex-start;gap:.75rem}.filters-stats{flex-direction:column;align-items:flex-start;gap:.5rem}.dropdown-trigger{padding:.75rem .875rem;font-size:.95rem}.dropdown-item{padding:.625rem .875rem;font-size:.9rem}.calendar-header-left{flex-direction:column;gap:.75rem}.calendar-nav{align-self:flex-start}.calendar-title{font-size:1.1rem;align-self:flex-start}.calendar-header-right button{padding:.625rem .375rem;font-size:.75rem}}@media (max-width: 320px){.calendar-view-fullwidth{padding:.75rem;min-height:350px}.filters-container{padding:.75rem}.dropdown-trigger{padding:.625rem .75rem;font-size:.9rem}.dropdown-item{padding:.5rem .75rem;font-size:.85rem}.calendar-title{font-size:1rem}.calendar-header-right button{padding:.5rem .25rem;font-size:.7rem}.today-button,.calendar-nav button{padding:.4rem .5rem;font-size:.7rem}.clear-filters-btn{padding:.25rem .5rem;font-size:.75rem}}.calendar-view .fc,.calendar-view-fullwidth .fc{min-width:300px}@media (max-width: 768px){.calendar-view,.calendar-view-fullwidth{overflow-x:auto}.fc .fc-view-harness{min-width:320px}}.success-message{padding:1rem 1.5rem;margin-bottom:1.5rem;border-radius:var(--radius, 8px);background-color:color-mix(in srgb,#10b981 15%,transparent);color:#059669;border:1px solid #10b981;font-weight:500;text-align:center;animation:messageSlideIn .3s ease-out}.error-message{padding:1rem 1.5rem;margin-bottom:1.5rem;border-radius:var(--radius, 8px);background-color:color-mix(in srgb,#ef4444 15%,transparent);color:#dc2626;border:1px solid #ef4444;font-weight:500;text-align:center;animation:messageSlideIn .3s ease-out}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.filters-container{background-color:var(--card);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border-radius:var(--radius);padding:2rem;margin-bottom:2rem;border:1px solid var(--border);box-shadow:0 4px 20px #00000014;transition:all .3s ease;position:relative;z-index:500;overflow:hidden}.filters-container:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgba(255,255,255,.1),transparent 70%);animation:liquidMove 8s infinite linear;pointer-events:none;z-index:0}.filters-container>*{position:relative;z-index:1}.filters-container:hover{box-shadow:0 8px 30px #0000001a;border-color:color-mix(in srgb,var(--primary) 20%,var(--border))}.filters-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.filters-header h3{margin:0;color:var(--foreground);font-size:1.25rem;font-weight:700}.filters-stats{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.filters-stats span{color:var(--muted-foreground);font-size:.9rem;font-weight:500}.clear-filters-btn{background:color-mix(in srgb,var(--destructive) 10%,transparent);color:var(--destructive);border:1px solid var(--destructive);padding:.5rem 1rem;border-radius:calc(var(--radius) - 2px);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.clear-filters-btn:hover{background:var(--destructive);color:var(--destructive-foreground);transform:translateY(-1px)}.filters-row{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}.filter-dropdown{display:flex;flex-direction:column;gap:.75rem}.filter-dropdown label{font-weight:600;color:var(--foreground);font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}.dropdown-container{position:relative;z-index:1000}.dropdown-trigger{width:100%;padding:1rem 1.25rem;border:1px solid var(--border);background-color:var(--muted);color:var(--foreground);border-radius:var(--radius);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;justify-content:space-between;align-items:center;gap:.5rem;text-align:left}.dropdown-trigger:hover{border-color:var(--primary);background-color:var(--background);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 20%,transparent)}.dropdown-trigger.active{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 20%,transparent)}.dropdown-icon{width:1.25rem;height:1.25rem;flex-shrink:0;transition:transform .2s ease}.dropdown-trigger.active .dropdown-icon{transform:rotate(180deg)}.dropdown-menu{position:absolute;top:calc(100% + .5rem);left:0;right:0;background-color:var(--background);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 15px 35px #00000040,0 5px 15px #0000001a;z-index:9999;max-height:300px;overflow-y:auto;animation:dropdownFadeIn .2s ease-out}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.dropdown-item{width:100%;padding:.875rem 1.25rem;background:none;border:none;color:var(--foreground);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left;border-bottom:1px solid var(--border)}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background-color:var(--muted);color:var(--primary)}.dropdown-item:active{background-color:var(--primary);color:var(--primary-foreground)}.dropdown-menu::-webkit-scrollbar{width:6px}.dropdown-menu::-webkit-scrollbar-track{background:transparent}.dropdown-menu::-webkit-scrollbar-thumb{background-color:var(--border);border-radius:3px}.dropdown-menu::-webkit-scrollbar-thumb:hover{background-color:var(--primary)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:fadeIn .3s ease-out}.modal-content{background:var(--background);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-radius:20px;border:1px solid color-mix(in srgb,var(--border) 50%,transparent);width:90%;max-width:850px;max-height:90vh;overflow:hidden;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px color-mix(in srgb,var(--primary) 20%,transparent);animation:modalSlideIn .4s cubic-bezier(.34,1.56,.64,1);position:relative}.modal-content:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--primary) 50%,transparent),transparent)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:2rem 2.5rem 1.5rem;background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 80%,hsl(220,70%,60%)));color:var(--primary-foreground);position:relative;overflow:hidden}.modal-header:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffff1a,#ffffff0d);pointer-events:none}.modal-header h2{margin:0;font-size:1.75rem;font-weight:700;color:var(--primary-foreground);text-shadow:0 1px 2px rgba(0,0,0,.1);position:relative;z-index:1}.modal-close{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);font-size:1.25rem;color:var(--primary-foreground);cursor:pointer;padding:.5rem;border-radius:12px;transition:all .3s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);position:relative;z-index:1;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:#fff3;border-color:#ffffff4d;transform:scale(1.05)}.modal-form{padding:2.5rem;overflow-y:auto;max-height:calc(90vh - 120px)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}.form-row:last-of-type{grid-template-columns:1fr}.modal-form .form-group{display:flex;flex-direction:column;gap:.75rem;position:relative}.modal-form .form-group label{font-weight:600;color:var(--foreground);font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.modal-form .form-group input,.modal-form .form-group select{width:100%;padding:1rem 1.25rem;border:2px solid var(--border);background:var(--card);color:var(--foreground);border-radius:12px;font-size:1rem;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);box-sizing:border-box;box-shadow:0 1px 3px #0000001a}.modal-form .form-group select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m6 9 6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 1.25rem center;background-size:1.25em;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;padding-right:3rem}.modal-form .form-group input:focus,.modal-form .form-group select:focus{outline:none;border-color:var(--primary);background:var(--background);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 15%,transparent),0 4px 12px #00000026;transform:translateY(-1px)}.modal-form .form-group input:hover,.modal-form .form-group select:hover{border-color:color-mix(in srgb,var(--primary) 60%,var(--border));box-shadow:0 2px 8px #0000001a}.modal-form .form-group select:disabled{opacity:.6;cursor:not-allowed;background:var(--muted)}.modal-error{padding:1.25rem 1.5rem;background:linear-gradient(135deg,color-mix(in srgb,var(--destructive) 10%,transparent),color-mix(in srgb,var(--destructive) 5%,transparent));color:var(--destructive);border:1px solid color-mix(in srgb,var(--destructive) 30%,transparent);border-radius:12px;margin-bottom:2rem;font-size:.95rem;font-weight:500;box-shadow:0 2px 8px color-mix(in srgb,var(--destructive) 20%,transparent)}.modal-actions{display:flex;gap:1.25rem;justify-content:flex-end;margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--border)}.modal-actions .btn-primary{background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 80%,hsl(220,70%,60%)));color:var(--primary-foreground);padding:1rem 2rem;border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px color-mix(in srgb,var(--primary) 40%,transparent),0 1px 3px #0000001a;font-size:1rem;position:relative;overflow:hidden}.modal-actions .btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.modal-actions .btn-primary:hover:before{left:100%}.modal-actions .btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px color-mix(in srgb,var(--primary) 50%,transparent),0 4px 12px #00000026}.modal-actions .btn-primary:active{transform:translateY(0)}.modal-actions .btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.modal-actions .btn-secondary{background:var(--card);color:var(--foreground);padding:1rem 2rem;border:2px solid var(--border);border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:1rem;box-shadow:0 1px 3px #0000001a}.modal-actions .btn-secondary:hover{background:var(--muted);border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.modal-actions .btn-secondary:active{transform:translateY(0)}.modal-actions .btn-delete{background:linear-gradient(135deg,var(--destructive),color-mix(in srgb,var(--destructive) 80%,hsl(0,70%,60%)));color:var(--destructive-foreground);border:none;padding:1rem 2rem;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:1rem;box-shadow:0 4px 15px color-mix(in srgb,var(--destructive) 40%,transparent),0 1px 3px #0000001a;position:relative;overflow:hidden}.modal-actions .btn-delete:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.modal-actions .btn-delete:hover:before{left:100%}.modal-actions .btn-delete:hover{transform:translateY(-2px);box-shadow:0 8px 25px color-mix(in srgb,var(--destructive) 50%,transparent),0 4px 12px #00000026}.modal-actions .btn-delete:active{transform:translateY(0)}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.custom-calendar-event{font-size:.8rem;line-height:1.2}.custom-calendar-event b{display:block;margin-bottom:2px}.custom-calendar-event i{display:block;font-style:normal;font-weight:500;margin-bottom:2px}.custom-calendar-event p{margin:0;font-size:.75rem;opacity:.9}.custom-calendar-event small{display:block;font-size:.7rem;opacity:.8;margin-top:2px}@media (max-width: 768px){.modal-content{width:95%;margin:1rem}.modal-header{padding:1rem 1.5rem}.modal-header h2{font-size:1.25rem}.modal-form{padding:1.5rem}.form-row{grid-template-columns:1fr;gap:1rem;margin-bottom:1rem}.modal-actions{flex-direction:column;gap:.75rem}.modal-actions button{width:100%}.filters-row{grid-template-columns:1fr;gap:1rem}.filter-stats{text-align:center;padding:1rem 0 .5rem;border-top:1px solid #eee}}@media (max-width: 480px){.modal-content{width:98%;margin:.5rem;max-height:95vh}.modal-header,.modal-form,.filters-container{padding:1rem}.modal-actions .btn-primary,.modal-actions .btn-secondary,.modal-actions .btn-delete{padding:.875rem;font-size:.9rem}}.modal-form input.field-error,.modal-form select.field-error,.modal-form textarea.field-error{border-color:#ef4444;background-color:#ef44440d;box-shadow:0 0 0 3px #ef44441a}.modal-form input.field-error:focus,.modal-form select.field-error:focus,.modal-form textarea.field-error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef444433;outline:none}.form-group:has(.field-error) label{color:#ef4444;font-weight:600}.form-group-full-width{grid-column:1 / -1}.alumno-search-container{position:relative;width:100%}.alumno-search-input-container{display:flex;align-items:center;gap:.5rem;position:relative}.alumno-search-input-container input{flex:1;padding:1rem 1.25rem;border:2px solid var(--border);background:var(--card);color:var(--foreground);border-radius:12px;font-size:1rem;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);box-sizing:border-box;box-shadow:0 1px 3px #0000001a}.alumno-search-input-container input:focus{outline:none;border-color:var(--primary);background:var(--background);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 15%,transparent),0 4px 12px #00000026;transform:translateY(-1px)}.alumno-search-input-container input:hover{border-color:color-mix(in srgb,var(--primary) 60%,var(--border));box-shadow:0 2px 8px #0000001a}.add-alumno-btn{background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 80%,hsl(220,70%,60%)));color:var(--primary-foreground);border:none;border-radius:12px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px color-mix(in srgb,var(--primary) 40%,transparent),0 1px 3px #0000001a;position:relative;overflow:hidden;flex-shrink:0}.add-alumno-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.add-alumno-btn:hover:before{left:100%}.add-alumno-btn:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 8px 25px color-mix(in srgb,var(--primary) 50%,transparent),0 4px 12px #00000026}.add-alumno-btn:active{transform:translateY(0) scale(1)}.alumno-suggestions{position:absolute;top:calc(100% + .5rem);left:0;right:0;background:var(--background);border:2px solid var(--border);border-radius:12px;box-shadow:0 15px 35px #00000040,0 5px 15px #0000001a;z-index:9999;max-height:300px;overflow-y:auto;animation:suggestionsFadeIn .2s ease-out}@keyframes suggestionsFadeIn{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.alumno-suggestion-item{padding:1rem 1.25rem;cursor:pointer;transition:all .2s ease;border-bottom:1px solid var(--border);position:relative}.alumno-suggestion-item:last-child{border-bottom:none}.alumno-suggestion-item:hover{background:var(--muted);color:var(--primary);transform:translate(4px)}.alumno-suggestion-item:active{background:var(--primary);color:var(--primary-foreground)}.alumno-name{font-weight:600;font-size:1rem;color:var(--foreground);margin-bottom:.25rem}.alumno-phone{font-size:.875rem;color:var(--muted-foreground);margin-bottom:.125rem}.alumno-email{font-size:.8rem;color:var(--muted-foreground);font-style:italic}.alumno-suggestion-loading{padding:1rem 1.25rem;display:flex;align-items:center;gap:.75rem;color:var(--muted-foreground);font-size:.9rem;font-style:italic}.alumno-loading-spinner{width:16px;height:16px;border:2px solid var(--border);border-top:2px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite}.alumno-suggestion-no-results{padding:1rem 1.25rem;color:var(--muted-foreground);font-size:.9rem;font-style:italic;text-align:center}.nuevo-alumno-form{margin-top:1.5rem;padding:1.5rem;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 5%,transparent),color-mix(in srgb,var(--primary) 2%,transparent));border:2px solid color-mix(in srgb,var(--primary) 20%,transparent);border-radius:12px;animation:nuevoAlumnoSlideIn .3s ease-out}@keyframes nuevoAlumnoSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.nuevo-alumno-form h4{margin:0 0 1rem;color:var(--foreground);font-size:1.1rem;font-weight:600;text-align:center}.nuevo-alumno-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.nuevo-alumno-form .form-group{margin-bottom:0}.nuevo-alumno-form .form-group label{font-size:.85rem;font-weight:600;color:var(--foreground);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.nuevo-alumno-form .form-group input{padding:.875rem 1rem;border:2px solid var(--border);background:var(--card);color:var(--foreground);border-radius:8px;font-size:.95rem;font-weight:500;transition:all .2s ease;box-sizing:border-box}.nuevo-alumno-form .form-group input:focus{outline:none;border-color:var(--primary);background:var(--background);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 15%,transparent)}.nuevo-alumno-actions{display:flex;gap:1rem;justify-content:center}.nuevo-alumno-actions .btn-primary{background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 80%,hsl(220,70%,60%)));color:var(--primary-foreground);padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.9rem}.nuevo-alumno-actions .btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 15px color-mix(in srgb,var(--primary) 40%,transparent)}.nuevo-alumno-actions .btn-secondary{background:var(--card);color:var(--foreground);padding:.75rem 1.5rem;border:2px solid var(--border);border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.9rem}.nuevo-alumno-actions .btn-secondary:hover{background:var(--muted);border-color:var(--primary);transform:translateY(-2px)}.alumno-suggestions::-webkit-scrollbar{width:6px}.alumno-suggestions::-webkit-scrollbar-track{background:transparent}.alumno-suggestions::-webkit-scrollbar-thumb{background-color:var(--border);border-radius:3px}.alumno-suggestions::-webkit-scrollbar-thumb:hover{background-color:var(--primary)}@media (max-width: 768px){.nuevo-alumno-form .form-row{grid-template-columns:1fr;gap:.75rem}.nuevo-alumno-actions{flex-direction:column;gap:.75rem}.nuevo-alumno-actions button{width:100%}.alumno-search-input-container{flex-direction:column;gap:.75rem}.add-alumno-btn{width:100%;height:44px;font-size:1.25rem}}@media (max-width: 480px){.nuevo-alumno-form{padding:1rem}.nuevo-alumno-form h4{font-size:1rem}.alumno-suggestion-item{padding:.875rem 1rem}.alumno-name{font-size:.95rem}@keyframes liquidMove{0%{transform:rotate(0) translate(0)}50%{transform:rotate(180deg) translate(50px,50px)}to{transform:rotate(360deg) translate(0)}}.alumno-phone,.alumno-email{font-size:.8rem}}.theme-toggle-button{--thumb-size: 2.25rem;--padding: .25rem;--width: 5rem;--height: calc(var(--thumb-size) + (var(--padding) * 2));-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;cursor:pointer;width:var(--width);height:var(--height);padding:var(--padding);border-radius:99px;border:1px solid var(--border);background-color:var(--muted);display:flex;justify-content:space-between;align-items:center;transition:all .3s cubic-bezier(.4,0,.2,1);flex-shrink:0}.theme-toggle-button:hover{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 20%,transparent);transform:scale(1.05)}.theme-toggle-button:active{transform:scale(.95)}.theme-toggle-button__icon-wrapper{z-index:1;color:var(--foreground);transition:color .3s ease,transform .3s ease;flex-basis:50%;display:flex;justify-content:center;align-items:center;width:50%;height:100%;border-radius:50%}.theme-toggle-button__icon-wrapper svg{width:18px;height:18px;flex-shrink:0}.theme-toggle-button__thumb{position:absolute;top:var(--padding);left:var(--padding);width:var(--thumb-size);height:var(--thumb-size);background:var(--primary);border-radius:50%;z-index:0;box-shadow:0 2px 8px -2px var(--primary);transition:transform .3s cubic-bezier(.25,.46,.45,.94)}.theme-toggle-button.theme-toggle-button--dark .theme-toggle-button__thumb{transform:translate(calc(var(--width) - var(--thumb-size) - (var(--padding) * 2)))}.theme-toggle-button .theme-toggle-button__icon-wrapper:first-child{color:var(--primary-foreground)}.theme-toggle-button .theme-toggle-button__icon-wrapper:last-child{color:var(--foreground)}.theme-toggle-button.theme-toggle-button--dark .theme-toggle-button__icon-wrapper:first-child{color:var(--foreground)}.theme-toggle-button.theme-toggle-button--dark .theme-toggle-button__icon-wrapper:last-child{color:var(--primary-foreground)}@media (max-width: 768px){.theme-toggle-button{--thumb-size: 2rem;--width: 4.5rem}.theme-toggle-button__icon-wrapper svg{width:16px;height:16px}}@media (max-width: 480px){.theme-toggle-button{--thumb-size: 1.75rem;--width: 4rem;--padding: .2rem}.theme-toggle-button__icon-wrapper svg{width:14px;height:14px}.theme-toggle-button:hover{transform:none}.theme-toggle-button:active{transform:scale(.98)}}@media (max-width: 320px){.theme-toggle-button{--thumb-size: 1.5rem;--width: 3.5rem;--padding: .15rem}.theme-toggle-button__icon-wrapper svg{width:12px;height:12px}}@media (max-width: 768px){.theme-toggle-button{min-height:44px;min-width:44px}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.theme-toggle-button__thumb{box-shadow:0 1px 4px -1px var(--primary)}}.tour-launcher-wrapper{position:relative}.tour-launcher__button{--size: 2.75rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background-color:var(--muted);color:var(--muted-foreground);width:var(--size);height:var(--size);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);flex-shrink:0;position:relative;box-shadow:0 0 0 0 transparent}.tour-launcher__button:hover,.tour-launcher__button[aria-expanded=true]{border-color:var(--primary);color:var(--primary);transform:rotate(25deg) scale(1.05);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 20%,transparent)}.tour-launcher__button:active{transform:rotate(25deg) scale(.95)}.tour-launcher__button:focus-visible{outline:2px solid color-mix(in srgb,var(--primary) 60%,transparent);outline-offset:2px}.tour-launcher__icon{width:18px;height:18px;display:block;pointer-events:none}.tour-launcher__button--done{background-color:var(--primary);border-color:var(--primary);color:var(--primary-foreground);transform:none}.tour-launcher__button--done:hover{transform:scale(1.05);color:var(--primary-foreground);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 20%,transparent)}.tour-launcher__button--done:active{transform:scale(.95)}.tour-launcher__badge{position:absolute;top:4px;right:4px;width:8px;height:8px;border-radius:999px;background:var(--primary);box-shadow:0 0 0 2px var(--muted)}.tour-launcher__button--floating{position:fixed;right:1rem;bottom:2rem;z-index:1002;box-shadow:0 4px 20px -5px #00000026}@media (max-width: 768px){.tour-launcher__button{--size: 2.5rem}.tour-launcher__button:hover{transform:rotate(25deg)}}@media (max-width: 480px){.tour-launcher__button{--size: 2.25rem;min-width:44px;min-height:44px}.tour-launcher__button:hover{transform:none}.tour-launcher__button:active{transform:scale(.95)}}@media (max-width: 320px){.tour-launcher__button{--size: 2rem}}@media (min-width: 1200px){.tour-launcher__button--floating{right:1.25rem;bottom:1.35rem}}.color-switcher-wrapper{position:relative}.settings-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background-color:var(--muted);color:var(--muted-foreground);width:2.75rem;height:2.75rem;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);flex-shrink:0}.settings-button:hover,.settings-button[aria-expanded=true]{border-color:var(--primary);color:var(--primary);transform:rotate(25deg) scale(1.05);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 20%,transparent)}.settings-button:active{transform:rotate(25deg) scale(.95)}.color-switcher{position:absolute;bottom:calc(100% + .75rem);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.5rem;padding:.5rem;border:1px solid var(--border);border-radius:var(--radius);background-color:var(--card);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);box-shadow:0 4px 20px -5px #00000026;animation:popUp .2s ease-out;z-index:1000;white-space:nowrap}@keyframes popUp{0%{opacity:0;transform:translate(-50%) translateY(10px) scale(.95)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.color-switcher{--theme-color-violet: hsl(262.1 83.3% 57.8%);--theme-color-blue: hsl(217.2 91.2% 59.8%);--theme-color-green: hsl(142.1 76.2% 36.3%);--theme-color-orange: hsl(24.6 95% 53.1%);--theme-color-rose: hsl(346.8 77.2% 49.8%)}.color-swatch{width:1.75rem;height:1.75rem;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;flex-shrink:0}.color-swatch:hover{transform:scale(1.15);box-shadow:0 0 0 2px var(--background),0 0 0 4px var(--primary)}.color-swatch:active{transform:scale(.95)}.color-swatch.active{border-color:var(--background);box-shadow:0 0 0 2px var(--background),0 0 0 4px var(--primary);transform:scale(1.1)}@media (max-width: 768px){.settings-button{width:2.5rem;height:2.5rem}.color-switcher{bottom:calc(100% + .5rem);padding:.4rem;gap:.4rem}.color-swatch{width:1.5rem;height:1.5rem}.settings-button:hover{transform:rotate(25deg)}}@media (max-width: 480px){.settings-button{width:2.25rem;height:2.25rem;min-width:44px;min-height:44px}.color-switcher{bottom:auto;top:calc(100% + .5rem);left:auto;right:0;transform:none;animation:popUpMobile .2s ease-out}.color-swatch{width:1.4rem;height:1.4rem;min-width:32px;min-height:32px}.color-swatch:hover{transform:none}.color-swatch:active{transform:scale(.9)}.settings-button:hover{transform:none}.settings-button:active{transform:scale(.95)}}@keyframes popUpMobile{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 320px){.settings-button{width:2rem;height:2rem}.color-switcher{gap:.3rem;padding:.3rem}.color-swatch{width:1.2rem;height:1.2rem;min-width:28px;min-height:28px}}@media (min-width: 1200px){.color-switcher{gap:.6rem;padding:.6rem}.color-swatch{width:2rem;height:2rem}}@media (max-width: 480px){.color-switcher-wrapper{position:static}.color-switcher{position:fixed;top:auto;bottom:5rem;right:1rem;left:auto;transform:none;z-index:1001}}.navbar{width:260px;background:#ffffff38;backdrop-filter:blur(22px) saturate(180%);-webkit-backdrop-filter:blur(22px) saturate(180%);border:1px solid rgba(255,255,255,.32);padding:1.5rem;display:flex;flex-direction:column;height:100vh;position:fixed;top:0;left:0;border-right:1px solid rgba(255,255,255,.32);transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:1000;box-shadow:0 16px 56px #00000059,0 0 0 1px #ffffff26 inset,0 8px 24px #0003;animation:slideIn .5s ease-out;position:relative;overflow:hidden}[data-theme=dark] .navbar{background:#0006;border-color:#ffffff38;border-right-color:#ffffff38}.navbar:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.28) 0%,rgba(255,255,255,.1) 30%,transparent 65%);animation:liquidMove 12s ease-in-out infinite;pointer-events:none;z-index:0}.navbar:after{content:"";position:absolute;bottom:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle at 80% 80%,rgba(139,92,246,.2) 0%,rgba(59,130,246,.12) 25%,transparent 65%);animation:liquidMove 16s ease-in-out infinite reverse;pointer-events:none;z-index:0;animation-delay:-4s}.navbar>*{position:relative;z-index:1}@keyframes slideIn{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}.nav-header{padding:0 .5rem;margin-bottom:2.5rem;display:flex;align-items:center;gap:.75rem}.logo-placeholder{width:36px;height:36px;background:linear-gradient(45deg,var(--primary),hsl(190,80%,60%));border-radius:var(--radius);flex-shrink:0;transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}.nav-header:hover .logo-placeholder{transform:scale(1.15) rotate(15deg)}.nav-brand{font-size:1.15rem;font-weight:700;color:var(--foreground);text-decoration:none;flex-grow:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-links{display:flex;flex-direction:column;gap:.5rem;flex-grow:1;overflow-y:auto}.nav-links a{color:var(--muted-foreground);text-decoration:none;padding:.8rem 1rem;border-radius:var(--radius);font-weight:600;display:flex;align-items:center;gap:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;border:1px solid transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:48px;background:#ffffff0d;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.nav-links a:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 40% 40%,rgba(255,255,255,.2) 0%,transparent 60%);animation:liquidMove 5s ease-in-out infinite;pointer-events:none;z-index:0;opacity:0;transition:opacity .3s}.nav-links a:hover:before{opacity:1}.nav-links a>*{position:relative;z-index:1}.nav-links a svg{flex-shrink:0;width:20px;height:20px}.nav-links a:hover{background-color:var(--muted);color:var(--foreground);border-color:var(--border);transform:translate(2px)}.nav-links a.active{background:var(--primary);color:var(--primary-foreground)!important;font-weight:700;box-shadow:0 4px 12px -4px var(--primary);transform:none;border-color:var(--primary)}.nav-links a.active:hover{transform:translate(1px);box-shadow:0 6px 16px -4px var(--primary)}.nav-links a[data-tooltip]:hover:after{content:attr(data-tooltip);position:absolute;left:calc(100% + 1rem);top:50%;transform:translateY(-50%);background-color:var(--popover);color:var(--popover-foreground);padding:.5rem .75rem;border-radius:var(--radius);font-size:.8rem;font-weight:500;white-space:nowrap;border:1px solid var(--border);box-shadow:0 4px 12px -4px #0000001a;z-index:1001;opacity:0;animation:tooltipFadeIn .2s ease-out forwards;pointer-events:none}.nav-links a[data-tooltip]:hover:before{content:"";position:absolute;left:calc(100% + .5rem);top:50%;transform:translateY(-50%);width:0;height:0;border-style:solid;border-width:6px 6px 6px 0;border-color:transparent var(--border) transparent transparent;z-index:1001;opacity:0;animation:tooltipFadeIn .2s ease-out forwards}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-50%) translate(-5px)}to{opacity:1;transform:translateY(-50%) translate(0)}}.nav-footer{margin-top:auto;padding-top:1.5rem;border-top:1px solid var(--border);display:flex;flex-direction:row;align-items:center;justify-content:center;gap:1rem;flex-shrink:0}@media (max-width: 1024px){.navbar{width:240px}.nav-links a[data-tooltip]:hover:after,.nav-links a[data-tooltip]:hover:before{display:none}}@media (max-width: 768px){.navbar{transform:translate(-100%);box-shadow:4px 0 40px -10px #0000004d;width:280px;z-index:1001}.navbar.is-open{transform:translate(0)}.nav-links a{padding:1rem 1.25rem;font-size:1rem;gap:1.25rem}.nav-footer{gap:1.5rem}.nav-links a[data-tooltip]:hover:after,.nav-links a[data-tooltip]:hover:before{display:none}}@media (max-width: 480px){.navbar{width:100vw}.nav-brand{font-size:1.1rem}.nav-links a{padding:1.2rem 1.5rem;font-size:1.05rem;gap:1.25rem}}@media (min-width: 1440px){.navbar{width:280px}}.navbar *{box-sizing:border-box}.nav-links a,.nav-links a.active{will-change:transform,background-color,color}.nav-links::-webkit-scrollbar{width:4px}.nav-links::-webkit-scrollbar-track{background:transparent}.nav-links::-webkit-scrollbar-thumb{background-color:var(--border);border-radius:2px}.nav-links::-webkit-scrollbar-thumb:hover{background-color:var(--primary)}.mobile-header{display:none;position:fixed;top:0;left:0;width:100%;z-index:1001;background-color:var(--card);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border-bottom:1px solid var(--border);padding:1rem 1.5rem;align-items:center;justify-content:space-between;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 10px #0000000d}@media (max-width: 768px){.mobile-header{display:flex}}.mobile-header__left{display:flex;align-items:center;flex-grow:1}.mobile-header .nav-brand{display:flex;align-items:center;gap:.75rem;font-size:1.1rem;font-weight:700;color:var(--foreground);text-decoration:none;transition:color .2s ease}.mobile-header .nav-brand:hover{color:var(--primary)}.promesa-logo-small{width:32px;height:32px;flex-shrink:0;transition:transform .3s cubic-bezier(.175,.885,.32,1.275);filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.mobile-header .nav-brand:hover .promesa-logo-small{transform:scale(1.1) rotate(5deg)}.mobile-header .logo-placeholder{width:32px;height:32px;flex-shrink:0;background:linear-gradient(45deg,var(--primary),hsl(190,80%,60%));border-radius:var(--radius);transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}.mobile-header .nav-brand:hover .logo-placeholder{transform:scale(1.1) rotate(10deg)}.hamburger-button{padding:12px;display:inline-block;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font:inherit;color:inherit;text-transform:none;background:#ffffff1a;backdrop-filter:blur(8px) saturate(180%);-webkit-backdrop-filter:blur(8px) saturate(180%);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius);margin:0;overflow:hidden;position:relative;min-width:48px;min-height:48px;display:flex;align-items:center;justify-content:center}[data-theme=dark] .hamburger-button{background:#0003;border-color:#ffffff26}.hamburger-button:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 40% 40%,rgba(255,255,255,.25) 0%,transparent 60%);animation:liquidMove 6s ease-in-out infinite;pointer-events:none;z-index:0;opacity:0;transition:opacity .3s}.hamburger-button:hover:before{opacity:1}.hamburger-button>*{position:relative;z-index:1}.hamburger-button:hover{background-color:var(--muted);border-color:var(--primary);transform:scale(1.05)}.hamburger-button:active{transform:scale(.95)}.hamburger-button.is-active{background-color:var(--primary);border-color:var(--primary)}.hamburger-button.is-active:hover{background-color:var(--primary);opacity:.9}.hamburger-button.is-active .hamburger-inner,.hamburger-button.is-active .hamburger-inner:before,.hamburger-button.is-active .hamburger-inner:after{background-color:var(--primary-foreground)}.hamburger-box{width:24px;height:18px;display:inline-block;position:relative}.hamburger-inner{display:block;top:50%;margin-top:-1.5px}.hamburger-inner,.hamburger-inner:before,.hamburger-inner:after{width:24px;height:3px;background-color:var(--foreground);border-radius:2px;position:absolute;transition:all .3s cubic-bezier(.4,0,.2,1)}.hamburger-inner:before,.hamburger-inner:after{content:"";display:block}.hamburger-inner:before{top:-8px}.hamburger-inner:after{bottom:-8px}.hamburger-button.is-active .hamburger-inner{transform:rotate(45deg);background-color:var(--primary-foreground)}.hamburger-button.is-active .hamburger-inner:before{top:0;transform:rotate(90deg);background-color:var(--primary-foreground)}.hamburger-button.is-active .hamburger-inner:after{bottom:0;transform:rotate(90deg);background-color:var(--primary-foreground)}@media (max-width: 480px){.mobile-header{padding:.75rem 1rem}.mobile-header .nav-brand{font-size:1rem;gap:.5rem}.promesa-logo-small,.mobile-header .logo-placeholder{width:28px;height:28px}.hamburger-button{min-width:44px;min-height:44px;padding:10px}}@media (max-width: 320px){.mobile-header{padding:.5rem .75rem}.mobile-header .nav-brand{font-size:.9rem}.promesa-logo-small,.mobile-header .logo-placeholder{width:24px;height:24px}}.mobile-header__right{display:flex;align-items:center;gap:1rem}.user-menu{position:relative}.user-button{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#ffffff1a;backdrop-filter:blur(8px) saturate(180%);-webkit-backdrop-filter:blur(8px) saturate(180%);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);color:var(--foreground);font-size:.875rem;min-height:40px;position:relative;overflow:hidden}[data-theme=dark] .user-button{background:#0003;border-color:#ffffff26}.user-button:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 40% 40%,rgba(255,255,255,.25) 0%,transparent 60%);animation:liquidMove 6s ease-in-out infinite;pointer-events:none;z-index:0;opacity:0;transition:opacity .3s}.user-button:hover:before{opacity:1}.user-button>*{position:relative;z-index:1}.user-button:hover{background:var(--muted);border-color:var(--primary)}.user-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--primary),hsl(190,80%,60%));display:flex;align-items:center;justify-content:center;color:var(--primary-foreground);font-weight:600;font-size:.75rem;flex-shrink:0}.user-name{font-weight:500;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chevron{transition:transform .2s ease;flex-shrink:0}.chevron.open{transform:rotate(180deg)}.user-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background:#ffffff26;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.3);border-radius:var(--radius);box-shadow:0 12px 40px #00000040,0 0 0 1px #ffffff1a inset;min-width:200px;z-index:1002;animation:slideDown .2s ease;position:relative;overflow:hidden}[data-theme=dark] .user-dropdown{background:#0006;border-color:#ffffff38}.user-dropdown:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.2) 0%,transparent 60%);animation:liquidMove 8s ease-in-out infinite;pointer-events:none;z-index:0}.user-dropdown>*{position:relative;z-index:1}.user-info{padding:1rem}.user-name-full{font-weight:600;color:var(--foreground);margin-bottom:.25rem}.user-email{font-size:.875rem;color:var(--muted-foreground);margin-bottom:.25rem}.user-role{font-size:.75rem;color:var(--muted-foreground);background:var(--muted);padding:.25rem .5rem;border-radius:calc(var(--radius) - 2px);display:inline-block}.dropdown-divider{margin:0;border:none;border-top:1px solid var(--border)}.logout-button{width:100%;display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:transparent;border:none;color:var(--destructive);font-size:.875rem;cursor:pointer;transition:background-color .2s ease;border-radius:0 0 var(--radius) var(--radius)}.logout-button:hover{background:var(--destructive);color:var(--destructive-foreground)}.logout-button svg{flex-shrink:0}@media (max-width: 480px){.user-name{display:none}.user-button{padding:.5rem;min-width:40px}.user-dropdown{right:-.5rem;min-width:180px}}@media (max-width: 320px){.mobile-header__right{gap:.5rem}.user-dropdown{right:-1rem;min-width:160px}.user-info{padding:.75rem}}.demo-view-container{min-height:100vh;height:100vh;max-height:100vh;background:var(--background);overflow-y:auto;overflow-x:hidden;position:relative}.demo-view-container,.demo-user-view,.demo-admin-view{position:relative;z-index:1}.demo-banner{position:sticky;top:0;z-index:1000;background:linear-gradient(135deg,#667eea,#764ba2);padding:1rem 2rem;box-shadow:0 2px 8px #0000001a;border-bottom:3px solid rgba(255,255,255,.2);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);position:relative;overflow:hidden}.demo-banner:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.25) 0%,rgba(255,255,255,.1) 30%,transparent 70%);animation:liquidMove 10s ease-in-out infinite;pointer-events:none;z-index:0}.demo-banner:after{content:"";position:absolute;bottom:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle at 70% 70%,rgba(255,255,255,.15) 0%,rgba(255,255,255,.05) 30%,transparent 70%);animation:liquidMove 14s ease-in-out infinite reverse;pointer-events:none;z-index:0;animation-delay:-3s}.demo-banner>*{position:relative;z-index:1}.demo-banner-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:2rem}.demo-banner-left{display:flex;align-items:center;gap:1rem}.demo-badge{background:#ffffff40;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);color:#fff;padding:.5rem 1rem;border-radius:20px;font-weight:700;font-size:.875rem;letter-spacing:.05em;text-transform:uppercase;border:1px solid rgba(255,255,255,.3);position:relative;overflow:hidden;transition:all .3s ease}.demo-badge:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 40% 40%,rgba(255,255,255,.4) 0%,transparent 60%);animation:liquidMove 6s ease-in-out infinite;pointer-events:none;z-index:0}.demo-badge>*{position:relative;z-index:1}.demo-info{color:#fff;font-size:1rem;font-weight:500}.demo-banner-right{display:flex;align-items:center}.view-mode-switch{position:relative;display:inline-block;width:280px;height:50px;cursor:pointer}.view-mode-switch input{opacity:0;width:0;height:0}.switch-slider{position:absolute;top:0;left:0;right:0;bottom:0;background:#fff3;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);border-radius:25px;transition:all .3s ease;border:2px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:space-between;padding:0 1rem;position:relative;overflow:hidden}.switch-slider:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 40% 40%,rgba(255,255,255,.3) 0%,transparent 60%);animation:liquidMove 8s ease-in-out infinite;pointer-events:none;z-index:0}.switch-slider>*{position:relative;z-index:1}.switch-slider:before{content:"";position:absolute;height:38px;width:130px;left:6px;bottom:6px;background:#fff;border-radius:20px;transition:all .3s ease;box-shadow:0 2px 8px #0003}.view-mode-switch input:checked+.switch-slider:before{transform:translate(136px)}.switch-label-left,.switch-label-right{position:relative;z-index:1;display:flex;align-items:center;gap:.5rem;color:#fff;font-weight:600;font-size:.9rem;transition:all .3s ease}.view-mode-switch input:checked+.switch-slider .switch-label-left{opacity:.6}.view-mode-switch input:not(:checked)+.switch-slider .switch-label-right{opacity:.6}.demo-user-view{display:flex;flex-direction:column;min-height:calc(100vh - 80px);max-height:calc(100vh - 80px);overflow-y:auto;overflow-x:hidden}.demo-admin-view{display:flex;min-height:calc(100vh - 80px);max-height:calc(100vh - 80px);position:relative;overflow-x:hidden;overflow-y:auto}.demo-admin-view .demo-content{width:100%;flex-grow:1;margin-left:260px;transition:margin-left .3s cubic-bezier(.4,0,.2,1);min-height:calc(100vh - 80px);max-height:calc(100vh - 80px);overflow-x:hidden;overflow-y:auto}.demo-admin-view.nav-open .demo-content{margin-left:0}.demo-user-view .demo-content{flex:1;padding:0}.admin-view-selector{display:flex;gap:.5rem;padding:1rem 2rem;background:#ffffff26;backdrop-filter:blur(18px) saturate(180%);-webkit-backdrop-filter:blur(18px) saturate(180%);border-bottom:1px solid rgba(255,255,255,.2);border-top:1px solid rgba(255,255,255,.1);flex-wrap:wrap;position:sticky;top:80px;z-index:100;box-shadow:0 2px 8px #0000001a;position:relative;overflow:hidden}[data-theme=dark] .admin-view-selector{background:#0000004d;border-bottom:1px solid rgba(255,255,255,.15);border-top:1px solid rgba(255,255,255,.1)}.admin-view-selector:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 25% 25%,rgba(255,255,255,.2) 0%,transparent 60%);animation:liquidMove 12s ease-in-out infinite;pointer-events:none;z-index:0}.admin-view-selector>*{position:relative;z-index:1}.admin-view-selector button{padding:.75rem 1.5rem;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;backdrop-filter:blur(8px) saturate(180%);-webkit-backdrop-filter:blur(8px) saturate(180%);color:var(--text-primary);border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}[data-theme=dark] .admin-view-selector button{background:#0003;border-color:#ffffff26}.admin-view-selector button:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 40% 40%,rgba(255,255,255,.25) 0%,transparent 60%);animation:liquidMove 5s ease-in-out infinite;pointer-events:none;z-index:0;opacity:0;transition:opacity .3s}.admin-view-selector button:hover{background:#ffffff26;border-color:#ffffff4d;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.admin-view-selector button:hover:before{opacity:1}.admin-view-selector button.active{background:#667eeacc;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);color:#fff;border-color:#fff6;box-shadow:0 4px 16px #667eea66}.admin-view-selector button.active:before{opacity:1;background:radial-gradient(circle at 40% 40%,rgba(255,255,255,.4) 0%,transparent 60%)}.admin-view-selector button>*{position:relative;z-index:1}.admin-view-content{padding:2rem;max-width:1400px;margin:0 auto}.demo-admin-view .overlay{position:fixed;top:80px;left:0;width:100%;height:100%;background-color:#00000080;z-index:999;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.demo-admin-view.nav-open .overlay{opacity:1;visibility:visible}@media (max-width: 1024px){.demo-admin-view .demo-content{margin-left:240px}}@media (max-width: 768px){.demo-admin-view .demo-content{margin-left:0}.demo-banner{padding:1rem}.demo-banner-content{flex-direction:column;gap:1rem}.view-mode-switch{width:100%;max-width:280px}.admin-view-selector{padding:.75rem 1rem;top:140px}.admin-view-selector button{padding:.5rem 1rem;font-size:.8rem}.admin-view-content{padding:1rem}}@keyframes liquidMove{0%{transform:rotate(0) translate(0) scale(1);opacity:.6}25%{transform:rotate(90deg) translate(30px,-30px) scale(1.1);opacity:.8}50%{transform:rotate(180deg) translate(-20px,40px) scale(.95);opacity:.7}75%{transform:rotate(270deg) translate(-30px,-20px) scale(1.05);opacity:.85}to{transform:rotate(360deg) translate(0) scale(1);opacity:.6}}.fullscreen-calendar-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:var(--background);z-index:9999;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease-in-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.fullscreen-calendar-container{width:100vw;height:100vh;background:var(--background);display:flex;flex-direction:column;overflow:hidden;position:relative}.fullscreen-calendar-header{background-color:var(--card);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);color:var(--foreground);padding:1.5rem 2rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);min-height:80px;box-shadow:0 2px 8px #0000000d}.fullscreen-calendar-header-left{display:flex;align-items:center;gap:1.5rem}.fullscreen-calendar-title{font-size:1.75rem;font-weight:700;margin:0;color:var(--foreground)}.fullscreen-calendar-header-center{flex:1;display:flex;justify-content:center}.fullscreen-calendar-header-right{display:flex;align-items:center;gap:1rem}.fullscreen-close-button{background:var(--destructive);color:var(--destructive-foreground);border:none;width:40px;height:40px;border-radius:var(--radius);cursor:pointer;transition:all .2s ease;font-size:1.25rem;font-weight:600;display:flex;align-items:center;justify-content:center}.fullscreen-close-button:hover{background:color-mix(in srgb,var(--destructive) 90%,black);transform:scale(1.05);box-shadow:0 4px 12px #0000001a}.fullscreen-calendar-content{flex:1;padding:2rem;background:var(--background);overflow:auto}.fullscreen-calendar-content .fc{height:100%;background-color:var(--card);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border-radius:var(--radius);border:1px solid var(--border);overflow:hidden}.fullscreen-calendar-content .fc-toolbar{display:none}.fullscreen-calendar-content .fc-view-harness{height:100%!important}.fullscreen-event-content{padding:.75rem 1rem;border-radius:calc(var(--radius) - 2px);background:inherit;color:inherit;font-size:.95rem;line-height:1.6}.fullscreen-event-content.event-ongoing{background:color-mix(in srgb,var(--primary) 15%,transparent);border-left:4px solid var(--primary)}.fullscreen-event-content.event-upcoming{background:color-mix(in srgb,var(--success) 12%,transparent);border-left:4px solid var(--success)}.fullscreen-calendar-content .fc .fc-list{font-size:.95rem}.fullscreen-calendar-content .fc .fc-list-day-cushion{padding:1rem 1.5rem;font-size:1.1rem;font-weight:700;color:var(--foreground);background-color:var(--muted)}.fullscreen-calendar-content .fc .fc-list-event-time{font-size:.95rem;font-weight:600;color:var(--foreground)}.fullscreen-calendar-content .fc .fc-list-event-title{font-size:1rem;font-weight:600;color:var(--foreground)}.fullscreen-calendar-content .fc .fc-list-table td{padding:.75rem 1.5rem;border-color:var(--border)}.fullscreen-calendar-content .fc .fc-list-event:hover td{background-color:var(--muted)}.fullscreen-event-content .event-time{font-weight:600;font-size:.95rem;margin-bottom:.25rem;color:var(--foreground)}.fullscreen-event-content .event-title{font-weight:600;margin-bottom:.25rem;font-size:1rem;color:var(--foreground)}.fullscreen-event-content .event-details{font-size:.875rem;color:var(--muted-foreground);margin-top:.25rem}.fullscreen-event-content .event-student{font-weight:700;font-size:1.05rem;margin-bottom:.25rem;color:var(--foreground)}.fullscreen-event-content .event-course{font-weight:500;font-size:.9rem;margin-bottom:.125rem;color:var(--muted-foreground)}.fullscreen-event-content .event-topic{font-style:italic;font-size:.85rem;color:var(--muted-foreground)}.fullscreen-calendar-content::-webkit-scrollbar{width:8px}.fullscreen-calendar-content::-webkit-scrollbar-track{background:var(--muted);border-radius:4px}.fullscreen-calendar-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.fullscreen-calendar-content::-webkit-scrollbar-thumb:hover{background:var(--muted-foreground)}@media (max-width: 768px){.fullscreen-calendar-header{padding:1rem 1.5rem;flex-direction:column;gap:1rem;min-height:auto}.fullscreen-calendar-header-left,.fullscreen-calendar-header-right{width:100%;justify-content:space-between}.fullscreen-calendar-title{font-size:1.25rem}.fullscreen-calendar-content{padding:1rem}.fullscreen-calendar-content .fc .fc-list-day-cushion{font-size:.95rem;padding:.75rem 1rem}.fullscreen-calendar-content .fc .fc-list-table td{padding:.5rem 1rem}}.fullscreen-calendar-container{animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fullscreen-close-button{transition:all .2s cubic-bezier(.4,0,.2,1)}.fullscreen-event-content{transition:all .2s ease}.fullscreen-event-content:hover{transform:translate(2px);box-shadow:0 2px 8px #0000000d}.header-controls{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.control-btn{background:var(--muted);border:1px solid var(--border);color:var(--foreground);padding:.5rem .75rem;border-radius:var(--radius);cursor:pointer;transition:all .2s ease;font-size:1rem;display:flex;align-items:center;justify-content:center;min-width:40px;height:40px}.control-btn:hover{background:var(--accent);border-color:var(--primary);transform:translateY(-1px)}.control-btn.active{background:color-mix(in srgb,var(--primary) 20%,transparent);border-color:var(--primary);color:var(--primary)}.connection-status{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:var(--radius);font-size:.875rem;font-weight:500;background:var(--muted)}.connection-status.connected{color:var(--success)}.connection-status.disconnected{color:var(--destructive)}.status-dot{width:8px;height:8px;border-radius:50%;animation:pulse 2s infinite}.connection-status.connected .status-dot{background:var(--success)}.connection-status.disconnected .status-dot{background:var(--destructive)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.filter-badge{display:inline-block;margin-left:.75rem;padding:.25rem .75rem;background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary);border-radius:12px;font-size:.75rem;font-weight:600}.metrics-panel{display:flex;gap:1rem;padding:1rem 2rem;background:var(--card);border-bottom:1px solid var(--border);overflow-x:auto;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%)}.metric-item{display:flex;flex-direction:column;gap:.25rem;padding:.75rem 1rem;background:var(--muted);border-radius:var(--radius);min-width:120px;border:1px solid var(--border);transition:all .2s ease}.metric-item:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 2px 8px #0000000d}.metric-item.highlight{background:color-mix(in srgb,var(--primary) 10%,transparent);border-color:var(--primary)}.metric-label{font-size:.75rem;font-weight:500;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.5px}.metric-value{font-size:1.5rem;font-weight:700;color:var(--foreground)}.metric-value.success{color:var(--success)}.filters-panel{display:flex;gap:1rem;padding:1rem 2rem;background:var(--card);border-bottom:1px solid var(--border);align-items:center;flex-wrap:wrap;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%)}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{font-size:.875rem;font-weight:500;color:var(--foreground)}.filter-select{padding:.5rem 1rem;border:1px solid var(--border);background:var(--muted);color:var(--foreground);border-radius:var(--radius);font-size:.875rem;cursor:pointer;transition:all .2s ease;min-width:150px}.filter-select:hover{border-color:var(--primary)}.filter-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 20%,transparent)}.clear-filters-btn{background:var(--destructive);color:var(--destructive-foreground);border:none;padding:.5rem 1rem;border-radius:var(--radius);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-left:auto}.clear-filters-btn:hover{background:color-mix(in srgb,var(--destructive) 90%,black);transform:translateY(-1px)}.notifications-container{position:fixed;top:100px;right:2rem;z-index:10000;display:flex;flex-direction:column;gap:.75rem;max-width:400px}.notification{padding:1rem 1.5rem;border-radius:var(--radius);font-size:.875rem;font-weight:500;box-shadow:0 4px 12px #00000026;animation:slideInRight .3s ease-out;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border:1px solid var(--border);min-width:300px}.notification-info{background:color-mix(in srgb,var(--primary) 15%,var(--card));color:var(--primary);border-color:var(--primary)}.notification-success{background:color-mix(in srgb,var(--success) 15%,var(--card));color:var(--success);border-color:var(--success)}.notification-warning{background:color-mix(in srgb,var(--accent) 15%,var(--card));color:var(--accent-foreground);border-color:var(--accent)}.notification-error{background:color-mix(in srgb,var(--destructive) 15%,var(--card));color:var(--destructive);border-color:var(--destructive)}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.event-payment-status{margin-left:.5rem;font-size:.875rem}.event-payment-status.paid{color:var(--success)}.event-payment-status.pending{color:var(--destructive)}.event-price{margin-top:.25rem;font-weight:600;color:var(--primary);font-size:.9rem}.current-next-panel{display:flex;gap:1.5rem;padding:1.5rem 2rem;background:var(--card);border-bottom:1px solid var(--border);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%)}.current-turno-card,.next-turno-card{flex:1;background:var(--muted);border-radius:var(--radius);border:2px solid var(--border);overflow:hidden;transition:all .3s ease}.current-turno-card{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--muted));box-shadow:0 4px 12px color-mix(in srgb,var(--primary) 20%,transparent)}.next-turno-card{border-color:var(--success);background:color-mix(in srgb,var(--success) 8%,var(--muted));box-shadow:0 4px 12px color-mix(in srgb,var(--success) 15%,transparent)}.current-turno-card:hover,.next-turno-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000001a}.turno-badge{padding:.5rem 1rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;text-align:center}.turno-badge.current{background:var(--primary);color:var(--primary-foreground)}.turno-badge.next{background:var(--success);color:var(--success-foreground)}.turno-content{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.turno-time-section{display:flex;flex-direction:column;gap:.75rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.turno-time-main{font-size:1.5rem;font-weight:700;color:var(--foreground);font-variant-numeric:tabular-nums}.turno-time-remaining{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--card);border-radius:calc(var(--radius) - 2px);border:1px solid var(--border)}.turno-time-upcoming{display:flex;align-items:center;padding:.5rem 1rem;background:var(--card);border-radius:calc(var(--radius) - 2px);border:1px solid var(--border);color:var(--success);font-weight:600}.time-label{font-size:.875rem;color:var(--muted-foreground);font-weight:500}.time-value{font-size:1.25rem;font-weight:700;color:var(--primary);font-variant-numeric:tabular-nums}.turno-details{display:flex;flex-direction:column;gap:.5rem}.turno-client{font-size:1.25rem;font-weight:700;color:var(--foreground)}.turno-service{font-size:1rem;font-weight:600;color:var(--foreground)}.turno-staff{font-size:.95rem;font-weight:500;color:var(--muted-foreground)}.turno-topic{font-size:.875rem;font-style:italic;color:var(--muted-foreground);margin-top:.25rem}@media (max-width: 768px){.current-next-panel{flex-direction:column;padding:1rem;gap:1rem}.turno-content{padding:1rem}.turno-time-main{font-size:1.25rem}.turno-client,.time-value{font-size:1.1rem}}@media (max-width: 768px){.header-controls{flex-wrap:wrap;justify-content:center}.metrics-panel{flex-wrap:wrap;padding:1rem}.metric-item{min-width:100px;flex:1}.filters-panel{flex-direction:column;align-items:stretch;padding:1rem}.filter-select{width:100%}.clear-filters-btn{margin-left:0;width:100%}.notifications-container{right:1rem;left:1rem;max-width:none}.notification{min-width:auto;width:100%}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:40px;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2);position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 80%,rgba(120,119,198,.3) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,119,198,.3) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(120,219,255,.2) 0%,transparent 50%);animation:aurora 20s ease-in-out infinite alternate;z-index:1;pointer-events:none}.demo-contact-container{display:flex;align-items:flex-start;animation:fadeInRight .8s ease-out;position:relative;z-index:10}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@media (max-width: 1200px){.login-page{gap:30px}}@media (max-width: 992px){.login-page{gap:20px}}@media (max-width: 768px){.login-page{flex-direction:column;gap:20px;padding:15px}.demo-contact-container{width:100%;max-width:400px}}@media (max-width: 480px){.login-page{padding:10px}}.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;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.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{max-width:none!important;max-height:none!important;width:auto;padding:0}.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:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.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{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.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;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;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{-webkit-transition:none;-moz-transition:none;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{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 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-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.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-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.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{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;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:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;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{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.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{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.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{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.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{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;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{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.location-selector{width:100%}.location-input-group{margin-bottom:1rem}.location-input-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-color, #333)}.address-input-wrapper{display:flex;gap:.5rem;align-items:stretch}.address-input{flex:1;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;transition:border-color .3s}.address-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.search-location-btn{padding:.75rem 1rem;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem;transition:background .3s;white-space:nowrap}.search-location-btn:hover:not(:disabled){background:#0056b3}.search-location-btn:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.toggle-map-btn{margin-top:.5rem;padding:.5rem 1rem;background:#f8f9fa;color:#495057;border:1px solid #dee2e6;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .3s;width:100%}.toggle-map-btn:hover{background:#e9ecef;border-color:#adb5bd}.google-maps-url-section{margin-top:1rem;padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px}.google-maps-label{display:block;margin-bottom:.5rem;font-weight:500;color:#856404;font-size:.9rem}.google-maps-input-wrapper{display:flex;gap:.5rem;align-items:stretch}.google-maps-url-input{flex:1;padding:.75rem;border:1px solid #ffc107;border-radius:4px;font-size:.9rem;transition:border-color .3s;background:#fff}.google-maps-url-input:focus{outline:none;border-color:#ff9800;box-shadow:0 0 0 2px #ff980040}.extract-coords-btn{padding:.75rem 1rem;background:#ff9800;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem;transition:background .3s;white-space:nowrap}.extract-coords-btn:hover:not(:disabled){background:#f57c00}.extract-coords-btn:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.google-maps-hint{margin:.5rem 0 0;font-size:.85rem;color:#856404;font-style:italic}.map-selector-container{margin-top:1rem;padding:1rem;background:#f8f9fa;border-radius:8px;border:1px solid #dee2e6}.map-hint{margin:0 0 .75rem;padding:.5rem;background:#e7f3ff;border-left:3px solid #007bff;border-radius:4px;font-size:.9rem;color:#004085}.location-map{border-radius:4px;overflow:hidden;border:1px solid #dee2e6;margin-bottom:.75rem}.coordinates-display{padding:.5rem;background:#fff;border-radius:4px;font-size:.85rem;color:#495057;border:1px solid #dee2e6}@media (prefers-color-scheme: dark){.location-input-group label{color:var(--text-color, #fff)}.address-input{background:#2d2d2d;border-color:#555;color:#fff}.address-input:focus{border-color:#007bff}.map-selector-container{background:#2d2d2d;border-color:#555}.map-hint{background:#1a3a5a;color:#a8d4ff}.coordinates-display{background:#1d1d1d;color:#fff;border-color:#555}.toggle-map-btn{background:#2d2d2d;color:#fff;border-color:#555}.toggle-map-btn:hover{background:#3d3d3d}.google-maps-url-section{background:#3d2d00;border-color:#ff9800}.google-maps-label{color:#ffb74d}.google-maps-url-input{background:#2d2d2d;border-color:#ff9800;color:#fff}.google-maps-hint{color:#ffb74d}}.login-container{display:flex;align-items:center;justify-content:center;padding:20px;position:relative}.login-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 80%,rgba(120,119,198,.3) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,119,198,.3) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(120,219,255,.2) 0%,transparent 50%);animation:aurora 20s ease-in-out infinite alternate}@keyframes aurora{0%{transform:rotate(0) scale(1);opacity:.8}to{transform:rotate(180deg) scale(1.1);opacity:.6}}.login-card{background:#fffffff2!important;-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);border-radius:24px;padding:48px;width:100%;max-width:440px;box-shadow:0 32px 64px #00000026,0 0 0 1px #fff6,inset 0 1px #fff9;position:relative;z-index:1;animation:slideUp .6s ease-out;border:1px solid rgba(255,255,255,.3)}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:40px}.login-logo{width:88px;height:88px;margin-bottom:20px;filter:drop-shadow(0 8px 16px rgba(0,0,0,.15));transition:transform .3s ease}.login-logo:hover{transform:scale(1.05)}.login-title{font-size:32px;font-weight:800;color:#2d3748!important;margin:0 0 12px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px}.login-subtitle{font-size:17px;color:#4b5563!important;margin:0;font-weight:500;opacity:1}.login-form{display:flex;flex-direction:column;gap:28px}.login-error{background:linear-gradient(135deg,#fef2f2,#fee2e2);color:#dc2626;padding:16px 20px;border-radius:16px;font-size:14px;font-weight:500;display:flex;align-items:center;gap:12px;border:1px solid rgba(220,38,38,.15);box-shadow:0 4px 12px #dc26261a}.error-icon{font-size:18px}.form-group{position:relative;display:flex;flex-direction:column;gap:12px}.form-label{font-size:15px;font-weight:600;color:#111827!important;margin:0;transition:color .2s ease}.form-input{padding:18px 20px;border:2px solid #e5e7eb;border-radius:16px;font-size:16px;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);background:#fffffff2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 1px 3px #0000000d;color:#111827!important}.form-input::placeholder{color:#6b7280!important;font-weight:400;opacity:.9}.form-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px #667eea1f,0 4px 12px #667eea26;background:#fff;transform:translateY(-1px)}.form-input:hover:not(:focus){border-color:#d1d5db;box-shadow:0 2px 8px #00000014}.form-input:disabled{opacity:.6;cursor:not-allowed;background:#f9fafbcc}.login-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:20px 32px;border-radius:16px;font-size:17px;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px;position:relative;overflow:hidden;box-shadow:0 8px 24px #667eea40,0 2px 8px #0000001a;letter-spacing:.5px}.login-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);transition:left .6s ease}.login-button:hover:before{left:100%}.login-button:hover{transform:translateY(-3px);box-shadow:0 16px 40px #667eea59,0 8px 16px #00000026;background:linear-gradient(135deg,#5a67d8,#6b46c1)}.login-button:active{transform:translateY(-1px);box-shadow:0 8px 24px #667eea40,0 2px 8px #0000001a}.login-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:0 4px 12px #667eea26}.login-button.loading{pointer-events:none}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.login-footer{margin-top:40px;text-align:center}.tenant-info{font-size:13px;color:#64748b;margin:0;padding:12px 16px;background:#64748b14;border-radius:12px;border:1px solid rgba(100,116,139,.15);font-weight:500}@media (max-width: 480px){.login-container{padding:16px}.login-card{padding:36px 28px;border-radius:20px}.login-title{font-size:28px}.login-subtitle{font-size:15px}.login-logo{width:76px;height:76px}.form-input{padding:16px 18px;font-size:16px}.login-button{padding:18px 28px;font-size:16px}}@media (max-width: 360px){.login-card{padding:32px 24px}.login-title{font-size:24px}.login-subtitle{font-size:14px}}.login-card *{color-scheme:light!important}.form-input.field-error{border-color:#ef4444;background-color:#ef44440d;box-shadow:0 0 0 3px #ef44441a}.form-input.field-error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef444433;outline:none}.form-group:has(.field-error) .form-label{color:#ef4444;font-weight:600}.demo-contact-card{background:#fff;border-radius:20px;padding:32px;color:#2d3748;box-shadow:0 10px 30px #0000001a,0 1px 8px #0000000d;max-width:380px;animation:slideInRight .6s ease-out;position:relative;z-index:10;pointer-events:auto;border:1px solid #E2E8F0}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.demo-contact-header{text-align:center;margin-bottom:28px;position:relative}.demo-contact-header:after{content:"";position:absolute;bottom:-12px;left:50%;transform:translate(-50%);width:60px;height:3px;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:2px}.demo-contact-header h3{margin:0 0 8px;font-size:1.8rem;font-weight:800;color:#1a202c;letter-spacing:-.5px}.demo-contact-header p{margin:0;color:#718096;font-size:1rem;font-weight:500;line-height:1.5}.demo-contact-content{margin-bottom:28px}.contact-buttons{display:flex;flex-direction:column;gap:16px}.whatsapp-button{background:#25d366;border:none;border-radius:12px;padding:16px 24px;color:#fff;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:10px;position:relative;overflow:hidden}.whatsapp-button:before{content:"";width:20px;height:20px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893A11.821 11.821 0 0020.885 3.488'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;background-position:center}.whatsapp-button:hover{background:#128c7e;transform:translateY(-1px);box-shadow:0 4px 12px #25d3664d}.whatsapp-button:active{transform:translateY(0)}.email-button{background:#667eea;border:none;border-radius:12px;padding:16px 24px;color:#fff;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:10px;position:relative;overflow:hidden}.email-button:before{content:"";width:20px;height:20px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;background-position:center}.email-button:hover{background:#5a67d8;transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.email-button:active{transform:translateY(0)}.email-form{animation:slideDown .3s ease-out;background:#f7fafc;border-radius:12px;padding:24px;border:1px solid #E2E8F0}.email-form .form-group{margin-bottom:16px}.email-form input,.email-form textarea{width:100%;padding:12px 16px;border:2px solid #E2E8F0;border-radius:8px;font-size:.9rem;background:#fff;color:#2d3748;box-sizing:border-box;font-weight:500;transition:all .2s ease}.email-form input::placeholder,.email-form textarea::placeholder{color:#a0aec0;font-weight:400}.email-form input:focus,.email-form textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.email-form textarea{resize:vertical;min-height:80px;font-family:inherit}.submit-message{padding:12px 16px;border-radius:8px;font-size:.85rem;margin-bottom:16px;text-align:center;font-weight:500}.submit-message.success{background:#c6f6d5;color:#22543d;border:1px solid #9AE6B4}.submit-message.error{background:#fed7d7;color:#742a2a;border:1px solid #FEB2B2}.form-buttons{display:flex;gap:12px}.cancel-button,.submit-button{flex:1;padding:12px 16px;border:none;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease}.cancel-button{background:#e2e8f0;color:#4a5568;border:1px solid #CBD5E0}.cancel-button:hover{background:#cbd5e0}.submit-button{background:#667eea;color:#fff}.submit-button:hover{background:#5a67d8}.submit-button:disabled,.cancel-button:disabled{opacity:.6;cursor:not-allowed}.demo-contact-footer{text-align:center;padding-top:20px;border-top:1px solid #E2E8F0}.demo-contact-footer p{margin:0;font-size:.85rem;color:#718096;font-weight:500}@media (max-width: 768px){.demo-contact-card{max-width:100%;margin-top:20px;padding:28px}.demo-contact-header h3{font-size:1.6rem}}@media (max-width: 480px){.demo-contact-card{padding:24px;border-radius:16px}.email-form{padding:20px}.contact-buttons{gap:12px}.whatsapp-button,.email-button{padding:14px 20px;font-size:.95rem}.whatsapp-button:before,.email-button:before{width:18px;height:18px}}.field-error{border:2px solid #ef4444!important;background-color:#ef44440d!important;box-shadow:0 0 0 3px #ef44441a!important}.field-error-message{display:block;color:#ef4444;font-size:.875rem;margin-top:.5rem;font-weight:500;animation:errorSlideIn .3s ease-out}@keyframes errorSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.email-form input.field-error,.email-form textarea.field-error{border-color:#ef4444;background-color:#ef44440d;box-shadow:0 0 0 3px #ef44441a}.email-form input.field-error:focus,.email-form textarea.field-error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef444433;outline:none}.landing-navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:#0a0a0af2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.1);transition:all .3s ease}.navbar-container{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:70px}.navbar-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff}.brand-logo{width:40px;height:40px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 15px #667eea4d}.logo-icon{font-size:20px;font-weight:800;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}.brand-text{font-size:24px;font-weight:800;background:linear-gradient(135deg,#667eea,#764ba2);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 2px 4px rgba(0,0,0,.3)}.navbar-links{display:flex;align-items:center;gap:32px}.nav-link{color:#cbd5e1;text-decoration:none;font-weight:500;font-size:15px;transition:all .3s ease;position:relative}.nav-link:hover{color:#fff;transform:translateY(-1px)}.nav-link:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:linear-gradient(135deg,#667eea,#764ba2);transition:width .3s ease}.nav-link:hover:after{width:100%}.navbar-actions{display:flex;align-items:center;gap:24px}.btn-nav-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-decoration:none;padding:12px 24px;border-radius:25px;font-weight:600;font-size:15px;display:flex;align-items:center;gap:8px;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d}.btn-nav-primary:hover{background:linear-gradient(135deg,#764ba2,#667eea);transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.mobile-menu-btn{display:none;background:none;border:none;color:#fff;cursor:pointer;padding:8px;border-radius:8px;transition:all .3s ease}.mobile-menu-btn:hover{background:#ffffff1a}.mobile-menu{position:absolute;top:100%;left:0;right:0;background:#0a0a0afa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.1);animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.mobile-menu-content{padding:24px;display:flex;flex-direction:column;gap:20px}.mobile-nav-link{color:#cbd5e1;text-decoration:none;font-weight:500;font-size:16px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1);transition:all .3s ease}.mobile-nav-link:hover{color:#fff;padding-left:8px}.mobile-menu-actions{display:flex;flex-direction:column;gap:16px;margin-top:16px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1)}.btn-mobile-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-decoration:none;padding:16px 24px;border-radius:25px;font-weight:600;font-size:16px;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d}.btn-mobile-primary:hover{background:linear-gradient(135deg,#764ba2,#667eea);transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}@media (max-width: 768px){.navbar-container{padding:0 16px;height:60px}.brand-text{font-size:20px}.brand-logo{width:36px;height:36px}.logo-icon{font-size:18px}.navbar-links,.navbar-actions{display:none}.mobile-menu-btn{display:block}}@media (max-width: 480px){.navbar-container{padding:0 12px}.brand-text{font-size:18px}.brand-logo{width:32px;height:32px}.logo-icon{font-size:16px}}.landing-page{font-family:var(--font-sans);background-color:var(--background);color:var(--foreground);line-height:1.6;overflow-x:hidden}.container{max-width:1200px;margin:0 auto;padding:0 20px}.hero-section{min-height:100vh;display:flex;align-items:center;position:relative;background:linear-gradient(135deg,#0a0a0a,#1a1a1a,#2d2d2d);overflow-x:hidden;overflow-y:visible;padding-top:70px;color:#fff!important}.hero-background{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#0a0a0a,#1a1a1a,#2d2d2d)}.hero-gradient{position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 80%,rgba(139,69,255,.15) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(59,130,246,.15) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(0,0,0,.3) 0%,transparent 70%)}.hero-content{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;position:relative;z-index:10;width:100%;max-width:1200px;margin:0 auto;padding:0 20px}.hero-main{display:contents}.hero-text{color:#fff!important;padding-bottom:20px;position:relative;z-index:15}.hero-title{font-size:3.5rem;font-weight:800;line-height:1.3;margin-bottom:24px;overflow:visible;color:#fff!important;text-shadow:0 4px 8px rgba(0,0,0,.8),0 2px 4px rgba(0,0,0,.6)}.hero-title span:not(.weekly-text){color:#fff!important;-webkit-text-fill-color:#ffffff!important}.hero-subtitle{color:#fff!important;font-size:2.2rem;font-weight:700;text-shadow:0 4px 12px rgba(0,0,0,1),0 2px 6px rgba(0,0,0,.9),0 1px 3px rgba(0,0,0,.8);display:block;margin-top:8px;position:relative;z-index:15;letter-spacing:.5px;-webkit-text-fill-color:#ffffff!important}.hero-title .hero-subtitle,.hero-section .hero-subtitle{color:#fff!important;-webkit-text-fill-color:#ffffff!important}.gradient-text{background:linear-gradient(45deg,#fff,#e0e7ff,#c7d2fe);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 30px rgba(255,255,255,.3)}.weekly-text{background:linear-gradient(45deg,#ff6b6b,#4ecdc4,#45b7d1,#96ceb4,#feca57,#ff9ff3);background-size:300% 300%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:800;animation:weeklyGlow 3s ease-in-out infinite;text-shadow:0 0 30px rgba(255,107,107,.5);position:relative;display:inline-block}.weekly-text:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,#ff6b6b,#4ecdc4,#45b7d1,#96ceb4,#feca57,#ff9ff3);background-size:300% 300%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:blur(2px);opacity:.7;z-index:-1;animation:weeklyGlow 3s ease-in-out infinite}@keyframes weeklyGlow{0%{background-position:0% 50%;filter:drop-shadow(0 0 20px rgba(255,107,107,.3))}25%{background-position:100% 50%;filter:drop-shadow(0 0 30px rgba(78,205,196,.4))}50%{background-position:100% 100%;filter:drop-shadow(0 0 40px rgba(69,183,209,.5))}75%{background-position:0% 100%;filter:drop-shadow(0 0 30px rgba(150,206,180,.4))}to{background-position:0% 50%;filter:drop-shadow(0 0 20px rgba(254,202,87,.3))}}.hero-description{font-size:1.25rem;opacity:.95;margin-bottom:40px;line-height:1.6;color:#fff!important;text-shadow:0 2px 4px rgba(0,0,0,.8),0 1px 2px rgba(0,0,0,.6)}.hero-buttons{display:flex;gap:20px;margin-bottom:60px;flex-wrap:wrap}.btn-primary{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border:none;padding:16px 32px;border-radius:var(--radius);font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px;box-shadow:0 4px 15px #8b5cf64d,0 0 0 1px #ffffff1a;position:relative;overflow:hidden}.btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn-primary:hover:before{left:100%}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #8b5cf666,0 0 0 1px #fff3;background:linear-gradient(135deg,#7c3aed,#6d28d9)}.btn-secondary{background:#ffffff0d;color:#fff;border:2px solid rgba(255,255,255,.2);padding:14px 32px;border-radius:var(--radius);font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);position:relative;overflow:hidden}.btn-secondary:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgba(255,255,255,.15),transparent 70%);animation:liquidMove 5s infinite linear;pointer-events:none;z-index:0}.btn-secondary>*{position:relative;z-index:1}.btn-secondary:hover{background:#ffffff1a;border-color:#fff6;transform:translateY(-2px);box-shadow:0 8px 25px #0003}.btn-outline{background:transparent;color:var(--primary);border:2px solid var(--primary);padding:14px 32px;border-radius:var(--radius);font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease}.btn-outline:hover{background:var(--primary);color:#fff}.btn-primary.large{padding:20px 40px;font-size:1.1rem}.btn-icon{width:20px;height:20px}.hero-stats{display:flex;gap:40px;flex-wrap:wrap}.stat{text-align:center}.stat-number{display:block;font-size:2.5rem;font-weight:800;color:#fff;line-height:1;text-shadow:0 3px 6px rgba(0,0,0,.8),0 1px 3px rgba(0,0,0,.6)}.stat-label{font-size:.9rem;opacity:.9;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.7)}.hero-visual{display:flex;justify-content:center;align-items:center}.calendar-preview{background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius);box-shadow:0 25px 50px #0000004d,0 0 0 1px #ffffff1a;padding:24px;width:100%;max-width:400px;border:1px solid rgba(255,255,255,.2);position:relative;overflow:hidden}.calendar-preview:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgba(255,255,255,.2),transparent 70%);animation:liquidMove 7s infinite linear;pointer-events:none;z-index:0}.calendar-preview>*{position:relative;z-index:1}.calendar-header{display:flex;justify-content:center;margin-bottom:20px}.calendar-nav{display:flex;align-items:center;justify-content:center;gap:16px}.calendar-nav button{background:var(--muted);border:none;width:32px;height:32px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--foreground);transition:all .2s ease}.calendar-nav button:hover{background:var(--primary);color:#fff;transform:scale(1.1)}.calendar-nav span{font-weight:600;color:var(--foreground)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-weekdays{grid-column:1 / -1;display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:8px}.calendar-weekdays div{text-align:center;font-size:.75rem;font-weight:600;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.5px}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:.9rem;font-weight:500;color:var(--muted-foreground);position:relative}.calendar-day.empty{opacity:0;pointer-events:none}.calendar-day.today{background:var(--primary);color:#fff;font-weight:600}.calendar-day.has-events{background:color-mix(in srgb,var(--primary) 10%,transparent)}.event-dot{position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:6px;height:6px;background:var(--primary);border-radius:50%}.today-event{background:#fff}.features-section{padding:100px 0;background:var(--background)}.section-header{text-align:center;margin-bottom:60px}.section-title{font-size:2.5rem;font-weight:700;margin-bottom:16px;background:linear-gradient(45deg,var(--primary),hsl(190,80%,60%));-webkit-background-clip:text;background-clip:text;color:transparent}.section-description{font-size:1.1rem;color:var(--muted-foreground);max-width:600px;margin:0 auto}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px}.feature-card{background:var(--card);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);padding:32px;border-radius:var(--radius);border:1px solid var(--border);transition:all .3s ease;text-align:center;position:relative;overflow:hidden}.feature-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgba(255,255,255,.15),transparent 70%);animation:liquidMove 8s infinite linear;pointer-events:none;z-index:0}.feature-card>*{position:relative;z-index:1}.feature-card:hover{box-shadow:0 8px 30px #0000001a;border-color:color-mix(in srgb,var(--primary) 20%,var(--border));transform:translateY(-4px)}.feature-icon-container{width:80px;height:80px;background:color-mix(in srgb,var(--primary) 10%,transparent);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px}.feature-icon{width:40px;height:40px;color:var(--primary)}.feature-title{font-size:1.25rem;font-weight:600;margin-bottom:12px;color:var(--foreground)}.feature-description{color:var(--muted-foreground);line-height:1.6}.map-section{padding:100px 0;background:var(--muted)}.map-container{background:var(--card);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border-radius:var(--radius);border:1px solid var(--border);padding:60px;text-align:center;position:relative;min-height:400px;display:flex;align-items:center;justify-content:center}.map-placeholder{position:relative;width:100%;height:100%}.map-icon{width:80px;height:80px;color:var(--primary);margin-bottom:20px}.map-placeholder h3{font-size:1.5rem;font-weight:600;margin-bottom:12px;color:var(--foreground)}.map-placeholder p{color:var(--muted-foreground);margin-bottom:40px}.map-points{position:absolute;top:0;left:0;right:0;bottom:0}.map-point{position:absolute;cursor:pointer}.point-marker{width:20px;height:20px;background:var(--primary);border-radius:50%;border:3px solid white;box-shadow:0 2px 8px #0003;animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.point-info{position:absolute;top:30px;left:50%;transform:translate(-50%);background:#fff;padding:8px 12px;border-radius:6px;box-shadow:0 2px 8px #0000001a;font-size:.8rem;font-weight:500;white-space:nowrap;opacity:0;transition:opacity .3s ease}.map-point:hover .point-info{opacity:1}.testimonials-section{padding:100px 0;background:var(--background)}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:30px}.testimonial-card{background:var(--card);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);padding:32px;border-radius:var(--radius);border:1px solid var(--border);transition:all .3s ease;position:relative;overflow:hidden}.testimonial-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgba(255,255,255,.15),transparent 70%);animation:liquidMove 9s infinite linear;pointer-events:none;z-index:0}.testimonial-card>*{position:relative;z-index:1}.testimonial-card:hover{box-shadow:0 8px 30px #0000001a;border-color:color-mix(in srgb,var(--primary) 20%,var(--border));transform:translateY(-4px)}.testimonial-rating{display:flex;gap:4px;margin-bottom:20px}.star-icon{width:20px;height:20px;color:#fbbf24;fill:currentColor}.testimonial-text{font-size:1.1rem;line-height:1.6;margin-bottom:24px;color:var(--foreground);font-style:italic}.testimonial-author strong{display:block;font-weight:600;color:var(--foreground);margin-bottom:4px}.testimonial-author span{color:var(--muted-foreground);font-size:.9rem}.cta-section{padding:100px 0;background:linear-gradient(135deg,#0f0f0f,#1a1a1a,#2a2a2a);color:#fff;position:relative;overflow:hidden}.cta-section:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 30% 70%,rgba(139,69,255,.1) 0%,transparent 50%),radial-gradient(circle at 70% 30%,rgba(59,130,246,.1) 0%,transparent 50%);pointer-events:none}.cta-content{text-align:center;max-width:800px;margin:0 auto;position:relative;z-index:2}.cta-title{font-size:2.5rem;font-weight:700;margin-bottom:20px;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3)}.cta-description{font-size:1.1rem;opacity:.95;margin-bottom:40px;line-height:1.6;color:#e2e8f0;text-shadow:0 1px 2px rgba(0,0,0,.3)}.cta-buttons{display:flex;gap:20px;justify-content:center;margin-bottom:60px;flex-wrap:wrap}.cta-contact{display:flex;gap:40px;justify-content:center;flex-wrap:wrap}.contact-item{display:flex;align-items:center;gap:8px;opacity:.8}.contact-icon{width:20px;height:20px}.footer-section{background:var(--muted);padding:60px 0 20px}.footer-content{display:grid;grid-template-columns:1fr 2fr;gap:60px;margin-bottom:40px}.footer-brand h3{font-size:1.5rem;font-weight:700;margin-bottom:12px;color:var(--foreground)}.footer-brand p{color:var(--muted-foreground)}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.footer-column h4{font-weight:600;margin-bottom:16px;color:var(--foreground)}.footer-column a{display:block;color:var(--muted-foreground);text-decoration:none;margin-bottom:8px;transition:color .3s ease}.footer-column a:hover{color:var(--primary)}.footer-bottom{text-align:center;padding-top:20px;border-top:1px solid var(--border);color:var(--muted-foreground)}@keyframes liquidMove{0%{transform:rotate(0) translate(0)}50%{transform:rotate(180deg) translate(50px,50px)}to{transform:rotate(360deg) translate(0)}}.landing-page.visible .hero-text{animation:slideInLeft .8s ease-out}.landing-page.visible .hero-visual{animation:slideInRight .8s ease-out}.landing-page.visible .feature-card{animation:fadeInUp .6s ease-out;animation-fill-mode:backwards}.landing-page.visible .feature-card:nth-child(1){animation-delay:.1s}.landing-page.visible .feature-card:nth-child(2){animation-delay:.2s}.landing-page.visible .feature-card:nth-child(3){animation-delay:.3s}.landing-page.visible .feature-card:nth-child(4){animation-delay:.4s}@keyframes slideInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.promesa-branding{position:absolute;bottom:30px;right:30px;z-index:9999}.promesa-branding.heartbeat-container{animation:heartbeatContainer 2s ease-in-out infinite;background:#87cefa4d;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:16px;padding:16px 20px;border:2px solid rgba(135,206,250,.6);box-shadow:0 8px 32px #87cefa4d;display:flex;align-items:center;gap:12px;transition:all .3s ease;min-width:200px}.promesa-logo{width:50px;height:50px;object-fit:contain;display:block}.promesa-text{display:flex;flex-direction:column;align-items:flex-start}.promesa-label{font-size:.75rem;color:#fff;font-weight:400;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px;text-shadow:0 1px 2px rgba(0,0,0,.3)}.promesa-name{font-size:1rem;color:#fff;font-weight:700;text-shadow:0 0 10px rgba(135,206,235,.6);letter-spacing:1px}@keyframes heartbeatContainer{0%{transform:scale(1);background:#87cefa4d;box-shadow:0 8px 32px #87cefa4d}25%{transform:scale(1.05);background:#87cefa66;box-shadow:0 12px 40px #87cefa66}50%{transform:scale(1.1);background:#87cefa80;box-shadow:0 16px 48px #87cefa80}75%{transform:scale(1.05);background:#87cefa66;box-shadow:0 12px 40px #87cefa66}to{transform:scale(1);background:#87cefa4d;box-shadow:0 8px 32px #87cefa4d}}@media (max-width: 768px){.hero-content{grid-template-columns:1fr;gap:40px;text-align:center}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.6rem}.hero-buttons,.hero-stats{justify-content:center}.features-grid,.testimonials-grid{grid-template-columns:1fr}.footer-content{grid-template-columns:1fr;gap:40px}.footer-links{grid-template-columns:1fr;gap:30px}.cta-buttons{flex-direction:column;align-items:center}.cta-contact{flex-direction:column;gap:20px}.promesa-branding{bottom:20px;right:20px}.promesa-content{padding:12px 16px;gap:8px}.promesa-logo{width:35px;height:35px}.promesa-label{font-size:.7rem}.promesa-name{font-size:.9rem}}.hero-note{font-size:.9rem;color:#ffffffb3;margin-top:20px;font-style:italic}.contact-section{padding:100px 0;background:linear-gradient(135deg,#0f0f0f,#1a1a1a,#2a2a2a);position:relative;overflow:hidden}.contact-section:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 30% 70%,rgba(139,69,255,.1) 0%,transparent 50%),radial-gradient(circle at 70% 30%,rgba(59,130,246,.1) 0%,transparent 50%);pointer-events:none}.contact-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:60px;margin-top:60px;position:relative;z-index:2}.contact-info{display:flex;flex-direction:column;gap:24px}.contact-card{background:#ffffff1f;backdrop-filter:blur(18px) saturate(180%);-webkit-backdrop-filter:blur(18px) saturate(180%);border:1px solid rgba(255,255,255,.28);border-radius:16px;padding:24px;position:relative;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .contact-card{background:#00000040;border-color:#ffffff2e}.contact-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.25) 0%,rgba(255,255,255,.08) 25%,transparent 60%);animation:liquidMove 10s ease-in-out infinite;pointer-events:none;z-index:0}.contact-card>*{position:relative;z-index:1}.contact-card:hover{border-color:#ffffff61;box-shadow:0 16px 48px #0000004d;transform:translateY(-4px)}.contact-card-icon{width:48px;height:48px;color:var(--primary);margin-bottom:16px}.contact-card h3{font-size:1.25rem;font-weight:700;margin-bottom:8px;color:var(--foreground)}.contact-card p{color:var(--muted-foreground);margin-bottom:12px;font-size:.95rem}.contact-card a{color:var(--primary);text-decoration:none;font-weight:600;transition:color .3s ease}.contact-card a:hover{color:var(--primary);text-decoration:underline}.contact-form-container{background:#ffffff1f;backdrop-filter:blur(18px) saturate(180%);-webkit-backdrop-filter:blur(18px) saturate(180%);border:1px solid rgba(255,255,255,.28);border-radius:16px;padding:40px;position:relative;overflow:hidden}[data-theme=dark] .contact-form-container{background:#00000040;border-color:#ffffff2e}.contact-form-container:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 25% 25%,rgba(255,255,255,.25) 0%,rgba(255,255,255,.08) 25%,transparent 60%);animation:liquidMove 10s ease-in-out infinite;pointer-events:none;z-index:0}.contact-form-container:after{content:"";position:absolute;bottom:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle at 75% 75%,rgba(139,92,246,.15) 0%,rgba(59,130,246,.08) 25%,transparent 60%);animation:liquidMove 14s ease-in-out infinite reverse;pointer-events:none;z-index:0;animation-delay:-3s}.contact-form{position:relative;z-index:1}.form-group{margin-bottom:24px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--foreground);font-size:.95rem}.form-group input,.form-group textarea{width:100%;padding:12px 16px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#ffffff1a;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--foreground);font-size:1rem;transition:all .3s ease;font-family:inherit}[data-theme=dark] .form-group input,[data-theme=dark] .form-group textarea{background:#0003;border-color:#ffffff26}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);background:#ffffff26;box-shadow:0 0 0 3px #667eea33}.form-group textarea{resize:vertical;min-height:120px}.about-section{padding:100px 0;background:var(--background)}.about-content{margin-top:60px}.about-text{max-width:900px;margin:0 auto;background:#ffffff1f;backdrop-filter:blur(18px) saturate(180%);-webkit-backdrop-filter:blur(18px) saturate(180%);border:1px solid rgba(255,255,255,.28);border-radius:16px;padding:48px;position:relative;overflow:hidden}[data-theme=dark] .about-text{background:#00000040;border-color:#ffffff2e}.about-text:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 25% 25%,rgba(255,255,255,.25) 0%,rgba(255,255,255,.08) 25%,transparent 60%);animation:liquidMove 10s ease-in-out infinite;pointer-events:none;z-index:0}.about-text>*{position:relative;z-index:1}.about-text h3{font-size:1.75rem;font-weight:700;margin-bottom:16px;margin-top:32px;color:var(--foreground)}.about-text h3:first-child{margin-top:0}.about-text p{font-size:1.05rem;line-height:1.8;color:var(--muted-foreground);margin-bottom:24px}.about-features{list-style:none;padding:0;margin:24px 0}.about-features li{padding:12px 0;font-size:1.05rem;color:var(--muted-foreground);line-height:1.6;border-bottom:1px solid rgba(255,255,255,.1)}.about-features li:last-child{border-bottom:none}.privacy-section{padding:100px 0;background:linear-gradient(135deg,#0f0f0f,#1a1a1a,#2a2a2a);position:relative;overflow:hidden}.privacy-section:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 30% 70%,rgba(139,69,255,.1) 0%,transparent 50%),radial-gradient(circle at 70% 30%,rgba(59,130,246,.1) 0%,transparent 50%);pointer-events:none}.privacy-content{margin-top:60px;max-width:900px;margin-left:auto;margin-right:auto;position:relative;z-index:2}.privacy-item{background:#ffffff1f;backdrop-filter:blur(18px) saturate(180%);-webkit-backdrop-filter:blur(18px) saturate(180%);border:1px solid rgba(255,255,255,.28);border-radius:16px;padding:32px;margin-bottom:24px;position:relative;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .privacy-item{background:#00000040;border-color:#ffffff2e}.privacy-item:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.25) 0%,rgba(255,255,255,.08) 25%,transparent 60%);animation:liquidMove 10s ease-in-out infinite;pointer-events:none;z-index:0}.privacy-item>*{position:relative;z-index:1}.privacy-item:hover{border-color:#ffffff61;box-shadow:0 16px 48px #0000004d;transform:translateY(-4px)}.privacy-item h3{font-size:1.5rem;font-weight:700;margin-bottom:16px;color:var(--foreground)}.privacy-item p{font-size:1rem;line-height:1.8;color:var(--muted-foreground)}.privacy-item a{color:var(--primary);text-decoration:none;font-weight:600}.privacy-item a:hover{text-decoration:underline}.privacy-contact{margin-top:48px;padding:32px;background:#ffffff14;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:12px;border:1px solid rgba(255,255,255,.15);text-align:center}.privacy-contact p{margin-bottom:12px;color:var(--muted-foreground)}.privacy-contact a{color:var(--primary);text-decoration:none;font-weight:600}.privacy-contact a:hover{text-decoration:underline}.terms-section{padding:100px 0;background:var(--background)}.terms-content{margin-top:60px;max-width:900px;margin-left:auto;margin-right:auto}.terms-item{background:#ffffff1f;backdrop-filter:blur(18px) saturate(180%);-webkit-backdrop-filter:blur(18px) saturate(180%);border:1px solid rgba(255,255,255,.28);border-radius:16px;padding:32px;margin-bottom:24px;position:relative;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .terms-item{background:#00000040;border-color:#ffffff2e}.terms-item:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.25) 0%,rgba(255,255,255,.08) 25%,transparent 60%);animation:liquidMove 10s ease-in-out infinite;pointer-events:none;z-index:0}.terms-item>*{position:relative;z-index:1}.terms-item:hover{border-color:#ffffff61;box-shadow:0 16px 48px #0000004d;transform:translateY(-4px)}.terms-item h3{font-size:1.5rem;font-weight:700;margin-bottom:16px;color:var(--foreground)}.terms-item p{font-size:1rem;line-height:1.8;color:var(--muted-foreground)}.terms-item a{color:var(--primary);text-decoration:none;font-weight:600}.terms-item a:hover{text-decoration:underline}.terms-contact{margin-top:48px;padding:32px;background:#ffffff14;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:12px;border:1px solid rgba(255,255,255,.15);text-align:center}.terms-contact p{margin-bottom:12px;color:var(--muted-foreground)}.terms-contact a{color:var(--primary);text-decoration:none;font-weight:600}.terms-contact a:hover{text-decoration:underline}@media (max-width: 768px){.hero-content{grid-template-columns:1fr;gap:40px;text-align:center}.hero-buttons,.hero-stats{justify-content:center}.hero-subtitle{font-size:1.3rem}.contact-grid{grid-template-columns:1fr;gap:40px}.contact-form-container{padding:24px}.about-text{padding:32px 24px}.privacy-item,.terms-item{padding:24px}}.reservas-page{padding:2rem;background:linear-gradient(135deg,#0f1419,#1a1f2e,#0f1419);min-height:100vh;display:flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.reservas-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;max-width:1600px;width:100%;background:#0f1419;border-radius:20px;box-shadow:0 25px 80px #0009,0 0 50px #aadfad1a,inset 0 1px #aadfad0d;border:1px solid rgba(170,223,173,.1);overflow:hidden}.columna-info{background:linear-gradient(135deg,#0f1419,#1a1f2e);padding:2.5rem;border-right:1px solid rgba(170,223,173,.15);display:flex;flex-direction:column}.empresa-info{border-bottom:1px solid rgba(170,223,173,.15);padding-bottom:2rem;margin-bottom:2rem}.empresa-info h1{color:#aadfad;margin:0 0 .5rem;font-size:1.9rem;font-weight:700;letter-spacing:-.5px}.empresa-info p{color:#a0aec0;margin:.5rem 0;font-size:.95rem;line-height:1.5}.contacto{margin-top:1.2rem;display:flex;flex-direction:column;gap:.6rem;color:#718096;font-size:.9rem}.profesores-list{display:flex;flex-direction:column;gap:1rem;flex:1;overflow-y:auto;padding-right:.5rem}.profesores-list::-webkit-scrollbar{width:6px}.profesores-list::-webkit-scrollbar-track{background:transparent}.profesores-list::-webkit-scrollbar-thumb{background:#aadfad33;border-radius:3px}.profesores-list::-webkit-scrollbar-thumb:hover{background:#aadfad66}.profesores-list h2{color:#aadfad;font-size:1.2rem;margin:0;font-weight:600;text-transform:uppercase;letter-spacing:1px}.profesor-card{display:flex;gap:1rem;padding:1rem;border-radius:12px;border:1px solid rgba(170,223,173,.15);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);background:#aadfad0d}.profesor-card:hover{transform:translateY(-4px);background:#aadfad1a;border-color:#aadfad66;box-shadow:0 0 30px #aadfad33,inset 0 0 20px #aadfad0d}.profesor-card.selected{border-color:#aadfad;background:#aadfad26;box-shadow:0 0 40px #aadfad4d,0 0 20px #aadfad33,inset 0 0 20px #aadfad1a}.profesor-avatar{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#aadfad,#85c987);color:#0f1419;display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:700;flex-shrink:0;box-shadow:0 0 20px #aadfad4d}.profesor-info{flex:1;min-width:0}.profesor-info h3{margin:0;color:#aadfad;font-size:.95rem;font-weight:600}.profesor-info p{color:#a0aec0;margin:.25rem 0;font-size:.85rem}.dias-atencion{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.5rem}.dia-badge{background:#aadfad1f;color:#aadfad;padding:.25rem .6rem;border-radius:6px;font-size:.7rem;font-weight:600;border:1px solid rgba(170,223,173,.25);text-transform:uppercase;letter-spacing:.5px}.columna-calendario{background:linear-gradient(135deg,#0f1419,#1a1f2e);padding:2.5rem;border-right:1px solid rgba(170,223,173,.15);display:flex;flex-direction:column}.columna-calendario h2{color:#aadfad;margin:0 0 1.5rem;font-size:1.2rem;font-weight:600;text-transform:uppercase;letter-spacing:1px}.calendario{border:1px solid rgba(170,223,173,.15);border-radius:12px;background:#aadfad0d;overflow:hidden}.calendar-header{display:flex;justify-content:space-between;align-items:center;padding:1.2rem;border-bottom:1px solid rgba(170,223,173,.15)}.calendar-header h3{color:#aadfad;margin:0;text-transform:capitalize;font-weight:600;font-size:1rem}.calendar-header button{background:linear-gradient(135deg,#aadfad,#85c987);color:#0f1419;border:none;padding:.6rem 1rem;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1)}.calendar-header button:hover{box-shadow:0 0 25px #aadfad80,inset 0 0 15px #fff3;transform:scale(1.08)}.calendar-header button:active{box-shadow:0 0 35px #aadfadb3,inset 0 0 20px #aadfad4d}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;padding:1rem 1.2rem;font-weight:700;color:#aadfad;text-align:center;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;padding:.5rem 1.2rem 1.2rem}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:1px solid rgba(170,223,173,.2);border-radius:8px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);background:#aadfad0d;font-weight:600;color:#a0aec0}.calendar-day:not(.empty):hover{background:#aadfad26;border-color:#aadfad;box-shadow:0 0 20px #aadfad40,inset 0 0 10px #aadfad1a;transform:scale(1.05)}.calendar-day.empty{background:transparent;cursor:default;border:none}.calendar-day.selected{background:linear-gradient(135deg,#aadfad,#85c987);color:#0f1419;border-color:#aadfad;box-shadow:0 0 30px #aadfad80,inset 0 0 15px #fff3;font-weight:700}.columna-horarios{background:linear-gradient(135deg,#0f1419,#1a1f2e);padding:2.5rem;display:flex;flex-direction:column}.columna-horarios h2{color:#aadfad;margin:0 0 1.5rem;font-size:1.2rem;font-weight:600;text-transform:uppercase;letter-spacing:1px}.horarios-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(85px,1fr));gap:.8rem}.hora-btn{padding:.6rem .8rem;border:1px solid rgba(170,223,173,.2);border-radius:10px;background:#aadfad0d;color:#a0aec0;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-weight:600;font-size:.85rem}.hora-btn:hover{background:#aadfad1f;border-color:#aadfad;box-shadow:0 0 25px #aadfad4d,inset 0 0 15px #aadfad1a;transform:translateY(-3px);color:#aadfad}.hora-btn.selected{background:linear-gradient(135deg,#aadfad,#85c987);color:#0f1419;border-color:#aadfad;box-shadow:0 0 35px #aadfad80,0 0 20px #aadfad4d,inset 0 0 20px #fff3;font-weight:700}.placeholder-text{text-align:center;color:#718096;margin-top:2rem;font-style:italic;font-size:.95rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f1419d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:linear-gradient(135deg,#0f1419,#1a1f2e);padding:2.5rem;border-radius:20px;width:90%;max-width:500px;box-shadow:0 40px 120px #000c,0 0 80px #aadfad33,inset 0 1px #aadfad26;border:1px solid rgba(170,223,173,.2);animation:slideUp .4s cubic-bezier(.34,1.56,.64,1)}@keyframes slideUp{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-content h2{color:#aadfad;margin:0 0 .8rem;font-size:1.6rem;font-weight:700;letter-spacing:-.5px}.modal-content.success{text-align:center}.modal-content.success h2{font-size:1.8rem;margin-bottom:1rem}.modal-content.success p{color:#a0aec0;margin:.8rem 0;font-size:1rem;line-height:1.6}.form-group{margin-bottom:1.8rem}.form-group label{display:block;margin-bottom:.7rem;color:#aadfad;font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:1px}.form-group input{width:100%;padding:.9rem 1.2rem;border:2px solid rgba(170,223,173,.15);border-radius:12px;font-size:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);box-sizing:border-box;background:linear-gradient(135deg,#aadfad14,#aadfad08);color:#e2e8f0;font-weight:500;box-shadow:0 2px 8px #0003,inset 0 1px 2px #aadfad0d}.form-group input::placeholder{color:#718096}.form-group input:hover{border-color:#aadfad4d;background:linear-gradient(135deg,#aadfad1f,#aadfad0d);box-shadow:0 4px 12px #aadfad26,inset 0 1px 2px #aadfad1a}.form-group input:focus{outline:none;border-color:#aadfad;background:linear-gradient(135deg,#aadfad26,#aadfad14);box-shadow:0 0 40px #aadfad59,inset 0 1px 3px #aadfad26,0 4px 16px #aadfad33}.form-group input[type=file]{padding:1rem;cursor:pointer}.form-group input[type=file]::file-selector-button{background:linear-gradient(135deg,#aadfad,#85c987);color:#0f1419;border:none;padding:.6rem 1.2rem;border-radius:8px;cursor:pointer;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);text-transform:uppercase;letter-spacing:.5px;font-size:.85rem;box-shadow:0 0 20px #aadfad4d}.form-group input[type=file]::file-selector-button:hover{box-shadow:0 0 30px #aadfad80,inset 0 0 15px #fff3;transform:translateY(-1px)}.form-group textarea{width:100%;padding:.9rem 1.2rem;border:2px solid rgba(170,223,173,.15);border-radius:12px;font-size:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);box-sizing:border-box;background:linear-gradient(135deg,#aadfad14,#aadfad08);color:#e2e8f0;font-weight:500;font-family:inherit;resize:vertical;min-height:80px;box-shadow:0 2px 8px #0003,inset 0 1px 2px #aadfad0d}.form-group textarea::placeholder{color:#718096}.form-group textarea:hover{border-color:#aadfad4d;background:linear-gradient(135deg,#aadfad1f,#aadfad0d);box-shadow:0 4px 12px #aadfad26,inset 0 1px 2px #aadfad1a}.form-group textarea:focus{outline:none;border-color:#aadfad;background:linear-gradient(135deg,#aadfad26,#aadfad14);box-shadow:0 0 40px #aadfad59,inset 0 1px 3px #aadfad26,0 4px 16px #aadfad33}.modal-buttons{display:flex;justify-content:flex-end;gap:1.2rem;margin-top:2.5rem}.modal-buttons button{padding:1rem 2rem;border-radius:12px;cursor:pointer;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);border:none;font-size:.95rem;text-transform:uppercase;letter-spacing:1px}.modal-buttons button[type=button]{background:#aadfad1f;color:#aadfad;border:1.5px solid rgba(170,223,173,.3)}.modal-buttons button[type=button]:hover{background:#aadfad33;border-color:#aadfad;box-shadow:0 0 25px #aadfad4d,inset 0 0 10px #aadfad1a;transform:translateY(-2px)}.modal-buttons button[type=button]:active{transform:translateY(0);box-shadow:0 0 15px #aadfad33}.modal-buttons button[type=submit]{background:linear-gradient(135deg,#aadfad,#85c987);color:#0f1419;box-shadow:0 0 30px #aadfad66}.modal-buttons button[type=submit]:hover{box-shadow:0 0 50px #aadfad99,inset 0 0 20px #fff3;transform:translateY(-2px)}.modal-buttons button[type=submit]:active{box-shadow:0 0 60px #aadfadcc,inset 0 0 25px #aadfad66}@media (max-width: 1200px){.reservas-grid{grid-template-columns:1fr}.columna-info,.columna-calendario{border-right:none;border-bottom:1px solid rgba(170,223,173,.15)}}@media (max-width: 768px){.reservas-page{padding:1rem}.reservas-grid{border-radius:12px}.columna-info,.columna-calendario,.columna-horarios{padding:1.5rem}.empresa-info h1{font-size:1.5rem}.horarios-grid{grid-template-columns:repeat(auto-fill,minmax(70px,1fr))}}.global-navbar{position:fixed;left:0;top:0;width:280px;height:100vh;background:linear-gradient(180deg,#0a0a0a,#1a1a1a);border-right:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;z-index:1000;overflow-y:auto}.global-nav-header{padding:24px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.global-logo{display:flex;align-items:center;gap:12px}.logo-icon{width:40px;height:40px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:#fff;box-shadow:0 4px 12px #667eea4d}.logo-text{display:flex;flex-direction:column}.logo-title{font-size:18px;font-weight:800;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:weeklyGlow 3s ease-in-out infinite;line-height:1.2}@keyframes weeklyGlow{0%,to{background-position:0% 50%;filter:drop-shadow(0 0 5px rgba(102,126,234,.3))}50%{background-position:100% 50%;filter:drop-shadow(0 0 10px rgba(102,126,234,.6))}}.logo-subtitle{font-size:12px;color:#94a3b8;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.global-nav-links{flex:1;padding:20px 0}.global-nav-link{display:flex;align-items:center;gap:12px;padding:12px 20px;color:#cbd5e1;text-decoration:none;transition:all .3s ease;border-left:3px solid transparent;position:relative}.global-nav-link:hover{background:#ffffff0d;color:#fff;border-left-color:#667eea80}.global-nav-link.active{background:#667eea1a;color:#667eea;border-left-color:#667eea}.global-nav-link.active:before{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:3px;height:20px;background:#667eea;border-radius:2px}.nav-label{font-size:14px;font-weight:500}.global-nav-footer{padding:20px;border-top:1px solid rgba(255,255,255,.1)}.logout-button{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;background:#dc35451a;border:1px solid rgba(220,53,69,.2);border-radius:8px;color:#dc3545;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease}.logout-button:hover{background:#dc354533;border-color:#dc354566;transform:translateY(-1px)}@media (max-width: 768px){.global-navbar{width:100%;height:auto;position:relative;flex-direction:row;overflow-x:auto;overflow-y:hidden}.global-nav-header{padding:16px 20px;border-bottom:none;border-right:1px solid rgba(255,255,255,.1);min-width:200px}.global-nav-links{flex:1;display:flex;padding:16px 0;overflow-x:auto}.global-nav-link{min-width:140px;padding:8px 16px;border-left:none;border-bottom:3px solid transparent;justify-content:center;flex-direction:column;gap:4px}.global-nav-link:hover{border-left-color:transparent;border-bottom-color:#667eea80}.global-nav-link.active{border-left-color:transparent;border-bottom-color:#667eea}.global-nav-link.active:before{display:none}.nav-label{font-size:12px;text-align:center}.global-nav-footer{padding:16px 20px;border-top:none;border-left:1px solid rgba(255,255,255,.1);min-width:120px}.logout-button{padding:8px 12px;font-size:12px;flex-direction:column;gap:4px}}@media (max-width: 480px){.global-navbar{height:60px}.global-nav-header{padding:12px 16px;min-width:150px}.logo-icon{width:32px;height:32px;font-size:16px}.logo-title{font-size:16px}.logo-subtitle{font-size:10px}.global-nav-links{padding:12px 0}.global-nav-link{min-width:120px;padding:6px 12px}.nav-label{font-size:11px}.global-nav-footer{padding:12px 16px;min-width:100px}.logout-button{padding:6px 8px;font-size:11px}}.splash-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999;overflow:hidden;transition:background .5s}.splash-screen.splash-light{background:#fff}.splash-screen.splash-dark{background:#111}.splash-screen.splash-opening{background:#0000!important;transition:none!important}.curtain-light{background:#fff}.curtain-dark{background:#111}.curtain{position:absolute;top:0;width:50%;height:100%;z-index:10}.curtain-left{left:0}.curtain-right{right:0}.splash-content{position:absolute;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:20;color:#222}.splash-screen.splash-dark .splash-content{color:#fff}.logo-container{margin-bottom:2rem}.promesa-logo{width:120px;height:120px;filter:drop-shadow(0 10px 20px rgba(0,0,0,.3))}.promesa-logo.promesa-logo-big{width:200px;height:200px}.splash-text{margin-bottom:2rem}.splash-text h1{font-size:2.5rem;font-weight:800;margin:0 0 .5rem;text-shadow:0 4px 8px rgba(0,0,0,.08);background:linear-gradient(45deg,#19736a,#123b40);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.splash-text p{font-size:1.2rem;font-weight:500;margin:0;opacity:.9;text-shadow:0 2px 4px rgba(0,0,0,.08)}.loading-dots{display:flex;gap:.5rem;justify-content:center}.dot{width:12px;height:12px;background-color:#19736a;border-radius:50%;animation:dotPulse 1.4s ease-in-out infinite both;box-shadow:0 2px 4px #00000014}.splash-screen.splash-dark .dot{background-color:#fff}.dot:nth-child(1){animation-delay:-.32s}.dot:nth-child(2){animation-delay:-.16s}.dot:nth-child(3){animation-delay:0s}@keyframes dotPulse{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}.particles{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:5}.particle{position:absolute;width:4px;height:4px;background:#19736a99;border-radius:50%}.splash-screen.splash-dark .particle{background:#fff9}.particle-1{top:20%;left:10%}.particle-2{top:60%;left:80%}.particle-3{top:80%;left:20%}.particle-4{top:30%;left:70%}.particle-5{top:70%;left:60%}.particle-6{top:40%;left:30%}.splash-screen:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle at 20% 80%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(255,255,255,.05) 0%,transparent 50%);animation:backgroundFloat 20s ease-in-out infinite}.splash-screen.splash-opening:before{display:none!important}@keyframes backgroundFloat{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(-10px,-10px) rotate(1deg)}66%{transform:translate(10px,-5px) rotate(-1deg)}}@media (max-width: 768px){.promesa-logo{width:100px;height:100px}.splash-text h1{font-size:2rem}.splash-text p{font-size:1rem}.dot{width:10px;height:10px}}@media (max-width: 480px){.promesa-logo{width:80px;height:80px}.splash-text h1{font-size:1.75rem}.splash-text p{font-size:.9rem}.logo-container,.splash-text{margin-bottom:1.5rem}}.splash-screen.fade-out{animation:fadeOut .5s ease-out forwards}@keyframes fadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.1)}}.splash-screen.splash-hidden{opacity:0!important;pointer-events:none!important;transition:none!important}.tutorial-settings{position:fixed;bottom:20px;right:20px;z-index:1000}.tutorial-settings__button{background:#007bff;color:#fff;border:none;border-radius:50%;width:50px;height:50px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 10px #0003;transition:all .3s ease}.tutorial-settings__button:hover{background:#0056b3;transform:scale(1.1)}.tutorial-settings__button svg{width:20px;height:20px}.tutorial-settings__panel{position:absolute;bottom:60px;right:0;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;padding:20px;min-width:250px;border:1px solid #e0e0e0}.tutorial-settings__panel h3{margin:0 0 15px;color:#333;font-size:16px}.tutorial-settings__panel p{margin:0 0 15px;color:#666;font-size:14px;line-height:1.4}.tutorial-settings__toggle{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.tutorial-settings__toggle label{font-size:14px;color:#333;cursor:pointer}.tutorial-settings__switch{position:relative;width:50px;height:24px;background:#ccc;border-radius:12px;cursor:pointer;transition:background .3s ease}.tutorial-settings__switch.active{background:#007bff}.tutorial-settings__switch:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .3s ease}.tutorial-settings__switch.active:after{transform:translate(26px)}.tutorial-settings__actions{display:flex;gap:10px;margin-top:15px}.tutorial-settings__btn{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:all .3s ease}.tutorial-settings__btn--primary{background:#007bff;color:#fff}.tutorial-settings__btn--primary:hover{background:#0056b3}.tutorial-settings__btn--secondary{background:#6c757d;color:#fff}.tutorial-settings__btn--secondary:hover{background:#545b62}.tutorial-settings__close{position:absolute;top:10px;right:10px;background:none;border:none;font-size:18px;cursor:pointer;color:#666}.tutorial-settings__close:hover{color:#333}.app-container{display:flex;min-height:100vh;position:relative;overflow-x:hidden}.content-container{width:100%;flex-grow:1;padding:3rem 4rem;margin-left:260px;transition:margin-left .3s cubic-bezier(.4,0,.2,1);animation:contentFadeIn .6s ease-in-out;min-height:100vh;overflow-x:hidden}.overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:999;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.app-container.nav-open .overlay{opacity:1;visibility:visible}@keyframes contentFadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}h1{font-size:2.5rem;font-weight:800;letter-spacing:-.04em;margin-bottom:2rem;line-height:1.2;background:linear-gradient(135deg,var(--primary) 0%,hsl(210,100%,70%) 50%,hsl(190,90%,60%) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent}h2{font-size:1.75rem;font-weight:700;color:var(--foreground);border-bottom:1px solid var(--border);padding-bottom:.75rem;margin-bottom:1.75rem}@media (min-width: 1440px){.content-container{margin-left:280px;padding:3.5rem 5rem}}@media (max-width: 1024px){.content-container{margin-left:240px;padding:2.5rem 3rem}h1{font-size:2.25rem}h2{font-size:1.6rem}}@media (max-width: 768px){.content-container{margin-left:0;padding:6rem 2rem 1.5rem}h1{font-size:2rem}h2{font-size:1.5rem}}@media (max-width: 480px){.content-container{padding:5.5rem 1.5rem 1rem}h1{font-size:1.75rem;margin-bottom:1.5rem}h2{font-size:1.35rem;margin-bottom:1.25rem}}@media (max-width: 320px){.content-container{padding:5rem 1rem 1rem}h1{font-size:1.5rem;margin-bottom:1rem}h2{font-size:1.25rem;margin-bottom:1rem}}.app-container,.content-container{max-width:100vw;overflow-x:hidden}@media (max-width: 768px){.app-container.nav-open .content-container{pointer-events:none}}.loading-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2)}.loading-spinner{text-align:center;color:#fff}.loading-spinner .spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.loading-spinner p{font-size:16px;font-weight:500;margin:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.global-app-container{min-height:100vh;background:linear-gradient(135deg,#0a0a0a,#1a1a1a,#2d2d2d);display:flex}.global-main-content{flex:1;padding:30px;overflow-y:auto;background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;margin:20px 20px 20px 300px;box-shadow:0 8px 32px #0000004d;border:1px solid rgba(255,255,255,.1);color:#fff}@media (max-width: 768px){.global-main-content{margin-left:0;padding:16px}}@media (max-width: 480px){.global-main-content{padding:12px}}.global-app-container .page-container{background:transparent;border-radius:20px;margin:0 auto;max-width:1400px;color:#fff}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:24px;box-shadow:0 8px 32px #0000004d;border:1px solid rgba(255,255,255,.2);border-left:4px solid #667eea;display:flex;align-items:center;gap:16px;transition:all .3s ease;color:#fff}.stat-card:hover{transform:translateY(-2px)}.stat-card.primary{border-left-color:#667eea}.stat-card.success{border-left-color:#4ade80}.stat-card.warning{border-left-color:#fbbf24}.stat-card.danger{border-left-color:#f87171}.stat-icon{font-size:2.5rem;opacity:.8}.stat-content h3{margin:0 0 8px;color:#ffffffe6;font-size:.9rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.stat-number{font-size:2rem;font-weight:700;color:#fff;margin:0;text-shadow:0 2px 4px rgba(0,0,0,.5)}.dashboard-section{margin-bottom:40px}.dashboard-section h2{color:#fff;margin-bottom:20px;font-size:1.5rem;font-weight:600;text-shadow:0 2px 4px rgba(0,0,0,.5)}.quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.action-card{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:24px;text-decoration:none;color:inherit;box-shadow:0 8px 32px #0000004d;transition:all .3s ease;border:1px solid rgba(255,255,255,.2)}.action-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #0006;border-color:#667eea;text-decoration:none;color:inherit;background:#ffffff26}.action-icon{font-size:2.5rem;margin-bottom:16px;opacity:.8}.action-card h3{margin:0 0 8px;color:#fff;font-size:1.2rem;font-weight:600;text-shadow:0 2px 4px rgba(0,0,0,.5)}.action-card p{margin:0;color:#ffffffe6;font-size:.9rem;line-height:1.4}.badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#fff}.action-buttons{display:flex;gap:8px}.btn{padding:8px 16px;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;text-decoration:none;display:inline-block;transition:all .2s ease}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;box-shadow:0 4px 15px #667eea66}.btn-primary:hover{background:linear-gradient(135deg,#5a67d8,#6b46c1);box-shadow:0 6px 20px #667eea99;transform:translateY(-2px)}.btn-secondary{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-secondary:hover{background:#fff3;border-color:#ffffff80;transform:translateY(-2px)}.btn-danger{background:linear-gradient(135deg,#f87171,#ef4444);color:#fff;border:none;box-shadow:0 4px 15px #f8717166}.btn-danger:hover{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 6px 20px #f8717199;transform:translateY(-2px)}.btn-sm{padding:4px 8px;font-size:.75rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:4px;font-weight:500;color:#2c3e50}.form-group input,.form-group select{padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:.875rem}.form-group input:focus,.form-group select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}@media (max-width: 768px){.global-app-container{padding:10px}.stats-grid,.quick-actions,.form-row{grid-template-columns:1fr}.action-buttons{flex-direction:column}}
