@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Jost:wght@300;400;500;600&display=swap");:root{--cream:#f3efe8;--cream-2:#ebe5da;--ink:#1c1815;--ink-2:#4a433d;--mute:#8a8178;--clay:#a07d47;--clay-dk:#85683b;--gold:#c9ab77;--line:rgba(28,24,21,.1);--ok:#2e7d4f;--ok-bg:#e4f2ea;--no:#b3261e;--no-bg:#fbe6e4;--warn:#a2620c;--warn-bg:#fdf0dc;--glass:rgba(255,255,255,.55);--shadow:0 24px 50px -30px rgba(28,24,21,.35);--r:16px;--side:250px;font-family:Jost,system-ui,sans-serif}*{box-sizing:border-box}body,html{margin:0;background:var(--cream);color:var(--ink);font-size:14.5px;line-height:1.45}body{background:radial-gradient(1200px 600px at 80% -10%,rgba(201,171,119,.28),transparent 60%),radial-gradient(900px 500px at -10% 100%,rgba(160,125,71,.18),transparent 60%),var(--cream);min-height:100vh}h1,h2,h3{font-family:Cormorant Garamond,serif;font-weight:500;margin:0;letter-spacing:.01em}h1{font-size:30px}h2{font-size:22px}h3{font-size:18px}a{color:inherit;text-decoration:none}.mute,small{color:var(--mute)}button,input,select,textarea{font:inherit;color:inherit}.btn{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;border:1px solid var(--line);background:#fff;cursor:pointer;transition:.18s;font-weight:500;white-space:nowrap}.btn:hover{color:var(--clay-dk)}.btn.solid,.btn:hover{border-color:var(--clay)}.btn.solid{background:var(--clay);color:#fff;box-shadow:0 10px 20px -12px var(--clay)}.btn.solid:hover{background:var(--clay-dk)}.btn.ghost{background:transparent}.btn.danger{color:var(--no);border-color:rgba(179,38,30,.3)}.btn.danger:hover{background:var(--no-bg)}.btn.sm{padding:6px 12px;font-size:13px}.btn:disabled{opacity:.5;cursor:not-allowed}label.f{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--ink-2);font-weight:500}.f input,.f select,.f textarea,.inp{padding:9px 12px;border-radius:10px;border:1px solid var(--line);background:#fff;outline:none;transition:.15s;width:100%}.f input:focus,.f select:focus,.f textarea:focus,.inp:focus{border-color:var(--clay);box-shadow:0 0 0 3px rgba(160,125,71,.15)}.f textarea{min-height:90px;resize:vertical}.grid2{grid-template-columns:1fr 1fr;grid-gap:14px}.grid2,.grid3{display:grid;gap:14px}.grid3{grid-template-columns:repeat(3,1fr);grid-gap:14px}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.spread{justify-content:space-between}.err{color:var(--no);font-size:13px}.card{background:var(--glass);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.7);border-radius:var(--r);box-shadow:var(--shadow);padding:20px;position:relative}.card:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(201,171,119,.25),inset 0 -40px 60px -50px rgba(160,125,71,.35)}.card.pad0{padding:0;overflow:hidden}.badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:500;background:var(--cream-2);color:var(--ink-2)}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.no{background:var(--no-bg);color:var(--no)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.clay{background:rgba(160,125,71,.15);color:var(--clay-dk)}.login{min-height:100vh;display:grid;place-items:center;padding:24px}.lbox{width:380px;max-width:100%;display:flex;flex-direction:column;gap:14px;text-align:center}.lbox img{height:64px;object-fit:contain;margin:0 auto 4px;filter:drop-shadow(0 6px 10px rgba(0,0,0,.12))}.lbox small{letter-spacing:.25em;text-transform:uppercase;font-size:11px;color:var(--clay-dk)}.lbox label.f{text-align:left}.app{display:grid;grid-template-columns:var(--side) 1fr;min-height:100vh}.side{position:-webkit-sticky;position:sticky;top:0;height:100vh;padding:22px 16px;display:flex;flex-direction:column;gap:22px;background:rgba(28,24,21,.96);color:#eee7dc}.brand{display:flex;align-items:center;gap:12px;padding:0 6px}.brand img{height:42px;filter:drop-shadow(0 0 6px rgba(255,255,255,.6))}.brand b{display:block;font-family:Cormorant Garamond,serif;font-size:18px;font-weight:500;line-height:1.1}.brand small{color:var(--gold);font-size:11px;letter-spacing:.2em;text-transform:uppercase}.nav{flex-direction:column;gap:4px}.nav,.nav a{display:flex}.nav a{align-items:center;gap:12px;padding:10px 12px;border-radius:12px;color:rgba(238,231,220,.78);transition:.18s}.nav a i{font-style:normal;width:20px;text-align:center;color:var(--gold)}.nav a:hover{background:rgba(255,255,255,.06);color:#fff}.nav a.on{background:linear-gradient(90deg,rgba(160,125,71,.35),rgba(160,125,71,.12));color:#fff;box-shadow:inset 0 0 0 1px rgba(201,171,119,.35)}.sfoot{margin-top:auto;display:flex;flex-direction:column;gap:8px}.sfoot .who{padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.05);font-size:13px}.sfoot .who b{display:block;color:#fff;font-weight:500}.sfoot .btn{background:transparent;color:#eee7dc;border-color:rgba(255,255,255,.18);justify-content:center}.main{padding:26px 32px 60px;min-width:0}.top{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}.top small{display:block;letter-spacing:.2em;text-transform:uppercase;font-size:11px;color:var(--clay-dk);margin-bottom:2px}table.t{width:100%;border-collapse:collapse}.t th{text-align:left;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);font-weight:500}.t td,.t th{padding:12px 14px;border-bottom:1px solid var(--line)}.t td{vertical-align:middle}.t tr:last-child td{border-bottom:0}.t tr.click{cursor:pointer}.t tr.click:hover td{background:rgba(255,255,255,.45)}.kpis{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;margin-bottom:20px}.kpi b{display:block;font-family:Cormorant Garamond,serif;font-size:34px;font-weight:500;line-height:1;margin-top:6px}.kpi small{letter-spacing:.12em;text-transform:uppercase;font-size:11px}.overlay{position:fixed;inset:0;background:rgba(28,24,21,.45);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;grid-template-columns:minmax(0,1fr);place-items:center;z-index:50;padding:20px;overflow:auto}.modal{width:640px;max-width:100%;max-height:92vh;overflow:auto;background:var(--cream);border-radius:20px;padding:24px;box-shadow:0 40px 80px -30px rgba(0,0,0,.5);display:flex;flex-direction:column;gap:14px}.modal h2{display:flex;justify-content:space-between;align-items:center}.x{border:0;background:transparent;font-size:22px;cursor:pointer;color:var(--mute)}.toasts{position:fixed;right:20px;bottom:20px;display:flex;flex-direction:column;gap:8px;z-index:100}.toast{padding:10px 16px;border-radius:12px;background:var(--ink);color:#fff;box-shadow:var(--shadow);animation:up .25s}.toast.err{background:var(--no)}@keyframes up{0%{transform:translateY(10px);opacity:0}}.cal-wrap{overflow:auto;border-radius:var(--r)}.cal{border-collapse:separate;border-spacing:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;min-width:100%}.cal td,.cal th{border-bottom:1px solid var(--line);border-right:1px solid var(--line)}.cal th{font-weight:500;font-size:11px;color:var(--mute);padding:6px 4px;text-align:center;background:rgba(255,255,255,.6);position:-webkit-sticky;position:sticky;top:0;z-index:2}.cal th.we{background:rgba(201,171,119,.18);color:var(--clay-dk)}.cal th b{display:block;font-size:14px;color:var(--ink);font-weight:500}.cal .rh{position:-webkit-sticky;position:sticky;left:0;z-index:3;background:#fff;text-align:left;padding:8px 12px;min-width:190px;font-size:13px}.cal .rh b{font-weight:500;display:block}.cal .rh small{font-size:11px}.cal td.c{width:60px;min-width:60px;height:52px;padding:3px 4px;text-align:center;cursor:pointer;background:rgba(255,255,255,.35);transition:background .1s;position:relative}.cal td.c:hover{background:rgba(255,255,255,.8)}.cal td.c.we{background:rgba(201,171,119,.08)}.cal td.c.ss{background:repeating-linear-gradient(135deg,var(--no-bg) 0 6px,#f6d6d3 6px 12px);color:var(--no)}.cal td.c.full{background:#f2e9d9}.cal td.c.sel{outline:2px solid var(--clay);outline-offset:-2px;background:rgba(160,125,71,.22)!important}.cal td.c .p{display:block;font-weight:600;font-size:13px;line-height:1.1}.cal td.c .l{display:block;font-size:10.5px;color:var(--mute);margin-top:3px}.cal td.c.ov .p{color:var(--clay-dk)}.cal td.c .m{position:absolute;top:3px;right:4px;font-size:9px;background:var(--ink);color:#fff;border-radius:4px;padding:0 3px}.legend{display:flex;gap:16px;font-size:12px;color:var(--ink-2);flex-wrap:wrap}.legend i{display:inline-block;width:14px;height:14px;border-radius:4px;vertical-align:-2px;margin-right:6px;border:1px solid var(--line)}.bulk{position:-webkit-sticky;position:sticky;top:14px;display:flex;flex-direction:column;gap:12px}.bulk .sel-info{font-size:13px;padding:10px 12px;border-radius:10px;background:rgba(160,125,71,.12);color:var(--clay-dk)}.wd{display:flex;gap:4px}.wd button{flex:1 1;padding:6px 0;border-radius:8px;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:12px}.wd button.on{background:var(--clay);color:#fff;border-color:var(--clay)}.seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:#fff}.seg button{border:0;background:transparent;padding:7px 14px;cursor:pointer}.seg button.on{background:var(--ink);color:#fff}.layout-cal{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-gap:18px;gap:18px;align-items:start}.rooms{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));grid-gap:16px;gap:16px}.room h3{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.room .price{font-family:Cormorant Garamond,serif;font-size:24px;color:var(--clay-dk);white-space:nowrap}.room .desc{color:var(--ink-2);font-size:13px;margin:8px 0 12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.room .chips{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:14px}.room .chips span{font-size:11px;padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.7);border:1px solid var(--line)}.room.off{opacity:.55}.empty{padding:40px;text-align:center;color:var(--mute)}@media (max-width:1100px){.layout-cal{grid-template-columns:1fr}.bulk{position:static}.kpis{grid-template-columns:1fr 1fr}}.topbar{display:none}.tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:800px){.app{grid-template-columns:1fr;align-content:start}.topbar{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:rgba(28,24,21,.96);color:#eee7dc;position:-webkit-sticky;position:sticky;top:0;z-index:40}.topbar .brand img{height:34px}.topbar .brand b{font-size:16px}.burger{width:42px;height:42px;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:transparent;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0}.burger span{width:18px;height:1.6px;background:#eee7dc;border-radius:2px;transition:.25s}.burger[aria-expanded=true] span:first-child{transform:translateY(6.6px) rotate(45deg)}.burger[aria-expanded=true] span:nth-child(2){opacity:0}.burger[aria-expanded=true] span:nth-child(3){transform:translateY(-6.6px) rotate(-45deg)}.side{position:fixed;inset:0;height:auto;padding-top:84px;overflow:auto;z-index:39}.side,.side>.brand{display:none}.app.nav-open .side{display:flex}.app.nav-open .main{display:none}.main{padding:18px 16px 60px}.grid2,.grid3{grid-template-columns:1fr}.card,.grid2>*,.grid3>*,.settings-grid>*{min-width:0;max-width:100%}.btn{white-space:normal}.top{flex-direction:column;align-items:stretch}.top .row{flex-wrap:wrap}.kpis{grid-template-columns:1fr 1fr}h1{font-size:26px}.card{padding:16px}.card.pad0{overflow-x:auto}table.t{min-width:560px}.modal{padding:18px}.overlay{padding:12px}.modal .grid2{grid-template-columns:1fr}.modal .row[style*=nowrap]{flex-wrap:wrap!important}.rooms{grid-template-columns:1fr}.row>.inp[style*=width]{max-width:100%}.seg{flex-wrap:wrap}.grid-auto,.options-grid,.rooms-grid{grid-template-columns:1fr}input[type=date]{min-width:0}}.pages{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));grid-gap:14px;gap:14px}.page{display:flex;flex-direction:column;gap:6px;transition:.18s}.page:hover{transform:translateY(-2px)}.page .go{color:var(--clay-dk);font-weight:500;margin-top:6px}.cf{display:flex;flex-direction:column;gap:10px;max-width:980px}.cf-group{border:1px solid var(--line);border-radius:12px;padding:0;margin:0;background:rgba(255,255,255,.45)}.cf-group legend{float:left;width:100%;padding:11px 14px;cursor:pointer;font-weight:500;display:flex;align-items:center;gap:8px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cf-group legend em{font-style:normal;font-size:11px;background:var(--cream-2);border-radius:999px;padding:1px 8px;color:var(--ink-2)}.cf-group .chev{color:var(--clay);width:12px}.cf-group.open>legend{border-bottom:1px solid var(--line)}.cf-body{clear:both;padding:14px;gap:12px}.cf-body,.cf-item{display:flex;flex-direction:column}.cf-item{border:1px dashed rgba(160,125,71,.4);border-radius:10px;padding:12px;gap:10px;background:rgba(255,255,255,.5)}.cf-item-h{display:flex;justify-content:space-between;align-items:center;gap:8px}.imgf{display:flex;gap:12px;align-items:flex-start}.imgf .prev{width:140px;height:90px;border-radius:8px;background:var(--cream-2);overflow:hidden;display:grid;place-items:center;color:var(--mute);font-size:12px;cursor:pointer;flex-shrink:0;border:1px solid var(--line)}.imgf .prev img{width:100%;height:100%;object-fit:cover}.imgf-r{flex:1 1;display:flex;flex-direction:column;gap:8px}.savebar{position:fixed;bottom:18px;left:calc(var(--side) + 32px);right:32px;max-width:980px;background:var(--ink);color:#fff;border-radius:14px;padding:12px 18px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow);z-index:20}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 14px;cursor:pointer}.tabs button.on{background:var(--ink);color:#fff;border-color:var(--ink)}.tabs button em{font-style:normal;margin-left:6px;font-size:11px;background:rgba(255,255,255,.25);padding:1px 7px;border-radius:999px}.status{display:inline-flex;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:500}.status.PENDING{background:var(--warn-bg);color:var(--warn)}.status.CONFIRMED{background:var(--ok-bg);color:var(--ok)}.status.CANCELLED{background:var(--cream-2);color:var(--mute);text-decoration:line-through}.status.NO_SHOW{background:var(--no-bg);color:var(--no)}.status.CHECKED_IN{background:rgba(160,125,71,.18);color:var(--clay-dk)}.dl{display:grid;grid-template-columns:150px 1fr;grid-gap:6px 12px;gap:6px 12px;font-size:14px}.dl dt{color:var(--mute)}.dl dd{margin:0}.lines{width:100%;font-size:13.5px;border-collapse:collapse}.lines td{padding:6px 0;border-bottom:1px dashed var(--line)}.lines td:last-child{text-align:right;white-space:nowrap}.lines tr.tot td{font-weight:600;border-bottom:0;font-size:15px}.msg{display:grid;grid-template-columns:1fr auto;grid-gap:8px;gap:8px;padding:14px 16px;border-bottom:1px solid var(--line);cursor:pointer}.msg.unread{background:rgba(255,255,255,.6)}.msg.unread b:before{content:"●";color:var(--clay);margin-right:6px;font-size:10px;vertical-align:2px}.msg p{margin:4px 0 0;color:var(--ink-2);white-space:pre-wrap}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));grid-gap:16px;gap:16px;align-items:start}.tbl-edit{width:100%;border-collapse:collapse}.tbl-edit td{padding:4px 4px 4px 0}.tbl-edit input{padding:7px 10px}.nav a .nbadge{margin-left:auto;font-style:normal;font-size:11px;background:var(--clay);color:#fff;border-radius:999px;padding:1px 7px}.t td>b{white-space:nowrap}.avail .num{width:92px;padding:7px 10px}.switch{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;cursor:pointer;font:inherit;color:var(--ink-2)}.switch i{width:42px;height:24px;border-radius:999px;background:#d6d0c6;position:relative;transition:.2s;display:inline-block}.switch i:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.25);transition:.2s}.switch.on i{background:var(--no)}.switch.on i:after{left:21px}.switch.on span{color:var(--no);font-weight:500}.chk-list{display:flex;flex-direction:column;gap:6px;max-height:220px;overflow:auto;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff}.chk-list label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:400}.pc-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;grid-gap:18px;gap:18px;align-items:start}.pc-side{display:flex;flex-direction:column;gap:10px}.pc-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px}.pc-h{text-align:center;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);padding:4px 0}.pc-day{border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.7);padding:6px 4px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;font:inherit;color:inherit;transition:.12s;min-height:62px}.pc-day:hover{border-color:var(--clay)}.pc-day .d{font-size:11px;color:var(--mute)}.pc-day .p{font-weight:600;font-size:15px;line-height:1.1}.pc-day .l{font-size:10.5px;color:var(--mute)}.pc-day.we{background:rgba(201,171,119,.2)}.pc-day.ov{background:rgba(160,125,71,.25)}.pc-day.ov .p{color:var(--clay-dk)}.pc-day.ss{background:repeating-linear-gradient(135deg,var(--no-bg) 0 6px,#f6d6d3 6px 12px)}.pc-day.ss .p{color:var(--no)}.pc-day.past{opacity:.45}.pc-day.sel{outline:2px solid var(--ink);outline-offset:-2px;background:rgba(28,24,21,.08)}@media (max-width:900px){.pc-layout{grid-template-columns:1fr}}.opts th.rot span{display:inline-block;font-size:10px;max-width:70px;white-space:normal;line-height:1.2}.chips.opt span{background:rgba(160,125,71,.12);border-color:transparent;color:var(--clay-dk)}.switch.ok.on i{background:var(--ok)}.avail-n,.switch.ok.on span{color:var(--ok)}.avail-n{font-family:Cormorant Garamond,serif;font-size:30px;font-weight:500;line-height:1;min-width:34px;text-align:center}.avail-n.no{color:var(--no)}.avail-n.warn{color:var(--warn)}.avail td,.avail th{padding:10px}.avail .num{width:78px}.avail td:first-child{min-width:170px}.card.pad0:has(.avail){overflow:auto}.f input[type=date],.inp[type=date],.modal .grid2>.f,.pc-side,.pc-side .grid2{min-width:0}.banner{padding:12px 16px;border-radius:12px;margin-bottom:16px;font-size:14px}.banner.ok{background:var(--ok-bg);color:var(--ok)}.banner.warn{background:var(--warn-bg);color:var(--warn)}.banner code{background:rgba(0,0,0,.06);padding:1px 6px;border-radius:6px}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:12px;gap:12px;max-height:60vh;overflow:auto;padding:2px}.media{margin:0;border-radius:12px;overflow:hidden;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column}.media img{width:100%;aspect-ratio:4/3;object-fit:cover;cursor:pointer;display:block;transition:.15s}.media img:hover{opacity:.85}.media figcaption{display:flex;flex-direction:column;gap:6px;padding:8px}.media figcaption span{display:flex;gap:4px;justify-content:space-between}