@font-face{font-family:system;src:local('Segoe UI')}:root{font-family:system,'Segoe UI',Arial,sans-serif;color:#182936;background:#f2f5f7;font-size:14px;--ink:#122c3a;--muted:#667d89;--line:#dfe7eb;--accent:#0c776f}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);padding:10px 14px;font-weight:600}button:hover{background:#edf5f4}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--accent);color:white;border-color:var(--accent)}.primary:hover{background:#095e58}.subtle{background:transparent;border-color:transparent;color:#5d7481}.danger{color:#b13b4b}.hidden{display:none!important}.shell{display:flex;min-height:100vh}aside{width:236px;background:#112d3b;color:#e7f1f4;padding:30px 20px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column}.brand{font-size:30px;text-decoration:none;color:#7bd7c6;display:flex;align-items:center;gap:12px;font-weight:800}.brand span{font-size:18px;letter-spacing:2px;color:white}.brand small{font-size:8px;font-weight:400;letter-spacing:1.5px;color:#9eb8c4;display:block;margin-top:5px}.property{display:flex;gap:10px;padding:24px 0;border-bottom:1px solid #2b4553;margin-bottom:18px}.property small{display:block;font-size:11px;color:#9eb3bd;margin-top:5px}.hotel-icon{font-size:28px;color:#96c8c7}nav{overflow:auto}nav button{border:0;background:transparent;color:#a9bec7;display:flex;gap:12px;width:100%;text-align:left;margin:3px 0;font-weight:500;padding:12px}nav button.active{background:#284854;color:white;border-left:3px solid #73d4c1}nav button:hover{background:#203e4b}.side-bottom{font-size:11px;color:#a8c0ca;margin-top:auto;padding-top:24px}.side-bottom small{display:block;margin-top:8px;color:#7d9ca9}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#79d8b4;margin-right:5px}.workspace{margin-left:236px;width:calc(100% - 236px)}header{display:flex;justify-content:space-between;align-items:center;background:white;border-bottom:1px solid var(--line);padding:24px 32px}h1,h2,h3,p{margin-top:0}h1{font-size:25px;letter-spacing:-.6px;margin:6px 0 0}h2{font-size:18px;letter-spacing:-.2px}h3{font-size:15px}.eyebrow{font-size:10px;color:#718791;letter-spacing:1.5px;font-weight:700}.header-actions{display:flex;align-items:center;gap:8px}.header-actions span{font-size:12px;color:var(--muted);margin-right:12px}.pilot-banner{padding:10px 32px;background:#e9f3ef;color:#3b6b61;font-size:12px;border-bottom:1px solid #d7e8e0}main{padding:28px 32px;max-width:2000px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.metric,.panel{background:white;border:1px solid var(--line);border-radius:12px;box-shadow:0 3px 10px #102d3c03}.metric{padding:22px}.metric strong{display:block;font-size:29px;letter-spacing:-1px;margin:10px 0;color:#142e3b}.metric small{color:var(--muted);font-size:11px}.metric label{color:#667b85;display:block;font-size:12px}.panel{padding:24px;margin-bottom:22px}.panel-head,.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:20px}.panel-head h2{margin:0}.panel-head p{font-size:12px;color:var(--muted);margin:6px 0 0}.toolbar{justify-content:flex-start;margin-bottom:16px}.toolbar label{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}input,select,textarea{padding:10px 12px;border:1px solid #cbd8df;border-radius:7px;color:#183440;background:white;min-width:0}input:focus,select:focus,textarea:focus{border-color:#158f83}textarea{min-height:70px;resize:vertical}.toolbar input[type=search]{min-width:240px}.scroll{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:12px}th{background:#f5f8f9;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#6b808a;font-weight:600}td,th{padding:13px 12px;border-bottom:1px solid #e8eef1;white-space:nowrap}tbody tr:hover{background:#f8fbfb}td .sub{font-size:10px;display:block;color:var(--muted);margin-top:4px}.grid{table-layout:fixed;min-width:1250px}.grid th:first-child{width:140px;position:sticky;left:0;z-index:2}.grid td{padding:3px;border:1px solid #edf1f3;height:52px}.grid th{padding:10px 4px;text-align:center;white-space:normal}.grid thead th small{display:block;font-size:9px;font-weight:400;margin-top:4px}.grid tbody th{text-align:left;padding-left:12px;background:white;text-transform:none;letter-spacing:0;font-size:12px}.grid tbody th small{color:var(--muted);font-size:10px}.grid button{font-size:10px;padding:5px 3px;border-radius:4px;height:36px;width:100%;border:0;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid .free{background:transparent;color:transparent}.grid .free:hover{background:#dff2ed;color:#14766b}.grid .confirmed{background:#d8eae4;color:#176251;border-left:2px solid #419d83}.grid .checked_in{background:#dcebf9;color:#2a639a;border-left:2px solid #5e97ce}.grid .checked_out{background:#e9edf0;color:#637c89}.grid .blocked{background:repeating-linear-gradient(45deg,#f6e7d9,#f6e7d9 5px,#fdf7f1 5px,#fdf7f1 10px);color:#9a6334}.legend{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:11px;margin-top:18px}.legend span:before{content:' ';display:inline-block;width:8px;height:8px;border-radius:2px;background:#b8d9ce;margin-right:7px}.legend span:nth-child(2):before{background:#b7d7f5}.legend span:nth-child(3):before{background:#dce3e8}.legend span:nth-child(4):before{background:#eed5bc}.badge{display:inline-block;border-radius:5px;background:#edf3f5;padding:5px 8px;font-size:10px;color:#526d7a}.badge.good{background:#e1f1e9;color:#28745a}.badge.warn{background:#fff1db;color:#976b2a}.badge.blue{background:#e2eefb;color:#336f9f}.badge.bad{background:#fbe6e8;color:#b34f60}.actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.actions button{padding:6px 9px;font-size:11px}.empty{padding:35px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:8px}.muted{color:var(--muted)}.note{color:var(--muted);font-size:12px;line-height:1.7}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.cards .panel{margin:0}.cards p{font-size:12px;line-height:1.7;color:var(--muted)}.cards h3{margin:12px 0}.chart{display:flex;align-items:flex-end;gap:6px;overflow:auto;padding:16px 0}.chart-item{min-width:35px;display:flex;align-items:center;flex-direction:column;gap:8px;font-size:9px;color:var(--muted)}meter{width:30px;height:130px;writing-mode:vertical-lr;direction:rtl;accent-color:#368d7a}progress{accent-color:#368d7a;width:130px;max-width:100%}.auth{min-height:100vh;background:#112d3b;display:flex;align-items:center;justify-content:center;gap:90px;padding:30px}.auth-brand{color:#8ad8c8;font-size:120px;font-weight:700}.auth-brand span{display:block;font-size:34px;letter-spacing:7px;color:white}.auth-brand small{display:block;font-size:11px;letter-spacing:3px;font-weight:400;color:#9bb7c4;margin-top:10px}.auth-card{background:white;border-radius:16px;padding:40px;width:430px}.auth-card h1{margin-bottom:16px}.auth-card p{color:var(--muted);font-size:13px;line-height:1.7}.auth-card label{display:flex;flex-direction:column;gap:8px;margin-top:16px;font-size:12px}.auth-card button{margin-top:24px;width:100%}.auth-card small{font-size:10px;color:var(--muted);line-height:1.6;display:block;margin-top:20px}#auth-error,#modal-error{color:#b43d53;font-size:12px;white-space:pre-wrap}dialog{border:0;border-radius:14px;padding:28px;width:min(680px,94vw);box-shadow:0 24px 80px #0c283b50;color:var(--ink)}dialog::backdrop{background:#0c273d70;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dialog-head h2{margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#496472}.form-grid .wide{grid-column:1/-1}.form-grid p{margin:0;line-height:1.7}.dialog-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}#toast{position:fixed;bottom:25px;right:30px;z-index:20;background:#143d40;color:white;padding:16px 22px;box-shadow:0 5px 30px #102f3e30;border-radius:10px;max-width:600px;white-space:pre-wrap}footer{padding:10px 32px 25px;color:#83949c;font-size:10px}.booking-page{min-height:100vh;background:#f5f0e8;color:#273932}.booking-header{padding:28px 7%;border-bottom:1px solid #dcd8cf;display:flex;justify-content:space-between;align-items:center}.booking-header a{color:inherit}.booking-hero{max-width:1100px;margin:60px auto;padding:0 24px}.booking-hero h1{font-size:58px;letter-spacing:-2px;max-width:700px;line-height:1.1;margin:20px 0}.booking-hero>p{font-size:16px;color:#6b796c;line-height:1.8;max-width:650px}.booking-search{display:flex;flex-wrap:wrap;gap:16px;align-items:end;padding:26px;background:#fffcf7;border:1px solid #dcded4;border-radius:12px;margin:30px 0}.booking-search label{display:flex;flex-direction:column;gap:8px}.booking-results{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.booking-results .panel{background:#fffcf7}.room-art{height:110px;background:linear-gradient(140deg,#cad5be,#597967);border-radius:8px;display:grid;place-items:center;color:#eef5e9;font-size:42px}.booking-page.city{background:#eef2f7}.city .room-art{background:linear-gradient(140deg,#c6d7e5,#3c5a72)}.city .booking-search,.city .panel{background:white}.booking-page h2{margin-top:15px}.booking-results button{width:100%;margin-top:12px}.booking-results strong{font-size:22px}.booking-confirm{padding:22px;border:1px solid #88b29b;background:#e0efe5;line-height:1.8}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}@media(max-width:1100px){aside{width:200px;padding:24px 12px}.workspace{margin-left:200px;width:calc(100% - 200px)}main,header{padding:22px}.metrics{gap:10px}.metric{padding:16px}.metric strong{font-size:23px}.cards{grid-template-columns:1fr 1fr}}@media(max-width:760px){aside{position:static;width:100%;padding:14px}.shell{display:block}.workspace{margin-left:0;width:100%}.brand{font-size:24px}.brand small,.property,.side-bottom{display:none}nav{display:flex;margin-top:12px;gap:4px}nav button{white-space:nowrap;width:auto;padding:8px;font-size:12px}.header-actions{gap:2px;flex-wrap:wrap}.header-actions span{width:100%;text-align:right}header,main{padding:18px}h1{font-size:22px}.pilot-banner{padding:10px 18px}.metrics{grid-template-columns:1fr 1fr}.metric strong{font-size:24px}.panel{padding:16px}.cards,.booking-results{grid-template-columns:1fr}.auth{padding:20px}.auth-brand{display:none}.auth-card{padding:26px;width:100%;max-width:430px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.booking-hero{margin:35px auto}.booking-hero h1{font-size:42px}.booking-header{padding:20px}footer{padding:20px}}
.grid tbody th small{display:block;line-height:1.4}

@media(max-width:760px){input,select,textarea{font-size:16px}button{min-height:44px}.brand img{width:34px;height:34px}.grid .free{color:#568377}.booking-search label{flex:1;min-width:120px}.header-actions span{overflow-wrap:anywhere}#toast{left:12px;right:12px;bottom:12px;max-width:none}dialog{max-height:90vh;overflow:auto}.booking-hero h1{overflow-wrap:anywhere}}
.party-editor{padding:16px;border:1px solid var(--line);border-radius:10px;background:#f8fbfa}.party-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.party-head h3{margin:0}.child-row{display:grid;grid-template-columns:1fr 1fr 44px;gap:10px;align-items:end;margin-top:12px}.child-row label,.photo-manager>label,.layout-block>label{display:flex;flex-direction:column;gap:7px;margin-bottom:10px}.child-price-row{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.child-price-row small{display:block;font-size:11px;color:var(--muted);margin-top:6px}.child-price-row label{font-size:12px;display:flex;flex-direction:column;gap:6px}.age-group{display:grid;grid-template-columns:1.4fr 1fr 70px 70px 44px;gap:8px;align-items:end;margin:14px 0}.age-group input,.age-group select{width:100%}.price-breakdown{font-size:12px;line-height:1.5;color:var(--ink)}.price-breakdown p{margin:5px 0!important}.price-total{font-size:18px!important;padding-top:8px}.layout-block{border:1px solid var(--line);border-radius:9px;padding:14px;margin-bottom:14px}.check-label{flex-direction:row!important;align-items:center}.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}.photo-grid figure{margin:0}.photo-grid img{width:100%;height:150px;object-fit:cover;border-radius:8px}.photo-grid figcaption{font-size:11px;margin:7px 0;overflow-wrap:anywhere}.photo-manager input[type=file]{width:100%}.room-thumb{display:block;width:96px;height:64px;object-fit:cover;border-radius:7px;margin:8px 0}.site-layout{max-width:1120px;margin:0 auto;padding:24px}.site-section{margin:30px 0 45px;padding-top:10px}.site-section>p{white-space:pre-line;line-height:1.8}.hero-section h1{font-size:54px;line-height:1.08;letter-spacing:-1.5px;margin:20px 0}.hero-section p{line-height:1.8}.hero-section>img{width:100%;height:380px;object-fit:cover;border-radius:16px;margin-top:24px}.hero-split.has-cover .hero-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:35px}.booking-search .party-editor{flex-basis:100%}.room-gallery{display:flex;overflow:auto;scroll-snap-type:x mandatory;gap:8px;border-radius:9px}.room-gallery img{width:100%;min-width:100%;height:180px;object-fit:cover;scroll-snap-align:start}.embedded-booking .booking-header,.embedded-booking>footer{display:none}.embedded-booking .site-layout{padding:12px}.embedded-booking .site-section{margin:0}.booking-results .panel p{white-space:normal;overflow-wrap:anywhere}.layout-block textarea{width:100%;min-height:100px}
@media(max-width:760px){.child-price-row{grid-template-columns:1fr 1fr}.child-price-row strong{grid-column:1/-1}.age-group{grid-template-columns:1fr 1fr}.age-group label{min-width:0}.party-head{flex-wrap:wrap}.child-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px}.child-row input,.child-row select{width:100%;padding:10px 5px}.hero-section h1{font-size:38px}.hero-split.has-cover .hero-section{display:block}.hero-section>img{height:240px}.site-layout{padding:18px}.photo-grid{grid-template-columns:1fr 1fr}.booking-search{padding:14px}.booking-results{grid-template-columns:1fr}}

.occupant-card{border:1px solid #d9e5e8;border-radius:14px;padding:18px;margin:14px 0;background:#fff}.occupant-card h4{margin:0 0 14px}.occupant-card details{margin-top:14px}.occupant-card summary{cursor:pointer;color:#0c776f;padding:8px 0}.registration-summary{padding:16px 0}.registration-summary li{margin:6px 0}.occupant-card .form-grid{gap:14px}

.brand span{font-size:16px;letter-spacing:1.2px}.auth-brand span{letter-spacing:3px}
/* Calendar selectors stay inside the panel on narrow screens. */
.calendar-toolbar label{max-width:100%;min-width:0}.calendar-toolbar select{min-width:0;max-width:100%;flex:1}
@media(max-width:760px){.calendar-toolbar label{flex-direction:column;align-items:stretch;width:100%}.calendar-toolbar select,.calendar-toolbar input{width:100%;max-width:100%}}
.grid button.inventory-held{background:#f4e4bd;color:#694c19}.grid button.inventory-confirmed{background:#cddfea;color:#173e55}

.property-details{min-width:0;overflow-wrap:anywhere}.property-details strong{display:block;font-size:16px;line-height:1.4}.property-details small{display:block;line-height:1.5}.property-details #property-type{letter-spacing:.06em;font-size:11px;text-transform:uppercase}.property-details #workspace-license{margin-top:8px;padding:7px 9px;border-radius:6px;background:#244955;color:#c8f2e7;font-size:12px}.property-details #workspace-license[data-level="warning"],.property-details #workspace-license[data-level="trial"]{background:#4d452e;color:#ffe1a0}.property-details #workspace-license[data-level="urgent"],.property-details #workspace-license[data-level="expired"]{background:#64343b;color:#ffe1e4}.property-details #workspace-license-note{font-size:11px;margin-top:4px;color:#e1d3ae}

@media(max-width:760px){.property{display:flex;padding:12px 0 2px;margin:0;border:0}.property .hotel-icon{display:none}.property-details{display:grid;width:100%;grid-template-columns:minmax(0,1fr) minmax(140px,1fr);column-gap:12px}.property-details #property-type{grid-column:1;grid-row:1}.property-details #property-name{grid-column:1;grid-row:2}.property-details #workspace-license{grid-column:2;grid-row:1 / span 2;margin-top:0;align-self:center}.property-details #workspace-license-note{grid-column:1 / -1;grid-row:3}}
