:root,[data-theme=light]{--done-line: #b0b0c6;--badge: #b42328;--surface: #ffffff;--page: #f0f2f5;--surface-2: #f6f7fa;--surface-3: #f3f4f6;--line-soft: #f3f4f6;--line: #e9ebf0;--line-strong: #e5e7eb;--text: #14161a;--text-2: #374151;--muted: #5b6472;--faint: #6f7787;--teal-ink: #047857;--teal-ink-2: #065f46;--teal-soft: #d1fae5;--teal-mid: #a7f3d0;--blue: #4f6ef0;--blue-ink: #3a55cc;--blue-soft: #eef2ff;--blue-mid: #dbe3ff;--blue-deep: #1e2b6b;--violet: #7c3aed;--violet-soft: #f3e8ff;--violet-mid: #e9d5ff;--violet-ink: #4c1d95;--violet-soft-2: #faf5ff;--red: #c81e1e;--red-soft: #fee2e2;--red-line: #fecaca;--red-mid: #fecaca;--red-ink: #7f1d1d;--amber: #b45309;--amber-soft: #fef3c7;--amber-line: #fde68a;--amber-ink: #92400e;--navy: #0284c7;--navy-soft: #e0f2fe;--navy-mid: #bae6fd;--navy-ink: #075985}[data-theme=dark]{--done-line: #5b5b66;--badge: #dc2626;--surface: #1c1c1f;--page: #111113;--surface-2: #232327;--surface-3: #2a2a2f;--line-soft: #2a2a2f;--line: #2c2c31;--line-strong: #34343a;--text: #f3f4f6;--text-2: #d1d5db;--muted: #9ca3af;--faint: #8b8b96;--teal-ink: #34d399;--teal-ink-2: #6ee7b7;--teal-soft: rgba(5, 150, 105, .18);--teal-mid: rgba(5, 150, 105, .3);--blue: #8da6fc;--blue-ink: #b9c7fd;--blue-soft: rgba(110, 142, 251, .14);--blue-mid: rgba(110, 142, 251, .26);--blue-deep: #dbe3ff;--violet: #c4b5fd;--violet-soft: rgba(124, 58, 237, .18);--violet-mid: rgba(124, 58, 237, .3);--violet-ink: #ede9fe;--violet-soft-2: rgba(124, 58, 237, .1);--red: #f87171;--red-soft: rgba(220, 38, 38, .18);--red-line: rgba(220, 38, 38, .4);--red-mid: rgba(220, 38, 38, .3);--red-ink: #fecaca;--amber: #fbbf24;--amber-soft: rgba(217, 119, 6, .18);--amber-line: rgba(217, 119, 6, .4);--amber-ink: #fde68a;--navy: #38bdf8;--navy-soft: rgba(2, 132, 199, .18);--navy-mid: rgba(2, 132, 199, .3);--navy-ink: #bae6fd;color-scheme:dark}html:has([data-theme=dark]),body:has([data-theme=dark]){background:#111113;color-scheme:dark}:root,[data-theme=light]{--d-page: #f0f2f5;--d-on-page-muted: #7a7a7a;--d-glow: radial-gradient(900px 460px at 62% 34%, rgba(140, 163, 255, .34), transparent 62%), radial-gradient(700px 420px at 12% 88%, rgba(178, 162, 255, .26), transparent 62%), radial-gradient(620px 320px at 94% 92%, rgba(255, 175, 175, .16), transparent 60%);--d-glass: linear-gradient(140deg, rgba(255, 255, 255, .74), rgba(255, 255, 255, .4));--d-glass-border: rgba(255, 255, 255, .65);--d-glass-shadow: 0 18px 44px rgba(72, 86, 140, .1);--d-surface: #ffffff;--d-surface-2: #f6f7fa;--d-text: #14161a;--d-divider: #e9ebf0;--d-n100: #f9fafb;--d-n200: #f3f4f6;--d-n300: #e5e7eb;--d-n400: #d1d5db;--d-n600: #9ca3af;--d-n700: #6b7280;--d-n800: #374151;--d-accent: #6e8efb;--d-a100: #eef2ff;--d-a200: #dbe3ff;--d-a400: #8da6fc;--d-a600: #4f6ef0;--d-a700: #3a55cc;--d-a800: #2b3f99;--d-ink: #1a1a1a;--d-on-ink: #ffffff;--d-ink-panel: #17181c;--d-on-ink-panel: #ffffff;--d-on-ink-panel-muted: rgba(255, 255, 255, .55);--d-nav-text: #5b6472;--d-nav-strong: #14161a;--d-nav-active: #ffffff;--d-nav-divider: rgba(20, 25, 45, .08);--d-shadow-sm: 0 1px 3px rgba(20, 25, 45, .04);--d-shadow-md: 0 2px 6px rgba(20, 25, 45, .04), 0 12px 28px rgba(20, 25, 45, .06);--d-info-bg: #e0f2fe;--d-info-fg: #0284c7;--d-success-bg: #d1fae5;--d-success-fg: #047857;--d-warning-bg: #fef3c7;--d-warning-fg: #b45309;--d-danger-bg: #fee2e2;--d-danger-fg: #c81e1e;--d-neutral-bg: #f3f4f6;--d-neutral-fg: #4b5563;--d-n500: #b4b9c2;--d-n900: #111827;--d-a300: #b9c7fd;--d-a900: #1e2b6b;--d-a2-100: #e0f2fe;--d-a2-700: #0284c7;--d-a2-800: #075985;--d-tan: #f59e0b;--d-tan-soft: #fef3c7;--d-ink-hover: #000000;--d-sidebar-hover: rgba(255, 255, 255, .72);--d-glass-blur: blur(26px) saturate(150%);--d-shadow-lg: 0 4px 10px rgba(20, 25, 45, .06), 0 18px 40px rgba(20, 25, 45, .1);--d-shadow-accent: 0 6px 18px rgba(110, 142, 251, .3);--d-radius-sm: 10px;--d-radius-md: 14px;--d-radius-lg: 20px;--d-radius-xl: 28px}[data-theme=dark]{--d-page: #111113;--d-on-page-muted: #9ca3af;--d-glow: radial-gradient(900px 460px at 62% 34%, rgba(88, 110, 205, .22), transparent 62%), radial-gradient(700px 420px at 12% 88%, rgba(120, 100, 200, .18), transparent 62%), radial-gradient(620px 320px at 94% 92%, rgba(190, 110, 110, .12), transparent 60%);--d-glass: linear-gradient(140deg, rgba(40, 42, 50, .78), rgba(28, 28, 33, .52));--d-glass-border: rgba(255, 255, 255, .08);--d-glass-shadow: 0 18px 44px rgba(0, 0, 0, .45);--d-surface: #1c1c1f;--d-surface-2: #232327;--d-text: #f3f4f6;--d-divider: #2c2c31;--d-n100: #232327;--d-n200: #2a2a2f;--d-n300: #34343a;--d-n400: #45454c;--d-n600: #80808a;--d-n700: #9ca3af;--d-n800: #d1d5db;--d-a100: rgba(110, 142, 251, .14);--d-a200: rgba(110, 142, 251, .26);--d-a600: #8da6fc;--d-a700: #8da6fc;--d-a800: #b9c7fd;--d-ink: #f3f4f6;--d-on-ink: #111113;--d-ink-panel: #0a0a0c;--d-nav-text: #80808a;--d-nav-strong: #f3f4f6;--d-nav-active: #26262c;--d-nav-divider: rgba(255, 255, 255, .08);--d-shadow-sm: 0 1px 3px rgba(0, 0, 0, .35);--d-shadow-md: 0 2px 6px rgba(0, 0, 0, .35), 0 12px 28px rgba(0, 0, 0, .4);--d-info-bg: rgba(56, 189, 248, .15);--d-info-fg: #7dd3fc;--d-success-bg: rgba(16, 185, 129, .15);--d-success-fg: #34d399;--d-warning-bg: rgba(245, 158, 11, .15);--d-warning-fg: #fbbf24;--d-danger-bg: rgba(239, 68, 68, .15);--d-danger-fg: #f87171;--d-neutral-bg: #2a2a2f;--d-neutral-fg: #d1d5db;--d-n500: #5c5c64;--d-n900: #f3f4f6;--d-a300: #b9c7fd;--d-a900: #dbe3ff;--d-a2-100: rgba(59, 130, 246, .15);--d-a2-700: #60a5fa;--d-a2-800: #93c5fd;--d-tan: #f59e0b;--d-tan-soft: rgba(245, 158, 11, .15);--d-ink-hover: #ffffff;--d-sidebar-hover: rgba(255, 255, 255, .06);--d-shadow-lg: 0 4px 10px rgba(0, 0, 0, .4), 0 18px 40px rgba(0, 0, 0, .5)}html[data-theme=dark]{--primary: #34d399;--primary-hover: #6ee7b7;--on-primary: #052e1f}:root{--hl-soft: var(--teal-soft);--hl-mid: var(--teal-mid);--hl: var(--d-success-fg);--hl-ink: var(--teal-ink);--primary: var(--teal-ink);--primary-hover: #065f46;--on-primary: #ffffff;--radius-card: 20px;--radius-ctl: 12px;--font: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);-webkit-font-smoothing:antialiased;background:var(--d-glow),var(--page);background-attachment:fixed;color:var(--text);font-size:14px;line-height:1.45}button{cursor:pointer;font:inherit;color:inherit}input,select,textarea,button{font-family:inherit}a{color:var(--hl-ink);text-decoration:none}a:hover{color:var(--primary-hover)}h1{font-size:26px;margin:0;font-weight:700;letter-spacing:-.01em}h2{font-size:16px;margin:0 0 10px;font-weight:700}.muted{color:var(--muted)}.small{font-size:12px}.splash{display:grid;place-items:center;height:100%;color:var(--muted)}.shell{display:flex;min-height:100%}.sidebar-wrap{width:240px;flex:none;transition:width .16s ease}.sidebar-wrap.is-collapsed{width:72px}.sidebar{width:100%;position:sticky;top:0;height:100vh;overflow:visible;padding:22px 14px 16px;display:flex;flex-direction:column;color:var(--d-nav-strong)}.brand{display:flex;align-items:center;gap:12px;padding-left:8px;margin-bottom:32px;color:inherit}.brand:hover{color:inherit}.brand-mark{width:34px;height:34px;border-radius:10px;background:var(--primary);color:var(--on-primary);display:grid;place-items:center;font-weight:700;font-size:15px;flex:none}.brand-name{font-size:15px;font-weight:600;line-height:1.25;letter-spacing:-.01em}.brand-sub{font-size:10px;color:var(--d-nav-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.nav{display:flex;flex-direction:column;gap:4px;margin-bottom:24px}.nav-item{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:14px;font-size:13px;font-weight:500;color:var(--d-nav-text)}.nav-item:hover{color:var(--d-nav-strong);background:var(--d-sidebar-hover)}.nav-item.active{font-weight:600;color:var(--d-nav-strong);background:var(--d-nav-active);box-shadow:var(--d-shadow-sm)}.nav-badge{margin-left:auto;font-size:10px;font-weight:700;padding:2px 7px;border-radius:10px;background:var(--d-danger-bg);color:var(--d-danger-fg)}.sidebar-foot{margin-top:auto}.prefs{display:flex;align-items:center;gap:8px;margin-bottom:14px}.theme-btn{width:38px;height:38px;border-radius:999px;border:0;background:var(--d-surface);box-shadow:var(--d-shadow-sm);color:var(--d-text);display:grid;place-items:center;flex:none}.lang-switch{flex:1;display:flex;gap:2px;padding:3px;border-radius:999px;background:var(--d-surface);box-shadow:var(--d-shadow-sm)}.lang-switch button{flex:1 1 0;height:32px;border-radius:999px;border:0;background:transparent;font-size:12px;font-weight:600;color:var(--d-n700);padding:0 8px}.lang-switch button.on{background:var(--primary);color:var(--on-primary)}.me{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:16px;border-top:1px solid var(--d-nav-divider)}.me-who{display:flex;align-items:center;gap:10px;min-width:0}.avatar{width:34px;height:34px;border-radius:50%;flex:none;background:var(--d-surface);color:var(--d-text);box-shadow:var(--d-shadow-sm);display:grid;place-items:center;font-size:12px;font-weight:600}.me-name{font-size:12px;font-weight:500;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.me-role{font-size:10px;line-height:1.3;color:var(--d-nav-text)}.logout{width:30px;height:30px;border-radius:8px;border:0;background:transparent;color:var(--d-nav-text);display:grid;place-items:center}.logout:hover{color:var(--d-nav-strong);background:var(--d-sidebar-hover)}.main{flex:1;min-width:0}.tabbar{display:none}.link-btn{background:none;border:0;padding:0;color:var(--hl-ink);font-weight:600}.link-btn.danger{color:var(--red)}.page{padding:24px 32px 40px;max-width:1280px}.page-wide{max-width:none;padding:24px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.page-head h1 .muted{font-weight:500}.page-sub{font-size:13px;color:var(--muted);margin-top:2px}.page-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:16px 18px;margin-bottom:16px}.card.narrow{max-width:420px}.card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.card-head h2{margin:0}.two-col{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:16px;align-items:start}.two-col>.card{margin-bottom:0}.stack{display:flex;flex-direction:column;gap:16px}.stack>.card{margin-bottom:0}.count{display:inline-block;font-size:12px;font-weight:700;padding:2px 8px;margin-left:6px;border-radius:20px;background:var(--surface-3);color:var(--text-2)}.empty{padding:16px 4px;color:var(--muted);font-size:13px}.banner{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;margin-bottom:16px;background:var(--amber-soft);border:1px solid var(--amber-line);color:var(--text);font-size:14px}.banner:before{content:"";width:10px;height:10px;border-radius:5px;background:var(--amber);flex:none}.banner>span{flex:1}.banner a,.banner .btn-link{font-weight:600;color:var(--amber)}.banner-red{background:var(--red-soft);border-color:var(--red-line)}.banner-red:before{background:var(--red)}.banner-red a{color:var(--red)}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:16px;display:flex;flex-direction:column;gap:6px;min-width:0}.kpi span{font-size:13px;color:var(--muted)}.kpi b{font-size:clamp(20px,2vw,28px);font-weight:700;line-height:1;letter-spacing:-.01em;white-space:nowrap}.kpi b small{font-size:14px;color:var(--muted);font-weight:500}.kpi b.kpi-money{font-size:clamp(18px,1.7vw,24px);line-height:1.3;display:flex;align-items:baseline;gap:6px}.kpi b.kpi-money small{font-size:12px}.kpi em{font-style:normal;font-size:12px;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:40px;border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--radius-ctl);padding:0 16px;font-size:14px;font-weight:600;white-space:nowrap;color:var(--text)}.btn:hover{background:var(--surface-2);color:var(--text)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.btn-primary:hover{background:var(--primary-hover);color:var(--on-primary)}.btn-danger{background:var(--surface);border-color:var(--red-line);color:var(--red)}.btn-danger:hover{background:var(--red-soft);color:var(--red)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-2)}.btn-ghost:hover{background:var(--surface-3)}.btn-sm{height:32px;padding:0 12px;font-size:13px;border-radius:8px}.btn-block{width:100%}.icon-btn{width:32px;height:32px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--text-2);font-size:16px;line-height:1;display:inline-grid;place-items:center;flex:none}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.input{width:100%;height:40px;padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--radius-ctl);background:var(--surface);color:var(--text);font-size:14px}textarea.input{height:auto;padding:10px 12px;resize:vertical}.input:focus{outline:2px solid var(--primary);outline-offset:-1px;border-color:transparent}.input-missing{border-color:var(--red-line);background:var(--red-soft)}.input-sm{height:32px;padding:0 10px;max-width:170px;font-size:13px;border-radius:8px}.input-xs{max-width:76px}.input-auto,.input-date{width:auto}.field{display:flex;flex-direction:column;gap:4px}.field-label{font-size:12px;font-weight:600;color:var(--muted)}.field-hint{font-size:12px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.section-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:18px 0 8px}.check{display:inline-flex;gap:8px;align-items:center;font-weight:500}.check input{width:16px;height:16px}.row-end{display:flex;justify-content:flex-end;gap:8px;margin-top:14px;flex-wrap:wrap}.inline-form{display:flex;gap:8px;align-items:center}.inline-form.wrap{flex-wrap:wrap}.lab{display:flex;flex-direction:column;gap:2px;flex:1;min-width:120px}.lab .input,.inline-form .lab .input,.inline-form .lab .input-xs{width:100%;min-width:0;flex:none;max-width:none}.lab:has(.input-xs){flex:0 0 90px;min-width:70px}.inline-form:has(.lab){align-items:flex-end}.company-split{margin-top:8px}.cash-collect .cash-row{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;align-items:end}.inline-form .input{flex:1;min-width:120px}.inline-form .input-xs{flex:0 0 76px;min-width:0}.inline-form .input-auto{flex:0 0 auto}fieldset.plain{border:0;padding:0;margin:0}.seg{display:inline-flex;gap:6px}.seg button{height:36px;padding:0 12px;border-radius:8px;font-size:13px;font-weight:600;border:1px solid var(--line-strong);background:var(--surface);color:var(--text-2)}.seg button:hover{background:var(--surface-2)}.seg button.on{border-color:var(--primary);background:var(--hl-soft);color:var(--hl-ink)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;gap:6px;align-items:center;height:36px;padding:0 12px;border:1px solid var(--line-strong);background:var(--surface);border-radius:12px;font-size:13px;font-weight:600;color:var(--text-2)}a.chip:hover,button.chip:hover{background:var(--surface-2);color:var(--text)}.chip small{color:var(--muted);font-weight:500}.chip.on{border-color:var(--primary);background:var(--hl-soft);color:var(--hl-ink)}.chip.on small{color:var(--hl-ink)}.chip-bad.on{border-color:var(--red-line);background:var(--red-soft);color:var(--red)}.chip-off{opacity:.45;text-decoration:line-through}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.filters .input:first-child{flex:1;min-width:240px;max-width:360px}.error-line{color:var(--red);background:var(--red-soft);border:1px solid var(--red-line);padding:8px 12px;border-radius:12px;margin:10px 0;font-size:13px}.warn-line{color:var(--amber-ink);background:var(--amber-soft);border:1px solid var(--amber-line);padding:8px 12px;border-radius:12px;margin:8px 0;font-size:13px}[data-theme=dark] .warn-line{color:var(--amber)}.badge{display:inline-block;padding:3px 8px;border-radius:20px;font-size:12px;font-weight:700;margin-left:6px;vertical-align:middle;white-space:nowrap}.drawer-meta .badge,td .badge:first-child,.badge.first{margin-left:0}.st-tentative{background:var(--amber-soft);color:var(--amber)}.st-confirmed{background:var(--hl-soft);color:var(--hl-ink)}.st-checked_in{background:var(--blue-soft);color:var(--blue-ink)}.st-checked_out{background:var(--surface-3);color:var(--text-2)}.st-cancelled,.st-no_show{background:var(--red-soft);color:var(--red)}.src{display:inline-block;font-size:12px;font-weight:600;padding:3px 8px;border-radius:20px;white-space:nowrap}.src-desk{background:var(--hl-soft);color:var(--hl-ink)}.src-site{background:var(--blue-soft);color:var(--blue-ink)}.src-ota{background:var(--navy-soft);color:var(--navy)}.src-operator{background:var(--violet-soft);color:var(--violet)}.src-airbnb{background:var(--red-soft);color:var(--red)}.src-other{background:var(--surface-3);color:var(--text-2)}.hk-clean{background:var(--hl-soft);color:var(--hl-ink)}.hk-dirty{background:var(--red-soft);color:var(--red)}.hk-inspected{background:var(--amber-soft);color:var(--amber)}.hk-out_of_order{background:var(--surface-3);color:var(--muted)}.pay-paid{color:var(--hl-ink);font-weight:600}.pay-part{color:var(--amber);font-weight:600}.pay-none{color:var(--red);font-weight:600}.list-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:8px 4px;border:0;border-bottom:1px solid var(--line-soft);background:transparent;font-size:14px;color:var(--text)}button.list-row:hover{background:var(--surface-2)}.list-row:last-child{border-bottom:0}.grow{flex:1;min-width:0}.room-pill{flex:none;min-width:40px;font-weight:600;font-variant-numeric:tabular-nums}.owe-pill{color:var(--red);font-weight:600;font-size:13px;white-space:nowrap}.late{color:var(--red);font-size:12px;font-weight:700;white-space:nowrap}.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);margin-bottom:16px}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;font-size:12px;color:var(--muted);font-weight:600;padding:12px 14px 8px;border-bottom:1px solid var(--line-soft);white-space:nowrap}.table td{padding:10px 14px;border-bottom:1px solid var(--line-soft);vertical-align:middle}.table tr:last-child td{border-bottom:0}.table.clickable tbody tr{cursor:pointer}.table.clickable tbody tr:hover{background:var(--surface-2)}.dash-table{width:100%;border-collapse:collapse;font-size:14px}.dash-table th{text-align:left;font-size:12px;font-weight:600;color:var(--muted);padding:0 4px 6px;border-bottom:1px solid var(--line-soft)}.dash-table td{padding:8px 4px;border-bottom:1px solid var(--line-soft);vertical-align:middle}.dash-table tr:last-child td{border-bottom:0}.dash-table .who{display:flex;flex-direction:column}.dash-table .who b{font-weight:600}.dash-table .who span{font-size:12px;color:var(--muted)}.dash-table .go{text-align:right}.dash-table .go button{background:none;border:0;padding:0;font-size:13px;font-weight:600;color:var(--hl-ink)}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}td.owe,.owe{color:var(--red)}.over{color:var(--hl-ink)}td.act{width:40px;text-align:right}.pager{display:flex;gap:10px;align-items:center;justify-content:center}.kv{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--line-soft);font-size:14px}.kv:last-child{border-bottom:0}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#12162052;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;z-index:50;padding:16px}.overlay-right{place-items:stretch end;padding:0;grid-template-columns:auto}.modal{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-card);width:100%;max-width:520px;min-width:0;max-height:calc(100vh - 32px);display:flex;flex-direction:column;box-shadow:0 10px 30px #121f3029}.modal-wide{max-width:820px}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line-soft)}.modal-head h2{margin:0;font-size:18px}.modal-body{padding:16px 20px;overflow-y:auto}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--line-soft)}.drawer{background:var(--surface);width:min(760px,100vw);height:100vh;display:flex;flex-direction:column;border-left:1px solid var(--line-strong);box-shadow:0 10px 30px #121f3029;animation:slide .16s ease-out}@keyframes slide{0%{transform:translate(30px);opacity:.6}to{transform:none;opacity:1}}.drawer-head{padding:18px 20px 12px;border-bottom:1px solid var(--line)}.drawer-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.drawer-title h2{font-size:22px;margin:4px 0 8px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.drawer-title h2 a{color:var(--text)}.drawer-meta{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;color:var(--text-2);font-size:13px}.drawer-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;align-items:center}.drawer-print{margin-top:10px;font-size:12px;color:var(--muted)}.drawer-print a{font-weight:600}.drawer-head .inline-form{margin-top:12px}.drawer-body{padding:16px 20px 40px;overflow-y:auto;flex:1}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);padding:0 16px}.tabs button{border:0;background:none;padding:10px 12px;font-size:14px;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;display:inline-flex;gap:6px;align-items:center}.tabs button:hover{color:var(--text)}.tabs button.on{color:var(--text);border-bottom-color:var(--primary)}.tabs-page{padding:0;margin-bottom:16px}.dot-alert{width:8px;height:8px;border-radius:50%;background:var(--red)}.tab-num{font-size:11px;color:var(--red);font-weight:700}.totals{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.totals>div{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:10px 14px}.totals span{display:block;font-size:12px;color:var(--muted)}.totals b{font-size:17px;font-variant-numeric:tabular-nums}.totals .owe b{color:var(--red)}.totals .over b{color:var(--hl-ink)}.table.folio td{padding:9px 4px}.table.folio tr.sum td{font-weight:700;border-top:1px solid var(--line);font-size:15px}.table.folio tr.pay td{color:var(--hl-ink)}.guest-card{border:1px solid var(--line);border-radius:16px;padding:14px 16px;margin-bottom:12px}.guest-card-head{display:flex;justify-content:space-between;gap:10px}.guest-card-actions{display:flex;gap:12px;align-items:flex-start}.guest-edit{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line-strong)}.emehmon{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px;padding:10px 12px;border-radius:12px;font-size:13px}.emehmon.ok{background:var(--hl-soft);color:var(--hl-ink)}.emehmon.todo{background:var(--amber-soft);border:1px solid var(--amber-line);color:var(--amber-ink);font-weight:600}[data-theme=dark] .emehmon.todo{color:var(--amber)}.emehmon span{flex:1;min-width:160px}.history{list-style:none;padding:0;margin:0}.history li{padding:9px 0;border-bottom:1px solid var(--line-soft);font-size:14px}.match{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:var(--hl-soft);color:var(--hl-ink);margin-bottom:10px;font-weight:600;font-size:13px}.match-bad{background:var(--red-soft);color:var(--red)}.quote{margin-top:14px;border:1px solid var(--line);border-radius:16px;padding:12px 16px;background:var(--surface-2)}.quote>div{display:flex;justify-content:space-between;padding:3px 0}.quote-total{border-top:1px solid var(--line);margin-top:6px;padding-top:8px!important;font-size:16px}.group-line{margin-bottom:8px}.toasts{position:fixed;right:16px;bottom:16px;display:grid;gap:8px;z-index:100}.toast{padding:11px 16px;border-radius:12px;box-shadow:var(--d-shadow-lg);background:var(--d-ink-panel);color:var(--d-on-ink-panel);max-width:380px;font-weight:500;font-size:14px}.toast-err{background:var(--red);color:#fff}.auth-page{min-height:100%;display:grid;place-items:center;padding:24px 16px}.auth-card,.onboard-card{background:var(--d-glass);-webkit-backdrop-filter:var(--d-glass-blur);backdrop-filter:var(--d-glass-blur);border:1px solid var(--d-glass-border);box-shadow:var(--d-glass-shadow);border-radius:var(--d-radius-xl);padding:28px;width:100%;max-width:420px;display:grid;gap:14px}.onboard-card{max-width:760px}.auth-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.auth-top .lang-switch{flex:0 0 auto}.auth-alt{text-align:center;color:var(--muted);margin:0}.steps{display:flex;gap:16px;list-style:none;padding:0;margin:0;color:var(--muted);font-weight:600}.steps .on{color:var(--text)}.steps .done{color:var(--hl-ink)}.kind-pick{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.kind-pick .chip.on{border-color:var(--primary);background:var(--primary);color:var(--on-primary)}.cat-card{border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:10px;background:var(--surface)}.grid-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.grid-toolbar .spacer{flex:1}.legend{display:flex;flex-wrap:wrap;gap:14px;align-items:center;font-size:12px;color:var(--text-2)}.legend b{font-weight:600}.legend>span{display:inline-flex;align-items:center;gap:6px}.sw{display:inline-block;width:22px;height:12px;border-radius:3px}.grid-wrap{overflow:auto;max-height:calc(100vh - 230px);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);position:relative;margin-top:10px}.grid{position:relative}.grid-row{display:flex;position:relative;border-bottom:1px solid var(--line-soft)}.grid-room{width:150px;flex:none;position:sticky;left:0;z-index:3;background:var(--surface);display:flex;align-items:center;gap:8px;padding:0 12px;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.grid-room .hk-text{font-size:11px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid-room{overflow:hidden}.hk-text.hk-clean,.hk-text.hk-dirty,.hk-text.hk-inspected,.hk-text.hk-out_of_order{background:none}.grid-head{position:sticky;top:0;z-index:5;background:var(--surface-2);border-bottom:1px solid var(--line)}.grid-head .grid-room{z-index:6;background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:600}.grid-day{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border-left:1px solid var(--line-soft);font-variant-numeric:tabular-nums;line-height:1.15;padding:6px 0}.grid-day span{font-size:11px;color:var(--muted)}.grid-day b{font-size:12px;font-weight:600}.grid-day.is-past b{color:var(--faint)}.grid-day.is-weekend{background:var(--surface-3)}.grid-day.is-today{background:var(--hl-soft)}.grid-day.is-today b{color:var(--hl-ink);font-weight:700}.grid-group{display:flex;background:var(--surface-2);border-bottom:1px solid var(--line-soft)}.grid-group .grid-room{background:var(--surface-2);flex-direction:column;align-items:flex-start;justify-content:center;gap:0;padding:6px 12px}.grid-group .grid-room b{font-size:13px;font-weight:700}.grid-group .grid-room span{font-size:11px;color:var(--muted);font-weight:500}.grid-sum{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px 0;border-left:1px solid var(--line-soft);position:relative;z-index:2;background:var(--surface-2)}.grid-sum b{font-size:13px;font-weight:700;color:var(--hl-ink)}.grid-sum b.few{color:var(--amber)}.grid-sum b.none{color:var(--red)}.grid-sum span{font-size:10px;color:var(--muted)}.grid-cell{flex:none;border-left:1px solid var(--line-soft);cursor:cell;background:var(--surface)}.grid-cell.is-past,.grid-cell.is-weekend{background:var(--surface-2)}.grid-cell:hover,.grid-cell.is-hover{background:var(--hl-soft)}.grid-row.is-ooo .grid-cell{background:repeating-linear-gradient(45deg,var(--line) 0 3px,var(--surface-2) 3px 6px)}.today-line{position:absolute;top:0;bottom:0;width:2px;background:var(--primary);opacity:.55;pointer-events:none;z-index:1}.bar{position:absolute;top:4px;height:30px;border-radius:7px;z-index:2;padding:0 8px;display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;cursor:pointer;overflow:hidden;white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid transparent;text-align:left}.bar:hover{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 30%,transparent)}.bar-dot{width:7px;height:7px;border-radius:50%;flex:none}.bar-name{overflow:hidden;text-overflow:ellipsis}.bar-flag{background:var(--red);color:#fff;border-radius:50%;width:16px;height:16px;display:grid;place-items:center;font-size:11px;flex:none}.bar.s-desk{--b-fill: var(--teal-soft);--b-strong: var(--teal-mid);--b-line: var(--d-success-fg);--b-ink: var(--teal-ink-2)}.bar.s-site{--b-fill: var(--blue-soft);--b-strong: var(--blue-mid);--b-line: var(--blue);--b-ink: var(--blue-deep)}.bar.s-ota{--b-fill: var(--navy-soft);--b-strong: var(--navy-mid);--b-line: var(--navy);--b-ink: var(--navy-ink)}.bar.s-operator{--b-fill: var(--violet-soft);--b-strong: var(--violet-mid);--b-line: var(--violet);--b-ink: var(--violet-ink)}.bar.s-airbnb{--b-fill: var(--red-soft);--b-strong: var(--red-mid);--b-line: var(--red);--b-ink: var(--red-ink)}.bar.s-other{--b-fill: var(--surface-3);--b-strong: var(--line-strong);--b-line: var(--faint);--b-ink: var(--text-2)}.bar{color:var(--b-ink)}.bar.st-tentative{background:repeating-linear-gradient(135deg,var(--b-fill) 0 6px,var(--surface) 6px 12px);border:1px dashed var(--b-line)}.bar.st-confirmed{background:var(--b-fill);border:1px solid var(--b-line)}.bar.st-checked_in{background:var(--b-strong);border:2px solid var(--b-line)}.bar.st-checked_out{background:var(--surface-3);border:1px solid var(--done-line);color:var(--text-2)}.legend .sw.st-tentative{border:1px dashed var(--violet);background:repeating-linear-gradient(135deg,var(--violet-soft) 0 4px,var(--surface) 4px 8px)}.legend .sw.st-confirmed{border:1px solid var(--violet);background:var(--violet-soft)}.legend .sw.st-checked_in{border:2px solid var(--violet);background:var(--violet-mid)}.legend .sw.st-checked_out{border:1px solid var(--done-line);background:var(--surface-3)}.sw-desk{background:var(--hl-soft);border:1px solid var(--hl)}.sw-site{background:var(--blue-soft);border:1px solid var(--blue)}.sw-ota{background:var(--navy-soft);border:1px solid var(--navy)}.sw-operator{background:var(--violet-soft);border:1px solid var(--violet)}.sw-airbnb{background:var(--red-soft);border:1px solid var(--red)}.legend .sw.ooo{background:repeating-linear-gradient(45deg,var(--line) 0 3px,var(--surface-2) 3px 6px)}.grid-foot{position:sticky;bottom:0;z-index:4;background:var(--surface-2);border-top:1px solid var(--line)}.grid-foot .grid-room{background:var(--surface-2);color:var(--muted);font-size:12px}.grid-foot .grid-day{font-weight:700;font-size:13px;color:var(--hl-ink)}.grid-foot .grid-day.is-full{color:var(--red)}.hk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.hk-tile{border:1px solid var(--line);border-radius:16px;padding:14px 10px;min-height:96px;background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--text)}.hk-tile b{font-size:22px;font-weight:700}.hk-tile>span{font-size:12px;font-weight:700;padding:2px 8px;border-radius:20px}.hk-tile small{font-size:11px;color:var(--muted)}.hk-tile.hk-clean>span{background:var(--hl-soft);color:var(--hl-ink)}.hk-tile.hk-dirty{border-color:var(--red-line)}.hk-tile.hk-dirty>span{background:var(--red-soft);color:var(--red)}.hk-tile.hk-inspected>span{background:var(--amber-soft);color:var(--amber)}.hk-tile.hk-out_of_order{background:repeating-linear-gradient(45deg,var(--surface-2) 0 6px,var(--surface) 6px 12px)}.hk-tile.hk-out_of_order>span{background:var(--surface-3);color:var(--muted)}.hk-tile.hk-clean,.hk-tile.hk-inspected{background:var(--surface)}.hk-note{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hk-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.hk-btn{height:48px;font-size:15px;border:1px solid var(--line-strong);border-radius:12px;font-weight:600}.spark{display:flex;align-items:flex-end;gap:4px;height:120px;padding-bottom:18px}.spark-col{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;position:relative}.spark-bar{background:var(--hl-mid);border-radius:4px}.spark-bar.hi,.spark-bar.today{background:var(--primary)}.spark-col span{position:absolute;bottom:-18px;left:0;white-space:nowrap;font-size:10px;color:var(--muted)}.hbar{display:grid;grid-template-columns:120px 1fr auto;gap:10px;align-items:center;padding:6px 0;font-size:14px}.hbar-track{height:10px;background:var(--surface-3);border-radius:5px;overflow:hidden}.hbar-track i{display:block;height:100%;background:var(--hl-mid);border-radius:5px}.hbar:hover .hbar-track i{background:var(--primary)}.hbar-val{font-variant-numeric:tabular-nums;font-size:13px;white-space:nowrap}.print-page{max-width:780px;margin:0 auto;padding:28px;background:#fff;color:#000;font-size:13px;min-height:100%}.print-sheet{page-break-after:always;margin-bottom:40px}.print-sheet:last-child{page-break-after:auto}.print-head{display:flex;justify-content:space-between;border-bottom:2px solid #000;padding-bottom:10px;margin-bottom:16px}.print-head h2{margin:0 0 4px;font-size:18px}.print-right{text-align:right}.print-page h1{font-size:18px;margin:10px 0 14px}.print-table{width:100%;border-collapse:collapse;margin:10px 0}.print-table th,.print-table td{border:1px solid #999;padding:6px 8px;text-align:left}.print-table .num{text-align:right}.print-page th,.print-page td,.print-page .small{color:#000;background:transparent}.print-page .kv-table th{background:#f3f3f3}.kv-table th{width:40%;background:var(--surface-3);font-weight:600}.signs{display:flex;justify-content:space-between;margin-top:40px}@media print{.kv-table th{background:#f3f3f3}body{background:#fff}.print-page{padding:0;max-width:none}}@media(max-width:1100px)and (min-width:750px){.two-col{grid-template-columns:1fr}.page{padding:20px 20px 40px}}@media(max-width:749px){.sidebar-wrap{display:none}.main{padding-bottom:86px}.sticky-foot{bottom:78px}.tabbar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--surface);border-top:1px solid var(--line);padding:8px 10px calc(14px + env(safe-area-inset-bottom))}.tab{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;font-weight:500;color:var(--muted);position:relative}.tab:hover{color:var(--text)}.tab .tab-pill{position:relative;width:56px;height:32px;border-radius:20px;display:grid;place-items:center}.tab.active{color:var(--hl-ink);font-weight:700}.tab.active .tab-pill{background:var(--hl-soft)}.tab-badge{position:absolute;top:-2px;right:6px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--badge);color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center}.page,.page-wide{padding:16px 16px 24px}.two-col{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi{padding:14px;gap:4px}.drawer{width:100vw}.grid-wrap{max-height:calc(100vh - 260px)}.hbar{grid-template-columns:90px 1fr}.hbar-val{grid-column:2}.page-head{margin-bottom:14px}.filters .input:first-child{max-width:none}}.ph-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 16px 10px}.ph-head .ph-sub{font-size:12px;color:var(--muted)}.ph-plus{width:44px;height:44px;border-radius:20px;background:var(--primary);color:var(--on-primary);border:0;display:grid;place-items:center;flex:none}.ph-body{padding:4px 16px 16px;display:flex;flex-direction:column;gap:12px}.ph-alert{display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:20px;width:100%;text-align:left;background:var(--amber-soft);border:1px solid var(--amber-line);color:var(--text);font-size:14px;line-height:1.4}.ph-alert svg{color:var(--amber);flex:none}.ph-section{display:flex;justify-content:space-between;align-items:center;padding-top:4px}.ph-section h2{margin:0;font-size:17px}.ph-section a,.ph-section button{font-size:14px;font-weight:600;color:var(--hl-ink);background:none;border:0;padding:0}.ph-list{background:var(--surface);border:1px solid var(--line);border-radius:20px;overflow:hidden}.ph-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border:0;border-bottom:1px solid var(--line-soft);background:transparent;width:100%;text-align:left;color:var(--text)}.ph-row:last-child{border-bottom:0}.ph-row .ph-main{display:flex;flex-direction:column;flex:1;min-width:0}.ph-row .ph-main b{font-size:15px;font-weight:600}.ph-row .ph-main span{font-size:13px;color:var(--muted)}.ph-row .ph-room{font-size:15px;font-weight:700}.ph-avatar{width:40px;height:40px;flex:none;border-radius:12px;display:grid;place-items:center;font-size:13px;font-weight:700}.av-desk{background:var(--hl-soft);color:var(--hl-ink)}.av-site{background:var(--blue-soft);color:var(--blue-ink)}.av-ota{background:var(--navy-soft);color:var(--navy)}.av-operator{background:var(--violet-soft);color:var(--violet)}.av-airbnb{background:var(--red-soft);color:var(--red)}.av-other{background:var(--surface-3);color:var(--text-2)}.ph-days{display:flex;gap:6px}.ph-day{flex:1 1 0;min-width:0;height:66px;border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border:1px solid var(--line);background:var(--surface);color:var(--text)}.ph-day span{font-size:11px}.ph-day b{font-size:16px;font-weight:700}.ph-day em{font-style:normal;font-size:11px;font-weight:600;color:var(--muted)}.ph-day em.hi{color:var(--red)}.ph-day.on{border-color:var(--primary);background:var(--primary);color:var(--on-primary)}.ph-day.on em{color:var(--on-primary)}.ph-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.ph-card-label{font-size:13px;font-weight:600;color:var(--muted)}.ph-cats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.ph-cat{border-radius:12px;padding:8px 4px;display:flex;flex-direction:column;align-items:center;background:var(--surface-2);min-width:0}.ph-cat span{font-size:12px;font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ph-cat b{font-size:22px;font-weight:700;color:var(--hl-ink)}.ph-cat small{font-size:11px;color:var(--muted)}.ph-cat.none{background:var(--red-soft)}.ph-cat.none b{color:var(--red)}.ph-segs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;border-radius:12px;background:var(--surface-3)}.ph-segs button{height:38px;border-radius:9px;border:0;font-size:14px;font-weight:600;background:transparent;color:var(--muted)}.ph-segs button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #121f301f}.ph-booking{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.ph-booking-top{display:flex;gap:12px;align-items:center}.ph-roomtile{width:48px;height:48px;flex:none;border-radius:12px;display:grid;place-items:center;font-size:15px;font-weight:700;background:var(--surface-3);color:var(--text)}.ph-actions{display:flex;gap:8px}.ph-actions .btn{height:40px}.ph-actions .btn-primary{flex:1}.ph-fab{position:fixed;right:18px;bottom:100px;width:56px;height:56px;border-radius:20px;border:0;z-index:30;background:var(--primary);color:var(--on-primary);display:grid;place-items:center;box-shadow:0 8px 20px #14192d40}.ph-profile{display:flex;align-items:center;gap:12px}.ph-profile .ph-avatar-lg{width:52px;height:52px;border-radius:20px;background:var(--primary);color:var(--on-primary);display:grid;place-items:center;font-weight:700;font-size:18px;flex:none}.ph-group-label{font-size:13px;font-weight:600;color:var(--muted);padding:0 4px}.ph-setting{display:flex;align-items:center;gap:12px;padding:13px 14px;border:0;border-bottom:1px solid var(--line-soft);background:transparent;width:100%;text-align:left;color:var(--text);font-size:15px}.ph-setting:last-child{border-bottom:0}.ph-setting .ph-ico{width:36px;height:36px;flex:none;border-radius:12px;display:grid;place-items:center;background:var(--surface-3);color:var(--text-2)}.ph-setting .ph-ico.hl{background:var(--hl-soft);color:var(--hl-ink)}.ph-setting .ph-main{display:flex;flex-direction:column;flex:1;min-width:0;font-weight:500}.ph-setting .ph-main span{font-size:12px;color:var(--muted);font-weight:400}.ph-switch{width:52px;height:32px;flex:none;border-radius:20px;padding:4px;display:flex;background:var(--line-strong)}.ph-switch.on{justify-content:flex-end;background:var(--primary)}.ph-switch i{width:24px;height:24px;border-radius:12px;background:#fff;display:block}.ph-lang{display:flex;gap:4px;padding:3px;border-radius:12px;background:var(--surface-3)}.ph-lang button{height:32px;min-width:40px;border-radius:8px;border:0;font-size:12px;font-weight:700;background:transparent;color:var(--text-2)}.ph-lang button.on{background:var(--primary);color:var(--on-primary)}.ph-chev{color:var(--muted);flex:none}.grid.is-dragging .bar{pointer-events:none}.bar.overstay{box-shadow:0 0 0 2px var(--red)}.modal.confirm{max-width:460px}.confirm-body,.confirm-lines{display:grid;gap:6px;margin-bottom:12px;color:var(--text-2)}.credit-panel{margin:10px 0 0;padding:10px 12px;border-radius:12px;background:var(--amber-soft);border:1px solid var(--amber-line);display:grid;gap:8px}.note{background:var(--hl-soft);color:var(--hl-ink);border:1px solid var(--line-strong);border-radius:12px;padding:8px 12px;margin:8px 0;font-size:13px}.field-wide{grid-column:1 / -1}.section-title{font-size:15px;margin:18px 0 8px;display:flex;gap:8px;align-items:baseline}.spark-bar.booked{background:var(--teal-mid);position:absolute;bottom:0;left:0;right:0;opacity:.55}.spark-bar.fact{background:var(--primary)}.spark-bar.booked{background:repeating-linear-gradient(135deg,var(--teal-mid) 0 4px,var(--surface) 4px 8px);opacity:1;border:1px solid var(--teal-mid)}.sw-fact{background:var(--primary)}.sw-booked{background:repeating-linear-gradient(135deg,var(--teal-mid) 0 4px,var(--surface) 4px 8px);border:1px solid var(--teal-mid)}.combo{position:relative}.combo-list{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 4px);max-height:260px;overflow-y:auto;margin:0;padding:4px;list-style:none;background:var(--surface);border:1px solid var(--line-strong);border-radius:12px;box-shadow:0 12px 28px #14192d24}.combo-list button{width:100%;text-align:left;padding:7px 10px;border-radius:8px;color:var(--text)}.combo-list button:hover,.combo-list button.on{background:var(--teal-soft)}.combo-list b{display:inline-block;min-width:2.2em;color:var(--muted);font-weight:600}.combo-empty{padding:8px 10px}.date-field{position:relative;display:flex;align-items:center}.date-field>.input{width:100%;padding-right:38px}.date-pick{border:0;background:transparent;position:absolute;right:4px;top:50%;transform:translateY(-50%);width:30px;height:30px;display:grid;place-items:center;color:var(--muted);border-radius:8px}.date-pick:hover{color:var(--teal-ink);background:var(--surface-3)}.pw-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:12px}:root{color-scheme:light}html[data-theme=dark]{color-scheme:dark}.grid-wrap{width:fit-content;max-width:100%}.guest-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.footer-total{margin-right:auto;display:flex;align-items:baseline;gap:8px;color:var(--muted)}.footer-total b{font-size:18px;color:var(--text)}.modal-foot{flex-wrap:wrap}@media(max-width:480px){.footer-total{flex:1 1 100%;margin-right:0}.modal{max-width:calc(100vw - 32px)}}.cash-row{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1.4fr) auto;gap:12px;align-items:center;margin-bottom:12px}.cash-close{margin-top:20px;display:grid;gap:12px}.sticky-foot{position:sticky;bottom:0;z-index:5;display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;margin-top:16px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 -4px 12px #14192d0f}.row-dim{opacity:.55}.pay-refund{color:var(--red)}.pay-in{color:var(--hl-ink)}.card-list{display:grid;gap:10px}.card-list .list-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px 14px;display:grid;gap:4px;text-align:left;width:100%}.row-between{display:flex;justify-content:space-between;align-items:center;gap:8px}.table td .badge{white-space:nowrap}.ph-alert-red{background:var(--red-soft);color:var(--red);border-color:var(--red-line)}.collapse-btn{width:100%;display:flex;align-items:center;gap:10px;padding:9px 12px;margin-bottom:10px;border-radius:12px;color:var(--d-nav-text);font-size:13px;font-weight:500;background:none;border:0}.collapse-btn:hover{color:var(--d-nav-strong);background:var(--d-sidebar-hover)}.lang-cycle{width:38px;height:38px;border-radius:999px;border:0;flex:none;background:var(--primary);color:var(--on-primary);font-size:12px;font-weight:700}.sidebar-wrap.is-collapsed .sidebar{padding:22px 10px 16px}.is-collapsed .brand{padding-left:0;justify-content:center}.is-collapsed .brand>span:last-child,.is-collapsed .nav-item .grow,.is-collapsed .me-who>span:last-child,.is-collapsed .collapse-btn span{display:none}.is-collapsed .nav-item,.is-collapsed .collapse-btn{justify-content:center;padding:11px 0;position:relative}.is-collapsed .nav-badge{position:absolute;top:3px;right:5px;padding:1px 5px}.is-collapsed .prefs,.is-collapsed .me{flex-direction:column;justify-content:center}.is-collapsed .me-who{justify-content:center}.is-collapsed .nav-item,.is-collapsed .collapse-btn,.is-collapsed .theme-btn,.is-collapsed .lang-cycle,.is-collapsed .me-who,.is-collapsed .logout{position:relative}.is-collapsed [data-tip]:hover:after,.is-collapsed [data-tip]:focus-visible:after{content:attr(data-tip);position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);white-space:nowrap;padding:5px 10px;border-radius:8px;background:var(--d-ink-panel);color:#fff;font-size:12px;font-weight:500;z-index:70;pointer-events:none;box-shadow:var(--d-shadow-md)}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#12162047;z-index:55}.sidebar-wrap.is-overlay .sidebar{position:fixed;left:0;top:0;width:240px;z-index:60;background:var(--surface);box-shadow:0 0 40px #00000040}@media(prefers-reduced-motion:reduce){.sidebar-wrap{transition:none}}.type-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.occ-table{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.room-grid{display:flex;flex-wrap:wrap;gap:8px}.room-pill{display:inline-flex;align-items:center;gap:8px;padding:4px 10px 4px 8px;background:var(--surface);border:1px solid var(--line-strong);border-radius:12px;min-height:36px}.room-pill.sel{border-color:var(--primary);background:var(--hl-soft)}.room-pill.off{opacity:.5}.room-pill-main{display:inline-flex;align-items:center;gap:6px;background:none;border:0;font:inherit;color:var(--text);padding:0}.room-pill-main b{font-weight:700}.bed-chip{display:inline-block;padding:1px 6px;border-radius:8px;font-size:11px;font-weight:700;line-height:16px;background:var(--hl-soft);color:var(--hl-ink);vertical-align:middle;margin-left:4px}.room-pill .bed-chip{margin-left:0}.feat-chip{padding:1px 6px;border-radius:8px;font-size:11px;line-height:16px;background:var(--surface-3);color:var(--text-2)}.bulk-bar{position:sticky;top:0;z-index:5;border-color:var(--primary)}.bulk-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.stepper{display:inline-flex;align-items:center;gap:12px}.stepper b{min-width:20px;text-align:center;font-size:16px}.price-basis{margin:6px 0 10px}.grid-room-no{display:inline-flex;align-items:center;gap:2px;font-weight:600}.hk-bedtask{color:var(--amber-ink);font-weight:600}[data-theme=dark] .hk-bedtask{color:var(--amber)}@media(max-width:749px){.occ-table{grid-template-columns:repeat(2,minmax(0,1fr))}.bulk-bar{top:0}}.co-head{display:flex;flex-direction:column;gap:2px;margin-bottom:12px}.co-option{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;margin-top:8px;border:1px solid var(--line-strong);border-radius:12px;cursor:pointer;background:var(--surface)}.co-option.on{border-color:var(--primary);background:var(--hl-soft)}.co-option>span{display:flex;flex-direction:column;gap:2px}.co-balance{margin-top:14px;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:var(--surface-2);display:flex;flex-direction:column;gap:8px}.co-balance.owe{border-color:var(--red-line);background:var(--red-soft);color:var(--red)}.co-balance.over{border-color:var(--amber-line);background:var(--amber-soft)}.move-list{display:flex;flex-direction:column;gap:6px;max-height:320px;overflow-y:auto}.move-row{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface);text-align:left;font:inherit;color:var(--text)}.move-row.on{border-color:var(--primary);background:var(--hl-soft)}.move-row:disabled{opacity:.55;cursor:not-allowed}.move-why{color:var(--red)}.qa-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:14px}.qa-actions{display:flex;flex-wrap:wrap;gap:8px}.qa-actions .btn{flex:1 1 140px}.hk-tile.hk-late{border-color:var(--red-line);box-shadow:inset 0 0 0 1px var(--red-line)}.hk-latetext{color:var(--red);font-weight:600}@media(max-width:749px){.overlay-sheet{place-items:end stretch;padding:0}.modal-sheet{max-width:none;border-radius:20px 20px 0 0;max-height:82vh;padding-bottom:env(safe-area-inset-bottom)}}.pay-rows{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.pay-over{color:var(--red);font-size:13px;font-weight:600}.bal-form{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.pc-nums{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.pc-debt{color:var(--red)}.list-row.on{background:var(--hl-soft)}.pc-booking{cursor:pointer}.pending-card{border-color:var(--amber-line);background:var(--amber-soft)}.cash-top{margin-bottom:14px}.cash-top small{display:block}.cash-collect{margin-top:18px;padding-top:14px;border-top:1px solid var(--line-soft)}.x-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}@media print{.no-print{display:none!important}.x-report .x-grid{grid-template-columns:1fr 1fr}}.getting-started{border-color:var(--primary)}.gs-steps{list-style:none;padding:0;margin:8px 0;display:flex;flex-direction:column;gap:6px}.gs-steps li.done a{color:var(--hl-ink)}.help-btn{position:fixed;right:18px;bottom:18px;z-index:30;width:38px;height:38px;border-radius:50%;border:1px solid var(--line-strong);background:var(--surface);color:var(--text-2);font-weight:700;box-shadow:var(--shadow-sm, 0 2px 8px rgba(0,0,0,.12))}.help-btn:hover{background:var(--hl-soft);color:var(--hl-ink)}.help-block p{margin:4px 0 12px}.help-steps{margin:4px 0 12px;padding-left:20px;display:grid;gap:4px}@media(max-width:749px){.help-btn{bottom:92px;right:12px}}.rc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px;margin-top:12px}.rc-day{display:flex;flex-direction:column;gap:2px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);text-align:left;cursor:pointer;color:inherit}.rc-day b{font-size:13px}.rc-day small{font-size:11px;color:var(--muted);min-height:14px}.rc-day.rc-set{border-color:var(--primary)}.rc-day.rc-stop{background:var(--surface-2);opacity:.65}:root{--shadow-sm: 0 2px 8px rgba(20, 25, 45, .12)}.main,.page{min-width:0}.tabs-page{overflow-x:auto;flex-wrap:nowrap;max-width:100%;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.tabs-page button{white-space:nowrap;flex:none}.help-btn{top:12px;bottom:auto;right:16px}.page-head{padding-right:52px}@media(max-width:749px){.help-btn{display:none}}@media(max-width:1100px)and (min-width:750px){.sidebar-wrap.is-overlay{width:72px}}@media(max-width:749px){.cash-row{grid-template-columns:1fr 1fr}.cash-row>:last-child{grid-column:1 / -1}.cash-collect .cash-row{grid-template-columns:1fr}.table-cards thead{display:none}.table-cards,.table-cards tbody,.table-cards tr,.table-cards td{display:block;width:100%}.table-cards tr{border:1px solid var(--line);border-radius:14px;padding:8px 12px;margin:8px 0;background:var(--surface)}.table-cards td{display:flex;justify-content:space-between;gap:12px;border:0;padding:4px 0;text-align:right}.table-cards td:before{content:attr(data-label);color:var(--muted);font-size:12px;text-align:left;flex:none}.table-cards td.act{justify-content:flex-end}.table-cards td.cell-fill .input{flex:1;min-width:0;text-align:left}.table-cards td.act:before{content:none}.table-wrap:has(.table-cards){overflow-x:visible;background:none;border:0}}.date-pick.on{color:var(--teal-ink);background:var(--teal-soft)}.date-wd{position:absolute;right:40px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--muted);pointer-events:none}.range-field{display:inline-flex;flex-direction:column;gap:4px;position:relative}.range-inputs{display:flex;align-items:center;gap:8px}.range-one{flex:1 1 150px;min-width:150px}.range-sep{color:var(--faint)}.range-pick{position:static;transform:none;flex:none}.range-nights{font-size:12px;color:var(--teal-ink);font-weight:600}.datetime-field{display:inline-flex;gap:8px}.datetime-field .date-field:last-child{width:120px}.cal-pop{position:fixed;z-index:300;background:var(--surface);color:var(--text);border:1px solid var(--line-strong);border-radius:16px;box-shadow:0 10px 30px #121f3029;padding:12px;max-width:calc(100vw - 16px)}.cal-panel{display:flex;gap:22px}.cal-panel.two{gap:26px}.cal-month{width:266px}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;min-height:34px}.cal-nav,.cal-nav-gap{width:32px;height:32px;flex:none}.cal-nav{border:0;background:transparent;border-radius:10px;color:var(--muted);font-size:20px;line-height:1}.cal-nav:hover{background:var(--surface-3);color:var(--text)}.cal-title{border:0;background:transparent;font-weight:700;font-size:14px;padding:6px 10px;border-radius:10px;color:var(--text)}.cal-title:hover:not(.static){background:var(--surface-3)}.cal-title.static{cursor:default}.cal-wd,.cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}.cal-wd span{text-align:center;font-size:11px;font-weight:600;color:var(--muted);padding:4px 0}.cal-wd span.we{color:var(--red)}.cal-grid{row-gap:2px}.cal-day{position:relative;height:38px;border:0;background:transparent;border-radius:10px;color:var(--text);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:0;font-size:13px}.cal-day.priced{height:46px}.cal-day .n{line-height:1.1}.cal-day .p{font-size:10px;color:var(--muted);line-height:1.1;white-space:nowrap;letter-spacing:-.2px}.cal-day .p.full{color:var(--red);font-weight:600}.cal-day.we{color:var(--red)}.cal-day.other{color:var(--faint)}.cal-day:hover:not(.off):not(.sel){background:var(--surface-3)}.cal-day.today:not(.priced):after{content:"";position:absolute;bottom:4px;width:4px;height:4px;border-radius:50%;background:var(--primary)}.cal-day.today .n{text-decoration:underline;text-decoration-color:var(--primary);text-underline-offset:3px}.cal-day.in{background:var(--teal-soft);border-radius:0;color:var(--text)}.cal-day.sel{background:var(--primary);color:var(--on-primary);font-weight:700}.cal-day.sel .p{color:var(--on-primary);opacity:.85}.cal-day.rs{border-radius:10px 0 0 10px}.cal-day.re{border-radius:0 10px 10px 0}.cal-day.off{color:var(--faint);text-decoration:line-through;cursor:default;opacity:.6}.cal-day.full:not(.sel) .n{color:var(--faint)}.cal-day:focus-visible,.cal-nav:focus-visible,.cal-title:focus-visible,.cal-pick button:focus-visible,.cal-times button:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.cal-pick{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;width:266px}.cal-pick button{height:44px;border:0;border-radius:10px;background:transparent;font-weight:600;color:var(--text)}.cal-pick button:hover:not(:disabled){background:var(--surface-3)}.cal-pick button.on{background:var(--primary);color:var(--on-primary)}.cal-pick button:disabled{color:var(--faint);text-decoration:line-through;cursor:default}.cal-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}.cal-chips{display:flex;flex-wrap:wrap;gap:6px}.cal-chips .chip,.cal-foot .chip{border:1px solid var(--line-strong);background:var(--surface-2);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600;color:var(--text)}.cal-chips .chip:hover:not(:disabled){background:var(--teal-soft);color:var(--teal-ink)}.cal-chips .chip.static{background:var(--teal-soft);border-color:transparent;color:var(--teal-ink)}.cal-chips .chip.ghost{background:transparent;color:var(--muted)}.cal-times{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;max-height:260px;overflow-y:auto;width:252px}.cal-times button{border:0;background:transparent;border-radius:8px;padding:6px 0;font-size:13px;color:var(--text)}.cal-times button:hover{background:var(--surface-3)}.cal-times button.on{background:var(--primary);color:var(--on-primary);font-weight:700}.cal-sheet-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#12162066;z-index:300;display:flex;align-items:flex-end}.cal-sheet{position:static;width:100%;max-width:none;border-radius:20px 20px 0 0;max-height:90vh;overflow-y:auto;padding:8px 14px 18px}.cal-grab{width:40px;height:4px;border-radius:2px;background:var(--line-strong);margin:4px auto 10px}.cal-done{width:100%}@media(max-width:599px){.cal-panel,.cal-panel.two{display:block}.cal-month{width:100%}.cal-day{height:46px;font-size:15px}.cal-day.priced{height:52px}.cal-pick{width:100%}.cal-pick button{height:52px}.cal-times{width:100%;grid-template-columns:repeat(4,1fr)}.cal-times button{padding:12px 0}.cal-foot{flex-direction:column;align-items:stretch}.range-inputs{flex-wrap:wrap}.range-one{flex:1 1 100%}.range-sep{display:none}}.rc-head{gap:8px;justify-content:flex-start}.rc-head .cal-title{flex:1;text-align:left}.rc-wd{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px}.rc-wd button{border:0;background:transparent;font-size:12px;font-weight:600;color:var(--muted);padding:4px 0;border-radius:8px}.rc-wd button.we{color:var(--red)}.rc-wd button.on{background:var(--teal-soft);color:var(--teal-ink)}.rc-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;-webkit-user-select:none;user-select:none}.rc-cell{position:relative;min-height:78px;border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:6px 7px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;color:var(--text)}.rc-cell.we .rc-n{color:var(--red)}.rc-cell.other{opacity:.45}.rc-cell.past{opacity:.6}.rc-cell.rc-set{background:var(--teal-soft);border-color:transparent}.rc-cell.rc-stop{background:var(--surface-3);color:var(--muted)}.rc-cell.rc-stop .rc-price{text-decoration:line-through}.rc-cell.rc-sel{outline:2px solid var(--primary);outline-offset:-1px}.rc-n{font-size:12px;font-weight:600}.rc-tags{position:absolute;top:5px;right:6px;display:flex;flex-direction:column;align-items:flex-end;gap:1px}.rc-tags i{font-style:normal;font-size:9px;color:var(--amber);font-weight:600}.rc-price{margin-top:auto;font-size:14px}.rc-price em{display:none;font-style:normal}.rc-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px}.rc-legend .lg{display:inline-block;width:12px;height:12px;border-radius:4px;vertical-align:-2px;margin-right:4px;border:1px solid var(--line-strong)}.lg-set{background:var(--teal-soft)}.lg-stop{background:var(--surface-3)}.lg-sel{outline:2px solid var(--primary);outline-offset:-2px}.lg-rule{background:var(--amber)}@media(max-width:599px){.rc-cell{min-height:54px;padding:3px;min-width:0;overflow:hidden}.rc-month{gap:2px}.rc-price{font-size:0}.rc-price em{display:inline;font-size:9px;letter-spacing:-.4px;white-space:nowrap}.rc-tags i{display:none}.rc-tags{top:4px;right:4px}.rc-tags:not(:empty):after{content:"";width:6px;height:6px;border-radius:50%;background:var(--amber)}}@media(max-width:749px){.tabs-page{flex-wrap:wrap;overflow-x:visible;gap:6px;padding:0 0 8px;border-bottom:0}.tabs-page button{flex:1 1 calc(50% - 6px);white-space:normal;border:1px solid var(--line);border-radius:12px;padding:10px 8px}}:root{--scroll-thumb: rgba(20, 22, 26, .22);--scroll-thumb-hover: rgba(20, 22, 26, .38);--scroll-track: transparent}html[data-theme=dark]{--scroll-thumb: rgba(243, 244, 246, .2);--scroll-thumb-hover: rgba(243, 244, 246, .36)}*{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:var(--scroll-track)}*::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:999px;border:3px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background-color:var(--scroll-thumb-hover);border-width:2px}*::-webkit-scrollbar-button{display:none;width:0;height:0}*::-webkit-scrollbar-corner{background:transparent}html{scrollbar-gutter:stable}@media(min-width:750px){html,body{overflow:hidden}.shell{height:100vh;min-height:0}.main{height:100vh;overflow-y:auto;scrollbar-gutter:stable;overscroll-behavior:contain}.main>.page-fill{height:100%;display:flex;flex-direction:column;min-height:0;padding-bottom:16px}.main>.page-fill .grid-wrap{flex:1;min-height:0;max-height:none;width:auto}}@media(max-width:749px){.main{padding-bottom:calc(86px + env(safe-area-inset-bottom))}.tabbar{padding-bottom:calc(14px + env(safe-area-inset-bottom))}html{overscroll-behavior-y:none}.page-fill .grid-wrap{max-height:68dvh}}.modal-body,.drawer-body,.cal-pop,.cal-sheet,.combo-list,.cal-times,.move-list{overscroll-behavior:contain}.modal,.drawer{transition:box-shadow .12s}.modal-head,.drawer-head{position:relative;z-index:1;transition:box-shadow .12s}.modal.is-scrolled .modal-head,.drawer.is-scrolled .drawer-head{box-shadow:0 6px 10px -8px #121f3059}.cal-sheet{padding-bottom:calc(18px + env(safe-area-inset-bottom))}.grid-wrap{cursor:default}.grid-room{box-shadow:1px 0 0 var(--line)}.hscroll{scrollbar-width:none;scroll-snap-type:x proximity;--fl: 0px;--fr: 0px}.hscroll::-webkit-scrollbar{display:none}.hscroll.fade-l{--fl: 24px}.hscroll.fade-r{--fr: 24px}.hscroll.fade-l,.hscroll.fade-r{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 var(--fl),#000 calc(100% - var(--fr)),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 var(--fl),#000 calc(100% - var(--fr)),transparent 100%)}.chips.hscroll{flex-wrap:nowrap}.chips.hscroll>*{scroll-snap-align:start;flex:none}.tabs button .tab-num{margin-left:6px}.tabs{flex-wrap:nowrap;overflow-x:auto}.tabs button{white-space:nowrap;flex:none}@media(max-width:749px){.table-wrap.hscroll:has(.table-cards){overflow-x:visible;-webkit-mask-image:none;mask-image:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}@media print{.print-page,.print-page *{overflow:visible!important;height:auto!important;max-height:none!important}html,body,.shell,.main{overflow:visible!important;height:auto!important}}.range-one .date-field>.input{padding-right:10px}@media(max-width:599px){.range-inputs{flex-wrap:nowrap}.range-one{flex:1 1 0;min-width:0}.range-sep{display:inline}.range-one .date-wd{display:none}}.range-one .date-field{min-width:0;width:100%}.range-one .date-field>.input{min-width:0;width:100%}@media(max-width:599px){.range-inputs{max-width:100%}.range-one .date-field>.input{padding-left:8px;font-size:14px}}.chips.hscroll,.seg.hscroll,.tabs.hscroll,.tabs-page.hscroll{overflow-x:auto;max-width:100%}.maint-block{position:absolute;top:3px;bottom:3px;z-index:1;border-radius:6px;cursor:not-allowed;border:1px solid var(--amber-line, var(--line-strong));color:var(--amber-ink, var(--text-2));background:repeating-linear-gradient(135deg,var(--amber-soft) 0 6px,var(--surface) 6px 12px);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;overflow:hidden;white-space:nowrap}.maint-block span{background:var(--surface);border-radius:4px;padding:0 5px}.legend .sw.maint{border:1px solid var(--amber-line, var(--line-strong));background:repeating-linear-gradient(135deg,var(--amber-soft) 0 4px,var(--surface) 4px 8px)}.legend .sw.hours{height:8px;border:1px solid var(--d-success-fg, var(--primary));background:var(--b-fill, var(--teal-soft));border-radius:8px}.bar.bar-hours{top:35px;height:9px;border-radius:5px;padding:0;min-width:14px;z-index:3;border-width:1px}.bar.bar-hours.st-checked_in{border-width:1px}.hk-dnd{color:var(--red);font-weight:700}.kpi-link{text-decoration:none;color:inherit}.kpi-link:hover{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 25%,transparent)}.row-bad td{background:var(--red-soft)}.defect-dot{color:var(--red);font-weight:700;margin-left:3px;font-size:12px}.defect-badge{white-space:nowrap}.hourly-row .input.invalid{border-color:var(--red)}.dash-sep td{background:var(--surface-2);padding-top:8px;padding-bottom:8px}.hourly-rows{display:grid;gap:6px;max-width:360px}.hourly-head,.hourly-row{display:grid;grid-template-columns:90px 1fr;gap:8px;align-items:center}.bf-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.bf-table td,.bf-table th{overflow-wrap:anywhere;vertical-align:top}@page{margin:14mm}@media print{.bf-page .bf-bar{display:none}.bf-table{font-size:12pt}.bf-table tr{page-break-inside:avoid}}@media(max-width:749px){.bf-page{padding:16px}.bf-table th:nth-child(n+3),.bf-table td:nth-child(n+3){font-size:12px}}.cal-panel.cal-panel-pick{display:block;width:266px}.cal-panel.cal-panel-pick .cal-pick{width:100%}@media(max-width:599px){.cal-panel.cal-panel-pick{width:100%}}.cal-cat{margin:8px 2px 0;font-size:13px;color:var(--muted)}.date-field input::placeholder{color:var(--faint);font-style:normal;letter-spacing:.02em}.cal-day.other{opacity:.55}.cal-day.blank{visibility:hidden;pointer-events:none}.cal-day.off .p{display:none}.cal-day.off.full .p{display:block}.auth-card,.onboard-card{grid-template-columns:minmax(0,1fr)}@media(max-width:749px){.onboard-card .row-end .btn{flex:1 1 auto}}@media(max-width:749px){.print-table{display:block;max-width:100%;overflow-x:auto}.print-page{max-width:100%;overflow-x:hidden}}@media print{.print-table{display:table;overflow:visible}}@media(max-width:749px){.sticky-foot{bottom:calc(76px + env(safe-area-inset-bottom))}}.strip-arrows{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:90}.strip-arrow{position:fixed;width:28px;height:28px;border-radius:50%;display:none;place-items:center;padding:0;pointer-events:auto;border:1px solid var(--line-strong);background:var(--surface);color:var(--text);font-size:18px;line-height:1;box-shadow:0 2px 8px #121f302e}.strip-arrow:hover{background:var(--surface-3)}@media(pointer:coarse){.strip-arrows{display:none}}[data-scroll-focus]:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.combo-list button.hl{background:var(--teal-soft);outline:2px solid var(--primary);outline-offset:-2px}.date-wd{left:13px;right:auto;font-size:inherit;color:var(--muted);white-space:nowrap;max-width:calc(100% - 50px);overflow:hidden}.date-wd .date-wd-mirror{visibility:hidden}.input-sm~.date-wd{left:11px;font-size:13px}.save-bar{justify-content:space-between;align-items:center}.save-state{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.save-state.dirty{color:var(--amber);font-weight:600}.save-dot{width:8px;height:8px;border-radius:50%;background:var(--hl);flex:none}.save-state.dirty .save-dot{background:var(--amber)}.early-row{row-gap:4px}.early-time{display:inline-block;width:120px;flex:none}.bar.bar-short{padding:0 4px;gap:0;font-size:11px}.bar.bar-short .bar-dot{position:absolute;top:3px;right:3px;width:6px;height:6px}.bar.bar-short .bar-flag{position:absolute;right:2px;bottom:2px;width:13px;height:13px;font-size:9px}.bar.bar-short.bar-short-flag{align-items:flex-start;padding-top:3px}.bar.bar-short.bar-short-flag .bar-flag{width:11px;height:11px;font-size:8px;right:2px;bottom:1px}.grid-room.grid-room-stack{flex-direction:column;align-items:flex-start;justify-content:center;gap:1px}.grid-room.grid-room-stack .hk-text{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.15;max-width:100%}.legend .sw.ooo+.sw.maint{margin-left:-2px}.legend .legend-flag{position:static;display:inline-grid;margin-right:6px;width:14px;height:14px;font-size:10px;font-style:normal}.grid-group .grid-room b .grid-price{font-style:normal;font-weight:500;font-size:11px;color:var(--muted);margin-left:4px}small.cur,.kpi b.kpi-money small.cur{margin-left:0}.ob-foot{margin-top:18px;text-align:center}.ob-foot .link-btn{color:var(--muted);font-size:13px}.more-toggle{margin-top:10px;display:inline-block}.grid-group .grid-room b{white-space:nowrap}.grid-group .grid-room span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.doc-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:8px 4px;border-bottom:1px solid var(--line-soft);font-size:14px}.doc-row:last-child{border-bottom:0}.doc-row .doc-main{flex:1 1 140px;min-width:0}.doc-row .doc-sum{text-align:right;white-space:nowrap}.doc-row .doc-acts{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:flex-end;flex:1 1 260px}.doc-old{opacity:.6}@media screen and (max-width:749px){.print-table.print-cards{display:block;overflow:visible;max-width:100%}.print-cards thead{display:none}.print-cards tbody,.print-cards tfoot{display:block}.print-cards tbody tr{display:block;border:1px solid #999;margin:8px 0;padding:6px 8px}.print-cards tbody td{display:flex;justify-content:space-between;gap:12px;border:0;padding:3px 0;text-align:right}.print-cards tbody td:before{content:attr(data-label);font-weight:600;text-align:left;flex:none}.print-cards tfoot tr{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #ccc}.print-cards tfoot td{border:0;padding:4px 0}.print-cards td.num{white-space:nowrap}.print-page .print-head{flex-wrap:wrap;gap:8px}}.em-banner{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.em-banner .btn{margin-top:4px}.em-strip .table-wrap{margin-top:8px}@media(max-width:749px){.totals{grid-template-columns:repeat(2,minmax(0,1fr))}.totals b{overflow-wrap:anywhere}}.page:has(>.save-bar){padding-bottom:88px}.page>.save-bar{margin-top:24px}.field-error{font-size:12px;color:var(--red)}.bar.bar-hours{top:35px;height:16px;border-radius:5px;padding:0 4px;gap:3px;font-size:10px;line-height:1;min-width:50px;background:var(--b-strong);border:1px solid var(--b-line);color:var(--b-ink)}.bar.bar-hours.st-checked_out{background:var(--surface-3);border-color:var(--done-line);color:var(--text-2)}.bar.bar-hours .bar-hours-ini{font-weight:800;min-width:0;overflow:hidden;text-overflow:ellipsis}.bar.bar-hours .bar-hours-t{font-weight:600;opacity:.9}.row-warn{color:var(--amber-ink);font-size:12px;display:block}[data-theme=dark] .row-warn{color:var(--amber)}.em-todo h2{font-size:15px}.input:disabled,select.input:disabled,textarea.input:disabled{opacity:.6;background:var(--surface-3);cursor:not-allowed}@media(min-width:750px){.banner.banner-lic{padding-right:60px}}.field-hint,.hint{white-space:pre-line}.auth-split{--a-page: #f0f2f5;--a-surface: #ffffff;--a-divider: #e9ebf0;--a-text: #14161a;--a-muted: #6b7280;--a-ink: #1a1a1a;--a-on-ink: #ffffff;--a-ink-panel: #17181c;--a-accent: #6e8efb;--a-accent-300: #b9c7fd;--a-shadow-lg: 0 4px 10px rgba(20, 25, 45, .06), 0 18px 40px rgba(20, 25, 45, .1);--primary: var(--a-ink);--primary-hover: #000000;--on-primary: var(--a-on-ink);min-height:100vh;display:grid;grid-template-columns:minmax(360px,44%) 1fr;background:var(--a-page)}html[data-theme=dark] .auth-split{--a-page: #111113;--a-surface: #1c1c1f;--a-divider: #2c2c31;--a-text: #f3f4f6;--a-muted: #9ca3af;--a-ink: #f3f4f6;--a-on-ink: #111113;--a-ink-panel: #0a0a0c;--a-shadow-lg: 0 4px 10px rgba(0, 0, 0, .4), 0 18px 40px rgba(0, 0, 0, .5);--primary-hover: #ffffff}.auth-aside{background:var(--a-ink-panel);color:#fff;padding:32px 40px;display:flex;flex-direction:column;gap:32px;position:relative;overflow:hidden}.auth-aside:after{content:"";position:absolute;left:0;right:0;bottom:120px;border-top:1px dashed rgba(255,255,255,.14)}.auth-aside .brand{display:flex;align-items:center;gap:14px;position:relative;z-index:1}.auth-aside .brand-mark{width:42px;height:42px;border-radius:10px;flex-shrink:0;background:var(--a-ink);color:var(--a-on-ink);display:grid;place-items:center;font-weight:700;font-size:20px}.auth-aside .brand-text{font-size:20px;font-weight:600;line-height:1.25;letter-spacing:-.01em;color:#fff}.auth-aside .brand-sub{font-size:14px;margin-top:2px;color:#ffffff8c}.auth-aside-body{margin-top:auto;margin-bottom:auto;display:flex;flex-direction:column;gap:16px;max-width:440px;position:relative;z-index:1}.auth-aside-title{font-size:clamp(26px,2.4vw + 8px,36px);font-weight:600;line-height:1.15;letter-spacing:-.02em;color:#fff;margin:0}.auth-aside-title em{font-style:normal;color:var(--a-accent)}.auth-aside-text{font-size:14px;color:#ffffff8c;margin:0;line-height:1.6}.auth-points{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:12px}.auth-points li{display:flex;align-items:center;gap:12px;font-size:13px;color:#fff}.auth-points li>span{width:28px;height:28px;flex-shrink:0;border-radius:10px;display:grid;place-items:center;background:#ffffff1a;color:var(--a-accent-300)}.auth-aside-foot{font-size:11px;color:#ffffff59;position:relative;z-index:1}.auth-main{display:flex;flex-direction:column;padding:20px 24px}.auth-main-top{display:flex;justify-content:flex-end}.auth-split .auth-card{width:100%;max-width:400px;margin:auto;background:var(--a-surface);border:1px solid var(--a-divider);border-radius:28px;padding:32px 28px;display:flex;flex-direction:column;gap:20px;box-shadow:var(--a-shadow-lg)}.auth-split .auth-title{font-weight:600;font-size:20px;color:var(--a-text);letter-spacing:-.01em;margin:0}.auth-split .auth-sub{font-size:13px;color:var(--a-muted);margin-top:6px}.auth-split .auth-form{display:flex;flex-direction:column;gap:14px}.auth-split .auth-field{display:flex;flex-direction:column;gap:6px}.auth-split .auth-field label{font-size:12px;font-weight:500;color:var(--a-muted)}.auth-split .input{height:44px;border-radius:14px;border-color:var(--a-divider);background:var(--a-surface);color:var(--a-text)}.auth-split .input:focus{outline:none;border-color:var(--a-ink);box-shadow:0 0 0 3px color-mix(in srgb,var(--a-accent) 35%,transparent)}.auth-split .btn-primary{height:44px;border-radius:14px}.auth-split .auth-note{font-size:12px;color:var(--a-muted);margin:0;line-height:1.5}@media(max-width:900px){.auth-split{grid-template-columns:1fr}.auth-aside{display:none}.auth-split .auth-card{max-width:100%;padding:24px 20px}.auth-main{padding:16px}}.auth-split .field{gap:6px}.auth-split .field-label{font-size:12px;font-weight:500;color:var(--a-muted)}.auth-split .error-line{margin:0}.auth-aside .brand{padding-left:0;margin-bottom:0}.auth-aside .brand-sub{max-width:none;white-space:normal;overflow:visible}.auth-main-top .lang-switch{flex:0 0 auto;background:transparent;box-shadow:none;gap:6px;padding:0}.auth-main-top .lang-switch button{flex:0 0 auto;height:28px;padding:0 10px;border-radius:999px;background:var(--a-surface);border:1px solid var(--a-divider);color:var(--a-muted)}.auth-main-top .lang-switch button.on{background:var(--a-ink);border-color:var(--a-ink);color:var(--a-on-ink)}.auth-aside{container-type:inline-size}.auth-aside>:not(.travel-scene){position:relative;z-index:1}.drum{position:relative;display:inline-grid;vertical-align:top;height:1.4em;line-height:1.4em;overflow:hidden;perspective:7em}.drum-sizer{grid-area:1 / 1;visibility:hidden;white-space:nowrap}.drum-wheel{position:absolute;top:0;right:0;bottom:0;left:0;transform-style:preserve-3d;transition:transform .26s cubic-bezier(.34,1.4,.64,1)}.drum-face{position:absolute;top:0;right:0;bottom:0;left:0;white-space:nowrap;backface-visibility:hidden}@media(prefers-reduced-motion:reduce){.drum-wheel{transition:none}}.travel-scene{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;color:#ffffff8c}.travel-scene .hole{fill:var(--a-ink-panel)}.scene-road{position:absolute;left:0;right:0;bottom:72px;border-top:1px dashed rgba(255,255,255,.07)}.scene-item{position:absolute;left:0;animation-timing-function:linear;animation-iteration-count:infinite;will-change:transform}.scene-item svg{display:block;width:100%;height:auto}.scene-flip svg{transform:scaleX(-1)}.scene-plane-a{width:120px;top:9%;opacity:.14;animation-name:scene-fly-ltr;animation-duration:30s;animation-delay:-6s}.scene-plane-b{width:60px;top:27%;opacity:.09;animation-name:scene-fly-rtl;animation-duration:44s;animation-delay:-25s}.scene-plane-c{width:40px;top:46%;opacity:.06;animation-name:scene-fly-ltr;animation-duration:56s;animation-delay:-40s}.scene-train{width:240px;bottom:121px;opacity:.15;animation-name:scene-ltr;animation-duration:24s;animation-delay:-8s}.scene-car{width:76px;bottom:73px;opacity:.15;animation-name:scene-rtl;animation-duration:14s;animation-delay:-4s}.scene-case-a{width:38px;left:14%;top:100%;opacity:.1;animation-name:scene-float;animation-duration:34s;animation-delay:-10s}.scene-case-b{width:30px;left:64%;top:100%;opacity:.08;animation-name:scene-float;animation-duration:42s;animation-delay:-28s}.scene-case-c{width:48px;left:86%;top:100%;opacity:.11;animation-name:scene-float;animation-duration:30s;animation-delay:-3s}@keyframes scene-ltr{0%{transform:translate(-100%)}to{transform:translate(100cqw)}}@keyframes scene-rtl{0%{transform:translate(100cqw)}to{transform:translate(-100%)}}@keyframes scene-fly-ltr{0%{transform:translate(-100%)}to{transform:translate(100cqw,-70px)}}@keyframes scene-fly-rtl{0%{transform:translate(100cqw)}to{transform:translate(-100%,-50px)}}@keyframes scene-float{0%{transform:translate(0) rotate(-12deg)}to{transform:translate(40px,calc(-100vh - 100%)) rotate(18deg)}}@media(prefers-reduced-motion:reduce){.scene-item{animation-play-state:paused}}.auth-main-top{gap:6px;align-items:center}.auth-theme{width:28px;height:28px;border-radius:999px;display:grid;place-items:center;padding:0;background:var(--a-surface);border:1px solid var(--a-divider);color:var(--a-muted);cursor:pointer}.auth-theme:hover{color:var(--a-text)}
