*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}body{font:13px/1.4 Inter,system-ui,sans-serif;color:var(--text);background:var(--bg)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{height:100vh;display:grid;grid-template-columns:var(--side) minmax(0,1fr)}.sidebar{background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column}.workspace{min-width:0;display:grid;grid-template-rows:var(--top) minmax(0,1fr)}.topbar{display:flex;align-items:center;gap:9px;padding:0 16px;background:var(--surface);border-bottom:1px solid var(--border);z-index:20}.main{overflow:auto;padding:20px 24px 36px}.brand{height:56px;display:flex;align-items:center;gap:10px;padding:0 14px;border-bottom:1px solid var(--border)}.brand-mark{width:27px;height:27px;display:grid;place-items:center;border-radius:5px;background:var(--accent);color:#fff;font-weight:700}.brand-copy{display:grid}.brand-copy span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.nav-scroll{flex:1;overflow:auto;padding:12px 8px}.nav-group{margin-bottom:14px}.nav-label{font-size:12px;color:var(--muted);font-weight:700;letter-spacing:.08em;padding:0 9px 5px}.nav-item{width:100%;height:33px;border:0;border-radius:5px;background:transparent;color:var(--muted);display:flex;align-items:center;gap:9px;padding:0 9px;text-align:left}.nav-item:hover{background:var(--surface2);color:var(--text)}.nav-item.active{background:var(--accent2);color:var(--accent);font-weight:600}.nav-icon{width:17px;text-align:center}.nav-bottom{padding:8px;border-top:1px solid var(--border)}.spacer{flex:1}.property-btn{height:34px;border:0;background:transparent;border-radius:5px;padding:0 8px;display:flex;align-items:center;gap:8px}.property-btn:hover{background:var(--surface2)}.property-dot{width:8px;height:8px;border-radius:2px;background:var(--accent)}.search-trigger{width:min(420px,36vw);height:34px;border:1px solid var(--border);border-radius:5px;background:var(--surface2);color:var(--muted);display:flex;align-items:center;gap:8px;padding:0 10px;text-align:left}.kbd{margin-left:auto;border:1px solid var(--border);border-bottom-width:2px;border-radius:4px;background:var(--surface);font-size:12px;padding:1px 5px}.avatar{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#d9c7b5;color:#5d4532;font-weight:700;font-size:11px}.btn,.icon-btn,.seg{height:32px;border:1px solid var(--border);border-radius:5px;background:var(--surface);display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 11px;font-weight:500;white-space:nowrap}.icon-btn{width:32px;padding:0}.btn:hover,.icon-btn:hover{background:var(--surface2)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.danger{color:var(--red)}.btn.sm{height:28px;padding:0 8px;font-size:12px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.title h1{font-size:23px;letter-spacing:-.02em;margin:0 0 3px}.title p{margin:0;color:var(--muted)}.actions,.toolbar,.filters{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.panel{background:var(--surface);border:1px solid var(--border);border-radius:6px}.panel-head{height:43px;padding:0 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.panel-head h2,.section-title{margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.panel-body{padding:14px}.muted{color:var(--muted)}.small{font-size:11px}.link{color:var(--accent);font-weight:600;cursor:pointer}.summary-strip{display:flex;background:var(--surface);border:1px solid var(--border);border-radius:6px;margin-bottom:16px}.summary-item{padding:11px 18px;border-right:1px solid var(--border);display:flex;align-items:baseline;gap:9px}.summary-item:last-child{border:0}.summary-item strong{font-size:19px}.summary-item span{font-size:12px;color:var(--muted);font-weight:700;letter-spacing:.04em}.grid-2{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,.85fr);gap:14px}.stack{display:grid;gap:14px}.data-table{width:100%;border-collapse:collapse}.data-table th{height:34px;padding:0 12px;text-align:left;background:var(--surface2);border-bottom:1px solid var(--border);font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.data-table td{height:46px;padding:7px 12px;border-bottom:1px solid var(--border)}.data-table tr:last-child td{border:0}.data-table tbody tr:hover{background:var(--surface2)}.clickable{cursor:pointer}.cell-main{font-weight:600}.cell-sub{font-size:12px;color:var(--muted);margin-top:2px}.status{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 7px;border-radius:4px;font-size:12px;font-weight:600;white-space:nowrap}.status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status.success{color:var(--green);background:var(--greenbg)}.status.warning{color:var(--amber);background:var(--amberbg)}.status.danger{color:var(--red);background:var(--redbg)}.status.info{color:var(--blue);background:var(--bluebg)}.status.neutral{color:var(--muted);background:var(--surface2)}.attention-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border);cursor:pointer}.attention-item:last-child{border:0}.attention-icon{width:28px;height:28px;border-radius:5px;display:grid;place-items:center;background:var(--amberbg);color:var(--amber)}.attention-copy{display:grid;flex:1}.attention-copy span{font-size:12px;color:var(--muted)}.hk-summary{display:grid;grid-template-columns:repeat(4,1fr)}.hk-summary div{padding:11px;border-right:1px solid var(--border)}.hk-summary div:last-child{border:0}.hk-summary strong{display:block;font-size:18px}.hk-summary span{font-size:12px;color:var(--muted)}
.planner-page{margin:-20px -24px -36px;height:calc(100vh - var(--top));display:grid;grid-template-rows:auto auto minmax(0,1fr);background:var(--surface)}.planner-header{padding:14px 16px 10px;border-bottom:1px solid var(--border)}.planner-header .page-header{margin:0}.planner-toolbar{padding:8px 16px;border-bottom:1px solid var(--border);display:flex;gap:7px;align-items:center}.segmented{display:flex}.segmented .seg{border-radius:0;margin-left:-1px;height:29px;padding:0 8px;font-size:11px}.segmented .seg:first-child{border-radius:5px 0 0 5px;margin:0}.segmented .seg:last-child{border-radius:0 5px 5px 0}.seg.active{background:var(--accent2);color:var(--accent);border-color:var(--accent)}.select{height:29px;border:1px solid var(--border);border-radius:5px;background:var(--surface);padding:0 8px}.planner-wrap{overflow:auto;position:relative}.planner-grid{display:grid;grid-template-columns:190px repeat(9,var(--cell));min-width:1306px}.corner,.date-head{position:sticky;top:0;z-index:9;height:54px;background:var(--surface);border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.corner{left:0;z-index:11;padding:9px 12px;font-size:12px;color:var(--muted)}.date-head{display:grid;place-items:center;text-align:center}.date-head.today{background:var(--accent2);color:var(--accent)}.date-head strong{display:block;font-size:11px}.date-head span{font-size:12px;color:var(--muted)}.room-cell{position:sticky;left:0;z-index:6;height:58px;background:var(--surface);border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:8px 12px}.room-cell strong{display:block}.room-cell span{font-size:12px;color:var(--muted)}.plan-cell{height:58px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface)}.plan-cell:hover{background:var(--accent2)}.reservation-bar{z-index:5;align-self:center;height:34px;margin:0 3px;border:1px solid;border-radius:4px;padding:4px 8px;overflow:hidden;cursor:pointer;display:grid;align-content:center;box-shadow:0 1px 2px #0002}.reservation-bar strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reservation-bar span{font-size:12px;white-space:nowrap;opacity:.8}.reservation-bar.confirmed{background:#e8f1f8;border-color:#8eb3cc;color:#224d6b}.reservation-bar.checked{background:#e8f5ee;border-color:#8dc4a9;color:#215d45}.reservation-bar.option{background:#fff4dc;border-color:#d8b46e;color:#805613}[data-theme=dark] .reservation-bar.confirmed{background:#263b4b;color:#b9d7eb}[data-theme=dark] .reservation-bar.checked{background:#203a30;color:#a9dec5}[data-theme=dark] .reservation-bar.option{background:#40341f;color:#f0cf8d}.unassigned-head{grid-column:1/-1;height:38px;padding:0 12px;display:flex;align-items:center;gap:8px;background:var(--surface2);border-bottom:1px solid var(--border);font-weight:600}.unassigned-card{height:48px;margin:5px;border:1px solid var(--border);border-radius:4px;background:var(--surface);padding:6px 8px;cursor:grab}.unassigned-card strong{display:block;font-size:12px}.unassigned-card span{font-size:12px;color:var(--muted)}
.drawer-backdrop{position:fixed;inset:0;background:#10182033;z-index:50}.drawer{position:fixed;right:0;top:0;height:100vh;width:min(448px,95vw);z-index:51;background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow);display:grid;grid-template-rows:auto minmax(0,1fr) auto}.drawer-head{padding:15px 18px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between}.drawer h2{font-size:20px;margin:8px 0 4px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}.drawer-body{padding:18px;overflow:auto}.drawer-foot{padding:12px 18px;border-top:1px solid var(--border)}.stay-card{border:1px solid var(--border);border-radius:5px;padding:13px;margin:16px 0}.stay-route{display:flex;align-items:center;gap:14px}.stay-route>div{flex:1}.stay-route strong{display:block;font-size:15px}.stay-route span{font-size:12px;color:var(--muted)}.route-line{height:1px;background:var(--border)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border);border-radius:5px}.detail{padding:11px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.detail:nth-child(2n){border-right:0}.detail:nth-last-child(-n+2){border-bottom:0}.detail label{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.due{color:var(--red)}.drawer-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:16px}.drawer-actions .primary{grid-column:1/-1;height:38px}.modal-backdrop{position:fixed;inset:0;background:#10182077;z-index:70;display:grid;place-items:center;padding:16px}.modal{width:min(480px,95vw);max-height:88vh;overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:7px;box-shadow:var(--shadow)}.modal-head{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.modal-head h2{font-size:16px;margin:0}.modal-body{padding:16px}.modal-foot{padding:12px 16px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:7px}.command{width:min(650px,95vw);align-self:start;margin-top:9vh}.command-input{width:100%;height:54px;border:0;border-bottom:1px solid var(--border);background:transparent;padding:0 18px;outline:0;font-size:15px}.command-section{padding:8px}.command-label{padding:7px 9px;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.command-row{height:40px;display:flex;align-items:center;gap:10px;padding:0 10px;border-radius:4px;cursor:pointer}.command-row:hover,.command-row.selected{background:var(--accent2)}.command-icon{width:26px;height:26px;border-radius:4px;background:var(--surface2);display:grid;place-items:center}.command-row small{margin-left:auto;color:var(--muted)}.menu{position:fixed;z-index:80;width:210px;padding:5px;background:var(--surface);border:1px solid var(--border);border-radius:5px;box-shadow:var(--shadow)}.menu-item{width:100%;height:34px;border:0;background:transparent;border-radius:4px;text-align:left;padding:0 9px;display:flex;align-items:center}.menu-item:hover{background:var(--surface2)}.menu-item.danger{color:var(--red)}.menu-sep{height:1px;background:var(--border);margin:5px}.toast-root{position:fixed;right:18px;bottom:18px;z-index:100;display:grid;gap:8px}.toast{min-width:260px;padding:11px 13px;border-radius:5px;background:var(--text);color:var(--surface);box-shadow:var(--shadow)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:grid;gap:5px}.field.full{grid-column:1/-1}.field label{font-size:12px;color:var(--muted);font-weight:600}.input{height:36px;width:100%;border:1px solid var(--border);border-radius:5px;background:var(--surface);padding:0 10px;outline:0}.input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent2)}.subnav{display:flex;gap:20px;border-bottom:1px solid var(--border);margin-bottom:16px;overflow:auto}.tab{height:36px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);white-space:nowrap}.tab.active{color:var(--text);border-color:var(--accent);font-weight:600}.hero-row{display:flex;align-items:center;gap:14px}.guest-avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--accent2);color:var(--accent);font-weight:700}.folio{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--border);border-radius:5px}.folio>div{padding:12px;border-right:1px solid var(--border)}.folio>div:last-child{border:0}.folio label{font-size:12px;text-transform:uppercase;color:var(--muted);display:block}.folio strong{font-size:16px}.activity{border-left:1px solid var(--border);margin-left:6px}.activity-item{position:relative;padding:0 0 18px 17px}.activity-item:before{content:"";position:absolute;left:-4px;top:5px;width:7px;height:7px;border-radius:50%;background:var(--accent)}.activity-item p{margin:2px 0;font-size:12px;color:var(--muted)}.steps{display:flex;border-bottom:1px solid var(--border)}.step{flex:1;padding:10px;color:var(--muted);border-bottom:2px solid transparent}.step span{display:block;font-size:12px}.step.active{border-color:var(--accent);color:var(--text)}.step.done{color:var(--green)}.availability-card{display:flex;align-items:center;gap:12px;padding:11px;border:1px solid var(--border);border-radius:5px;margin-top:8px;cursor:pointer}.availability-card:hover,.availability-card.selected{border-color:var(--accent);background:var(--accent2)}.room-price{margin-left:auto;text-align:right}.summary-lines{display:grid;gap:8px}.summary-line{display:flex;justify-content:space-between}.summary-line.total{border-top:1px solid var(--border);padding-top:10px;font-size:16px;font-weight:700}.sheet-grid{overflow:auto;border:1px solid var(--border);border-radius:5px}.sheet{border-collapse:separate;border-spacing:0;min-width:900px;width:100%}.sheet th,.sheet td{height:42px;padding:0 10px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:center}.sheet th{background:var(--surface2);font-size:12px;color:var(--muted)}.sheet th:first-child,.sheet td:first-child{text-align:left;position:sticky;left:0;background:var(--surface);z-index:2;min-width:170px}.sheet td.editable{cursor:pointer}.sheet td.selected{background:var(--accent2);outline:1px solid var(--accent);outline-offset:-1px}.channel{display:flex;align-items:center;gap:12px;padding:14px;border-bottom:1px solid var(--border)}.channel:last-child{border:0}.channel-logo{width:38px;height:38px;border:1px solid var(--border);border-radius:5px;display:grid;place-items:center;font-weight:700}.channel-main{flex:1}.sync-error,.banner{padding:12px;border:1px solid var(--border);border-radius:5px}.sync-error,.banner.error{background:var(--redbg);color:var(--red)}.banner.warning{background:var(--amberbg);color:var(--amber)}.empty{text-align:center;padding:40px}.mobile-nav{display:none}
@media(max-width:900px){:root{--side:64px}.brand{justify-content:center;padding:0}.brand-copy,.nav-label,.nav-item span:not(.nav-icon){display:none}.nav-item{justify-content:center}.grid-2{grid-template-columns:1fr}.main{padding:16px}.planner-page{margin:-16px;height:calc(100vh - var(--top))}.search-trigger{width:38px;padding:0;justify-content:center}.search-trigger span:nth-child(2),.search-trigger .kbd,.property-btn strong{display:none}}@media(max-width:640px){html,body{overflow:auto}.app-shell{display:block;height:auto;min-height:100vh}.sidebar{display:none}.workspace{display:block}.topbar{position:sticky;top:0;height:54px}.main{padding:14px 12px 75px}.title h1{font-size:20px}.summary-strip{overflow:auto;margin-left:-12px;margin-right:-12px;border-radius:0}.summary-item{min-width:130px}.data-table th:nth-child(n+4),.data-table td:nth-child(n+4){display:none}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:60px;background:var(--surface);border-top:1px solid var(--border);z-index:30;justify-content:space-around}.mobile-nav button{border:0;background:transparent;color:var(--muted);font-size:12px}.planner-page{margin:-14px -12px -75px;height:calc(100vh - 54px)}.folio{grid-template-columns:1fr 1fr}.drawer{width:100%}.modal-backdrop{padding:7px}.modal{width:100%}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* 2026 olive hospitality design system — shadcn-inspired primitives */
:root{--bg:#f7f7f3;--surface:#fff;--surface2:#f2f2ed;--text:#1c1d19;--muted:#686a62;--border:#e3e3dc;--accent:#7c8450;--accent2:#f0f1e7;--green:#687044;--greenbg:#eef0e3;--amber:#946626;--amberbg:#fbf2df;--red:#a54c45;--redbg:#f9e9e7;--blue:#58768a;--bluebg:#e9f0f3;--shadow:0 1px 2px rgba(28,29,25,.04),0 10px 28px rgba(28,29,25,.05);--side:244px;--top:64px;--cell:128px}
[data-theme=dark]{--bg:#171814;--surface:#1e201a;--surface2:#282a23;--text:#f0f1ea;--muted:#b0b2a7;--border:#37392f;--accent:#a6ad7a;--accent2:#32362a;--green:#a6ad7a;--greenbg:#303426;--amber:#d7ad69;--amberbg:#3d3323;--red:#df8880;--redbg:#422a27;--blue:#94adbb;--bluebg:#29373e;--shadow:0 1px 2px #0004,0 12px 30px #0004}
body{font-family:Geist,Inter,system-ui,sans-serif;font-size:14px;line-height:1.45;text-rendering:optimizeLegibility}
.topbar{padding:0 24px;gap:10px;background:var(--surface)}
.main{padding:28px 32px 40px}
.brand{height:64px;padding:0 18px;gap:11px}
.brand-mark{width:30px;height:30px;border-radius:9px;background:var(--accent);box-shadow:inset 0 0 0 1px #fff3}
.brand-copy strong{font-size:14px;letter-spacing:-.01em}.brand-copy span{font-size:12px}
.nav-scroll{padding:16px 10px}.nav-group{margin-bottom:18px}.nav-label{padding:0 10px 6px;font-size:12px;color:#92948b}
.nav-item{height:38px;border-radius:8px;padding:0 10px;gap:10px;font-size:13px;transition:background .16s,color .16s}
.nav-item.active{background:#f0f1e7;color:#25261f;font-weight:600;box-shadow:inset 3px 0 0 var(--accent)}
[data-theme=dark] .nav-item.active{background:var(--accent2);color:var(--text)}
.nav-item.active .nav-icon{color:#707848}.nav-icon{font-size:15px}
.property-btn,.search-trigger{height:38px;border-radius:8px}.property-btn{padding:0 10px}.property-dot{background:var(--accent);border-radius:50%}
.search-trigger{background:var(--bg);border-color:var(--border);width:min(430px,36vw)}
.avatar{width:32px;height:32px;background:var(--accent2);color:var(--accent-dark,#555d39);border:1px solid var(--border)}
.btn,.icon-btn,.seg{height:36px;border-radius:8px;padding:0 13px;transition:background .16s,border-color .16s,box-shadow .16s}
.icon-btn{width:36px;padding:0}.btn:hover,.icon-btn:hover{border-color:#d5d6cd;background:var(--surface2)}
.btn:focus-visible,.icon-btn:focus-visible,.input:focus,.select:focus{outline:none;box-shadow:0 0 0 3px rgba(124,132,80,.18);border-color:var(--accent)}
.btn.primary{background:var(--accent);border-color:var(--accent);box-shadow:0 1px 2px rgba(28,29,25,.08)}
.btn.primary:hover{background:#687044;border-color:#687044}.btn.sm{height:30px;border-radius:7px}
.page-header{margin-bottom:24px}.title h1{font-size:30px;line-height:1.18;font-weight:600;letter-spacing:-.035em;margin-bottom:5px}.title p{font-size:13px}
.panel{border-radius:12px;box-shadow:0 1px 2px rgba(28,29,25,.025)}.panel-head{height:52px;padding:0 18px}.panel-head h2,.section-title{font-size:12px;font-weight:600;letter-spacing:.045em}
.panel-body{padding:18px}.grid-2,.stack{gap:16px}
.summary-strip{border-radius:12px;box-shadow:0 1px 2px rgba(28,29,25,.025);margin-bottom:20px}.summary-item{padding:15px 22px;min-width:142px}.summary-item strong{font-size:30px;line-height:1;font-weight:600;letter-spacing:-.04em}.summary-item span{font-size:11px}
.data-table th{height:40px;background:transparent;border-bottom:1px solid var(--border);font-size:11px;font-weight:600;padding:0 16px}.data-table td{height:50px;padding:8px 16px}.data-table tbody tr{transition:background .15s}.data-table tbody tr:hover{background:#f4f5ec}[data-theme=dark] .data-table tbody tr:hover{background:var(--accent2)}
.status{height:24px;padding:0 8px;border-radius:999px;font-size:11px}.status:before{width:5px;height:5px}
.attention-item{padding:12px 0}.attention-icon{width:32px;height:32px;border-radius:8px}.hk-summary div{padding:16px}.hk-summary strong{font-size:24px;font-weight:600}
.planner-page{margin:-28px -32px -40px;height:calc(100vh - var(--top))}.planner-header{padding:20px 24px 14px}.planner-toolbar{padding:10px 24px;background:var(--surface);gap:8px}.segmented .seg{height:32px;font-size:12px}.select{height:32px;border-radius:7px;padding:0 10px}
.corner,.date-head{height:62px}.corner{padding:12px 14px}.date-head.today{background:var(--accent2);color:var(--accent)}.date-head.today:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--accent)}
.room-cell,.plan-cell{height:62px}.room-cell{padding:9px 14px}.plan-cell:hover{background:#f4f5ec}
.reservation-bar{height:38px;border-radius:7px;padding:5px 10px;box-shadow:0 1px 2px #0000000d}.reservation-bar strong{font-size:12px}.reservation-bar span{font-size:12px}
.reservation-bar.confirmed{background:#eef0e3;border-color:#c8cda8;color:#555d39}.reservation-bar.checked{background:#e7efea;border-color:#aec6b8;color:#456655}.reservation-bar.option{background:#fbf2df;border-color:#dfc28f;color:#815b22}
.unassigned-head{height:44px;background:var(--bg)}.unassigned-card{height:52px;border-radius:8px;padding:8px 10px}.unassigned-card strong{font-size:12px}.unassigned-card span{font-size:12px}
.drawer{width:min(480px,96vw)}.drawer-head{padding:20px 24px}.drawer h2{font-size:22px;letter-spacing:-.02em}.drawer-body{padding:24px}.drawer-foot{padding:16px 24px}.stay-card,.detail-grid{border-radius:10px}.stay-card{padding:16px}.detail{padding:14px}.drawer-actions{gap:9px}
.modal{border-radius:12px}.modal-head{padding:16px 20px}.modal-body{padding:20px}.modal-foot{padding:14px 20px}.menu{border-radius:9px;padding:6px}.menu-item,.command-row{border-radius:7px}
.input{height:40px;border-radius:8px;padding:0 12px}.field{gap:7px}.field label{font-size:13px;color:var(--text)}.form-grid{gap:16px}.availability-card{border-radius:10px;padding:14px;margin-top:10px}.availability-card.selected{background:var(--accent2);border-color:#b9bf92}
.subnav{gap:24px}.tab{height:42px}.guest-avatar{width:48px;height:48px;background:var(--accent2);color:var(--accent);border:1px solid #dfe2ca}.folio{border-radius:12px}.folio>div{padding:16px}.folio strong{font-size:22px}
.sheet-grid{border-radius:12px}.sheet th{background:var(--surface2);font-size:11px}.sheet td.selected{background:#f4f5ec;outline-color:var(--accent)}
.channel{padding:16px 18px}.channel-logo{width:42px;height:42px;border-radius:10px;background:var(--surface2)}.sync-error,.banner{border-radius:10px;padding:14px}.toast{border-radius:9px;padding:13px 15px}
@media(max-width:900px){.main{padding:20px}.planner-page{margin:-20px;height:calc(100vh - var(--top))}}@media(max-width:640px){.main{padding:16px 12px 75px}.planner-page{margin:-16px -12px -75px}.title h1{font-size:25px}}
.notification-list{display:grid;gap:0}.notification-item{display:grid;gap:3px;padding:12px 0;border-bottom:1px solid var(--border)}.notification-item:last-child{border-bottom:0}.notification-item strong{font-size:12px}.notification-item small{font-size:12px;color:var(--muted)}.help-links{display:grid;gap:6px}.help-links .quick-create-option{display:grid;gap:3px;padding:12px}.help-links .quick-create-option span{font-size:12px;color:var(--muted)}

.brand-logo{width:38px;height:38px;object-fit:contain;border-radius:10px}.auth-brand .brand-logo{width:42px;height:42px;object-fit:contain}.brand-copy strong{font-weight:600}


[data-theme=dark] .brand-logo,[data-theme=dark] .auth-brand .brand-logo{content:url('travel-crafters-logo-light.png')}

