:root{--bg: #f4f2ed;--panel: #ffffff;--ink: #1d2127;--ink-2: #555c66;--ink-3: #8b9099;--line: #e4dfd5;--line-2: #efebe3;--accent: #2f4f8f;--accent-soft: #e6ecf8;--danger: #c8423c;--pay-paid: #d4a106;--pay-paid-bg: #fbefb5;--pay-paid-ink: #634b00;--pay-partial: #e5772a;--pay-partial-bg: #fcdcc0;--pay-partial-ink: #7a3a06;--pay-not_paid: #d6453d;--pay-not_paid-bg: #f8d3d0;--pay-not_paid-ink: #84241f;--in: #2e9a5c;--in-bg: #cdebd8;--in-ink: #1a5634;--st-reserved: #d4932a;--st-reserved-bg: #fdf0d6;--st-booked: #4a6fc9;--st-booked-bg: #e1e9fb;--st-checked_in: #2e9a5c;--st-checked_in-bg: #cdebd8;--st-checked_out: #9b968c;--st-checked_out-bg: #ebe8e2;--st-cancelled: #9b968c;--st-cancelled-bg: #efede8;--radius: 10px;--shadow: 0 1px 2px rgba(30, 30, 20, .06), 0 8px 24px rgba(30, 30, 20, .06);font-family:Manrope,system-ui,-apple-system,sans-serif;font-size:14px;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent);text-decoration:none}.muted{color:var(--ink-3);font-size:12px}.splash{height:100vh;display:grid;place-items:center;color:var(--ink-2)}.shell{display:grid;grid-template-columns:216px 1fr;height:100vh}.rail{display:flex;flex-direction:column;gap:4px;padding:16px 12px;background:#1f2430;color:#c9ccd3}.brand{display:flex;align-items:center;gap:8px;margin:0 8px 20px}.brand span{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:#f4f2ed;color:#1f2430;font-weight:700;font-size:16px}.rail-link{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:8px;color:#c9ccd3}.rail-link:hover{background:#ffffff0f}.rail-link.is-active{background:#ffffff1a;color:#fff}.rail-spacer{flex:1}.rail-user{display:grid;grid-template-columns:32px 1fr;gap:4px 8px;align-items:center;padding:12px 8px 0;border-top:1px solid rgba(255,255,255,.08)}.avatar{width:32px;height:32px;border-radius:50%;background:#3a4252;display:grid;place-items:center;color:#fff;font-weight:600}.rail-user-text{display:flex;flex-direction:column;min-width:0}.rail-user-text strong{color:#fff;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rail-user-text span{font-size:12px}.rail-user .link-btn{color:#8f95a1}.main{min-width:0;overflow:hidden}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;padding:0 16px;border-radius:8px;border:1px solid transparent;background:none;cursor:pointer;font-weight:600;white-space:nowrap}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:#263f74}.btn-ghost{border-color:var(--line);background:var(--panel)}.btn-ghost:hover:not(:disabled){border-color:#cfc8ba}.btn-danger{background:var(--danger);color:#fff}.btn-danger-ghost{border-color:#efcfcc;color:var(--danger);background:var(--panel)}.btn-sm{height:32px;padding:0 12px;font-size:13px}.btn-block{width:100%}.icon-btn{width:36px;height:36px;border-radius:8px;border:1px solid var(--line);background:var(--panel);cursor:pointer;font-size:16px;line-height:1}.link-btn{border:0;background:none;padding:0;cursor:pointer;font-size:12px;color:var(--ink-3);text-decoration:underline;text-underline-offset:2px}.seg{display:inline-flex;align-items:center;gap:4px}.seg-tabs{padding:3px;border-radius:10px;background:#e9e5dc}.seg-tabs button{height:30px;padding:0 12px;border:0;border-radius:7px;background:none;cursor:pointer;color:var(--ink-2);font-weight:600;font-size:13px}.seg-tabs button.is-on{background:var(--panel);color:var(--ink);box-shadow:0 1px 2px #00000014}.seg-label{padding:0 4px 0 8px;font-size:12px;font-weight:700;color:var(--ink-3)}.seg-wide{display:flex}.seg-wide button{flex:1}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field>span{font-size:12px;font-weight:600;color:var(--ink-2)}.field small{font-size:12px;color:var(--ink-3)}input:not([type=checkbox]),select,textarea{width:100%;height:38px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);outline:none}textarea{height:auto;padding:8px 12px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.form-error{padding:8px 12px;border-radius:8px;background:var(--pay-not_paid-bg);color:#8f2a25;font-size:13px}.inline-warn{color:var(--danger);font-size:13px}.login{min-height:100vh;display:grid;place-items:center;padding:16px}.login-card{width:min(380px,100%);display:flex;flex-direction:column;gap:16px;padding:32px;border-radius:16px;background:var(--panel);box-shadow:var(--shadow)}.login-card h1{margin:0 0 8px;font-size:20px}.login-sub{margin:-8px 0 4px;color:var(--ink-3)}.login-mark{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#1f2430;color:#fff;font-weight:700;font-size:20px}.board-page,.list-page{height:100vh;display:flex;flex-direction:column;gap:12px;padding:16px 20px}.list-page{overflow:auto}.toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}.toolbar-group{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.page-title{margin:0 8px 0 0;font-size:20px;font-weight:700}.date-pick{position:relative;display:inline-flex;align-items:center;height:36px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);font-weight:600;cursor:pointer}.date-pick input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.search{width:320px;padding-left:36px!important;background:var(--panel) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%238b9099' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='7' cy='7' r='5'/%3E%3Cpath d='m11 11 3.5 3.5'/%3E%3C/svg%3E") no-repeat 12px center}.toolbar-group:has(.search){flex:0 1 320px}.mini-progress{height:4px;margin-top:6px;margin-left:auto;width:72px;border-radius:2px;background:var(--line-2);overflow:hidden}.mini-progress i{display:block;height:100%;border-radius:2px}.mp-paid i{background:var(--pay-paid)}.mp-partial i{background:var(--pay-partial)}.mp-not_paid i{background:var(--pay-not_paid)}.today{display:grid;grid-template-columns:minmax(240px,1.2fr) repeat(3,minmax(80px,.45fr)) auto;border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow)}.today>*{padding:12px 20px}.today>*+*{border-left:1px solid var(--line-2)}.today-occ{display:flex;flex-direction:column;gap:4px}.today-date{font-size:12px;font-weight:600;color:var(--ink-3)}.occ-line{display:flex;align-items:baseline;gap:8px}.occ-line strong{font-size:28px;line-height:1.1}.occ-line span,.today-occ small{font-size:13px;color:var(--ink-2)}.today-occ small{font-size:12px;color:var(--ink-3)}.occ-bar{display:flex;gap:2px;height:6px;border-radius:3px;background:var(--accent-soft);overflow:hidden}.occ-bar i{background:var(--accent);border-radius:3px}.occ-bar .occ-repair{background:#b9b3c9}.stat{display:flex;flex-direction:column;justify-content:center;gap:2px}.stat strong{font-size:28px;line-height:1.1}.stat span{font-size:13px;color:var(--ink-2)}a.stat{color:inherit}a.stat:hover{background:#faf8f4}.today-pay{display:grid;grid-template-columns:repeat(3,auto);align-content:center;gap:4px 8px}.today-pay-title{grid-column:1 / -1;font-size:12px;font-weight:600;color:var(--ink-3)}.paydot{display:flex;align-items:center;gap:8px;height:36px;padding:0 12px;border-radius:8px;font-size:13px;white-space:nowrap}.paydot i{width:10px;height:10px;border-radius:50%;flex:none}.paydot strong{font-size:16px;font-variant-numeric:tabular-nums}.paydot-paid{background:var(--pay-paid-bg)}.paydot-paid i{background:var(--pay-paid)}.paydot-partial{background:var(--pay-partial-bg)}.paydot-partial i{background:var(--pay-partial)}.paydot-not_paid{background:var(--pay-not_paid-bg)}.paydot-not_paid i{background:var(--pay-not_paid)}.filter-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px}.payfilter{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.payfilter-label{font-size:12px;font-weight:700;color:var(--ink-3);margin-right:4px}.pf-chip{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 12px;border:1px solid var(--line);border-radius:16px;background:var(--panel);cursor:pointer;font-size:13px;font-weight:600;color:var(--ink-2);transition:background .12s,border-color .12s}.pf-chip:hover{border-color:#cfc8ba}.pf-chip i{width:10px;height:10px;border-radius:50%}.pf-chip b{min-width:20px;padding:1px 6px;border-radius:10px;background:var(--bg);font-size:12px;text-align:center;font-variant-numeric:tabular-nums}.pf-paid i{background:var(--pay-paid)}.pf-partial i{background:var(--pay-partial)}.pf-not_paid i{background:var(--pay-not_paid)}.pf-chip.is-on{color:var(--ink);border-color:transparent}.pf-all.is-on{background:#1f2430;color:#fff}.pf-all.is-on b{background:#ffffff29}.pf-paid.is-on{background:var(--pay-paid-bg);box-shadow:inset 0 0 0 1.5px var(--pay-paid)}.pf-partial.is-on{background:var(--pay-partial-bg);box-shadow:inset 0 0 0 1.5px var(--pay-partial)}.pf-not_paid.is-on{background:var(--pay-not_paid-bg);box-shadow:inset 0 0 0 1.5px var(--pay-not_paid)}.pf-chip.is-on b{background:#ffffffb3}.payfilter-due{font-size:13px;color:var(--ink-2)}.enc-legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:12px;color:var(--ink-2)}.enc{display:inline-flex;align-items:center;gap:8px}.enc:before{content:"";width:18px;height:12px;border-radius:4px;background:#e9e5dc}.enc-reserved:before{background:transparent;border:1.5px dashed #8d877b}.enc-in:before{width:8px;height:8px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 3px #e9e5dc;margin:0 5px}.enc-out:before{opacity:.45}.enc-repair:before{background:repeating-linear-gradient(135deg,#d9d5cc 0,#d9d5cc 3px,#ece9e2 3px,#ece9e2 6px)}.enc-tone:before{background:var(--fill);box-shadow:inset 3px 0 0 var(--cap)}.enc-tone{background:none!important;color:var(--ink-2)!important}.enc-st:before{background:var(--fill);box-shadow:inset 3px 0 0 var(--cap)}.enc-st{background:none!important;color:var(--ink-2)!important}.enc-sep{width:1px;height:16px;background:var(--line)}.enc-hk:before{width:8px;height:8px;border-radius:50%;background:var(--dot)}.enc-hk{background:none!important}.board{--row: 46px;flex:1;min-height:0;overflow:auto;border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);-webkit-user-select:none;user-select:none;transition:opacity .2s}.board.is-loading{opacity:.5}.board-inner{position:relative}.board-head{position:sticky;top:0;z-index:6;display:flex;background:var(--panel);border-bottom:1px solid var(--line)}.corner{position:sticky;left:0;z-index:7;flex:none;width:var(--label);display:flex;flex-direction:column;justify-content:flex-end;padding:8px 12px;background:var(--panel);border-right:1px solid var(--line);font-weight:700}.corner small{font-weight:500;font-size:12px;color:var(--ink-3)}.head-track{flex:none}.months,.days,.free-row,.cat-track{display:flex}.months div{flex:none;height:24px;padding:4px 8px;font-size:12px;font-weight:700;color:var(--ink-2);border-left:1px solid var(--line);white-space:nowrap;overflow:hidden}.days .day{flex:none;width:var(--col);height:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-left:1px solid var(--line-2);line-height:1.1}.day b{font-size:14px;font-variant-numeric:tabular-nums}.day span{font-size:12px;color:var(--ink-3)}.day.is-weekend b,.day.is-weekend span{color:#b5483f}.day.is-monday{border-left-color:var(--line)}.day.is-today{background:var(--accent);border-radius:8px 8px 0 0}.day.is-today b,.day.is-today span{color:#fff}.free-row div,.cat-track div{flex:none;width:var(--col);text-align:center;font-size:12px;font-variant-numeric:tabular-nums;color:var(--ink-3);border-left:1px solid var(--line-2)}.free-row div{height:22px;line-height:22px;font-weight:700;color:var(--in);background:#f6faf7}.free-row .is-low{color:var(--pay-partial);background:#fdf8ec}.free-row .is-full{color:var(--pay-not_paid);background:#fdf1f0}.board-body{position:relative}.col-overlay{position:absolute;top:0;bottom:0;pointer-events:none;z-index:0}.col-overlay div{position:absolute;top:0;bottom:0}.ov-weekend{background:#b5483f09}.ov-today{background:#2f4f8f12;box-shadow:inset 2px 0 #2f4f8f59}.cat-row,.room-row{display:flex;position:relative}.cat-row{height:32px;background:#faf8f4;border-bottom:1px solid var(--line)}.cat-label{position:sticky;left:0;z-index:3;flex:none;width:var(--label);display:flex;align-items:center;gap:8px;padding:0 12px;border:0;border-right:1px solid var(--line);background:#faf8f4;cursor:pointer;text-align:left}.chev{display:inline-block;transition:transform .15s;color:var(--ink-3)}.chev.is-open{transform:rotate(90deg)}.cat-name{flex:1;font-weight:700;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cat-meta{display:none}.cat-track div{line-height:32px}.cat-track .is-full{color:var(--pay-not_paid);font-weight:700}.room-row{height:var(--row);border-bottom:1px solid var(--line-2)}.room-label{position:sticky;left:0;z-index:3;flex:none;width:var(--label);display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 8px 0 28px;background:var(--panel);border-right:1px solid var(--line)}.room-name{display:flex;flex-direction:column;min-width:0;line-height:1.2}.room-name strong{font-size:13px}.room-name span{font-size:12px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hk-dot{--dot: var(--pay-paid);position:relative;flex:none;display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 6px;border-radius:11px;cursor:pointer;font-size:12px;font-weight:600}.hk-dot i{width:8px;height:8px;border-radius:50%;background:var(--dot)}.hk-dot:hover{background:var(--bg)}.hk-dot select{position:absolute;top:0;right:0;bottom:0;left:0;width:100%!important;height:100%!important;padding:0!important;opacity:0;cursor:pointer}.hk-clean{--dot: #3aa66b}.hk-dirty{--dot: #c08a2e;color:#8a6420}.hk-repair{--dot: #7b68b5;color:#5b4b8a}.room-row:hover .track{background-color:#2f4f8f0a}.room-row:hover .room-label{background:#f6f7fb}.track{position:relative;flex:none;z-index:1;background-image:linear-gradient(to right,var(--line-2) 1px,transparent 1px);background-size:var(--col) 100%;cursor:cell}.bar{--fill: #ece9e2;--cap: #9b968c;position:absolute;top:4px;height:38px;display:flex;flex-direction:column;justify-content:center;gap:1px;padding:2px 6px 2px 9px;border:0;border-radius:7px;background:var(--fill);cursor:pointer;overflow:hidden;text-align:left;font-size:12px;font-weight:650;transition:transform .1s,box-shadow .12s,opacity .15s}.bar:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--cap)}.bar:hover,.bar:focus-visible{transform:translateY(-1px);box-shadow:0 6px 16px #1e1e1429;z-index:2;outline:none}.bar-text{position:relative;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:16px}.bar-debt{position:relative;align-self:flex-end;max-width:100%;font-size:12px;font-weight:800;line-height:14px;letter-spacing:-.02em;white-space:nowrap;font-variant-numeric:tabular-nums}.bar.is-narrow{padding:2px 2px 2px 5px}.bar.is-narrow:before{width:3px}.bar.is-narrow.has-debt .bar-text{display:none}.bar.is-narrow .bar-debt{align-self:center;letter-spacing:-.04em}.bar.is-tiny{padding:2px 1px 2px 4px}.bar.is-tiny .bar-debt{font-size:10px;letter-spacing:-.06em}.bar.tone-in .bar-debt,.bar.tone-paid .bar-debt,.bar.tone-out .bar-debt{color:var(--pay-not_paid-ink)}.bar-sub{position:relative;margin-left:auto;font-weight:600;opacity:.75;white-space:nowrap;font-variant-numeric:tabular-nums}.bar-in{flex:none;width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 2px #fffc}.bar-pay{flex:none;margin-left:auto;width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 2px #ffffffe6}.bar-sub+.bar-pay{margin-left:0}.pd-paid{background:var(--pay-paid)}.pd-partial{background:var(--pay-partial)}.pd-not_paid{background:var(--pay-not_paid)}.bar.is-reserved{background:color-mix(in srgb,var(--fill) 50%,white);outline:1.5px dashed var(--cap);outline-offset:-1.5px}.bar.is-reserved:before{display:none}.bar.is-checked_out{opacity:.6}.bar.is-ghost{opacity:.12;pointer-events:none;box-shadow:none;transform:none}.bar.is-ghost .bar-text,.bar.is-ghost .bar-sub,.bar.is-ghost .bar-in,.bar.is-ghost .bar-pay{visibility:hidden}.bar.clip-l{border-top-left-radius:0;border-bottom-left-radius:0}.bar.clip-r{border-top-right-radius:0;border-bottom-right-radius:0}.bar-repair{background:repeating-linear-gradient(135deg,#dcd8cf 0,#dcd8cf 6px,#ece9e2 6px,#ece9e2 12px);color:#57534b}.bar-repair:before{display:none}.pay-paid,.tone-paid{--fill: var(--pay-paid-bg);--cap: var(--pay-paid);background-color:var(--pay-paid-bg);color:var(--pay-paid-ink)}.pay-partial,.tone-partial{--fill: var(--pay-partial-bg);--cap: var(--pay-partial);background-color:var(--pay-partial-bg);color:var(--pay-partial-ink)}.pay-not_paid,.tone-not_paid{--fill: var(--pay-not_paid-bg);--cap: var(--pay-not_paid);background-color:var(--pay-not_paid-bg);color:var(--pay-not_paid-ink)}.tone-in{--fill: var(--in-bg);--cap: var(--in);background-color:var(--in-bg);color:var(--in-ink)}.tone-out{--fill: var(--st-checked_out-bg);--cap: var(--st-checked_out);background-color:var(--st-checked_out-bg);color:#5d5a54}.st-reserved{--fill: var(--st-reserved-bg);--cap: var(--st-reserved);background-color:var(--st-reserved-bg);color:#80561a}.st-booked{--fill: var(--st-booked-bg);--cap: var(--st-booked);background-color:var(--st-booked-bg);color:#2b4686}.st-checked_in{--fill: var(--st-checked_in-bg);--cap: var(--st-checked_in);background-color:var(--st-checked_in-bg);color:#1d5e39}.st-checked_out{--fill: var(--st-checked_out-bg);--cap: var(--st-checked_out);background-color:var(--st-checked_out-bg);color:#5d5a54}.st-cancelled{--fill: var(--st-cancelled-bg);--cap: var(--st-cancelled);background-color:var(--st-cancelled-bg);color:#6d6a64}.selection{position:absolute;top:4px;height:38px;z-index:3;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1.5px dashed var(--accent);background:#2f4f8f1a;color:var(--accent);font-size:12px;font-weight:700;pointer-events:none;white-space:nowrap}.selection.is-conflict{border-color:var(--danger);background:#c8423c1a;color:var(--danger)}.hovercard{position:fixed;z-index:50;width:280px;display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:10px;background:var(--panel);box-shadow:0 12px 32px #14140a2e;font-size:13px;pointer-events:none}.hc-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.hc-line{color:var(--ink-2)}.hc-money{display:flex;align-items:center;gap:8px;margin-top:4px}.badge{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:6px;font-size:12px;font-weight:700;white-space:nowrap}.panel-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;justify-content:flex-end;background:#191c2338;animation:fade .15s ease-out}.panel{width:min(560px,100%);height:100%;background:var(--bg);box-shadow:-12px 0 40px #14140a29;animation:slide .2s ease-out}@keyframes fade{0%{opacity:0}}@keyframes slide{0%{transform:translate(24px);opacity:0}}.panel-form{height:100%;display:flex;flex-direction:column}.panel-loading{height:100%;display:flex;flex-direction:column;gap:16px;align-items:center;justify-content:center;color:var(--ink-2)}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 24px 16px;background:var(--panel);border-bottom:1px solid var(--line)}.panel-head h2{margin:4px 0 0;font-size:20px}.eyebrow{font-size:12px;font-weight:600;color:var(--ink-3)}.badges{display:flex;gap:8px;margin-top:8px}.panel-body{flex:1;overflow:auto;display:flex;flex-direction:column;gap:16px;padding:16px 24px 24px}.panel-foot{display:flex;flex-direction:column;gap:8px;padding:12px 24px;background:var(--panel);border-top:1px solid var(--line)}.foot-row{display:flex;justify-content:flex-end;gap:8px}.form-section{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:var(--radius);background:var(--panel)}.form-section h3{margin:0;font-size:13px;font-weight:700;color:var(--ink-2)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.dt{display:grid;grid-template-columns:1fr 104px;gap:4px}.nights-note{font-size:13px;font-weight:600;color:var(--accent)}.nights-note.is-bad{color:var(--danger)}.stepper{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;height:38px;border:1px solid var(--line);border-radius:8px;overflow:hidden}.stepper button{height:100%;border:0;background:#f7f5f1;cursor:pointer;font-size:16px}.stepper button:disabled{color:var(--ink-3);cursor:default}.stepper output{text-align:center;font-weight:700}.stay-card{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:16px;border-radius:var(--radius);background:var(--panel)}.stay-card>div:not(.stay-arrow){display:flex;flex-direction:column}.stay-card>div:last-child{text-align:right}.stay-card span{font-size:12px;color:var(--ink-3)}.stay-card strong{font-size:16px}.stay-card small{color:var(--ink-2)}.stay-arrow span{display:inline-block;padding:4px 12px;border-radius:20px;background:var(--accent-soft);color:var(--accent);font-weight:700;font-size:12px}.money-card{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:var(--radius)}.money-card.pay-paid{background:var(--pay-paid-bg)}.money-card.pay-partial{background:var(--pay-partial-bg)}.money-card.pay-not_paid{background:var(--pay-not_paid-bg)}.money-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.money-row span{display:block;font-size:12px;opacity:.75}.money-row strong{font-size:16px;font-variant-numeric:tabular-nums}.money-row .due{font-size:20px}.progress{height:6px;border-radius:6px;background:#ffffffb3;overflow:hidden}.progress i{display:block;height:100%;background:var(--cap, currentColor);border-radius:6px}.panel-head.head-paid{box-shadow:inset 0 4px 0 var(--pay-paid)}.panel-head.head-partial{box-shadow:inset 0 4px 0 var(--pay-partial)}.panel-head.head-not_paid{box-shadow:inset 0 4px 0 var(--pay-not_paid)}.notice{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:var(--radius);font-size:13px}.notice-muted{background:#ebe8e2;color:var(--ink-2);display:block}.notice-warn{background:var(--st-reserved-bg);color:#80561a}.notice-lock{background:#ebe8e2;color:var(--ink-2)}.actions{display:flex;flex-wrap:wrap;gap:8px}.inline-form{display:flex;align-items:flex-end;gap:8px;padding:12px;border-radius:var(--radius);background:var(--panel)}.inline-form .field{flex:1}.facts{display:grid;grid-template-columns:120px 1fr;gap:8px 12px;margin:0;font-size:13px}.facts dt{color:var(--ink-3)}.facts dd{margin:0}.comment{margin:0;padding:12px;border-radius:8px;background:#faf8f4;font-size:13px;white-space:pre-wrap}.payments{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.payments li{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:8px 0;border-bottom:1px solid var(--line-2)}.payments li.is-void{opacity:.5}.payments li.is-void strong{text-decoration:line-through}.pm-main{display:flex;align-items:baseline;gap:8px}.pm-main strong{font-variant-numeric:tabular-nums;color:var(--in)}.pm-main strong.neg{color:var(--danger)}.pm-meta{grid-column:1;font-size:12px;color:var(--ink-3)}.pm-void{grid-row:1;grid-column:2;align-self:center}.void-form{grid-column:1 / -1;display:flex;gap:8px;align-items:center}.void-form input{height:32px}.pay-form{display:flex;flex-direction:column;gap:8px;padding-top:4px}.pay-form .seg-tabs{align-self:flex-start}.pay-row{display:flex;gap:8px}.pay-row>input{flex:1;min-width:0}.pay-row>select{flex:none;width:190px}.timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:13px}.timeline li{display:grid;grid-template-columns:120px 1fr;gap:0 12px}.tl-when{color:var(--ink-3);font-size:12px}.tl-who{grid-column:2;font-size:12px;color:var(--ink-3)}.list-tabs{align-self:flex-start}.table-card{border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);overflow:auto}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{position:sticky;top:0;padding:12px;text-align:left;font-size:12px;font-weight:700;color:var(--ink-3);background:var(--panel);border-bottom:1px solid var(--line);white-space:nowrap}.table td{padding:12px;border-bottom:1px solid var(--line-2);vertical-align:top}.table tbody tr{cursor:pointer}.table tbody tr:hover{background:#faf8f4}.table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.table tbody tr td:first-child{box-shadow:inset 4px 0 0 transparent}.row-pay-paid td:first-child{box-shadow:inset 4px 0 0 var(--pay-paid)!important}.row-pay-partial td:first-child{box-shadow:inset 4px 0 0 var(--pay-partial)!important}.row-pay-not_paid td:first-child{box-shadow:inset 4px 0 0 var(--pay-not_paid)!important}.table tfoot td{padding:12px;font-weight:700;border-top:1px solid var(--line)}.empty{text-align:center;color:var(--ink-3);padding:40px!important}.stats-page{gap:16px}.range-inputs{display:flex;align-items:center;gap:4px}.range-inputs input{width:150px}.stats-body{display:flex;flex-direction:column;gap:16px;transition:opacity .2s}.stats-body.is-refetching{opacity:.55}.tiles{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:12px}.tile{display:flex;flex-direction:column;gap:4px;padding:16px;border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow)}.tile span{font-size:13px;color:var(--ink-2)}.tile strong{font-size:28px;font-weight:700;line-height:1.15;white-space:nowrap}.tile small{font-size:12px;color:var(--ink-3)}.tile-hero{background:#1f2430;color:#fff}.tile-hero span,.tile-hero small{color:#aeb3bd}.tile-hero strong{font-size:48px}.tile-debt strong{color:#8b2a25}.card{display:flex;flex-direction:column;gap:12px;min-width:0;padding:16px 20px;border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow)}.card p{margin:0}.card-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.card-head h2{margin:0;font-size:16px}.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.chart{position:relative}.chart svg{display:block;overflow:visible}.chart .grid{stroke:var(--line-2);stroke-width:1}.chart .axis{stroke:var(--line);stroke-width:1}.chart .tick{font-size:12px;fill:var(--ink-3);font-variant-numeric:tabular-nums}.chart .col{fill:var(--accent);transition:opacity .1s}.chart .col.is-muted{fill:#9fb0d2}.chart .col.is-hover{opacity:.75}.chart rect:focus{outline:none}.chart-tip{position:absolute;width:180px;transform:translateY(-100%);display:flex;flex-direction:column;gap:2px;padding:8px 12px;border-radius:8px;background:var(--panel);box-shadow:0 8px 24px #14140a2e;pointer-events:none;font-size:12px;color:var(--ink-2);z-index:5}.chart-tip strong{font-size:16px;color:var(--ink)}.chart-tip small{display:flex;flex-direction:column;color:var(--ink-3)}.day-table{max-height:220px;overflow:auto}.statusbar{display:flex;gap:2px;height:16px}.statusbar i{border-radius:4px}.statuslegend{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:13px;color:var(--ink-2)}.statuslegend span{display:inline-flex;align-items:center;gap:8px}.statuslegend strong{color:var(--ink)}.statuslegend i{width:12px;height:12px;border-radius:3px}.sb-paid{background:var(--pay-paid)}.sb-partial{background:var(--pay-partial)}.sb-not_paid{background:var(--pay-not_paid)}.breakdown td{vertical-align:middle}.breakdown tbody tr{cursor:default}.bd-name{margin-bottom:4px}.hbar{height:6px;border-radius:3px;background:var(--accent-soft)}.hbar i{display:block;height:100%;border-radius:3px;background:var(--accent)}.hbar-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.hbl-top{display:flex;justify-content:space-between;gap:12px;margin-bottom:4px;font-size:13px}.hbl-top strong{font-variant-numeric:tabular-nums}@media(max-width:1200px){.tiles{grid-template-columns:repeat(3,1fr)}.chart-grid{grid-template-columns:1fr}}@media(max-width:900px){.shell{grid-template-columns:1fr;grid-template-rows:auto 1fr}.rail{flex-direction:row;align-items:center;padding:8px 12px}.brand{margin:0 8px 0 0}.rail-link span,.rail-user-text{display:none}.rail-user{display:flex;border:0;padding:0}.board-page,.list-page{height:calc(100vh - 52px);padding:12px}.board{--label: 120px !important}.today{grid-template-columns:1fr 1fr 1fr}.today-occ,.today-pay{grid-column:1 / -1;border-left:0!important}.today-pay span:not(.today-pay-title){display:none}.grid-2,.grid-3{grid-template-columns:1fr}.search{width:100%}}.rail-user-actions{grid-column:1 / -1;display:flex;gap:16px;margin-top:4px;white-space:nowrap}.rail-user-actions .link-btn{color:#8f95a1}.staff-table tbody tr.is-inactive{opacity:.55}.staff-name{display:flex;align-items:center;gap:12px}.avatar-light{background:var(--accent-soft);color:var(--accent);flex:none}.you{font-weight:500;color:var(--ink-3)}.role-senior_manager{background:#1f2430;color:#fff}.role-manager{background:var(--accent-soft);color:var(--accent)}.staff-table .badge+.badge{margin-left:8px}.panel-narrow{width:min(480px,100%)}.role-options{display:flex;flex-direction:column;gap:8px}.role-option{display:grid;grid-template-columns:20px 1fr;gap:2px 8px;padding:12px;border:1px solid var(--line);border-radius:8px;cursor:pointer}.role-option input{grid-row:span 2;margin:3px 0 0;accent-color:var(--accent)}.role-option span{font-size:12px;color:var(--ink-2)}.role-option.is-on{border-color:var(--accent);background:var(--accent-soft)}.role-option.is-disabled{cursor:default;opacity:.6}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}.row-between .btn{flex:none}.mono{font-family:ui-monospace,SF Mono,Menlo,monospace;letter-spacing:.04em}.credentials{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:16px 20px;border-radius:var(--radius);background:var(--pay-paid-bg)}.credentials>div{display:flex;flex-direction:column;gap:2px}.credentials>div span{font-size:13px;color:var(--ink-2)}.credentials code{padding:8px 12px;border-radius:8px;background:var(--panel);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:16px;letter-spacing:.06em}.credentials p{flex-basis:100%;margin:0}.modal-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:16px;background:#191c234d;animation:fade .15s ease-out}.modal{width:min(400px,100%);display:flex;flex-direction:column;gap:16px;padding:24px;border-radius:14px;background:var(--panel);box-shadow:var(--shadow)}.modal h2{margin:0;font-size:20px}.modal p{margin:0}.guests-block{display:flex;flex-direction:column;gap:8px}.guests-head{display:flex;align-items:baseline;justify-content:space-between;font-size:12px;font-weight:700;color:var(--ink-2)}.guests-head small{font-weight:500;color:var(--ink-3)}.guests-extra{padding:12px;border-radius:8px;background:#faf8f4}.guests-extra.is-disabled{opacity:.5}.meals-preview{display:flex;flex-direction:column;gap:2px;padding:8px 12px;border-radius:8px;background:var(--accent-soft);font-size:13px}.meals-preview>span{font-size:12px;font-weight:700;color:var(--accent)}.meals-preview small{color:var(--ink-2)}.kitchen-page{gap:16px}.meal-cards{display:grid;grid-template-columns:minmax(200px,.9fr) repeat(3,1fr);gap:12px}.meal-cards-title{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:16px}.meal-cards-title span,.meal-cards-title small{font-size:13px;color:var(--ink-3)}.meal-cards-title strong{font-size:20px;line-height:1.2}.meal-card{display:flex;flex-direction:column;gap:4px;padding:16px 20px;border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);border-top:4px solid var(--meal)}.meal-breakfast{--meal: #e0a43a}.meal-lunch{--meal: #3d8f62}.meal-dinner{--meal: #4c5f9e}.meal-name{font-size:13px;font-weight:700;color:var(--ink-2)}.meal-card>strong{font-size:48px;line-height:1;font-weight:700}.meal-split{display:flex;gap:16px;font-size:13px;color:var(--ink-2)}.meal-split b,.meal-extra b{color:var(--ink)}.meal-extra{align-self:flex-start;margin-top:4px;padding:4px 8px;border-radius:6px;background:#faf3e3;font-size:13px;color:#74500a}.meal-extra.is-zero{background:var(--bg);color:var(--ink-3)}.kitchen-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:16px;align-items:start}.kitchen-table tbody tr{cursor:pointer}.kitchen-table tbody tr.is-selected td{background:var(--accent-soft)}.kitchen-table tbody tr.is-selected td:first-child{box-shadow:inset 4px 0 0 var(--accent)}.portion{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums}.eaters{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.eaters li{display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--line-2)}.eater-room{font-weight:700;font-size:13px}.eater-main strong{font-size:13px}.eater-people{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:12px;color:var(--ink-2)}.eater-extra{color:#74500a}.tag{padding:1px 6px;border-radius:4px;background:var(--bg);color:var(--ink-2);font-weight:600}.eater-meals{display:flex;gap:4px}.eater-meals span{width:24px;height:24px;display:grid;place-items:center;border-radius:6px;font-size:12px;font-weight:700;color:var(--ink-3);background:var(--bg);text-decoration:line-through;opacity:.6}.eater-meals span.is-on{color:#fff;background:var(--accent);text-decoration:none;opacity:1}.kitchen-rule{max-width:820px}.print-only{display:none}@media(max-width:1100px){.meal-cards{grid-template-columns:repeat(3,1fr)}.meal-cards-title{grid-column:1 / -1;padding:0}.kitchen-grid{grid-template-columns:1fr}}@media print{.rail,.no-print{display:none!important}.print-only{display:inline}.shell{display:block;height:auto}.main,.list-page{height:auto;overflow:visible}body,.card,.meal-card{background:#fff;box-shadow:none}.kitchen-grid{grid-template-columns:1fr}}.price-box{display:flex;flex-direction:column;gap:6px;padding:12px 16px;border-radius:8px;background:#faf8f4;font-size:13px}.price-title{font-size:12px;font-weight:700;color:var(--ink-3)}.price-row{display:flex;justify-content:space-between;gap:12px;color:var(--ink-2)}.price-row b{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}.price-discount,.price-discount b{color:var(--in)}.price-sub{padding-bottom:6px;border-bottom:1px dashed var(--line);color:var(--ink-3)}.price-total{margin-top:4px;padding-top:8px;border-top:1px solid var(--line);font-weight:700;color:var(--ink)}.price-total b{font-size:16px}.price-box.is-muted{opacity:.6}.manual-price{display:flex;flex-direction:column;gap:12px}.manual-price.is-on{padding:12px;border-radius:8px;background:var(--st-reserved-bg)}.check{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;font-weight:600}.check input{accent-color:var(--accent);width:16px;height:16px}.check small{font-weight:500;color:var(--ink-3)}.prices-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.price-table tbody tr{cursor:default}.price-table td{vertical-align:middle}.price-table tr.is-missing td:first-child{box-shadow:inset 4px 0 0 var(--pay-not_paid)}.price-input{width:140px!important;height:34px!important;text-align:right;font-variant-numeric:tabular-nums}.price-input::placeholder{color:var(--pay-not_paid)}.meal-prices{display:flex;flex-direction:column;gap:8px;padding-top:8px;border-top:1px solid var(--line-2)}.meal-prices h3{margin:0;font-size:14px}.saved-note{align-self:center;font-size:13px;font-weight:600;color:var(--in)}.discount-form{display:grid;grid-template-columns:1.4fr .6fr 1fr 1fr;gap:12px;align-items:end}.discount-actions{grid-column:1 / -1;display:flex;gap:8px}.discount-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.discount{display:grid;grid-template-columns:auto 64px 1fr auto auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line-2)}.discount.is-editing{background:var(--accent-soft)}.discount-pct{font-size:20px;font-weight:700;color:var(--in);font-variant-numeric:tabular-nums}.discount-past{opacity:.5}.discount-main{display:flex;flex-direction:column;min-width:0}.discount-main span{font-size:12px;color:var(--ink-2)}.discount-badge-now{background:var(--in-bg);color:var(--in-ink)}.discount-badge-future{background:var(--accent-soft);color:var(--accent)}.discount-badge-past{background:var(--bg);color:var(--ink-3)}.discount-tools{display:flex;align-items:center;gap:12px}@media(max-width:1100px){.prices-grid{grid-template-columns:1fr}.discount-form{grid-template-columns:1fr 1fr}}.season-scroll{overflow-x:auto}.season-table{width:max-content;min-width:100%}.season-table th{white-space:normal;max-width:120px;line-height:1.3;vertical-align:bottom}.season-table tbody tr{cursor:default}.season-table tbody tr:hover{background:none}.season-table td{padding:8px 6px;vertical-align:middle}.season-table tr.is-past{opacity:.5}.sticky-col{position:sticky;left:0;z-index:2;background:var(--panel)}.season-cell{min-width:250px;box-shadow:inset 4px 0 0 var(--tone, var(--line))}.tone-low{--tone: #e3c552}.tone-mid{--tone: #7aa9d6}.tone-high{--tone: #e07a6e}.season-name{height:30px!important;margin-bottom:4px;font-weight:700}.season-dates{display:grid;grid-template-columns:1fr 1fr;gap:4px}.season-dates input{height:30px!important;padding:0 6px!important;font-size:12px}.cell-input{width:96px!important;height:32px!important;padding:0 8px!important;text-align:right;font-variant-numeric:tabular-nums}.col-extra{background:#faf8f4}.prices-form{display:grid;gap:16px}.season-table .base-row td{border-top:1px solid var(--line);background:#faf8f4}.season-table .base-row strong,.season-table .base-row small,.services-prices th small,.service-name small{display:block}.services-prices th small{font-weight:400;color:var(--ink-3)}.services-prices .service-name{min-width:240px;white-space:normal}.services-prices th.is-past,.services-prices tr.is-past td{opacity:.55}.services-prices select{font:inherit}.discount-off .discount-pct,.discount-off .discount-main{opacity:.45}.switch{position:relative;display:inline-flex;cursor:pointer}.switch input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;margin:0}.switch i{width:36px;height:20px;border-radius:999px;background:var(--line);transition:background .15s;position:relative}.switch i:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:transform .15s}.switch input:checked+i{background:var(--in)}.switch input:checked+i:after{transform:translate(16px)}.switch input:focus-visible+i{outline:2px solid var(--ink);outline-offset:2px}.removed-extras{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:10px;font-size:13px}.delete-note{display:block;white-space:normal;max-width:200px;margin-bottom:4px}.service-tools>.delete-note+*{margin-left:0}.services-prices td.service-tools{position:sticky;right:0;z-index:2;background:var(--panel);box-shadow:-8px 0 8px -8px #00000026}.service-tools>*+*{margin-left:10px}.service-tools{white-space:nowrap}.service-add{display:grid;grid-template-columns:1fr 140px auto;gap:8px;margin-top:12px}.service-add input,.service-add select{font:inherit;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface, #fff)}@media(max-width:600px){.service-add{grid-template-columns:1fr}}.discount-pick{margin-bottom:10px}.season-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.base-prices{display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid var(--line-2)}.base-prices h3{margin:0;font-size:14px}.base-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.base-grid input::placeholder{color:var(--ink-3)}.voucher-bar{display:flex;align-items:center;gap:12px}.voucher-created{padding:4px 10px;border-radius:6px;background:var(--in-bg);color:var(--in-ink);font-size:13px;font-weight:700}.voucher-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;justify-content:center;overflow:auto;padding:24px 16px;background:#191c2366;animation:fade .15s ease-out}.voucher-dialog{width:min(720px,100%);height:max-content;display:flex;flex-direction:column;gap:12px}.voucher-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;border-radius:var(--radius);background:var(--panel)}.voucher-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.voucher-buttons a.btn{color:var(--ink)}.hotel-form{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:var(--radius);background:var(--panel)}.v-edit{align-self:center;color:#e9e5dc}.voucher{display:flex;flex-direction:column;gap:20px;padding:36px 40px;border-radius:14px;background:#fff;color:#1d2127;box-shadow:0 20px 60px #00000040}.v-head{display:flex;justify-content:space-between;gap:24px;padding-bottom:16px;border-bottom:2px solid #1f2430}.v-hotel{font-size:20px;font-weight:700}.v-contacts{margin-top:4px;font-size:13px;color:#555c66}.v-no{display:flex;flex-direction:column;align-items:flex-end;text-align:right}.v-no span,.v-no small{font-size:12px;color:#8b9099}.v-no strong{font-size:20px}.v-guest{margin:0;font-size:28px;line-height:1.2}.v-reserve{padding:8px 12px;border-radius:8px;background:var(--st-reserved-bg);color:#80561a;font-size:13px;font-weight:600}.v-stay{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:16px 20px;border-radius:10px;background:#f4f2ed}.v-stay>div:not(.v-nights){display:flex;flex-direction:column}.v-stay>div:last-child{text-align:right}.v-stay span{font-size:12px;color:#8b9099}.v-stay strong{font-size:20px}.v-stay small{font-size:13px;color:#555c66}.v-nights{padding:4px 12px;border-radius:20px;background:#1f2430;color:#fff;font-size:13px;font-weight:700}.v-facts{display:grid;grid-template-columns:140px 1fr;gap:10px 16px;margin:0;font-size:14px}.v-facts dt{color:#8b9099}.v-facts dd{margin:0;font-weight:600}.v-facts dd div{font-weight:500;color:#555c66}.v-services{display:grid;gap:6px;margin:0;padding:0;list-style:none}.v-services li{display:flex;justify-content:space-between;gap:16px}.v-services small{display:block;font-weight:500;color:#8b9099}.v-services b{white-space:nowrap;font-variant-numeric:tabular-nums}.v-money{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-top:16px;border-top:1px solid #e4dfd5}.v-money span{display:block;font-size:12px;color:#8b9099}.v-money strong{font-size:16px;font-variant-numeric:tabular-nums}.v-money .v-due strong{font-size:20px;color:#84241f}.v-note{margin:0;padding:12px 16px;border-left:3px solid #1f2430;background:#faf8f4;font-size:13px;white-space:pre-wrap}.v-foot{font-size:13px;color:#555c66;text-align:center}@media(max-width:600px){.voucher{padding:24px 20px}.v-head,.v-money{grid-template-columns:1fr;flex-direction:column}.v-no{align-items:flex-start;text-align:left}.v-facts{grid-template-columns:1fr;gap:2px}.v-facts dd{margin-bottom:8px}}@media print{body.printing-voucher>*:not(.voucher-wrap){display:none!important}body.printing-voucher .voucher-wrap{position:static;padding:0;background:none;overflow:visible}body.printing-voucher .voucher-dialog{width:100%}body.printing-voucher .voucher{box-shadow:none;border-radius:0;padding:0}body.printing-voucher .v-stay,body.printing-voucher .v-nights,body.printing-voucher .v-reserve,body.printing-voucher .v-note{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.services{display:flex;flex-direction:column;gap:8px}.services.is-disabled{opacity:.5}.services-table{width:100%;border-collapse:collapse;font-size:13px}.services-table th{padding:6px 8px;text-align:left;font-size:12px;font-weight:700;color:var(--ink-3);border-bottom:1px solid var(--line)}.services-table td{padding:8px;border-bottom:1px solid var(--line-2);vertical-align:middle}.services-table td small{display:block;font-size:12px;color:var(--ink-3)}.services-table .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.services-table tr.is-on td{background:#faf8f4}.services-table tr.is-on td:first-child{box-shadow:inset 3px 0 0 var(--accent);font-weight:600}.qty{display:inline-grid;grid-template-columns:28px 28px 28px;align-items:center;height:30px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--panel)}.qty button{height:100%;border:0;background:#f7f5f1;cursor:pointer;font-size:16px}.qty button:disabled{color:var(--ink-3);cursor:default}.qty output{text-align:center;font-weight:700}.cat-reserve{flex:none;padding:1px 6px;border-radius:4px;background:#ebe8e2;font-size:12px;font-weight:600;color:var(--ink-3)}.tile strong.tile-money{font-size:22px;line-height:1.3;font-variant-numeric:tabular-nums}.refund-due{font-size:12px;font-weight:600;color:var(--pay-partial-ink);white-space:nowrap}
