:root{--bg:#f4f5f3;--panel:#fff;--ink:#18211f;--muted:#6d7874;--line:#e5e9e6;--accent:#1e5d53;--accent2:#e8f1ee;--danger:#a84444;--warn:#a86f21;--shadow:0 12px 35px rgba(25,42,37,.08);--radius:18px;--sidebar:228px;--unit:190px;--day:44px}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}.app{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) 1fr}.sidebar{background:linear-gradient(180deg,#123d38,#1b5148 58%,#123d38);color:#eef7f4;padding:20px 16px;display:flex;flex-direction:column;gap:18px;box-shadow:inset -1px 0 #ffffff0f}.brand{padding:2px 6px 16px;border-bottom:1px solid rgba(228,201,143,.3);display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;column-gap:11px;align-items:center}.brand-mark{grid-row:1/3;width:42px;height:42px;border:1px solid rgba(220,193,132,.65);border-radius:13px;display:grid;place-items:center;font-family:Georgia,serif;font-size:25px;font-weight:700;color:#e4c98f;background:#ffffff0d;box-shadow:0 8px 20px #0000001f}.brand strong{display:block;font-size:19px;letter-spacing:.12em}.brand span{display:block;margin-top:6px;font-size:11px;opacity:.65;letter-spacing:.13em}.nav{display:grid;gap:7px}.nav button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;background:transparent;color:#dbeae6;text-align:left;padding:11px 12px;border-radius:11px;cursor:pointer;font-weight:650;transition:.16s ease}.nav button:hover{background:#e4c98f14;border-color:#e4c98f2e;color:#fff}.nav button:hover,.nav button.active{background:linear-gradient(135deg,#e6cf9d,#d7b66f);color:#173b35;border-color:#fff4d88c;box-shadow:0 7px 18px #0000002e;font-weight:850}.sidebar-foot{margin-top:auto;padding:14px 10px 0;border-top:1px solid rgba(228,201,143,.3);font-size:11px;line-height:1.5;opacity:.7}.main{min-width:0;padding:28px}.topbar{display:flex;align-items:center;gap:14px;margin-bottom:22px}.topbar h1{font-size:26px;margin:0;letter-spacing:-.03em}.topbar .sub{font-size:13px;color:var(--muted);margin-top:4px}.topbar-spacer{flex:1}.btn{border:1px solid var(--line);background:#fff;color:var(--ink);padding:10px 14px;border-radius:11px;cursor:pointer;font-weight:700}.btn:hover{border-color:#c9d1cd}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.danger{color:var(--danger)}.view{display:none}.view.active{display:block}.cards{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:14px}.card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card{padding:18px}.card .k{font-size:12px;color:var(--muted);font-weight:650}.card .v{font-size:30px;font-weight:760;margin-top:8px;letter-spacing:-.04em}.panel{padding:18px;margin-top:18px}.panel h2{font-size:16px;margin:0 0 14px}.empty{padding:35px 18px;color:var(--muted);text-align:center}.cal-shell{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);overflow:hidden}.cal-toolbar{display:flex;align-items:center;gap:9px;padding:16px;border-bottom:1px solid var(--line)}.cal-toolbar .month{font-size:19px;font-weight:760;margin-right:auto}.seg{display:flex;background:#f1f3f2;padding:3px;border-radius:10px}.seg button{border:0;background:transparent;padding:7px 10px;border-radius:8px;cursor:pointer;color:var(--muted);font-weight:700}.seg button.active{background:#fff;color:var(--ink);box-shadow:0 2px 6px #0000000f}.calendar-viewport{overflow:auto;max-height:68vh}.grid{position:relative;min-width:max-content}.grid-head,.grid-row{display:grid;grid-template-columns:var(--unit) repeat(var(--days),var(--day));min-height:54px}.grid-head{position:sticky;top:0;z-index:6;background:#fbfcfb;border-bottom:1px solid var(--line)}.unit-head,.unit-cell{position:sticky;left:0;z-index:5;background:#fbfcfb;border-right:1px solid var(--line);padding:0 14px;display:flex;align-items:center}.unit-head{font-size:11px;color:var(--muted);font-weight:750;letter-spacing:.08em}.unit-cell{background:#fff;font-size:13px;font-weight:720}.unit-cell span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-head,.day-cell{border-right:1px solid #eef0ef;display:flex;align-items:center;justify-content:center}.day-head{font-size:10px;color:var(--muted);flex-direction:column;gap:2px}.day-head strong{font-size:13px;color:var(--ink)}.day-head.weekend,.day-cell.weekend{background:#faf7f2}.day-head.today{background:#eaf3f0}.day-head.today strong{color:var(--accent)}.grid-row{position:relative;border-bottom:1px solid #edf0ee}.day-cell{cursor:pointer;min-height:54px}.day-cell:hover{background:#f2f7f5}.bookings-layer{position:absolute;left:var(--unit);top:0;height:100%;pointer-events:none}.booking{position:absolute;height:30px;border-radius:9px;top:12px;padding:0 9px;display:flex;align-items:center;gap:7px;font-size:11px;font-weight:760;color:#17342e;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:auto;cursor:pointer;box-shadow:inset 0 0 0 1px #0000000d}.booking.airbnb{background:#f6cfc8}.booking.bookingcom{background:#cfe7f5}.booking.direct{background:#cfe8d9}.booking.vrbo{background:#d9d2ef}.booking.expedia{background:#cfdcf2}.booking.phone{background:#f3dfb7}.booking.walkin{background:#e2d3ea}.booking.directwebsite{background:#cfe8d9}.booking.other{background:#e4e2dd}.booking.pending{outline:2px dashed rgba(168,111,33,.45)}.booking.cancelled{opacity:.38;text-decoration:line-through}.booking small{font-size:9px;font-weight:800;opacity:.65;text-transform:uppercase}.legend{display:flex;gap:13px;align-items:center;padding:12px 16px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.dot{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:5px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}.table th{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eff3f1;font-size:10px;font-weight:800}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.field{display:grid;gap:6px}.field label{font-size:11px;font-weight:750;color:var(--muted)}input,select,textarea{width:100%;border:1px solid #dbe1de;border-radius:10px;padding:10px 11px;background:#fff;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:#8bb3aa;box-shadow:0 0 0 3px #edf6f3}.modal-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#111a187a;z-index:50;align-items:center;justify-content:center;padding:22px}.modal-backdrop.show{display:flex}.modal{width:min(640px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:20px;box-shadow:0 24px 70px #0000003d;padding:22px}.modal h2{margin:0 0 4px;font-size:21px}.modal p{margin:0 0 18px;color:var(--muted);font-size:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-grid .wide{grid-column:1/-1}.modal-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:18px}.alert{border:1px solid #ead8be;background:#fff8ed;border-radius:12px;padding:12px;color:#744e19;font-size:12px;margin:0 0 14px;display:none}.alert.show{display:block}.mini-list{display:grid;gap:9px}.mini-item{display:flex;gap:12px;align-items:center;padding:11px 12px;border:1px solid var(--line);border-radius:12px}.mini-date{width:52px;text-align:center;font-weight:800}.mini-meta{font-size:12px;color:var(--muted);margin-top:3px}.statusline{font-size:12px;color:var(--muted);margin-top:12px}.backup-box{display:grid;grid-template-columns:1fr 1fr;gap:16px}.backup-card{border:1px solid var(--line);border-radius:14px;padding:18px}.backup-card h3{margin:0 0 6px;font-size:15px}.backup-card p{font-size:12px;color:var(--muted);line-height:1.55}.toast{position:fixed;right:24px;bottom:24px;background:#173b35;color:#fff;padding:12px 15px;border-radius:11px;box-shadow:var(--shadow);z-index:100;display:none;font-size:12px}.toast.show{display:block}.danger-zone{border-color:#f0d2d2}.channel-settings{display:grid;gap:10px;margin-top:12px}.channel-row{display:grid;grid-template-columns:1fr auto;gap:8px}.channel-row input{min-width:0}.lang-switch{display:flex;align-items:center;gap:6px;margin-right:8px}.lang-btn{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 10px;font-size:12px;font-weight:800;cursor:pointer;color:var(--ink);box-shadow:0 3px 10px #0000000a}.lang-btn.active{border-color:#d7b66f;background:#f7f0df;color:#173b35}.lang-flag{font-size:15px;margin-right:4px}@media (max-width:700px){.lang-switch{order:3;width:100%;overflow-x:auto}.lang-btn{flex:0 0 auto;padding:7px 8px}}.mini-calendar{margin-top:2px;background:linear-gradient(180deg,#ffffff13,#e4c98f0b);border:1px solid rgba(228,201,143,.3);border-radius:16px;padding:13px 12px 12px;box-shadow:0 12px 28px #0000001a}.mini-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.mini-cal-title{font-size:12px;font-weight:850;letter-spacing:.03em;color:#f0ddb5}.mini-cal-nav{display:flex;gap:4px}.mini-cal-nav button{width:24px;height:24px;border:1px solid rgba(228,201,143,.22);border-radius:7px;background:#e4c98f14;color:#f0ddb5;cursor:pointer}.mini-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}.mini-cal-grid .dow{font-size:8px;opacity:.55;font-weight:800;padding-bottom:3px}.mini-day{height:24px;display:grid;place-items:center;border-radius:7px;font-size:9px;position:relative;cursor:pointer}.mini-day.muted{opacity:.22}.mini-day.today{background:linear-gradient(135deg,#ecd8aa,#d7b66f);color:#173b35;font-weight:900;box-shadow:0 3px 9px #00000029}.mini-day.has-booking:not(.today):after{content:"";position:absolute;bottom:2px;width:3px;height:3px;border-radius:50%;background:#e4c98f}.mini-day:hover{background:#ffffff1f}@media (max-width:900px){html,body{max-width:100%;overflow-x:hidden}.app{display:block;min-height:100vh;width:100%}.sidebar{position:sticky;top:0;z-index:20;padding:8px 10px;height:auto;min-height:0;width:100%;overflow:hidden}.brand,.mini-calendar{display:none}.nav{display:flex;overflow-x:auto;overflow-y:hidden;gap:5px;white-space:nowrap;-webkit-overflow-scrolling:touch}.nav button{white-space:nowrap;flex:0 0 auto;padding:9px 10px}.sidebar-foot{display:none}.main{padding:12px;width:100%;max-width:100%;overflow:hidden}.topbar{flex-wrap:wrap;gap:10px;margin-bottom:14px}.topbar>div:first-child{min-width:0}.topbar h1{font-size:22px}.topbar-spacer{display:none}.topbar .btn.primary{margin-left:auto}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.card{padding:14px}.form-grid,.backup-box{grid-template-columns:1fr}.calendar-viewport{max-height:64vh;width:100%;overflow:auto;-webkit-overflow-scrolling:touch}.cal-shell{width:100%;max-width:100%;overflow:hidden}.cal-toolbar{flex-wrap:wrap;padding:11px}.cal-toolbar .month{order:2;width:100%;margin:3px 0 0;font-size:17px}.seg{margin-left:auto}.legend{overflow-x:auto;white-space:nowrap}.panel{padding:14px}.table-wrap{max-width:100%;overflow:auto}.modal-backdrop{padding:10px}.modal{padding:16px;border-radius:16px}.channel-row{grid-template-columns:minmax(0,1fr) auto}}@media (max-width:480px){.cards{grid-template-columns:1fr 1fr}.topbar .sub{font-size:12px}.btn{padding:9px 11px}.nav button{font-size:12px}.cal-toolbar .btn{padding:8px 10px}}.cal-shell.week-mode .grid-row{min-width:100%}.backup-warning{margin:0 0 16px;padding:14px 16px;border:1px solid #d7b66f;background:#fff8e9;border-radius:12px;color:#684d1d;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:12px}.backup-badge{display:inline-flex;min-width:8px;height:8px;border-radius:99px;background:#d7a53f;margin-left:6px;vertical-align:middle}.channel-row.commission{grid-template-columns:minmax(0,1fr) 105px 86px}.percent-field{position:relative}.percent-field input{padding-right:28px}.percent-field span{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:12px;font-weight:800;color:var(--muted);pointer-events:none}.kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}.kpi-box{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.kpi-box .v{font-size:21px;font-weight:800;margin-top:4px}@media (max-width:700px){.kpi-grid{grid-template-columns:1fr}.channel-row.commission{grid-template-columns:1fr 100px 76px}}#nav button.backup-due:after{content:"";width:8px;height:8px;border-radius:50%;background:#d7a53f;display:inline-block;margin-left:auto;box-shadow:0 0 0 2px #d7a53f2e}.data-error{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding:13px 15px;border:1px solid #ead8be;background:#fff8ed;border-radius:12px;color:#744e19;font-size:13px}.data-error[hidden]{display:none}.data-error span{flex:1}.billing-banner{display:flex;align-items:center;gap:12px;margin:0 0 16px;padding:11px 14px;border:1px solid #d7e3dc;background:#f1f7f3;border-radius:12px;color:#2f4a3d;font-size:13px}.billing-banner[hidden]{display:none}.billing-banner span{flex:1}.billing-banner.bad{border-color:#efc6c0;background:#fdf1ef;color:#8a2b20}.billing-banner-close{border:0;background:transparent;color:inherit;font-size:20px;line-height:1;cursor:pointer;padding:0 4px}.billing-banner-close[hidden]{display:none}@media (max-width:640px){.billing-banner{flex-wrap:wrap}.billing-banner span{flex-basis:100%}}.field-hint{font-size:11px;font-weight:650;color:var(--warn)}.field-hint.muted{color:var(--muted);font-weight:600}.extras-rows{display:grid;gap:8px}.extra-row{display:grid;grid-template-columns:minmax(0,1fr) 120px auto;gap:8px;align-items:center}.extra-row select,.extra-row input{min-width:0}.extras-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.econ-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}@media (max-width:700px){.econ-preview{grid-template-columns:1fr}.extra-row{grid-template-columns:minmax(0,1fr) 96px auto}}.settings-list{display:grid;gap:10px;margin-top:14px}.settings-row{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.settings-row.inactive{background:#fafbfa}.settings-row.inactive .settings-fields,.settings-row.inactive .settings-color{opacity:.72}.settings-fields{display:grid;grid-template-columns:minmax(0,1.4fr) 120px minmax(0,1fr);gap:10px}.settings-fields.category{grid-template-columns:minmax(0,1fr)}.settings-color{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.settings-label{font-size:11px;font-weight:750;color:var(--muted)}.settings-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.settings-check{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:650;color:var(--ink);cursor:pointer}.settings-check input{width:auto;margin:0}.settings-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.settings-add{margin-top:14px;padding-top:14px;border-top:1px dashed var(--line);display:grid;gap:10px}.settings-currency{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0 8px}.settings-currency select{max-width:220px}.color-picker{position:relative;display:inline-block}.color-toggle{display:inline-flex;align-items:center;gap:8px;padding:5px 9px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;color:var(--muted)}.color-toggle:hover,.color-toggle[aria-expanded=true]{border-color:#c9d1cd}.color-caret{font-size:10px;line-height:1}.swatch{display:block;width:24px;height:24px;padding:0;border-radius:8px;border:1px solid rgba(0,0,0,.1);cursor:pointer}.swatch.current{width:22px;height:22px;border-radius:7px;cursor:inherit}.color-popover{position:absolute;z-index:30;top:calc(100% + 6px);left:0;display:grid;grid-template-columns:repeat(5,28px);gap:8px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.color-popover[hidden]{display:none}.color-popover .swatch{width:28px;height:28px}.color-popover .swatch[aria-checked=true]{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--accent)}@media (max-width:700px){.settings-fields{grid-template-columns:1fr}.settings-actions{margin-left:0}}.settings-panel{--section-accent:#aab5b0;--section-accent-ink:#173b35}#settings .settings-panel,#expenses .settings-panel{border-top:3px solid var(--section-accent)}#settings .settings-panel h2,#expenses .settings-panel h2{display:flex;align-items:center;gap:9px;font-size:16.5px;font-weight:800;letter-spacing:-.01em}#settings .settings-panel h2:before,#expenses .settings-panel h2:before{content:"";flex:0 0 auto;width:9px;height:9px;border-radius:3px;background:var(--section-accent)}#expenses .settings-panel:first-child{margin-top:0}#settingsCurrency{--section-accent:#aab5b0;--section-accent-ink:#173b35}#settingsChannels{--section-accent:#d7b66f;--section-accent-ink:#173b35}#settings-extra{--section-accent:#86b3a8;--section-accent-ink:#173b35}#settings-payment{--section-accent:#2b6c78;--section-accent-ink:#ffffff}#settings-expense{--section-accent:#c49a86;--section-accent-ink:#173b35}#settings .settings-panel .btn.primary,#expenses .settings-panel .btn.primary{background:var(--section-accent);border-color:var(--section-accent);color:var(--section-accent-ink)}#settings .settings-panel .btn.primary:hover:not(:disabled),#expenses .settings-panel .btn.primary:hover:not(:disabled){filter:brightness(.93)}#settings .settings-panel .btn.primary:focus-visible,#expenses .settings-panel .btn.primary:focus-visible{outline:2px solid var(--section-accent);outline-offset:2px}#settings .settings-collapsible>.settings-collapse-heading{margin:0}#settings .settings-collapsible.open>.settings-collapse-heading{margin-bottom:14px}.settings-collapse-head{display:flex;align-items:center;gap:10px;flex:1 1 auto;min-width:0;margin:0;padding:0;border:0;background:none;font:inherit;color:inherit;letter-spacing:inherit;text-align:left;cursor:pointer}.settings-collapse-head:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:10px}.settings-collapse-head:hover .settings-collapse-title{text-decoration:underline;text-underline-offset:3px}.settings-collapse-title{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.settings-collapse-caret{flex:none;width:9px;height:9px;margin-right:4px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transform-origin:60% 60%;transition:transform .15s ease;opacity:.75}.settings-collapsible.open>.settings-collapse-heading .settings-collapse-caret{transform:rotate(45deg)}.currency-modal{width:min(480px,100%)}.currency-modal #currencyModalText p{margin:0 0 10px;font-size:13px;line-height:1.5;color:var(--ink)}.currency-modal #currencyModalNoConvert{font-weight:750}.currency-modal #currencyModalUse{color:var(--muted)}.extra-retro-modal{width:min(520px,100%)}.extra-retro-modal #extraRetroText p{margin:0 0 8px;font-size:13px;line-height:1.5;color:var(--ink)}.extra-retro-warning{margin:12px 0 0;padding:10px 12px;border:1px solid #ead8be;border-radius:10px;background:#fff8ed;color:#744e19;font-size:13px;font-weight:700;line-height:1.45}.extra-retro-warning[hidden]{display:none}.extra-retro-modal .modal-actions{flex-wrap:wrap}.extra-retro-modal .modal-actions .btn{flex:0 1 auto}@media (max-width:480px){.extra-retro-modal .modal-actions .btn{flex:1 1 100%}}#settings .btn.danger[data-act=delete]:disabled,#expenses .btn.danger[data-act=delete]:disabled{opacity:.45;cursor:not-allowed}.settings-delete-hint{flex:1 1 220px;min-width:0}.payments-section{gap:10px;padding-top:12px;border-top:1px solid var(--line)}.payments-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.payments-title{font-size:13px;font-weight:800;color:var(--ink)}.payments-guidance{font-size:12px;font-weight:650;color:var(--muted);padding:10px 12px;border:1px dashed var(--line);border-radius:10px;background:#fafbfa}.payments-guidance.warn{color:#744e19;border:1px solid #ead8be;background:#fff8ed}.payment-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.payment-kpi{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}.payment-kpi span{font-size:11px;font-weight:750;color:var(--muted)}.payment-kpi strong{font-size:15px;font-weight:780;letter-spacing:-.01em}.payment-kpi.balance-due,.payment-kpi.balance-settled{border-width:1.5px;padding:9.5px 11.5px}.payment-kpi.balance-due{background:#fbf6ea;border-color:#e2cd98}.payment-kpi.balance-settled{background:var(--accent2);border-color:#bcd8cf}.payment-kpi.balance-due strong,.payment-kpi.balance-settled strong{font-size:17px;font-weight:850}.payment-kpi.balance-due strong{color:#173b35}.payment-kpi.balance-settled strong{color:var(--accent)}.payment-kpi.credit{background:#fff;border-style:dashed;border-color:#cfe2dc}.payment-kpi.credit strong{font-size:14px;font-weight:720;color:var(--accent)}.pay-status{font-size:11px}.pay-status.paid{background:var(--accent2);color:var(--accent)}.pay-status.partial{background:#fff3df;color:var(--warn)}.pay-status.unpaid{background:#f8e9e9;color:var(--danger)}.payment-list{display:grid;gap:6px}.payments-empty{font-size:12px;color:var(--muted);padding:4px 2px}.payment-row{display:grid;grid-template-columns:96px auto minmax(0,1fr) auto auto;gap:4px 10px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:10px;font-size:12px}.payment-row .btn{padding:6px 10px;font-size:12px}.payment-date{font-weight:700}.payment-kind{justify-self:start}.payment-method{color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payment-amount{font-weight:780;text-align:right;white-space:nowrap}.payment-row.refund .payment-amount{color:var(--danger)}.payment-actions{display:flex;gap:6px;justify-content:flex-end}.payment-note{grid-column:1/-1;color:var(--muted);overflow-wrap:anywhere}.payment-editor{display:grid;gap:8px;padding:10px;border:1px solid #cfe2dc;border-radius:12px;background:#fbfdfc}.payment-fields{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,.85fr) minmax(0,1.3fr);gap:8px}.payment-fields .wide{grid-column:1/-1}.payment-fields input,.payment-fields select{min-width:0}.payment-editor-actions,.payments-add{display:flex;gap:8px;justify-content:flex-end}.payments-add{justify-content:flex-start}.res-delete-hint{margin-top:14px;text-align:right}.payment-basis{font-size:12px;font-weight:650;color:var(--muted)}.payment-basis strong{color:var(--ink)}.econ-noshow-note{margin-top:8px}.noshow-charge{margin-top:10px;padding:10px 12px;border:1.5px solid #e2cd98;border-radius:12px;background:#fbf6ea}.noshow-charge .field{max-width:280px}.money-field{position:relative}.money-field input{padding-right:52px}.money-field span{position:absolute;right:11px;top:50%;transform:translateY(-50%);font-size:12px;font-weight:800;color:var(--muted);pointer-events:none}.row-actions{white-space:nowrap}.row-actions .btn+.btn{margin-left:6px}.btn.compact{padding:6px 10px;font-size:12px;border-radius:9px}.btn.is-blocked{opacity:.45;cursor:not-allowed}@media (max-width:700px){.payment-fields{grid-template-columns:1fr 1fr}.payment-row{grid-template-columns:auto minmax(0,1fr) auto}.payment-method{grid-column:1/-1;grid-row:2}.payment-actions{grid-column:1/-1;justify-content:flex-start}}@media (min-width:901px){.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto}}.cal-shell.week-mode .grid{min-width:100%;--day:minmax(96px,1fr)}.cal-shell .grid-head{grid-template-columns:var(--unit) repeat(var(--days),var(--day))}.cal-row{min-height:calc(16px + var(--lanes,1) * 34px)}.cal-row .day-cell{min-height:calc(16px + var(--lanes,1) * 34px);border:0;border-right:1px solid #eef0ef;background:transparent;padding:0;font:inherit}.cal-row .day-cell.weekend{background:#faf7f2}.cal-row .day-cell.no-create{cursor:default}.cal-row .day-cell.no-create:hover{background:transparent}.cal-row .day-cell.no-create.weekend:hover{background:#faf7f2}.cal-row .day-cell:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.cal-row .bookings-layer{right:0}.cal-row.inactive .unit-cell{color:var(--muted)}.unit-cell .cal-inactive{margin-left:8px;font-style:normal;font-size:9px}.cal-more{margin-left:auto;border:1px solid var(--line);background:#fff;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:800;color:var(--ink);cursor:pointer;flex:0 0 auto}.cal-more[aria-expanded=true]{border-color:var(--accent);color:var(--accent)}.cal-bar{position:absolute;top:calc(8px + var(--lane) * 34px);left:calc(var(--start) / var(--days) * 100% + 2px);width:calc(var(--len) / var(--days) * 100% - 4px);height:28px;border-radius:9px;border:1px solid rgba(0,0,0,.06);padding:0 8px;display:flex;align-items:center;gap:6px;font:inherit;font-size:11px;font-weight:760;background:var(--bar-color);color:var(--bar-ink);overflow:hidden;white-space:nowrap;text-align:left;pointer-events:auto;cursor:pointer}.cal-bar span{overflow:hidden;text-overflow:ellipsis}.cal-bar small{font-size:9px;font-weight:800;opacity:.75;text-transform:uppercase;flex:0 0 auto}.cal-bar:hover{filter:brightness(.97);box-shadow:0 2px 8px #0000001a}.cal-bar:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cal-bar.pending{border:2px dashed rgba(168,111,33,.55)}.cal-bar.clip-start{border-top-left-radius:0;border-bottom-left-radius:0}.cal-bar.clip-end{border-top-right-radius:0;border-bottom-right-radius:0}.cal-bar.has-channel{flex-wrap:wrap;align-content:flex-start;row-gap:28px}.cal-bar.has-channel>*{line-height:26px;max-width:100%}.cal-bar.has-channel.pending>*{line-height:24px}.status-arrow{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:10px;height:11px;font-style:normal;line-height:0}.status-arrow svg{display:block;width:10px;height:11px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.status-arrow.in{color:#1f7a45}.status-arrow.out{color:#1d6773}.cal-bar .has-status-arrow,.agenda-guest.has-status-arrow{display:inline-flex;align-items:center;gap:4px;min-width:0;max-width:100%;overflow:hidden}.cal-bar .has-status-arrow>span,.agenda-guest-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agenda-guest.has-status-arrow{display:flex}.cal-legend{overflow-x:auto;white-space:nowrap}.cal-legend-item{flex:0 0 auto;display:inline-flex;align-items:center}.cal-bar.historical{background:#fff;color:var(--muted);border:1.5px dashed var(--bar-color);opacity:.72;font-weight:650}.cal-bar.historical small{opacity:1}.cal-overflow{padding:10px 16px;border-bottom:1px solid var(--line);background:#fbfcfb;display:grid;gap:8px}.cal-overflow-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}.cal-overflow-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}.cal-empty-period{padding:12px 16px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.cal-empty{text-align:center;display:grid;gap:12px;justify-items:center;margin-top:0}.cal-empty p{margin:0;color:var(--muted)}.agenda{display:grid;gap:12px}.agenda-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.agenda-nav input{flex:1 1 150px;min-width:0;width:auto}.agenda-day-label{font-size:16px;font-weight:780}.agenda-new{justify-self:start}.agenda-section{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;display:grid;gap:8px}.agenda-section h3{margin:0;font-size:13px;display:flex;align-items:center;gap:8px}.agenda-count{font-size:11px;font-weight:800;color:var(--muted);background:#eff3f1;border-radius:999px;padding:1px 7px}.agenda-list{display:grid;gap:8px}.agenda-empty{margin:0;font-size:12px;color:var(--muted)}.agenda-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;align-items:center;text-align:left;width:100%;padding:10px 12px 10px 14px;border:1px solid var(--line);border-left:5px solid var(--bar-color);border-radius:12px;background:#fff;font:inherit;color:var(--ink);cursor:pointer}.agenda-guest{font-weight:780;font-size:14px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agenda-meta,.agenda-channel{grid-column:1/-1;font-size:12px;color:var(--muted);overflow-wrap:anywhere}.agenda-section.historical{background:#fafbfa}.agenda-card.historical{background:#fafbfa;border-left-style:dashed;opacity:.8;color:var(--muted)}.parking-area{margin-top:16px;background:#fffdf8;border:1px solid #eadfca;border-radius:20px;box-shadow:var(--shadow);padding:16px;display:grid;gap:14px}.parking-area-head{display:grid;gap:3px}.parking-area-head h2{margin:0;font-size:15px;font-weight:820;letter-spacing:.04em;color:#6b4a14}.parking-area-head p{margin:0;font-size:12px;color:var(--muted)}.parking-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.parking-section{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;display:grid;gap:10px;align-content:start}.parking-section h3{margin:0;font-size:13px;display:flex;align-items:center;gap:8px}.parking-section.needs-room h3{color:#8a5a12}.parking-section.no-show h3{color:var(--muted)}.parking-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}.parking-empty{margin:0;font-size:12px;color:var(--muted)}.parking-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;align-items:center;text-align:left;width:100%;padding:10px 12px 10px 14px;border-radius:12px;font:inherit;color:var(--ink);cursor:pointer}.parking-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.parking-card-guest{font-weight:800;font-size:14px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.parking-card-stay,.parking-card-channel,.parking-card-room,.parking-card-charge{grid-column:1/-1;font-size:12px;color:var(--muted);overflow-wrap:anywhere}.parking-card-flag{grid-column:1/-1;justify-self:start;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:2px 8px;background:#fff3dd;color:#8a5a12}.parking-card.needs-room{background:#fff8ec;border:1px solid #e7c48a;border-left:5px solid #c9861f}.parking-card.needs-room:hover{background:#fff3df}.parking-card.needs-room .parking-card-room{color:#6b4a14;font-weight:650}.parking-card.no-show{background:#fbf8f1;border:1.5px dashed #d9d2c2;border-left:4px solid var(--bar-color);color:var(--muted)}.parking-card.no-show:hover{background:#f7f3ea}.parking-card.no-show .parking-card-guest{font-weight:720;color:#4d5653}.parking-card.no-show .parking-card-status{opacity:.8}.parking-card.no-show .parking-card-charge{color:#4d5653;font-weight:650}@media (max-width:900px){.parking-sections,.parking-cards{grid-template-columns:1fr}.parking-area{padding:12px;border-radius:16px}}.btn.parking-move{background:#fff8ec;border-color:#e0b870;color:#7a4f10}.btn.parking-move:hover{background:#fff1d9;border-color:#c9861f}#reservationModal .modal-actions{flex-wrap:wrap}.agenda-needs-room{grid-column:1/-1;justify-self:start;background:#fff3dd;color:#8a5a12}.agenda-card.needs-room{border-color:#e7c48a}.cal-toolbar{flex-wrap:wrap}.cal-toolbar input[type=date]{width:auto;flex:0 0 auto}.period-anchor{position:relative}.cal-period-trigger{white-space:nowrap}.period-trigger{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:inherit;font:inherit;display:inline-flex;align-items:center;gap:9px;max-width:100%;margin:-3px -8px;padding:3px 8px;border-radius:9px;text-align:left;cursor:pointer}.period-trigger:hover,.period-trigger[aria-expanded=true]{background:#eef5f2}.period-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.period-chevron{flex:0 0 auto;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;opacity:.5;transform:translateY(-2px) rotate(45deg)}.period-trigger[aria-expanded=true] .period-chevron{transform:translateY(2px) rotate(-135deg)}.period-picker{position:absolute;z-index:30;top:calc(100% + 10px);left:0;display:flex;align-items:flex-end;gap:10px;padding:12px;background:#fffdf8;border:1px solid #eadfca;border-radius:14px;box-shadow:0 14px 34px #17342e24;font-size:13px;font-weight:600;letter-spacing:0;width:max-content}.period-field{display:grid;gap:5px}.period-field span{font-size:11px;font-weight:750;color:var(--muted)}.period-field select{width:auto;padding:8px 10px}.period-picker .btn{padding:8px 16px}@media (max-width:900px){.period-picker{right:0;width:auto;display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:end}.period-field select{width:100%}.period-picker .btn{grid-column:1/-1}}.dash{display:grid;gap:16px}.dash-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.dash-head{display:flex;align-items:baseline;justify-content:space-between;gap:6px 14px;flex-wrap:wrap;margin-bottom:14px}.dash-head h2,.dash-head .dash-sub-title,.dash-attention .dash-sub-title{margin:0;font-size:15px;font-weight:820;letter-spacing:.01em}.dash-head-note{font-size:12px;color:var(--muted);font-weight:650}.dash-today-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.dash-card{display:grid;align-content:start;gap:4px;min-width:0;padding:14px;border:1px solid #ece6d8;border-radius:14px;background:#fbfaf6}.dash-card-label,.dash-kpi-label{font-size:12px;font-weight:720;color:var(--muted)}.dash-card-value{font-size:30px;font-weight:780;letter-spacing:-.03em;line-height:1.1}.dash-card-meta,.dash-kpi-meta{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.dash-card-meta.warn,.dash-kpi-meta.warn{color:var(--warn);font-weight:680}.dash-attention{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;padding:14px 16px;border:1px solid #e7c48a;border-left:5px solid #c9861f;border-radius:16px;background:#fff8ec;color:#6b4a14}.dash-attention.urgent{background:#fff1dd;border-color:#dba55a;border-left-color:#b26d12}.dash-attention-main{display:flex;align-items:baseline;gap:10px}.dash-attention .dash-sub-title{color:#8a5a12}.dash-attention-count{font-size:24px;font-weight:800;color:#6b4a14}.dash-attention-lines{display:grid;gap:2px;flex:1 1 220px;font-size:13px}.dash-attention-line.strong{font-weight:760;color:#8a4b06}.dash-attention-action{background:#fff;border-color:#e0b870;color:#7a4f10}.dash-attention-action:hover{background:#fff1d9;border-color:#c9861f}.dash-period{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 16px;padding:14px 18px}.dash-period-title{display:grid;gap:2px;min-width:0}.dash-period-caption{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.dash-period-trigger{font-size:19px;font-weight:760;white-space:nowrap}.dash-period-nav{display:flex;gap:8px}.dash-kpis{display:grid;gap:12px}.dash-kpis.four{grid-template-columns:repeat(4,minmax(0,1fr))}.dash-kpi{display:grid;align-content:start;gap:4px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}.dash-kpi-value{font-size:24px;font-weight:790;letter-spacing:-.02em}.dash-kpi[data-dash-kpi=net]{background:var(--accent2);border-color:#cfe0da}.dash-kpi[data-dash-kpi=net] .dash-kpi-value{color:var(--accent)}.dash-notes{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px}.dash-note{font-size:12px;color:var(--muted)}.dash-note.warn{color:var(--warn);font-weight:650}.dash-empty{margin:0;font-size:13px;color:var(--muted)}.dash-room-table{width:100%;border-collapse:collapse}.dash-room-table th,.dash-room-table td{padding:10px;border-bottom:1px solid var(--line);text-align:left;font-size:13px;vertical-align:middle}.dash-room-table thead th{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:760}.dash-room-table tbody tr:last-child>*{border-bottom:0}.dash-room-cell{font-weight:740}.dash-room-inactive{font-style:normal;font-size:9px;margin-left:6px}.dash-room-warn{display:block;margin-top:3px;font-size:11px;font-weight:650;color:var(--warn)}.dash-bar-wrap{display:flex;align-items:center;gap:10px}.dash-bar{flex:1 1 auto;max-width:140px;height:6px;border-radius:999px;background:#eef1ef;overflow:hidden}.dash-bar>span{display:block;height:100%;border-radius:999px;background:var(--accent)}.dash-noshow{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin-top:14px;padding:10px 14px;border:1.5px dashed #d9d2c2;border-radius:12px;background:#fbf8f1;font-size:13px;color:#4d5653}.dash-noshow.empty{color:var(--muted)}.dash-noshow-label{font-weight:760}.dash-noshow-note{font-size:12px;color:var(--muted)}.dash-noshow-warn{font-size:12px;color:var(--warn);font-weight:650}.dash-up-head,.dash-up-row{display:grid;grid-template-columns:96px minmax(0,1.4fr) minmax(0,1.1fr) 76px minmax(0,1fr) 104px 112px;gap:10px;align-items:center}.dash-up-head{padding:0 10px 8px;font-size:11px;font-weight:760;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--line)}.dash-up-list{list-style:none;margin:0;padding:0}.dash-up-row{width:100%;padding:10px;border:0;border-bottom:1px solid var(--line);background:transparent;font:inherit;font-size:13px;color:var(--ink);text-align:left;cursor:pointer}.dash-up-list li:last-child .dash-up-row{border-bottom:0}.dash-up-row:hover{background:#f7faf8}.dash-up-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:10px}.dash-up-row>span{min-width:0;overflow-wrap:anywhere}.dash-up-date{display:grid}.dash-up-date small{font-size:11px;color:var(--muted)}.dash-up-guest-name{font-weight:760}.dash-up-channel{display:flex;align-items:center}.dash-up-gross{font-weight:740}.dash-needs-room{background:#fff3dd;color:#8a5a12}.dash-pending{background:#fff3df;color:var(--warn)}.dash-up-more{margin:10px 10px 0;font-size:12px;color:var(--muted);font-weight:650}.dash-error{color:var(--danger);font-weight:650}@media (max-width:1180px){.dash-today-cards{grid-template-columns:repeat(6,minmax(0,1fr))}.dash-today-cards>.dash-card{grid-column:span 2}.dash-today-cards>.dash-card:nth-last-child(2),.dash-today-cards>.dash-card:last-child{grid-column:span 3}.dash-kpis.four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.dash{gap:12px}.dash-panel{padding:14px;border-radius:16px}.dash-today-cards{gap:10px}.dash-card{padding:12px}.dash-card-value{font-size:26px}.dash-period{padding:12px 14px}.dash-period-title,.dash-period-anchor{width:100%}.dash-room-table thead{display:none}.dash-room-table,.dash-room-table tbody,.dash-room-table th,.dash-room-table td{display:block}.dash-room-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;padding:12px 0;border-bottom:1px solid var(--line)}.dash-room-table tbody tr:last-child{border-bottom:0}.dash-room-table th,.dash-room-table td{padding:0;border:0}.dash-room-table .dash-room-cell{grid-column:1/-1;font-size:14px}.dash-room-table td:before{content:attr(data-label);display:block;font-size:11px;font-weight:720;color:var(--muted)}.dash-up-head{display:none}.dash-up-row{grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:12px 4px}.dash-up-date{grid-column:1;grid-row:1;display:flex;gap:6px;align-items:baseline}.dash-up-gross{grid-column:2;grid-row:1;text-align:right}.dash-up-guest,.dash-up-room,.dash-up-nights,.dash-up-channel,.dash-up-payment{grid-column:1/-1}.dash-up-room,.dash-up-nights,.dash-up-channel{font-size:12px;color:var(--muted)}}@media (max-width:600px){.dash-today-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-today-cards>.dash-card,.dash-today-cards>.dash-card:nth-last-child(2),.dash-today-cards>.dash-card:last-child{grid-column:auto}.dash-today-cards>.dash-card:last-child:nth-child(odd){grid-column:1/-1}}.dash-period-controls{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px 12px;min-width:0}.dash-mode{margin-left:0}.dash-period-range{font-size:19px;font-weight:760;overflow-wrap:anywhere}.dash-range{display:flex;align-items:flex-end;flex-wrap:wrap;gap:8px 10px;margin:0}.dash-range input[type=date]{width:auto;min-width:0;padding:8px 10px}.dash-range .btn{padding:8px 16px}.dash-range-error{flex:1 1 100%;margin:0;font-size:12px;font-weight:650;color:var(--warn)}.dash-channels{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.dash-channels-title{margin:0 0 4px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.dash-ch-table{width:100%;border-collapse:collapse}.dash-ch-table th,.dash-ch-table td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;font-size:13px;vertical-align:top}.dash-ch-table thead th{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:760}.dash-ch-table tbody tr:last-child>*{border-bottom:0}.dash-ch-table .num{width:16%;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.dash-ch-cell{font-weight:740}.dash-ch-badge{font-style:normal;font-size:9px;margin-left:4px;vertical-align:1px}.dash-ch-warn{display:block;margin-top:3px;font-size:11px;font-weight:650;color:var(--warn)}@media (max-width:900px){.dash-period-controls{width:100%}.dash-range{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.dash-range input[type=date]{width:100%}.dash-range .btn{grid-column:1/-1}.dash-ch-table thead{display:none}.dash-ch-table,.dash-ch-table tbody,.dash-ch-table th,.dash-ch-table td{display:block}.dash-ch-table tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 12px;padding:10px 0;border-bottom:1px solid var(--line)}.dash-ch-table tbody tr:last-child{border-bottom:0}.dash-ch-table th,.dash-ch-table td{padding:0;border:0}.dash-ch-table .dash-ch-cell{grid-column:1/-1;font-size:14px}.dash-ch-table .num{width:auto;text-align:left;white-space:normal;overflow-wrap:anywhere}.dash-ch-table td:before{content:attr(data-label);display:block;font-size:11px;font-weight:720;color:var(--muted)}}.dash-kpis.revenue{grid-template-columns:repeat(5,minmax(0,1fr))}.dash-kpi.part{background:#fbfaf6;border-color:#ece6d8}.dash-kpi.part .dash-kpi-value{font-size:20px}.dash-ext-table tfoot th,.dash-ext-table tfoot td{padding:8px 10px;border-top:1px solid var(--line);font-size:12px;font-weight:700;color:var(--muted)}.dash-ext-table tfoot th{text-align:left}@media (max-width:1180px){.dash-kpis.revenue{grid-template-columns:repeat(6,minmax(0,1fr))}.dash-kpis.revenue>.dash-kpi{grid-column:span 2}.dash-kpis.revenue>.dash-kpi.part{grid-column:span 3}}@media (max-width:900px){.dash-kpis.revenue{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-kpis.revenue>.dash-kpi{grid-column:1/-1}.dash-kpis.revenue>.dash-kpi.part{grid-column:auto}.dash-ext-table tfoot{display:block}.dash-ext-table tfoot tr{display:flex;justify-content:space-between;gap:12px;padding:10px 0 0;border-top:1px solid var(--line)}.dash-ext-table tfoot th,.dash-ext-table tfoot td{padding:0;border:0}}.dash-print-btn{padding:7px 12px;font-size:12px;border-color:#e2cf9f;color:#1e5d53}.dash-print-btn:hover{border-color:#c9a75a;background:#fffaf0}.dash-print-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dash-today .dash-head .dash-print-btn{margin-left:auto}.dash-print-error{flex:1 1 100%;margin:6px 0 0;font-size:12px;font-weight:650;color:var(--danger)}.dash-kpis.two{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-nat-table .dash-nat-share{width:34%}@media (max-width:900px){.dash-nat-table tr{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.dash-nat-table .dash-nat-share{width:auto}}:root{--dash-ops-bg:#fbf8f1;--dash-ops-line:#ece3d0;--dash-report-bg:#f9f9f6;--dash-report-line:#e5e8e3;--dash-performance-bg:#f3f7f3;--dash-performance-line:#e0e9e1;--dash-revenue-bg:#f1f6f5;--dash-revenue-line:#dce8e5;--dash-guests-bg:#f3f5f8;--dash-guests-line:#e0e5ec }.dash{gap:22px}.dash-macro{display:grid;gap:14px;min-width:0;padding:18px;border:1px solid;border-radius:22px}.dash-macro-ops{background:var(--dash-ops-bg);border-color:var(--dash-ops-line)}.dash-macro-report{background:var(--dash-report-bg);border-color:var(--dash-report-line)}.dash-macro-head{display:flex;align-items:center;gap:12px;min-width:0}.dash-macro-icon{flex:0 0 auto;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#fff;border:1px solid var(--line);color:var(--accent)}.dash-macro-heading{min-width:0}.dash-macro-title{margin:0;font-size:20px;font-weight:820;letter-spacing:-.015em;line-height:1.2}.dash-macro-sub{margin:2px 0 0;font-size:12.5px;color:var(--muted)}.dash-macro-body{display:grid;gap:14px;min-width:0}.dash-icon{flex:0 0 auto;width:18px;height:18px;color:var(--accent)}.dash-sub-title{display:inline-flex;align-items:center;gap:8px}.dash-sub-title .dash-icon{width:16px;height:16px}.dash-attention .dash-icon{color:#a86f21}.dash-macro .dash-panel{box-shadow:none}.dash-report-head{display:grid;gap:12px;min-width:0}.dash-report-head .dash-period{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 16px}.dash-group{display:grid;gap:12px;min-width:0;padding:16px;border:1px solid;border-radius:18px}.dash-group-performance{background:var(--dash-performance-bg);border-color:var(--dash-performance-line)}.dash-group-revenue{background:var(--dash-revenue-bg);border-color:var(--dash-revenue-line)}.dash-group-guests{background:var(--dash-guests-bg);border-color:var(--dash-guests-line)}.dash-group-head{display:flex;align-items:center;gap:8px}.dash-group-title{margin:0;font-size:16px;font-weight:820;letter-spacing:-.005em}.dash-group-body{display:grid;gap:0;min-width:0}.dash-group .dash-panel{background:transparent;border:0;border-radius:0;box-shadow:none;padding:0}.dash-group .dash-panel+.dash-panel{margin-top:16px;padding-top:16px;border-top:1px solid rgba(24,33,31,.08)}.dash-group .dash-head{margin-bottom:10px}.dash-group .dash-head .dash-sub-title{font-size:13.5px;font-weight:780;color:#34413d}.dash-group .dash-channels{border-top-color:#18211f14}@media (max-width:900px){.dash{gap:16px}.dash-macro{gap:12px;padding:12px;border-radius:18px}.dash-macro-head{gap:10px}.dash-macro-icon{width:28px;height:28px;border-radius:8px}.dash-macro-icon .dash-icon{width:16px;height:16px}.dash-macro-title{font-size:18px}.dash-macro-body{gap:12px}.dash-report-head .dash-period{padding:12px}.dash-group{padding:12px;border-radius:14px}}.dash-visual{--dash-visual-tone-1:var(--accent);--dash-visual-tone-2:#cfe0da;--dash-visual-track:#eef1ef;margin:14px 0 0;padding:14px 18px;min-width:0;background:#fff;border:1px solid var(--line);border-radius:14px}.dash-visual-title{margin:0 0 10px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.dash-visual-body{display:flex;align-items:center;justify-content:center;gap:22px;min-width:0}.dash-ring{position:relative;flex:0 0 auto;width:148px;height:148px}.dash-ring-svg{display:block;width:100%;height:100%;transform:rotate(-90deg)}.dash-ring-svg circle{fill:none;stroke-width:5}.dash-ring-track{stroke:var(--dash-visual-track)}.dash-ring-seg[data-dash-tone="1"]{stroke:var(--dash-visual-tone-1)}.dash-ring-seg[data-dash-tone="2"]{stroke:var(--dash-visual-tone-2)}.dash-ring-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:24px;font-weight:790;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}.dash-ring-center-value{white-space:nowrap}.dash-ring-center-label{margin-top:2px;font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.dash-legend{flex:0 1 auto;max-width:340px;list-style:none;margin:0;padding:0;display:grid;gap:12px;min-width:0}.dash-legend-item{display:grid;grid-template-columns:12px minmax(0,1fr);align-items:center;gap:2px 10px}.dash-legend-swatch{width:12px;height:12px;border-radius:3px;box-shadow:inset 0 0 0 1px #18211f14}.dash-legend-swatch[data-dash-tone="1"]{background:var(--dash-visual-tone-1)}.dash-legend-swatch[data-dash-tone="2"]{background:var(--dash-visual-tone-2)}.dash-ring-seg[data-dash-tone="3"]{stroke:var(--dash-visual-tone-3)}.dash-ring-seg[data-dash-tone="4"]{stroke:var(--dash-visual-tone-4)}.dash-ring-seg[data-dash-tone="5"]{stroke:var(--dash-visual-tone-5)}.dash-ring-seg[data-dash-tone="6"]{stroke:var(--dash-visual-tone-6)}.dash-ring-seg[data-dash-tone=neutral]{stroke:var(--dash-visual-neutral)}.dash-ring-seg[data-dash-tone=neutral-2]{stroke:var(--dash-visual-neutral-2)}.dash-ring-seg[data-dash-tone=neutral-3]{stroke:var(--dash-visual-neutral-3)}.dash-legend-swatch[data-dash-tone="3"]{background:var(--dash-visual-tone-3)}.dash-legend-swatch[data-dash-tone="4"]{background:var(--dash-visual-tone-4)}.dash-legend-swatch[data-dash-tone="5"]{background:var(--dash-visual-tone-5)}.dash-legend-swatch[data-dash-tone="6"]{background:var(--dash-visual-tone-6)}.dash-legend-swatch[data-dash-tone=neutral]{background:var(--dash-visual-neutral)}.dash-legend-swatch[data-dash-tone=neutral-2]{background:var(--dash-visual-neutral-2)}.dash-legend-swatch[data-dash-tone=neutral-3]{background:var(--dash-visual-neutral-3)}.dash-visual-notes{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px}.dash-visual[data-dash-visual=revenue-channels]{--dash-visual-tone-2:#c9a75a;--dash-visual-tone-3:#5f9a8f;--dash-visual-tone-4:#e2cf9f;--dash-visual-tone-5:#a9cdc4;--dash-visual-tone-6:#8c7a4f;--dash-visual-neutral:#9aa6a1;--dash-visual-neutral-2:#cfd6d2;--dash-visual-neutral-3:var(--muted)}[data-dash-visual=revenue-channels] .dash-ring{width:164px;height:164px}[data-dash-visual=revenue-channels] .dash-ring-center{font-size:16px}[data-dash-visual=revenue-channels] .dash-legend{max-width:400px;gap:9px}[data-dash-visual=revenue-channels] .dash-legend-item{grid-template-columns:12px minmax(0,1fr) auto;gap:2px 10px}[data-dash-visual=revenue-channels] .dash-legend-value{grid-column:3;text-align:right;white-space:nowrap}.dash-visual[data-dash-visual=nationalities]{--dash-visual-tone-1:#4f4380;--dash-visual-tone-2:#8a7fc0;--dash-visual-tone-3:#b3aadf;--dash-visual-tone-4:#6b4f8a;--dash-visual-tone-5:#d2cdee;--dash-visual-neutral:#a9a6b3;--dash-visual-neutral-2:#cfd6d2}[data-dash-visual=nationalities] .dash-ring{width:164px;height:164px}[data-dash-visual=nationalities] .dash-legend{max-width:400px;gap:9px}[data-dash-visual=nationalities] .dash-legend-item{grid-template-columns:12px minmax(0,1fr) auto;gap:2px 10px}[data-dash-visual=nationalities] .dash-legend-value{grid-column:3;text-align:right;white-space:nowrap}.dash-chn-table .dash-ch-share{width:20%;white-space:nowrap}.dash-chn-table .dash-bar{max-width:100px}.dash-chn-table [data-dash-channel-share]{font-variant-numeric:tabular-nums}@media (max-width:1180px){.dash-chn-table .dash-bar{max-width:80px}}@media (min-width:901px) and (max-width:1000px){.dash-chn-table .dash-bar{display:none}}@media (max-width:900px){.dash-ch-table.dash-chn-table tr{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-chn-table .dash-ch-share{width:auto}}.dash-legend-label{font-size:13px;font-weight:700;color:#34413d;overflow-wrap:anywhere}.dash-legend-value{grid-column:2;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}.dash-legend-value strong{color:var(--ink);font-weight:760}.dash-visual-empty{margin:0;font-size:13px;color:var(--muted)}.dash-kpis.three{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:600px){.dash-kpis.three{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-kpis.three>.dash-kpi:first-child{grid-column:1/-1}}@media (max-width:600px){.dash-visual{padding:14px}.dash-visual-body{flex-direction:column;align-items:center;gap:14px}.dash-ring{width:128px;height:128px}.dash-ring-center{font-size:22px}.dash-legend{width:100%;max-width:none}[data-dash-visual=revenue-channels] .dash-ring{width:144px;height:144px}[data-dash-visual=revenue-channels] .dash-legend{max-width:none}[data-dash-visual=nationalities] .dash-ring{width:144px;height:144px}[data-dash-visual=nationalities] .dash-legend{max-width:none}}.res-dates{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;margin:0;min-width:0}.res-date-field{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:720;color:var(--muted)}.res-date-field input[type=date]{width:auto;min-width:0;padding:8px 10px}.res-dates .btn{padding:8px 14px}.res-date-error{flex:1 1 100%;margin:0;font-size:12px;font-weight:650;color:var(--warn)}@media (max-width:900px){.res-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.res-date-field{display:grid;gap:4px}.res-date-field input[type=date]{width:100%}.res-date-error{grid-column:1/-1}}#properties .settings-panel{border-top:3px solid var(--section-accent)}#properties .settings-panel h2{display:flex;align-items:center;gap:9px;font-size:16.5px;font-weight:800;letter-spacing:-.01em}#properties .settings-panel h2:before{content:"";flex:0 0 auto;width:9px;height:9px;border-radius:3px;background:var(--section-accent)}#settings-establishment{--section-accent:#9aa9c9;--section-accent-ink:#173b35}#properties .settings-panel .btn.primary{background:var(--section-accent);border-color:var(--section-accent);color:var(--section-accent-ink)}#properties .settings-panel .btn.primary:hover:not(:disabled){filter:brightness(.93)}#properties .settings-panel .btn.primary:focus-visible{outline:2px solid var(--section-accent);outline-offset:2px}#properties .btn.danger[data-act=delete]:disabled{opacity:.45;cursor:not-allowed}.settings-empty{padding:22px 12px;color:var(--muted);text-align:center;font-size:13px}.prop-establishment{display:block;margin-top:3px;font-size:11px;font-weight:650;color:var(--muted);overflow-wrap:anywhere}.cal-shell{--cal-head-bg:#f5f3ec;--cal-head-ink:#56625e;--cal-head-weekend-bg:#ede9df;--cal-today-head-bg:#e1eee7;--cal-unit-bg:#f9f8f4;--cal-group-bg:#e9efe9;--cal-group-line:#d9e2da;--cal-group-ink:#244a41;--cal-independent-bg:#eff1ec;--cal-weekend-bg:#faf7f2;--cal-today-bg:#f0f7f3}.cal-shell .grid-head{background:var(--cal-head-bg)}.cal-shell .grid-head .unit-head{background:var(--cal-head-bg);color:var(--cal-head-ink)}.cal-shell .grid-head .day-head{color:var(--cal-head-ink)}.cal-shell .grid-head .day-head.weekend{background:var(--cal-head-weekend-bg)}.cal-shell .grid-head .day-head.today{background:var(--cal-today-head-bg);box-shadow:inset 0 -2px 0 var(--accent)}.cal-shell .grid-head .day-head.today strong{color:var(--accent)}.cal-shell .cal-row .unit-cell{background:var(--cal-unit-bg)}.cal-shell .cal-row .day-cell.weekend{background:var(--cal-weekend-bg)}.cal-shell .cal-row .day-cell.today,.cal-shell .cal-row .day-cell.no-create.today:hover{background:var(--cal-today-bg)}.cal-group-head{display:flex;align-items:stretch;min-height:32px;background:var(--cal-group-bg);border-top:1px solid var(--cal-group-line);border-bottom:1px solid var(--cal-group-line);cursor:default}.grid-head+.cal-group .cal-group-head{border-top:0}.cal-group.independent .cal-group-head,.cal-group.independent .cal-group-label{background:var(--cal-independent-bg)}.cal-group-label{position:sticky;left:0;z-index:4;display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:7px 14px;background:var(--cal-group-bg);color:var(--cal-group-ink);font-size:11px;font-weight:820;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.cal-group-icon{flex:0 0 auto;opacity:.78}.cal-group-name{overflow:hidden;text-overflow:ellipsis}.cal-group-inactive{font-weight:650;letter-spacing:0;text-transform:none;color:var(--muted)}.cal-group.inactive .cal-group-label{color:#56625e}.cal-group .cal-row .unit-cell{padding-left:26px}.agenda-establishment{grid-column:1/-1;font-size:11px;font-weight:780;letter-spacing:.04em;text-transform:uppercase;color:#2c4a42;overflow-wrap:anywhere}.expenses-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.expenses-table td{vertical-align:top}.expenses-table .exp-amount{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.expenses-table .exp-desc{overflow-wrap:anywhere;min-width:160px}.expenses-table .row-actions{white-space:nowrap}.exp-rec-wrap{display:inline-block}.exp-sub{display:block;margin-top:3px;font-size:11px;color:var(--muted);font-weight:600}.exp-category-row{display:flex;gap:8px;align-items:center}.exp-category-row select{flex:1 1 auto;min-width:0}.exp-category-row .btn{flex:0 0 auto;white-space:nowrap}.exp-notice{border:1px solid #ead8be;background:#fff8ed;border-radius:12px;padding:12px;color:#744e19;font-size:12px;margin:16px 0 0;display:grid;gap:10px}.exp-notice-text{line-height:1.5;font-weight:650}.exp-notice-actions{display:flex;gap:8px;flex-wrap:wrap}.exp-notice-actions:empty{display:none}#expenseForm [aria-invalid=true]{border-color:var(--danger)}@media (max-width:700px){.expenses-toolbar{justify-content:stretch}.expenses-toolbar .btn{flex:1 1 0}.expenses-table thead{display:none}.expenses-table,.expenses-table tbody,.expenses-table tr,.expenses-table td{display:block;width:100%}.expenses-table tr{border:1px solid var(--line);border-radius:12px;padding:8px 12px;margin-bottom:10px;background:#fff}.expenses-table td{border:0;padding:5px 0;display:flex;justify-content:space-between;align-items:baseline;gap:12px;text-align:right;min-width:0}.expenses-table td:before{content:attr(data-label);flex:0 0 auto;font-size:11px;font-weight:750;color:var(--muted);text-align:left}.expenses-table td>*{min-width:0}.expenses-table .exp-desc{min-width:0}.expenses-table td.row-actions{justify-content:flex-end;gap:8px;padding-top:8px;border-top:1px dashed var(--line);margin-top:4px}.expenses-table td.row-actions:before{content:none}.expenses-table td.row-actions .btn+.btn{margin-left:0}.exp-category-row{flex-wrap:wrap}.exp-category-row .btn{width:100%}#expenseForm input,#expenseForm select{font-size:16px}}#expenses{--exp-revenue:#1e5d53;--exp-expenses:#c49a86;--exp-profit:#173b35;--exp-card-line:#e5e9e6}#expenses .settings-panel[hidden]{display:none!important}.settings-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.settings-panel-head h2{margin:0!important}.exp-analysis{display:grid;gap:12px;margin:0 0 14px;padding:14px 18px;background:#fff;border:1px solid var(--line);border-radius:16px}.exp-analysis-title{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;min-width:0}.exp-caption,.exp-kpi-label{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.exp-period-label{font-size:20px;font-weight:780;letter-spacing:-.01em;overflow-wrap:anywhere}.exp-analysis-applied{font-size:12px;color:var(--muted);font-weight:600;overflow-wrap:anywhere}.exp-analysis-controls{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px;min-width:0}.exp-analysis .exp-mode{margin-left:0;align-self:flex-end}.exp-analysis .exp-mode button{padding:8px 12px}.exp-analysis .period-field select,.exp-analysis .period-field input{width:auto;min-width:0;max-width:150px;padding:8px 10px}.exp-analysis [data-exp-field=month] select{max-width:130px}.exp-analysis [data-exp-field=year] select{max-width:90px}.exp-analysis [data-exp-field=compare] select{max-width:140px}.exp-analysis-actions{display:flex;gap:8px;margin-left:auto}.exp-analysis-actions .btn{padding:8px 16px}.exp-range-error{margin:0;font-size:12px;font-weight:650;color:var(--warn)}.exp-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.exp-kpi{display:grid;align-content:start;gap:5px;min-width:0;padding:16px;background:#fff;border:1px solid var(--line);border-radius:16px}.exp-kpi-value{font-size:26px;font-weight:800;letter-spacing:-.02em;color:var(--ink);overflow-wrap:anywhere}.exp-kpi.profit{background:#f1f6f5;border-color:#d6e5e1}.exp-kpi.profit .exp-kpi-value{color:var(--accent)}.exp-kpi.profit.negative .exp-kpi-value{color:var(--ink)}.exp-kpi-meta{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.exp-kpi-meta.warn{color:var(--warn);font-weight:650}.exp-kpi-compare{display:flex;flex-wrap:wrap;gap:2px 12px;margin-top:4px;padding-top:6px;border-top:1px dashed var(--line);font-size:12px;font-weight:650;color:#34413d}.exp-compare-k{font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-right:3px}.exp-charts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:14px;margin-bottom:14px}.exp-charts>[data-exp-chart=rep]{grid-column:1/-1}.exp-card{min-width:0;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:16px}.exp-card-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;margin-bottom:12px}.exp-card-title{margin:0;font-size:15px;font-weight:820}.exp-card-note{font-size:12px;color:var(--muted);font-weight:600}.exp-empty{margin:0;padding:26px 10px;text-align:center;color:var(--muted);font-size:13px}.exp-cat-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.exp-cat-row{display:grid;grid-template-columns:minmax(90px,1.2fr) minmax(60px,2fr) auto 52px;align-items:center;gap:4px 10px;font-size:13px}.exp-cat-name{font-weight:700;overflow-wrap:anywhere}.exp-cat-bar{height:8px;border-radius:999px;background:#eef1ef;overflow:hidden}.exp-cat-bar span{display:block;height:100%;border-radius:999px;background:var(--exp-expenses)}.exp-cat-amount{font-weight:750;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.exp-cat-share{text-align:right;color:var(--muted);font-weight:650;font-variant-numeric:tabular-nums}.exp-cat-prev{grid-column:2/-1;font-size:11.5px;color:var(--muted)}.exp-chart-foot{margin:12px 0 0;font-size:12.5px;color:var(--muted)}.exp-legend{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:#34413d;font-weight:600}.exp-legend li{display:inline-flex;align-items:center;gap:6px}.exp-swatch{display:inline-block;width:12px;height:12px;border-radius:3px}.exp-swatch.revenue{background:var(--exp-revenue)}.exp-swatch.expenses{background:var(--exp-expenses)}.exp-swatch.profit{height:3px;border-radius:2px;background:var(--exp-profit)}.exp-swatch.compare{background:repeating-linear-gradient(135deg,var(--exp-expenses) 0 2px,#fff 2px 4px);border:1px solid var(--exp-expenses)}.exp-swatch.profit.compare{height:0;border:0;border-top:2px dashed var(--exp-profit);background:none}.exp-swatch.current-month{background:#f3ead7;border:1px solid #d7b66f}.exp-swatch.compare-month{background:#fff;border:1px dashed #9aa6a1}.exp-colchart{--exp-cols:12;min-width:0}.exp-plot{position:relative;height:190px;border-bottom:1px solid var(--line)}.exp-zero{position:absolute;left:0;right:0;height:0;border-top:1px solid #cfd6d2;z-index:1}.exp-cols{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(var(--exp-cols),minmax(0,1fr))}.exp-col{position:relative;min-width:0;border-radius:6px}.exp-col.is-current{background:#f8f1e1;box-shadow:inset 0 0 0 1px #e5cf9d}.exp-col.is-compare{box-shadow:inset 0 0 0 1px #9aa6a1;background:repeating-linear-gradient(0deg,transparent 0 6px,rgba(154,166,161,.08) 6px 12px)}.exp-col-bars{position:absolute;top:0;right:12%;bottom:0;left:12%;display:flex;gap:2px}.exp-bar-slot{position:relative;flex:1 1 0;min-width:0}.exp-bar{position:absolute;left:0;right:0;border-radius:3px 3px 0 0}.exp-bar.revenue{background:var(--exp-revenue)}.exp-bar.expenses{background:var(--exp-expenses)}.exp-bar.compare{background:repeating-linear-gradient(135deg,var(--exp-expenses) 0 2px,#fff 2px 4px);box-shadow:inset 0 0 0 1px var(--exp-expenses)}.exp-line-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:2}.exp-line polyline{fill:none;stroke:var(--exp-profit);stroke-width:2.2}.exp-line.compare polyline{stroke-dasharray:5 4;stroke-width:1.8;opacity:.8}.exp-dot{position:absolute;left:50%;width:8px;height:8px;margin:0 0 -4px -4px;border-radius:50%;background:var(--exp-profit);border:2px solid #fff;z-index:3}.exp-dot.compare{background:#fff;border:2px solid var(--exp-profit)}.exp-col-labels{display:grid;grid-template-columns:repeat(var(--exp-cols),minmax(0,1fr));margin-top:6px}.exp-col-label{text-align:center;font-size:11px;color:var(--muted);font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exp-col-label.is-current{color:var(--ink);font-weight:800}.exp-col-label small{display:block;font-size:10px}.exp-extremes{display:flex;flex-wrap:wrap;gap:4px 18px;margin:12px 0 0;font-size:12.5px;font-weight:650;color:#34413d}.exp-chart-note{margin:8px 0 0;font-size:12px;color:var(--muted)}.exp-chart-note.warn{color:var(--warn);font-weight:650}.exp-values{margin-top:10px;font-size:12.5px}.exp-values summary{cursor:pointer;font-weight:700;color:var(--accent)}.exp-values .table th,.exp-values .table td{padding:7px 8px}.exp-values .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.exp-upcoming{margin-bottom:14px}.exp-upcoming-summary{display:flex;flex-wrap:wrap;gap:4px 16px;margin:0 0 10px;font-size:13px;color:var(--muted)}.exp-upcoming-summary strong{color:var(--ink)}.exp-upcoming-list{list-style:none;margin:0;padding:0;display:grid}.exp-upcoming-row{display:grid;grid-template-columns:110px minmax(0,1fr) auto 110px;align-items:center;gap:6px 14px;padding:9px 0;border-top:1px solid var(--line);font-size:13px}.exp-up-date{font-weight:700;white-space:nowrap}.exp-up-main{display:grid;gap:2px;min-width:0}.exp-up-main strong{overflow-wrap:anywhere}.exp-up-main span{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.exp-up-amount{text-align:right;font-weight:750;white-space:nowrap;font-variant-numeric:tabular-nums}.expenses-panel .exp-card-head{margin-bottom:4px}@media (max-width:1100px){.exp-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.exp-charts{grid-template-columns:minmax(0,1fr)}}@media (max-width:700px){.exp-analysis{padding:12px}.exp-analysis-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.exp-analysis .exp-mode{grid-column:1/-1;width:100%}.exp-analysis .exp-mode button{flex:1 1 0}.exp-analysis .period-field select,.exp-analysis .period-field input{width:100%;max-width:none;font-size:16px}.exp-analysis [data-exp-field=scope],.exp-analysis [data-exp-field=category]{grid-column:1/-1}.exp-analysis-actions{grid-column:1/-1;margin-left:0}.exp-analysis-actions .btn{flex:1 1 0}.exp-period-label{font-size:18px}.exp-kpis{grid-template-columns:minmax(0,1fr)}.exp-kpi-value{font-size:24px}.exp-card{padding:14px}.exp-cat-row{grid-template-columns:minmax(0,1fr) auto 46px}.exp-cat-bar{grid-column:1/-1;grid-row:2}.exp-cat-prev{grid-column:1/-1}.exp-plot{height:170px}.exp-col-bars{top:0;right:6%;bottom:0;left:6%;gap:1px}.exp-col-label{font-size:9.5px}.exp-upcoming-row{grid-template-columns:minmax(0,1fr) auto;gap:4px 10px}.exp-up-date{grid-column:1/-1;font-size:12px;color:var(--muted)}.exp-up-rec{justify-self:start}.exp-up-main{grid-column:1/-1;grid-row:2}}.plan-bar{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.plan-usage{margin-right:auto;display:flex;flex-direction:column;gap:2px;font-size:13px;color:var(--muted)}.plan-usage strong{color:var(--ink)}.plan-usage.full span{color:var(--danger);font-weight:650}.sub-card h3,.sub-history h3,.sub-invoices h3{margin:0 0 14px;font-size:16px}.sub-facts{margin-bottom:0}.sub-status{display:inline-flex;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:800;background:#eff3f1}.sub-status.ok{background:var(--accent2);color:var(--accent)}.sub-status.warn{background:#fff4e0;color:var(--warn)}.sub-status.bad{background:#fbecec;color:var(--danger)}.sub-expired{color:var(--danger);font-weight:700}.sub-over{margin:0 0 14px}.sub-help{margin:18px 2px 0;font-size:13px;color:var(--muted)}.sub-help a{color:var(--accent);font-weight:700}#expenses{--exp-tone-cream:#fbf8f2;--exp-tone-cream-line:#ece2cf;--exp-tone-sand:#c49a86;--exp-tone-sand-soft:#e3c7b8;--exp-tone-gold:#d7b66f;--exp-tone-gold-bg:#fdf9ef;--exp-tone-gold-line:#efe3c4;--exp-tone-neutral:#b9ab97;--exp-tone-green:#1e5d53;--exp-tone-green-bg:#eef5f3;--exp-tone-green-line:#cfe2dc}.exp-analysis[data-exp-tone=analysis]{background:var(--exp-tone-cream);border-color:var(--exp-tone-cream-line)}.exp-kpi[data-exp-tone]{box-shadow:inset 0 3px 0 var(--exp-kpi-accent,transparent)}.exp-kpi[data-exp-tone=expense]{--exp-kpi-accent:var(--exp-tone-sand)}.exp-kpi[data-exp-tone=ratio]{--exp-kpi-accent:var(--exp-tone-neutral)}.exp-kpi[data-exp-tone=top]{--exp-kpi-accent:var(--exp-tone-gold)}.exp-kpi .exp-kpi-value{font-size:24px}.exp-kpi[data-exp-tone=profit]{--exp-kpi-accent:var(--exp-tone-green);background:var(--exp-tone-green-bg);border-color:var(--exp-tone-green-line);box-shadow:inset 0 4px 0 var(--exp-kpi-accent),0 8px 22px #1e5d5314}.exp-kpi[data-exp-tone=profit] .exp-kpi-value{font-size:30px}.exp-kpi[data-exp-tone=profit] .exp-kpi-label{color:var(--exp-tone-green)}.exp-profit-formula{font-size:12.5px;font-weight:650;color:#34413d;line-height:1.45;overflow-wrap:anywhere}.exp-kpi-note{margin:6px 0 0;padding:6px 9px;border:1px solid #f0dcb4;border-radius:9px;background:#fff7e8;color:#7a5418;font-size:12px;font-weight:650;line-height:1.4}.exp-chart{position:relative}.exp-chart[data-exp-tone]{box-shadow:inset 0 3px 0 var(--exp-chart-accent,transparent)}.exp-chart[data-exp-tone=expense]{--exp-chart-accent:var(--exp-tone-sand-soft)}.exp-chart[data-exp-tone=expense-trend]{--exp-chart-accent:var(--exp-tone-sand-soft);background:#fffdfb}.exp-chart[data-exp-tone=profitability]{--exp-chart-accent:var(--exp-tone-green);border-color:#dde7e3;box-shadow:inset 0 3px 0 var(--exp-chart-accent),0 8px 22px #192a250d}.exp-chart[data-exp-tone=profitability] .exp-card-title{font-size:16px}.exp-upcoming[data-exp-tone=upcoming]{background:var(--exp-tone-gold-bg);border-color:var(--exp-tone-gold-line);box-shadow:inset 0 3px 0 var(--exp-tone-gold)}.exp-upcoming[data-exp-tone=upcoming] .exp-upcoming-row{border-top-color:var(--exp-tone-gold-line)}.expenses-panel[data-exp-tone=operational]{background:#fff}#expenses>#settings-expense{background:#fafaf8}.exp-chart-hint{margin:-4px 0 8px;font-size:11.5px;color:var(--muted)}.exp-tip{position:absolute;z-index:20;display:grid;gap:3px;min-width:150px;max-width:min(260px,calc(100% - 16px));padding:9px 11px;border-radius:10px;background:#173b35;color:#fff;font-size:12px;line-height:1.35;box-shadow:0 10px 24px #0000002e;pointer-events:none}.exp-tip[hidden]{display:none}.exp-tip-title{font-size:12.5px;font-weight:800;margin-bottom:1px}.exp-tip-line{display:flex;justify-content:space-between;gap:14px;font-variant-numeric:tabular-nums}.exp-tip-k{opacity:.78}.exp-tip-v{font-weight:750;white-space:nowrap}.exp-tip-group{margin-top:4px;padding-top:5px;border-top:1px solid rgba(255,255,255,.2);font-weight:750;opacity:.9}[data-exp-tip]{cursor:pointer}[data-exp-tip]:focus{outline:none}[data-exp-tip]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.exp-col.is-tip{background:#1e5d5312}.exp-col.is-current.is-tip{background:#f3e8cf}.exp-cat-row{margin:0 -6px;padding:3px 6px;border-radius:8px}.exp-cat-row.is-tip{background:#faf2ec}@media (max-width:700px){.exp-kpi[data-exp-tone=profit] .exp-kpi-value{font-size:28px}.exp-tip{font-size:12.5px}}.dash-collapse-head,.exp-collapse-head{display:flex;align-items:center;gap:10px;width:100%;margin:0;padding:0;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.dash-group-heading,.exp-collapse-heading{margin:0;font-size:inherit;font-weight:inherit}.dash-collapse-head:focus-visible,.exp-collapse-head:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:10px}.dash-collapse-head:hover .dash-group-title,.exp-collapse-head:hover .exp-card-title{text-decoration:underline;text-underline-offset:3px}.dash-collapse-caret,.exp-collapse-caret{flex:none;width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transform-origin:60% 60%;transition:transform .15s ease;opacity:.75}.dash-collapsible.open>.dash-group-heading .dash-collapse-caret,.exp-collapsible.open>.exp-collapse-heading .exp-collapse-caret{transform:rotate(45deg)}.dash-collapsible:not(.open){gap:0}.exp-collapsible .exp-collapse-heading{padding:2px 0}.exp-collapse-count{flex:none;font-size:12px;font-weight:750;color:var(--muted);padding:2px 8px;border:1px solid var(--line);border-radius:999px;background:#fff;font-variant-numeric:tabular-nums;white-space:nowrap}.exp-collapse-head .exp-card-note{margin-left:auto;text-align:right}.exp-print-error{margin:0 0 12px}#expenses .exp-manage-categories-btn{background:var(--exp-tone-cream);border-color:var(--exp-tone-sand-soft);color:var(--ink)}#expenses .exp-manage-categories-btn:hover{border-color:var(--exp-tone-sand)}#expenses .exp-manage-categories-btn:focus-visible{outline:2px solid var(--exp-tone-sand);outline-offset:2px}.exp-analysis-actions .exp-print-btn{padding:8px 16px;background:#fff;border-color:#e2cf9f;color:#1e5d53}.exp-analysis-actions .exp-print-btn:hover{background:#fffaf0;border-color:#c9a75a}.exp-analysis-actions .exp-print-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width:700px){.expenses-toolbar{align-items:stretch}.exp-analysis-actions{flex-wrap:wrap}.exp-analysis-actions .exp-print-btn{flex:1 1 100%}}@media (min-width:1400px){.exp-analysis-controls{gap:10px 6px}.exp-analysis .exp-mode button{padding:8px}.exp-analysis [data-exp-field=scope] select{max-width:130px}.exp-analysis [data-exp-field=compare] select{max-width:120px}}@media (max-width:700px){.exp-collapse-head{flex-wrap:wrap;gap:6px 10px}.exp-collapse-head .exp-card-note{margin-left:0;flex:1 1 100%;text-align:left}}.dash-collapse-head{min-height:44px;padding:0 12px;border:1px solid rgba(24,33,31,.07);border-radius:10px;background:#ffffff8c;transition:background .15s ease,border-color .15s ease}.dash-collapse-head:hover{background:#fff;border-color:#18211f1f}.dash-collapse-head:hover .dash-group-title{text-decoration:none}.dash-collapse-caret{opacity:1;color:var(--accent)}.dash-card,.dash-kpi{box-shadow:0 1px 2px #192a250a}.dash-macro-icon{border-color:#e2cf9f;box-shadow:0 1px 2px #192a250d}.dash-macro-sub{font-size:12px;line-height:1.35}.dash-card-label{font-size:12px;font-weight:800;letter-spacing:.025em;text-transform:none}.dash-card-value{font-variant-numeric:tabular-nums}.dash-card{border-top-color:#e2cf9f}.cal-today-strip{--cal-op-arrivals:#d9ede2;--cal-op-departures:#fbe9dc;--cal-op-occupied:#dde9f6;--cal-op-available:#e9e4f5;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:10px 16px;border-bottom:1px solid var(--line);background:var(--panel)}.cal-today-metric{display:grid;gap:2px;align-content:center;min-width:0;padding:8px 12px;border-radius:8px;background:var(--cal-op-bg)}.cal-today-metric[data-cal-metric=arrivals]{--cal-op-bg:var(--cal-op-arrivals)}.cal-today-metric[data-cal-metric=departures]{--cal-op-bg:var(--cal-op-departures)}.cal-today-metric[data-cal-metric=occupied]{--cal-op-bg:var(--cal-op-occupied)}.cal-today-metric[data-cal-metric=available]{--cal-op-bg:var(--cal-op-available)}.cal-today-value{font-size:21px;font-weight:780;line-height:1.15;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ink)}.cal-today-label{font-size:11px;font-weight:700;line-height:1.3;color:var(--ink);overflow-wrap:anywhere}.cal-print-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:9px;font-size:12.5px;font-weight:700;background:#fdf9ef;border-color:#e2cf9f;color:var(--ink)}.cal-print-btn:hover{background:#fbf4e4;border-color:#d7b66f}.cal-print-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cal-print-icon{flex:0 0 auto;opacity:.75}@media (min-width:901px) and (max-width:1120px){.cal-today-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.cal-shell{--unit:116px;--day:42px}.cal-toolbar{gap:8px 7px;padding:11px}.cal-toolbar .month{order:-1;width:100%;margin:0}.cal-toolbar input[type=date]{flex:1 1 140px;width:auto;min-width:0}.cal-mode-seg{width:100%;margin-left:0}.cal-mode-seg button{flex:1 1 0;min-height:40px;text-align:center}.cal-print-btn{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:7px}.agenda-nav .cal-mode-seg{margin-top:2px}.cal-today-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:480px){.cal-shell{--unit:104px;--day:40px}}@media (min-width:901px){.agenda-nav input[type=date]{flex:0 0 auto;width:auto;min-width:172px}.agenda-nav .cal-mode-seg{margin-left:auto}}@media (max-width:900px){.cal-shell.week-mode .grid{--day:minmax(76px,1fr)}}.account-team{display:grid;gap:16px}.team-head h3{margin:0 0 4px;font-size:16px}.team-sub{margin:0;font-size:12px;color:var(--muted)}.team-limits{display:flex;gap:10px;flex-wrap:wrap}.team-limit{display:flex;align-items:baseline;gap:6px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:#fbfcfb}.team-limit-count{font-size:15px;font-weight:780;font-variant-numeric:tabular-nums}.team-limit-role{font-size:11px;font-weight:700;color:var(--muted)}.team-limit.full{border-color:#ead8be;background:#fff8ed}.team-limit.full .team-limit-count{color:var(--warn)}.team-list{display:grid;gap:8px}.team-row{display:grid;grid-template-columns:minmax(0,2fr) 150px 110px auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}.team-row.owner{border-color:#e4d7b8;background:#fffdf8}.team-row.is-disabled{opacity:.62}.team-row.invited{border-style:dashed}.team-who{display:grid;gap:2px;min-width:0}.team-name{font-weight:720;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-self{font-style:normal;font-weight:600;color:var(--muted)}.team-email{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-role-select{width:100%;padding:8px 10px}.role-badge{background:#eef3f1;color:var(--ink)}.role-badge.owner{background:#f3e7c9;color:#6b5320}.status-badge.active{background:#dff0e6;color:#1d5c3c}.status-badge.disabled{background:#eceeed;color:var(--muted)}.status-badge.invited{background:#e6eef7;color:#2a4f77}.team-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.team-owner-note{margin:0;text-align:right}.team-empty{margin:0;padding:18px;text-align:center;color:var(--muted);font-size:13px}.team-invite{border-top:1px solid var(--line);padding-top:14px;display:grid;gap:10px}.team-invite h4{margin:0;font-size:13px}.team-invite-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) 160px auto;gap:10px;align-items:end}.team-invite .field{gap:5px}#inviteRoleHint{margin:0}#inviteRoleHint.is-full{color:var(--warn)}.res-activity{border-top:1px solid var(--line);padding-top:14px;margin-top:4px}.res-activity h4{margin:0 0 2px;font-size:13px}.activity-list{display:grid;gap:10px;max-height:240px;overflow:auto;margin-top:10px}.activity-event{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:#fbfcfb}.activity-when{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.activity-who{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700}.activity-title{font-size:12px;font-weight:700}.activity-changes{margin:2px 0 0;padding-left:16px;display:grid;gap:3px}.activity-changes li{font-size:12px;line-height:1.45}.activity-field{font-weight:700}.activity-from{color:var(--muted);text-decoration:line-through}.activity-to{font-weight:700}.activity-empty,.activity-loading{margin:0;font-size:12px;color:var(--muted)}.recent-list{display:grid;margin-top:6px;min-width:0}.recent-card{display:grid;gap:3px;padding:9px 0;border-bottom:1px solid var(--line);min-width:0}.recent-card:first-child{padding-top:2px}.recent-card:last-child{border-bottom:0}.recent-meta{display:flex;flex-wrap:wrap;gap:2px 6px;font-size:11px;color:var(--muted);min-width:0}.recent-when{font-variant-numeric:tabular-nums;white-space:nowrap}.recent-who{min-width:0;overflow-wrap:anywhere}.recent-items{margin:0;padding:0;list-style:none;display:grid;gap:2px;min-width:0}.recent-items li{font-size:12.5px;line-height:1.45;overflow-wrap:anywhere}.recent-action{font-weight:700}.recent-from{color:var(--muted)}.activity-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;padding:6px 0;min-height:32px;color:var(--accent);font-weight:700;font-size:12px;cursor:pointer;justify-self:start;text-align:left}.activity-toggle:hover{text-decoration:underline;text-underline-offset:3px}.activity-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.modal p.recent-more{margin:2px 0 0;font-size:12px;color:var(--muted);font-weight:650}.activity-history-modal{width:min(560px,100%);padding-top:0}.activity-history-head{position:sticky;top:0;z-index:1;display:flex;align-items:flex-start;gap:12px;background:#fff;padding:18px 0 10px;border-bottom:1px solid var(--line);margin-bottom:10px}.activity-history-heading{flex:1 1 auto;min-width:0}.activity-history-head h2{margin:0;font-size:19px}.modal p.activity-history-guest{margin:2px 0 0;font-size:12px;font-weight:700;color:var(--muted);overflow-wrap:anywhere}.activity-history-head .btn{flex:0 0 auto}.activity-history-modal #activityHistorySub{margin:0 0 4px}.activity-history-modal .activity-list{max-height:none;overflow:visible;margin-top:8px}.activity-history-modal .activity-event{min-width:0}.activity-who .role-badge{flex:0 0 auto}.activity-changes li{overflow-wrap:anywhere}.activity-who span{min-width:0;overflow-wrap:anywhere}.res-readonly-notice{margin:0 0 12px;padding:9px 12px;border-radius:10px;background:#eef5f2;color:var(--ink)}@media (max-width:900px){.team-invite-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.team-invite-fields .btn{grid-column:1/-1}.team-row{grid-template-columns:minmax(0,1fr) 140px;grid-template-areas:"who role" "status actions";row-gap:10px}.team-who{grid-area:who}.team-role{grid-area:role}.team-status{grid-area:status}.team-actions{grid-area:actions}}@media (max-width:560px){.team-row{grid-template-columns:1fr;grid-template-areas:"who" "role" "status" "actions";row-gap:8px}.team-role-select{width:100%}.team-actions{justify-content:flex-start}.team-owner-note{text-align:left}.team-invite-fields{grid-template-columns:1fr}.team-limit{flex:1 1 calc(50% - 10px)}.activity-list{max-height:none}.activity-toggle{min-height:44px}.activity-history-backdrop{padding:0}.activity-history-backdrop .activity-history-modal{width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0;padding:0 16px 20px}.activity-history-head .btn{min-height:44px}}.nav .nav-help{position:relative;margin-top:12px}.nav .nav-help:before{content:"";position:absolute;left:10px;right:10px;top:-8px;border-top:1px solid rgba(228,201,143,.22);pointer-events:none}.title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.title-row h1{min-width:0;overflow-wrap:anywhere}.ctx-help{display:inline-flex;align-items:center;gap:6px;flex:none;padding:4px 11px 4px 5px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--accent);font-size:12px;font-weight:750;cursor:pointer;line-height:1.2}.ctx-help:hover{border-color:#b9cdc7;background:#f7fbf9}.ctx-help:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ctx-help-mark{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--accent2);font-weight:850;font-size:12px}.help-hero{margin-top:0}.help-hero h2{margin:0;font-size:22px;letter-spacing:-.02em}.help-hero-sub{margin:6px 0 14px;color:var(--muted);font-size:13px}.help-search{position:relative;max-width:640px}.help-search input{height:48px;padding-left:42px;font-size:15px;border-radius:12px}.help-search-icon{position:absolute;left:15px;top:50%;width:13px;height:13px;margin-top:-9px;border:2px solid var(--muted);border-radius:50%;pointer-events:none}.help-search-icon:after{content:"";position:absolute;right:-6px;bottom:-5px;width:7px;height:2px;background:var(--muted);transform:rotate(45deg);border-radius:2px}.help-content{margin-top:18px}.help-section-title{margin:0 0 12px;font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.help-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}.help-cat{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;padding:16px 16px 14px;border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:var(--shadow);text-align:left;cursor:pointer;color:var(--ink);font:inherit}.help-cat:hover{border-color:#b9cdc7}.help-cat:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.help-cat-title{font-size:15px;font-weight:800}.help-cat-desc{font-size:12.5px;color:var(--muted);line-height:1.45}.help-cat-count{margin-top:auto;padding-top:4px;font-size:11px;font-weight:800;color:var(--accent);letter-spacing:.02em}.help-category{margin-top:0}.help-back{margin:0 0 8px;padding:0;border:0;background:none;color:var(--accent);font-weight:750;font-size:13px;cursor:pointer}.help-back:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.help-category-title{margin:0;font-size:18px}.help-category-desc{margin:4px 0 12px;color:var(--muted);font-size:13px}.help-list{border-top:1px solid var(--line)}.help-item{border-bottom:1px solid var(--line)}.help-q-h{margin:0;font-size:inherit;font-weight:inherit}.help-q{display:flex;align-items:center;gap:12px;width:100%;min-height:50px;margin:0;padding:12px 4px;border:0;background:none;color:var(--ink);font:inherit;font-size:14px;font-weight:700;text-align:left;cursor:pointer}.help-q:hover .help-q-text{text-decoration:underline;text-underline-offset:3px}.help-q:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:8px}.help-q-text{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.help-q-cat{display:block;margin-bottom:3px;font-size:11px;font-weight:750;color:var(--muted);letter-spacing:.02em}.help-caret{flex:none;width:9px;height:9px;margin-right:6px;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:translateY(-2px) rotate(45deg);transform-origin:50% 50%;transition:transform .15s ease}.help-item.open .help-caret{transform:translateY(2px) rotate(-135deg)}.help-a{padding:0 4px 16px;font-size:13.5px;line-height:1.6;color:#2c3834;max-width:78ch;overflow-wrap:anywhere}.help-a p{margin:0 0 8px}.help-a ol,.help-a ul{margin:0 0 8px;padding-left:22px}.help-a li{margin:3px 0}.help-a strong{color:var(--ink)}.help-results{margin-top:0}.help-results-count{margin:0 0 10px;font-size:13px;font-weight:750;color:var(--muted)}.help-empty{margin:0 0 14px;color:var(--muted);font-size:13px}.help-notice{margin:0 0 14px}@media (max-width:900px){.nav .nav-help{margin-top:0}.nav .nav-help:before{display:none}.help-search{max-width:none}.help-search input{font-size:16px}.help-cats{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}}@media (max-width:480px){.help-hero h2{font-size:19px}.help-cats{grid-template-columns:1fr}.help-cat{padding:14px}.help-q{font-size:14px;min-height:52px}.ctx-help{padding:3px 9px 3px 4px}}@media print{.ctx-help{display:none}}.res-status{--rs-bg:#eff3f1;--rs-fg:#3d4744;--rs-line:transparent;background:var(--rs-bg);color:var(--rs-fg);box-shadow:inset 0 0 0 1px var(--rs-line);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;line-height:1.25}.res-status[data-res-status=confirmed]{--rs-bg:#e2f3e8;--rs-fg:#18643a;--rs-line:#c4e6cf}.res-status[data-res-status=pending]{--rs-bg:#fdf1d6;--rs-fg:#7f5209;--rs-line:#f2dca8}.res-status[data-res-status=checked-in]{--rs-bg:#e3edfb;--rs-fg:#1d4f95;--rs-line:#c7d9f4}.res-status[data-res-status=checked-out]{--rs-bg:#e1eeef;--rs-fg:#1f5a61;--rs-line:#c3dcdf}.res-status[data-res-status=no-show]{--rs-bg:#fbe5e3;--rs-fg:#9c2b25;--rs-line:#f2cac6}.res-status[data-res-status=cancelled]{--rs-bg:#eeefef;--rs-fg:#58615d;--rs-line:#dfe2e1}.res-status-line{margin:6px 0 8px}.res-status-line .res-status{font-size:11px;padding:4px 10px}.dash-visual[data-dash-visual=payment-methods]{--pm-cash:#2f8a57;--pm-card:#3569b5;--pm-bank:#7a5aa8;--pm-other:#8f9994;--pm-unknown:#cdd4d0;--pm-extra-1:#c9a75a;--pm-extra-2:#5f9a8f;--pm-extra-3:#8c7a4f}.dash-ring-seg[data-dash-tone=pm-cash]{stroke:var(--pm-cash)}.dash-ring-seg[data-dash-tone=pm-card]{stroke:var(--pm-card)}.dash-ring-seg[data-dash-tone=pm-bank]{stroke:var(--pm-bank)}.dash-ring-seg[data-dash-tone=pm-other]{stroke:var(--pm-other)}.dash-ring-seg[data-dash-tone=pm-unknown]{stroke:var(--pm-unknown)}.dash-ring-seg[data-dash-tone=pm-extra-1]{stroke:var(--pm-extra-1)}.dash-ring-seg[data-dash-tone=pm-extra-2]{stroke:var(--pm-extra-2)}.dash-ring-seg[data-dash-tone=pm-extra-3]{stroke:var(--pm-extra-3)}.dash-legend-swatch[data-dash-tone=pm-cash]{background:var(--pm-cash)}.dash-legend-swatch[data-dash-tone=pm-card]{background:var(--pm-card)}.dash-legend-swatch[data-dash-tone=pm-bank]{background:var(--pm-bank)}.dash-legend-swatch[data-dash-tone=pm-other]{background:var(--pm-other)}.dash-legend-swatch[data-dash-tone=pm-unknown]{background:var(--pm-unknown)}.dash-legend-swatch[data-dash-tone=pm-extra-1]{background:var(--pm-extra-1)}.dash-legend-swatch[data-dash-tone=pm-extra-2]{background:var(--pm-extra-2)}.dash-legend-swatch[data-dash-tone=pm-extra-3]{background:var(--pm-extra-3)}.dash-visual[data-dash-visual=payment-methods] .dash-ring{width:164px;height:164px}.dash-visual[data-dash-visual=payment-methods] .dash-ring-center{font-size:19px;padding:0 20px;text-align:center}.dash-visual[data-dash-visual=payment-methods] .dash-ring-center-value{white-space:normal;overflow-wrap:anywhere;line-height:1.1}.dash-legend-detail{grid-column:2;font-size:11.5px;color:var(--muted)}.dash-pm-totals{margin:8px 0 0;font-size:13px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.dash-pm-basis{margin:10px 0 0;font-size:12px;color:var(--muted);line-height:1.5}@media (max-width:600px){.dash-visual[data-dash-visual=payment-methods] .dash-visual-body{flex-direction:column;align-items:stretch}.dash-visual[data-dash-visual=payment-methods] .dash-ring{align-self:center}.dash-visual[data-dash-visual=payment-methods] .dash-legend{max-width:none}}.billing-modal{width:min(880px,100%)}.plan-periods{display:inline-flex;margin:0 0 16px}.plan-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.plan-card{border:1px solid var(--line);border-radius:14px;padding:16px 14px;display:flex;flex-direction:column;gap:6px;background:#fff}.plan-card.suggested{border-color:#8bb3aa;box-shadow:0 0 0 3px var(--accent2)}.plan-card.current{background:#fafbfa}.plan-name{font-size:17px;font-weight:820;letter-spacing:-.01em}.plan-range{font-size:12px;color:var(--muted);font-weight:650}.plan-price{margin-top:6px;font-size:13px;color:var(--muted)}.plan-price strong{display:block;font-size:22px;color:var(--ink);letter-spacing:-.02em}.plan-vat{font-size:11px;color:var(--muted)}.plan-card .btn.block{margin-top:auto}.plan-current{margin-top:auto;padding:10px;text-align:center;font-size:12px;font-weight:800;color:var(--accent);background:var(--accent2);border-radius:11px}.plan-custom{margin-top:14px;padding:12px 14px;border:1px dashed var(--line);border-radius:12px;font-size:13px}.plan-custom a{color:var(--accent);font-weight:750;margin-left:4px}.billing-modal .plan-taxnote{margin:12px 0 0;font-size:12px}.plan-status{min-height:18px;font-size:12px;color:var(--muted);margin-top:10px}.change-facts{margin:6px 0 0}.bill-cancel-text{font-size:14px!important;color:var(--ink)!important;line-height:1.55}.sub-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.sub-intro{margin:-6px 0 14px;font-size:13px;color:var(--muted)}.sub-demo{border-color:#d9c79f;background:linear-gradient(180deg,#fffdf7,#fff)}.sub-note{margin:0 0 14px}.sub-links a{color:var(--accent);font-weight:700;white-space:nowrap}.access-pending{margin-top:14px}#accessContact:not(.primary){background:#fff;color:var(--accent);border-color:var(--line)}@media (max-width:900px){.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:480px){.plan-grid{grid-template-columns:1fr}.sub-actions .btn{flex:1 1 100%}}.plan-vat-field{margin-top:14px;max-width:420px}.plan-vat-hint{font-size:11px;color:var(--muted)}.modal.csv-import-modal{width:min(1080px,100%)}.csv-import-modal h3{font-size:14px;margin:18px 0 4px}.csv-steps{display:flex;gap:6px;list-style:none;padding:0;margin:8px 0 14px;flex-wrap:wrap}.csv-steps li{font-size:11px;font-weight:750;color:var(--muted);padding:5px 10px;border-radius:999px;background:#f1f3f2}.csv-steps li.on{background:var(--accent);color:#fff}.csv-steps li.done{background:var(--accent2);color:var(--accent)}.csv-facts{margin:0 0 16px;padding-left:18px;font-size:12px;color:var(--ink);line-height:1.6}.csv-columns,.csv-formats{margin-top:8px}.csv-formats{margin-top:14px}.csv-map-table td,.csv-map-table th{padding:8px 10px}.csv-map-table select{min-width:180px}.csv-source{font-weight:700;overflow-wrap:anywhere}.csv-summary{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;margin:0 0 8px}.csv-summary strong{font-size:16px}.csv-preview-wrap{max-height:48vh;border:1px solid var(--line);border-radius:12px}.csv-preview th,.csv-preview td{padding:8px;font-size:12px;vertical-align:top;white-space:nowrap}.csv-preview th{position:sticky;top:0;background:#fbfcfb;z-index:1}.csv-preview td.csv-notes{white-space:normal;min-width:140px;max-width:220px;overflow-wrap:anywhere}.csv-preview td.csv-issues{white-space:normal;min-width:220px;max-width:300px}.csv-preview td.num{text-align:right}.csv-preview input[type=checkbox]{width:auto}.csv-row-error{background:#fbf1f1}.csv-row-error .csv-issues{color:#9b3434}.csv-row-duplicate{background:#fff8ed}.csv-row-duplicate .csv-issues{color:var(--warn)}.csv-payments-notice{margin-top:14px}.csv-ack{display:flex;gap:8px;align-items:center;margin-top:10px;font-weight:700;color:var(--ink)}.csv-ack input{width:auto}.csv-result-ok{border:1px solid #cfe3dc;background:var(--accent2);border-radius:12px;padding:14px;margin:0 0 12px}.csv-result-ok p{margin:6px 0 0;color:var(--ink)}@media (max-width:900px){.csv-import-modal .modal-actions{flex-wrap:wrap}.csv-import-modal .modal-actions .btn{flex:1 1 auto}.csv-map-table select{min-width:140px}.csv-preview-wrap{max-height:56vh}}@media (max-width:900px){.topbar:has(#importCsvBtn:not([hidden]))>div:first-child{flex-basis:100%}#importCsvBtn:not([hidden]){margin-left:auto}#importCsvBtn:not([hidden])~.btn.primary{margin-left:0}}[hidden]{display:none!important}.boot{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:var(--bg);z-index:50}.boot-mark{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;font-family:Georgia,serif;font-size:30px;font-weight:700;color:#e4c98f;background:linear-gradient(180deg,#123d38,#1b5148);animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.55}50%{opacity:1}}.auth-gate{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:20px;background:linear-gradient(180deg,#123d38,#1b5148 58%,#123d38)}.auth-card{width:100%;max-width:400px;background:var(--panel);border-radius:var(--radius);padding:28px 26px 22px;box-shadow:0 24px 60px #00000047}.auth-brand{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:center;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line)}.auth-brand .brand-mark{width:42px;height:42px;border:1px solid rgba(30,93,83,.35);border-radius:13px;display:grid;place-items:center;font-family:Georgia,serif;font-size:25px;font-weight:700;color:#1e5d53;background:var(--accent2);box-shadow:none}.auth-brand strong{display:block;font-size:18px;letter-spacing:.12em}.auth-brand span{display:block;margin-top:4px;font-size:10px;opacity:.6;letter-spacing:.13em}.auth-form h2{margin:0 0 16px;font-size:20px;letter-spacing:-.02em}.auth-form label{display:block;font-size:12px;color:var(--muted);font-weight:700;margin:12px 0 5px}.auth-form input{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:#fff}.auth-form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent2)}.btn.block{width:100%;margin-top:18px;padding:12px}.btn[disabled]{opacity:.55;cursor:progress}.auth-hint{font-size:12px;color:var(--muted);margin:6px 0 0}.auth-links{display:flex;justify-content:space-between;gap:10px;margin-top:14px;flex-wrap:wrap}.linkbtn{background:none;border:0;padding:0;color:var(--accent);font-weight:700;font-size:13px;cursor:pointer}.linkbtn:hover{text-decoration:underline}.auth-msg{padding:11px 13px;border-radius:11px;font-size:13px;font-weight:650;margin-bottom:4px}.auth-msg.error{background:#fdecec;border:1px solid #f0c9c9;color:var(--danger)}.auth-msg.info{background:var(--accent2);border:1px solid #c6ddd6;color:#1a4d45}.auth-langs{display:flex;gap:6px;justify-content:center;margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}.auth-langs button{background:none;border:1px solid var(--line);border-radius:8px;padding:5px 9px;font-size:11px;font-weight:800;color:var(--muted);cursor:pointer}.auth-langs button.on{background:var(--accent);border-color:var(--accent);color:#fff}.session-email{font-size:11px;opacity:.8;word-break:break-all;margin-bottom:8px}.linkbtn.logout{color:#e4c98f}.sync-badge{font-size:11px;font-weight:800;padding:5px 9px;border-radius:99px;background:var(--accent2);color:#1a4d45}.panel.placeholder{padding:34px;text-align:center;color:var(--muted);font-weight:700;border:1px dashed var(--line);box-shadow:none;background:#fafbfa}.account-panel{padding:24px;max-width:520px}.account-panel h3{margin:0 0 16px;font-size:18px}.account-facts{display:grid;grid-template-columns:150px 1fr;gap:9px 14px;margin:0 0 20px;font-size:14px}.account-facts dt{color:var(--muted);font-weight:700;font-size:12px;align-self:center}.account-facts dd{margin:0}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;word-break:break-all}.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:var(--ink);color:#fff;padding:11px 17px;border-radius:11px;font-weight:700;font-size:14px;transition:.22s ease;z-index:60;max-width:90vw;text-align:center}.toast.show{opacity:1;transform:translate(-50%)}.foot-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.app-langs{display:flex;gap:4px}.app-langs button{background:none;border:1px solid rgba(228,201,143,.25);border-radius:7px;padding:3px 6px;font-size:10px;font-weight:800;color:#dbeae6;cursor:pointer;opacity:.7}.app-langs button:hover{opacity:1}.app-langs button.on{background:#e4c98fe6;border-color:transparent;color:#173b35;opacity:1}a.btn{display:block;text-align:center;text-decoration:none}
