html,body{color:#222;background-color:#add8e6;margin:0;font-family:Arial,sans-serif}h1{text-align:center;margin:0}h2{margin-top:0}.page-content{max-width:100%;margin:0 auto;padding:20px}.booking-page-layout{justify-content:space-between;gap:1rem;padding:0;display:flex}.page-primary-panel{background-color:#f5f5f5;border-radius:10px;width:70%;margin:0;padding:20px}.page-sidebar-panel{background-color:#f5f5f5;border-radius:10px;align-self:flex-start;width:30%;margin:0;padding:20px;position:sticky;top:20px}.site-navbar{background-color:#333;justify-content:space-between;align-items:center;padding:0 20px;display:flex;overflow:visible}.site-navbar a{color:#f2f2f2;padding:14px 16px;text-decoration:none;display:block}.site-navbar a:hover{background-color:#575757}.site-navbar-links-primary,.site-navbar-links-user{align-items:stretch;display:flex}.offline-indicator{color:#fff;background-color:#b45309;border-radius:4px;align-self:center;margin-right:8px;padding:4px 10px;font-size:.85rem;font-weight:700}.sync-indicator{justify-content:center;align-self:stretch;align-items:center;display:flex;overflow:visible}.sync-indicator-graphic{justify-content:center;align-items:center;width:20px;height:20px;display:flex;position:relative;overflow:visible}.sync-indicator-core{z-index:0;background-color:#16a34a;border-radius:50%;width:34px;height:34px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sync-indicator-icon{z-index:1;color:#f2f2f2;display:block;position:relative;overflow:visible}.sync-indicator--offline .sync-indicator-core{background-color:#dc2626;animation:1.5s ease-in-out infinite sync-indicator-core-breathe}.sync-indicator--warning .sync-indicator-core{background-color:#ca8a04;animation:1.5s ease-in-out infinite sync-indicator-core-breathe}.sync-indicator--ok .sync-indicator-core{background-color:#16a34a}@keyframes sync-indicator-core-breathe{0%,to{opacity:.6;transform:translate(-50%,-50%)scale(1)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.2)}}.site-footer{background-color:#333;justify-content:flex-end;align-items:center;margin-top:auto;padding:0 20px;display:flex}.site-footer a{color:#f2f2f2;padding:14px 16px;text-decoration:none;display:block}.site-footer a:hover{background-color:#575757}.site-footer-links{align-items:stretch;display:flex}.navbar-account-switcher{align-items:stretch;display:flex;position:relative}.navbar-account-trigger{cursor:pointer}.navbar-account-dropdown{z-index:100;background-color:#444;border-radius:6px;min-width:220px;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 4px 12px #0000004d}.navbar-account-option{color:#f2f2f2;text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:12px 16px;font-size:14px;display:block}.navbar-account-option:hover{background-color:#575757}.navbar-account-option.is-active{background-color:#4a90e2}.navbar-account-add-link{color:#aad4ff;border-top:1px solid #575757;padding:12px 16px;font-size:14px;text-decoration:none;display:block}.navbar-account-add-link:hover{background-color:#575757}.auth-form{flex-direction:column;gap:8px;max-width:420px;margin:20px auto;display:flex}.auth-form input{border:1px solid #ccc;border-radius:6px;padding:10px;font-size:14px}.auth-form input:focus{border-color:#4a90e2;outline:none;box-shadow:0 0 5px #4a90e24d}.auth-form button{color:#fff;cursor:pointer;background-color:#333;border:none;border-radius:6px;margin-top:12px;padding:12px;font-size:15px}.auth-form button:hover{background-color:#555}.auth-message{text-align:center;max-width:420px;margin:12px auto}.auth-message--error{color:#c0392b}.auth-message--success{color:#1e7e34}.booking-notice{color:#664d03;background:#fff3cd;border:1px solid #ffecb5;border-radius:6px;margin:0 0 16px;padding:12px 16px}.booking-form{flex-direction:column;width:100%;display:flex}.booking-form input,.booking-form select,.booking-form textarea{border:1px solid #ccc;border-radius:6px;margin-bottom:10px;padding:10px;font-size:14px}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:#4a90e2;outline:none;box-shadow:0 0 5px #4a90e24d}.booking-form button{color:#fff;cursor:pointer;background-color:#333;border:none;border-radius:6px;margin-top:20px;padding:12px;font-size:15px;transition:background .2s}.booking-form button:hover{background-color:#555}.booking-form-row{flex-direction:row;flex-grow:1;gap:20px;display:flex}.booking-form-column{flex-direction:column;flex-grow:1;display:flex}.booking-sidebar-nav{flex-direction:column;align-items:stretch;gap:20px;margin:0;padding:0;list-style:none;display:flex}.booking-sidebar-nav-link{color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;width:100%;min-height:100px;font-family:inherit;font-size:24px;font-weight:700;text-decoration:none;transition:background-color .2s,transform .1s;display:flex}.booking-sidebar-nav-link.is-active{outline-offset:-3px;outline:3px solid #fff}.booking-sidebar-nav-link:hover{background-color:#555}.booking-sidebar-nav-link:active{transform:scale(.98)}.booking-sidebar-nav-link--bookings{background-color:#8fbc8f}.booking-sidebar-nav-link--new-booking{background-color:#4682b4}.booking-sidebar-nav-link--walk-in{background-color:#9acd32}.booking-sidebar-nav-link--save{background-color:#333}.booking-header-group{z-index:10;align-items:center;gap:12px;margin-bottom:20px;display:flex;position:relative;overflow:visible}.booking-date-picker-wrap{flex:1;min-width:0;position:relative;overflow:visible}.booking-day-header-panel{cursor:pointer;transition:background-color .2s;position:relative;overflow:visible}.booking-day-header-panel:hover{background-color:#b8b8b8}.booking-date-dropdown{z-index:200;background-color:#c8c8c8;border:2px solid #9a9a9a;border-radius:12px;margin-top:6px;position:absolute;top:100%;left:0;right:0;box-shadow:0 8px 24px #0000004d}.booking-date-today{color:#111;cursor:pointer;white-space:nowrap;background-color:#c8c8c8;border:2px solid #9a9a9a;border-radius:8px;flex-shrink:0;height:44px;padding:0 14px;font-size:14px;font-weight:700;transition:background-color .2s}.booking-date-today:hover:not(:disabled){background-color:#b0b0b0}.booking-date-today:disabled{opacity:.5;cursor:default}.booking-date-dropdown-list{max-height:min(70vh,520px);overflow-y:auto}.booking-date-option{color:#111;font-variant-numeric:tabular-nums;text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 16px;font-size:16px;transition:background-color .2s;display:flex}.booking-date-option-label{min-width:0}.booking-date-option-pax{flex-shrink:0}.booking-date-option-pax .booking-summary-pax-total{font-size:18px}.booking-date-option-pax .booking-summary-pax-breakdown{font-size:12px}.booking-date-option:hover{background-color:#0000001f}.booking-date-option.is-selected{color:#fff;background-color:#4a90e2;font-weight:700}.booking-date-option.is-selected:hover{background-color:#3a7bc8}.booking-date-option.is-today:not(.is-selected){font-weight:700}.booking-date-month-group+.booking-date-month-group{border-top:1px solid #0000001f}.booking-date-month-toggle{color:#111;text-align:left;cursor:pointer;background-color:#b0b0b0;border:none;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 16px;transition:background-color .2s;display:flex}.booking-date-month-toggle:hover{background-color:#a4a4a4}.booking-date-month-chevron{border-bottom:2px solid;border-right:2px solid;flex-shrink:0;width:8px;height:8px;transition:transform .2s;transform:rotate(-45deg)}.booking-date-month-group.is-expanded .booking-date-month-chevron{transform:rotate(45deg)}.booking-month-separator-label{letter-spacing:.04em;color:#333;font-size:14px;font-weight:700}.booking-date-month-days .booking-date-option{padding-left:24px}.booking-day-header-heading{color:#111;border-bottom:none;border-radius:8px;padding:12px 16px;font-size:24px}.booking-header-title{justify-content:center;align-items:center;gap:10px;display:flex}.booking-header-title h1{font-variant-numeric:tabular-nums;min-width:0;font-size:24px;font-weight:700}.booking-list-date-left,.booking-list-date-right{color:#111;cursor:pointer;background-color:#c8c8c8;border:2px solid #9a9a9a;border-radius:8px;flex-shrink:0;width:44px;height:44px;padding:0;font-size:28px;line-height:1;transition:background-color .2s}.booking-list-date-left:hover,.booking-list-date-right:hover{background-color:#b0b0b0}.booking-manager-list{flex-direction:column;row-gap:24px;display:flex}.booking-timeslot-group{background-color:#c8c8c8;border:2px solid #9a9a9a;border-radius:12px;overflow:hidden}.booking-day-header-panel.booking-timeslot-group{overflow:visible}.booking-timeslot-heading{font-variant-numeric:tabular-nums;color:#111;background-color:#0000002e;border-bottom:2px solid #0000001f;padding:8px 16px;font-size:24px;font-weight:700}.booking-day-total .booking-timeslot-heading{border-bottom:none;flex-direction:column;gap:10px;display:flex}.booking-timeslot-items{flex-direction:column;gap:6px;padding:8px;display:flex}.booking-list-item-card{cursor:pointer;background-color:#8f8f8f;border-radius:10px;margin:0;padding:4px 16px}.booking-list-item-summary{flex-direction:column;gap:10px;display:flex}.booking-summary-primary{grid-template-columns:1fr auto auto;align-items:center;gap:10px 14px;display:grid}.booking-summary-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:22px;font-weight:700;line-height:1.2;overflow:hidden}.booking-summary-time{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:20px;font-weight:700}.booking-summary-pax{white-space:nowrap;align-items:center;gap:6px;display:flex}.booking-summary-pax-total{background-color:#ffffff4d;border:2px solid #ffffff80;border-radius:999px;padding:2px 8px;font-size:24px;font-weight:700;line-height:1}.booking-summary-pax-breakdown{gap:4px;font-size:14px;font-weight:700;display:flex}.booking-summary-pax-breakdown span{background-color:#ffffff40;border-radius:999px;padding:2px 6px}.booking-summary-contact{grid-template-columns:1fr 1fr;gap:8px;display:grid}.booking-summary-phone,.booking-summary-email{text-overflow:ellipsis;white-space:nowrap;border-radius:6px;padding:8px 10px;font-size:15px;font-weight:700;overflow:hidden}.booking-summary-phone{background-color:#2e7d3259}.booking-summary-phone:before{content:"☎ "}.booking-summary-email{background-color:#1976d259}.booking-summary-email:before{content:"@ ";font-weight:400}.booking-summary-phone.is-empty,.booking-summary-email.is-empty{opacity:.45;text-align:center;font-weight:400}.booking-summary-phone.is-empty:before,.booking-summary-email.is-empty:before{content:none}.booking-list-item-details{border-top:2px solid #ffffff59;margin-top:10px;padding-top:10px;display:none}.booking-list-item-details.is-expanded{display:block}.booking-detail-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;display:grid}.booking-detail-time{font-variant-numeric:tabular-nums;font-size:32px;font-weight:700;line-height:1.1}.booking-detail-pax{text-align:right;flex-direction:row;justify-content:right;align-items:center;gap:6px;display:flex}.booking-detail-time-preference{text-align:right;flex-direction:row;justify-content:left;align-items:center;gap:4px;display:flex}.booking-detail-pax-total{opacity:.85;background-color:#ffffff4d;border:2px solid #ffffff80;border-radius:999px;padding:2px 8px;font-size:40px;font-weight:700;line-height:1}.booking-detail-pax-breakdown{opacity:.85;gap:6px;margin-top:0;font-size:16px;font-weight:700;display:flex}.booking-detail-pax-breakdown span{background-color:#ffffff4d;border:2px solid #ffffff80;border-radius:999px;padding:2px 8px}.booking-detail-contact{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:12px;display:grid}.booking-detail-phone,.booking-detail-email{color:inherit;word-break:break-word;border-radius:8px;padding:14px 16px;font-size:18px;font-weight:700;text-decoration:none;display:block}.booking-detail-phone{background-color:#2e7d3259}.booking-detail-phone:before{content:"☎ "}.booking-detail-email{background-color:#1976d259}.booking-detail-email:before{content:"@ ";font-weight:400}a.booking-detail-phone:hover,a.booking-detail-email:hover{filter:brightness(1.08)}.booking-detail-empty{opacity:.45;text-align:center;font-weight:400}.booking-detail-empty:before{content:none}.booking-detail-preference,.booking-detail-status{text-transform:capitalize;opacity:.85;box-sizing:border-box;white-space:nowrap;border:2px solid #ffffff80;border-radius:999px;justify-content:center;align-items:center;padding:8px 20px;font-size:18px;font-weight:700;line-height:1;display:inline-flex}.booking-detail-status{color:inherit;cursor:pointer;appearance:none;margin:0;font-family:inherit}.booking-detail-preference{background-color:#ffffff4d;grid-column:1/-1;justify-self:center}.booking-detail-status.is-pending{background-color:#c0392b8c}.booking-detail-status.is-set{background-color:#e67e228c}.booking-detail-status.is-seated{background-color:#2e7d328c}.booking-detail-notes{white-space:pre-wrap;background-color:#0000001f;border-left:4px solid #fff9;border-radius:0 8px 8px 0;grid-column:1/-1;margin:0;padding:6px 8px 6px 10px;font-size:17px;line-height:1.45}.booking-detail-notes.is-empty{opacity:.55;font-style:italic}.booking-actions-row{gap:10px;display:flex}.booking-actions-row button{cursor:pointer;color:#fff;border:none;border-radius:6px;width:100%;min-height:100px;padding:8px 16px;font-size:14px}.booking-action-edit{background-color:#4682b4}.booking-action-delete{background-color:#c0392b}.booking-action-edit:hover{background-color:#4a7dab}.booking-action-delete:hover{background-color:#a93226}.sync-status-page{background-color:#f5f5f5;border-radius:10px;max-width:1200px;margin:0 auto;padding:20px}.sync-status-page h1{margin-bottom:1.5rem}.sync-status-summary{background-color:#fff;border:1px solid #ddd;border-radius:8px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-bottom:1.5rem;padding:16px;display:grid}.sync-status-metric{flex-direction:column;gap:4px;display:flex}.sync-status-metric-label{text-transform:uppercase;color:#666;letter-spacing:.03em;font-size:.75rem}.sync-status-metric-value{font-size:.95rem;font-weight:700}.sync-status-metric--offline .sync-status-metric-value{color:#dc2626}.sync-status-metric--warning .sync-status-metric-value{color:#ca8a04}.sync-status-metric--ok .sync-status-metric-value{color:#16a34a}.sync-status-message{color:#555;grid-column:1/-1;margin:8px 0 0;font-size:.9rem}.sync-status-loading{color:#666;grid-column:1/-1;margin:0}.sync-status-panels{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem;display:grid}@media (width<=768px){.sync-status-panels{grid-template-columns:1fr}}.sync-status-panel{background-color:#fff;border:1px solid #ddd;border-radius:8px;flex-direction:column;min-height:280px;padding:16px;display:flex}.sync-status-panel h2{margin:0 0 4px;font-size:1.1rem}.sync-status-panel-subtitle{color:#666;margin:0 0 12px;font-size:.85rem}.sync-status-panel-scroll{flex:1;max-height:360px;padding-right:4px;overflow-y:auto}.sync-status-item{background-color:#f8f8f8;border-left:3px solid #94a3b8;border-radius:6px;margin-bottom:8px;padding:10px 12px}.sync-status-item--summary{border-left-color:#16a34a}.sync-status-item-header{align-items:center;gap:8px;margin-bottom:4px;display:flex}.sync-status-item-id{color:#888;word-break:break-all;font-size:.75rem}.sync-status-item-detail{margin:2px 0;font-size:.9rem}.sync-status-item-meta{color:#666;margin:4px 0 0;font-size:.8rem}.sync-status-op-badge{text-transform:uppercase;color:#fff;border-radius:4px;padding:2px 6px;font-size:.7rem;font-weight:700;display:inline-block}.sync-status-op-badge--put{background-color:#2563eb}.sync-status-op-badge--patch{background-color:#ca8a04}.sync-status-op-badge--delete{background-color:#dc2626}.sync-status-empty{color:#888;margin:0;font-style:italic}.sync-status-queue-size{color:#666;margin:0 0 8px;font-size:.85rem}.sync-status-download-progress{margin-bottom:12px}.sync-status-download-progress p{margin:0 0 8px;font-size:.9rem}.sync-status-progress-bar{background-color:#e5e7eb;border-radius:4px;height:8px;overflow:hidden}.sync-status-progress-bar-fill{background-color:#2563eb;border-radius:4px;height:100%;transition:width .3s}.sync-status-active-label{color:#ca8a04;margin:0 0 8px;font-weight:700}.sync-status-activity-heading{color:#555;margin:12px 0 8px;font-size:.9rem}.sync-status-issues{background-color:#fff;border:1px solid #ddd;border-radius:8px;padding:16px}.sync-status-issues-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px;display:flex}.sync-status-issues-header h2{margin:0;font-size:1.1rem}.sync-status-reconnect-btn{color:#fff;cursor:pointer;background-color:#4682b4;border:none;border-radius:6px;padding:8px 16px;font-size:.9rem}.sync-status-reconnect-btn:hover:not(:disabled){background-color:#4a7dab}.sync-status-reconnect-btn:disabled{opacity:.6;cursor:not-allowed}.sync-status-issue{border-left:3px solid #94a3b8;border-radius:6px;margin-top:10px;padding:10px 12px}.sync-status-issue--error{background-color:#fef2f2;border-left-color:#dc2626}.sync-status-issue--warning{background-color:#fffbeb;border-left-color:#ca8a04}.sync-status-issue-type{text-transform:uppercase;color:#555;margin:0 0 4px;font-size:.8rem;font-weight:700}.sync-status-issue-message{margin:0;font-size:.9rem}.sync-status-issue-meta{color:#888;margin:4px 0 0;font-size:.75rem}.metrics-page-layout{min-width:0;max-width:100%;padding:0}.page-primary-panel.metrics-page-panel{width:100%}.metrics-page-panel{box-sizing:border-box;min-width:0;max-width:100%;overflow-x:auto}.metrics-header-group{align-items:center;gap:12px;min-width:0;margin-bottom:20px;display:flex}.metrics-header-group h1{text-align:center;flex:1}.metrics-week-left,.metrics-week-right{color:#111;cursor:pointer;background-color:#c8c8c8;border:2px solid #9a9a9a;border-radius:8px;flex-shrink:0;width:44px;height:44px;padding:0;font-size:28px;line-height:1;transition:background-color .2s}.metrics-week-left:hover,.metrics-week-right:hover{background-color:#b0b0b0}.metrics-table-mount{flex-direction:column;gap:24px;width:100%;min-width:0;max-width:100%;display:flex;overflow-x:auto}.metrics-table--summary{width:100%;max-width:480px}.metrics-table{border-collapse:collapse;table-layout:fixed;font-variant-numeric:tabular-nums;width:100%;max-width:100%}.metrics-table th,.metrics-table td{text-align:left;vertical-align:middle;border:2px solid #9a9a9a;padding:12px 14px}.metrics-table thead th{background-color:#0000002e;font-size:18px}.metrics-table tbody th{background-color:#c8c8c8;font-size:16px}.metrics-table tbody td{overflow-wrap:anywhere;background-color:#e0e0e0}.metrics-row--today th,.metrics-row--today td{background-color:#d4e8d4}.metrics-row--summary th,.metrics-row--summary td,.metrics-table tfoot th,.metrics-table tfoot td{background-color:#b8b8b8;font-size:17px;font-weight:700}.metrics-pax-cell{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}
