:root{--green-900: #0f3d24;--green-800: #144a2d;--green-700: #144a2d;--green-600: #1f7a48;--green-500: #2d8a54;--green-100: #c9e0d2;--green-50: #e8f0ea;--sand-50: #dfe9e3;--sand-100: #e2ebe5;--surface: #ecf3ee;--surface-muted: #e2ebe5;--chrome-bg: #ecf3ee;--border: #b8cfc0;--text: #152019;--text-muted: #4f6356;--danger: #c0392b;--danger-bg: #f8ebe9;--warning-bg: #f5f0df;--warning-border: #d4a84a;--info-bg: #e4f0f8;--info-border: #8eb8d4;--info-text: #1a4a6e;--on-accent: #ffffff;--logo-bg: #ffffff;--green-hover: #b8d4c4;--alert-stat-top: #fff7ed;--alert-stat-bottom: #ffedd5;--alert-stat-border: #ea580c;--alert-stat-value: #c2410c;--alert-stat-label: #9a3412;--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--shadow-sm: 0 1px 3px rgba(15, 61, 36, .06);--shadow: 0 2px 12px rgba(15, 61, 36, .08);--nav-height: 64px;--nav-secondary-height: 40px;--sidebar-width: 252px;--header-height: 72px;--safe-bottom: env(safe-area-inset-bottom, 0px);--plan-grid: #9ec4ad;--plan-grid-strong: #4a9b6e;--plan-grid-weekend: #7c8fd4;--text-heading: var(--green-900);--text-emphasis: var(--green-700);--text-highlight: var(--green-600);--btn-secondary-bg: var(--green-100);--btn-secondary-text: var(--green-900);--plan-room-bg-top: #f7faf8;--plan-room-bg-bottom: #eef4f0;--plan-weekend-header-bg: #c8d4f0;--plan-weekend-header-text: #312e81;--plan-weekend-cell-bg: #dce4fa;--plan-today-cell-bg: #dcfce7;--plan-cell-hover-bg: #eef8f1;--pill-border: #c8e6d4;font-family:Segoe UI,system-ui,-apple-system,sans-serif;color:var(--text);background:var(--sand-50);line-height:1.45}[data-theme=dark]{--green-900: #0a2e1a;--green-800: #0f3d24;--green-700: #1a5c38;--green-600: #52b896;--green-500: #7dcab0;--green-100: #2a4034;--green-50: #243328;--sand-50: #1e2822;--sand-100: #222c26;--surface: #28342c;--surface-muted: #222c26;--chrome-bg: #28342c;--border: #3a4a40;--text: #e8ede9;--text-muted: #9aab9f;--danger: #f08070;--danger-bg: #3a2826;--warning-bg: #3a3420;--warning-border: #c4920a;--info-bg: #243038;--info-border: #4a7080;--info-text: #9ec8e0;--on-accent: #ffffff;--logo-bg: #f4f6f3;--green-hover: #324a3c;--alert-stat-top: #3a2a1e;--alert-stat-bottom: #4a3220;--alert-stat-border: #ea580c;--alert-stat-value: #fb923c;--alert-stat-label: #fdba74;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .25);--shadow: 0 2px 12px rgba(0, 0, 0, .35);--plan-grid: #4a6258;--plan-grid-strong: #6a9080;--plan-grid-weekend: #5a6a9a;--text-heading: #e8ede9;--text-emphasis: #7dcab0;--text-highlight: #52b896;--text-muted: #a8b8ae;--btn-secondary-bg: #2f4538;--btn-secondary-text: #e8ede9;--plan-room-bg-top: #2e3a32;--plan-room-bg-bottom: #28342c;--plan-weekend-header-bg: #343f58;--plan-weekend-header-text: #c5d4f0;--plan-weekend-cell-bg: #2c3548;--plan-today-cell-bg: #2d4a38;--plan-cell-hover-bg: #344a40;--pill-border: #3a5248}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%}body{-webkit-font-smoothing:antialiased;overscroll-behavior:none;overflow-x:hidden}.app-shell{min-height:100dvh;display:flex;flex-direction:column;width:100%;max-width:520px;margin:0 auto;background:var(--sand-50);overflow-x:hidden}.side-nav{display:none}.app-body{display:flex;flex-direction:column;flex:1;min-width:0}.content-area{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0}.content-main{flex:1;min-width:0}.booking-sidebar{display:none}.app-header{background:linear-gradient(180deg,var(--green-700) 0%,var(--green-900) 100%);padding:max(10px,env(safe-area-inset-top,0px)) 16px 16px;color:var(--on-accent);flex-shrink:0}.app-header-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.app-header-logo{display:block;width:96px;height:auto;flex-shrink:0;background:var(--logo-bg);border-radius:var(--radius-sm);padding:4px 6px;box-shadow:0 1px 4px #00000026}.app-header-title-block{flex:1;min-width:0}.app-header-end{display:flex;align-items:center;gap:10px;min-width:0;width:100%}.app-header-tab{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;opacity:.8;margin-bottom:4px}.app-header-property{font-size:1.1rem;font-weight:700;margin-bottom:0}.app-header-project{display:flex;gap:8px;align-items:center;flex:1;min-width:0}.app-header-select{flex:1;min-width:0;border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 2.75rem 10px 12px;font-size:.88rem;font-weight:600;background:var(--surface);color:var(--text-heading);box-shadow:var(--shadow-sm);text-overflow:ellipsis}.app-header-actions{display:flex;gap:6px;flex-shrink:0}.btn.header-icon{width:42px;height:42px;background:#ffffff24;border:1px solid rgba(255,255,255,.22);color:var(--on-accent);font-size:1.4rem;display:inline-flex;align-items:center;justify-content:center;padding:0}.btn.header-icon--new{background:#ffffff38;font-weight:700}.btn.header-icon.danger{background:#c0392b47;font-size:1rem}.main-content{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:12px 0 calc(var(--nav-height) + var(--nav-secondary-height) + var(--safe-bottom) + 12px)}.page{padding:0 16px 16px;display:flex;flex-direction:column;gap:14px;max-width:100%}.page-toolbar{display:flex;justify-content:flex-end}.page-toolbar--mobile{display:flex}.panel{background:var(--surface);border-radius:var(--radius-lg);padding:18px 20px;border:1px solid var(--border);box-shadow:var(--shadow-sm);min-width:0}.panel h2{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 12px}.panel-compact{padding-top:14px}.panel-compact .field:last-child{margin-bottom:0}.panel.warning{background:var(--warning-bg);border:1px solid var(--warning-border)}.panel.info{background:var(--info-bg);border:1px solid var(--info-border)}.panel.info .status-hint-text{color:var(--info-text)}.subtitle{color:var(--text-muted);font-size:.9rem}.fine-print{font-size:.8rem;color:var(--text-muted)}.intro-text{font-size:.9rem;margin-bottom:8px}.btn{border:none;border-radius:var(--radius-sm);padding:10px 16px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s ease,transform .1s ease,box-shadow .15s ease}.btn:active{transform:scale(.98)}.btn.primary{background:var(--green-700);color:var(--on-accent);box-shadow:0 1px 4px #0f3d2433}.btn.primary:hover{background:var(--green-600)}.btn.secondary{background:var(--btn-secondary-bg);color:var(--btn-secondary-text)}.btn.secondary:hover{background:var(--green-hover)}.btn.ghost{background:var(--surface);color:var(--text-muted);border:1px solid var(--border)}.btn.ghost:hover{background:var(--green-50);color:var(--text-heading);border-color:var(--green-500)}.btn.danger{background:var(--danger-bg);color:var(--danger);border:1px solid #e8b4b0}.btn.danger:hover{background:#f5d4d0;border-color:#dfa8a3}.btn.full{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn{width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.95rem;color:var(--text-muted)}.icon-btn:hover{background:var(--green-50);color:var(--text-emphasis);border-color:var(--green-500)}.icon-btn--danger:hover{background:var(--danger-bg);color:var(--danger);border-color:#e8b4b0}.action-row{display:flex;gap:8px;flex-wrap:wrap}.booking-detail-actions{width:100%;margin-top:12px}.booking-detail-actions .btn.danger{margin-left:auto}.pdf-actions{flex-direction:column}.invoice-prompt-actions{display:flex;flex-direction:column;gap:8px;margin-top:14px}.invoice-prompt-actions .btn{width:100%}.invoice-send-hint{margin-top:8px}.invoice-send-error{margin-top:10px;color:var(--danger);font-size:.88rem}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;font-size:.85rem;font-weight:600;color:var(--text-muted)}.field input,.field select{font-size:.95rem;padding:11px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--text);width:100%;transition:border-color .15s ease,box-shadow .15s ease}.field input:focus,.field select:focus{outline:none;border-color:var(--green-500);box-shadow:0 0 0 3px #2d8a541f;background:var(--surface)}.field.compact{margin-bottom:8px}.field.compact input,.field.compact select{padding:8px 10px;font-size:.9rem;height:38px;min-height:38px;box-sizing:border-box;line-height:1.2}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grid-3{display:grid;grid-template-columns:1fr minmax(72px,.55fr) 1fr;gap:10px;align-items:end}.bottom-nav-wrap{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:520px;z-index:100;padding-bottom:var(--safe-bottom)}.bottom-nav{height:var(--nav-height);padding-bottom:0;display:flex;background:var(--chrome-bg);border-top:1px solid var(--border)}.bottom-nav-secondary{display:flex;flex-direction:row;height:var(--nav-secondary-height);padding-bottom:0;background:var(--green-50);border-top:1px solid var(--border)}.bottom-nav-secondary button{flex:1;width:auto;height:100%;border:none;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:.65rem;font-weight:600;color:var(--text-muted);cursor:pointer}.bottom-nav-secondary button+button{border-top:none;border-left:1px solid var(--border)}.bottom-nav-secondary button.active{color:var(--text-highlight);font-weight:700;background:#52b8961f}.bottom-nav button{flex:1;border:none;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:.65rem;color:var(--text-muted);cursor:pointer}.bottom-nav button.active{color:var(--text-highlight);font-weight:700;position:relative}.bottom-nav button.active:before{content:"";position:absolute;top:0;left:20%;right:20%;height:2px;background:var(--green-500);border-radius:0 0 2px 2px}.bottom-nav .nav-icon{width:1.35rem;height:1.35rem}.bottom-nav-secondary .nav-icon{width:1.1rem;height:1.1rem}.nav-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.25rem;height:1.25rem;color:currentColor}.nav-icon svg{width:100%;height:100%}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0f3d2473;display:flex;align-items:center;justify-content:center;padding:20px}.modal-panel{width:100%;max-width:400px;max-height:min(90dvh,640px);overflow-y:auto;background:var(--surface);border-radius:var(--radius-lg);padding:24px;box-shadow:0 8px 32px #0f3d242e;border:1px solid var(--border)}.modal-panel h2{font-size:1.15rem;color:var(--text-heading);margin-bottom:8px}.modal-confirm h2{margin-bottom:12px}.modal-confirm p{margin:0;color:var(--text-muted);font-size:.92rem;line-height:1.55}.modal-confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.modal-confirm-actions .btn{min-width:7.5rem;padding:11px 18px}.conflict-hint{color:var(--danger);font-size:.85rem;margin-bottom:12px}.splash{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:linear-gradient(160deg,var(--green-700),var(--green-900));color:var(--on-accent)}.splash-logo-img{width:min(280px,88vw);height:auto;border-radius:12px;background:var(--logo-bg);padding:12px 16px;box-shadow:0 8px 24px #0003}.splash .btn{margin-top:16px}.login-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:linear-gradient(160deg,var(--green-700),var(--green-900))}.login-card{width:min(400px,100%);padding:28px 24px}.login-logo{display:block;width:min(220px,80vw);height:auto;margin:0 auto 16px;border-radius:12px;background:var(--logo-bg);padding:10px 14px}.login-title{text-align:center;margin:0 0 8px}.login-sub{text-align:center;margin:0 0 20px;opacity:.85}.login-form{display:flex;flex-direction:column;gap:14px}.login-submit{width:100%;margin-top:4px}.login-error{color:var(--danger);font-size:.9rem;margin:0}.app-header-sync{font-size:.8rem;color:var(--text-muted);white-space:nowrap;margin-right:8px}.app-header-sync--saved{color:var(--green-600)}.app-header-sync--error{color:var(--danger)}.stamm-cloud{display:flex;flex-direction:column;gap:12px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border)}.empty-state{text-align:center;color:var(--text-muted);padding:24px 16px}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.stat-card{background:var(--surface);border-radius:var(--radius);padding:14px 12px;text-align:center;border:1px solid var(--border);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:92px}.stat-value{display:block;font-size:1.15rem;font-weight:700;color:var(--text-highlight);line-height:1.2}.stat-label{display:block;font-size:.62rem;color:var(--text-muted);margin-top:4px;line-height:1.25}.stat-sub{display:block;margin-top:4px;font-size:.58rem;line-height:1.3;min-height:.95rem}.stat-card--positive .stat-value{color:var(--green-600)}.stat-card--negative .stat-value{color:#dc2626}.stat-card--expected .stat-value{color:#2563eb}.stat-card--expense .stat-value{color:#b45309}.revenue-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.revenue-kpis .stats-row{display:contents}.stats-row--balance,.stats-row--revenue{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-row--revenue-detail{grid-template-columns:repeat(2,1fr)}.stat-card--alert{background:linear-gradient(180deg,var(--alert-stat-top) 0%,var(--alert-stat-bottom) 100%);border:2px solid var(--alert-stat-border);box-shadow:0 0 0 2px #ea580c2e,0 4px 16px #ea580c47;animation:stat-alert-pulse 2.2s ease-in-out infinite}.stat-card--alert .stat-value{color:var(--alert-stat-value);font-size:1.55rem;font-weight:800}.stat-card--alert .stat-label{color:var(--alert-stat-label);font-weight:800;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em}.page--plan .plan-kpis{width:100%;max-width:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:2px}.page--plan .plan-kpi{position:relative;overflow:hidden;min-height:96px;padding:12px 10px 10px;border:1px solid transparent;box-shadow:0 2px 10px #0f3d2414}.page--plan .plan-kpi:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;border-radius:var(--radius) 0 0 var(--radius);background:var(--plan-kpi-accent, var(--green-500))}.page--plan .plan-kpi--occupied{--plan-kpi-accent: #2d8a54;background:linear-gradient(145deg,#f7fcf9,#e8f5ec);border-color:#c8e6d4}.page--plan .plan-kpi--arrivals{--plan-kpi-accent: #3b82f6;background:linear-gradient(145deg,#f8fbff,#edf4fa);border-color:#c5d9eb}.page--plan .plan-kpi--arrivals.plan-kpi--highlight{--plan-kpi-accent: #e8b84a;background:linear-gradient(145deg,#fff9e6,#ffefb8);border-color:#e8c96a;box-shadow:0 4px 16px #e8b84a38}.page--plan .plan-kpi--departures{--plan-kpi-accent: #64748b;background:linear-gradient(145deg,#f8faf9,#eef2f0);border-color:#d5ddd8}.page--plan .plan-kpi--departures.stat-card--alert:before{background:var(--alert-stat-border)}.page--plan .plan-kpi-icon{display:block;width:1.2rem;height:1.2rem;margin:0 auto 5px;color:var(--plan-kpi-accent, var(--green-600))}.page--plan .plan-kpi .stat-value{font-size:1.55rem;font-weight:800;letter-spacing:-.02em;color:var(--text-heading)}.page--plan .stat-value--muted{color:var(--text-muted);opacity:.72}.page--plan .plan-kpi-sub{display:block;margin-top:3px;font-size:.62rem;font-weight:600;line-height:1.25;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.page--plan .plan-kpi--highlight .plan-kpi-sub,.page--plan .plan-kpi--highlight .stat-value{color:#9a6700}.page--plan .plan-kpi .stat-label{margin-top:2px;font-size:.68rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted)}.expense-panel{display:flex;flex-direction:column;gap:14px}.expense-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.expense-panel-title{margin:0 0 4px;font-size:1rem}.expense-form{display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--green-50)}.expense-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;align-items:end}.expense-form-grid .field{margin-bottom:0}.expense-form-grid .field input,.expense-form-grid .field select{height:38px;min-height:38px;padding:8px 10px;font-size:.9rem;box-sizing:border-box}.expense-form-wide{grid-column:1 / -1}.expense-category-chips{display:flex;flex-wrap:wrap;gap:8px}.expense-chip{font-size:.78rem;padding:5px 10px;border-radius:999px;background:var(--green-50);border:1px solid var(--border);color:var(--text-emphasis)}.expense-table th:last-child,.expense-table td:last-child{text-align:right}.expense-table th:nth-child(4),.expense-table td:nth-child(4){text-align:right;white-space:nowrap}.expense-actions{white-space:nowrap}.btn--tiny{padding:4px 8px;font-size:.72rem;min-height:0}.btn--danger-text{color:#dc2626}.page--einnahmen{gap:12px}.revenue-intro{margin:10px 0 0}.revenue-occupancy{margin-top:10px;padding:10px 12px;border-radius:var(--radius);background:linear-gradient(145deg,#f3faf6,#e2f0e8);border:1px solid #b8d4c4}.revenue-occupancy-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px}.revenue-occupancy-label{font-size:.72rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.revenue-occupancy-value{font-size:1.15rem;font-weight:800;color:var(--text-heading);line-height:1}.revenue-occupancy-meter{width:100%;height:5px;border-radius:999px;background:#1a5c381f;overflow:hidden}.revenue-occupancy-meter-fill{height:100%;border-radius:inherit;transition:width .35s ease}.occupancy-meter-fill--low{background:linear-gradient(90deg,#86efac,#4ade80)}.occupancy-meter-fill--mid{background:linear-gradient(90deg,#fde047,#facc15)}.occupancy-meter-fill--high{background:linear-gradient(90deg,#fb923c,#f97316)}.revenue-section{display:flex;flex-direction:column;gap:12px}.revenue-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.revenue-section-title{margin:0 0 4px;font-size:1rem}.revenue-section-hint{margin:0}.revenue-section-sum{text-align:right;flex-shrink:0}.revenue-section-sum strong{display:block;font-size:1.1rem;color:var(--text-highlight)}.revenue-section-sum .fine-print{display:block}.revenue-empty,.revenue-foot{margin:0}.revenue-table-wrap{overflow-x:auto}.revenue-table{width:100%;border-collapse:collapse;font-size:.88rem}.revenue-table th,.revenue-table td{padding:8px 10px;border-bottom:1px solid var(--border);text-align:left}.revenue-table th:last-child,.revenue-table td:last-child{text-align:right;white-space:nowrap}.revenue-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.revenue-row-label{display:block}.revenue-row-note{display:block;margin-top:2px}@keyframes stat-alert-pulse{0%,to{box-shadow:0 0 0 2px #ea580c2e,0 4px 16px #ea580c47}50%{box-shadow:0 0 0 5px #ea580c52,0 6px 20px #ea580c61}}.plan-panel{padding-top:16px}.plan-panel-head{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.month-nav{display:flex;align-items:center;justify-content:space-between;gap:12px}.month-nav-center{flex:1;text-align:center;min-width:0}.month-nav .month-label{text-align:center;font-size:1.35rem;font-weight:800;color:var(--text-heading);text-transform:uppercase;letter-spacing:.04em;line-height:1.1;margin:0}.month-nav-today{display:block;margin-top:3px;font-size:.72rem;font-weight:600;color:var(--text-muted);letter-spacing:.02em}.plan-today-btn{align-self:center;padding:7px 16px;font-size:.82rem}.month-nav-btn{width:44px;height:44px;padding:0;font-size:1.65rem;font-weight:700;line-height:1;flex-shrink:0;color:var(--on-accent);background:linear-gradient(180deg,var(--green-600) 0%,var(--green-800) 100%);border:2px solid var(--green-900);border-radius:var(--radius-sm);box-shadow:0 2px 8px #0f3d2447}.month-nav-btn:hover{background:linear-gradient(180deg,#f5b800,#d9a000);border-color:#a67c00;color:#2a2200;box-shadow:0 4px 12px #d9a00059}.month-nav-btn:active{transform:scale(.97)}.plan-legend{display:flex;flex-wrap:wrap;gap:8px;font-size:.82rem;font-weight:600;color:var(--text-muted)}.plan-legend--chips{flex-wrap:wrap}.legend-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-family:inherit;font-size:.78rem;font-weight:700;cursor:pointer;transition:opacity .15s ease,background .15s ease,border-color .15s ease}.legend-chip:hover:not(:disabled){background:var(--green-50);border-color:var(--green-500);color:var(--text-heading)}.legend-chip--off{opacity:.45;text-decoration:line-through}.legend-chip--static{cursor:default;opacity:.85}.legend-item{display:flex;align-items:center;gap:6px}.legend-dot{width:14px;height:14px;border-radius:50%;box-shadow:0 1px 3px #00000026;flex-shrink:0}.plan-scroll{overflow:hidden;width:100%}.plan-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:.84rem;border:1px solid var(--plan-grid-strong);background:var(--surface)}.plan-days-header{padding:0;border:none;border-bottom:1px solid var(--plan-grid-strong)}.plan-track-cell{padding:0;border:none;vertical-align:top}.plan-track{position:relative;width:100%;min-height:30px;background:var(--surface);box-shadow:inset 0 -1px 0 var(--plan-grid-strong)}.plan-days-row{display:grid;grid-template-columns:repeat(var(--plan-days, 31),1fr);width:100%;border-left:1px solid var(--plan-grid)}.plan-room-col{width:92px;min-width:92px;max-width:92px;padding:3px 6px;vertical-align:middle;border-right:2px solid var(--plan-grid-strong);background:linear-gradient(180deg,var(--plan-room-bg-top) 0%,var(--plan-room-bg-bottom) 100%)}.plan-room-head{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-emphasis);text-align:center;line-height:1.2}.plan-room-pill{display:flex;align-items:center;gap:6px;min-width:0}.plan-room-pill-num{flex-shrink:0;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:var(--green-600);color:var(--on-accent);font-size:.78rem;font-weight:800;line-height:1;box-shadow:0 1px 3px #0f3d2433}.plan-room-pill-text{min-width:0;display:flex;flex-direction:column;gap:0;line-height:1.15}.plan-room-pill-text strong{display:block;font-size:.72rem;font-weight:700;color:var(--text-heading);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan-room-pill-text small{color:var(--text-muted);font-size:.62rem;white-space:nowrap}.plan-room-col strong{display:block;font-size:.88rem;color:var(--text-heading);line-height:1.2;white-space:nowrap}.plan-room-col small{color:var(--text-muted);font-size:.7rem;line-height:1.2}.plan-day-col{text-align:center;padding:2px 1px;color:var(--text-muted);font-weight:600;overflow:hidden;border-right:1px solid var(--plan-grid);border-bottom:1px solid var(--plan-grid)}.plan-day-col:last-child{border-right:none}.plan-day-col.weekend{background:var(--plan-weekend-header-bg);color:var(--plan-weekend-header-text);border-right:2px solid var(--plan-grid-weekend);border-bottom-color:var(--plan-grid-weekend);font-weight:700}.plan-day-col.weekend .plan-day-wd{font-weight:800;opacity:1;color:var(--plan-weekend-header-text)}.plan-day-col.today{color:var(--on-accent);background:var(--green-600)}.plan-day-col--turnover:not(.today){background:linear-gradient(180deg,#fff7ed,#ffedd5);color:#9a3412;box-shadow:inset 0 -3px #ea580c}.plan-day-col--turnover:not(.today) .plan-day-wd{color:#c2410c;opacity:1;font-weight:800}.plan-day-num{display:block;font-size:.8rem;line-height:1.1}.plan-day-wd{display:block;font-size:.66rem;opacity:.75;line-height:1.1}.plan-cell{height:30px;padding:0;border-right:1px solid var(--plan-grid);border-bottom:1px solid var(--plan-grid);position:relative;cursor:pointer;vertical-align:middle}.plan-cell:last-child{border-right:none}.plan-cell.weekend{background:var(--plan-weekend-cell-bg);border-right:2px solid var(--plan-grid-weekend);border-bottom:1px solid var(--plan-grid-weekend)}.plan-cell.today{background:var(--plan-today-cell-bg)}.plan-cell.occupied:not(.weekend):not(.today):not(.plan-cell--turnover){background:transparent}.plan-cell:hover{background:var(--plan-cell-hover-bg)}.plan-cell.weekend:hover{background:color-mix(in srgb,var(--plan-weekend-cell-bg) 72%,var(--plan-cell-hover-bg))}.plan-cell--split{cursor:default}.plan-cell--split:hover{background:transparent}.plan-cell--split:after{content:"";position:absolute;top:4px;bottom:4px;left:50%;width:1px;background:var(--plan-grid);transform:translate(-50%);pointer-events:none;z-index:0}.plan-cell--turnover{box-shadow:inset 0 0 0 2px #f97316;animation:plan-turnover-pulse 2.4s ease-in-out infinite}.plan-cell--turnover.weekend{background:var(--plan-weekend-cell-bg)}.plan-cell--turnover:after{width:4px;background:linear-gradient(180deg,#fdba74,#ea580c,#fdba74);box-shadow:0 0 0 1px #fff,0 0 8px #ea580c8c}.plan-turnover-mark{position:absolute;left:50%;top:50%;z-index:5;display:flex;align-items:center;justify-content:center;width:18px;height:18px;transform:translate(-50%,-50%);border-radius:50%;background:#fff7ed;border:2px solid #ea580c;color:#ea580c;box-shadow:0 1px 5px #9a341259;pointer-events:none}.plan-turnover-mark svg{width:11px;height:11px}@keyframes plan-turnover-pulse{0%,to{box-shadow:inset 0 0 0 2px #f97316}50%{box-shadow:inset 0 0 0 3px #ea580c}}.plan-turnover-banner{display:flex;align-items:flex-start;gap:14px;padding:14px 16px;border-radius:var(--radius-lg);background:linear-gradient(135deg,#fff7ed,#ffedd5 45%,#fed7aa);border:2px solid #f97316;box-shadow:0 4px 18px #f973163d}.plan-turnover-banner-icon{width:1.65rem;height:1.65rem;flex-shrink:0;color:#ea580c;margin-top:2px}.plan-turnover-banner-kicker{display:block;margin-bottom:3px;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#c2410c}.plan-turnover-banner-text{margin:0;font-size:.92rem;line-height:1.45;color:var(--text-heading)}.plan-turnover-banner-text strong{color:#9a3412}.plan-cell-half{position:absolute;top:0;bottom:0;width:50%;border:none;background:transparent;padding:0;cursor:pointer;z-index:1}.plan-cell-half--out{left:0}.plan-cell-half--in{right:0}.plan-cell-half:hover,.plan-cell-half:focus-visible{background:var(--plan-cell-hover-bg);outline:none}.plan-cell-half--free:hover,.plan-cell-half--free:focus-visible{background:color-mix(in srgb,var(--plan-cell-hover-bg) 85%,transparent)}.plan-cell-half--free.plan-cell-half--out:hover,.plan-cell-half--free.plan-cell-half--out:focus-visible{box-shadow:inset 2px 0 0 var(--green-500)}.plan-cell-half--free.plan-cell-half--in:hover,.plan-cell-half--free.plan-cell-half--in:focus-visible{box-shadow:inset -2px 0 #e8b84a}.plan-bar{position:absolute;top:2px;bottom:2px;border:none;border-radius:0;min-width:0;display:flex;align-items:center;overflow:hidden;z-index:2;box-shadow:inset 0 1px #ffffff2e,inset 0 -1px #0f3d2424;cursor:pointer;padding:0 6px}.plan-bar:hover{filter:brightness(1.04)}.plan-bar--due{background:linear-gradient(180deg,#fb923c,#ea580c)!important;border:none!important;box-shadow:inset 0 0 0 2px #9a3412,inset 0 1px #fff3,inset 0 -1px #0000001f!important;z-index:4;animation:plan-bar-due-pulse 1.8s ease-in-out infinite}.plan-bar--due:hover{filter:brightness(1.08)}.plan-bar--due .plan-bar-label{font-weight:800;text-shadow:0 1px 3px rgba(0,0,0,.45)}@keyframes plan-bar-due-pulse{0%,to{box-shadow:inset 0 0 0 2px #9a3412}50%{box-shadow:inset 0 0 0 3px #c2410c}}.plan-bar--edge-arrival{box-shadow:inset 4px 0 #e8b84a,inset 0 1px #ffffff2e,inset 0 -1px #0f3d2424;z-index:3}.plan-bar--edge-departure{box-shadow:inset -4px 0 #64748ba6,inset 0 1px #ffffff2e,inset 0 -1px #0f3d2424;z-index:3}.plan-bar--edge-arrival.plan-bar--edge-departure{box-shadow:inset 4px 0 #e8b84a,inset -4px 0 #64748ba6,inset 0 1px #ffffff2e,inset 0 -1px #0f3d2424}.plan-bar--edge-turnover-in{box-shadow:inset 6px 0 #ea580c,inset 0 1px #ffffff2e,inset 0 -1px #0f3d2424;z-index:4}.plan-bar--edge-turnover-out{box-shadow:inset -6px 0 #ea580c,inset 0 1px #ffffff2e,inset 0 -1px #0f3d2424;z-index:4}.plan-bar--edge-arrival.plan-bar--edge-turnover-out{box-shadow:inset 4px 0 #e8b84a,inset -6px 0 #ea580c,inset 0 1px #ffffff2e,inset 0 -1px #0f3d2424;z-index:4}.plan-bar--edge-turnover-in.plan-bar--edge-departure{box-shadow:inset 6px 0 #ea580c,inset -4px 0 #64748ba6,inset 0 1px #ffffff2e,inset 0 -1px #0f3d2424;z-index:4}.plan-bar--edge-turnover-in.plan-bar--edge-turnover-out{box-shadow:inset 6px 0 #ea580c,inset -6px 0 #ea580c,inset 0 1px #ffffff2e,inset 0 -1px #0f3d2424;z-index:4}.plan-bar-label{position:relative;z-index:1;color:var(--on-accent);font-size:clamp(.52rem,1.3vw,.72rem);font-weight:700;padding:0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px rgba(0,0,0,.25);pointer-events:none}.field-with-action{display:flex;gap:8px;align-items:flex-end;margin-bottom:12px}.field-with-action .field{flex:1;margin-bottom:0}.field-with-action .btn{flex-shrink:0;white-space:nowrap;margin-bottom:0}.plan-tip{display:flex;align-items:flex-start;gap:10px;margin-top:12px;padding:12px 14px;border-radius:var(--radius);background:linear-gradient(135deg,#f3faf6,#e8f2ec);border:1.5px solid #b8d4c4;box-shadow:0 2px 8px #1a5c3814}.plan-tip-icon{width:1.1rem;height:1.1rem;flex-shrink:0;margin-top:1px;color:var(--green-700)}.plan-tip p{margin:0;font-size:.84rem;line-height:1.45;color:var(--text)}.plan-tip strong{color:var(--text-heading)}.plan-tip--mobile{display:none}.plan-hint{margin-top:10px;font-size:.82rem}.plan-hint--mobile,.plan-scroll--dense .plan-day-wd,.plan-scroll--dense .plan-room-pill-text small{display:none}.plan-scroll--dense .plan-room-col{width:58px;min-width:58px;max-width:58px;padding:2px 4px}.plan-scroll--dense .plan-room-pill{justify-content:center}.plan-scroll--dense .plan-room-pill-text{display:none}.plan-scroll--dense .plan-room-pill-num{width:22px;height:22px;font-size:.72rem}.plan-scroll--dense .plan-day-num{font-size:.72rem}.plan-scroll--dense .plan-cell{height:28px}.plan-scroll--dense .plan-track{min-height:28px}.booking-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.booking-header-main{min-width:0;flex:1}.booking-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:6px}.booking-period{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.booking-period-dates{font-size:1.12rem;font-weight:800;color:var(--text-heading);letter-spacing:.01em;line-height:1.2}.booking-period-nights{font-size:.78rem;font-weight:700;color:var(--text-emphasis);background:var(--green-50);border:1px solid var(--pill-border);border-radius:999px;padding:4px 11px;white-space:nowrap}.booking-period--due .booking-period-dates{color:#c2410c}.booking-period--due .booking-period-nights{color:#9a3412;background:#ffedd5;border-color:#fdba74}.status-badge{color:var(--on-accent);font-size:.7rem;font-weight:700;padding:5px 12px;border-radius:999px;white-space:nowrap;box-shadow:0 1px 4px #0000001f}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-item{display:flex;flex-direction:column;gap:2px}.detail-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.detail-item strong{font-size:.95rem}.detail-item small{font-size:.8rem;color:var(--text-muted)}.booking-notes-callout{grid-column:2;grid-row:3;display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:var(--radius);background:linear-gradient(135deg,#fff8e8,#ffefb8);border:2px solid #e8b84a;box-shadow:0 2px 10px #e8b84a38}.booking-notes-kicker{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#9a6700}.booking-notes-kicker:before{content:"📝";font-size:.95rem;letter-spacing:0;text-transform:none}.booking-notes-callout p{margin:0;font-size:.95rem;font-weight:600;line-height:1.45;color:var(--text-heading)}.status-buttons{display:flex;flex-wrap:wrap;gap:8px}.status-btn{font-size:.8rem;padding:8px 14px;background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);transition:border-color .15s ease,background .15s ease}.status-btn:hover{background:var(--surface);border-color:var(--green-500)}.status-btn.active{border-color:var(--status-color, var(--green-500));background:var(--surface);font-weight:700;box-shadow:0 0 0 1px var(--status-color, var(--green-500))}.status-btn.suggested:not(.active){border-color:var(--warning-border);background:var(--warning-bg);box-shadow:0 0 0 1px var(--warning-border)}.status-hint{display:flex;flex-direction:column;gap:12px}.status-hint-text{margin:0;font-size:.92rem;line-height:1.45}.status-hint-note{margin:-4px 0 10px;color:#9a6700}.arrival-banner{display:flex;align-items:center;gap:16px;margin-bottom:14px;padding:18px 20px;border-radius:var(--radius-lg);background:linear-gradient(135deg,#fff9e6,#ffe9a8 42%,#fff3c8);border:2px solid #e8b84a;box-shadow:0 4px 18px #e8b84a47}.arrival-banner-icon{font-size:2.1rem;line-height:1;flex-shrink:0}.arrival-banner-kicker{display:block;margin-bottom:4px;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#9a6700}.arrival-banner-text{margin:0;font-size:1.05rem;line-height:1.45;color:var(--text-heading)}.arrival-banner-text strong{font-size:1.08rem}.doc-table-wrap{overflow-x:auto;margin:12px 0}.doc-table{width:100%;border-collapse:collapse;font-size:.75rem}.doc-table thead tr{background:#ffe9b0;border:none}.doc-table th,.doc-table td{padding:8px 6px;text-align:left;border-bottom:1px solid #e5e0d4}.doc-table th:first-child,.doc-table td:first-child{min-width:2.75rem;white-space:nowrap}.doc-table th:nth-child(4),.doc-table th:nth-child(5),.doc-table td:nth-child(4),.doc-table td:nth-child(5){text-align:right}.doc-table th{padding:5px 6px;font-size:.72rem;font-weight:700;text-transform:uppercase;color:#2a2a2a;letter-spacing:.02em}.totals-block{display:flex;flex-direction:column;gap:6px;margin-left:auto;width:fit-content;min-width:11rem}.totals-block div{display:grid;grid-template-columns:auto auto;gap:12px}.totals-block div span:last-child,.totals-block div strong{text-align:right;min-width:5.5rem}.totals-block .grand{font-size:1.05rem;padding-top:8px;border-top:3px double #000}.letterhead-preview p{font-size:.9rem;margin-bottom:2px}.page--invoice,.page--invoice .panel,.page--invoice input,.page--invoice textarea,.page--invoice button{font-family:Neue Haas Grotesk Display,Neue Haas Grotesk Text,Neue Haas Grotesk,Helvetica Neue,Helvetica,Arial,sans-serif}.invoice-letterhead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--border)}.invoice-letterhead-text{min-width:0}.invoice-letterhead-text p{margin:0 0 4px}.invoice-logo{width:min(180px,42vw);height:auto;flex-shrink:0;object-fit:contain}.invoice-pay-note{margin:18px 0 8px;font-size:.92rem}.invoice-short-notice{margin-top:10px;padding:16px 18px;border-radius:var(--radius);background:linear-gradient(135deg,#f8fbff,#edf4fa);border:1.5px solid #9ec0dc;box-shadow:0 2px 12px #4a80a81f}.invoice-short-notice-title{margin:0 0 12px;font-size:.95rem;font-weight:800;color:#1a4a6e;line-height:1.35}.invoice-short-notice-body p{margin:0 0 10px;font-size:.88rem;line-height:1.55;color:var(--text)}.invoice-short-notice-body p:last-child{margin-bottom:0}.invoice-short-notice-bullet{position:relative;padding-left:1.1rem}.invoice-short-notice-bullet:before{content:"•";position:absolute;left:0;color:#2b6a9b;font-weight:700}.invoice-policy{margin:0 0 4px;line-height:1.45;max-width:52rem;white-space:pre-line}.guest-list{list-style:none;display:flex;flex-direction:column;gap:10px}.guest-card{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;text-align:left;box-shadow:var(--shadow-sm);transition:border-color .15s ease,box-shadow .15s ease,transform .1s ease}.guest-card:hover{border-color:var(--green-500);box-shadow:var(--shadow)}.guest-card.active{border-color:var(--green-600);background:var(--green-50);box-shadow:0 0 0 1px var(--green-500)}.guest-card-main{display:flex;flex-direction:column;gap:3px;min-width:0}.guest-card-main strong{color:var(--text-heading);font-size:.95rem}.guest-card-main small{color:var(--text-muted);font-size:.82rem}.guest-notes-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-style:italic}.gaeste-layout{display:flex;flex-direction:column;gap:16px}.guest-profile{padding:20px}.guest-profile-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.guest-profile-header h2{margin:0;font-size:1.1rem;color:var(--text-heading)}.guest-profile-dl{display:grid;gap:10px;margin:0 0 20px}.guest-profile-dl div{display:grid;grid-template-columns:110px 1fr;gap:8px;font-size:.9rem}.guest-profile-dl dt{color:var(--text-muted);font-weight:500}.guest-profile-dl dd{margin:0}.guest-profile-notes h3{margin:0 0 8px;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.guest-profile-notes p{margin:0;white-space:pre-wrap;line-height:1.5;font-size:.92rem}.field-textarea{width:100%;min-height:80px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);font:inherit;resize:vertical;background:var(--surface);color:inherit}.field-textarea:focus{outline:none;border-color:var(--green-500);box-shadow:0 0 0 2px #2d8a5426}.guest-card-actions{display:flex;gap:6px;flex-shrink:0}.danger-text{color:var(--danger)}.room-list{list-style:none;display:flex;flex-direction:column;gap:10px}.room-edit-card{padding:14px;background:var(--surface-muted);border-radius:var(--radius);border:1px solid var(--border)}.room-price-hint{margin-top:4px}.company-readonly p{font-size:.9rem;margin-bottom:4px}.company-readonly strong{color:var(--text-heading)}.page--stamm{gap:12px;max-width:960px}.stamm-top{display:grid;grid-template-columns:1fr;gap:12px}.stamm-card--appearance{grid-area:appearance}.stamm-card--object{grid-area:object}.stamm-card--prices{grid-area:prices}.stamm-card--rooms{grid-area:rooms}.stamm-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 18px;box-shadow:var(--shadow-sm)}.stamm-heading{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-emphasis);margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.stamm-heading--inline{margin:0;padding:0;border:none}.stamm-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.stamm-card-actions{display:flex;gap:10px;margin-top:14px}.stamm-fields--company{grid-template-columns:1fr}.stamm-fields{display:grid;grid-template-columns:1fr;gap:10px}.stamm-fields--row{grid-template-columns:1fr 88px;gap:12px}.stamm-fields--row .stamm-field--wide{grid-column:1 / -1}.stamm-hint{margin:8px 0 0}.stamm-hint--top{margin:0 0 10px}.stamm-field--top{margin-top:14px}.stamm-textarea{min-height:96px}.theme-toggle{display:grid;grid-template-columns:1fr 1fr;gap:10px}.theme-toggle-btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;border:2px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--text);font-size:.9rem;font-weight:700;cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease}.theme-toggle-btn:hover{border-color:var(--green-500);background:var(--green-50)}.theme-toggle-btn.active{border-color:var(--green-600);background:var(--green-50);box-shadow:inset 0 0 0 1px var(--green-500)}.theme-toggle-sub{font-size:.72rem;font-weight:600;color:var(--text-muted)}.theme-toggle-btn.active .theme-toggle-sub{color:var(--text-highlight)}.backup-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.backup-file-input{display:none}.backup-error{margin:10px 0 0;font-size:.85rem;color:var(--danger)}.stamm-field{display:flex;flex-direction:column;gap:4px;min-width:0}.stamm-field span{font-size:.72rem;font-weight:600;color:var(--text-muted)}.stamm-field input{font-size:.88rem;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--text);width:100%;transition:border-color .15s ease,box-shadow .15s ease}.stamm-field input:focus{outline:none;border-color:var(--green-500);box-shadow:0 0 0 3px #2d8a541a;background:var(--surface)}.stamm-card--rooms{padding:10px 14px 12px;width:100%;max-width:100%}.stamm-card--rooms .stamm-heading{margin-bottom:6px;padding-bottom:5px}.room-table-wrap{overflow-x:auto;max-width:100%}.room-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:.8rem}.room-table thead th{text-align:left;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:0 4px 3px;border-bottom:1px solid var(--border)}.room-table thead th:first-child,.room-table td:first-child{width:132px}.room-table thead th:nth-child(2),.room-table td:nth-child(2){width:52px;text-align:center}.room-table thead th:nth-child(3),.room-table td:nth-child(3){width:72px;text-align:center}.room-table tbody tr{border-bottom:1px solid var(--border)}.room-table tbody tr:last-child{border-bottom:none}.room-table tbody tr:hover{background:var(--green-50)}.room-table td{padding:1px 2px;vertical-align:middle}.room-table-input{width:100%;font-size:.8rem;padding:3px 6px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text);transition:border-color .15s ease,background .15s ease}.room-table-input:hover{background:var(--surface-muted);border-color:var(--border)}.room-table-input:focus{outline:none;background:var(--surface);border-color:var(--green-500);box-shadow:0 0 0 2px #2d8a541a}.room-table-input--num{text-align:center;max-width:64px;margin:0 auto;display:block;padding:2px 4px}.company-dl{display:grid;grid-template-columns:1fr;gap:8px 20px;margin:0}.company-dl>div{display:grid;grid-template-columns:100px 1fr;gap:8px;align-items:baseline;padding:4px 0}.company-dl dt{font-size:.72rem;font-weight:600;color:var(--text-muted);margin:0}.company-dl dd{font-size:.88rem;color:var(--text);margin:0;line-height:1.35}.company-dl dd strong,.stamm-card--company .company-dl dd:first-of-type{color:var(--text-heading);font-weight:600}@media(max-width:899px){.app-header--plan{padding-bottom:10px}.app-header--plan .app-header-logo{width:72px;padding:3px 5px}.app-header--plan .app-header-row{flex-wrap:nowrap;align-items:flex-start}.app-header--plan .app-header-end{width:auto;margin-left:auto;flex-shrink:0}.app-header-end:not(:has(.app-header-project)){width:auto;margin-left:auto}.app-header-project{flex:1;width:100%;min-width:0}.app-header-select{flex:1 1 auto;width:100%;max-width:100%;padding-right:3rem;font-size:.84rem}.btn.header-icon{width:38px;height:38px;flex-shrink:0}.page--plan .plan-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;width:100%}.page--plan .plan-kpi{min-height:0;padding:6px 7px 5px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:6px;row-gap:0;text-align:left;align-items:center;box-shadow:0 1px 6px #0f3d2412}.page--plan .plan-kpi-icon{grid-row:1 / span 2;width:.9rem;height:.9rem;margin:0;align-self:center}.page--plan .plan-kpi .stat-value{grid-column:2;font-size:1.05rem;line-height:1;justify-self:start}.page--plan .plan-kpi .stat-label{grid-column:2;font-size:.5rem;margin-top:1px;line-height:1.15;letter-spacing:.02em}.page--plan .plan-kpi-sub{display:none}.page.page--plan{gap:8px}.plan-panel-head{margin-bottom:8px}.plan-legend--chips{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px;scrollbar-width:thin}.month-nav{margin-bottom:0}.month-nav .month-label{font-size:1.05rem}.month-nav-btn{width:38px;height:38px;font-size:1.35rem}.plan-legend{gap:8px 12px;font-size:.78rem;margin-bottom:8px}.plan-turnover-banner{padding:12px 14px;gap:10px}.plan-turnover-banner-text{font-size:.84rem}.plan-turnover-mark{width:15px;height:15px;border-width:1.5px}.plan-turnover-mark svg{width:9px;height:9px}.legend-dot{width:11px;height:11px}.plan-scroll{--plan-day-width: 30px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;margin-inline:-16px;padding-inline:16px;scrollbar-width:thin}.plan-table{width:max(100%,calc(42px + var(--plan-days, 31) * var(--plan-day-width)));min-width:calc(42px + var(--plan-days, 31) * var(--plan-day-width))}.plan-room-col{width:42px;min-width:42px;max-width:42px;padding:2px 4px;position:sticky;left:0;z-index:6;box-shadow:3px 0 8px #0f3d241a}.plan-room-head{font-size:.55rem}.plan-room-pill{justify-content:center}.plan-room-pill-text{display:none}.plan-room-pill-num{width:26px;height:26px;font-size:.8rem}.plan-day-num{font-size:.78rem}.plan-day-wd{font-size:.62rem}.plan-cell{height:45px}.plan-track{min-height:45px}.plan-scroll--dense .plan-cell{height:35px}.plan-scroll--dense .plan-track{min-height:35px}.plan-bar{top:2px;bottom:2px;padding:0 5px}.plan-bar-label{font-size:.68rem}.plan-scroll--dense .plan-day-wd{display:block}.plan-tip--desktop{display:none}.plan-tip--mobile{display:flex;margin-top:8px}.booking-dates{grid-template-columns:1fr minmax(64px,.45fr);grid-template-areas:"checkin nights" "checkout checkout"}.booking-dates .field:nth-child(1){grid-area:checkin}.booking-dates .field:nth-child(2){grid-area:nights}.booking-dates .field:nth-child(3){grid-area:checkout}.booking-dates input[type=date]{min-width:0;width:100%}.field-with-action{flex-direction:column;align-items:stretch}.field-with-action .btn{width:100%}}@media(min-width:900px){html,body{height:100%;overflow:hidden}#root{height:100dvh;overflow:hidden}body{background:var(--sand-50);overflow-x:hidden}.app-shell{flex-direction:row;align-items:stretch;max-width:none;height:100dvh;min-height:100dvh;margin:0;background:var(--sand-50);overflow:hidden}.side-nav{display:flex;flex-direction:column;width:var(--sidebar-width);flex-shrink:0;background:linear-gradient(175deg,var(--green-700) 0%,var(--green-900) 100%);color:var(--on-accent);padding:28px 0 20px;position:fixed;top:0;left:0;bottom:0;height:100dvh;overflow:hidden;z-index:60;box-shadow:2px 0 16px #0f3d241f}.side-nav-brand{display:block;flex-shrink:0;padding:0 18px 24px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:20px}.side-nav-logo-img{display:block;width:100%;height:auto;max-height:88px;object-fit:contain;background:var(--logo-bg);border-radius:var(--radius);padding:10px 12px;box-shadow:0 2px 10px #0000002e}.side-nav-brand strong{display:block;font-size:1.02rem;line-height:1.25;letter-spacing:-.01em}.side-nav-brand small{display:block;font-size:.78rem;opacity:.7;margin-top:3px}.side-nav-items{display:flex;flex-direction:column;gap:3px;padding:0 14px;flex:1;min-height:0}.side-nav-bottom{margin-top:auto;flex-shrink:0;padding:0 14px}.side-nav-secondary{display:flex;flex-direction:column;gap:3px;padding-top:14px;margin-bottom:10px;border-top:1px solid rgba(255,255,255,.12)}.side-nav-secondary button{display:flex;align-items:center;gap:12px;width:100%;border:none;background:none;color:#ffffff9e;padding:10px 14px;border-radius:var(--radius-sm);font-size:.82rem;font-weight:600;cursor:pointer;text-align:left;transition:background .15s ease,color .15s ease}.side-nav-secondary button:hover{background:#ffffff0f;color:#ffffffe6}.side-nav-secondary button.active{background:#ffffff1a;color:var(--on-accent);font-weight:700;box-shadow:inset 3px 0 #ffffff59}.side-nav-items button{display:flex;align-items:center;gap:12px;width:100%;border:none;background:none;color:#ffffffc7;padding:11px 14px;border-radius:var(--radius-sm);font-size:.88rem;font-weight:600;cursor:pointer;text-align:left;transition:background .15s ease,color .15s ease}.side-nav-items button:hover{background:#ffffff14;color:var(--on-accent)}.side-nav-items button.active{background:#ffffff29;color:var(--on-accent);font-weight:700;box-shadow:inset 3px 0 #fff9}.side-nav-items .nav-icon{width:1.35rem;height:1.35rem;opacity:.92}.side-nav-footer{padding:4px 8px 0;font-size:.68rem;opacity:.45;letter-spacing:.02em}.app-body{flex:1;min-width:0;min-height:0;height:100dvh;margin-left:var(--sidebar-width);width:calc(100% - var(--sidebar-width));overflow:hidden;display:flex;flex-direction:column;background:var(--sand-50)}.app-header{background:var(--surface);color:var(--text);padding:0 32px;height:var(--header-height);display:flex;align-items:center;border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:50}.app-header-row{flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;width:100%;gap:20px}.app-header-logo{display:none}.app-header-title-block{flex-shrink:0}.app-header-tab{font-size:1.35rem;font-weight:700;text-transform:none;letter-spacing:-.02em;opacity:1;margin-bottom:0;color:var(--text-heading)}.app-header-property{display:none}.app-header-end{margin-left:auto;flex-shrink:0;width:auto}.app-header-project{flex:1;min-width:280px;max-width:560px}.app-header-select{box-shadow:none;min-width:320px;width:100%}.btn.header-icon{background:var(--surface-muted);border:1px solid var(--border);color:var(--text-heading)}.btn.header-icon--new{background:var(--green-100);border-color:transparent;color:var(--text-emphasis)}.btn.header-icon.danger{background:var(--danger-bg);border-color:transparent;color:var(--danger)}.page-toolbar--mobile{display:none}.main-content{padding:0;overflow-y:auto;flex:1;min-height:0;height:auto}.bottom-nav-wrap{display:none}.page{padding:28px 32px 32px;max-width:1280px;gap:16px}.page--gaeste{padding-top:8px}.content-area--split{flex-direction:row;height:100%}.booking-sidebar{display:flex;flex-direction:column;width:300px;flex-shrink:0;border-right:1px solid var(--border);background:var(--surface);height:100%;overflow:hidden}.booking-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:18px 18px 14px;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--surface-muted)}.booking-sidebar-header h2{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0;display:flex;align-items:center;gap:8px}.booking-sidebar-alert{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--warning-border);color:#5c4200;font-size:.72rem;font-weight:700;text-transform:none;letter-spacing:0}.booking-sidebar-header .btn{padding:6px 12px;font-size:.82rem}.booking-sidebar-empty{padding:24px 16px;color:var(--text-muted);font-size:.85rem;text-align:center}.booking-sidebar-list{list-style:none;overflow-y:auto;flex:1;padding:8px}.booking-sidebar-item{width:100%;text-align:left;border:1px solid var(--border);background:var(--surface-muted);border-radius:var(--radius-sm);padding:12px 14px;margin-bottom:6px;cursor:pointer;display:flex;flex-direction:column;gap:3px;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.booking-sidebar-item:hover{border-color:var(--green-500);background:var(--surface);box-shadow:var(--shadow-sm)}.booking-sidebar-item.active{border-color:var(--green-600);background:var(--green-50);box-shadow:0 0 0 1px var(--green-500)}.booking-sidebar-item.needs-attention:not(.active){border-color:var(--warning-border);background:var(--warning-bg)}.booking-sidebar-item.has-arrival-today:not(.active){border-color:var(--info-border);background:var(--info-bg)}.booking-sidebar-item-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.booking-sidebar-item strong{font-size:.88rem;color:var(--text-heading);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.booking-sidebar-item-badges{display:flex;align-items:center;gap:6px;flex-shrink:0}.booking-sidebar-warn{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;background:var(--warning-border);color:#5c4200;font-size:.72rem;font-weight:800;line-height:1}.booking-sidebar-info{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:20px;padding:0 6px;border-radius:999px;background:#3b82f6;color:var(--on-accent);font-size:.62rem;font-weight:700;line-height:1;letter-spacing:.02em}.booking-sidebar-dot{width:13px;height:13px;border-radius:50%;flex-shrink:0;box-shadow:0 1px 3px #0000002e}.booking-sidebar-item small{font-size:.75rem;color:var(--text-muted)}.content-main{overflow-y:auto;flex:1}.month-nav .month-label{font-size:1.65rem;letter-spacing:.05em}.page--plan .plan-kpis{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none;width:100%}.page--einnahmen .revenue-kpis,.page--einnahmen .stats-row--revenue-detail{max-width:none;width:100%}.plan-room-col{width:96px;min-width:96px;max-width:96px}.plan-cell{height:32px}.plan-scroll{margin:0;padding:0}.gaeste-layout{display:grid;grid-template-columns:minmax(280px,1fr) minmax(280px,360px);align-items:start;gap:20px}.guest-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.revenue-kpis{width:100%}.stats-row--revenue-detail{grid-template-columns:repeat(4,1fr)}.page--einnahmen{max-width:920px}.expense-form-grid{grid-template-columns:140px 180px 1fr 120px}.expense-form-wide{grid-column:auto}.page--stamm{display:flex;flex-direction:column;gap:12px;max-width:900px}.stamm-top{grid-template-columns:1fr 1fr;grid-template-areas:"appearance object" "prices rooms";gap:12px;align-items:start}.stamm-card--rooms{align-self:stretch}.stamm-fields{grid-template-columns:1fr 1fr;gap:10px 14px}.stamm-field--wide{grid-column:1 / -1}.company-dl{grid-template-columns:1fr 1fr;gap:6px 24px}.stamm-fields--company{grid-template-columns:1fr 1fr;gap:10px 14px}.company-dl>div{grid-template-columns:90px 1fr;padding:2px 0}.doc-table{font-size:.85rem}.modal-panel{max-width:520px}.pdf-actions{flex-direction:row}.pdf-actions .btn{flex:1}}.protocol-list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.protocol-item{padding:12px 14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--green-50)}.protocol-item--gast{border-left:3px solid #3b82f6}.protocol-item--buchung{border-left:3px solid var(--green-600)}.protocol-item--system{border-left:3px solid #a16207}.protocol-item-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.protocol-item-meta{display:flex;align-items:center;gap:8px;flex-shrink:0}.protocol-editor{font-size:.75rem;font-weight:600;color:var(--text-emphasis)}.protocol-item time{font-size:.78rem;font-weight:600;color:var(--text-muted);font-variant-numeric:tabular-nums}.protocol-badge{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-emphasis);background:var(--green-100);padding:2px 8px;border-radius:999px}.protocol-message{margin:0;font-size:.9rem;line-height:1.45;color:var(--text)}[data-theme=dark] .plan-day-col{color:var(--text)}[data-theme=dark] .plan-day-col.weekend{color:var(--plan-weekend-header-text)}[data-theme=dark] .plan-tip{background:linear-gradient(135deg,#28342c,#2d4036);border-color:#3a5a44}[data-theme=dark] .plan-tip-icon{color:var(--green-500)}[data-theme=dark] .plan-hint,[data-theme=dark] .plan-legend{color:var(--text-muted)}[data-theme=dark] .guest-card.active,[data-theme=dark] .booking-sidebar-item.active{background:var(--green-50);border-color:var(--green-500)}[data-theme=dark] .btn.header-icon--new{background:var(--btn-secondary-bg);color:var(--text-highlight)}[data-theme=dark] .doc-table th,[data-theme=dark] .doc-table td{border-bottom-color:var(--border);color:var(--text)}[data-theme=dark] .totals-block .grand{border-top-color:var(--border)}[data-theme=dark] .arrival-banner{background:linear-gradient(135deg,#3d3520,#5c4a1a,#3d3520);border-color:#c9a227;box-shadow:0 4px 18px #c9a22733}[data-theme=dark] .arrival-banner-kicker{color:#f0d060}[data-theme=dark] .arrival-banner-text{color:var(--text)}[data-theme=dark] .plan-turnover-banner{background:linear-gradient(135deg,#3d2818,#5c3a1f,#3d2818);border-color:#ea580c;box-shadow:0 4px 18px #ea580c33}[data-theme=dark] .plan-turnover-banner-kicker,[data-theme=dark] .plan-turnover-banner-text strong{color:#fdba74}[data-theme=dark] .plan-turnover-banner-text{color:var(--text)}[data-theme=dark] .plan-cell--turnover.weekend{background:var(--plan-weekend-cell-bg)}[data-theme=dark] .booking-notes-callout{background:linear-gradient(135deg,#3d3520,#5c4a1a);border-color:#c9a227;box-shadow:0 2px 10px #c9a2272e}[data-theme=dark] .booking-notes-kicker{color:#f0d060}[data-theme=dark] .booking-notes-callout p{color:var(--text)}[data-theme=dark] .invoice-short-notice{background:linear-gradient(135deg,#243038,#2a3a45);border-color:#4a7080;box-shadow:0 2px 12px #0003}[data-theme=dark] .invoice-short-notice-title{color:#9ec8e0}[data-theme=dark] .page--plan .plan-kpi--occupied{background:linear-gradient(145deg,#243328,#2a4034);border-color:#3a5a44}[data-theme=dark] .page--plan .plan-kpi--arrivals{background:linear-gradient(145deg,#243038,#2a3a45);border-color:#4a7080}[data-theme=dark] .page--plan .plan-kpi--arrivals.plan-kpi--highlight{background:linear-gradient(145deg,#3d3520,#5c4a1a);border-color:#c9a227}[data-theme=dark] .page--plan .plan-kpi--departures{background:linear-gradient(145deg,#28342c,#323c34);border-color:#4a5a50}[data-theme=dark] .revenue-occupancy{background:linear-gradient(145deg,#243328,#2d4036);border-color:#3a5a44}[data-theme=dark] .page--plan .plan-kpi .stat-value{color:var(--text)}[data-theme=dark] .invoice-short-notice-bullet:before{color:#7eb8d8}
