@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-ext-wght-normal-DCwSJGxG.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-wght-normal-D_ZTVpCC.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.badge-ok{background:var(--ok-soft);color:var(--ok)}.message-group{margin-bottom:24px}.message-group>h2{font-size:20px;margin-bottom:4px}.message-group>.muted{margin:0 0 8px}.group-title{margin:16px 0 8px;font:700 13px/1.2 var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}.message-list{list-style:none;margin:0;padding:0}.message-group .message-list{overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}.message-row{display:flex;flex-direction:column;gap:8px;padding:12px 0;border-top:1px solid var(--line)}.message-row:first-child{border-top:0}.message-group .message-row{padding:14px 16px}.message-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;flex-wrap:wrap}.message-title{font-weight:600}.message-badges,.message-actions{display:flex;gap:8px;flex-wrap:wrap}.message-text{margin:0;padding:12px;overflow-wrap:anywhere;background:var(--surface-2);border-radius:var(--r-md)}.placeholder-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px;font-size:14px}.placeholder-list code{font-weight:600;overflow-wrap:anywhere}.template-item{padding:12px 0;border-top:1px solid var(--line)}.template-item:first-child{border-top:0}.texts-head{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.texts-count{margin-left:auto;font-size:14px}.template-editor{display:grid;gap:16px}.template-editor>*{min-width:0}@media(min-width:900px){.template-editor .wa-bubble{margin-top:calc(var(--control-h) + 9px)}.template-editor{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}.message-title a{color:var(--primary);font-weight:700;text-decoration:none}.message-title a:hover{text-decoration:underline}.message-hint{margin:0;font-size:13px}.notes-title{font-size:18px;display:flex;align-items:center;gap:8px;margin-bottom:8px}.notes .count{background:var(--surface-2);border-radius:999px;font:600 12px var(--font-ui);padding:3px 10px}.note-list{list-style:none;margin:0;padding:0}.note{border-top:1px solid var(--line);padding:12px 0}.note-text{margin:0 0 6px;white-space:pre-wrap;overflow-wrap:anywhere}.note-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px}.note-actions{display:flex;gap:2px}.new-note{border-top:1px solid var(--line);padding-top:16px;margin-top:4px}.textarea{resize:vertical;min-height:88px;line-height:1.4}.with-side{display:grid;gap:16px;grid-template-columns:minmax(0,1fr);align-items:start}@media(min-width:1000px){.with-side{grid-template-columns:minmax(0,1fr) 340px}.with-side>aside{position:sticky;top:var(--sticky-offset, 16px)}}.bk-count{margin:0 0 4px;font-size:14px}.bk-group{margin-top:16px}.bk-month{margin:0 0 8px;font:700 13px/1.2 var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}.bk-list{list-style:none;margin:0;padding:0;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}.bk-list>li+li{border-top:1px solid var(--line)}.bk-head{display:none}.bk-list>.bk-head+li{border-top:0}.bk-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"who money" "when money" "where guests" "warns warns";gap:2px 12px;padding:14px 16px;border-left:4px solid transparent;color:var(--ink);text-decoration:none}.bk-row:hover{background:var(--surface-2)}.bk-row.has-warn{border-left-color:var(--warn)}.bk-row.is-past .bk-name,.bk-row.is-past .bk-dates{color:var(--ink-muted)}.bk-who{grid-area:who;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0}.bk-when{grid-area:when;min-width:0}.bk-where{grid-area:where;min-width:0;margin-top:4px}.bk-name{font:700 17px/1.3 var(--font-display);overflow-wrap:anywhere}.bk-who .plat{flex:none;padding:2px 8px;font-size:11px}.bk-dates{font:600 15px/1.4 var(--font-ui);font-variant-numeric:tabular-nums}.bk-property{font-size:15px;line-height:1.4}.bk-sub{display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px;font-size:14px;line-height:1.4;color:var(--ink-muted)}.bk-hint{padding:1px 8px;border-radius:999px;font-size:12px;font-weight:700}.bk-hint.hint-inHouse,.bk-hint.hint-checkinToday,.bk-hint.hint-checkoutToday{background:var(--primary);color:var(--on-primary)}.bk-hint.hint-checkinTomorrow{background:var(--primary-soft);color:var(--primary)}.bk-guests{grid-area:guests;align-self:end;display:inline-flex;align-items:center;gap:6px;color:var(--ink-muted);font-weight:600;font-variant-numeric:tabular-nums}.bk-money{grid-area:money;display:flex;flex-direction:column;align-items:flex-end;text-align:right}.bk-money-label{font-size:12px;color:var(--ink-muted)}.bk-money-due{font-size:18px}.bk-settled{display:inline-flex;align-items:center;gap:4px;font-size:14px;font-weight:600;color:var(--ok)}.bk-row .warning-list{grid-area:warns;margin-top:8px}@media(min-width:900px){.bk-head,.bk-row{display:grid;grid-template-columns:minmax(150px,1.2fr) minmax(170px,1fr) minmax(0,1.4fr) 64px 130px;column-gap:24px;padding-left:16px;padding-right:20px}.bk-list>.bk-head+li{border-top:1px solid var(--line)}.bk-head{padding-top:10px;padding-bottom:10px;border-left:4px solid transparent;background:var(--surface-2);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted)}.bk-head-guests{text-align:center}.bk-head-money{text-align:right}.bk-row{grid-template-areas:"who when where guests money" "warns warns warns warns warns";align-items:start;row-gap:0;padding-top:14px;padding-bottom:14px}.bk-who{flex-direction:column;align-items:flex-start;gap:4px}.bk-where{margin-top:0}.bk-guests{align-self:start;justify-content:center;padding-top:2px}.bk-money-label{display:none}}.booking-flags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.form-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.form-row>.field{flex:1 1 160px}.row-item{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--line)}.row-item:first-of-type{border-top:0;padding-top:0}.row-item>.field{flex:1 1 160px}.row-item .row-remove{align-self:flex-end}.row-warning{flex-basis:100%}.balance{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-top:1px solid var(--line);padding-top:12px}.balance .money{font-size:20px}.warn-panel{background:var(--warn-soft);border-radius:var(--r-lg);padding:12px 16px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.warn-panel .badge-warn{background:transparent;padding:0}.page-head.is-sticky{position:sticky;top:0;z-index:20;flex-wrap:nowrap;margin:0 0 16px;padding:10px 0;background:var(--bg);border-bottom:1px solid var(--line)}.page-head-title{min-width:0}.page-head.is-sticky h1{overflow:hidden;font-size:22px;text-overflow:ellipsis;white-space:nowrap}.page-head.is-sticky .muted{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-head-actions{display:flex;flex:none;gap:8px}@media(max-width:639px){.hide-narrow{display:none}}.with-side{--sticky-offset: 84px}.formula-field{display:flex;flex-direction:column;gap:4px}.formula-edited{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px}.formula-edited .badge{padding:2px 10px;font-size:12px}.btn.formula-recalc{min-height:32px;padding:0 8px;gap:4px;font-size:13px}.cal-range{font-weight:600;color:var(--ink-muted)}.cal-props{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.chip{min-height:36px;padding:0 14px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);color:var(--ink);font:inherit;font-weight:600;cursor:pointer}.chip[data-selected]{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.chip[data-focus-visible]{outline:2px solid var(--focus);outline-offset:2px}.cal-legend{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px;padding:0;list-style:none}.cal-legend-block{display:inline-block;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:700;color:var(--surface);background:var(--ink)}.cal-legend-overlap{display:inline-block;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:700;color:var(--ink-muted);border:1px solid var(--line-strong);background:repeating-linear-gradient(135deg,transparent,transparent 5px,rgba(0,0,0,.1) 5px,rgba(0,0,0,.1) 8px)}.cal-legend-busy,.cal-legend-free{display:inline-block;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:700;color:var(--ink-muted);border:1px solid var(--line-strong)}.cal-legend-busy{background:var(--line)}.cal-legend-free{background:var(--surface)}.cal-scroll{--room-col: 112px;--day-min: 44px;--day-w: max(var(--day-min), calc((100cqw - var(--room-col)) / var(--days)));container-type:inline-size;--lane-h: 30px;max-height:calc(100dvh - 280px);min-height:240px;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md)}.cal-scroll:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.cal-grid{width:max-content;min-width:100%}.cal-row{position:relative;display:grid;grid-template-columns:var(--room-col) repeat(var(--days),var(--day-w));grid-auto-rows:var(--lane-h);border-bottom:1px solid var(--line)}.cal-label{position:sticky;left:0;z-index:3;grid-column:1;display:flex;align-items:center;padding:0 10px;background:var(--surface);border-right:1px solid var(--line-strong);font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-head{position:sticky;top:0;z-index:5;grid-auto-rows:auto;background:var(--surface)}.cal-head .cal-label{z-index:6}.cal-day{display:flex;flex-direction:column;align-items:center;padding:6px 0;border-left:1px solid var(--line);font-size:12px;color:var(--ink-muted)}.cal-daynum{font-size:15px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.cal-day.is-today .cal-daynum{background:var(--primary);color:var(--on-primary);border-radius:999px;min-width:26px;text-align:center}.cal-weekday{text-transform:capitalize}.cal-day.is-weekend{background:var(--surface-2)}.cal-cell{--free: transparent;--am: var(--free);--pm: var(--free);padding:0;border:0;border-left:1px solid var(--line);z-index:0;background:linear-gradient(to right,var(--am) 50%,var(--pm) 50%)}.cal-cell.is-today,a.cal-cell:hover{--free: var(--primary-soft)}.cal-cell.busy-am{--am: var(--line)}.cal-cell.busy-pm{--pm: var(--line)}.cal-property-row{grid-auto-rows:minmax(36px,auto);background:var(--surface-2)}.cal-property{gap:4px;min-width:0;padding-left:6px;border:0;border-right:1px solid var(--line-strong);background:var(--surface-2);color:var(--ink);font:inherit;font-weight:700;text-align:left}button.cal-property{cursor:pointer}.cal-property svg{flex:none}.cal-property-name{overflow:hidden;text-overflow:ellipsis}.cal-property[aria-expanded=false] svg{transform:rotate(-90deg)}.cal-free{display:flex;align-items:center;justify-content:center;border-left:1px solid var(--line);font-size:12px;font-weight:700;color:var(--ok);font-variant-numeric:tabular-nums}.cal-free.is-full{color:var(--ink-muted);font-weight:500}.cal-seg,.cal-block{position:relative;z-index:2;display:flex;align-items:center;gap:4px;min-width:0;margin:2px 0;padding:0 6px;border-radius:var(--r-sm);font:inherit;font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden}.cal-seg{border:1px solid currentColor;cursor:pointer}.cal-seg:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.cal-seg.half-start,.cal-block.half-start{margin-left:calc(var(--day-w) / 2)}.cal-seg.half-end,.cal-block.half-end{margin-right:calc(var(--day-w) / 2)}.cal-seg,.cal-block{--tear: 7px;--tear-l: 0px;--tear-r: 0px;clip-path:polygon(var(--tear-l) 0,calc(100% - var(--tear-r)) 0,100% 16.7%,calc(100% - var(--tear-r)) 33.3%,100% 50%,calc(100% - var(--tear-r)) 66.7%,100% 83.3%,calc(100% - var(--tear-r)) 100%,var(--tear-l) 100%,0 83.3%,var(--tear-l) 66.7%,0 50%,var(--tear-l) 33.3%,0 16.7%)}.cal-seg.cont-before,.cal-block.cont-before,.cal-seg.cont-after,.cal-block.cont-after{--tear-stroke: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 100' preserveAspectRatio='none'%3E%3Cpath d='M8 0 0 16.7 8 33.3 0 50 8 66.7 0 83.3 8 100' fill='none' stroke='black' stroke-width='2.5' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E")}.cal-seg.cont-before:before,.cal-block.cont-before:before,.cal-seg.cont-after:after,.cal-block.cont-after:after{content:"";position:absolute;top:0;bottom:0;width:var(--tear);background:currentColor;mask:var(--tear-stroke) center / 100% 100% no-repeat;pointer-events:none}.cal-seg.cont-before:before,.cal-block.cont-before:before{left:0}.cal-seg.cont-after:after,.cal-block.cont-after:after{right:0;transform:scaleX(-1)}.cal-seg.cont-before,.cal-block.cont-before{--tear-l: var(--tear);padding-left:calc(var(--tear) + 4px);border-left-width:0;border-top-left-radius:0;border-bottom-left-radius:0}.cal-seg.cont-after,.cal-block.cont-after{--tear-r: var(--tear);padding-right:calc(var(--tear) + 4px);border-right-width:0;border-top-right-radius:0;border-bottom-right-radius:0}.cal-seg-time{flex:none;color:var(--ink-muted);font-size:10px;font-weight:600}.cal-seg.is-linked{box-shadow:0 0 0 2px var(--ink)}.cal-seg.plat-airbnb{color:var(--p-airbnb)}.cal-seg.is-overlap{background-image:repeating-linear-gradient(135deg,transparent,transparent 5px,rgba(0,0,0,.1) 5px,rgba(0,0,0,.1) 8px)}.cal-seg-text{overflow:hidden;text-overflow:ellipsis;color:var(--ink)}.cal-seg-link{flex:none;padding:0 4px;border-radius:4px;background:var(--surface);color:var(--ink);font-size:11px}.cal-seg-warn{display:inline-flex;align-items:center;flex:none;gap:2px;padding:0 4px;border-radius:4px;background:var(--warn-soft);color:var(--warn);font-size:11px}.cal-block{color:var(--surface);background:var(--ink);border:1px solid var(--ink)}.cal-block span{overflow:hidden;text-overflow:ellipsis}.cal-block.is-overlap{background-image:repeating-linear-gradient(135deg,transparent,transparent 5px,color-mix(in srgb,var(--surface) 28%,transparent) 5px,color-mix(in srgb,var(--surface) 28%,transparent) 8px)}.cal-seg.is-dimmed,.cal-block.is-dimmed{opacity:.3}.cal-seg.is-dimmed.is-linked{opacity:.6}.overlay.sheet-overlay{place-items:end center;padding:0}.sheet{width:100%;max-width:520px}.sheet .dialog{border-bottom-left-radius:0;border-bottom-right-radius:0;padding-bottom:calc(20px + env(safe-area-inset-bottom))}.sheet .booking-flags{margin:0 0 16px}.sheet-facts{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;margin:0 0 12px}.sheet-facts dt{color:var(--ink-muted)}.sheet-facts dd{margin:0}.sheet-rooms{margin:0 0 12px;padding-left:18px}.sheet-rooms .is-current{font-weight:700}@media(min-width:900px){.cal-scroll{--room-col: 150px;--day-min: 64px;max-height:calc(100dvh - 240px)}.overlay.sheet-overlay{place-items:center;padding:16px}.sheet .dialog{border-radius:var(--r-lg);padding-bottom:20px}}.cleaning-list{display:grid;gap:16px;margin-top:12px}.cleaning-text{margin:0;overflow-wrap:anywhere;background:var(--surface-2);border-radius:var(--r-md);padding:12px 14px}.report-help{margin:-12px 0 16px}.report{gap:20px;margin-top:16px}.report-grid{display:grid;gap:20px;align-items:start}.report-grid>*{min-width:0}@media(min-width:1100px){.report-grid{grid-template-columns:1fr 1fr}.report-grid.is-wide-left{grid-template-columns:3fr 2fr}}.sub-title{margin:0 0 8px;font:600 14px/1.3 var(--font-ui);color:var(--ink-muted)}.text-link{display:inline-flex;align-items:center;min-height:44px;color:var(--primary);font-weight:600;text-decoration:none}.text-link:hover{text-decoration:underline}.todo-strip{background:var(--warn-soft);border:1px solid var(--line);border-radius:var(--r-lg);padding:12px 16px 14px}.todo-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px}.todo-title{display:inline-flex;align-items:center;gap:8px;margin:0;font:700 16px/1.3 var(--font-ui);color:var(--warn)}.todo-title svg{align-self:center}.todo-hint{margin:0;font-size:13px}.todo-counters{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0;padding:0;list-style:none}.btn.todo-counter{background:var(--surface);font-weight:600}@media(max-width:639px){.btn.todo-counter{min-height:40px;padding:0 12px;font-size:14px}}.todo-counter.is-open{border-color:var(--warn);box-shadow:inset 0 0 0 1px var(--warn)}.todo-list{margin:12px 0 0;padding:0;list-style:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.todo-list li+li{border-top:1px solid var(--line)}.todo-row{display:flex;align-items:center;gap:12px;min-height:52px;padding:8px 14px;color:var(--ink);text-decoration:none}.todo-row:hover{background:var(--surface-2)}.todo-row>svg{margin-left:auto;flex:none;color:var(--ink-muted)}.todo-row-text{display:flex;flex-direction:column;gap:2px;min-width:0;overflow-wrap:anywhere}.todo-row-text .muted{font-size:13px}.pulse .stat-cards{grid-template-columns:1fr 1fr;margin:0}@media(min-width:900px){.pulse .stat-cards{grid-template-columns:repeat(4,1fr)}}.pulse .stat-card{padding:16px 18px;box-shadow:var(--shadow)}.pulse .stat-card dd{font:700 30px/1.15 var(--font-display);letter-spacing:-.01em;font-variant-numeric:tabular-nums}@media(max-width:479px){.pulse .stat-card{padding:12px 14px}.pulse .stat-card dd{font-size:24px}}.pulse-facts{margin:10px 2px 0;font-size:14px}.ahead-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:0;list-style:none}.ahead-list li{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:var(--r-md);background:var(--surface-2);font-size:13px}.ahead-list strong{font:700 18px/1.2 var(--font-display)}.ahead-month{font-weight:700;text-transform:capitalize}.meter{display:block;width:100%;min-width:48px;height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}.meter-fill{display:block;height:100%;border-radius:inherit;background:var(--primary)}.meter-fill.tone-booking{background:var(--p-booking)}.meter-fill.tone-airbnb{background:var(--p-airbnb)}.meter-fill.tone-expedia{background:var(--p-expedia)}.meter-fill.tone-direct{background:var(--p-direct)}.rank-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.rank-table th,.rank-table td{padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:middle}.rank-table thead th{padding:0 4px 6px;font:600 13px/1.3 var(--font-ui);color:var(--ink-muted)}.rank-table .col-name{text-align:left}.rank-table .col-num{text-align:right;white-space:nowrap}.rank-table tbody th{font-weight:700}.rank-table tbody th.col-name{display:flex;align-items:center;gap:4px}.rank-table tr.is-open>*{border-bottom-color:transparent}.btn.sort-btn{min-height:32px;padding:0 4px;gap:4px;font:inherit;color:inherit}.col-num .sort-btn{margin-left:auto}.sort-btn.is-active{color:var(--ink)}.btn.rank-toggle{width:36px;padding:0;flex:none;color:var(--ink-muted)}.rank-toggle svg{flex:none}.rank-toggle[aria-expanded=false] .rank-chevron{transform:rotate(-90deg)}.rank-name{display:flex;flex-direction:column;gap:2px;min-width:0}.rank-note{font:400 12px/1.3 var(--font-ui)}.meter-cell{display:inline-flex;align-items:center;gap:10px;justify-content:flex-end}.meter-cell .meter{width:96px}.change{display:inline-flex;align-items:center;gap:2px;font-weight:600}.change.is-up{color:var(--ok)}.change.is-down{color:var(--danger)}.change.is-flat{color:var(--ink-muted)}.rank-rooms td{padding:0 8px 14px 44px}.room-list{display:flex;flex-direction:column;gap:8px;margin:0;padding:12px 14px;list-style:none;border-radius:var(--r-md);background:var(--surface-2)}.room-row{display:grid;grid-template-columns:minmax(96px,12rem) 1fr auto;align-items:center;gap:12px}.room-row .meter{background:var(--surface)}.room-figure{display:flex;gap:8px;align-items:baseline;justify-content:flex-end;font-size:13px;white-space:nowrap}@media(max-width:759px){.rank-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.rank-table,.rank-table tbody,.rank-table tr{display:block}.rank-table tbody tr:not(.rank-rooms){display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;padding:10px 0;border-bottom:1px solid var(--line)}.rank-table tbody tr.is-open{border-bottom:0}.rank-table th,.rank-table td{border:0;padding:2px 0}.rank-table tbody th.col-name{grid-column:1 / -1}.rank-table td.col-num{display:flex;flex-direction:column;align-items:flex-start;text-align:left}.rank-table td.col-num:before{content:attr(data-label);font-size:12px;color:var(--ink-muted)}.rank-table td.col-meter{grid-column:1 / -1}.meter-cell{width:100%;flex-direction:row-reverse}.meter-cell .meter{width:auto;flex:1}.rank-rooms td{display:block;padding:0 0 12px}.room-row{grid-template-columns:1fr auto}.room-row .meter{grid-column:1 / -1;grid-row:2}}.waterfall{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;font-variant-numeric:tabular-nums}.wf-row{display:grid;grid-template-columns:minmax(104px,10rem) 1fr minmax(84px,auto);align-items:center;gap:12px;min-height:32px}.wf-label{display:flex;flex-direction:column;font-size:14px}.wf-hint{font-size:12px}.wf-track{position:relative;height:22px}.wf-bar{position:absolute;top:0;bottom:0;border-radius:4px}.wf-value{text-align:right;white-space:nowrap;font-size:14px}.wf-row.is-total .wf-label,.wf-row.is-sub .wf-label,.wf-row.is-total .wf-value,.wf-row.is-sub .wf-value,.wf-row.is-fee .wf-value,.wf-row.is-owner .wf-value{font-weight:700}.wf-row.is-sub,.wf-row.is-fee{margin-top:4px;padding-top:6px;border-top:1px dashed var(--line)}.wf-row.is-total .wf-bar{background:var(--primary)}.wf-row.is-sub .wf-bar{background:var(--primary-soft);box-shadow:inset 0 0 0 1px var(--primary)}.wf-row.is-minus .wf-bar{background:var(--line-strong)}.wf-row.is-minus .wf-value{color:var(--ink-muted)}.wf-row.is-gap .wf-bar{background:repeating-linear-gradient(-45deg,var(--line-strong) 0 3px,transparent 3px 7px);box-shadow:inset 0 0 0 1px var(--line-strong)}.wf-row.is-fee .wf-bar{background:var(--primary)}.wf-row.is-owner .wf-bar{background:var(--info)}@media(max-width:479px){.wf-row{grid-template-columns:1fr auto;gap:2px 12px}.wf-track{grid-column:1 / -1;grid-row:2;height:14px}}.wf-note{margin:0;font-size:13px}.tax-box{padding:10px 12px;border-radius:var(--r-md);background:var(--surface-2);font-size:14px}.tax-box p{margin:0}.tax-list{display:flex;flex-direction:column;gap:2px;margin:6px 0 0;padding:0;list-style:none}.tax-list li{display:flex;justify-content:space-between;gap:12px}.collections{padding-top:12px;border-top:1px solid var(--line)}.stack-bar{display:flex;height:14px;border-radius:999px;overflow:hidden;background:var(--surface-2)}.stack-seg+.stack-seg{border-left:2px solid var(--surface)}.method-card{background:var(--primary)}.method-platform{background:var(--info)}.method-cash{background:var(--ink-muted)}.stack-legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin:10px 0 0;padding:0;list-style:none;font-size:14px}.stack-legend li{display:inline-flex;align-items:center;gap:6px}.legend-dot{width:10px;height:10px;border-radius:50%}.to-collect{margin:10px 0 0;font-size:14px}.channel-list{margin:0;padding:0;list-style:none}.channel-row{display:flex;flex-direction:column;gap:8px;padding:12px 0}.channel-row+.channel-row{border-top:1px solid var(--line)}.channel-row:first-child{padding-top:0}.channel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.channel-total{font:700 18px/1.2 var(--font-display);font-variant-numeric:tabular-nums}.channel-facts{margin:0;font-size:13px}.guests-summary{font-size:13px}.guests-grid{display:grid;gap:24px}@media(min-width:760px){.guests-grid{grid-template-columns:1fr 1fr}}.bar-list{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.bar-list li{display:grid;grid-template-columns:minmax(80px,8rem) 1fr 2.5rem;align-items:center;gap:10px;font-size:14px}.bar-list strong{text-align:right}.histogram{display:flex;gap:8px;margin:0;padding:0;list-style:none}.histogram li{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12px;text-align:center}.histogram strong{font-size:14px}.histogram-track{display:flex;align-items:flex-end;width:100%;height:110px;border-bottom:1px solid var(--line-strong)}.histogram-bar{display:block;width:100%;border-radius:4px 4px 0 0;background:var(--primary)}.owner-page{max-width:880px;margin:0 auto;padding:16px;display:flex;flex-direction:column;gap:16px}.owner-message{padding-top:64px;text-align:center}.owner-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px}.owner-bookings{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.owner-booking{padding:10px 0;border-top:1px solid var(--line)}.owner-booking:first-child{border-top:0;padding-top:0}.owner-booking-main{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.owner-platform{font-size:.8125rem;padding:2px 8px;border-radius:var(--r-sm);background:var(--surface-2)}.owner-platform.p-booking,.owner-cal-bar.p-booking{background:var(--p-booking-soft);color:var(--p-booking)}.owner-platform.p-airbnb,.owner-cal-bar.p-airbnb{background:var(--p-airbnb-soft);color:var(--p-airbnb-ink)}.owner-platform.p-expedia,.owner-cal-bar.p-expedia{background:var(--p-expedia-soft);color:var(--p-expedia)}.owner-platform.p-direct,.owner-cal-bar.p-direct{background:var(--p-direct-soft);color:var(--p-direct)}.owner-cal{--room-col: 88px;overflow-x:auto;min-width:0}.owner-cal-row{display:grid;grid-template-columns:var(--room-col) minmax(calc(var(--days) * 28px),1fr);border-top:1px solid var(--line)}.owner-cal-head{border-top:0}.owner-cal-room{position:sticky;left:0;z-index:1;background:var(--surface);padding:6px 8px 6px 0;font-weight:600;font-size:.875rem;overflow-wrap:anywhere}.owner-cal-track{position:relative}.owner-cal-days{display:grid;grid-template-columns:repeat(var(--days),1fr)}.owner-cal-day{text-align:center;font-size:.75rem;color:var(--ink-muted);padding:4px 0}.owner-cal-bar{position:absolute;height:22px;line-height:22px;padding:0 6px;border-radius:var(--r-sm);font-size:.75rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box}.owner-cal-bar.is-block{background:var(--surface-2);color:var(--ink-muted);background-image:repeating-linear-gradient(45deg,transparent 0 6px,var(--line) 6px 7px)}.login{min-height:100dvh;display:grid;place-items:center;padding:16px}.login-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:24px;display:flex;flex-direction:column;gap:20px}.login-card h1{font-size:24px}.login-logo{align-self:center;width:128px;height:128px;background:var(--primary);mask:url(/logo.png) center / contain no-repeat}.property-list{list-style:none;margin:0;padding:0;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}.property-list>li+li{border-top:1px solid var(--line)}.property-card{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;padding:14px 16px;color:var(--ink);text-decoration:none}.property-card:hover{background:var(--surface-2)}.property-name{font:600 18px var(--font-display)}.property-meta{font-size:14px}.rooms{list-style:none;margin:0 0 16px;padding:0}.room-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:12px 0;border-top:1px solid var(--line)}.room-row:first-child{border-top:0}.room-row>div:first-child{flex:1 1 auto}.room-name{font-weight:600}.room-actions{display:flex;gap:4px}.owner-link{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.owner-url{flex:1 1 240px;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);font-size:14px;overflow-wrap:anywhere}.room-error{flex-basis:100%;margin:0}.unavailability-item{padding:12px 0;border-top:1px solid var(--line)}.unavailability-item:first-child{border-top:0}.unavailability-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.unavailability-form{border-top:1px solid var(--line);padding-top:16px}.unavailability-item .unavailability-form{border-top:0;padding-top:0}.shell{min-height:100dvh;display:flex;flex-direction:column}.content{flex:1;min-width:0;padding:16px 16px 88px;width:100%}.nav{position:fixed;inset:auto 0 0 0;z-index:10;display:flex;justify-content:space-around;background:var(--surface);border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom))}.nav .brand,.nav .logout{display:none}.topbar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid var(--line);background:var(--surface)}.brand-sm{display:flex;align-items:center;gap:8px;font:700 20px var(--font-display);color:var(--primary)}.btn.icon-btn{width:44px;padding:0}.nav-item{flex:1;min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;font-size:10.5px;font-weight:600;letter-spacing:-.01em;color:var(--ink-muted);text-decoration:none;border-radius:var(--r-md)}.nav-item.active{color:var(--primary);background:var(--primary-soft)}@media(min-width:900px){.shell{flex-direction:row}.content{padding:32px 32px 48px}.nav{position:sticky;inset:auto;top:0;align-self:flex-start;flex:none;overflow-y:auto;height:100dvh;width:240px;flex-direction:column;justify-content:flex-start;gap:4px;border-top:0;border-right:1px solid var(--line);padding:16px 12px}.topbar{display:none}.nav .brand{display:flex;align-items:center;gap:8px;font:700 20px var(--font-display);color:var(--primary);padding:8px 12px 16px}.nav-item{flex:none;flex-direction:row;justify-content:flex-start;gap:12px;padding:0 12px;font-size:16px;font-weight:500;color:var(--ink)}.nav-item.active{color:var(--primary);font-weight:700}.nav .logout{display:inline-flex;margin-top:auto}}.brand-mark{flex:none;width:28px;height:28px;background:var(--primary);mask:url(/mark.png) center / contain no-repeat}:root{--bg: #f2f5f3;--surface: #ffffff;--surface-2: #e7ece9;--ink: #1f2a27;--ink-muted: #5a6561;--line: #dce2de;--line-strong: #bcc7c1;--primary: #1f5f54;--primary-hover: #174a41;--on-primary: #ffffff;--primary-soft: #dcebe6;--focus: #1f5f54;--warn: #8a4b08;--warn-soft: #fbecd2;--danger: #a82a1f;--danger-soft: #f9dfdb;--ok: #2b6b45;--ok-soft: #dcefe3;--info: #2c4f8a;--info-soft: #dfe7f5;--p-booking: #2f5597;--p-booking-soft: #dfe7f5;--p-airbnb: #ff385c;--p-airbnb-soft: #ffe5ea;--p-airbnb-ink: #b5103a;--p-expedia: #7a5a14;--p-expedia-soft: #f3e8c8;--p-direct: #1f5f54;--p-direct-soft: #dcebe6;--shadow: 0 1px 2px rgba(31, 42, 39, .06), 0 4px 14px rgba(31, 42, 39, .06);--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--font-ui: "Figtree Variable", system-ui, sans-serif;--font-display: "Bricolage Grotesque Variable", "Figtree Variable", system-ui, sans-serif}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #121715;--surface: #1a211f;--surface-2: #232b28;--ink: #eceae4;--ink-muted: #a3aea9;--line: #2e3834;--line-strong: #42504a;--primary: #5fb5a3;--primary-hover: #7ac6b5;--on-primary: #08201b;--primary-soft: #1d3a34;--focus: #7ac6b5;--warn: #f0b765;--warn-soft: #3a2a12;--danger: #f08b80;--danger-soft: #3d1b17;--ok: #7fcf9d;--ok-soft: #173223;--info: #9db9ea;--info-soft: #1d2a45;--p-booking: #9db9ea;--p-booking-soft: #1d2a45;--p-airbnb: #ff5a76;--p-airbnb-soft: #401520;--p-airbnb-ink: #ff8da1;--p-expedia: #e5c26f;--p-expedia-soft: #3a2f12;--p-direct: #7ac6b5;--p-direct-soft: #1d3a34;--shadow: 0 1px 2px rgba(0, 0, 0, .4)}}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.5 var(--font-ui);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;margin:0}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.btn{font:600 15px/1 var(--font-ui);min-height:44px;padding:0 18px;border-radius:var(--r-md);border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background-color .18s,border-color .18s,color .18s}.btn[data-disabled]{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-primary[data-hovered]:not([data-disabled]){background:var(--primary-hover)}.btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--line-strong)}.btn-secondary[data-hovered]:not([data-disabled]){background:var(--surface-2)}.field{display:flex;flex-direction:column;gap:6px}.field .label{font-size:14px;font-weight:600}.field .input,.search-field .input,.period-button{min-height:44px;padding:10px 12px;border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font:400 16px var(--font-ui);width:100%}.field[data-invalid] .input{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger)}.field .help{font-size:13px;color:var(--ink-muted)}.field .error{font-size:13px;color:var(--danger);display:flex;gap:6px;align-items:center}.btn-ghost{background:transparent;color:var(--primary);padding:0 12px}.btn-ghost[data-hovered]:not([data-disabled]){background:var(--primary-soft)}.btn-danger{background:var(--danger-soft);color:var(--danger)}.btn-danger[data-hovered]:not([data-disabled]){border-color:var(--danger)}.stepper{display:inline-flex;align-items:center;align-self:flex-start;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface)}.field[data-invalid] .stepper{border-color:var(--danger)}.stepper-btn{width:44px;padding:0;border-radius:0}.stepper-input{width:56px;min-height:44px;border:0;background:transparent;color:var(--ink);text-align:center;font:600 16px var(--font-ui);font-variant-numeric:tabular-nums}.field .time-input{padding-block:9px;display:flex;align-items:center;gap:2px;font-variant-numeric:tabular-nums}.time-segment{padding:2px 3px;border-radius:4px;caret-color:transparent}.time-segment[data-placeholder]{color:var(--ink-muted)}.time-segment:focus{background:var(--primary);color:var(--on-primary);outline:none}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:16px;background:#12171573}.modal{width:100%;max-width:420px}.dialog{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;box-shadow:0 10px 40px #0000002e;outline:none}.dialog h2{font-size:18px;margin-bottom:8px}.dialog p{margin:0 0 16px;color:var(--ink-muted)}.dialog-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.toast-region{position:fixed;inset:auto 16px calc(80px + env(safe-area-inset-bottom)) 16px;z-index:60;display:flex;justify-content:center;pointer-events:none}.toast{display:inline-flex;gap:10px;align-items:center;background:var(--ink);color:var(--bg);padding:12px 16px;border-radius:var(--r-md);font-weight:500}@media(min-width:900px){.toast-region{inset:auto 24px 24px auto}}.page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:20px}.page-head h1{font-size:28px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px;box-shadow:var(--shadow)}.stack{display:flex;flex-direction:column;gap:16px}.muted{color:var(--ink-muted)}.section-title{font-size:18px;margin-bottom:12px}.empty{text-align:center;padding:32px 16px}.empty p{margin:0 0 16px;color:var(--ink-muted)}.alert{display:flex;gap:8px;align-items:center;color:var(--danger)}.back-link{color:var(--primary);font-weight:600;text-decoration:none;display:inline-flex;min-height:44px;align-items:center}.select-button{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;cursor:pointer}.select-dot{flex:none;display:inline-block;width:10px;height:10px;margin-right:8px;border-radius:999px;vertical-align:middle}.select-value[data-placeholder]{color:var(--ink-muted)}.popover{min-width:var(--trigger-width);max-height:60vh;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:0 10px 40px #0000002e;padding:4px;z-index:70}.listbox{outline:none}.option{min-height:44px;padding:0 12px;display:flex;align-items:center;border-radius:var(--r-sm);cursor:pointer;outline:none}.option[data-focused],.option[data-hovered]{background:var(--surface-2)}.option[data-selected]{background:var(--primary-soft);color:var(--primary);font-weight:600}.field .date-group{display:flex;align-items:center;justify-content:space-between;gap:4px;padding-block:3px;padding-right:4px}.date-input{display:flex;align-items:center;font-variant-numeric:tabular-nums}.date-trigger{width:36px;height:36px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--ink-muted);display:grid;place-items:center;cursor:pointer}.date-trigger[data-hovered]{background:var(--surface-2)}.calendar-popover{padding:12px}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font:600 16px var(--font-display)}.calendar-nav{width:44px;height:44px;border:0;border-radius:var(--r-md);background:transparent;color:var(--ink);display:grid;place-items:center;cursor:pointer}.calendar-nav[data-hovered]{background:var(--surface-2)}.calendar table{border-collapse:collapse}.calendar th{font-size:12px;color:var(--ink-muted);font-weight:600;padding-bottom:4px}.calendar-cell{width:40px;height:40px;display:grid;place-items:center;border-radius:var(--r-md);cursor:pointer;outline:none;font-variant-numeric:tabular-nums}.calendar-cell[data-outside-month]{display:none}.calendar-cell[data-hovered]{background:var(--surface-2)}.calendar-cell[data-focus-visible]{outline:3px solid var(--focus);outline-offset:1px}.calendar-cell[data-selected]{background:var(--primary);color:var(--on-primary);font-weight:700}.calendar-cell[data-disabled]{opacity:.4}.badge{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding:4px 12px;border-radius:999px;line-height:1.4}.badge-warn{background:var(--warn-soft);color:var(--warn)}.badge-neutral{background:var(--surface-2);color:var(--ink-muted)}.plat{border-radius:6px;padding:4px 10px;font-size:12px;font-weight:700;white-space:nowrap}.plat-booking{background:var(--p-booking-soft);color:var(--p-booking)}.plat-airbnb{background:var(--p-airbnb-soft);color:var(--p-airbnb-ink)}.plat-expedia{background:var(--p-expedia-soft);color:var(--p-expedia)}.plat-direct{background:var(--p-direct-soft);color:var(--p-direct)}.money{font-variant-numeric:tabular-nums;font-weight:600}.info-popover{max-width:min(92vw,440px);padding:12px 16px}.info-dialog{outline:none;font-size:14px;line-height:1.5}.info-dialog p{margin:0 0 8px}.info-dialog p:last-child{margin-bottom:0}.btn.info-btn{width:40px;min-height:40px;margin:-10px -8px -10px -6px;padding:0;color:var(--ink-muted);flex:none}.btn.info-btn[data-hovered],.btn.info-btn[data-pressed]{color:var(--primary)}.info-terms{display:grid;gap:8px;margin:0 0 8px}.info-terms dt{font-weight:700;color:var(--ink)}.info-terms dd{margin:0}.checkbox{display:inline-flex;align-items:center;gap:10px;min-height:44px;cursor:pointer}.checkbox-box{width:24px;height:24px;display:grid;place-items:center;border:2px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:transparent}.checkbox[data-selected] .checkbox-box{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.checkbox[data-focus-visible] .checkbox-box{outline:3px solid var(--focus);outline-offset:2px}.filter-bar{margin-bottom:16px}.filter-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 12px}.filter-search{flex:1 1 160px;min-width:0;max-width:420px}.filter-toggle{flex:none}.filter-fields{display:none;flex:1 0 100%;flex-wrap:wrap;align-items:flex-end;gap:8px 12px}.filter-fields.is-open{display:flex}.filter-fields .field{flex:1 1 160px}.filter-bar .input,.filter-bar .btn,.toolbar-row .input,.toolbar-row .btn{min-height:var(--control-h)}.filter-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 0;padding:0;list-style:none}.filter-chip{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 10px 0 12px;border:1px solid var(--primary);border-radius:999px;background:var(--primary-soft);color:var(--primary);font:inherit;font-size:14px;font-weight:600;cursor:pointer}.filter-chip:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.filter-clear{min-height:32px}@media(min-width:900px){.filter-toggle{display:none}.filter-row{align-items:center}.filter-fields,.filter-fields.is-open{display:contents}.filter-fields .field,.filter-row .period-button{flex:0 1 210px}}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.select-prefix{color:var(--ink-muted);font-size:14px;white-space:nowrap}.field-inline .select-button,.period-button{justify-content:flex-start}.field-inline .select-value,.period-button .select-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.select-button.is-active{border-color:var(--primary);background:var(--primary-soft)}.select-button.is-active .select-prefix{color:var(--primary)}.search-field{position:relative;display:block}.search-icon{position:absolute;left:12px;top:50%;translate:0 -50%;color:var(--ink-muted);pointer-events:none}.search-input{width:100%;padding-left:38px;padding-right:38px}.search-input::-webkit-search-cancel-button{display:none}.search-clear{position:absolute;right:4px;top:50%;translate:0 -50%;width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:var(--r-sm);background:transparent;color:var(--ink-muted);cursor:pointer}.search-field:not([data-empty]) .search-clear{display:grid}.search-field[data-empty] .search-clear{display:none}.segmented{display:inline-flex;max-width:100%;overflow-x:auto;scrollbar-width:none;padding:3px;gap:2px;background:var(--surface-2);border-radius:var(--r-md)}.segment{display:inline-flex;flex:none;align-items:center;white-space:nowrap;min-height:38px;padding:0 16px;border-radius:var(--r-sm);font-weight:600;color:var(--ink-muted);cursor:pointer}.segment[data-selected]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #1f2a2726}.segment[data-focus-visible]{outline:3px solid var(--focus);outline-offset:2px}@media(max-width:479px){.segment{padding:0 10px;font-size:14px}}.period-popover{min-width:300px}.period-dialog{display:grid;gap:12px;padding:8px;outline:none}.period-presets{list-style:none;margin:0;padding:0}.period-views{padding-bottom:8px;border-bottom:1px solid var(--line)}.period-preset{width:100%;border:0;background:transparent;color:var(--ink);font:inherit;text-align:left}.period-preset.is-selected{background:var(--primary-soft);color:var(--primary);font-weight:600}.period-custom{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:12px;border-top:1px solid var(--line)}@media(min-width:900px){.filter-chip{display:none}}.segment{white-space:nowrap;padding:0 12px}.search-input{border-radius:var(--r-md)}.toolbar-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:16px}.date-nav{display:inline-flex;align-items:stretch;height:var(--control-h);overflow:hidden;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-md)}.date-nav .btn,.date-nav .field .input{height:var(--control-h);min-height:var(--control-h);border:0;border-radius:0;background:transparent;box-shadow:none}.date-nav .btn{padding:0 14px;color:var(--ink)}.date-nav .btn.icon-btn{width:var(--control-h);padding:0}.date-nav .btn[data-hovered]{background:var(--surface-2)}.date-nav .field .input{padding:0 10px}.date-nav>*+*{border-left:1px solid var(--line)}.toolbar-row .field{flex:0 1 210px}.field-inline .date-group{justify-content:flex-start;gap:8px}.field-inline .date-trigger{margin-left:auto}.search-field .search-input{padding-left:38px;padding-right:38px}.search-icon,.search-clear{z-index:1}.date-nav .field{flex:0 0 auto}.form-section-head p{margin:-6px 0 0;font-size:14px}.form-section-head .section-title{margin-bottom:12px}.section-title-row{display:flex;align-items:center;gap:4px;margin-bottom:12px}.form-section-head .section-title-row .section-title{margin-bottom:0}.field-grid{display:grid;gap:16px;grid-template-columns:1fr}@media(min-width:640px){.field-grid{grid-template-columns:1fr 1fr}}@media(min-width:1100px){.field-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.field-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.form-page{max-width:960px}.form-actions{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:899px){.form-actions{position:sticky;bottom:calc(72px + env(safe-area-inset-bottom));z-index:5;margin:0 -16px;padding:12px 16px;background:var(--surface);border-top:1px solid var(--line)}}.warning-list{list-style:none;margin:0;padding:8px 10px;display:grid;gap:4px;border-radius:var(--r-md);background:var(--warn-soft);color:var(--warn);font-size:14px;font-weight:600}.warning-list li{display:flex;align-items:flex-start;gap:8px}.warning-list svg{flex:none;margin-top:2px}.warning-list.is-compact{display:flex;flex-wrap:wrap;gap:2px 16px;padding:0;background:transparent;font-size:13px}.warning-list.is-compact li{align-items:center;gap:4px}.warning-list.is-compact svg{margin-top:0}:root{--control-h: 44px}@media(min-width:900px){:root{--control-h: 40px}}@media(max-width:639px){.date-nav{width:100%}.date-nav .field{flex:1 1 auto;min-width:0}.date-nav .select-prefix{display:none}.date-nav .btn:not(.icon-btn){padding:0 12px}.toolbar-row .field{flex:1 1 100%}}@media(max-width:639px){.field-grid.cols-4{grid-template-columns:1fr 1fr;gap:12px}}@media(min-width:900px){.filter-chips{display:none}}.stat-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:0 0 8px}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 16px}.stat-card dt{display:flex;align-items:center;gap:4px;font:600 13px/1.3 var(--font-ui);color:var(--ink-muted)}.stat-card dd{margin:4px 0 0;font:700 24px/1.2 var(--font-ui);overflow-wrap:anywhere}.stat-card p{margin:4px 0 0;font-size:13px}.stat-delta{display:flex;align-items:center;gap:4px;margin:4px 0 0;font:600 13px/1.3 var(--font-ui)}.stat-delta.is-up{color:var(--ok)}.stat-delta.is-down{color:var(--danger)}.stat-delta.is-flat,.stat-delta.is-na{color:var(--ink-muted)}.multi-dialog{padding:8px 12px;outline:none}.multi-dialog [role=group]{display:flex;flex-direction:column;min-width:200px}.chart-box{width:100%;height:240px}.chart-box.is-short{height:200px}.chart-loading{display:grid;place-items:center;font-size:13px}.chart-tooltip{display:flex;flex-direction:column;gap:2px;padding:8px 10px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-sm);box-shadow:var(--shadow);font-size:13px}.chart-legend{display:flex;flex-wrap:wrap;gap:4px 16px;margin:0;padding:0;list-style:none;font-size:13px;color:var(--ink-muted)}.chart-legend li{display:inline-flex;align-items:center;gap:6px}.legend-swatch{display:inline-block;width:14px;height:10px;border-radius:2px}.legend-swatch.is-bar{background:var(--primary)}.legend-swatch.is-line{height:0;border-top:3px solid var(--primary);border-radius:0}.legend-swatch.is-dash{height:0;border-top:2px dashed var(--ink-muted);border-radius:0}.legend-swatch.is-ghost{background:var(--surface-2);border:1px dashed var(--line-strong)}.btn.collapsible-head{justify-content:flex-start;gap:8px;width:100%;min-height:0;padding:0;border:0;color:var(--ink)}.btn.collapsible-head[data-hovered]{background:transparent}.collapsible-head .section-title{margin:0}.collapsible-row{display:flex;align-items:center;gap:8px}.collapsible-row .btn.info-btn{margin:-10px -8px}.collapsible-head .collapsible-chevron{margin-left:auto;flex:none}.collapsible-head[aria-expanded=false] .collapsible-chevron{transform:rotate(-90deg)}.more-dialog{padding:12px;min-width:240px;outline:none}.chart-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.rich-toolbar{margin-left:-13px;display:flex;flex-wrap:wrap;align-items:center;gap:2px}.rich-fields{gap:6px;margin-left:auto}.emoji-popover{padding:8px}.emoji-grid{display:grid;grid-template-columns:repeat(6,44px);gap:2px}.emoji-btn.btn{min-height:44px;padding:0;font-size:22px}.placeholder-menu{margin:0;padding:0;list-style:none}.placeholder-btn.btn{display:flex;flex-direction:column;align-items:flex-start;width:100%;min-height:44px;gap:0;text-align:left}.wa-preview{margin:0}.wa-bubble{max-width:420px;margin-top:6px;padding:8px 12px;border-radius:0 var(--r-md) var(--r-md) var(--r-md);background:var(--primary-soft);color:var(--ink);font-size:15px;line-height:1.4;overflow-wrap:anywhere}.wa-line{min-height:1.4em}.wa-caption{font-size:13px;font-weight:600;color:var(--ink-muted)}.action-menu{min-width:220px;padding:4px}.action-menu-list{outline:none}.option-danger{color:var(--danger)}.overlay.form-overlay{padding:0;grid-template-columns:minmax(0,1fr)}.form-modal{width:100%;min-width:0;max-width:none;height:100dvh}.form-dialog{height:100%;display:flex;flex-direction:column;padding:0;border-radius:0}.form-dialog-head{display:flex;align-items:center;gap:8px;padding:12px 8px 12px 20px;border-bottom:1px solid var(--line)}.form-dialog-head h2{margin:0;flex:1;min-width:0;overflow-wrap:anywhere}.form-dialog-body{flex:1;overflow-y:auto;padding:20px 20px 0}.form-dialog .form-actions{position:sticky;bottom:0;z-index:5;margin:0 -20px;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line)}@media(min-width:700px){.overlay.form-overlay{padding:24px}.form-modal{max-width:640px;height:auto;max-height:calc(100dvh - 48px);display:flex}.form-modal.is-wide{max-width:1040px}.form-dialog{height:auto;width:100%;border-radius:var(--r-lg)}}.status-tab-list{display:flex;flex-wrap:wrap;gap:8px}.status-tab{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px 0 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-weight:600;color:var(--ink-muted);cursor:pointer;outline:none;white-space:nowrap}.status-tab[data-hovered]{color:var(--ink);border-color:var(--line-strong)}.status-tab[data-selected]{color:var(--ink);background:var(--primary-soft);border-color:var(--primary)}.status-tab[data-focus-visible]{outline:3px solid var(--focus);outline-offset:2px}.status-tab.is-filled .status-tab-icon{color:var(--primary)}.status-tab.is-empty .status-tab-icon{color:var(--ink-muted)}.status-tab.is-problem .status-tab-icon{color:var(--danger)}.status-tab-panel{padding-top:16px;outline:none}
