:root{--navy:#122252;--navy-2:#0a1637;--blue:#3154a2;--red:#cd0934;--red-dark:#aa062a;--paper:#f5f7fb;--white:#fff;--ink:#17284f;--muted:#67738c;--line:#dce2ee;--green:#148447;--amber:#a56400;--shadow:0 22px 60px rgba(18,34,82,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--paper)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:var(--blue)}.hidden{display:none!important}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.public-body{min-height:100vh}.public-topbar{height:88px;padding:0 max(24px,calc((100vw - 1160px)/2));display:flex;align-items:center;justify-content:space-between;background:var(--navy-2);border-bottom:3px solid var(--red)}.public-brand img{display:block;width:160px;max-height:66px;object-fit:contain}.public-contact{text-align:right;color:#fff}.public-contact strong,.public-contact span{display:block}.public-contact strong{font-size:.75rem;color:#aebddb;text-transform:uppercase;letter-spacing:.08em}.public-contact span{margin-top:4px;font-weight:750}.booking-intro{min-height:430px;padding:68px max(24px,calc((100vw - 1160px)/2)) 100px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:64px;align-items:center;color:#fff;background:radial-gradient(circle at 85% 20%,rgba(205,9,52,.26),transparent 28%),linear-gradient(118deg,var(--navy-2) 4%,var(--navy) 62%,#1a3473);position:relative;overflow:hidden}.booking-intro:after{content:"";position:absolute;width:430px;height:430px;border:75px solid rgba(255,255,255,.04);border-radius:50%;right:-190px;bottom:-300px}.eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.16em;color:#ff7895;font-weight:850}.booking-intro h1{margin:14px 0 20px;font-size:clamp(2.6rem,5vw,4.5rem);line-height:1;letter-spacing:-.055em}.booking-intro p{max-width:680px;margin:0;color:#cbd9f4;font-size:1.08rem;line-height:1.7}.intro-card{position:relative;z-index:1;display:grid;gap:10px;padding:28px;border:1px solid rgba(255,255,255,.21);border-radius:24px;background:rgba(255,255,255,.09);backdrop-filter:blur(8px);box-shadow:0 24px 55px rgba(0,0,0,.15)}.intro-card strong{font-size:1.35rem;margin-bottom:8px}.intro-card span{font-size:.88rem;color:#d9e4f8}.booking-card{width:min(1060px,calc(100% - 32px));margin:-54px auto 64px;padding:42px;background:#fff;border-radius:28px;box-shadow:var(--shadow);position:relative;z-index:2}.booking-step{padding:28px 0;border-bottom:1px solid #edf0f5}.booking-step:first-child{padding-top:0}.step-heading{display:flex;gap:14px;align-items:center;margin-bottom:22px}.step-heading>span{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#fbe8ed;color:var(--red);font-weight:900}.step-heading small,.step-heading h2{display:block;margin:0}.step-heading small{color:var(--red);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:850}.step-heading h2{font-size:1.65rem;letter-spacing:-.03em}.date-picker,.field{display:grid;gap:8px;color:#2b3b57;font-size:.88rem;font-weight:750}.date-picker{width:min(360px,100%)}.field span{color:#8994a8;font-weight:500}.date-picker input,.field input,.field select,.field textarea,.filter-bar input,.filter-bar select,.card-heading input{width:100%;min-height:46px;padding:11px 13px;border:1px solid #d8e0ec;border-radius:12px;background:#fff;color:var(--ink);outline:none}.field textarea{resize:vertical}.date-picker input:focus,.field input:focus,.field select:focus,.field textarea:focus,.filter-bar input:focus,.filter-bar select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(49,84,162,.12)}.special-date-note{margin-top:16px;padding:14px 16px;border-radius:12px;color:#744900;background:#fff5d9;border:1px solid #f2dca0;font-size:.88rem}.slot-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.slot-button{min-height:68px;padding:10px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--navy);cursor:pointer;text-align:left;transition:.18s ease}.slot-button strong,.slot-button small{display:block}.slot-button strong{font-size:1.05rem}.slot-button small{margin-top:3px;color:var(--muted);font-size:.72rem}.slot-button:hover:not(:disabled){transform:translateY(-2px);border-color:#98abd0}.slot-button.selected{color:#fff;background:var(--navy);border-color:var(--navy);box-shadow:inset 0 -4px 0 var(--red)}.slot-button.selected small{color:#d8e4f8}.slot-button:disabled{opacity:.45;cursor:not-allowed;background:#f2f4f8}.compact-field{width:min(250px,100%);margin-top:18px}.section-help{max-width:760px;color:var(--muted);line-height:1.6}.extras-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.extra-card{position:relative;display:flex;align-items:center;min-height:86px;padding:18px;border:1px solid var(--line);border-radius:16px;cursor:pointer}.extra-card input{width:20px;height:20px;margin:0 14px 0 0;accent-color:var(--red)}.extra-card strong,.extra-card small{display:block}.extra-card small{margin-top:4px;color:var(--muted)}.extra-card:has(input:checked){border-color:var(--red);background:#fff7f9;box-shadow:0 0 0 2px rgba(205,9,52,.08)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-grid .full{grid-column:1/-1}.grill-options{margin-top:18px;padding:20px;border-radius:16px;background:#f6f8fc}.consent{display:flex;align-items:flex-start;gap:10px;margin:18px 0;color:#59677c;font-size:.84rem;line-height:1.55}.consent input{margin-top:3px;accent-color:var(--red)}.text-button{border:0;padding:0;background:none;color:var(--red);font-weight:800;cursor:pointer}.booking-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:24px 0;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden}.booking-summary>div{padding:17px;background:#eef4ff}.booking-summary small,.booking-summary strong{display:block}.booking-summary small{color:#6d7e9c}.booking-summary strong{margin-top:5px}.primary-action,.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:12px 18px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--navy);font-weight:800;text-decoration:none;cursor:pointer}.primary-action{width:100%;justify-content:space-between;min-height:56px;border:0;border-radius:14px;background:var(--red);color:#fff;box-shadow:0 12px 28px rgba(205,9,52,.22)}.primary-action:hover,.button.primary:hover{background:var(--red-dark)}.button.primary{border-color:var(--red);background:var(--red);color:#fff}.button.whatsapp{border-color:#159f56;background:#159f56;color:#fff}.confirmation-note{margin:15px auto 0;max-width:760px;color:#7b8799;text-align:center;font-size:.78rem;line-height:1.5}.form-error{margin:18px 0;padding:13px 15px;border:1px solid #ffcac5;border-radius:12px;background:#fff0ef;color:#aa261c}.public-footer{padding:32px max(24px,calc((100vw - 1160px)/2));display:flex;align-items:center;gap:28px;background:var(--navy-2);color:#fff;border-top:4px solid var(--red)}.public-footer img{width:145px}.public-footer strong,.public-footer span{display:block}.public-footer span{margin-top:5px;color:#91a1bf;font-size:.8rem}.terms-dialog,.success-dialog{width:min(620px,calc(100% - 30px));max-height:80vh;padding:30px;border:0;border-radius:22px;box-shadow:0 30px 100px rgba(0,0,0,.25);color:var(--ink)}.terms-dialog::backdrop,.success-dialog::backdrop{background:rgba(5,15,38,.62);backdrop-filter:blur(3px)}.terms-dialog>button{float:right;border:0;background:#edf1f7;border-radius:50%;width:36px;height:36px;cursor:pointer}.terms-dialog div{white-space:normal;line-height:1.65;color:#4d5b74}.success-dialog{text-align:center}.success-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 18px;border-radius:50%;background:#dff5e5;color:var(--green);font-size:1.8rem;font-weight:900}.success-dialog p{color:var(--muted);line-height:1.6}.success-dialog .primary-action{margin-top:22px}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr;background:var(--navy-2)}.auth-brand{padding:70px max(50px,calc((100vw - 1160px)/2));display:flex;flex-direction:column;justify-content:space-between;color:#fff;background:radial-gradient(circle at 20% 90%,rgba(49,84,162,.55),transparent 38%)}.auth-brand img{width:220px}.auth-brand span{color:#ff7895;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:850}.auth-brand h1{max-width:650px;font-size:clamp(2.5rem,5vw,4.6rem);line-height:1;letter-spacing:-.055em}.auth-card{align-self:center;width:min(440px,calc(100% - 40px));margin:40px auto;padding:36px;background:#fff;border-radius:24px;box-shadow:0 30px 80px rgba(0,0,0,.2)}.auth-card small{color:var(--red);font-weight:850;text-transform:uppercase;letter-spacing:.12em}.auth-card h1,.auth-card h2{margin:8px 0 26px;letter-spacing:-.03em}.auth-card form{display:grid;gap:17px}.auth-card>p{margin:20px 0 0;color:var(--muted);font-size:.78rem;text-align:center}.single-auth{grid-template-columns:1fr}.message-page{min-height:100vh;padding:40px;display:grid;place-items:center;text-align:center;background:var(--navy-2);color:#fff}.message-page img{position:absolute;top:35px;width:160px}.message-page section{max-width:520px}.message-page p{color:#c6d3e9;line-height:1.6}.message-page a{color:#fff}.panel-body{min-height:100vh}.panel-shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{height:100vh;position:sticky;top:0;display:flex;flex-direction:column;padding:24px 16px;background:var(--navy-2);color:#fff;overflow-y:auto}.sidebar-brand{display:grid;gap:6px;padding:0 12px 22px;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-brand img{width:130px;max-height:65px;object-fit:contain}.sidebar-brand span{color:#8fa0bf;font-size:.72rem}.sidebar-nav{display:grid;gap:4px;padding:20px 0}.sidebar-nav a{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:10px;color:#d8e2f4;text-decoration:none;font-size:.86rem;font-weight:650}.sidebar-nav a:hover{background:rgba(255,255,255,.08);color:#fff}.sidebar-nav .future-link{margin-top:10px;border:1px dashed rgba(255,255,255,.2)}.future-link span{padding:3px 6px;border-radius:6px;background:rgba(255,255,255,.1);font-size:.62rem}.sidebar-user{margin-top:auto;padding:16px 12px 0;border-top:1px solid rgba(255,255,255,.1)}.sidebar-user strong,.sidebar-user small{display:block}.sidebar-user small{margin-top:3px;color:#8fa0bf}.sidebar-user button{margin-top:10px;padding:0;border:0;background:none;color:#ff9eb3;cursor:pointer}.panel-main{min-width:0}.panel-topbar{height:92px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}.panel-topbar small,.panel-topbar h1{display:block;margin:0}.panel-topbar small{color:var(--red);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;font-weight:850}.panel-topbar h1{margin-top:4px;font-size:1.45rem;letter-spacing:-.03em}.public-link{font-size:.84rem;font-weight:750;text-decoration:none}.menu-button{display:none;border:0;background:none;font-size:1.4rem}.panel-content{padding:28px;max-width:1500px;margin:0 auto}.alert{margin-bottom:18px;padding:13px 15px;border-radius:11px;background:#eef4ff;color:#35517f}.alert.success{background:#e8f7ee;color:#176d3b}.alert.error{background:#fff0ef;color:#a72d23}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.metric{padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff}.metric span,.metric strong,.metric small{display:block}.metric span{color:var(--muted);font-size:.76rem}.metric strong{margin:8px 0 4px;font-size:2rem;letter-spacing:-.04em}.metric small{color:#8a95a8}.metric.accent{color:#fff;border-color:var(--navy);background:var(--navy)}.metric.accent span,.metric.accent small{color:#c9d4e8}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.45fr);gap:20px}.panel-card{padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 30px rgba(18,34,82,.04)}.panel-card h2,.panel-card h3{margin:6px 0 18px;letter-spacing:-.025em}.panel-card>small,.card-heading small,.future-module>span{color:var(--red);font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.11em}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.card-heading h2{margin:4px 0 0}.card-heading>a{font-size:.8rem;font-weight:750}.summary-card>div{padding:16px 0;border-bottom:1px solid var(--line)}.summary-card span,.summary-card strong{display:block}.summary-card span{font-size:.76rem;color:var(--muted)}.summary-card strong{margin-top:5px;font-size:1.25rem}.summary-card p,.panel-card>p,.form-note{color:var(--muted);font-size:.8rem;line-height:1.55}.table-wrap{width:100%;overflow:auto}table{width:100%;border-collapse:collapse;font-size:.82rem}th,td{padding:13px 12px;border-bottom:1px solid #edf0f5;text-align:left;vertical-align:middle;white-space:nowrap}th{color:#748097;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}td strong,td small{display:block}td small{margin-top:3px;color:#8590a4}.status{display:inline-flex;padding:5px 8px;border-radius:999px;background:#edf1f6;color:#536078;font-size:.69rem;font-weight:800}.status.new_request,.status.waiting{background:#fff3d8;color:#875500}.status.in_service,.status.pre_reserved,.status.awaiting_deposit,.status.notified{background:#e9f1ff;color:#24509c}.status.confirmed,.status.completed,.status.active,.status.converted{background:#e4f6eb;color:#166f3e}.status.cancelled_client,.status.cancelled_company,.status.rejected,.status.no_show,.status.failed,.status.blocked{background:#ffe9e7;color:#a12e24}.empty-inline{padding:28px;color:#8691a4;text-align:center}.filter-bar{display:flex;align-items:end;gap:12px;margin-bottom:18px;flex-wrap:wrap}.filter-bar label{display:grid;gap:6px;color:#55627a;font-size:.75rem;font-weight:700}.filter-bar input,.filter-bar select{min-width:170px}.split-view{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}.sticky-card{position:sticky;top:20px;display:grid;gap:14px}.two-columns{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:20px}.three-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px}.three-columns form{display:grid;gap:13px;align-content:start}.booking-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px}.stack{display:grid;gap:20px}.stack .panel-card{display:grid;gap:10px}.detail-list{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}.detail-list>div{padding:15px;border-radius:13px;background:#f6f8fc}.detail-list small,.detail-list strong,.detail-list span{display:block}.detail-list small{color:#7d899e;font-size:.68rem}.detail-list strong{margin-top:5px}.detail-list span{margin-top:4px;color:var(--muted);font-size:.75rem}.resource-list{display:grid;gap:8px}.resource-list>div{display:grid;grid-template-columns:1fr auto auto;gap:16px;padding:12px 14px;border:1px solid var(--line);border-radius:12px}.resource-list span{color:var(--muted)}.notes-box{margin:18px 0;padding:16px;border-left:4px solid var(--blue);background:#f4f7fd}.notes-box p{margin:5px 0 0}.financial-strip{display:grid;grid-template-columns:repeat(4,1fr);margin-top:22px;border-radius:14px;overflow:hidden;background:var(--navy);color:#fff}.financial-strip>div{padding:16px;border-right:1px solid rgba(255,255,255,.12)}.financial-strip small,.financial-strip strong{display:block}.financial-strip small{color:#aebddb}.financial-strip strong{margin-top:4px}.activity-list{display:grid;gap:0}.activity-list>div{padding:12px 0;border-bottom:1px solid var(--line)}.activity-list strong,.activity-list span{display:block}.activity-list span{margin-top:3px;color:var(--muted);font-size:.73rem}.activity-list p{margin:6px 0 0;font-size:.78rem}.mini-button{display:inline-flex;padding:6px 9px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--navy);font-weight:750;font-size:.7rem;text-decoration:none;cursor:pointer}.inline-form{display:inline-flex;gap:5px;margin-left:5px}.inline-form select{max-width:110px;padding:5px;border:1px solid var(--line);border-radius:7px}.document-list{display:grid;gap:10px}.document-list article{display:flex;align-items:center;justify-content:space-between;padding:14px;border:1px solid var(--line);border-radius:12px}.document-list strong,.document-list span{display:block}.document-list span{margin-top:3px;color:var(--muted);font-size:.75rem}.permission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.permission-column{padding:18px;border:1px solid var(--line);border-radius:15px}.permission-column>p{min-height:50px;color:var(--muted);font-size:.75rem}.permission-column label{display:flex;gap:9px;padding:9px 0;border-bottom:1px solid #edf0f5}.permission-column label strong,.permission-column label small{display:block}.permission-column label strong{font-size:.78rem}.permission-column label small{margin-top:2px;color:var(--muted);font-size:.66rem}.permission-column .button{width:100%;margin-top:16px}.save-settings{margin-top:20px}.insight-card{margin-top:20px;border-left:4px solid var(--blue)}.future-module{padding:48px;border-radius:24px;color:#fff;background:radial-gradient(circle at 90% 10%,rgba(205,9,52,.3),transparent 32%),var(--navy)}.future-module h2{font-size:2.3rem;margin:10px 0}.future-module>p{max-width:760px;color:#cbd5e7;line-height:1.65}.future-module>div{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}.future-module article{padding:20px;border:1px solid rgba(255,255,255,.15);border-radius:16px;background:rgba(255,255,255,.06)}.future-module strong,.future-module small{display:block}.future-module small{margin-top:6px;color:#b6c3d9}.empty-state{padding:80px 20px;text-align:center}.empty-state>strong{font-size:4rem;color:#cad3e3}.empty-state p{color:var(--muted)}
@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.split-view,.booking-detail-grid{grid-template-columns:1fr}.sticky-card{position:static}.three-columns{grid-template-columns:1fr 1fr}.detail-list{grid-template-columns:repeat(2,1fr)}.permission-grid{grid-template-columns:1fr}.slot-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:780px){.booking-intro{grid-template-columns:1fr;padding-top:52px}.intro-card{display:none}.booking-card{padding:26px 20px}.slot-grid{grid-template-columns:repeat(3,1fr)}.form-grid,.extras-grid,.booking-summary{grid-template-columns:1fr}.booking-summary{gap:0}.public-footer{align-items:flex-start;flex-direction:column}.auth-shell{grid-template-columns:1fr}.auth-brand{display:none}.panel-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-270px;z-index:20;width:250px;transition:left .2s ease}.sidebar.open{left:0}.panel-topbar{padding:0 16px}.menu-button{display:block}.public-link{font-size:0}.public-link:after{content:"↗";font-size:1rem}.panel-content{padding:18px}.three-columns,.two-columns{grid-template-columns:1fr}.financial-strip{grid-template-columns:repeat(2,1fr)}.metric-grid{grid-template-columns:1fr 1fr}.permission-column>p{min-height:auto}}
@media(max-width:520px){.public-topbar{height:76px;padding:0 16px}.public-brand img{width:130px}.public-contact strong{display:none}.public-contact span{font-size:.8rem}.booking-intro{min-height:410px;padding:48px 18px 90px}.booking-intro h1{font-size:2.65rem}.booking-intro p{font-size:.96rem}.booking-card{width:calc(100% - 20px);margin-top:-46px;border-radius:22px}.step-heading h2{font-size:1.35rem}.slot-grid{grid-template-columns:repeat(2,1fr)}.metric-grid{grid-template-columns:1fr}.detail-list,.financial-strip{grid-template-columns:1fr}.resource-list>div{grid-template-columns:1fr}.panel-card{padding:17px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
