/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-100{height:calc(var(--spacing)*100)}.flex-shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}body{place-items:center;min-width:320px;min-height:100vh;margin:0;display:flex}h1{font-size:3.2em;line-height:1.1}button{cursor:pointer;background-color:#1a1a1a;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}*{margin:0;padding:0;box-sizing:border-box}*{scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{display:none}html{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{display:none}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;color:#213857;background:#fff;min-height:100vh;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none}body::-webkit-scrollbar{display:none}div,section,main,article,aside,nav,header,footer{scrollbar-width:none;-ms-overflow-style:none}div::-webkit-scrollbar,section::-webkit-scrollbar,main::-webkit-scrollbar,article::-webkit-scrollbar,aside::-webkit-scrollbar,nav::-webkit-scrollbar,header::-webkit-scrollbar,footer::-webkit-scrollbar{display:none}#root{width:100%;display:flex;flex-direction:column;align-items:center;scrollbar-width:none;-ms-overflow-style:none}#root::-webkit-scrollbar{display:none}.landing-page{min-height:100vh;display:flex;flex-direction:column;width:100%;overflow-x:hidden}.login-main,.hero{animation:pageEnter .3s ease-out}@keyframes pageEnter{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.container{max-width:1200px;margin:0 auto;padding:0 2rem;width:100%}.header{background:#fffffff2;border-bottom:1px solid #f0f0f0;padding:1rem 0;position:fixed;top:0;left:0;right:0;z-index:1000;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);transition:all .3s ease;height:80px;display:flex;align-items:center}.header .container{display:flex;justify-content:space-between;align-items:center;height:100%}.logo-text{font-size:2rem;font-weight:700;color:#213857;letter-spacing:-.5px;text-decoration:none}.nav{display:flex;align-items:center;gap:2rem;height:100%;min-height:48px}.nav:has(.nav-btn){gap:1rem}.logo-link{text-decoration:none;color:inherit}.nav-link{color:#213857;text-decoration:none;font-weight:500;font-size:.95rem;transition:color .3s ease;position:relative}.nav-link:hover{color:#66a0a4}.nav-link:after{content:"";position:absolute;width:0;height:2px;bottom:-5px;left:0;background-color:#66a0a4;transition:width .3s ease}.nav-link:hover:after{width:100%}.nav-item{color:#66a0a4;font-weight:600;font-size:.85rem;background:#66a0a41a;padding:.5rem 1rem;border-radius:20px;border:1px solid rgba(102,160,164,.3)}.nav-btn{color:#213857;font-weight:600;font-size:.9rem;padding:.75rem 1.5rem;border-radius:25px;text-decoration:none;transition:all .3s ease;border:2px solid #213857;background:transparent;display:inline-flex;align-items:center;justify-content:center;height:48px;min-width:120px}.nav-btn:hover{background:#213857;color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #2138574d}.hero{margin-top:80px;min-height:90vh;position:relative;display:flex;align-items:center;background:url(/images/hero.jpeg) no-repeat center center;background-size:cover;color:#fff;overflow:hidden}.hero-background{width:100%;height:100%;position:relative}.hero-content{position:relative;z-index:2;text-align:center;max-width:800px;margin:0 auto;padding:4rem 0;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.hero-title{font-size:4.5rem;font-weight:800;margin-bottom:1.5rem;line-height:1.1;letter-spacing:-1px;color:#fff}.hero-title .highlight{color:#dda8a2;display:block;font-size:4rem}.hero-subtitle{font-size:1.5rem;margin-bottom:3rem;line-height:1.5;font-weight:400;color:#fff;background:#21385799;padding:1rem 2rem;border-radius:12px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);max-width:90%;margin-left:auto;margin-right:auto}.hero-content{position:relative;z-index:2;text-align:center;max-width:800px;margin:0 auto;padding:4rem 0}.hero-title{font-size:4rem;font-weight:800;margin-bottom:1.5rem;line-height:1.1;letter-spacing:-1px}.hero-title .highlight{color:#dda8a2}.hero-subtitle{font-size:1.5rem;margin-bottom:3rem;opacity:.9;line-height:1.5;font-weight:300}.hero-actions{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap}.hero-btn{padding:1rem 2.5rem;border:none;border-radius:50px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;text-align:center;min-width:180px;height:48px;line-height:1}.hero-btn.primary{background:#dda8a2;color:#213857;border:none;font-weight:600;box-shadow:0 4px 15px #dda8a24d}.hero-btn.primary:hover{background:#cc9289;transform:translateY(-2px);box-shadow:0 10px 30px #dda8a280}.hero-btn.secondary{background:#ffffff26;color:#fff;border:2px solid white;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);font-weight:600}.hero-btn.secondary:hover{background:#fff;color:#213857;transform:translateY(-2px);box-shadow:0 10px 30px #ffffff4d}.section-header{text-align:center;margin-bottom:4rem}.section-title{font-size:2.5rem;font-weight:700;color:#213857;margin-bottom:1rem;letter-spacing:-.5px}.section-subtitle{font-size:1.25rem;color:#6e6e73;max-width:900px;margin:0 auto;line-height:1.5}.services{padding:6rem 0;background:#fafafa}.services-large-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2.5rem;margin-bottom:4rem}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2.5rem}.service-card.large{padding:4rem 3rem;background:linear-gradient(135deg,#dfa7a01a,#659fa51a);border:none}.service-card.large .service-icon{font-size:4rem;margin-bottom:2rem}.service-card.large h3{font-size:1.75rem;margin-bottom:1.5rem}.service-card.large p{font-size:1.1rem;line-height:1.8}.service-card{background:#fff;padding:3rem 2rem;border-radius:20px;text-align:center;box-shadow:0 10px 30px #2138571a;transition:all .3s ease;border:1px solid #f0f0f0}.service-card:hover{transform:translateY(-10px);box-shadow:0 20px 50px #21385726}.service-icon{font-size:3rem;margin-bottom:1.5rem}.service-card h3{font-size:1.5rem;font-weight:600;color:#213857;margin-bottom:1rem}.service-card p{color:#6e6e73;line-height:1.6}.destinations{padding:6rem 0;background:#fff}.destinations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.destination-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 10px 30px #0000001a;transition:all .3s ease;border:1px solid #f0f0f0}.destination-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px #00000026}.destination-card.clickable{cursor:pointer;transition:all .3s ease}.destination-card.clickable:hover{transform:translateY(-10px);box-shadow:0 25px 50px #0003}.destination-image{height:200px;background:linear-gradient(135deg,#66a0a4,#dda8a2);display:flex;align-items:center;justify-content:center;font-size:4rem;position:relative;overflow:hidden}.destination-content{padding:2rem;position:relative}.destination-content h3{font-size:1.5rem;font-weight:600;color:#213857;margin-bottom:.5rem}.destination-content p{color:#6e6e73;margin-bottom:1rem;line-height:1.5}.destination-tag{background:#66a0a4;color:#fff;padding:.25rem .75rem;border-radius:15px;font-size:.8rem;font-weight:500}.newsletter-section{padding:6rem 0;background:linear-gradient(135deg,#213857,#66a0a4);color:#fff;text-align:center}.newsletter-content{max-width:600px;margin:0 auto}.newsletter-content h2{font-size:2.5rem;font-weight:700;margin-bottom:1rem}.newsletter-content>p{font-size:1.25rem;margin-bottom:3rem;opacity:.9}.newsletter-form{max-width:500px;margin:0 auto}.newsletter-form .form-group{display:flex;gap:1.5rem;margin-bottom:1.5rem;padding:0 1rem}.email-input{flex:1;padding:1.25rem 1.5rem;border:none;border-radius:50px;font-size:1rem;outline:none;background:#fffffff2;color:#213857}.email-input::placeholder{color:#999}.subscribe-btn{padding:1.25rem 2.5rem;background:#dda8a2;color:#213857;border:none;border-radius:50px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap;box-shadow:0 4px 15px #dda8a24d}.subscribe-btn:hover{background:#cc9289;transform:translateY(-2px);box-shadow:0 8px 25px #dda8a280}.form-note{font-size:.9rem;color:#fff;margin-top:1rem;text-align:center;padding:0 1rem;line-height:1.4;font-weight:500}.price-form .form-note{color:#6e6e73;text-align:left;padding:0;margin-top:.5rem;font-size:.85rem;font-weight:400}.success-message{background:#dda8a21a;border:2px solid #dda8a2;padding:2rem;border-radius:12px;text-align:center;max-width:500px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:1.5rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.success-icon{width:48px;height:48px;fill:#dda8a2}.success-content{display:flex;flex-direction:column;gap:.75rem}.success-message h3{color:#dda8a2;font-size:1.75rem;font-weight:600;margin:0}.success-message p{color:#fff;font-size:1.1rem;margin:0;opacity:.9;line-height:1.4}.footer{background:#213857;color:#fff;padding:4rem 0 2rem}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:3rem;margin-bottom:3rem}.footer-section h3,.footer-section h4{margin-bottom:1.5rem;color:#dda8a2}.footer-logo{font-size:1.5rem;font-weight:700}.footer-section p{margin-bottom:.5rem;opacity:.8;line-height:1.6}.social-links{display:flex;flex-direction:column;gap:.5rem}.social-links span{opacity:.8;cursor:pointer;transition:opacity .3s ease}.social-links span:hover{opacity:1;color:#66a0a4}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:2rem 0;min-height:200px;display:flex;align-items:center}.footer-bottom-content{display:flex;justify-content:space-between;align-items:center;gap:2rem;width:100%}.copyright-info{text-align:center;flex:1;display:flex;flex-direction:column;justify-content:center;gap:.5rem}.legal-links{display:flex;justify-content:center;align-items:center;min-width:300px;min-height:220px}.complaint-book-link{display:flex;justify-content:center;align-items:center;transition:transform .2s ease;width:100%;height:100%}.complaint-book-link:hover{transform:translateY(-2px)}.complaint-book-image{height:65%;width:auto;border-radius:12px}@media (max-width: 768px){.complaint-book-image{height:200px}}.copyright-info p{opacity:.6;font-size:.9rem;margin:0;line-height:1.5}@media (max-width: 768px){.container{padding:0 1.5rem}.header{height:70px}.nav{gap:1rem;min-height:40px}.nav-link{display:none}.hero-btn{height:40px;padding:.75rem 2rem;font-size:1rem}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.25rem}.hero-actions{flex-direction:column;align-items:center}.hero-btn{width:100%;max-width:300px}.section-title{font-size:2rem}.services-grid,.destinations-grid{grid-template-columns:1fr}.form-group{flex-direction:column}.footer-content{grid-template-columns:1fr;gap:2rem}.footer-bottom-content{flex-direction:column-reverse;gap:1.5rem}.legal-links{justify-content:center}.copyright-info{text-align:center}}@media (max-width: 480px){.header{height:60px}.nav{min-height:36px}.hero-btn{height:36px;padding:.5rem 1.5rem;font-size:.9rem}.hero-title{font-size:2rem}.hero-subtitle{font-size:1.1rem}.section-title{font-size:1.75rem}.service-card,.destination-card{margin:0 .5rem}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.service-card,.destination-card{animation:fadeInUp .6s ease-out}.hero-content{animation:fadeInUp .8s ease-out}.destination-modal{max-width:800px;width:90%;max-height:90vh;overflow-y:auto}.destination-modal-content{display:flex;flex-direction:column;gap:2rem;padding:2rem}.destination-modal-image{display:flex;justify-content:center;align-items:center;text-align:center}.destination-image-placeholder{width:100%;height:400px;background:linear-gradient(135deg,#66a0a4,#dda8a2);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:4rem;color:#fff;margin-bottom:1rem}.destination-real-image{width:100%;height:400px;object-fit:cover;object-position:center center;border-radius:12px;margin-bottom:1rem;box-shadow:0 4px 12px #00000026}.destination-modal-info h3{font-size:1.5rem;font-weight:600;color:#213857;margin-bottom:1rem}.destination-tag-display{display:inline-block;background:#66a0a41a;color:#66a0a4;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:500;margin-bottom:1.5rem}.destination-description p{font-size:1.1rem;line-height:1.6;color:#6e6e73;margin-bottom:0;text-align:justify}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-label{font-size:.9rem;font-weight:600;color:#213857}.detail-value{font-size:.95rem;color:#6e6e73}.destination-highlights ul{list-style:none;padding:0;margin:1rem 0 0}.destination-highlights li{position:relative;padding:.5rem 0 .5rem 1.5rem;color:#6e6e73;line-height:1.5;text-align:justify}.destination-highlights li:before{content:"✓";position:absolute;left:0;color:#66a0a4;font-weight:700}.destination-mais-vendidos{margin-top:2rem}.destination-mais-vendidos h3{font-size:1.5rem;font-weight:600;color:#213857;margin-bottom:1rem}.mais-vendidos-content{display:flex;flex-direction:column;gap:1.5rem}.mais-vendido-item{padding:1.5rem;background:#f8f9fa;border-radius:12px;border-left:4px solid #66a0a4}.mais-vendido-item p{margin:0;font-size:1rem;line-height:1.6;color:#6e6e73;text-align:justify}.destination-modal-footer{padding:2rem;border-top:1px solid #e5e5e7;display:flex;gap:1rem;justify-content:flex-end;background:#f8f9fa;border-radius:0 0 16px 16px}@media (max-width: 768px){.destination-modal{width:95%;margin:1rem}.destination-modal-content{padding:1.5rem;gap:1.5rem}.destination-image-placeholder{height:280px;font-size:3rem}.destination-real-image{height:280px}.detail-grid{grid-template-columns:1fr}.destination-modal-footer{padding:1.5rem;flex-direction:column}}.login-page{min-height:100vh;background:linear-gradient(180deg,#f8f9fa,#e9ecef);padding-top:80px}.login-main{min-height:calc(100vh - 80px);display:flex;align-items:center;padding:4rem 0}.login-container{display:flex;justify-content:center;align-items:center;min-height:60vh}.login-card{background:#fff;border-radius:20px;padding:3rem;max-width:450px;width:100%;box-shadow:0 20px 60px #21385726;border:1px solid rgba(33,56,87,.1);animation:fadeInUp .6s ease-out}.login-header-content{text-align:center;margin-bottom:2.5rem}.login-title{font-size:2rem;font-weight:700;color:#213857;margin-bottom:.5rem}.login-subtitle{color:#6e6e73;font-size:1rem;line-height:1.5}.login-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:0;margin-bottom:1rem}.form-label{font-weight:600;color:#213857;font-size:.9rem;width:100%;display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.form-label .tgr-info{font-weight:400;font-size:.85rem;color:#6e6e73}.form-input{padding:1rem 1.25rem;border:2px solid #e5e5e7;border-radius:12px;font-size:1rem;transition:all .3s ease;background:#fafafa;color:#213857}.form-input:not([readonly]):not([disabled]){background:#fff}.input-with-prefix{position:relative;width:100%}.input-with-prefix .prefix{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#6e6e73;pointer-events:none;font-weight:600}.form-input.has-prefix{padding-left:2.25rem}.input-with-prefix .form-input{width:100%}.form-input:focus{outline:none;border-color:#66a0a4;background:#fff;box-shadow:0 0 0 3px #66a0a41a}.form-input::placeholder{color:#999}.password-input{padding-right:3.5rem;width:100%}.password-toggle-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#999;transition:color .2s ease;padding:8px;display:flex;align-items:center;justify-content:center;border-radius:6px;width:32px;height:32px;z-index:2}.password-toggle-btn:hover{color:#666;background-color:#0000000d}.password-toggle-btn:focus{outline:none;color:#66a0a4;background-color:#66a0a41a}.password-toggle-btn:active{background-color:#0000001a}.password-toggle-btn svg{transition:all .2s ease;width:18px;height:18px}.error-message{background-color:#fee2e2;border:1px solid #ef4444;border-radius:.375rem;color:#b91c1c;font-size:.875rem;margin:.5rem 0;padding:.75rem}.error-message>div{margin-bottom:.25rem}.error-message>div:last-child{margin-bottom:0}.login-btn{background:#213857;color:#fff;border:none;border-radius:12px;padding:1.25rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:1rem}.login-btn:hover:not(:disabled){background:#1a2d47;transform:translateY(-1px);box-shadow:0 8px 25px #2138574d}.login-btn:disabled{background:#999;cursor:not-allowed;transform:none}.login-btn.loading{position:relative}.login-btn.loading:after{content:"";position:absolute;right:1rem;top:50%;transform:translateY(-50%);width:16px;height:16px;border:2px solid transparent;border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:translateY(-50%) rotate(0)}to{transform:translateY(-50%) rotate(360deg)}}.login-footer{margin-top:2rem;text-align:center;display:flex;flex-direction:column;gap:1rem}.back-link{color:#66a0a4;text-decoration:none;font-weight:500;font-size:.95rem;transition:color .3s ease}.back-link:hover{color:#213857}.help-links{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.help-link{color:#999;text-decoration:none;font-size:.9rem;transition:color .3s ease}.help-link:hover{color:#66a0a4}@media (max-width: 768px){.nav-btn{display:none}.login-card{margin:0 1rem;padding:2rem 1.5rem}.password-toggle-btn{right:8px;width:28px;height:28px;padding:6px}.password-toggle-btn svg{width:16px;height:16px}.password-input{padding-right:3rem}.login-title{font-size:1.75rem}}.dashboard-page{min-height:100vh;background:linear-gradient(180deg,#f8f9fa,#e9ecef);padding-top:80px}.dashboard-main{min-height:calc(100vh - 80px);padding:4rem 0}.dashboard-content{max-width:1000px;margin:0 auto;animation:pageEnter .6s ease-out}.welcome-section{text-align:center;margin-bottom:4rem;background:#fff;padding:3rem;border-radius:20px;box-shadow:0 10px 40px #2138571a;border:1px solid rgba(33,56,87,.05)}.welcome-icon{font-size:4rem;margin-bottom:1.5rem}.welcome-title{font-size:2.5rem;font-weight:700;color:#213857;margin-bottom:1rem;letter-spacing:-.5px}.welcome-subtitle{font-size:1.25rem;color:#6e6e73;line-height:1.6;max-width:600px;margin:0 auto}.dashboard-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-bottom:3rem}.dashboard-card{background:#fff;padding:2.5rem 2rem;border-radius:16px;border:1px solid #e5e5e7;transition:all .3s ease;text-align:center;position:relative;overflow:hidden;text-decoration:none;color:inherit;display:block}.dashboard-card:hover{transform:translateY(-5px);box-shadow:0 15px 35px #21385726;border-color:#66a0a4}.dashboard-card.clickable{cursor:pointer}.card-icon{font-size:2.5rem;margin-bottom:1.5rem}.dashboard-card h3{font-size:1.375rem;font-weight:600;color:#213857;margin-bottom:.75rem}.dashboard-card p{color:#6e6e73;line-height:1.5;margin-bottom:1.5rem}.card-status{display:inline-block;padding:.5rem 1rem;border-radius:20px;font-size:.85rem;font-weight:600;background:#66a0a41a;color:#66a0a4;border:1px solid rgba(102,160,164,.2)}.dashboard-actions{display:flex;gap:1.5rem;justify-content:center;margin-bottom:3rem;flex-wrap:wrap}.primary-btn,.secondary-btn{padding:1rem 2.5rem;border-radius:50px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:2px solid;min-width:180px}.primary-btn{background:#213857;color:#fff;border-color:#213857}.primary-btn:not(:disabled):hover{background:#2a4a6b;border-color:#213857;transform:translateY(-1px);box-shadow:0 4px 12px #21385733}.secondary-btn{background:transparent;color:#213857;border-color:#213857}.secondary-btn:not(:disabled):hover{background:#2138571a;color:#213857;border-color:#213857;transform:translateY(-1px)}.primary-btn:disabled,.secondary-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.primary-btn:focus,.secondary-btn:focus{outline:none;box-shadow:0 0 0 3px #21385733}.primary-btn:focus:not(:hover),.secondary-btn:focus:not(:hover){transform:none}.primary-btn:focus:not(:focus-visible),.secondary-btn:focus:not(:focus-visible){box-shadow:none;outline:none}.delete-btn{padding:1rem 2.5rem;border-radius:50px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:2px solid #dc3545;min-width:180px;background:#dc3545;color:#fff}.delete-btn:hover:not(:disabled){background:#c82333;border-color:#dc3545;transform:translateY(-1px);box-shadow:0 4px 12px #dc35454d}.delete-btn:focus{outline:none;box-shadow:0 0 0 3px #dc354533}.delete-btn:focus:not(:hover){transform:none}.delete-btn:focus:not(:focus-visible){box-shadow:none;outline:none}.delete-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.confirmation-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease-out}.confirmation-overlay .confirmation-modal{background:#fff;border-radius:16px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideIn .3s ease-out}.confirmation-header{padding:2rem 2rem 1rem;text-align:center}.confirmation-header h3{margin:0;font-size:1.5rem;font-weight:600;color:#213857}.confirmation-content{padding:0 2rem 1.5rem;text-align:center}.confirmation-content p{margin:0 0 1rem;font-size:1.1rem;color:#6e6e73;line-height:1.5}.confirmation-content .warning-text{font-size:.95rem;color:#dc3545;font-weight:500;margin:1.5rem 0 0}.confirmation-footer{padding:1.5rem 2rem 2rem;display:flex;gap:1rem;justify-content:center}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.dashboard-footer{text-align:center;background:#fff;padding:2.5rem;border-radius:16px;border:1px solid #e5e5e7}.coming-soon-text{font-size:1.1rem;color:#66a0a4;margin-bottom:1.5rem;font-weight:500}.back-home-link{color:#213857;text-decoration:none;font-weight:500;transition:color .3s ease}.back-home-link:hover{color:#66a0a4}@media (max-width: 768px){.dashboard-content{margin:0 1rem}.welcome-section{padding:2rem}.welcome-title{font-size:2rem}.dashboard-cards{grid-template-columns:1fr;gap:1.5rem}.dashboard-actions{flex-direction:column;align-items:center}.primary-btn,.secondary-btn{width:100%;max-width:300px}}@media (max-width: 480px){.welcome-title{font-size:1.75rem}.welcome-subtitle{font-size:1.1rem}.dashboard-card{padding:2rem 1.5rem}}.dashboard-header{display:flex;justify-content:flex-end;padding:1rem 0}.toggle-mode-btn{background:none;border:none;color:#2563eb;cursor:pointer;font-size:.875rem;padding:0;margin-top:.5rem;text-decoration:underline}.toggle-mode-btn:hover{color:#1d4ed8}.form-input.error{border-color:#ef4444;background-color:#fee2e2}.form-input:disabled{background-color:#f3f4f6;cursor:not-allowed;opacity:.8}.calculator-container{display:flex;justify-content:center;align-items:center}.calculator-card{background:#fff;border-radius:20px;padding:2rem;width:100%;max-width:900px;box-shadow:0 20px 60px #21385726;border:1px solid rgba(33,56,87,.1);animation:pageEnter .6s ease-out}.price-form{display:grid;grid-template-columns:1fr;gap:1.25rem 1.5rem}.price-form .form-group{display:flex;flex-direction:column}.price-form .full-width{grid-column:1 / -1}@media (min-width: 768px){.calculator-card{padding:2.5rem}.price-form{grid-template-columns:1fr 1fr}}input[type=number]{-moz-appearance:textfield;appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.nav-simple-link{display:flex;align-items:center;gap:.5rem;color:#213857;text-decoration:none;font-weight:500;font-size:.95rem;transition:color .3s ease}.nav-simple-link:hover{color:#66a0a4}.nav-icon{font-size:1.2rem}.nav:has(.nav-simple-link){gap:1.5rem}.quote-section{padding:6rem 0;background:#f8f9fa}.quote-form{max-width:1000px;margin:0 auto;background:#fff;padding:3rem;border-radius:20px;box-shadow:0 10px 30px #2138571a}.form-row{display:flex;gap:1.5rem;margin-bottom:1.5rem}.form-field{flex:1;display:flex;flex-direction:column;gap:.5rem}.form-field.wide{flex:2}.form-field label{font-weight:500;color:#213857;font-size:.9rem}.form-field input,.form-field select{padding:.75rem 1rem;border:1px solid #e5e5e7;border-radius:8px;font-size:1rem;transition:all .3s ease;background:#f8f9fa}.form-field input:focus,.form-field select:focus{outline:none;border-color:#66a0a4;background:#fff;box-shadow:0 0 0 3px #66a0a41a}.reservation-modal .form-field input:not(:disabled),.reservation-modal .form-field select:not(:disabled){background:#fff;border-color:#e5e5e7}.reservation-modal .form-field input:disabled,.reservation-modal .form-field select:disabled{background:#f8f9fa;color:#6e6e73;border-color:#e5e5e7;cursor:not-allowed}.reservation-modal .form-field input:not(:disabled):hover,.reservation-modal .form-field select:not(:disabled):hover{border-color:#66a0a4;box-shadow:0 0 0 2px #66a0a40d}.form-field input::placeholder{color:#a0a0a0}.form-field input[type=date]{padding:.75rem 1rem;border:1px solid #e5e5e7;border-radius:8px;font-size:1rem;transition:all .3s ease;background:#f8f9fa;color:#213857}.form-field input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.4) sepia(.1) saturate(1.5) hue-rotate(175deg);cursor:pointer;opacity:.8;padding:.2rem}.form-field input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1;scale:1.1}.rgpd-consent{display:flex;gap:1rem;align-items:flex-start;font-size:.85rem;color:#6e6e73;line-height:1.4}.rgpd-consent input[type=checkbox]{margin-top:.2rem}.quote-submit-btn{width:100%;padding:1rem;background:#dda8a2;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:2rem}.quote-submit-btn:hover{background:#128c7e;transform:translateY(-2px);box-shadow:0 8px 25px #25d3664d}.whatsapp-icon{font-size:1.2rem}@media (max-width: 768px){.quote-form{padding:2rem}.form-row{flex-direction:column;gap:1rem}.form-field.wide{flex:1}}.reservations-actions{margin-bottom:2rem;display:flex;justify-content:flex-end}.add-reservation{display:flex;align-items:center;gap:.5rem}.reservations-list{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 10px 30px #2138571a}.reservations-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.reservations-header h2{color:#213857;font-size:1.5rem;margin:0}.reservations-table{overflow-x:auto;background:#fff;border-radius:16px;box-shadow:0 10px 30px #2138571a;border:1px solid rgba(33,56,87,.05)}.reservations-table table{width:100%;border-collapse:separate;border-spacing:0;min-width:800px;border-radius:16px;overflow:hidden;table-layout:fixed}.reservations-table th:nth-child(1),.reservations-table td:nth-child(1){width:20%}.reservations-table th:nth-child(2),.reservations-table td:nth-child(2){width:15%}.reservations-table th:nth-child(3),.reservations-table td:nth-child(3){width:12%}.reservations-table th:nth-child(4),.reservations-table td:nth-child(4){width:12%}.reservations-table th:nth-child(5),.reservations-table td:nth-child(5){width:15%}.reservations-table th:nth-child(6),.reservations-table td:nth-child(6){width:15%}.reservations-table th:nth-child(7),.reservations-table td:nth-child(7){width:11%}.reservations-table td{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reservations-table th{text-align:left;padding:1rem;background:#f8f9fa;color:#213857;font-weight:600;font-size:.9rem;border-bottom:2px solid #e5e5e7;transition:all .3s ease;position:relative}.reservations-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.reservations-table th.sortable:hover{background:#e9ecef;color:#66a0a4}.reservations-table th.sortable.active{background:#e9ecef;color:#66a0a4;border-bottom-color:#66a0a4}.reservations-table th:first-child{border-top-left-radius:16px}.reservations-table th:last-child{border-top-right-radius:16px}.reservations-table tbody tr:last-child td:first-child{border-bottom-left-radius:16px}.reservations-table tbody tr:last-child td:last-child{border-bottom-right-radius:16px}.reservations-table td{padding:1rem;border-bottom:1px solid #e5e5e7;color:#6e6e73;font-size:.95rem;background:#fff}.reservations-table tbody tr:last-child td{border-bottom:none}.reservations-table .clickable-row{cursor:pointer;transition:all .2s ease}.reservations-table .clickable-row:hover{background-color:#66a0a40d;transform:translateY(-1px);box-shadow:0 2px 8px #2138571a}.reservations-table .clickable-row:hover td{background-color:transparent}.status-badge{padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:500}.status-badge.confirmed{background:#22c55e1a;color:#22c55e}.status-badge.pending{background:#eab3081a;color:#eab308}.status-badge.cancelled{background:#ef44441a;color:#ef4444}.table-actions{display:flex;gap:.5rem}.action-btn{background:none;border:none;font-size:1.1rem;cursor:pointer;padding:.25rem;border-radius:4px;transition:all .2s ease}.action-btn:hover{transform:translateY(-1px)}.action-btn.delete:hover{background:#ef44441a}@media (max-width: 768px){.reservations-header{flex-direction:column;gap:1rem;align-items:flex-start}.reservations-list{padding:1rem}.reservations-table{margin:0 -1rem}}.documents-container{max-width:1000px;margin:0 auto}.documents-card{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 10px 30px #2138571a;border:1px solid rgba(33,56,87,.1);animation:pageEnter .6s ease-out}.documents-table{overflow-x:auto;border-radius:12px;box-shadow:0 1px 3px #0000000d}.documents-table table{width:100%;min-width:700px;border-collapse:collapse}.documents-table th{text-align:left;padding:1rem;background:#f8f9fa;color:#213857;font-weight:600;font-size:.85rem;border-bottom:2px solid #e5e5e7;text-transform:uppercase;letter-spacing:.3px}.documents-table td{padding:1rem;border-bottom:1px solid #e5e5e7;color:#6e6e73;font-size:.95rem}.documents-table th:nth-child(1),.documents-table td:nth-child(1){width:auto}.documents-table th:nth-child(2),.documents-table td:nth-child(2){width:160px}.documents-table th:nth-child(3),.documents-table td:nth-child(3){width:80px;text-align:center}.documents-table th:nth-child(3){text-align:center}.documents-table tr:hover{background:#f8f9fa}.doc-name{font-weight:500;color:#213857}.doc-date{white-space:nowrap;color:#6c757d;font-size:.85rem}.doc-actions{display:flex;align-items:center;justify-content:center}.download-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:36px;border-radius:8px;border:none;text-decoration:none;color:#213857;transition:all .2s ease}.download-btn:hover{transform:translateY(-1px);box-shadow:0 4px 10px #2138571f}.download-btn .download-icon{width:18px;height:18px;stroke:#66a0a4;stroke-width:2.5;fill:none;stroke-linecap:round;stroke-linejoin:round}.download-btn:hover .download-icon{stroke:#213857}@media (max-width: 768px){.documents-card{padding:1.25rem;margin:0 1rem}.documents-table{margin:0 -1rem}}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);will-change:transform;transform:translateZ(0)}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:900px;max-height:90vh;overflow-y:auto;position:relative}.modal-header{padding:1.5rem;border-bottom:1px solid #e5e5e7;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:#fff;z-index:1;border-radius:16px 16px 0 0}.modal-header h2{margin:0;color:#213857;font-size:1.5rem}.close-btn{background:none;border:none;font-size:1.5rem;color:#6e6e73;cursor:pointer;padding:.5rem;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-btn:hover{background:#f8f9fa;color:#213857}.reservation-form{padding:1.5rem}.form-section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid #e5e5e7}.form-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.form-section h3{color:#213857;font-size:1.2rem;margin-bottom:1.5rem}.modal-footer{padding:1.5rem;display:flex;justify-content:flex-end;gap:1rem;position:sticky;bottom:0;background:#fff;border-radius:0 0 16px 16px}.loading-message,.empty-message{text-align:center;padding:3rem;color:#6e6e73;font-size:1.1rem}.loading-message:before{content:"⏳";display:block;font-size:2rem;margin-bottom:1rem}.empty-message:before{content:"📭";display:block;font-size:2rem;margin-bottom:1rem}.confirmation-modal{max-width:450px!important;padding:0!important;background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a}.confirmation-modal .modal-header{padding:1.5rem;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center;background-color:#f8f9fa;border-radius:12px 12px 0 0}.confirmation-modal .modal-header h2{margin:0;font-size:1.25rem;color:#333;font-weight:600}.confirmation-modal .modal-body{padding:2rem 1.5rem;text-align:center}.confirmation-modal .confirmation-message{margin:0;font-size:1.1rem;color:#666;line-height:1.5}.confirmation-modal .modal-footer{padding:1.5rem;border-top:1px solid #eee;display:flex;justify-content:center;gap:1rem;background-color:#f8f9fa;border-radius:0 0 12px 12px}.confirmation-modal .secondary-btn{padding:.75rem 2rem;font-size:1rem;border:2px solid #6c757d;background-color:transparent;color:#6c757d;border-radius:8px;cursor:pointer;transition:all .2s ease}.confirmation-modal .secondary-btn:hover{background-color:#6c757d;color:#fff}.confirmation-modal .delete-btn{padding:.75rem 2rem;font-size:1rem;border:none;background-color:#e57373;color:#fff;border-radius:8px;cursor:pointer;transition:all .2s ease}.confirmation-modal .delete-btn:hover{background-color:#ef5350;transform:translateY(-1px)}.confirmation-modal .close-btn{background:none;border:none;font-size:1.5rem;color:#666;cursor:pointer;padding:.5rem;line-height:1;transition:color .2s ease}.confirmation-modal .close-btn:hover{color:#333}.management-page{min-height:calc(100vh - 80px);background-color:#f8f9fa;padding:0}.management-container{display:flex;gap:2rem;background-color:#fff;border-radius:12px;overflow:hidden;margin-top:2rem}.management-sidebar{width:280px;background-color:#fff;border-right:1px solid #e9ecef;padding:1rem 0}.vertical-menu{display:flex;flex-direction:column}.menu-item{display:flex;align-items:center;gap:1rem;padding:1rem 2rem;border:none;background:none;width:100%;text-align:left;cursor:pointer;font-size:1rem;color:#495057;position:relative;transition:all .2s ease}.menu-item:hover{background-color:#f8f9fa;color:#212529}.menu-item.active{background-color:#f8f9fa;color:var(--primary-color, #0d6efd);font-weight:500}.menu-icon{font-size:1.25rem;opacity:.8;width:24px;text-align:center}.notification-badge{background-color:#dc3545;color:#fff;font-size:.75rem;min-width:20px;height:20px;padding:0 6px;border-radius:10px;position:absolute;right:2rem;display:flex;align-items:center;justify-content:center}.management-main{flex:1;padding:0 2rem 2rem}.management-content{width:100%}.notifications-list{display:flex;flex-direction:column;gap:1rem;margin-top:2rem}.notification-item{padding:1.25rem;border:1px solid #e9ecef;border-radius:8px;background-color:#fff;transition:all .2s ease;cursor:pointer}.notification-item:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000000d}.notification-item.unread{border-left:4px solid var(--primary-color, #0d6efd);background-color:#fff}.notification-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.notification-header h3{font-size:1.1rem;font-weight:600;color:#212529;margin:0}.notification-date{font-size:.875rem;color:#6c757d}.notification-message{margin:0;color:#495057;font-size:.9375rem;line-height:1.5}.empty-message{text-align:center;padding:2rem;color:#6c757d;background-color:#f8f9fa;border-radius:8px;border:1px dashed #dee2e6}.loading-message{text-align:center;padding:2rem;color:#6c757d;background-color:#f8f9fa;border-radius:8px;border:1px dashed #dee2e6;animation:pulse 1.5s infinite}@keyframes pulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.error-message{padding:1rem;margin:1rem 0;color:#842029;background-color:#f8d7da;border:1px solid #f5c2c7;border-radius:8px;text-align:center}.settings-content,.profile-content,.security-content{background-color:#f8f9fa;padding:2rem;border-radius:8px;margin-top:2rem}.dashboard-page:has(.price-calculator-header){min-height:auto;padding-bottom:2rem}.dashboard-page:has(.price-calculator-header) .dashboard-content{padding:2rem;background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000014;margin:1rem auto 2rem}.price-calculator-header{display:flex;justify-content:flex-end;margin-bottom:2rem;padding:0}.price-calculator-header .auto-consumo-header{display:flex;align-items:center}.price-calculator-header .toggle-label-header{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.85rem;font-weight:500;color:#2c3e50;white-space:nowrap}.price-calculator-header .toggle-slider-header{position:relative;width:40px;height:20px;background:#ccc;border-radius:20px;transition:all .3s ease;cursor:pointer}.price-calculator-header .toggle-slider-header:before{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:all .3s ease;box-shadow:0 1px 3px #0003}.price-calculator-header .toggle-checkbox:checked+.toggle-slider-header{background:#659fa5}.price-calculator-header .toggle-checkbox:checked+.toggle-slider-header:before{transform:translate(20px)}.price-calculator-header .toggle-checkbox:disabled+.toggle-slider-header{opacity:.6;cursor:not-allowed}.price-calculator-header .toggle-text-header{-webkit-user-select:none;user-select:none}.price-calculator-header .toggle-checkbox{display:none}@media (max-width: 768px){.dashboard-page:has(.price-calculator-header) .dashboard-content{margin:.5rem;padding:1rem}.price-calculator-header{margin-bottom:1rem}}.self-consumption-section{margin-top:1rem;width:100%;display:flex;flex-direction:column;align-items:center;gap:1rem}.self-consumption-section .toggle-description{font-size:.9rem;color:#6e6e73;text-align:center;font-weight:500}.self-consumption-section .contract-confirmation{display:flex;justify-content:center;width:100%}.self-consumption-section .contract-checkbox-label{display:flex;align-items:center;gap:12px;cursor:pointer;font-size:1rem;font-weight:500;color:#213857;padding:12px 16px;border:none;border-radius:8px;background:#fff;transition:all .2s ease;width:100%;max-width:none}.self-consumption-section .contract-checkbox-label:hover{background:#00000008}.self-consumption-section .contract-checkbox{width:18px;height:18px;cursor:pointer;accent-color:initial;appearance:auto}.self-consumption-section .checkbox-text{-webkit-user-select:none;user-select:none;color:#213857;font-weight:500}@media (max-width: 768px){.services-large-grid,.services-grid{grid-template-columns:1fr;gap:2rem}.service-card.large{padding:3rem 2rem}.service-card.large .service-icon{font-size:3.5rem;margin-bottom:1.5rem}.service-card.large h3{font-size:1.5rem}.service-card.large p{font-size:1rem;line-height:1.6}}.landing-page{min-height:100vh;display:flex;flex-direction:column}.landing-page:has(.side-menu){background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.main-content{display:flex;min-height:calc(100vh - 80px);margin-top:80px;position:relative}.content-area{flex:1;padding:32px;margin-left:250px;transition:all .3s cubic-bezier(.4,0,.2,1);min-height:calc(100vh - 80px);background:transparent}.side-menu.collapsed~.content-area{margin-left:70px}.landing-page:not(:has(.side-menu)) .main-content{margin-top:0;min-height:auto}.landing-page:not(:has(.side-menu)) .content-area{margin-left:0;padding:0;min-height:auto}.container{max-width:1200px;margin:0 auto;width:100%;height:100%}@media (max-width: 768px){.main-content{margin-top:120px}.content-area{margin-left:0;padding:16px}.side-menu.collapsed~.content-area{margin-left:0;padding:16px}}.mobile-top-menu{position:fixed;top:60px;left:0;right:0;height:60px;background:linear-gradient(90deg,#fff,#fafbfc);border-bottom:1px solid rgba(0,0,0,.06);box-shadow:0 2px 8px #0000000d;z-index:90;display:none}.mobile-menu-items{display:flex;height:100%;padding:0 16px;align-items:center;justify-content:space-around;gap:8px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth}.mobile-menu-items::-webkit-scrollbar{display:none}.mobile-menu-item{display:flex;align-items:center;justify-content:center;min-width:48px;height:48px;color:#4a5568;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);border-radius:12px;position:relative;flex-shrink:0}.mobile-menu-item:hover{background:linear-gradient(135deg,#66a0a41a,#2138570d);color:#213857;transform:translateY(-1px)}.mobile-menu-item.active{background:linear-gradient(135deg,#66a0a426,#2138571a);color:#213857;font-weight:600}.mobile-menu-item.active:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:24px;height:3px;background:linear-gradient(135deg,#66a0a4,#213857);border-radius:2px 2px 0 0}.mobile-menu-icon{font-size:20px;line-height:1}@media (max-width: 768px){.mobile-top-menu{display:block}}@media (min-width: 481px) and (max-width: 768px){.mobile-menu-items{justify-content:center;gap:16px}.mobile-menu-item{min-width:56px;height:56px}.mobile-menu-icon{font-size:22px}}@media (max-width: 768px){.mobile-menu-item{transition:all .2s cubic-bezier(.4,0,.2,1)}.mobile-menu-item:active{transform:scale(.95)}}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:backdrop-filter .3s ease}.modal-overlay:active{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background-color:#0000008c}.modal-content.approval-modal{background:#fff;padding:2rem;border-radius:12px;width:100%;max-width:500px;position:relative;box-shadow:0 4px 20px #00000026}.modal-header{display:flex;align-items:center;margin-bottom:2rem;gap:1rem}.modal-icon{font-size:2rem;color:#333}.modal-header h2{margin:0;color:#333;font-size:1.5rem;font-weight:600}.close-button{position:absolute;top:.75rem;right:.75rem;background:#0000001a;border:none;width:32px;height:32px;font-size:1.25rem;color:#333;cursor:pointer;padding:0;line-height:1;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:1001}.close-button:hover{background-color:#0003;color:#000;transform:scale(1.1)}.user-info{background-color:#f8f9fa;padding:1.5rem;border-radius:8px;margin-bottom:2rem}.info-group{margin-bottom:1rem}.info-group:last-child{margin-bottom:0}.info-group label{display:block;color:#666;font-size:.875rem;margin-bottom:.25rem}.info-group p{margin:0;color:#333;font-size:1rem;font-weight:500}.approval-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem;padding:1.5rem;background-color:#f8f9fa;border-radius:0 0 12px 12px;margin:2rem -2rem -2rem;border-top:1px solid #eee}.approval-actions button{padding:.75rem 2rem;border-radius:8px;font-weight:600;font-size:.875rem;transition:all .2s ease;min-width:180px}.approval-actions .hero-btn.primary{background-color:#4caf50;color:#fff;border:none;box-shadow:0 2px 4px #4caf5033}.approval-actions .hero-btn.primary:hover{background-color:#43a047;box-shadow:0 4px 8px #4caf504d;transform:translateY(-1px)}.approval-actions .hero-btn.secondary{background-color:#f44336;color:#fff;border:none;box-shadow:0 2px 4px #f4433633}.approval-actions .hero-btn.secondary:hover{background-color:#e53935;box-shadow:0 4px 8px #f443364d;transform:translateY(-1px)}.approval-actions button:disabled{opacity:.7;cursor:not-allowed;transform:none;box-shadow:none}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-content{animation:modalFadeIn .3s ease-out}.toast-container{position:fixed;top:20px;right:20px;z-index:9999}.toast{display:flex;align-items:center;min-width:300px;max-width:400px;padding:16px;border-radius:8px;margin-bottom:10px;box-shadow:0 4px 12px #00000026;animation:slideIn .3s ease-out;background:#fff}.toast.success{border-left:4px solid #4CAF50}.toast.error{border-left:4px solid #f44336}.toast.info{border-left:4px solid #2196F3}.toast-icon{margin-right:12px;font-size:20px}.toast-message{flex:1;font-size:14px;color:#333}.toast-close{background:none;border:none;font-size:20px;color:#666;cursor:pointer;padding:0 4px}.toast-close:hover{color:#333}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.password-validation-indicators{margin-top:8px;padding:12px;border-radius:8px;background-color:#f8f9fa;border:1px solid #e9ecef}.validation-header{margin-bottom:8px}.validation-title{font-size:.875rem;font-weight:600;color:#495057}.validation-rules{display:flex;flex-direction:column;gap:4px}.validation-rule{display:flex;align-items:flex-start;gap:8px;font-size:.8rem;transition:all .2s ease;line-height:1.4}.validation-rule.valid{color:#28a745}.validation-rule.invalid{color:#dc3545}.validation-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;min-width:16px;min-height:16px;border-radius:50%;font-size:.7rem;font-weight:700;margin-top:2px;flex-shrink:0}.validation-icon.check{background-color:#28a745;color:#fff}.validation-icon.cross{background-color:#dc3545;color:#fff}.validation-message{line-height:1.4;flex:1;word-wrap:break-word;overflow-wrap:break-word}@media (max-width: 768px){.password-validation-indicators{padding:10px}.validation-rule{font-size:.75rem}.validation-icon{width:14px;height:14px;min-width:14px;min-height:14px;font-size:.65rem}}.contract-modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.contract-modal{background:#fff;border-radius:12px;width:90%;max-width:900px;height:90%;max-height:800px;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040;animation:contractModalSlideIn .3s ease-out}@keyframes contractModalSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.contract-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;border-bottom:1px solid #e5e7eb;background:#f9fafb;border-radius:12px 12px 0 0}.contract-modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#111827}.contract-modal-close{background:none;border:none;font-size:2rem;cursor:pointer;color:#6b7280;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.contract-modal-close:hover{background-color:#f3f4f6;color:#374151}.contract-modal-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.contract-pdf-container{flex:1;padding:0;overflow:hidden}.contract-pdf-iframe{width:100%;height:100%;border:none;background:#f9fafb}.contract-modal-footer{padding:24px 32px;border-top:1px solid #e5e7eb;background:#f9fafb;border-radius:0 0 12px 12px}.contract-confirmation{margin-bottom:20px;display:flex;justify-content:center}.contract-checkbox-label{display:flex;align-items:center;gap:12px;cursor:pointer;font-size:1rem;font-weight:500;color:#374151;padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;background:#fff;transition:all .2s ease}.contract-checkbox-label:hover{border-color:#2563eb;background:#f8fafc}.contract-checkbox{width:18px;height:18px;accent-color:#2563eb;cursor:pointer}.checkbox-text{-webkit-user-select:none;user-select:none}.contract-error{background-color:#fef2f2;border:1px solid #fca5a5;color:#dc2626;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:.9rem;text-align:center}.contract-notice{margin:0 0 20px;color:#6b7280;font-size:.9rem;text-align:center}.contract-modal-buttons{display:flex;gap:12px;justify-content:flex-end}.contract-btn{padding:12px 24px;border-radius:8px;font-weight:500;font-size:.95rem;cursor:pointer;transition:all .2s ease;border:none;min-width:120px}.contract-btn.secondary{background-color:#f3f4f6;color:#374151}.contract-btn.secondary:hover{background-color:#e5e7eb}.contract-btn.primary{background-color:#2563eb;color:#fff}.contract-btn.primary:hover{background-color:#1d4ed8}.contract-btn.primary.disabled{background-color:#9ca3af;color:#6b7280;cursor:not-allowed;opacity:.6}.contract-btn.primary.disabled:hover{background-color:#9ca3af}@media (max-width: 768px){.contract-modal-overlay{padding:10px}.contract-modal{width:95%;height:95%}.contract-modal-header{padding:16px 20px}.contract-modal-header h2{font-size:1.25rem}.contract-modal-footer{padding:16px 20px}.contract-modal-buttons{flex-direction:column}.contract-btn{width:100%}.contract-checkbox-label{font-size:.9rem;padding:10px 14px}.contract-checkbox{width:16px;height:16px}}.cookie-consent-overlay{position:fixed;bottom:0;left:0;right:0;background:transparent;display:flex;justify-content:center;align-items:flex-end;z-index:1000;padding:1rem;animation:slideUp .3s ease-out}.cookie-consent-container{background:#fff;border-radius:20px;width:100%;max-width:800px;box-shadow:0 -4px 20px #00000026;overflow:hidden}.cookie-consent-header{padding:1.5rem;border-bottom:1px solid #e5e5e7;display:flex;justify-content:space-between;align-items:center}.cookie-consent-header h2{margin:0;color:#213857;font-size:1.5rem;font-weight:600}.cookie-details-btn{background:none;border:none;color:#66a0a4;font-size:.9rem;font-weight:500;cursor:pointer;padding:.5rem 1rem;border-radius:8px;transition:all .2s ease}.cookie-details-btn:hover{background:#66a0a41a}.cookie-consent-content{padding:1.5rem}.cookie-consent-description{color:#6e6e73;line-height:1.6;margin:0;font-size:1rem}.cookie-preferences{margin-top:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.cookie-preference-item{background:#f8f9fa;border-radius:12px;padding:1.25rem;border:1px solid #e5e5e7}.preference-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.preference-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.preference-label input[type=checkbox]{width:18px;height:18px;accent-color:#66a0a4;cursor:pointer}.preference-label input[type=checkbox]:disabled{accent-color:#213857;opacity:.7;cursor:not-allowed}.preference-label span{color:#213857;font-weight:500;font-size:1rem}.always-active{font-size:.85rem;color:#66a0a4;background:#66a0a41a;padding:.25rem .75rem;border-radius:20px;font-weight:500}.preference-description{color:#6e6e73;font-size:.9rem;line-height:1.5;margin:0}.cookie-consent-footer{padding:1.5rem;display:flex;justify-content:flex-end;gap:1rem;border-top:1px solid #e5e5e7;background:#f8f9fa}.cookie-btn{padding:.75rem 1.5rem;border-radius:25px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:2px solid}.cookie-btn.primary{background:#213857;color:#fff;border-color:#213857}.cookie-btn.primary:hover{background:#1a2d47;transform:translateY(-1px);box-shadow:0 4px 12px #21385733}.cookie-btn.secondary{background:transparent;color:#213857;border-color:#213857}.cookie-btn.secondary:hover{background:#2138571a;transform:translateY(-1px)}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 768px){.cookie-consent-container{margin:0;border-radius:20px 20px 0 0}.cookie-consent-header{padding:1.25rem}.cookie-consent-header h2{font-size:1.25rem}.cookie-consent-content{padding:1.25rem}.cookie-consent-footer{padding:1.25rem;flex-direction:column}.cookie-btn{width:100%;text-align:center}}.change-password-form{padding:1.5rem}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{width:100%;padding:.75rem 3rem .75rem 1rem;border:2px solid #ecf0f1;border-radius:8px;font-size:1rem;transition:all .2s;background:#fff}.password-input-wrapper input:focus{outline:none;border-color:#dfa7a0;box-shadow:0 0 0 3px #dfa7a01a}.password-input-wrapper input:disabled{background:#f8f9fa;color:#7f8c8d;cursor:not-allowed}.password-toggle{position:absolute;right:.75rem;background:none;border:none;cursor:pointer;font-size:1.2rem;padding:.25rem;display:flex;align-items:center;justify-content:center;opacity:.6;transition:opacity .2s}.password-toggle:hover{opacity:1}.password-requirements{background:#f8f9fa;border-left:4px solid #dfa7a0;padding:1rem;border-radius:4px;margin-top:1.5rem}.password-requirements p{margin:0 0 .75rem;color:#2c3e50;font-size:.9rem}.password-requirements ul{margin:0;padding-left:0;list-style:none}.password-requirements li{font-size:.85rem;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem;transition:all .3s ease}.requirement-icon{font-weight:700;font-size:1rem;min-width:1.2rem;display:inline-flex;align-items:center;justify-content:center}.requirement-met{color:#28a745;font-weight:500}.requirement-met .requirement-icon{color:#28a745}.requirement-unmet{color:#6c757d}.requirement-unmet .requirement-icon{color:#adb5bd}@media (max-width: 768px){.modal-content{margin:.5rem;max-height:95vh}.modal-header,.change-password-form{padding:1rem}.form-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.side-menu{position:fixed;left:0;top:80px;bottom:0;width:250px;background:linear-gradient(180deg,#fff,#fafbfc);box-shadow:inset 0 0 20px #00000008;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:100;border-right:1px solid rgba(0,0,0,.06)}.collapse-button{position:absolute;right:-15px;top:24px;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#66a0a4,#213857);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #2138574d;font-size:14px}.collapse-button:hover{transform:scale(1.1);box-shadow:0 6px 16px #21385766}.side-menu.collapsed .collapse-button{transform:rotate(180deg)}.side-menu.collapsed .collapse-button:hover{transform:rotate(180deg) scale(1.1)}.menu-items{padding:24px 0;display:flex;flex-direction:column;gap:4px}.menu-item{display:flex;align-items:center;padding:14px 20px;margin:0 12px;color:#4a5568;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap;overflow:hidden;border-radius:10px;position:relative;width:90%}.menu-item:hover{background:linear-gradient(135deg,#66a0a41a,#2138570d);color:#213857;width:90%}.menu-item.active{background:linear-gradient(135deg,#66a0a426,#2138571a);color:#213857;font-weight:600}.menu-item.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:none;border-radius:0 4px 4px 0}.menu-item.disabled{opacity:.5;cursor:not-allowed}.menu-item.disabled:hover{transform:none;background:transparent}.menu-icon{font-size:18px;min-width:28px;text-align:center;margin-right:14px;transition:all .2s ease}.side-menu.collapsed .menu-icon{margin-right:0;font-size:20px}.menu-text{font-size:14px;font-weight:500;letter-spacing:.01em}.menu-text-multiline{display:flex;flex-direction:column;line-height:1}.menu-text-multiline span{display:block}.menu-status{margin-left:auto;font-size:11px;color:#718096;background:#7180961a;padding:4px 8px;border-radius:12px;font-weight:500}.menu-accordion{margin:0 12px;border-radius:10px;overflow:hidden}.accordion-header{width:100%;background:none!important;border:none;cursor:default;position:relative;margin:0;border-radius:10px;outline:none!important;box-shadow:none!important;pointer-events:none;transition:background .4s cubic-bezier(.4,0,.2,1),color .4s cubic-bezier(.4,0,.2,1)}.accordion-header:focus,.accordion-header:focus-visible{outline:none!important;box-shadow:none!important;border:none!important}.accordion-arrow{margin-left:auto;font-size:12px;transition:transform .4s cubic-bezier(.4,0,.2,1);color:#718096}.accordion-content{max-height:0;opacity:0;overflow:hidden;transition:max-height .4s cubic-bezier(.4,0,.2,1),opacity .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1);background:transparent;border-radius:0 0 10px 10px;transform:translateY(-10px)}.accordion-content.open{max-height:300px;opacity:1;transform:translateY(0)}.submenu-item{display:flex;align-items:center;padding:14px 20px;margin:4px 12px 0;color:#4a5568;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap;overflow:hidden;border-radius:10px;position:relative;width:90%}.submenu-item:hover{background:linear-gradient(135deg,#66a0a41a,#2138570d);color:#213857;width:90%}.submenu-item.active{background:linear-gradient(135deg,#66a0a426,#2138571a);color:#213857;font-weight:600}.submenu-item.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:none;border-radius:0 4px 4px 0}.submenu-item .menu-icon{font-size:18px;min-width:28px;text-align:center;margin-right:14px;transition:all .2s ease}.submenu-item .menu-text{font-size:14px;font-weight:500;letter-spacing:.01em}@media (max-width: 768px){.side-menu{display:none}}.delete-modal-overlay{position:fixed;inset:0;width:100vw;height:100vh;background:#0009;display:flex;align-items:center;justify-content:center;z-index:999999;padding:20px;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);cursor:pointer;margin:0;box-sizing:border-box}.delete-modal-overlay.deleting{cursor:not-allowed;background:#000000bf;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.delete-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-width:480px;width:100%;max-height:90vh;overflow-y:auto;animation:deleteModalSlideIn .3s ease-out;position:relative;margin:auto;z-index:1000000}.delete-modal.deleting{pointer-events:none;opacity:.95}.delete-modal.deleting:before{content:"";position:absolute;inset:0;background:#fffc;border-radius:12px;z-index:1;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}@keyframes deleteModalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.delete-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 0;position:relative;z-index:2}.delete-modal-header h3{margin:0;font-size:20px;font-weight:600;color:#dc2626;display:flex;align-items:center;gap:8px}.delete-modal-close{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.delete-modal-close:hover:not(:disabled){background:#f3f4f6;color:#374151}.delete-modal-close:disabled{opacity:.5;cursor:not-allowed}.delete-modal-body{padding:24px;position:relative;z-index:2}.delete-modal-message{font-size:16px;color:#374151;margin-bottom:16px;line-height:1.5}.delete-modal-article{background:#fee2e2;border:1px solid #fecaca;border-radius:8px;padding:12px;margin-bottom:16px;font-size:14px;color:#991b1b;word-break:break-word}.delete-modal-warning{font-size:14px;color:#dc2626;margin:0;display:flex;align-items:center;gap:8px}.delete-modal-footer{display:flex;gap:12px;padding:0 24px 24px;justify-content:flex-end;position:relative;z-index:2}.delete-modal-cancel,.delete-modal-confirm{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none;min-width:120px;display:flex;align-items:center;justify-content:center;gap:8px}.delete-modal-cancel{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.delete-modal-cancel:hover:not(:disabled){background:#e5e7eb;border-color:#9ca3af}.delete-modal-confirm{background:#dc2626;color:#fff}.delete-modal-confirm:hover:not(:disabled){background:#b91c1c}.delete-modal-cancel:disabled,.delete-modal-confirm:disabled{opacity:.6;cursor:not-allowed}.delete-modal-spinner{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 640px){.delete-modal-overlay{padding:16px}.delete-modal{margin:0;max-width:none;width:calc(100vw - 32px)}.delete-modal-header,.delete-modal-body,.delete-modal-footer{padding-left:16px;padding-right:16px}.delete-modal-footer{flex-direction:column}.delete-modal-cancel,.delete-modal-confirm{width:100%}}.image-view-overlay{position:fixed;inset:0;width:100vw;height:100vh;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:999999;padding:20px;box-sizing:border-box;cursor:pointer}.image-view-modal{position:relative;max-width:95vw;max-height:95vh;display:flex;align-items:center;justify-content:center;animation:imageViewFadeIn .3s ease-out}@keyframes imageViewFadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.image-view-close{position:absolute;top:15px;right:15px;background:#000c;color:#fff;border:none;width:40px;height:40px;font-size:20px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;transition:all .2s ease;z-index:1000000}.image-view-close:hover{background:#dc2626cc;transform:scale(1.1)}.image-view-container{position:relative;max-width:100%;max-height:100%;display:flex;align-items:center;justify-content:center}.image-view-full{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:8px;box-shadow:0 10px 40px #00000080;cursor:default}@media (max-width: 768px){.image-view-overlay{padding:10px}.image-view-close{top:10px;right:10px;width:32px;height:32px;font-size:20px}.image-view-modal{max-width:98vw;max-height:98vh}}.article-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px;margin-bottom:20px;border:1px solid #e5e7eb;transition:all .3s ease}.article-card:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.article-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.article-header-actions{display:flex;align-items:center;gap:12px}.article-meta{display:flex;flex-direction:column;gap:4px}.article-publisher{font-size:14px;color:#374151;font-weight:500;display:flex;align-items:center;gap:8px}.article-date{font-size:12px;color:#6b7280}.article-type{background:#3b82f6;color:#fff;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.article-title{font-size:20px;font-weight:600;color:#111827;margin-bottom:16px;line-height:1.4}.article-content{display:flex;flex-direction:row;gap:20px;align-items:flex-start}.article-image{width:300px;min-width:300px;border-radius:8px;overflow:hidden;cursor:pointer;transition:all .3s ease;position:relative;flex-shrink:0}.article-image:hover{transform:scale(1.02);box-shadow:0 4px 12px #00000026}.article-image:hover:after{content:"🔍 Clique para ampliar";position:absolute;bottom:0;left:0;right:0;background:#000c;color:#fff;text-align:center;padding:8px;font-size:12px;opacity:0;animation:fadeInUp .3s ease forwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.article-image img{width:100%;height:200px;object-fit:cover;display:block;transition:transform .3s ease}.article-text{color:#374151;line-height:1.6;flex:1;text-align:justify}.article-paragraph{margin-bottom:12px}.article-paragraph:last-child{margin-bottom:0}.article-delete-btn{background:none;border:none;cursor:pointer;padding:8px;border-radius:6px;color:#6b7280;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.article-delete-btn:hover:not(:disabled){background:#fee2e2;color:#dc2626;transform:scale(1.1)}.article-delete-btn:disabled{opacity:.5;cursor:not-allowed}.article-delete-btn:active{transform:scale(.95)}@media (max-width: 1024px) and (min-width: 769px){.article-image{width:250px;min-width:250px}.article-image img{height:180px}}@media (max-width: 768px){.article-card{padding:16px;margin-bottom:16px}.article-header{flex-direction:column;align-items:flex-start}.article-header-actions{align-self:stretch;justify-content:space-between}.article-title{font-size:18px}.article-content{flex-direction:column;gap:16px}.article-image{width:100%;min-width:auto}.article-image img{height:200px}}.add-modal-overlay{position:fixed;inset:0;width:100vw;height:100vh;background:#0009;display:flex;align-items:center;justify-content:center;z-index:999999;padding:20px;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);cursor:pointer;margin:0;box-sizing:border-box}.add-modal-overlay.submitting{cursor:not-allowed;background:#000000bf;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.add-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;animation:addModalSlideIn .3s ease-out;position:relative;margin:auto;z-index:1000000;cursor:default}.add-modal.submitting{pointer-events:none;opacity:.95}.add-modal.submitting:before{content:"";position:absolute;inset:0;background:#fffc;border-radius:12px;z-index:1;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}@keyframes addModalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.add-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 0;position:relative;z-index:2}.add-modal-header h3{margin:0;font-size:20px;font-weight:600;color:#3b82f6;display:flex;align-items:center;gap:8px}.add-modal-close{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.add-modal-close:hover:not(:disabled){background:#f3f4f6;color:#374151}.add-modal-close:disabled{opacity:.5;cursor:not-allowed}.add-modal-form{position:relative;z-index:2}.add-modal-body{padding:24px}.add-modal-error{background:#fee2e2;border:1px solid #fecaca;border-radius:8px;padding:12px;margin-bottom:20px;color:#991b1b;font-size:14px}.add-modal-info{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:12px;margin-bottom:20px;color:#1e40af;font-size:14px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#374151;font-size:14px}.form-group input,.form-group textarea{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:border-color .2s ease;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group input:disabled,.form-group textarea:disabled{background:#f9fafb;cursor:not-allowed}.form-group textarea{resize:vertical;min-height:120px}.image-upload-container{position:relative}.image-input{position:absolute;opacity:0;pointer-events:none}.image-upload-label{display:block;border:2px dashed #d1d5db;border-radius:8px;padding:20px;text-align:center;cursor:pointer;transition:all .2s ease;min-height:120px;display:flex;align-items:center;justify-content:center}.image-upload-label:hover{border-color:#3b82f6;background:#f8fafc}.image-placeholder{color:#6b7280;font-size:14px}.image-preview-container{position:relative;display:inline-block;max-width:100%}.image-preview{max-width:100%;max-height:200px;border-radius:4px;object-fit:cover;display:block}.image-remove-btn{position:absolute;top:8px;right:8px;background:#000000b3;color:#fff;border:none;border-radius:50%;width:24px;height:24px;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;transition:all .2s ease}.image-remove-btn:hover:not(:disabled){background:#dc2626cc;transform:scale(1.1)}.image-remove-btn:disabled{opacity:.5;cursor:not-allowed}.add-modal-footer{display:flex;gap:12px;padding:0 24px 24px;justify-content:flex-end;position:relative;z-index:2}.add-modal-cancel,.add-modal-submit{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none;min-width:120px;display:flex;align-items:center;justify-content:center;gap:8px}.add-modal-cancel{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.add-modal-cancel:hover:not(:disabled){background:#e5e7eb;border-color:#9ca3af}.add-modal-submit{background:linear-gradient(135deg,#dfa7a0,#659fa5);color:#fff}.add-modal-submit:hover:not(:disabled){background:linear-gradient(135deg,#d49892,#5a8d91)}.add-modal-submit:disabled{background:#9ca3af;cursor:not-allowed}.add-modal-cancel:disabled{opacity:.6;cursor:not-allowed}.add-modal-spinner{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 640px){.add-modal-overlay{padding:16px}.add-modal{margin:0;max-width:none;width:calc(100vw - 32px)}.add-modal-header,.add-modal-body,.add-modal-footer{padding-left:16px;padding-right:16px}.add-modal-footer{flex-direction:column}.add-modal-cancel,.add-modal-submit{width:100%}}.gauge-chart{background:#fff;padding:2.5rem 2rem;border-radius:16px;border:1px solid #e5e5e7;transition:all .3s ease;text-align:center;position:relative;overflow:hidden}.gauge-chart:hover{transform:translateY(-5px);box-shadow:0 15px 35px #21385726;border-color:#66a0a4}.gauge-header{text-align:center;margin-bottom:20px}.gauge-title{font-size:1.5rem;font-weight:700;color:#213857;margin:0 0 8px;letter-spacing:-.5px}.gauge-subtitle{font-size:1rem;color:#6e6e73;margin:0;line-height:1.6}.gauge-container{position:relative;display:flex;flex-direction:column;align-items:center}.gauge-svg{width:200px;height:120px;margin-bottom:16px}.gauge-values{text-align:center}.gauge-current-value{font-size:1.75rem;font-weight:700;color:#213857;margin-bottom:4px;letter-spacing:-.5px;min-height:2.1rem}.gauge-max-value{font-size:1rem;color:#6e6e73;margin-bottom:8px;line-height:1.6}.gauge-percentage{font-size:1.25rem;font-weight:600;color:#66a0a4;letter-spacing:-.3px;min-height:1.5rem}@media (max-width: 768px){.gauge-chart{padding:2rem 1.5rem}.gauge-svg{width:160px;height:96px}.gauge-title{font-size:1.25rem}.gauge-subtitle{font-size:.875rem}.gauge-current-value{font-size:1.5rem}.gauge-max-value{font-size:.875rem}.gauge-percentage{font-size:1.125rem}}.dashboard-page{height:100%;width:100%;background:none;padding-top:0!important}.landing-page:not(:has(.side-menu)) .dashboard-page{background:transparent}.dashboard-content{max-width:1400px;margin:0 auto;background:linear-gradient(135deg,#fff,#fafbfc);padding:48px;border-radius:20px;box-shadow:0 10px 40px #00000014;border:1px solid rgba(255,255,255,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;overflow:hidden}.dashboard-content:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:none;border-radius:20px 20px 0 0}.welcome-section{text-align:center;position:relative}.welcome-icon{font-size:64px;margin-bottom:32px;display:inline-block;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.welcome-title{font-size:36px;color:#213857;margin-bottom:20px;font-weight:700;letter-spacing:-.02em;background:linear-gradient(135deg,#213857,#66a0a4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.welcome-subtitle{font-size:20px;color:#4a5568;margin-bottom:32px;line-height:1.6;font-weight:400;max-width:600px;margin-left:auto;margin-right:auto}.welcome-message{font-size:16px;color:#718096;line-height:1.7;max-width:500px;margin:40px auto 0;padding:24px;background:#66a0a40d;border-radius:12px;border-left:4px solid #66a0a4;position:relative}.welcome-message:before{content:"🚀";position:absolute;top:-10px;left:20px;font-size:24px;background:#fff;padding:0 8px}.dashboard-content:hover{transform:translateY(-2px);box-shadow:0 15px 50px #0000001f;transition:all .3s cubic-bezier(.4,0,.2,1)}@media (max-width: 768px){.dashboard-content{padding:32px 24px;margin:0 16px}.welcome-title{font-size:28px}.welcome-subtitle{font-size:18px}.welcome-icon{font-size:48px;margin-bottom:24px}.welcome-message{font-size:15px;padding:20px}}.revenue-section{margin-top:48px;display:flex;justify-content:center;align-items:center}.gauges-container{display:grid;grid-template-columns:1fr 1fr;gap:2rem;width:100%;max-width:800px}.articles-section{margin-top:48px;background:#ffffffb3;border-radius:16px;padding:32px;border:1px solid rgba(255,255,255,.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.articles-header{text-align:center;margin-bottom:32px;position:relative}.articles-title-row{display:flex;align-items:center;justify-content:center;margin-bottom:12px;position:relative}.articles-title{font-size:28px;color:#213857;margin:0;font-weight:600;display:flex;align-items:center;gap:8px}.articles-add-btn{position:absolute;top:0;right:0;background:none;border:none;cursor:pointer;padding:8px;border-radius:6px;color:#6b7280;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.articles-add-btn:hover{background:#659fa5;color:#fff;transform:scale(1.1)}.articles-add-btn:active{transform:scale(.95)}.articles-subtitle{font-size:16px;color:#4a5568;line-height:1.6;max-width:600px;margin:0 auto}.articles-content{min-height:100px}.articles-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 20px;color:#6b7280}.loading-spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top:3px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.articles-error{text-align:center;padding:48px 20px}.articles-error p{color:#dc2626;margin-bottom:16px;font-size:16px}.retry-button{background:#3b82f6;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.retry-button:hover{background:#2563eb;transform:translateY(-1px)}.articles-empty{text-align:center;padding:48px 20px;color:#6b7280;font-size:16px}.articles-list{display:flex;flex-direction:column;gap:20px}@media (max-width: 768px){.revenue-section{margin-top:32px}.gauges-container{grid-template-columns:1fr;gap:1.5rem;max-width:400px}.articles-section{margin-top:32px;padding:24px 16px}.articles-title-row{flex-direction:column;gap:16px}.articles-title{font-size:24px;flex-direction:column;gap:4px}.articles-add-btn{position:static;align-self:center}.articles-subtitle{font-size:14px}.articles-loading,.articles-error,.articles-empty{padding:32px 16px}}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease-out}.success-modal{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 6px #0000001a;max-width:400px;width:90%;text-align:center;animation:slideIn .3s ease-out}.success-modal-content{display:flex;flex-direction:column;align-items:center;gap:1rem}.success-icon{font-size:48px;margin-bottom:.5rem}.success-modal h3{color:#2c5282;font-size:1.5rem;margin:0}.success-modal p{color:#4a5568;margin:0;line-height:1.5}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.management-page{min-height:100vh;background-color:#f5f5f5;padding-top:80px}.management-layout{min-height:calc(100vh - 80px);padding:4rem 0}.container{max-width:1400px;margin:0 auto;padding:0 1rem}.management-main{min-height:calc(100vh - 80px);padding:4rem 0}.management-wrapper{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden;animation:pageEnter .6s ease-out}.management-container{display:flex;min-height:600px;margin-top:0}.management-sidebar{width:250px;min-width:250px;background-color:#f8f9fa;border-right:1px solid #e9ecef;padding:1.5rem;flex-shrink:0}.sidebar-menu{display:flex;flex-direction:column;gap:.5rem}.sidebar-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:6px;border:none;background:none;width:100%;text-align:left;cursor:pointer;transition:background-color .2s;color:#495057}.sidebar-item:focus,.sidebar-item:focus-visible{outline:none!important;box-shadow:none!important}.sidebar-item:hover{background-color:#e9ecef}.sidebar-item.active{background-color:#e9ecef;color:#212529;font-weight:500}.sidebar-icon{font-size:1.25rem}.sidebar-text{font-size:.95rem}.notification-counter{margin-left:auto;background-color:#dc3545;color:#fff;padding:.25rem .5rem;border-radius:999px;font-size:.75rem;font-weight:500}.management-content{flex:1;padding:2rem;overflow-x:auto;min-width:0}.welcome-title{font-size:1.75rem;color:#212529;margin-bottom:.5rem}.welcome-subtitle{color:#6c757d}.notifications-list{display:flex;flex-direction:column;gap:1rem}.notification-item{padding:1rem;border:1px solid #e9ecef;border-radius:6px;background-color:#fff;transition:transform .2s,box-shadow .2s}.notification-item:hover{transform:translateY(-2px);box-shadow:0 4px 6px #0000001a}.notification-item.unread{border-left:4px solid #0d6efd}.notification-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.notification-header h3{font-size:1rem;color:#212529;margin:0}.notification-date{color:#6c757d;font-size:.875rem}.notification-message{color:#495057;margin:0;font-size:.95rem}.empty-message{text-align:center;color:#6c757d;padding:2rem;background-color:#f8f9fa;border-radius:6px}.loading-message{text-align:center;color:#6c757d;padding:2rem}.error-message{background-color:#fff3f3;border:1px solid #ffcdd2;border-radius:6px;padding:1rem;margin-bottom:1rem;color:#d32f2f;text-align:center}.retry-button{margin-top:.5rem;padding:.5rem 1rem;background-color:#d32f2f;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;transition:background-color .2s}.retry-button:hover{background-color:#b71c1c}.users-table-container{overflow-x:auto;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:1rem}.users-table{width:100%;min-width:900px;border-collapse:collapse;background-color:#fff;font-size:.9rem;table-layout:fixed}.users-table th{background-color:#f8f9fa;color:#495057;font-weight:600;padding:1rem .5rem;text-align:left;border-bottom:2px solid #e9ecef;font-size:.8rem;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.users-table td{padding:1rem .5rem;border-bottom:1px solid #e9ecef;vertical-align:middle;word-wrap:break-word}.users-table tr:hover{background-color:#f8f9fa}.users-table th.col-name,.users-table td.col-name{width:28%}.users-table th.col-email,.users-table td.col-email{width:32%}.users-table th.col-role,.users-table td.col-role{width:18%;text-align:center}.users-table th.col-status,.users-table td.col-status{width:22%;text-align:center}.users-table th:nth-child(1),.users-table td:nth-child(1){width:16%}.users-table th:nth-child(2),.users-table td:nth-child(2){width:20%}.users-table th:nth-child(3),.users-table td:nth-child(3){width:12%}.users-table th:nth-child(4),.users-table td:nth-child(4){width:14%}.users-table th:nth-child(5),.users-table td:nth-child(5){width:19%}.users-table th:nth-child(6),.users-table td:nth-child(6){width:19%}.user-name{font-weight:500;color:#212529;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:help}.user-email{color:#6c757d;font-family:Courier New,monospace;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:help}.user-role{text-align:center}.role-badge{display:inline-block;padding:.25rem .5rem;border-radius:999px;font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.role-badge.role-admin{background-color:#fff3e0;color:#e65100;border:1px solid #ffcc02}.role-badge.role-consultor{background-color:#e3f2fd;color:#1565c0;border:1px solid #2196f3}.user-created,.user-updated{color:#6c757d;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2;cursor:help}.user-name:hover,.user-email:hover,.user-created:hover,.user-updated:hover{background-color:#f8f9fa;border-radius:4px}.user-status{text-align:center}.toggle-switch{position:relative;display:inline-block;width:100px;height:34px;cursor:pointer}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;inset:0;background-color:#dc3545;border-radius:34px;transition:all .3s ease;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 2px 4px #0000001a;overflow:hidden}.toggle-slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;top:50%;background-color:#fff;border-radius:50%;transition:all .3s ease;box-shadow:0 2px 4px #0003;z-index:2;transform:translateY(-50%)}.toggle-switch input:checked+.toggle-slider{background-color:#28a745}.toggle-switch input:checked+.toggle-slider:before{transform:translateY(-50%) translate(54px)}.toggle-switch input:disabled+.toggle-slider{opacity:.6;cursor:not-allowed}.toggle-switch.disabled .toggle-slider{background-color:#6c757d!important;cursor:not-allowed}.toggle-switch.disabled .toggle-label{color:#fff;opacity:.8}.current-user-indicator{font-size:.65rem;color:#6c757d;margin-top:.25rem;font-style:italic;text-align:center}.toggle-label{color:#fff;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;z-index:1;position:absolute;text-shadow:0 1px 2px rgba(0,0,0,.3);transition:all .3s ease;width:100%;text-align:center}.toggle-switch input:checked+.toggle-slider .toggle-label{transform:translate(-15px)}.toggle-switch input:not(:checked)+.toggle-slider .toggle-label{transform:translate(15px)}@media (max-width: 1024px){.container{max-width:100%;padding:0 .5rem}.management-content{padding:1.5rem}.users-table{font-size:.85rem;min-width:0}.users-table th,.users-table td{padding:.75rem .4rem}.users-table th.col-email,.users-table td.col-email{display:none}.users-table th.col-name,.users-table td.col-name{width:45%}.users-table th.col-role,.users-table td.col-role{width:25%}.users-table th.col-status,.users-table td.col-status{width:30%}.toggle-switch{width:85px;height:30px}.toggle-switch input:checked+.toggle-slider:before{transform:translateY(-50%) translate(51px)}}@media (max-width: 768px){.management-layout{padding:2rem 0}.management-container{flex-direction:column}.management-sidebar{width:100%;min-width:auto;padding:1rem;border-right:none;border-bottom:1px solid #e9ecef}.sidebar-menu{flex-direction:row;overflow-x:auto;gap:.25rem;padding-bottom:.5rem}.sidebar-item{min-width:120px;flex-shrink:0;padding:.5rem .75rem;justify-content:center;flex-direction:column;gap:.25rem}.sidebar-text{font-size:.8rem}.sidebar-icon{font-size:1rem}.management-content{padding:1rem;overflow-x:auto}.users-table{font-size:.75rem;min-width:0}.users-table th,.users-table td{padding:.5rem .3rem}.user-created,.user-updated{font-size:.65rem}.toggle-switch{width:75px;height:26px}.toggle-slider:before{height:18px;width:18px;left:4px;top:50%;transform:translateY(-50%)}.toggle-switch input:checked+.toggle-slider:before{transform:translateY(-50%) translate(53px)}.toggle-label{font-size:.6rem}.role-badge{font-size:.65rem;padding:.2rem .4rem}.current-user-indicator{font-size:.6rem}.welcome-section{margin-bottom:1.5rem}.welcome-title{font-size:1.5rem}}@media (max-width: 480px){.management-layout{padding:1rem 0}.container{padding:0}.management-content{padding:.75rem}.users-table{font-size:.7rem;min-width:0}.users-table th,.users-table td{padding:.4rem .2rem}.toggle-switch{width:65px;height:24px}.toggle-slider:before{height:16px;width:16px;left:4px;top:50%;transform:translateY(-50%)}.toggle-switch input:checked+.toggle-slider:before{transform:translateY(-50%) translate(45px)}.toggle-label,.current-user-indicator{font-size:.55rem}.sidebar-item{min-width:100px;padding:.4rem .5rem}.sidebar-text{font-size:.75rem}.welcome-title{font-size:1.25rem}.welcome-subtitle{font-size:.9rem}}.operator-login-btn:focus{outline:none!important;box-shadow:none!important;border-color:#e0e0e0!important}.category-button:focus{outline:none!important;box-shadow:none!important}.register-user-wrapper{max-width:800px;margin:0 auto;border-radius:12px;overflow:hidden}.register-user-container{padding:2rem}.error-message p{color:#dc2626;margin-bottom:0;font-weight:500}.success-message{background:#d1fae5;border:1px solid #a7f3d0;border-radius:8px;padding:1rem;margin-bottom:1.5rem;text-align:center}.success-message p{color:#065f46;margin-bottom:.5rem;font-weight:500}.redirect-message{font-size:.9rem;color:#059669!important;margin-top:.5rem}.form-container{border-radius:12px;overflow:hidden;padding:2rem}.register-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-weight:600;color:#213857;font-size:14px;letter-spacing:.01em}.password-input-container{position:relative;display:flex;align-items:center}.password-input{padding-right:116px!important}.password-toggle-btn{position:absolute;right:8px;background:none;border:none;color:#718096;cursor:pointer;padding:8px;border-radius:4px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;z-index:1}.password-toggle-btn:hover:not(:disabled){color:#66a0a4;background:#66a0a41a}.password-toggle-btn:disabled{opacity:.4;cursor:not-allowed}.password-toggle-btn:nth-of-type(1){right:80px}.password-toggle-btn:nth-of-type(2){right:44px}.password-toggle-btn:nth-of-type(3){right:8px}.form-input{padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;transition:all .2s ease;background:#fff;color:#4a5568}.form-input:focus{outline:none;border-color:#66a0a4;box-shadow:0 0 0 3px #66a0a41a}.form-input:disabled{background:#f7fafc;color:#a0aec0;cursor:not-allowed}.form-input::placeholder{color:#a0aec0}.form-help{font-size:12px;color:#718096;margin-top:.25rem}.email-display{padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;background:#f8fafc;color:#4a5568;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-weight:500;min-height:1.25rem;display:flex;align-items:center}.email-preview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem;display:flex;flex-direction:column;gap:.5rem}.generated-email{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;color:#2d3748;background:#fff;padding:.75rem;border-radius:6px;border:1px solid #cbd5e0;font-weight:500}.submit-button{background:linear-gradient(135deg,#66a0a4,#213857);color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1rem}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #66a0a44d}.submit-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.loading-spinner{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.register-user-container{padding:1rem}.form-container{padding:1.5rem}.welcome-title{font-size:1.75rem}.welcome-subtitle{font-size:1rem}.form-input{padding:.75rem;font-size:16px}.submit-button{padding:.875rem 1.5rem;font-size:15px}}.form-input:focus-visible,.submit-button:focus-visible{outline:2px solid #66a0a4;outline-offset:2px}@media (prefers-contrast: high){.form-input{border-color:#000}.submit-button{background:#000}}.users-wrapper{max-width:1400px;margin:0 auto;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 24px #00000014}.users-container{padding:2rem}.welcome-section{text-align:center;margin-bottom:2rem}.welcome-icon{font-size:3rem;margin-bottom:1rem}.welcome-title{font-size:2rem;font-weight:700;color:#213857;margin-bottom:.5rem}.welcome-subtitle{font-size:1.1rem;color:#718096;margin-bottom:0}.error-message{background:#fee2e2;border:1px solid #fecaca;border-radius:8px;padding:1rem;margin-bottom:1.5rem;text-align:center}.error-message p{color:#dc2626;margin-bottom:.5rem;font-weight:500}.retry-button{background:#dc2626;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-weight:500;transition:background-color .2s}.retry-button:hover{background:#b91c1c}.users-table-container{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 12px #0000000f}.users-table{width:100%;border-collapse:collapse;font-size:14px}.users-table thead{background:linear-gradient(135deg,#66a0a4,#213857);color:#fff}.users-table th{padding:1rem;text-align:left;font-weight:600;font-size:13px;letter-spacing:.5px;text-transform:uppercase}.users-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background-color .2s}.users-table tbody tr:hover{background:#f8fafc}.users-table td{padding:1rem;vertical-align:middle}.col-name{width:25%}.col-email{width:35%}.col-role,.col-status{width:20%}.user-name{font-weight:600;color:#213857;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-email{color:#4a5568;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.role-admin{background:#dfa7a0!important;color:#fff!important;border:none!important;font-weight:700!important;text-shadow:0 1px 2px rgba(0,0,0,.3)!important}.role-consultor{background:#659fa5!important;color:#fff!important;border:none!important;font-weight:700!important;text-shadow:0 1px 2px rgba(0,0,0,.3)!important}.toggle-switch{position:relative;display:inline-block;width:90px;height:36px;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-switch.disabled{opacity:.5;cursor:not-allowed}.toggle-switch input{opacity:0;width:0;height:0;position:absolute}.toggle-slider{position:absolute;inset:0;background:linear-gradient(135deg,#dc3545,#c82333);border-radius:18px;transition:all .3s ease;display:flex;align-items:center;padding:3px}.toggle-slider:before{content:"";position:absolute;height:30px;width:30px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:all .3s ease;box-shadow:0 2px 4px #0003}.toggle-switch input:checked+.toggle-slider{background:linear-gradient(135deg,#28a745,#20c997)}.toggle-label{color:#fff;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;position:absolute;width:100%;text-align:center;z-index:1;text-shadow:0 1px 2px rgba(0,0,0,.3)}.loading-message,.empty-message{text-align:center;padding:3rem;color:#718096;font-size:1.1rem}.loading-message{background:#f8fafc}.empty-message{background:#fff;border:2px dashed #e2e8f0;border-radius:12px}@media (max-width: 768px){.users-container{padding:1rem}.users-table{font-size:12px}.users-table th,.users-table td{padding:.75rem .5rem}.col-name,.col-email{max-width:150px}.toggle-switch{width:70px;height:30px}.toggle-slider:before{height:24px;width:24px;left:3px;bottom:3px}.toggle-label{font-size:9px}}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #ecf0f1}.modal-header h2{margin:0;color:#2c3e50;font-size:1.5rem;font-weight:600}.modal-close{background:none;border:none;font-size:1.5rem;color:#7f8c8d;cursor:pointer;padding:.5rem;border-radius:50%;transition:all .2s;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem}.modal-close:hover{background:#f8f9fa;color:#2c3e50}.bank-info-form{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#2c3e50;font-size:.95rem}.form-group input{width:100%;padding:.75rem 1rem;border:2px solid #ecf0f1;border-radius:8px;font-size:1rem;transition:all .2s;background:#fff}.form-group input[name=iban]{font-family:Courier New,Monaco,Menlo,Ubuntu Mono,monospace;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.form-group input:focus{outline:none;border-color:#dfa7a0;box-shadow:0 0 0 3px #dfa7a01a}.form-group input:disabled{background:#f8f9fa;color:#7f8c8d;cursor:not-allowed}.form-help{display:block;margin-top:.25rem;font-size:.85rem;color:#7f8c8d;font-style:italic}.form-error{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:linear-gradient(135deg,#ffebee,#ffcdd2);border:1px solid #f44336;border-radius:8px;color:#d32f2f;font-size:.9rem;margin-bottom:1rem}.error-icon{font-size:1.2rem}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1rem;border-top:1px solid #ecf0f1}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem;min-width:120px;justify-content:center}.btn-primary{background:linear-gradient(135deg,#28a745,#20c997);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #28a7454d}.btn-primary:disabled{opacity:.7;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{background:#f8f9fa;color:#6c757d;border:1px solid #dee2e6}.btn-secondary:hover:not(:disabled){background:#e9ecef;color:#495057}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.loading-spinner{width:1rem;height:1rem;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.modal-content{margin:.5rem;max-height:95vh}.modal-header,.bank-info-form{padding:1rem}.form-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.user-details-container{padding:2rem;max-width:1200px;margin:0 auto}.user-details-header{margin-bottom:2rem}.user-details-header h1{font-size:2rem;color:#2c3e50;margin-bottom:.5rem}.user-details-subtitle{color:#7f8c8d;font-size:1rem}.user-details-content{display:flex;flex-direction:column;gap:1.5rem}.user-details-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.card-header{background:linear-gradient(135deg,#dfa7a0,#659fa5);padding:1.25rem 1.5rem}.card-header h2{color:#fff;font-size:1.25rem;margin:0;font-weight:600}.card-body{padding:1.5rem}.info-row{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid #ecf0f1}.info-row:last-child{border-bottom:none}.info-label{display:flex;align-items:center;gap:.75rem;font-weight:500;color:#2c3e50;font-size:1rem}.info-icon{font-size:1.5rem}.info-value{color:#34495e;font-size:1rem;text-align:right}.info-value-mono{font-family:Courier New,Monaco,Menlo,Ubuntu Mono,monospace;font-size:1rem;color:#2c3e50;font-weight:500;letter-spacing:.5px}.role-badge{display:inline-block;padding:.4rem 1rem;border-radius:20px;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.role-badge.admin{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff}.role-badge.consultor{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff}.contract-status{display:inline-flex;align-items:center;padding:.4rem 1rem;border-radius:20px;font-weight:600;font-size:.9rem}.contract-status.signed{background:linear-gradient(135deg,#2ecc71,#27ae60);color:#fff}.contract-status.not-signed{background:linear-gradient(135deg,#95a5a6,#7f8c8d);color:#fff}.security-section{display:flex;justify-content:space-between;align-items:center;padding:1rem 0}.security-info{display:flex;align-items:center;gap:1rem;flex:1}.security-info h3{margin:0 0 .25rem;font-size:1rem;color:#2c3e50;font-weight:600}.security-info p{margin:0;font-size:.9rem;color:#7f8c8d}.change-password-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,#dfa7a0,#659fa5);color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.change-password-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #659fa54d}.success-message{background:linear-gradient(135deg,#d4edda,#c3e6cb);border:1px solid #28a745;border-radius:8px;padding:1rem 1.5rem;margin-bottom:1.5rem;color:#155724;font-weight:600;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.user-details-note{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:1rem 1.5rem;margin-top:1rem}.user-details-note p{margin:0;color:#856404;font-size:.95rem;line-height:1.5}.user-details-note strong{color:#856404}.loading-message,.error-message,.no-data-message{display:flex;align-items:center;gap:.75rem;padding:1.5rem;text-align:center;justify-content:center;font-size:1rem;color:#7f8c8d}.loading-message{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border:1px solid #2196f3;border-radius:8px;color:#1976d2}.error-message{background:linear-gradient(135deg,#ffebee,#ffcdd2);border:1px solid #f44336;border-radius:8px;color:#d32f2f}.no-data-message{background:linear-gradient(135deg,#f3e5f5,#e1bee7);border:1px solid #9c27b0;border-radius:8px;color:#7b1fa2}.loading-icon,.error-icon,.no-data-icon{font-size:1.5rem}.no-data-section{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:2rem}.add-bank-info-btn{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#dfa7a0,#659fa5);color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none}.add-bank-info-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #659fa54d}.btn-icon{font-size:1.2rem}@media (max-width: 768px){.user-details-container{padding:1rem}.user-details-header h1{font-size:1.5rem}.info-row{flex-direction:column;align-items:flex-start;gap:.5rem}.info-value{text-align:left;width:100%}.card-header,.card-body{padding:1rem}.role-badge,.contract-status{font-size:.85rem;padding:.35rem .85rem}.security-section{flex-direction:column;align-items:flex-start;gap:1rem}.change-password-btn{width:100%}.add-bank-info-btn{width:100%;justify-content:center}}
