:root{--color-surface: #ffffff;--color-background: #f5f5f5;--color-border: #ddd;--color-border-light: #eee;--color-text: #333;--color-text-muted: #6b7280;--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-success: #16a34a;--color-success-light: #dcfce7;--color-success-dark: #166534;--color-danger: #dc2626;--color-danger-light: #fee2e2;--color-danger-dark: #991b1b;--radius-sm: 3px;--radius-md: 4px;--radius-lg: 6px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 4px rgba(0, 0, 0, .06);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem}.form-card{background:#ffffff;border:1px solid #ddd;border-radius:6px;padding:1.25rem;margin-bottom:1rem}.form-card h3{margin:0 0 1rem;font-size:1.1rem}.form-group{margin-bottom:.75rem}.form-group label{display:block;margin-bottom:.25rem;font-weight:500;font-size:.85rem;color:#374151}.form-group input[type=text],.form-group input[type=number],.form-group input[type=date],.form-group input[type=datetime-local],.form-group input[type=email],.form-group input[type=search],.form-group input[type=url],.form-group input[type=tel],.form-group input[type=password],.form-group select,.form-group textarea{width:100%;padding:.4rem .5rem;border:1px solid #ccc;border-radius:4px;font-size:.85rem;background:#ffffff;color:#333;transition:border-color .15s}.form-group input[type=text]:focus,.form-group input[type=number]:focus,.form-group input[type=date]:focus,.form-group input[type=datetime-local]:focus,.form-group input[type=email]:focus,.form-group input[type=search]:focus,.form-group input[type=url]:focus,.form-group input[type=tel]:focus,.form-group input[type=password]:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1f}.form-group textarea{resize:vertical}.form-group input[type=checkbox]{margin-right:.35rem}.form-row{display:flex;gap:1rem}.form-row .form-group{flex:1;min-width:0}.form-actions{display:flex;gap:.5rem;margin-top:.5rem}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#ffffff;border-radius:8px;box-shadow:0 8px 30px #00000026;width:90%;max-width:640px;max-height:90vh;display:flex;flex-direction:column}.modal-content>form{display:contents}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid #ddd}.modal-header h3{margin:0;font-size:1.1rem}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;padding:0 .25rem;line-height:1}.modal-close:hover{color:#333}.modal-body{padding:1rem 1.5rem;overflow-y:auto;flex:1}.modal-footer{display:flex;gap:.5rem;padding:.75rem 1.5rem;border-top:1px solid #ddd}.filter-bar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:1rem;padding:.75rem;background:#ffffff;border:1px solid #ddd;border-radius:6px}.filter-bar select,.filter-bar input[type=date],.filter-bar input[type=search]{padding:.35rem .5rem;border:1px solid #ccc;border-radius:4px;font-size:.85rem;background:#ffffff}.filter-bar select:focus,.filter-bar input[type=date]:focus,.filter-bar input[type=search]:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1f}.table-card{background:#ffffff;border:1px solid #ddd;border-radius:6px;padding:0;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:1rem}.data-table{width:100%;border-collapse:collapse;background:#ffffff;border:1px solid #ddd;border-radius:6px;overflow:hidden}.data-table th,.data-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid #eee;font-size:.85rem}.data-table th{background:#f9fafb;font-weight:600;white-space:nowrap;color:#4b5563;font-size:.8rem;text-transform:uppercase;letter-spacing:.02em}.data-table tbody tr{transition:background .1s}.data-table tbody tr:hover{background:#f5f7ff}.data-table tbody tr:last-child td{border-bottom:none}.data-table .actions{white-space:nowrap;display:flex;gap:.25rem}.data-table .text-right{text-align:right}.data-table .text-center{text-align:center}.data-table .text-mono{font-variant-numeric:tabular-nums}.table-card>.data-table{border:none;border-radius:0}.container{max-width:1200px;margin:0 auto;padding:1.5rem}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.page-header h2{margin:0;font-size:1.5rem;color:#111827}.page-header .page-subtitle{margin:.25rem 0 0;font-size:.85rem;color:#6b7280;font-weight:400}.toolbar{margin-bottom:1rem}.btn{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .85rem;font-size:.85rem;font-weight:500;border:1px solid #ccc;border-radius:4px;background:#ffffff;color:#333;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s;white-space:nowrap}.btn:hover{background:#f3f4f6}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.btn.btn-primary{background:#2563eb;color:#fff;border-color:#2563eb}.btn.btn-primary:hover{background:#1d4ed8}.btn.btn-danger{color:#dc2626;border-color:#dc2626}.btn.btn-danger:hover{background:#fef2f2}.btn.btn-sm{padding:.2rem .55rem;font-size:.8rem}.btn.btn-ghost{border-color:transparent;background:transparent;color:#6b7280}.btn.btn-ghost:hover{background:#f3f4f6;color:#333}.badge{display:inline-block;padding:.2rem .55rem;border-radius:8px;font-size:.75rem;font-weight:600;letter-spacing:.01em;line-height:1.4}.badge.badge-confirmed{background:#dcfce7;color:#166534}.badge.badge-cancelled{background:#fee2e2;color:#991b1b}.badge.badge-blocked{background:#fef3c7;color:#92400e}.badge.badge-option{background:#e0e7ff;color:#3730a3}.badge.badge-ok{background:#dcfce7;color:#166534}.badge.badge-off{background:#fee2e2;color:#991b1b}.badge.badge-past{background:#f3f4f6;color:#6b7280}.badge.badge-paid{background:#dcfce7;color:#166534}.badge.badge-unpaid{background:#fee2e2;color:#991b1b}.badge.badge-channel{background:#dbeafe;color:#1e40af}.badge.badge-channel-airbnb{background:#fff0f0;color:#ff5a5f}.badge.badge-channel-booking{background:#e8eef6;color:#003580}.badge.badge-channel-direct{background:#ecfdf5;color:#16a34a}.badge.badge-channel-other{background:#f3f4f6;color:#6b7280}.info{color:#6b7280;font-style:italic}.error{color:#dc2626;font-weight:500}.alert-error{padding:.75rem 1rem;background:#fef2f2;border:1px solid #fee2e2;border-radius:6px;color:#991b1b;font-size:.85rem;margin-bottom:1rem}.empty-state{text-align:center;padding:2rem 1rem;color:#6b7280}.empty-state .empty-state-text{font-size:.9rem;margin-bottom:1rem}.loading-state{text-align:center;padding:2rem 1rem;color:#6b7280;font-style:italic}.link-sm{font-size:.8rem;color:#2563eb;text-decoration:none}.link-sm:hover{text-decoration:underline}.guest-contact{margin-top:.25rem;font-size:.8rem;color:#6b7280}.guest-contact .guest-info{display:inline-block;margin-right:.75rem}.net-preview{display:inline-block;padding:.4rem .5rem;font-weight:600;font-size:.95rem;color:#166534;background:#dcfce7;border-radius:4px}.direct-fields{border:1px solid #e0e7ff;border-radius:6px;padding:.75rem;margin-bottom:.75rem;background:#f5f7ff}.direct-fields h4{margin:0 0 .5rem;font-size:.9rem;color:#3730a3}.text-muted{color:#6b7280}.text-green{color:#166534;font-weight:600}.text-red,.text-diff{color:#dc2626;font-weight:600}.text-right{text-align:right}.text-center{text-align:center}.text-mono{font-variant-numeric:tabular-nums}.font-bold{font-weight:700}.option-tag{display:inline-block;min-width:20px;height:20px;line-height:20px;text-align:center;border-radius:3px;font-size:.75rem;font-weight:700;padding:0 3px}.option-yes{background:#e0e7ff;color:#3730a3}.option-pending{background:#fff3cd;color:#856404}.pagination{display:flex;align-items:center;justify-content:center;gap:.75rem;margin:1rem 0}.pagination .pagination-info{font-size:.8rem;color:#6b7280;min-width:60px;text-align:center}.results-info{font-size:.8rem;color:#6b7280;margin-bottom:.5rem}.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.sortable:hover{color:#2563eb}.search-input{min-width:200px}.clickable-row{cursor:pointer}.ical-panel{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:1rem;margin:.5rem 0}.ical-panel .ical-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.ical-panel .ical-header h4{margin:0;font-size:.9rem}.ical-panel .ical-header>div{display:flex;gap:.5rem}.ical-panel .ical-form{background:#ffffff;border:1px solid #ccc;border-radius:4px;padding:.75rem;margin-bottom:.75rem}.ical-panel .ical-form h5{margin:0 0 .5rem;font-size:.85rem}.ical-panel .data-table-sm{font-size:.8rem}.ical-panel .data-table-sm th,.ical-panel .data-table-sm td{padding:.3rem .5rem}.ical-sync-result{margin-top:.75rem;background:#ffffff;border:1px solid #ccc;border-radius:4px;padding:.75rem}.ical-sync-result h5{margin:0 0 .5rem;font-size:.85rem}.ical-sync-result .sync-stats{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}.conflict-list{margin-top:.5rem}.conflict-list .conflict-warn{color:#92400e;font-weight:500;margin:0 0 .25rem;font-size:.8rem}.conflict-list .conflict-item{font-size:.8rem;color:#6b7280;padding:.25rem 0;border-bottom:1px solid #f3f4f6}.badge-imported{background:#e0e7ff;color:#4338ca;font-size:.7rem;padding:.1rem .4rem;margin-left:.25rem}.badge-neutral{background:#e5e7eb;color:#374151}.badge-warn{background:#fef3c7;color:#92400e}.badge-airbnb{background:#ffe5e7;color:#ff5a5f}.badge-booking{background:#e0ecff;color:#003580}.imported-banner{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#e0e7ff;border:1px solid #c7d2fe;border-radius:4px;color:#4338ca;font-size:.8rem;font-weight:500;margin-bottom:.75rem}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-checklist{display:flex;flex-direction:column;gap:.25rem}.task-check-item{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;border-radius:4px}.task-check-item:hover{background:#f9fafb}.task-check-item.task-done .task-check-label span,.task-check-item.task-cancelled .task-check-label span{text-decoration:line-through;color:#6b7280}.task-check-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;flex:1}.task-check-label input[type=checkbox]{width:16px;height:16px}.task-check-due{font-size:.8rem;color:#6b7280;font-variant-numeric:tabular-nums}.doc-upload{margin-bottom:.5rem}.doc-list{display:flex;flex-direction:column;gap:.25rem}.doc-item{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;border-radius:4px}.doc-item:hover{background:#f9fafb}.doc-name{flex:1;cursor:pointer;color:#2563eb;font-weight:500}.doc-name:hover{text-decoration:underline}.doc-size{font-size:.8rem;color:#6b7280;font-variant-numeric:tabular-nums}.header-actions{display:flex;gap:.5rem;align-items:center}.btn-ghost{background:transparent;border:1px solid #d1d5db;color:#333;cursor:pointer;padding:.25rem .75rem;border-radius:4px;font-size:.8rem;font-weight:500}.btn-ghost:hover{background:#f9fafb;border-color:#9ca3af}.collapsible-section{margin-bottom:.75rem}.collapsible-section .collapsible-content{margin-top:.5rem;padding:.75rem;border:1px solid #e5e7eb;border-radius:4px;background:#f9fafb}.is-drag-over{position:relative;outline:2px dashed #2563eb;outline-offset:-2px;background:rgba(37,99,235,.06)!important;transition:outline-color .1s,background .1s}html,body{overflow-x:hidden;width:100%}.container{overflow-x:hidden;max-width:100%}@media (max-width: 767px){.container{padding:.75rem}}@media (max-width: 767px){.page-header{flex-direction:column;gap:.5rem;align-items:stretch}.page-header .header-actions,.page-header>div:last-child{display:flex;flex-wrap:wrap;gap:.5rem}}.table-card,.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}@media (max-width: 767px){.data-table{font-size:.8rem}.data-table th,.data-table td{padding:.25rem .5rem;font-size:.75rem}.data-table .actions{gap:2px}}@media (max-width: 767px){.filter-bar{flex-direction:column;align-items:stretch;gap:.5rem;padding:.5rem}.filter-bar select,.filter-bar input[type=date],.filter-bar input[type=search],.filter-bar input[type=text],.filter-bar input[type=number]{width:100%}}@media (max-width: 767px){.form-row{flex-direction:column;gap:.5rem}}@media (max-width: 767px){.modal-content{width:100%;max-width:100%;max-height:100vh;border-radius:0;height:100%}}@media (max-width: 767px){.modal-header{padding:.75rem 1rem}}@media (max-width: 767px){.modal-body{padding:.75rem 1rem}}@media (max-width: 767px){.modal-footer{padding:.75rem 1rem;flex-wrap:wrap}}@media (max-width: 767px){.pagination{gap:.5rem;flex-wrap:wrap}.pagination .pagination-info{font-size:.75rem}}@media (max-width: 479px){.btn{padding:.35rem .65rem;font-size:.8rem}}@media (max-width: 767px){.results-info{font-size:.75rem}}@media (max-width: 767px){.kpi-grid{grid-template-columns:repeat(2,1fr)!important;gap:.5rem}}@media (max-width: 479px){.kpi-grid{grid-template-columns:1fr!important}}@media (max-width: 767px){.ical-panel{padding:.5rem}.ical-panel .ical-header{flex-direction:column;gap:.5rem;align-items:stretch}.ical-panel .ical-form{padding:.5rem}}@media (max-width: 767px){.section-card{padding:.75rem}}@media (max-width: 767px){.direct-fields{padding:.5rem}}@media (max-width: 767px){.preview-overlay .preview-panel,.preview-panel{max-width:100%;width:100%;border-radius:0;max-height:100vh}}@media (max-width: 767px){.header-actions{flex-wrap:wrap;gap:.5rem}}@media (max-width: 767px){.hide-mobile{display:none!important}}@media (max-width: 1023px){.hide-tablet-down{display:none!important}}@media (min-width: 1024px){.hide-desktop{display:none!important}}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:var(--font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif);font-size:14px;color:var(--color-text);background:var(--color-background);overflow-x:hidden;min-width:0}h2{margin:0 0 1rem;font-size:1.5rem}
