/*! tailwindcss v4.1.11 | 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;--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}:-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{.visible{visibility:visible}.fixed{position:fixed}.static{position:static}.order-1{order:1}.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}}.flex{display:flex}.hidden{display:none}.inline{display:inline}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.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,visibility,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{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#213857;--brand-navy:#213857;--brand-teal:#66a0a4;--brand-sand:#dda8a2;--surface-0:#fff;--surface-1:#f8f9fa;--surface-2:#eef2f5;--border-subtle:#e5e5e7;--text-muted:#6e6e73;--state-error-bg:#fdecec;--state-error-border:#f4b4b9;--state-error-text:#8b1e2d;--state-empty-text:#5c6a7a;--state-empty-border:#d9e1ea;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--radius-1:8px;--radius-2:12px;--radius-3:16px;--shadow-1:0 8px 18px #2138571f;--shadow-2:0 14px 28px #2138572e;background-color:#fff}*{box-sizing:border-box}body{background:var(--surface-0);min-width:320px;min-height:100vh;color:var(--brand-navy);margin:0}a{color:inherit;text-decoration:none}button{font-family:inherit}@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%;padding:0 2rem}.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,.header .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}.login-email-group{display:flex;flex-direction:column;align-items:stretch;gap:.5rem}.login-email-input{flex:1;min-width:0;width:100%}.login-email-domain{padding:1rem 1.1rem;border:2px solid var(--border-subtle);border-radius:12px;font-size:.95rem;background:#f8fafc;color:#4a5568;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-weight:500;white-space:nowrap;width:100%}.login-page .password-input{padding-right:3.5rem}.login-page .password-toggle-btn{right:8px;width:36px;height:36px;padding:0}.login-actions{display:flex;justify-content:center;margin-top:1rem;width:100%}.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 var(--border-subtle);border-radius:12px;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;background:var(--surface-0);color:var(--brand-navy)}.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:var(--brand-teal);background:var(--surface-0);box-shadow:0 0 0 3px #66a0a42e}.form-input::placeholder{color:#9aa3ad}.password-input-container{position:relative;display:flex;align-items:center}.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;width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.6rem}.login-btn:hover:not(:disabled){background:#1a2d47;transform:translateY(-1px);box-shadow:0 8px 25px #2138574d}.login-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #66a0a440,0 8px 25px #21385740}.login-btn:disabled{background:#999;cursor:not-allowed;transform:none}.login-btn.loading{position:relative}@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:0}.dashboard-main{min-height:calc(100vh - 80px);padding:4rem 0}.dashboard-main--flush{padding-top:0}.dashboard-content{max-width:1000px;margin:0 auto;animation:pageEnter .6s ease-out}.dashboard-content--flush{padding:0}.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:var(--brand-navy);font-size:.9rem}.form-field input,.form-field select,.form-field textarea{padding:.75rem 1rem;border:2px solid var(--border-subtle);border-radius:12px;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;background:var(--surface-0);color:var(--brand-navy)}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--brand-teal);background:var(--surface-0);box-shadow:0 0 0 3px #66a0a42e}.reservation-modal .form-field input:not(:disabled),.reservation-modal .form-field select:not(:disabled),.reservation-modal .form-field textarea:not(:disabled){background:var(--surface-0);border-color:var(--border-subtle)}.reservation-modal .form-field input:disabled,.reservation-modal .form-field select:disabled,.reservation-modal .form-field textarea:disabled{background:var(--surface-2);color:var(--text-muted);border-color:var(--border-subtle);cursor:not-allowed}.reservation-modal .form-field input:not(:disabled):hover,.reservation-modal .form-field select:not(:disabled):hover,.reservation-modal .form-field textarea:not(:disabled):hover{border-color:var(--brand-teal);box-shadow:0 0 0 2px #66a0a41f}.form-field input::placeholder,.form-field textarea::placeholder{color:#9aa3ad}.form-field input[type=date]{padding:.75rem 1rem;border:2px solid var(--border-subtle);border-radius:12px;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;background:var(--surface-0);color:var(--brand-navy)}.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;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: 1024px){.reservations-table .data-insercao-col,.reservations-table .consultor-col,.reservations-table .destino-col,.reservations-table .data-limite-col,.reservations-table .valor-col,.reservations-table .comissao-col,.reservations-table .status-col{display:none!important}.reservations-table table{min-width:auto!important;width:100%}.reservations-table .cliente-col{width:45%!important}.reservations-table .datas-col{width:55%!important}.reservations-table th,.reservations-table td{padding:.75rem .5rem}.reservations-actions{margin-top:1rem}}@media (max-width: 768px){.reservations-header{flex-direction:column;gap:1rem;align-items:flex-start}.reservations-list{padding:1rem .75rem}.reservations-table{margin:0;padding:0}.reservations-actions{margin-top:1.5rem}.dashboard-page:has(.reservations-list) .dashboard-content{padding:1rem}.reservations-table .cliente-col{width:45%!important;font-size:.875rem}.reservations-table .datas-col{width:55%!important;font-size:.8rem}.reservations-table th,.reservations-table td{padding:.5rem;font-size:.875rem}.reservations-table .cliente-col{word-break:break-word;white-space:normal;line-height:1.4}.reservations-table table{margin:0;width:100%}}.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: 1024px){.documents-table .doc-date-header,.documents-table .doc-date-cell{display:none!important}.documents-table table{min-width:auto!important;width:100%}.documents-table th,.documents-table td{padding:.75rem .5rem}.documents-table th:nth-child(1),.documents-table td:nth-child(1){width:auto;max-width:none}.documents-table th:nth-child(3),.documents-table td:nth-child(3){width:60px;min-width:60px}.dashboard-page:has(.documents-content) .dashboard-content{padding:1.5rem}}@media (max-width: 768px){.documents-card{padding:1.25rem;margin:0 1rem}.documents-table{margin:0 -1rem}.dashboard-page:has(.documents-content) .dashboard-content{padding:1rem}.documents-content{width:100%;overflow-x:hidden}.documents-accordion,.category-section{width:100%}.documents-table{width:100%;overflow-x:visible}.documents-table table{width:100%;min-width:auto}.documents-table th,.documents-table td{padding:.5rem;font-size:.875rem}.doc-name{font-size:.875rem;word-break:break-word;line-height:1.4}.download-btn{width:32px;height:32px;padding:4px}.download-btn .download-icon{width:16px;height:16px}}.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}.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:0 auto 2rem}.price-calculator-sections{display:grid;gap:24px}.price-calculator-section{position:relative;padding:28px 32px;border-radius:16px;background:linear-gradient(135deg,#21385714,#66a0a414);border:1px solid rgba(33,56,87,.08);overflow:hidden}.price-calculator-section--compact{padding-bottom:18px}.price-calculator-section--compact .form-note{color:#2c3e50!important;text-align:left!important}.form-note--accent{color:#2c3e50!important;text-align:left!important;font-size:.95rem!important;font-weight:600!important;margin-left:0;padding-left:0}.price-calculator-section:after{content:"";position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(102,160,164,.22),transparent 70%);pointer-events:none}.price-calculator-section>*{position:relative;z-index:1}.price-calculator-section-title{font-size:1.15rem;font-weight:700;color:#2c3e50;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:3px solid #659fa5;text-transform:uppercase;letter-spacing:1px}.dashboard-page:has(.register-user-container){min-height:auto;padding-bottom:2rem}.dashboard-page:has(.register-user-container) .dashboard-content{padding:2rem;background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000014;margin:0 auto 2rem}.dashboard-page:has(.operators-management-container){min-height:auto;padding-bottom:2rem}.dashboard-page:has(.operators-management-container) .dashboard-content{padding:2rem;background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000014;margin:0 auto 2rem}.dashboard-page:has(.users-container){min-height:auto;padding-bottom:2rem}.dashboard-page:has(.users-container) .dashboard-content{padding:2rem;background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000014;margin:0 auto 2rem}.dashboard-page:has(.create-documents-content){min-height:auto;padding-bottom:2rem}.dashboard-page:has(.create-documents-content) .dashboard-content{padding:2rem;background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000014;margin:0 auto 2rem}.dashboard-page:has(.reservations-list){min-height:auto;padding-bottom:2rem}.dashboard-page:has(.reservations-list) .dashboard-content{padding:2rem;background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000014;margin:0 auto 2rem}.price-calculator-header{display:flex;justify-content:flex-start;margin-bottom:0;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{padding:1rem}.price-calculator-header{margin-bottom:0}.price-calculator-section{padding:22px 20px}}@media (max-width: 768px){.dashboard-page:has(.register-user-container) .dashboard-content{padding:1rem}}@media (max-width: 768px){.dashboard-page:has(.operators-management-container) .dashboard-content{padding:1rem}}@media (max-width: 768px){.dashboard-page:has(.users-container) .dashboard-content{padding:1rem}}@media (max-width: 768px){.dashboard-page:has(.create-documents-content) .dashboard-content{padding:1rem}}@media (max-width: 768px){.dashboard-page:has(.reservations-list) .dashboard-content{padding:1rem}}.dashboard-page:has(.operators-content) .dashboard-content{padding:2rem;background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000014;margin:0 auto 2rem}@media (max-width: 768px){.dashboard-page:has(.operators-content) .dashboard-content{padding:1rem}}@media (max-width: 1024px){.dashboard-page:has(.reservation-details) .reservation-details{padding:1.5rem!important;max-width:100%!important;width:100%!important;box-sizing:border-box}}@media (max-width: 768px){.dashboard-page:has(.reservation-details) .dashboard-content{padding:1.5rem!important}.dashboard-page:has(.reservation-details) .reservation-details{padding:0!important;max-width:100%!important;width:100%!important;box-sizing:border-box;margin:0 auto!important;min-width:0}.dashboard-page:has(.reservation-details) .main-section{overflow-x:hidden!important;word-wrap:break-word!important}.dashboard-page:has(.reservation-details) .main-section>div[style*="display: flex"][style*="justify-content: space-between"]{flex-direction:column!important;gap:1rem!important;align-items:stretch!important}.dashboard-page:has(.reservation-details) .main-section>div[style*="display: flex"][style*="justify-content: space-between"]>div{width:100%!important;flex-direction:column!important;gap:.5rem!important}.dashboard-page:has(.reservation-details) .main-section>div[style*="display: flex"][style*="justify-content: space-between"]>div>button{width:100%!important}}.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}.reservation-dates{font-size:.85rem;line-height:1.2;display:flex;align-items:center;gap:.5rem}.reservation-dates-arrow{color:#666}@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}}:where(.error-message){background:var(--state-error-bg);border:1px solid var(--state-error-border);color:var(--state-error-text);border-radius:12px;padding:1.25rem;text-align:center;box-shadow:0 8px 18px #8b1e2d14}:where(.error-message p){margin:0 0 .75rem;font-weight:600}:where(.retry-button){background:linear-gradient(135deg,var(--brand-navy),var(--brand-teal));color:#fff;border:none;padding:.6rem 1.25rem;border-radius:10px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}:where(.retry-button:hover){transform:translateY(-1px);box-shadow:0 8px 18px #21385733}:where(.retry-button:disabled){opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}:where(.empty-message),:where(.loading-message){text-align:center;padding:2.5rem;color:var(--state-empty-text);background:var(--surface-1);border-radius:14px;border:1px dashed var(--state-empty-border)}@media (max-width: 768px){:where(.error-message),:where(.empty-message),:where(.loading-message){padding:1.5rem;font-size:.95rem}:where(.retry-button){width:100%;max-width:320px}}.ui-spinner{display:inline-block;border-radius:999px;border:2px solid rgba(33,56,87,.18);border-top-color:var(--brand-teal);animation:uiSpin .9s linear infinite}.ui-spinner--xs{width:14px;height:14px;border-width:2px}.ui-spinner--sm{width:18px;height:18px;border-width:2px}.ui-spinner--md{width:28px;height:28px;border-width:3px}.ui-spinner--lg{width:40px;height:40px;border-width:3px}@keyframes uiSpin{to{transform:rotate(360deg)}}.ui-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem}.ui-loading--block{padding:2rem}.ui-loading--inline{flex-direction:row;padding:0;gap:.6rem}.ui-loading__message{color:var(--text-muted);font-size:.95rem;font-weight:500;text-align:center}.ui-loading--inline .ui-loading__message{font-size:.9rem;text-align:left}.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}.dashboard-page .dashboard-content{width:100%;max-width:100%;margin:0;box-sizing:border-box;min-width:0}}.mobile-top-menu{position:fixed;top:60px;left:0;right:0;min-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:60px;padding:0 16px;align-items:center;justify-content:flex-start;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:12px;margin-bottom:10px;box-shadow:0 12px 30px #2138572e;animation:slideIn .3s ease-out;background:var(--surface-0);border:1px solid var(--border-subtle)}.toast.success{border-left:4px solid #2e9b62}.toast.error{border-left:4px solid #d84c5f}.toast.info{border-left:4px solid var(--brand-teal)}.toast-icon{margin-right:12px;font-size:20px}.toast-message{flex:1;font-size:14px;color:var(--brand-navy)}.toast-close{background:none;border:none;font-size:20px;color:#6c7a89;cursor:pointer;padding:0 4px}.toast-close:hover{color:var(--brand-navy)}@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}}@media (max-width: 640px){.toast-container{inset:auto 12px 16px}.toast{min-width:auto;max-width:none;width:100%}}.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}}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:none;border-radius:var(--radius-2);font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease;line-height:1}.ui-btn__icon{display:inline-flex;align-items:center;justify-content:center;font-size:1em}.ui-btn__label{display:inline-flex;align-items:center}.ui-btn--sm{padding:.45rem .9rem;font-size:.85rem}.ui-btn--md{padding:.65rem 1.2rem;font-size:.95rem}.ui-btn--lg{padding:.85rem 1.6rem;font-size:1.05rem}.ui-btn--primary{background:linear-gradient(135deg,var(--brand-navy),var(--brand-teal));color:#fff;box-shadow:var(--shadow-1)}.ui-btn--secondary{background:var(--surface-1);color:var(--brand-navy);border:1px solid var(--border-subtle)}.ui-btn--ghost{background:transparent;color:var(--brand-navy);border:1px solid transparent}.ui-btn--danger{background:linear-gradient(135deg,#c4384a,#e05a6c);color:#fff}.ui-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-2)}.ui-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}@media (max-width: 640px){.ui-btn--lg{width:100%}}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4);width:100%}.page-header__text{min-width:0;max-width:100%}.page-header__title{font-size:1.8rem;font-weight:700;color:var(--brand-navy);margin:0;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2;overflow:hidden}.page-header__subtitle{margin:var(--space-2) 0 0;color:var(--text-muted);font-size:1rem;overflow-wrap:anywhere}.page-header__title--gradient{background:linear-gradient(135deg,#213857,#66a0a4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent}.page-header__actions{display:flex;gap:var(--space-2);flex-wrap:wrap;min-width:0;max-width:100%}@media (max-width: 768px){.page-header{flex-direction:column;align-items:flex-start}.page-header__actions{width:100%}.page-header__actions>*{width:100%}}.feedback-state{display:flex;gap:var(--space-4);align-items:center;padding:var(--space-5);border-radius:var(--radius-2);background:var(--surface-1);border:1px dashed var(--state-empty-border);color:var(--state-empty-text);text-align:left}.feedback-state__icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--brand-teal)}.feedback-state__svg{width:24px;height:24px}.feedback-state__spinner.ui-spinner{width:22px;height:22px}.feedback-state__title{margin:0 0 var(--space-2);font-size:1.1rem;color:var(--brand-navy)}.feedback-state__description{margin:0 0 var(--space-3);color:var(--text-muted)}.feedback-state--error{background:var(--state-error-bg);border:1px solid var(--state-error-border);color:var(--state-error-text)}.feedback-state--error .feedback-state__title,.feedback-state--error .feedback-state__icon{color:var(--state-error-text)}@media (max-width: 640px){.feedback-state{flex-direction:column;text-align:center}}.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}}.modal-overlay{position:fixed;inset:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:16px;box-shadow:0 18px 50px #0f172a33;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;animation:modalSlideIn .3s ease-out;border:1px solid rgba(33,56,87,.08);position:relative}.modal-content:after{content:"";position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(102,160,164,.2),transparent 70%);pointer-events:none}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid rgba(33,56,87,.08);background:linear-gradient(135deg,#2138570f,#66a0a40f);position:relative;z-index:1}.change-password-modal-header{margin-bottom:0}.modal-header h2{margin:0;color:var(--brand-navy);font-size:1.4rem;font-weight:700}.change-password-form{padding:1.5rem;position:relative;z-index:1}.password-input-wrapper input{width:100%;padding:.75rem 3rem .75rem 1rem;border:2px solid var(--border-subtle);border-radius:10px;font-size:.95rem;transition:border-color .2s ease,box-shadow .2s ease;background:var(--surface-0);color:var(--brand-navy)}.password-toggle{position:absolute;right:.75rem;background:none;border:none;cursor:pointer;font-size:1rem;padding:.25rem;display:flex;align-items:center;justify-content:center;opacity:.6;transition:opacity .2s;color:var(--brand-navy)}.password-requirements{background:#2138570a;border-left:4px solid var(--brand-teal);padding:1rem;border-radius:4px;margin-top:1.5rem}.password-requirements p{margin:0 0 .75rem;color:var(--brand-navy);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}.form-error{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#f43f5e14;border:1px solid rgba(244,63,94,.3);border-radius:8px;color:#b91c1c;font-size:.9rem;margin-bottom:1rem}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1rem;border-top:1px solid rgba(33,56,87,.08)}.btn-primary,.btn-secondary{padding:.4rem .9rem;border:none;border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem;min-width:96px;justify-content:center}.btn-primary{background:linear-gradient(135deg,#213857,#66a0a4);color:#fff;box-shadow:var(--shadow-1)}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-2)}.btn-secondary{background:var(--surface-1);color:var(--brand-navy);border:1px solid var(--border-subtle)}.btn-secondary:hover:not(:disabled){background:#21385714;color:var(--brand-navy)}.btn-secondary.register-user-btn{background:var(--surface-1);color:var(--brand-navy);border:1px solid var(--border-subtle);box-shadow:none}.btn-secondary.register-user-btn:hover:not(:disabled){background:#21385714;color:var(--brand-navy)}@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}@media (max-width: 768px){.side-menu{display:none}}.delete-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;cursor:pointer;margin:0;box-sizing:border-box}.delete-modal-overlay.deleting{cursor:not-allowed;background:#0009}.delete-modal{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;max-width:480px;width:100%;max-height:90vh;overflow-y:auto;animation:modalSlideIn .3s ease-out;position:relative;margin:auto}.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}.delete-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #ecf0f1;position:relative;z-index:2}.delete-modal-header h3{margin:0;font-size:1.5rem;font-weight:600;color:#2c3e50}.delete-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}.delete-modal-close:hover:not(:disabled){background:#f8f9fa;color:#2c3e50}.delete-modal-close:disabled{opacity:.5;cursor:not-allowed}.delete-modal-body{padding:1.5rem;position:relative;z-index:2}.delete-modal-message{font-size:1rem;color:#4a5568;line-height:1.5}.delete-modal-article{background:#66a0a41f;border:1px solid rgba(102,160,164,.25);border-radius:8px;padding:12px 14px;margin-bottom:1rem;font-size:.95rem;color:#213857;word-break:break-word}.delete-modal-warning{font-size:.9rem;color:#dc2626;margin:0}.delete-modal-footer{display:flex;gap:1rem;padding:1rem 1.5rem 1.5rem;justify-content:flex-end;border-top:1px solid #ecf0f1;position:relative;z-index:2}.delete-modal-cancel,.delete-modal-confirm{padding:.75rem 1.5rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;border:none;min-width:120px;display:flex;align-items:center;justify-content:center;gap:8px}.delete-modal-cancel{background:#f8f9fa;color:#6c757d;border:1px solid #dee2e6}.delete-modal-cancel:hover:not(:disabled){background:#e9ecef;color:#495057}.delete-modal-confirm{background:linear-gradient(135deg,#c4384a,#e05a6c);color:#fff}.delete-modal-confirm:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #c4384a4d}.delete-modal-cancel:disabled,.delete-modal-confirm:disabled{opacity:.7;cursor:not-allowed;transform:none;box-shadow:none}.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{display:inline-flex;align-items:center;justify-content:center;border:none;background:#f8f9fa;color:#c0392b;border-radius:8px;padding:6px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.article-delete-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 10px #c0392b26}.article-delete-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}@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{position:relative;flex-direction:column;align-items:flex-start;padding-right:44px}.article-header-actions{position:absolute;top:0;right:0}.article-meta{padding-right:8px}.article-title{font-size:18px}.article-content{flex-direction:column;gap:16px}.article-image{width:100%;min-width:auto}.article-image img{height:200px}}.clock-display{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;position:relative;z-index:1;flex-shrink:0}.clock-display__date{font-size:.8rem;font-weight:500;color:#2b475f;text-transform:capitalize;letter-spacing:.01em;opacity:.8}.clock-display__time{display:flex;align-items:baseline;gap:.1rem}.clock-display__segment{font-size:1.9rem;font-weight:700;background:linear-gradient(135deg,#213857,#66a0a4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-variant-numeric:tabular-nums;line-height:1;min-width:2ch;text-align:center}.clock-display__segment--seconds{font-size:1.2rem;font-weight:600;opacity:.65}.clock-display__sep{font-size:1.6rem;font-weight:700;background:linear-gradient(135deg,#213857,#66a0a4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin-bottom:.15rem;opacity:.5}@media (max-width: 600px){.clock-display{display:none}}.add-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;cursor:pointer;margin:0;box-sizing:border-box}.add-modal-overlay.submitting{cursor:not-allowed;background:#0009}.add-modal{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;animation:modalSlideIn .3s ease-out;position:relative;margin:auto;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}.add-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #ecf0f1;background:linear-gradient(135deg,#2138570f,#66a0a40f);position:relative;z-index:2}.add-modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#2c3e50}.add-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}.add-modal-close:hover:not(:disabled){background:#f8f9fa;color:#2c3e50}.add-modal-close:disabled{opacity:.5;cursor:not-allowed}.add-modal-form{position:relative;z-index:2}.add-modal-body{padding:1.5rem}.add-modal-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}.add-modal-info{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:12px;padding:12px;margin-bottom:20px;color:var(--brand-navy);font-size:14px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--brand-navy);font-size:.95rem}.form-group input,.form-group textarea{width:100%;padding:.75rem 1rem;border:2px solid var(--border-subtle);border-radius:12px;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box;color:var(--brand-navy);background:var(--surface-0)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--brand-teal);box-shadow:0 0 0 3px #66a0a42e}.form-group input:disabled,.form-group textarea:disabled{background:var(--surface-2);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 var(--state-empty-border);border-radius:12px;padding:0;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:var(--brand-teal);background:var(--surface-1)}.image-placeholder{width:100%;min-height:120px;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;color:#6b7280;font-size:.95rem}.image-preview-container{position:relative;display:inline-block;max-width:100%;padding:12px}.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:1rem;padding:1rem 1.5rem 1.5rem;justify-content:flex-end;border-top:1px solid #ecf0f1;position:relative;z-index:2}.add-modal-cancel,.add-modal-submit{padding:.75rem 1.5rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;border:none;min-width:120px;display:flex;align-items:center;justify-content:center;gap:8px}.add-modal-cancel{background:#f8f9fa;color:#6c757d;border:1px solid #dee2e6}.add-modal-cancel:hover:not(:disabled){background:#e9ecef;color:#495057}.add-modal-submit{background:linear-gradient(135deg,var(--brand-navy),var(--brand-teal));color:#fff}.add-modal-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #21385740}.add-modal-submit:disabled{opacity:.7;cursor:not-allowed;transform:none;box-shadow:none}.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}.dashboard-hero{position:relative;padding:28px 32px;margin-bottom:32px;border-radius:16px;background:linear-gradient(135deg,#21385714,#66a0a414);border:1px solid rgba(33,56,87,.08);overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:1rem}.dashboard-hero:after{content:"";position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(102,160,164,.25),transparent 70%);pointer-events:none}.dashboard-hero .page-header{margin-bottom:0;position:relative;z-index:1}.dashboard-hero__right{display:flex;flex-direction:column;align-items:flex-end;gap:.75rem;position:relative;z-index:1;flex-shrink:0}.dashboard-hero__ongoing-wrapper{position:relative}.dashboard-hero__ongoing{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:999px;background:#66a0a41f;border:1px solid rgba(102,160,164,.3);cursor:pointer;transition:background .15s ease,border-color .15s ease}.dashboard-hero__ongoing:hover{background:#66a0a433;border-color:#66a0a480}.dashboard-hero__ongoing-chevron{font-size:.65rem;color:#66a0a4;transition:transform .2s ease;line-height:1}.dashboard-hero__ongoing-chevron--open{transform:rotate(180deg)}.ongoing-popover{position:fixed;z-index:9999;min-width:320px;max-width:400px;background:#fff;border-radius:14px;border:1px solid rgba(33,56,87,.1);box-shadow:0 8px 32px #0000001f,0 2px 8px #0000000f;overflow:hidden;animation:popover-in .15s ease}@keyframes popover-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.ongoing-popover__header{padding:12px 16px 10px;font-size:.78rem;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid rgba(33,56,87,.07)}.ongoing-popover__list{list-style:none;margin:0;padding:6px;display:flex;flex-direction:column;gap:4px;max-height:300px;overflow-y:auto}.ongoing-popover__item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:10px;cursor:pointer;transition:background .15s ease}.ongoing-popover__item:hover{background:#66a0a414}.ongoing-popover__indicator{flex-shrink:0;margin-top:4px;width:8px;height:8px;border-radius:50%;background:#38a169;box-shadow:0 0 0 3px #38a16926}.dashboard-hero__ongoing-dot{width:7px;height:7px;border-radius:50%;background:#66a0a4;flex-shrink:0;animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.dashboard-hero__ongoing-text{font-size:.8rem;font-weight:600;color:#2b6cb0;white-space:nowrap}.dashboard-hero .page-header__title{font-size:1.4rem;font-weight:600;color:#2b475f;min-height:0}.dashboard-hero .page-header__subtitle{font-size:2.1rem;font-weight:700;background:linear-gradient(135deg,#213857,#66a0a4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-top:.2rem}.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}.dashboard-hero{padding:22px 20px}.dashboard-hero .page-header__title{font-size:1.2rem}.dashboard-hero .page-header__subtitle{font-size:1.7rem}.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:grid;grid-template-columns:auto 1fr;gap:24px;align-items:stretch}.gauges-panel{display:flex;flex-direction:column;gap:20px;padding:28px 32px;border-radius:16px;background:linear-gradient(135deg,#21385714,#66a0a414);border:1px solid rgba(33,56,87,.08);position:relative;overflow:hidden}.payment-alerts-panel{display:flex;flex-direction:column;gap:16px;padding:28px 32px;border-radius:16px;background:linear-gradient(135deg,#21385714,#66a0a414);border:1px solid rgba(33,56,87,.08);position:relative;overflow:hidden;min-width:0}.payment-alerts-panel:after{content:"";position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(102,160,164,.25),transparent 70%);pointer-events:none;z-index:0}.payment-alerts-panel>*{position:relative;z-index:1}.payment-alerts-panel__header{display:flex;flex-direction:column;gap:2px;padding-bottom:12px;border-bottom:1px solid rgba(33,56,87,.08)}.payment-alerts-panel__title{font-size:1rem;font-weight:700;color:#213857;margin:0}.payment-alerts-panel__subtitle{font-size:.8rem;color:#6b7280;font-weight:500}.payment-alerts-loading{display:flex;justify-content:center;align-items:center;flex:1;padding:2rem 0}.payment-alerts-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:8px;padding:2rem 0;color:#6b7280}.payment-alerts-empty__icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#66a0a426;color:#66a0a4;font-size:1.1rem;font-weight:700}.payment-alerts-empty p{margin:0;font-size:.9rem;font-weight:500}.payment-alerts-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;overflow-y:auto;max-height:280px}.payment-alert-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:10px;background:#fff9;border:1px solid rgba(33,56,87,.06);cursor:pointer;transition:background .15s ease,transform .15s ease}.payment-alert-item:hover{background:#ffffffe6;transform:translate(2px)}.payment-alert-item__badge{flex-shrink:0;padding:4px 8px;border-radius:6px;font-size:.75rem;font-weight:700;letter-spacing:.02em;text-align:center;min-width:46px}.payment-alert-item__badge--critical{background:#dc26261f;color:#dc2626;border:1px solid rgba(220,38,38,.2)}.payment-alert-item__badge--warning{background:#ea580c1f;color:#ea580c;border:1px solid rgba(234,88,12,.2)}.payment-alert-item__badge--info{background:#66a0a41f;color:#2b6cb0;border:1px solid rgba(102,160,164,.2)}.payment-alert-item__info{display:flex;flex-direction:column;gap:4px;min-width:0}.payment-alert-item__row{display:flex;align-items:baseline;gap:6px;min-width:0}.payment-alert-item__label{font-size:.72rem;font-weight:600;color:#6b7280;white-space:nowrap;flex-shrink:0}.payment-alert-item__label:after{content:":"}.payment-alert-item__value{font-size:.82rem;font-weight:600;color:#213857;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 900px){.revenue-section{grid-template-columns:1fr}}.gauges-panel:after{content:"";position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(102,160,164,.25),transparent 70%);pointer-events:none;z-index:0}.gauges-panel>*{position:relative;z-index:1}.gauges-controls{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.gauges-controls .ui-btn{border-radius:999px;border:1px solid rgba(33,56,87,.1)}.period-labels{display:flex;align-items:center;gap:10px;padding:0 4px;flex-wrap:wrap}.period-label{font-size:.9rem;color:#6b7280;font-weight:600}.period-label--active{color:#213857;background:#66a0a429;padding:6px 12px;border-radius:999px;border:1px solid rgba(33,56,87,.15)}.gauges-container{display:grid;grid-template-columns:1fr 1fr;gap:2rem;width:100%}.articles-section{margin-top:48px;border-radius:16px;padding:28px 32px;background:linear-gradient(135deg,#21385714,#66a0a414);border:1px solid rgba(33,56,87,.08);position:relative;overflow:hidden}.articles-section:after{content:"";position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(102,160,164,.25),transparent 70%);pointer-events:none;z-index:0}.articles-section>*{position:relative;z-index:1}.articles-header{text-align:center;margin-bottom:32px;position:relative}.articles-title-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:12px}.articles-title{font-size:28px;color:#213857;margin:0;font-weight:600;display:flex;align-items:center;gap:8px;grid-column:2;justify-self:center}.articles-section .register-user-btn{padding:.4rem .9rem;border-radius:8px;font-size:.8rem;font-weight:500;line-height:1;gap:.5rem;box-shadow:var(--shadow-1);grid-column:3;justify-self:end}.articles-add-label--mobile{display:none}.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;background:var(--state-error-bg);border:1px solid var(--state-error-border);border-radius:14px}.articles-error p{color:var(--state-error-text);margin-bottom:16px;font-size:16px}.retry-button{background:linear-gradient(135deg,var(--brand-navy),var(--brand-teal));color:#fff;border:none;padding:10px 20px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.articles-empty{text-align:center;padding:48px 20px;color:var(--state-empty-text);background:var(--surface-1);border:1px dashed var(--state-empty-border);border-radius:14px;font-size:16px}.articles-list{display:flex;flex-direction:column;gap:20px}@media (max-width: 768px){.revenue-section{margin-top:32px}.gauges-panel{padding:22px 20px}.gauges-container{grid-template-columns:1fr;gap:1.5rem;max-width:400px}.articles-section{margin-top:32px;padding:22px 20px}.articles-title-row{grid-template-columns:1fr;gap:12px}.articles-title{font-size:24px;grid-column:1;justify-self:center}.articles-section .register-user-btn{grid-column:1;justify-self:center;order:-1}.articles-add-label--desktop{display:none}.articles-add-label--mobile{display:inline}.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}}.modal-overlay.modal-overlay--reservation{align-items:flex-start;padding-top:1.25rem}.modal-content.reservation-modal{max-width:1200px}.reservation-modal{max-height:85vh;display:flex;flex-direction:column;overflow:hidden}.reservation-modal__header{padding:1.25rem 1.5rem}.reservation-modal__header-actions{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap}.reservation-modal .reservation-form{padding:1.25rem 1.5rem 1.5rem;overflow:hidden;display:flex;flex-direction:column;gap:1rem}.reservation-modal .form-content{overflow-y:auto;padding-right:.5rem;padding-bottom:.5rem}.reservation-modal .main-section-title{font-size:1rem;font-weight:700;color:#2c3e50;margin:0 0 1.25rem;padding-bottom:.6rem;border-bottom:3px solid #659fa5;text-transform:uppercase;letter-spacing:1px}.reservation-modal .mini-section{margin-bottom:1.35rem}.reservation-modal .mini-section-title{font-size:.9rem;font-weight:700;color:#659fa5;margin:0 0 .85rem;text-transform:uppercase;letter-spacing:.5px}.reservation-modal .mini-section-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem 1.1rem;padding:1rem 1.1rem;border-radius:14px;background:#ffffffbf;border:1px solid rgba(33,56,87,.08);box-shadow:0 2px 10px #2138570f}.reservation-modal .pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reservation-modal .form-field{display:flex;flex-direction:column;gap:.35rem;min-width:0}.reservation-modal .form-field label{font-size:.875rem;color:#666;font-weight:500}.reservation-modal .form-field input,.reservation-modal .form-field select{width:100%;padding:.75rem .9rem;border:2px solid var(--border-subtle);border-radius:12px;font-size:.95rem;transition:border-color .2s ease,box-shadow .2s ease;background:var(--surface-0);color:var(--brand-navy)}.reservation-modal .form-field input:focus,.reservation-modal .form-field select:focus{outline:none;border-color:var(--brand-teal);box-shadow:0 0 0 3px #66a0a42e}.reservation-modal .form-field input:disabled,.reservation-modal .form-field select:disabled{background:var(--surface-2);color:var(--text-muted);cursor:not-allowed}.reservation-modal .form-field select{cursor:pointer}.reservation-modal .form-field select:disabled{cursor:not-allowed}.reservation-modal .auto-consumo-header{display:flex;align-items:center}.reservation-modal .toggle-label-header{display:inline-flex;align-items:center;gap:.6rem;cursor:pointer;font-size:.85rem;font-weight:600;color:var(--brand-navy);white-space:nowrap}.reservation-modal .toggle-checkbox{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.reservation-modal .toggle-slider-header{position:relative;width:40px;height:22px;background:#2138572e;border-radius:999px;transition:background-color .2s ease;flex:0 0 auto}.reservation-modal .toggle-slider-header:before{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .2s ease;box-shadow:0 2px 8px #21385738}.reservation-modal .toggle-checkbox:checked+.toggle-slider-header{background:var(--brand-teal)}.reservation-modal .toggle-checkbox:checked+.toggle-slider-header:before{transform:translate(18px)}.reservation-modal .toggle-label-header:focus-within .toggle-slider-header{box-shadow:0 0 0 3px #66a0a438}.reservation-modal .commission-section{margin-top:1.25rem}.reservation-modal .commission-display-inline{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:1rem 1.1rem;border-radius:14px;background:#ffffffbf;border:1px solid rgba(33,56,87,.08);box-shadow:0 2px 10px #2138570f}.reservation-modal .commission-description{font-size:.9rem;color:var(--text-muted)}.reservation-modal .commission-value{font-size:1.4rem;font-weight:800;letter-spacing:.01em;padding:.35rem .7rem;border-radius:12px;border:1px solid transparent}.reservation-modal .commission-value.auto-consumo{background:#ef44441f;border-color:#ef44443d;color:#dc2626}.reservation-modal .commission-value.with-commission{background:#22c55e1f;border-color:#22c55e3d;color:#16a34a}.reservation-modal .auto-calculated{background:#3b82f614!important;border-color:#3b82f673!important;color:#2563eb!important;font-weight:700}.reservation-modal .auto-calc-note{color:#2563eb;font-size:.8rem;font-style:italic;margin-top:.25rem;display:block}.reservation-modal .no-spinners::-webkit-outer-spin-button,.reservation-modal .no-spinners::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.reservation-modal .no-spinners[type=number]{-moz-appearance:textfield}@media (max-width: 1024px){.reservation-modal .mini-section-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 768px){.reservation-modal{max-height:92vh}.reservation-modal__header,.reservation-modal .reservation-form{padding:1rem}.reservation-modal .mini-section-grid{grid-template-columns:1fr;padding:.9rem .95rem;gap:.75rem}.reservation-modal .pricing-grid{grid-template-columns:1fr}.reservation-modal .commission-display-inline{flex-direction:column;align-items:flex-start;gap:.6rem}}.reservations-search-input{height:38px;padding:0 .75rem;border:1px solid var(--border-subtle);border-radius:8px;background:var(--surface-1);color:var(--text-1);font-size:.875rem;outline:none;width:220px;transition:border-color .15s,box-shadow .15s}.reservations-search-input::placeholder{color:var(--text-3)}.reservations-search-input:focus{border-color:var(--border-subtle);box-shadow:none}@media (max-width: 640px){.reservations-search-input{width:100%}}.reservations-tabs-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.reservations-tabs{display:flex;gap:.5rem;flex-wrap:wrap}.reservations-legend{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.reservations-legend__item{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:500;color:#4a5568}.reservations-legend__item:before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;flex-shrink:0}.reservations-legend__item--onGoing:before{background:#eab30880;border:1px solid rgba(234,179,8,.7)}.reservations-legend__item--completed:before{background:#22c55e80;border:1px solid rgba(34,197,94,.7)}.reservations-legend__item--cancelled:before{background:#ef444480;border:1px solid rgba(239,68,68,.7)}.reservations-tab{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem 1rem;border-radius:999px;border:1px solid var(--border-subtle, #e2e8f0);background:#fff;color:#4a5568;font-size:.82rem;font-weight:500;cursor:pointer;transition:all .15s}.reservations-tab:hover{border-color:#66a0a4;color:#213857}.reservations-tab__count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 5px;border-radius:999px;font-size:.7rem;font-weight:700;background:#f1f5f9;color:#64748b;transition:all .15s}.reservations-tab--active.reservations-tab--all{background:#213857;border-color:#213857;color:#fff}.reservations-tab--active.reservations-tab--all .reservations-tab__count{background:#fff3;color:#fff}.reservations-tab--active.reservations-tab--onGoing{background:#22c55e1f;border-color:#22c55e66;color:#16a34a}.reservations-tab--active.reservations-tab--onGoing .reservations-tab__count{background:#22c55e33;color:#16a34a}.reservations-tab--active.reservations-tab--completed{background:#3b82f61f;border-color:#3b82f666;color:#2563eb}.reservations-tab--active.reservations-tab--completed .reservations-tab__count{background:#3b82f633;color:#2563eb}.reservations-tab--active.reservations-tab--paid{background:#eab3081f;border-color:#eab30866;color:#a16207}.reservations-tab--active.reservations-tab--paid .reservations-tab__count{background:#eab30833;color:#a16207}.reservations-table-container{background:#fff;border-radius:12px;overflow-x:auto;box-shadow:0 2px 12px #0000000f}.reservations-table-grid{width:100%;border-collapse:collapse;font-size:14px;table-layout:fixed}.reservations-table-container--admin .reservations-table-grid{min-width:1240px}.reservations-table-container--user .reservations-table-grid{min-width:1080px}.reservations-table-grid thead{background:linear-gradient(135deg,#66a0a4,#213857);color:#fff}.reservations-table-grid th{padding:1rem;text-align:left;font-weight:600;font-size:12px;letter-spacing:.5px;text-transform:uppercase;-webkit-user-select:none;user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reservations-table-container--admin .comissao-col,.reservations-table-container--admin .status-col{min-width:120px}.reservations-table-grid th.sortable{cursor:pointer}.reservations-table-grid th.sortable:hover{background:#ffffff14}.reservations-table-grid th.sortable.active{background:#ffffff1f}.reservations-table-grid tbody tr{border-bottom:1px solid #f1f5f9;transition:background-color .2s}.reservations-table-grid tbody tr:hover{background:#f8fafc}.reservations-row{cursor:pointer}.reservations-row--completed{background-color:#22c55e21}.reservations-row--cancelled{background-color:#ef44441a}.reservations-table-grid tbody tr.reservations-row--completed:hover{background-color:#22c55e38}.reservations-table-grid tbody tr.reservations-row--cancelled:hover{background-color:#ef44442e}.reservations-row:focus-visible{outline:2px solid #66a0a4;outline-offset:-2px}.reservations-table-grid td{padding:1rem;vertical-align:middle;color:#4a5568;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.reservations-table-grid td.cliente-col{font-weight:600;color:#213857}.reservations-table-container--admin .data-insercao-col,.reservations-table-container--admin .consultor-col{width:12%}.reservations-table-container--admin .cliente-col{width:15%}.reservations-table-container--admin .destino-col{width:9%}.reservations-table-container--admin .datas-col{width:10%}.reservations-table-container--admin .data-limite-col{width:13%}.reservations-table-container--admin .valor-col{width:11%}.reservations-table-container--admin .comissao-col{width:10%}.reservations-table-container--admin .status-col{width:11%}.reservations-table-container--user .cliente-col{width:24%}.reservations-table-container--user .destino-col{width:14%}.reservations-table-container--user .datas-col{width:12%}.reservations-table-container--user .data-limite-col{width:18%}.reservations-table-container--user .valor-col{width:14%}.reservations-table-container--user .comissao-col{width:10%}.reservations-table-container--user .status-col{width:11%}.reservations-table-grid .reservation-dates{display:inline-flex;align-items:center;gap:.35rem;min-width:0}.reservations-table-grid .reservation-dates-arrow{opacity:.65}.reservations-table-grid th.status-col,.reservations-table-grid td.status-col{text-align:center}.reservations-table-grid .status-wrapper{display:flex;align-items:center;justify-content:center}.reservations-table-grid .status-badge{display:inline-flex;align-items:center;justify-content:center;min-width:80px;height:24px;padding:0 .6rem;border-radius:999px;font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;border:1px solid transparent}.reservations-table-grid .status-badge.completed{background:#3b82f61f;border-color:#3b82f647;color:#2563eb}.reservations-table-grid .status-badge.onGoing{background:#22c55e1f;border-color:#22c55e47;color:#16a34a}.reservations-table-grid .status-badge.cancelled{background:#ef44441f;border-color:#ef444447;color:#dc2626}.reservations-table-grid .status-badge.paid{background:#22c55e1f;border-color:#22c55e47;color:#16a34a}.reservations-table-grid .status-badge.unpaid{background:#ef444414;border-color:#ef444440;color:#b91c1c}.reservations-table-grid .status-badge.na{background:#94a3b81f;border-color:#94a3b84d;color:#64748b}@media (max-width: 1024px){.reservations-table-container .data-insercao-col,.reservations-table-container .consultor-col,.reservations-table-container .destino-col,.reservations-table-container .data-limite-col,.reservations-table-container .valor-col,.reservations-table-container .comissao-col,.reservations-table-container .status-col{display:none}.reservations-table-grid th,.reservations-table-grid td{padding:.75rem .5rem}.reservations-table-container .cliente-col{width:45%}.reservations-table-container .datas-col{width:55%}}@media (max-width: 768px){.reservations-table-grid td.cliente-col{white-space:normal;word-break:break-word;line-height:1.4}}.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,.loading-message{text-align:center;color:var(--state-empty-text);padding:2rem;background-color:var(--surface-1);border-radius:12px;border:1px dashed var(--state-empty-border)}.error-message{background-color:var(--state-error-bg);border:1px solid var(--state-error-border);border-radius:12px;padding:1rem;margin-bottom:1rem;color:var(--state-error-text);text-align:center}.retry-button{margin-top:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,var(--brand-navy),var(--brand-teal));color:#fff;border:none;border-radius:10px;cursor:pointer;font-size:.875rem;transition:transform .2s ease,box-shadow .2s ease}.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:center;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;text-align:center}.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}}.documents-page{width:100%;margin:0;padding:0}.dashboard-page:has(.documents-page) .dashboard-content{background:linear-gradient(135deg,#fff,#fafbfc);padding:2rem;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)}.documents-content{display:flex;flex-direction:column;gap:2rem}.documents-sections{display:flex;flex-direction:column;gap:1.5rem}.documents-section{position:relative;padding:24px 28px;border-radius:16px;background:linear-gradient(135deg,#21385714,#66a0a414);border:1px solid rgba(33,56,87,.08);overflow:hidden}.documents-section:after{content:"";position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(102,160,164,.22),transparent 70%);pointer-events:none}.documents-section>*{position:relative;z-index:1}.documents-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.documents-section-title{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.documents-section .main-section-title{font-size:1.05rem;font-weight:700;color:#2c3e50;margin:0;padding-bottom:.5rem;border-bottom:3px solid #659fa5;text-transform:uppercase;letter-spacing:1px}.documents-section-count{font-size:.8rem;color:#2c3e50;background-color:#66a0a440;padding:.2rem .6rem;border-radius:999px;font-weight:600}.documents-section-toggle{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .9rem;border-radius:999px;border:1px solid rgba(101,159,165,.4);background:#ffffffb3;color:#2c3e50;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,color .2s ease}.documents-section-toggle:hover{border-color:#659fa5cc;background-color:#fffffff2}.documents-section-toggle:focus-visible{outline:2px solid rgba(101,159,165,.6);outline-offset:2px}.documents-section-chevron{transition:transform .2s ease}.documents-section-chevron.is-open{transform:rotate(180deg)}.documents-section-body{display:flex;flex-direction:column;gap:1rem}.mini-section-title{font-size:1rem;font-weight:600;color:#659fa5;margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.5px}.documents-online-list{display:flex;flex-direction:column;gap:.75rem}.documents-online-link{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;background-color:#fff;border:1px solid #e6edf3;border-radius:12px;text-decoration:none;color:#213857;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background-color .2s ease}.documents-online-link:hover{background-color:#f8fafc;border-color:#66a0a4;box-shadow:0 8px 16px #2138571f;transform:translateY(-1px)}.documents-online-label{font-size:.95rem;font-weight:600}.documents-online-icon{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.documents-table{overflow-x:auto}.documents-table-grid{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #21385714}.documents-table-header{padding:.85rem;text-align:left;font-weight:600;color:#213857;background-color:#f2f6f9;border-bottom:2px solid #e2e8f0}.documents-table-download{text-align:center;width:80px}.doc-date-header{width:150px}.documents-table-row{border-bottom:1px solid #edf2f7;transition:background-color .2s ease}.documents-table-row:hover{background-color:#f8fafc}.documents-table-row.is-pdf .doc-name{cursor:pointer}.doc-link{color:inherit;text-decoration:none}.doc-link:hover{text-decoration:underline}.doc-name{padding:.75rem .85rem;color:#213857;font-weight:500}.doc-date{padding:.75rem .85rem;color:#6c7a89;font-size:.9rem}.doc-actions{padding:.75rem;text-align:center}.download-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;color:#6c7a89;text-decoration:none;transition:color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;padding:4px;border:1px solid #cbd5e0;border-radius:8px;background:#fff}.download-btn:hover{color:#213857;border-color:#66a0a4;box-shadow:0 6px 12px #2138571f;transform:translateY(-1px)}.download-icon{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.documents-info .main-section-title{margin-bottom:1rem}.documents-info-list{margin:0;padding-left:1.5rem;color:#5b6470;line-height:1.6}.documents-info-list li+li{margin-top:.5rem}@media (max-width: 768px){.dashboard-page:has(.documents-page) .dashboard-content{padding:1rem}.documents-section{padding:20px}.documents-section-header{align-items:flex-start}.documents-table-grid{min-width:520px}}.create-documents-content{display:flex;flex-direction:column;gap:2rem}.create-documents-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.create-documents-section{position:relative;padding:28px 32px;border-radius:16px;background:linear-gradient(135deg,#21385714,#66a0a414);border:1px solid rgba(33,56,87,.08);display:flex;flex-direction:column;gap:1.5rem;overflow:hidden}.create-documents-section:after{content:"";position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(102,160,164,.22),transparent 70%);pointer-events:none;transition:transform .3s ease,opacity .3s ease}.create-documents-section>*{position:relative;z-index:1}.create-documents-section--btn{text-align:left;cursor:pointer;width:100%;flex-direction:row;align-items:center;justify-content:space-between;gap:1rem;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease}.create-documents-section--btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-2, 0 14px 28px rgba(33, 56, 87, .18));border-color:#66a0a466;background:linear-gradient(135deg,#2138571c,#66a0a421)}.create-documents-section--btn:hover:after{transform:scale(1.15);opacity:1.4}.create-documents-section--btn:focus-visible{outline:none;border-color:var(--brand-teal, #66a0a4);box-shadow:0 0 0 3px #66a0a447}.create-documents-section--btn:active{transform:translateY(0);box-shadow:var(--shadow-1, 0 8px 18px rgba(33, 56, 87, .12))}.create-documents-card-header{display:flex;gap:1rem;align-items:flex-start;flex:1;min-width:0}.create-documents-card-header h3{margin:0 0 .2rem;color:var(--brand-navy);font-size:1.25rem;font-weight:700}.create-documents-card-header p{margin:0 0 .4rem;color:var(--brand-navy);font-size:.9rem;font-weight:600;opacity:.7}.create-documents-card-desc{display:block;color:var(--text-muted);font-size:.875rem;line-height:1.5}.create-documents-card-icon{flex-shrink:0;width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#21385726,#66a0a433);display:flex;align-items:center;justify-content:center;font-size:1.5rem}.create-documents-card-arrow{flex-shrink:0;color:var(--brand-teal, #66a0a4);opacity:.6;transition:opacity .2s ease,transform .2s ease}.create-documents-section--btn:hover .create-documents-card-arrow{opacity:1;transform:translate(3px)}.create-documents-info{background:var(--surface-1, #f8f9fa);border:1px solid var(--border-subtle, #e9ecef);border-radius:12px;padding:1.5rem;color:#495057}.create-documents-info h3{margin:0 0 .75rem;font-size:1.05rem}.create-documents-info ul{margin:0;padding-left:1.5rem;line-height:1.6}.create-documents-cvo-history{background:var(--surface-1, #f8f9fa);border:1px solid var(--border-subtle, #e9ecef);border-radius:12px;padding:1.5rem}.create-documents-cvo-history h3{margin:0 0 1rem;font-size:1.05rem;color:var(--brand-navy)}.create-documents-cvo-empty{margin:0;color:var(--text-muted);font-size:.9rem}.create-documents-cvo-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.create-documents-cvo-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding:.75rem 1rem;border-radius:8px;border:1px solid var(--border-subtle, #e9ecef);background:var(--surface-0, #fff);cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease}.create-documents-cvo-item:hover{border-color:#66a0a480;background:#66a0a40a}.create-documents-cvo-item:focus-visible{outline:none;border-color:var(--brand-teal, #66a0a4);box-shadow:0 0 0 3px #66a0a447}.create-documents-cvo-item-info{display:flex;flex-direction:column;gap:.2rem;min-width:0}.create-documents-cvo-client{font-weight:600;color:var(--brand-navy);font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.create-documents-cvo-meta{font-size:.8rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.create-documents-cvo-arrow{flex-shrink:0;color:var(--brand-teal, #66a0a4);opacity:.5;transition:opacity .15s ease,transform .15s ease}.create-documents-cvo-item:hover .create-documents-cvo-arrow{opacity:1;transform:translate(2px)}@media (max-width: 768px){.create-documents-section,.create-documents-section--btn{padding:1.25rem}}.doc-page-form{display:flex;flex-direction:column;gap:1.25rem}.doc-page-section{position:relative;padding:20px 24px;border-radius:14px;background:linear-gradient(135deg,#21385714,#66a0a414);border:1px solid rgba(33,56,87,.08);overflow:hidden}.doc-page-section:after{content:"";position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(102,160,164,.22),transparent 70%);pointer-events:none}.doc-page-section>*{position:relative;z-index:1}.doc-page-section-title{font-size:1rem;font-weight:700;color:var(--brand-navy, #213857);margin:0 0 1rem;padding-bottom:.6rem;border-bottom:2px solid rgba(102,160,164,.35)}.doc-page-subsection-title{font-size:.8rem;font-weight:700;color:var(--brand-teal, #66a0a4);text-transform:uppercase;letter-spacing:.6px;margin:1.25rem 0 .75rem}.doc-page-subsection-title:first-child{margin-top:0}.doc-page-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.doc-page-grid--single{grid-template-columns:minmax(0,1fr)}.doc-page-field--full{grid-column:1 / -1}.doc-page-field{display:flex;flex-direction:column;gap:.45rem}.doc-page-field label{font-size:.875rem;font-weight:600;color:var(--brand-navy, #213857)}.doc-page-field input,.doc-page-field textarea{width:100%;padding:.7rem .9rem;border:2px solid var(--border-subtle, #e5e5e7);border-radius:10px;font-size:.95rem;background:var(--surface-0, #fff);color:var(--brand-navy, #213857);transition:border-color .18s ease,box-shadow .18s ease;box-sizing:border-box}.doc-page-field textarea{resize:vertical}.doc-page-field input:focus,.doc-page-field textarea:focus{outline:none;border-color:var(--brand-teal, #66a0a4);box-shadow:0 0 0 3px #66a0a42e}.doc-page-field input:disabled,.doc-page-field textarea:disabled{background:var(--surface-2, #eef2f5);color:var(--text-muted, #6e6e73);cursor:not-allowed}.doc-page-segment-list{display:flex;flex-direction:column;gap:1rem}.doc-page-segment{border:1px dashed rgba(33,56,87,.2);border-radius:10px;padding:.85rem 1rem;background:#ffffff8c;display:flex;flex-direction:column;gap:.75rem}.doc-page-segment-header{display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:.9rem;color:var(--brand-navy, #213857)}.doc-page-segment-remove{background:none;border:none;color:#c0392b;font-size:.78rem;cursor:pointer;padding:.15rem .45rem;border-radius:6px;line-height:1;transition:background .15s ease}.doc-page-segment-remove:hover:not(:disabled){background:#c0392b1a}.doc-page-segment-remove:disabled{opacity:.4;cursor:not-allowed}.doc-page-add-btn{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;width:100%;background:none;border:1.5px dashed rgba(102,160,164,.6);color:var(--brand-teal, #66a0a4);font-size:.875rem;font-weight:600;padding:.5rem .9rem;border-radius:8px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.doc-page-add-btn:hover:not(:disabled){background:#66a0a414;border-color:var(--brand-teal, #66a0a4)}.doc-page-add-btn:disabled{opacity:.4;cursor:not-allowed}.doc-page-add-btn--sm{font-size:.8rem;padding:.3rem .75rem;border-width:1.5px;border-color:#66a0a466;border-radius:6px}.doc-page-checkbox{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--brand-navy, #213857);cursor:pointer;-webkit-user-select:none;user-select:none}.doc-page-checkbox input[type=checkbox]{width:15px;height:15px;accent-color:var(--brand-teal, #66a0a4);cursor:pointer}.doc-page-layovers{padding-left:.75rem;border-left:2px solid rgba(102,160,164,.3);display:flex;flex-direction:column;gap:.5rem}.doc-page-layover{background:#66a0a40d;border-radius:8px;padding:.6rem .75rem;display:flex;flex-direction:column;gap:.6rem}.doc-page-layover-header{display:flex;align-items:center;justify-content:space-between}.doc-page-layover-label{font-size:.78rem;font-weight:700;color:var(--brand-teal, #66a0a4);text-transform:uppercase;letter-spacing:.5px}.doc-page-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.doc-page-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}.doc-page-submit{display:flex;justify-content:flex-end;padding-top:.25rem}@media (max-width: 768px){.doc-page-section{padding:1rem}.doc-page-grid,.doc-page-row{grid-template-columns:minmax(0,1fr)}.doc-page-field--full{grid-column:1}.doc-page-submit{justify-content:stretch}.doc-page-submit .ui-btn{width:100%}}.operator-login-btn:focus{outline:none!important;box-shadow:none!important;border-color:#e0e0e0!important}.operators-category-button:focus{outline:none!important;box-shadow:none!important}.operators-container{max-width:100%;margin:0;padding:0}.operators-search{margin-bottom:2rem;display:grid;gap:.75rem}.operators-search-input-wrapper{position:relative;max-width:440px}.operators-search-input{width:100%;padding:.75rem 1rem;border:1px solid #dfe7ef;border-radius:10px;font-size:.95rem;background-color:#fff;transition:border-color .2s ease,box-shadow .2s ease;outline:none;box-shadow:none}.operators-search-input:focus{border-color:#66a0a4;box-shadow:0 0 0 3px #66a0a42e}.operators-search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:#6c757d;font-size:1.1rem}.operators-search-meta{font-size:.875rem;color:#6c757d}.operators-accordion{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.operators-category{position:relative;border:1px solid rgba(33,56,87,.08);border-radius:16px;overflow:hidden;background:linear-gradient(135deg,#21385714,#66a0a414)}.operators-category:after{content:"";position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(102,160,164,.22),transparent 70%);pointer-events:none}.operators-category>*{position:relative;z-index:1}.operator-login-btn{display:flex!important;align-items:center!important;gap:.75rem!important;width:100%!important;padding:.9rem 1.2rem!important;background-color:#fff!important;color:#213857!important;border:1px solid #e6edf3!important;border-radius:12px!important;font-size:.95rem!important;font-weight:600!important;cursor:pointer!important;text-decoration:none!important;box-shadow:0 2px 10px #21385714!important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background-color .2s ease!important}.operator-login-btn:hover{background-color:#f8fafc!important;border-color:#66a0a4!important;box-shadow:0 8px 16px #2138571f!important;transform:translateY(-1px)!important}.operator-login-btn:focus-visible{outline:2px solid #66a0a4;outline-offset:2px}.operator-login-btn>img{height:26px!important;width:auto!important;max-width:140px!important}.operator-login-btn>div{flex:1!important;text-align:left!important}.operator-login-btn>span{color:#6b7280!important;font-size:1rem!important}.operators-category-button{width:100%;padding:1.1rem 1.5rem .9rem;display:flex;justify-content:space-between;align-items:center;background:transparent;border:none;border-bottom:3px solid rgba(101,159,165,.5);cursor:pointer;font-size:1rem;font-weight:700;color:#2c3e50;text-transform:uppercase;letter-spacing:1px;transition:color .2s ease,border-color .2s ease;outline:none}.operators-category-button:hover{color:#213857;border-bottom-color:#659fa5cc}.operators-category-title{display:flex;align-items:center;gap:.6rem}.operators-category-count{font-size:.8rem;color:#2c3e50;background-color:#66a0a440;padding:.2rem .6rem;border-radius:999px;font-weight:600;text-transform:none;letter-spacing:0}.operators-category-chevron{transition:transform .2s ease;color:#2c3e50}.operators-category-chevron.is-open{transform:rotate(180deg)}.operators-category-content{padding:1.2rem 1.5rem 1.6rem;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;background:transparent}.operator-card{position:relative;width:100%}.operator-card .operator-login-btn{position:relative;overflow:hidden;z-index:1}.operator-card:after{content:attr(data-name);position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-start;color:#213857;font-size:.9rem;font-weight:700;letter-spacing:.3px;padding:0 2.4rem 0 1rem;opacity:0;transform:translateY(6px);transition:opacity .2s ease,transform .2s ease;pointer-events:none;z-index:2}.operator-card:hover:after,.operator-card:focus-within:after{opacity:1;transform:translateY(0)}.operator-card:hover .operator-login-btn>img,.operator-card:focus-within .operator-login-btn>img{opacity:0;transform:translateY(-6px)}.operator-card .operator-login-btn>img,.operator-card .operator-login-btn>span{transition:opacity .2s ease,transform .2s ease;position:relative;z-index:2}.operators-info{background-color:#f8fafc;border:1px solid #e9ecef;border-radius:12px;padding:1.5rem;margin-top:2rem}.operators-info-title{margin:0 0 .75rem;color:#213857;font-size:1.05rem;font-weight:600}.operators-info-list{margin:0;padding-left:1.5rem;color:#5b6470;line-height:1.6}@media (max-width: 768px){.operators-category-content{grid-template-columns:1fr}}.register-user-wrapper{max-width:100%;margin:0}.register-user-container{padding:0}.error-message{background:var(--state-error-bg);border:1px solid var(--state-error-border);border-radius:10px;padding:1rem;margin-bottom:1.5rem;text-align:center}.error-message p{color:var(--state-error-text);margin-bottom:0;font-weight:600}.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:0}.register-form{display:flex;flex-direction:column;gap:1.5rem}.register-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));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}.register-user-wrapper .password-input-container{position:relative;display:flex;align-items:center}.register-user-wrapper .password-input{padding-right:116px!important}.register-user-wrapper .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}.register-user-wrapper .password-toggle-btn:hover:not(:disabled){color:#66a0a4;background:#66a0a41a}.register-user-wrapper .password-toggle-btn:disabled{opacity:.4;cursor:not-allowed}.register-user-wrapper .password-toggle-btn:nth-of-type(1){right:80px}.register-user-wrapper .password-toggle-btn:nth-of-type(2){right:44px}.register-user-wrapper .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-input-group{display:flex;align-items:center;gap:.5rem}.email-local-input{flex:1;min-width:0}.email-domain{padding:.75rem .9rem;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;background:#f8fafc;color:#4a5568;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-weight:500;white-space:nowrap}.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}.register-user-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.4rem .9rem;background:linear-gradient(135deg,var(--brand-navy),var(--brand-teal));border:none;border-radius:8px;color:#fff;font-size:.8rem;font-weight:500;line-height:1;cursor:pointer;transition:all .3s ease;width:auto;align-self:center}.register-user-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-2)}.register-user-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.register-user-btn svg{width:14px;height:14px}.register-user-modal{background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;width:90%;max-width:400px;margin:2rem auto;position:relative;overflow:hidden}.register-user-modal-header{border-bottom:1px solid #eee;padding:1.5rem;display:flex;justify-content:space-between;align-items:center}.register-user-modal-title{margin:0;font-size:1.25rem;font-weight:600}.register-user-modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:.5rem;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;transition:background-color .2s}.register-user-modal-body{text-align:center;padding:2rem}.register-user-modal-details{display:flex;flex-direction:column;gap:1rem;font-size:1.1rem}.register-user-modal-credentials{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.register-user-modal-item{color:#666;font-size:.95rem;text-align:center}.register-user-modal-footer{border-top:1px solid #eee;padding:1rem;display:flex;justify-content:center}.register-user-modal-action{padding:.75rem 2.5rem;border-radius:8px;font-size:1rem}.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}.register-form-row{grid-template-columns:1fr}.email-input-group{flex-direction:column;align-items:stretch}.email-domain{width:100%;text-align:left}.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}}.multibanco-form{margin-top:1.5rem}.multibanco-input-prefix{position:relative}.multibanco-input-prefix-symbol{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#718096;font-size:14px}.multibanco-input--with-prefix{padding-right:2.25rem}.multibanco-form-row{align-items:start}.multibanco-note{margin-top:.35rem}.multibanco-note--full{margin-top:0}.multibanco-references{margin-top:2.5rem}.multibanco-section-title{font-size:1.2rem;color:#213857;margin-bottom:1.25rem;font-weight:600}.multibanco-references-table{overflow-x:auto;background-color:#fff;border-radius:12px;box-shadow:0 2px 12px #0000000f}.multibanco-references-loading{padding:0}.multibanco-references-grid{width:100%;border-collapse:collapse;font-size:14px;table-layout:fixed}.multibanco-references-grid thead{background:linear-gradient(135deg,#66a0a4,#213857);color:#fff}.multibanco-references-header{padding:1rem;text-align:center;font-weight:600;font-size:12px;letter-spacing:.5px;text-transform:uppercase}.multibanco-header-text--mobile{display:none}.multibanco-references-row{border-bottom:1px solid #f1f5f9;transition:background-color .2s}.multibanco-references-row:hover{background:#f8fafc}.multibanco-references-cell{padding:1rem;vertical-align:middle;color:#4a5568;text-align:center}.multibanco-references-cell:first-child{font-weight:600;color:#213857;text-align:center}.multibanco-references-empty{padding:2rem}.multibanco-modal{background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;width:90%;max-width:400px;margin:2rem auto;position:relative;overflow:hidden}.multibanco-modal-header{border-bottom:1px solid #ecf0f1;padding:1.5rem 1.5rem 1rem;display:flex;justify-content:space-between;align-items:center}.multibanco-modal-title{margin:0;font-size:1.5rem;font-weight:600;color:#2c3e50}.multibanco-modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#7f8c8d;padding:.5rem;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;transition:all .2s}.multibanco-modal-close:hover{background:#f8f9fa;color:#2c3e50}.multibanco-modal-body{text-align:center;padding:2rem}.multibanco-modal-details{display:flex;flex-direction:column;gap:1.5rem;font-size:1.1rem}.multibanco-modal-detail-group{display:flex;flex-direction:column;gap:.5rem}.multibanco-modal-detail-group--amount{margin-top:.5rem}.multibanco-modal-label{color:#666;font-size:.9rem}.multibanco-modal-value{font-weight:600}.multibanco-modal-footer{border-top:1px solid #ecf0f1;padding:1rem 1.5rem;display:flex;justify-content:flex-end}.multibanco-modal-action{min-width:160px;justify-content:center}@media (max-width: 768px){.multibanco-form{margin-top:1rem}.multibanco-input--with-prefix{padding-right:2rem}.multibanco-section-title{font-size:1.1rem}.multibanco-references-table{box-shadow:none}.multibanco-references-grid{font-size:12px}.multibanco-references-header,.multibanco-references-cell{padding:.75rem .5rem}.multibanco-references-header{font-size:11px;letter-spacing:.4px;padding-left:.35rem;text-align:center}.multibanco-header-text--desktop{display:none}.multibanco-header-text--mobile{display:inline}.multibanco-modal{width:calc(100% - 2rem);margin:1rem auto}.multibanco-modal-body{padding:1.5rem}}.confirmation-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.confirmation-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:confirmationModalSlideIn .3s ease-out}@keyframes confirmationModalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.confirmation-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #ecf0f1;background:#fff}.confirmation-modal-header h2{margin:0;color:#2c3e50;font-size:1.5rem;font-weight:600}.confirmation-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}.confirmation-modal-close:hover{background:#f8f9fa;color:#2c3e50}.confirmation-modal-body{padding:1.5rem}.confirmation-modal-message{margin:0;color:#2c3e50;font-size:1rem;line-height:1.5}.confirmation-modal-actions{display:flex;gap:1rem;justify-content:flex-end;padding:1rem 1.5rem 1.5rem;border-top:1px solid #ecf0f1}.confirmation-btn{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}.confirmation-btn-secondary{background:#f8f9fa;color:#6c757d;border:1px solid #dee2e6}.confirmation-btn-secondary:hover:not(:disabled){background:#e9ecef;color:#495057}.confirmation-btn-danger{background:linear-gradient(135deg,#e57373,#ef5350);color:#fff}.confirmation-btn-danger:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #ef53504d}@media (max-width: 768px){.confirmation-modal-content{margin:.5rem;max-height:95vh}.confirmation-modal-header,.confirmation-modal-body{padding:1rem}.confirmation-modal-actions{flex-direction:column}.confirmation-btn{width:100%}}.users-container{max-width:100%;margin:0;padding:0}.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:var(--state-error-bg);border:1px solid var(--state-error-border);border-radius:12px;padding:1rem;margin-bottom:1.5rem;text-align:center}.error-message p{color:var(--state-error-text);margin-bottom:.5rem;font-weight:600}.retry-button{background:linear-gradient(135deg,var(--brand-navy),var(--brand-teal));color:#fff;border:none;padding:.5rem 1rem;border-radius:10px;cursor:pointer;font-weight:600;transition:transform .2s ease,box-shadow .2s ease}.retry-button:hover{transform:translateY(-1px);box-shadow:0 6px 14px #21385733}.users-table-container{background:#fff;border-radius:12px;overflow-x:auto;box-shadow:0 2px 12px #0000000f}.users-table{width:100%;border-collapse:collapse;font-size:14px;table-layout:fixed}.users-table thead{background:linear-gradient(135deg,#66a0a4,#213857);color:#fff}.users-table th{padding:1rem;text-align:left;font-weight:600;font-size:12px;letter-spacing:.5px;text-transform:uppercase}.users-table th.col-actions,.users-table td.col-actions{text-align:center;width:10%}.users-table th.col-status,.users-table td.col-status,.users-table th.col-role,.users-table td.col-role{text-align:center}.users-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background-color .2s}.users-table tbody tr:hover{background:#f8fafc}.users-row,.users-row td{cursor:pointer}.users-row:focus-visible{outline:2px solid #66a0a4;outline-offset:-2px}.users-table td{padding:1rem;vertical-align:middle;color:#4a5568;text-align:left}.users-table td:first-child{font-weight:600;color:#213857}.col-name,.col-email{width:30%}.col-role,.col-status{width:15%}.users-container .users-table-container{background:#fff;border-radius:12px;overflow-x:auto;box-shadow:0 2px 12px #0000000f}.users-container .users-table{width:100%;border-collapse:collapse;font-size:14px;table-layout:fixed}.users-container .users-table thead{background:linear-gradient(135deg,#66a0a4,#213857);color:#fff}.users-container .users-table th{padding:1rem;text-align:left;font-weight:600;font-size:12px;letter-spacing:.5px;text-transform:uppercase;background:transparent;color:#fff;border-bottom:none}.users-container .users-table th.col-role,.users-container .users-table th.col-status,.users-container .users-table th.col-actions{text-align:center}.users-container .users-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background-color .2s}.users-container .users-table tbody tr:hover{background:#f8fafc}.users-container .users-table td{padding:1rem;vertical-align:middle;color:#4a5568}.users-container .users-table td:first-child{font-weight:600;color:#213857}.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}.user-role,.user-actions{text-align:center}.user-delete-btn{display:inline-flex;align-items:center;justify-content:center;border:none;background:#f8f9fa;color:#c0392b;border-radius:8px;padding:6px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.user-delete-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 10px #c0392b26}.user-delete-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.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}.loading-message,.empty-message{text-align:center;padding:3rem;color:var(--state-empty-text);font-size:1.1rem}.loading-message,.empty-message{background:var(--surface-1);border:1px dashed var(--state-empty-border);border-radius:12px}.users-delete-error{margin:1rem auto 0;max-width:800px;padding:.75rem 1rem;border-radius:10px;background:var(--state-error-bg);border:1px solid var(--state-error-border);color:var(--state-error-text);text-align:center}@media (max-width: 768px){.users-container{padding:1rem}.users-table .col-email,.users-table .col-role,.users-table .col-actions{display:none}.users-table .col-name{width:60%}.users-table .col-status{width:40%}.users-table{font-size:12px}.users-table th,.users-table td{padding:.75rem .5rem}.users-table th{font-size:11px;letter-spacing:.4px;padding-left:.35rem}.col-name,.col-email{max-width:150px}.toggle-switch{width:90px;height:36px}.toggle-slider:before{height:30px;width:30px;left:3px;bottom:3px}.toggle-label{font-size:9px}.users-table-container{box-shadow:none}.users-container .users-table{font-size:12px}.users-container .users-table th,.users-container .users-table td{padding:.75rem .5rem}.users-container .users-table th{font-size:11px;letter-spacing:.4px;padding-left:.35rem}.users-container .users-table-container{box-shadow:none}}.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}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #ecf0f1}.add-bank-modal-header{margin-bottom:0}.modal-header h2{margin:0;color:#2c3e50;font-size:1.5rem;font-weight:600}.bank-info-form{padding:1.5rem}.form-group input{width:100%;padding:.75rem 1rem;border:2px solid var(--border-subtle);border-radius:12px;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease;background:var(--surface-0);color:var(--brand-navy)}.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:var(--brand-teal);box-shadow:0 0 0 3px #66a0a42e}.form-group input:disabled{background:var(--surface-2);color:var(--text-muted);cursor:not-allowed}.form-help{display:block;margin-top:.25rem;font-size:.85rem;color:var(--text-muted);font-style:italic}.error-icon{font-size:1.2rem}.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:#dfa7a0;color:#fff}.role-badge.consultor{background:#659fa5;color:#fff}.user-status-badge{display:inline-flex;align-items:center;padding:.35rem .9rem;border-radius:20px;font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.4px}.user-status-badge.active{background:linear-gradient(135deg,#2ecc71,#27ae60);color:#fff}.user-status-badge.inactive{background:linear-gradient(135deg,#95a5a6,#7f8c8d);color:#fff}.contract-status{display:inline-flex;align-items:center;padding:0;border-radius:0;font-weight:600;font-size:.85rem;border:none;background:transparent;color:var(--brand-navy)}.contract-status.signed,.contract-status.not-signed{background:transparent;color:var(--brand-navy)}.contract-status.unknown{background:transparent;color:var(--text-muted)}.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:var(--state-empty-text)}.loading-message{background:var(--surface-1);border:1px dashed var(--state-empty-border);border-radius:12px;color:var(--state-empty-text)}.error-message{background:var(--state-error-bg);border:1px solid var(--state-error-border);border-radius:12px;color:var(--state-error-text)}.no-data-message{background:var(--surface-1);border:1px dashed var(--state-empty-border);border-radius:12px;color:var(--state-empty-text)}.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}}.user-details{width:100%;margin:0;padding:0}.dashboard-page:has(.user-details) .dashboard-content{background:linear-gradient(135deg,#fff,#fafbfc);padding:2rem;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)}.details-content{width:100%}.main-section-title{font-size:1.25rem;font-weight:700;color:#2c3e50;margin-bottom:2rem;padding-bottom:.75rem;border-bottom:3px solid #659fa5;text-transform:uppercase;letter-spacing:1px}.user-details-section{position:relative;padding:28px 32px;margin-bottom:24px;border-radius:16px;background:linear-gradient(135deg,#21385714,#66a0a414);border:1px solid rgba(33,56,87,.08);overflow:hidden}.user-details-section:after{content:"";position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(102,160,164,.22),transparent 70%);pointer-events:none}.user-details-section>*{position:relative;z-index:1}.bank-info-empty{border-left:none;padding-left:0;margin-bottom:0;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.bank-info-empty-text{margin:0;color:var(--text-muted);font-size:.95rem}.bank-info-empty .register-user-btn{align-self:center}.mini-section-title{font-size:1rem;font-weight:600;color:#659fa5;margin:0 0 1rem;text-transform:uppercase;letter-spacing:.5px}.mini-section-grid{display:flex;flex-direction:column;gap:0}.info-item{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;padding:1rem 0;border-bottom:1px solid #ecf0f1}.info-item:last-child{border-bottom:none}.info-label{font-size:.875rem;color:#666;font-weight:500;text-align:left;display:flex;align-items:center;gap:.5rem;width:100%}.info-value{font-size:.95rem;color:var(--brand-navy);font-weight:500;text-align:left;width:100%;word-break:break-word}.info-value-mono{font-family:inherit;font-size:1rem;color:#333;font-weight:400;letter-spacing:0;word-break:break-word}@media (max-width: 768px){.dashboard-page:has(.user-details) .dashboard-content{padding:1rem}.user-details{padding:0}.info-item{flex-direction:column;align-items:flex-start;gap:.5rem;padding:.75rem 0}.info-label,.info-value{text-align:left;width:100%}.user-details-section{padding:20px}.bank-info-empty{justify-content:center}.bank-info-empty .register-user-btn{align-self:center}}.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:520px;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:flex-start;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #ecf0f1}.operator-password-modal-header{margin-bottom:0}.operator-password-header h2{margin:0;color:#2c3e50;font-size:1.5rem;font-weight:600}.operator-password-header p{margin:.35rem 0 0;color:#7f8c8d;font-size:.95rem}.operator-password-header span{font-family:Courier New,Monaco,Menlo,Ubuntu Mono,monospace;color:#2c3e50}.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}.operator-password-form{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--brand-navy);font-size:.95rem}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{width:100%;padding:.75rem 3rem .75rem 1rem;border:2px solid var(--border-subtle);border-radius:12px;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease;background:var(--surface-0);color:var(--brand-navy)}.password-input-wrapper input:focus{outline:none;border-color:var(--brand-teal);box-shadow:0 0 0 3px #66a0a42e}.password-input-wrapper input:disabled{background:var(--surface-2);color:var(--text-muted);cursor:not-allowed}.password-toggle{position:absolute;right:.75rem;background:none;border:none;cursor:pointer;font-size:1rem;padding:.25rem;display:flex;align-items:center;justify-content:center;opacity:.7;transition:opacity .2s;color:var(--brand-navy)}.password-toggle:hover{opacity:1}.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}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1rem;border-top:1px solid #ecf0f1}@media (max-width: 768px){.modal-content{margin:.5rem;max-height:95vh}.modal-header,.operator-password-form{padding:1rem}.form-actions{flex-direction:column}.register-user-btn{width:100%}}.operators-management-wrapper{max-width:100%;margin:0}.operators-management-container{padding:0}.operators-table-container{background:#fff;border-radius:12px;overflow-x:auto;box-shadow:0 2px 12px #0000000f}.operators-table{width:100%;border-collapse:collapse;font-size:14px;table-layout:fixed}.operators-table thead{background:linear-gradient(135deg,#66a0a4,#213857);color:#fff}.operators-table th{padding:1rem;text-align:left;font-weight:600;font-size:12px;letter-spacing:.5px;text-transform:uppercase}.operators-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background-color .2s}.operators-table tbody tr:hover{background:#f8fafc}.operators-row,.operators-row td{cursor:pointer}.operators-row:focus-visible{outline:2px solid #66a0a4;outline-offset:-2px}.operators-table td{padding:1rem;vertical-align:middle;color:#4a5568}.operators-table td:first-child{font-weight:600;color:#213857}.col-name,.col-username{width:35%}.col-password,.col-status{width:15%}.operators-table th.col-password,.operators-table td.col-password,.operators-table th.col-status,.operators-table td.col-status{text-align:center}.password-badge{display:inline-flex;align-items:center;justify-content:center;font-size:16px}.operators-name,.operators-username{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.operators-username{color:#4a5568}.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)}@media (max-width: 768px){.operators-management-container{padding:1rem}.operators-table .col-username,.operators-table .col-password{display:none}.operators-table .col-name{width:60%}.operators-table .col-status{width:40%}.operators-table{font-size:12px}.operators-table th,.operators-table td{padding:.75rem .5rem}.operators-table th{font-size:11px;letter-spacing:.4px;padding-left:.35rem}.operators-table-container{box-shadow:none}}.add-payment-modal{max-width:560px}.add-payment-form{padding:1.25rem 1.5rem 1.5rem}.add-payment-info{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:12px;padding:.9rem 1rem;margin:.25rem 0 1rem;color:var(--text-muted);font-size:.9rem}.add-payment-info p{margin:0}.add-payment-info__remaining{margin-top:.5rem!important;color:var(--brand-navy);font-weight:600}.add-payment-form .form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.25rem;padding-top:1rem;border-top:1px solid rgba(33,56,87,.08)}@media (max-width: 768px){.add-payment-form{padding:1rem}.add-payment-form .form-actions{flex-direction:column}}.associar-cvo-modal{max-width:560px}.associar-cvo-body{padding:1.25rem 1.5rem 1.5rem}.associar-cvo-empty{color:var(--text-muted);font-size:.9rem;text-align:center;padding:1.5rem 0;margin:0}.associar-cvo-list{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.5rem;max-height:320px;overflow-y:auto}.associar-cvo-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:1px solid var(--border-subtle);border-radius:10px;cursor:pointer;transition:border-color .15s,background .15s;background:var(--surface-0)}.associar-cvo-item:hover{border-color:var(--brand-navy);background:var(--surface-1)}.associar-cvo-item--selected{border-color:var(--brand-navy);background:color-mix(in srgb,var(--brand-navy) 6%,transparent)}.associar-cvo-radio{accent-color:var(--brand-navy);width:1rem;height:1rem;flex-shrink:0}.associar-cvo-item-info{display:flex;flex-direction:column;gap:.2rem;min-width:0}.associar-cvo-client{font-weight:600;font-size:.95rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.associar-cvo-meta{font-size:.8rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.associar-cvo-body .form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.25rem;padding-top:1rem;border-top:1px solid rgba(33,56,87,.08)}@media (max-width: 768px){.associar-cvo-body{padding:1rem}.associar-cvo-body .form-actions{flex-direction:column}}.reservation-details{width:100%;margin:0;padding:0;overflow-x:hidden}.dashboard-page:has(.reservation-details) .dashboard-content{background:linear-gradient(135deg,#fff,#fafbfc);padding:2rem;border-radius:20px;box-shadow:0 10px 40px #00000014;border:1px solid rgba(255,255,255,.8);box-sizing:border-box}.reservation-details .details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem;min-width:0;max-width:100%}.reservation-details .details-title{display:flex;align-items:center;gap:1rem;min-width:0;max-width:100%}.reservation-details .status-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .9rem;border-radius:999px;font-size:.85rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border:1px solid transparent}.reservation-details .status-badge--completed{background:#3b82f61f;border-color:#3b82f647;color:#2563eb}.reservation-details .status-badge--onGoing{background:#f59e0b24;border-color:#f59e0b52;color:#b45309}.reservation-details .status-badge--cancelled{background:#ef44441f;border-color:#ef444447;color:#dc2626}.reservation-details .status-dot{width:8px;height:8px;border-radius:50%;background-color:currentColor}.reservation-details .badges-container{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.reservation-details .auto-consumo-badge{background:#6f42c11f;border-color:#6f42c142;color:#6f42c1}.reservation-details .reservation-completed-note{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;color:#6c757d;font-size:.9rem;font-style:italic}.reservation-details .edit-reservation-btn{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:8px;color:#fff;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease}.reservation-details .edit-reservation-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #28a7454d}.reservation-details .edit-reservation-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.reservation-details .cancel-reservation-btn{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;background:linear-gradient(135deg,#dc3545,#c82333);border:none;border-radius:8px;color:#fff;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease}.reservation-details .cancel-reservation-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #dc35454d}.reservation-details .cancel-reservation-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.reservation-details .details-content{width:100%;box-sizing:border-box;overflow-x:hidden}.reservation-details .main-section{position:relative;padding:28px 32px;margin-bottom:24px;border-radius:16px;background:linear-gradient(135deg,#21385714,#66a0a414);border:1px solid rgba(33,56,87,.08);overflow:hidden;width:100%;box-sizing:border-box;max-width:100%;box-shadow:none}.reservation-details .main-section:after{content:"";position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(102,160,164,.22),transparent 70%);pointer-events:none}.reservation-details .main-section>*{position:relative;z-index:1}.reservation-details .main-section:last-child{margin-bottom:0}.reservation-details .main-section-title{font-size:1.25rem;font-weight:700;color:#2c3e50;margin-bottom:2rem;padding-bottom:.75rem;border-bottom:3px solid #659fa5;text-transform:uppercase;letter-spacing:1px}.reservation-details .main-section-title--compact{margin-bottom:0}.reservation-details .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:1rem;flex-wrap:wrap;min-width:0;max-width:100%}.reservation-details .section-header-buttons{display:flex;gap:.75rem;flex-wrap:wrap;min-width:0;max-width:100%}.reservation-details .mini-section{margin-top:1.25rem;margin-bottom:0;border-left:none;padding-left:0}.reservation-details .mini-section-title{font-size:1rem;font-weight:600;color:#659fa5;margin:0 0 1rem;text-transform:uppercase;letter-spacing:.5px}.reservation-details .mini-section-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem 1.25rem;padding:1rem 1.1rem;border-radius:14px;background:#ffffffbf;border:1px solid rgba(33,56,87,.08);box-shadow:0 2px 10px #2138570f}.reservation-details .cvo-associado-card{width:100%;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}.reservation-details .cvo-associado-card:hover{border-color:#21385740;box-shadow:0 4px 16px #2138571f;background:#fffffff2}.reservation-details .cvo-associado-card:focus-visible{outline:2px solid var(--brand-navy);outline-offset:2px}.reservation-details .info-item{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;padding:.4rem 0;border-radius:0;background:transparent;border:none}.reservation-details .info-label{font-size:.875rem;color:#666;font-weight:500;text-align:left;display:flex;align-items:center;gap:.5rem;width:100%}.reservation-details .info-value{font-size:.95rem;color:var(--brand-navy);font-weight:500;text-align:left;width:100%;word-break:break-word;overflow-wrap:anywhere}.commission-highlight{margin-top:2rem;padding:1.5rem;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:8px;border:2px solid #1976d2;text-align:center}.commission-highlight .info-item{align-items:center}.commission-highlight .info-label{font-size:1.1rem;font-weight:600;color:#1976d2;margin-bottom:.5rem}.commission-highlight .info-value{font-size:1.5rem;font-weight:700}.reservation-details .commission-content{width:100%}.reservation-details .commission-calculation{display:flex;flex-direction:column;gap:1rem}.reservation-details .commission-item{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;padding:1rem;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.reservation-details .commission-item.commission-final{background:linear-gradient(135deg,#e8f5e8,#d4edda);border:2px solid #28a745;margin-top:.5rem}.reservation-details .commission-label{font-size:1rem;font-weight:600;color:#495057}.reservation-details .commission-final .commission-label{color:#155724;font-size:1.1rem}.reservation-details .commission-value{font-size:1.1rem;font-weight:700;color:#2c3e50}.reservation-details .commission-final .commission-value{color:#155724;font-size:1.25rem}.reservation-details .payments-container{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;padding:1.5rem}.payments-header,.payment-item{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;min-width:0}.payments-header{padding-bottom:.75rem;border-bottom:1px solid #e9ecef;margin-bottom:.5rem}.payment-header-item{font-size:.8rem;font-weight:700;color:#6c757d;text-transform:uppercase;letter-spacing:.6px;min-width:0}.payment-item{padding:.75rem 0}.payment-data,.payment-meio,.payment-valor{min-width:0;overflow-wrap:anywhere}.payment-item+.payment-item{border-top:1px solid #e9ecef}.payment-valor{font-weight:600;color:#2c3e50}.payments-total{display:flex;justify-content:space-between;align-items:center;padding-top:.9rem;margin-top:.5rem;border-top:1px solid #e9ecef}.total-label{font-weight:600;color:#495057}.total-value{font-weight:700;color:#2c3e50}.total-label.incomplete,.total-value.incomplete{color:#dc3545}.no-payments{padding:1.5rem;text-align:center;background:#fff;border-radius:10px;border:1px dashed #dfe3e7}.no-payments-text{color:#6c757d;font-style:italic}.payments-summary{display:flex;gap:1.5rem;margin:1.5rem 0;flex-wrap:wrap}.payment-summary-card{flex:1;min-width:200px;padding:1.5rem;border-radius:12px;background:#f8f9fa;border:1px solid #e9ecef}.payment-summary-card .summary-label{font-size:.9rem;color:#6c757d;margin-bottom:.5rem}.payment-summary-card .summary-value{font-size:1.25rem;font-weight:700;color:#2c3e50}.payments-table{width:100%;border-collapse:collapse;margin-top:1rem;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000000d}.payments-table th,.payments-table td{padding:1rem;text-align:left;border-bottom:1px solid #e9ecef}.payments-table th{background:#f8f9fa;font-weight:600;color:#495057;font-size:.9rem}.payments-table tr:last-child td{border-bottom:none}.add-payment-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:8px;color:#fff;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease}.add-payment-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #28a7454d}.add-payment-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.reservation-details .receipt-section{margin-top:2rem}.reservation-details .receipt-existing{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:1.1rem 1.2rem;border:1px solid rgba(33,56,87,.08);border-radius:14px;margin-bottom:1rem;background:#ffffffbf;box-shadow:0 2px 10px #2138570f}.reservation-details .receipt-info{display:flex;align-items:center;gap:.9rem;min-width:0}.reservation-details .receipt-icon{width:40px;height:40px;color:var(--brand-navy);opacity:.9;flex:0 0 auto}.reservation-details .receipt-details{display:flex;flex-direction:column;gap:.15rem;min-width:0}.reservation-details .receipt-filename{font-size:1rem;font-weight:700;color:var(--brand-navy);line-height:1.2}.reservation-details .receipt-meta{font-size:.9rem;color:var(--text-muted);line-height:1.2}.reservation-details .receipt-actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:flex-end;align-items:center}.reservation-details .receipt-paid-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .75rem;border-radius:999px;background:#22c55e1f;border:1px solid rgba(34,197,94,.28);color:#16a34a;font-weight:700;font-size:.85rem;white-space:nowrap}.reservation-details .receipt-paid-badge svg{display:block}.receipt-btn{padding:.5rem 1rem;border-radius:6px;border:none;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s ease}.receipt-btn.download{background:#007bff;color:#fff}.receipt-btn.download:hover:not(:disabled){background:#0056b3}.receipt-btn.mark-paid{background:#28a745;color:#fff}.receipt-btn.mark-paid:hover:not(:disabled){background:#1e7e34}.receipt-btn:disabled{opacity:.7;cursor:not-allowed}.reservation-details .receipt-upload-area{border:2px dashed #dee2e6;border-radius:8px;padding:2rem;text-align:center;background:#f8f9fa}.reservation-details .receipt-upload-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.reservation-details .receipt-warning{padding:1rem;background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;color:#856404;margin-bottom:1rem;font-size:.9rem}.receipt-upload-label{display:flex;justify-content:center}.reservation-details .receipt-error{padding:.75rem;background:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#721c24;font-size:.9rem;margin-top:.5rem}.receipt-upload-text{color:#6c757d;font-size:.9rem;margin-bottom:1rem}.receipt-upload-hint{color:#6c757d;font-size:.8rem;margin-top:.5rem}.reservation-details .no-receipt{padding:2rem;text-align:center;background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px}.reservation-details .no-receipt-text{font-style:italic;color:#6c757d;font-size:.95rem;margin-bottom:1rem}.receipt-paid-btn--compact{font-size:.85rem;padding:.5rem 1rem}.cancel-warning{color:#dc3545;font-weight:700;margin-top:1rem}@media (max-width: 1024px){.reservation-details{max-width:100%;width:100%;box-sizing:border-box}.reservation-details .main-section{padding:1.5rem}.reservation-details .mini-section-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 768px){.dashboard-page:has(.reservation-details) .dashboard-content{padding:1.5rem}.reservation-details{max-width:100%;width:100%;box-sizing:border-box;margin:0}.reservation-details .details-header{flex-direction:column;align-items:stretch;margin-bottom:1.5rem;margin-top:1rem}.reservation-details .badges-container{justify-content:center;margin-top:1rem}.reservation-details .details-title{text-align:center;flex-direction:column;gap:.75rem}.reservation-details .main-section{padding:1rem;margin-bottom:1.5rem;border-radius:8px;width:100%;box-sizing:border-box}.reservation-details .main-section-title{font-size:1rem;margin-bottom:1.5rem}.reservation-details .mini-section{margin-top:1rem}.reservation-details .mini-section-title{font-size:.9rem}.reservation-details .mini-section-grid{grid-template-columns:1fr;gap:.75rem;padding:.9rem .95rem}.reservation-details .info-item{word-break:break-word}.reservation-details .info-label{font-size:.8rem}.reservation-details .info-value{font-size:.875rem}.reservation-details .details-content{width:100%;overflow-x:hidden;box-sizing:border-box}.edit-reservation-btn,.cancel-reservation-btn,.add-payment-btn{width:100%;justify-content:center;font-size:.85rem;padding:.5rem 1rem}.reservation-details .section-header{flex-direction:column;gap:1rem;align-items:stretch}.reservation-details .section-header-buttons{width:100%;flex-direction:column;gap:.5rem}.section-header-buttons>button{width:100%}.commission-highlight{padding:1rem}.commission-calculation{gap:.75rem}.commission-item{padding:.75rem}.reservation-details .receipt-existing{grid-template-columns:1fr;justify-items:stretch;text-align:left}.reservation-details .receipt-actions{justify-content:flex-start}.reservation-details .receipt-upload-area{padding:1.5rem}.reservation-details .payments-container{padding:1rem}.reservation-details .payments-header{display:none}.reservation-details .payment-item{grid-template-columns:1fr;gap:.35rem;padding:.75rem 0}.reservation-details .payment-item>span{display:flex;justify-content:space-between;gap:.75rem;width:100%}.reservation-details .payment-item>span:before{content:attr(data-label);font-size:.7rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#6c757d}.reservation-details .payments-total{flex-direction:column;align-items:flex-start;gap:.35rem}}
