@keyframes bookinghive-skeleton-pulse{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.bookinghive-reservations-dashboard{display:flex;flex-direction:column;gap:20px;margin:20px 20px 0 0}.bookinghive-reservations-dashboard .bookinghive-dashboard-header{align-items:center;background:#fff;border:1px solid #ccd0d4;border-radius:4px;box-shadow:0 1px 1px rgba(0,0,0,.04);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:16px 20px}.bookinghive-reservations-dashboard .bookinghive-dashboard-header__title{color:#1d2327;font-size:1.5rem;line-height:1.3;margin:0;padding:0}.bookinghive-reservations-dashboard hr.wp-header-end{border:0;height:0;margin:0}.bookinghive-reservations-dashboard .bookinghive-dashboard-stats{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}@media screen and (max-width:1100px){.bookinghive-reservations-dashboard .bookinghive-dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.bookinghive-reservations-dashboard .bookinghive-dashboard-stats .bookinghive-stat-card{background:#f6f7f7;border:1px solid #ccd0d4;border-left:4px solid #2271b1;border-radius:4px;display:flex;flex-direction:column;gap:4px;padding:12px 20px}.bookinghive-reservations-dashboard .bookinghive-dashboard-stats .bookinghive-stat-card--upcoming{border-left-color:#2e7d32}.bookinghive-reservations-dashboard .bookinghive-dashboard-stats .bookinghive-stat-card--ongoing{border-left-color:#b26a00}.bookinghive-reservations-dashboard .bookinghive-dashboard-stats .bookinghive-stat-card--revenue{border-left-color:#4b4bb1}.bookinghive-reservations-dashboard .bookinghive-dashboard-stats .bookinghive-stat-card .bookinghive-stat-label{color:#646970;font-size:.75rem;letter-spacing:.5px;text-transform:uppercase}.bookinghive-reservations-dashboard .bookinghive-dashboard-stats .bookinghive-stat-card .bookinghive-stat-value{color:#1d2327;font-size:1.5rem;font-weight:600;line-height:1.2}.bookinghive-reservations-dashboard .bookinghive-dashboard-filters{background:#fff;border:1px solid #ccd0d4;border-radius:4px;box-shadow:0 1px 1px rgba(0,0,0,.04);padding:20px}.bookinghive-reservations-dashboard .bookinghive-filter-bar{align-items:end;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.bookinghive-reservations-dashboard .bookinghive-filter-bar .bookinghive-filter-group{display:flex;flex-direction:column;gap:5px;min-width:0}.bookinghive-reservations-dashboard .bookinghive-filter-bar .bookinghive-filter-group label{color:#1d2327;font-size:.85rem;font-weight:600}.bookinghive-reservations-dashboard .bookinghive-filter-bar .bookinghive-filter-group input,.bookinghive-reservations-dashboard .bookinghive-filter-bar .bookinghive-filter-group select{background:#fff;border:1px solid #8c8f94;border-radius:4px;box-sizing:border-box;height:40px;margin:0;max-width:100%;padding:0 8px;width:100%}.bookinghive-reservations-dashboard .bookinghive-filter-actions{align-items:flex-end;display:flex;gap:8px}.bookinghive-reservations-dashboard .bookinghive-filter-actions .bookinghive-button{align-items:center;border:1px solid transparent;border-radius:4px;cursor:pointer;display:inline-flex;font-weight:600;height:40px;justify-content:center;line-height:1;margin:0;padding:0 18px;transition:background .2s ease}.bookinghive-reservations-dashboard .bookinghive-filter-actions .bookinghive-button--submit{background:#2271b1;border-color:#2271b1;color:#fff}.bookinghive-reservations-dashboard .bookinghive-filter-actions .bookinghive-button--submit:hover{background:#135e96}.bookinghive-reservations-dashboard .bookinghive-filter-actions .bookinghive-button--secondary{background:#f0f6fa;border-color:#b4c5d5;color:#2271b1}.bookinghive-reservations-dashboard .bookinghive-filter-actions .bookinghive-button--secondary:hover{background:#d6e5f1}.bookinghive-reservations-dashboard .bookinghive-filter-actions .bookinghive-button:focus{outline:none}.bookinghive-reservations-dashboard .bookinghive-filter-actions .bookinghive-button:focus-visible{box-shadow:0 0 0 2px #fff,0 0 0 4px #2271b1}.bookinghive-reservations-dashboard .bookinghive-reservation-cards{display:flex;flex-direction:column;gap:10px}.bookinghive-reservations-dashboard .bookinghive-month-heading{border-bottom:1px solid #ccd0d4;color:#646970;font-size:.8rem;font-weight:700;letter-spacing:.6px;margin:14px 0 2px;padding-bottom:6px;text-transform:uppercase}.bookinghive-reservations-dashboard .bookinghive-month-heading:first-child{margin-top:0}.bookinghive-reservations-dashboard .bookinghive-reservation-card{align-items:center;background:#fff;border:1px solid #ccd0d4;border-left:4px solid #8c8f94;border-radius:4px;cursor:pointer;display:grid;gap:20px;grid-template-columns:170px minmax(0,1fr) auto auto;padding:16px;transition:box-shadow .15s ease,border-color .15s ease}.bookinghive-reservations-dashboard .bookinghive-reservation-card--paid{border-left-color:#1e7e34}.bookinghive-reservations-dashboard .bookinghive-reservation-card--pending{border-left-color:#b26a00}.bookinghive-reservations-dashboard .bookinghive-reservation-card--cancelled{border-left-color:#b32d2e}.bookinghive-reservations-dashboard .bookinghive-reservation-card--neutral{border-left-color:#8c8f94}.bookinghive-reservations-dashboard .bookinghive-reservation-card:hover{border-bottom-color:#8c8f94;border-right-color:#8c8f94;border-top-color:#8c8f94;box-shadow:0 2px 6px rgba(0,0,0,.08)}@media screen and (max-width:960px){.bookinghive-reservations-dashboard .bookinghive-reservation-card{gap:10px;grid-template-columns:minmax(0,1fr)}}.bookinghive-reservations-dashboard .bookinghive-reservation-card__term{display:flex;flex-direction:column;gap:2px}.bookinghive-reservations-dashboard .bookinghive-reservation-card__range{color:#1d2327;font-size:1.05rem;font-weight:600}.bookinghive-reservations-dashboard .bookinghive-reservation-card__weekdays{color:#646970;font-size:.85rem}.bookinghive-reservations-dashboard .bookinghive-reservation-card__product{color:#1d2327;font-weight:600}.bookinghive-reservations-dashboard .bookinghive-reservation-card__meta{color:#646970;font-size:.9rem;margin-top:2px}.bookinghive-reservations-dashboard .bookinghive-reservation-card__side{align-items:flex-end;display:flex;flex-direction:column;gap:6px;text-align:right}.bookinghive-reservations-dashboard .bookinghive-reservation-card__amount{color:#1d2327;font-size:1.05rem;font-weight:600}.bookinghive-reservations-dashboard .bookinghive-reservation-card__nights{color:#646970;font-size:.85rem}.bookinghive-reservations-dashboard .bookinghive-reservation-card__actions{display:flex;justify-content:flex-end}@media screen and (max-width:960px){.bookinghive-reservations-dashboard .bookinghive-reservation-card__actions{justify-content:flex-start}}.bookinghive-reservations-dashboard .bookinghive-pagination{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.bookinghive-reservations-dashboard .bookinghive-pagination:empty{display:none}.bookinghive-reservations-dashboard .bookinghive-pagination__count{color:#646970;font-size:.85rem}.bookinghive-reservations-dashboard .bookinghive-pagination__controls{align-items:center;display:flex;gap:8px}.bookinghive-reservations-dashboard .bookinghive-pagination__page{color:#1d2327;font-size:.85rem}.bookinghive-reservations-dashboard .bookinghive-skeleton{animation:bookinghive-skeleton-pulse 1.4s ease-in-out infinite;background:linear-gradient(90deg,#f0f0f1,#e6e7e8,#f0f0f1);border-radius:3px;height:14px}.bookinghive-reservations-dashboard .bookinghive-skeleton-card{background:#fff;border:1px solid #ccd0d4;border-radius:4px;display:flex;flex-direction:column;gap:10px;padding:16px}.bookinghive-reservations-dashboard .bookinghive-state{background:#fff;border:1px solid #ccd0d4;border-radius:4px;color:#646970;padding:40px 20px;text-align:center}.bookinghive-reservations-dashboard .bookinghive-state p{margin:0 0 12px}.bookinghive-badge{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:600;padding:3px 10px;white-space:nowrap}.bookinghive-badge--paid{background:#e7f6ed;color:#1e7e34}.bookinghive-badge--pending{background:#fff7e6;color:#856404}.bookinghive-badge--cancelled{background:#f8d7da;color:#721c24}.bookinghive-badge--neutral{background:#f0f0f1;color:#50575e}.bookinghive-modal{align-items:center;display:flex;inset:0;justify-content:center;position:fixed;z-index:100000}.bookinghive-modal.is-hidden{display:none}.bookinghive-modal__backdrop{background:rgba(0,0,0,.5);inset:0;position:absolute}.bookinghive-modal__dialog{background:#fff;border-radius:4px;box-shadow:0 10px 40px rgba(0,0,0,.25);max-height:80vh;overflow:auto;position:relative;width:min(720px,100vw - 40px)}.bookinghive-modal__dialog:focus{outline:none}.bookinghive-modal__header{align-items:center;background:#fff;border-bottom:1px solid #ccd0d4;display:flex;gap:16px;justify-content:space-between;padding:16px 20px;position:sticky;top:0}.bookinghive-modal__heading{min-width:0}.bookinghive-modal__title{font-size:1.15rem;margin:0}.bookinghive-modal__subtitle{align-items:center;color:#646970;display:flex;flex-wrap:wrap;font-size:.9rem;gap:6px;margin:4px 0 0}.bookinghive-modal__subtitle:empty{display:none}.bookinghive-modal__actions{align-items:center;display:flex;flex:0 0 auto;gap:4px}.bookinghive-modal__nav{align-items:center;background:none;border:1px solid #ccd0d4;border-radius:4px;color:#2271b1;cursor:pointer;display:inline-flex;font-size:1.2rem;height:32px;justify-content:center;line-height:1;margin:0;padding:0;width:32px}.bookinghive-modal__nav:hover:not(:disabled){background:#f0f6fc;border-color:#2271b1}.bookinghive-modal__nav:disabled{color:#a7aaad;cursor:default}.bookinghive-modal__nav[hidden]{display:none}.bookinghive-modal__close{align-items:center;background:none;border:0;border-radius:4px;color:#646970;cursor:pointer;display:inline-flex;flex:0 0 auto;font-size:1.5rem;height:32px;justify-content:center;line-height:1;margin:0;padding:0;width:32px}.bookinghive-modal__close:hover{background:#f0f0f1;color:#1d2327}.bookinghive-modal__close:focus{outline:none}.bookinghive-modal__close:focus-visible{box-shadow:0 0 0 2px #2271b1}.bookinghive-modal__body{padding:20px}.bookinghive-modal .bookinghive-modal-section{margin-bottom:20px}.bookinghive-modal .bookinghive-modal-section:last-child{margin-bottom:0}.bookinghive-modal .bookinghive-modal-section h3{color:#646970;font-size:.8rem;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.bookinghive-modal .bookinghive-modal-facts{display:grid;gap:10px 20px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.bookinghive-modal .bookinghive-modal-facts dt{color:#646970;font-size:.8rem}.bookinghive-modal .bookinghive-modal-facts dd{color:#1d2327;font-weight:600;margin:0 0 6px;word-break:break-word}.bookinghive-modal .bookinghive-nights-heading{align-items:baseline;display:flex;flex-wrap:wrap;gap:8px}.bookinghive-modal .bookinghive-nights-rule{color:#646970;font-size:.75rem;font-weight:400;letter-spacing:0;text-transform:none}.bookinghive-modal .bookinghive-modal-nights{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.bookinghive-modal .bookinghive-modal-nights td{border-bottom:1px solid #f0f0f0;padding:6px 0;text-align:left}.bookinghive-modal .bookinghive-modal-nights .bookinghive-night-day{color:#646970;display:inline-block;text-transform:capitalize;width:42px}.bookinghive-modal .bookinghive-modal-nights .bookinghive-night-price{text-align:right;white-space:nowrap}.bookinghive-modal .bookinghive-modal-nights tr.is-cancelled td{color:#b32d2e;text-decoration:line-through}.bookinghive-modal .bookinghive-modal-nights tfoot td{border-bottom:0;border-top:1px solid #ccd0d4;font-weight:700;padding-top:8px}.bookinghive-modal .bookinghive-night-group__head td{border-bottom:1px solid #ccd0d4;font-weight:600;padding-top:12px;vertical-align:bottom}.bookinghive-modal .bookinghive-night-group:first-child .bookinghive-modal .bookinghive-night-group__head td{padding-top:0}.bookinghive-modal .bookinghive-night-group__rule{color:#2271b1;display:block;font-size:.75rem;letter-spacing:.4px;text-transform:uppercase}.bookinghive-modal .bookinghive-night-group__range{color:#1d2327;font-size:.9rem}.bookinghive-modal .bookinghive-nights-strip{display:flex;gap:2px;margin-bottom:4px}.bookinghive-modal .bookinghive-night{background:#cfe3f5;border-radius:2px;flex:1 1 auto;height:20px;min-width:6px}.bookinghive-modal .bookinghive-night--alt{background:#b6d4ef}.bookinghive-modal .bookinghive-night--cancelled{background:repeating-linear-gradient(45deg,#f6d5d6,#f6d5d6 3px,#fff 0,#fff 6px)}.bookinghive-modal .bookinghive-nights-scale{color:#646970;display:flex;font-size:.75rem;justify-content:space-between}.bookinghive-modal .bookinghive-nights-toggle{background:none;border:0;color:#2271b1;cursor:pointer;font-size:.85rem;margin-top:8px;padding:0;text-decoration:underline}.bookinghive-modal .bookinghive-nights-toggle:hover{color:#135e96}.bookinghive-modal .bookinghive-nights-table{margin-top:10px}.bookinghive-modal .bookinghive-nights-table.is-hidden{display:none}.bookinghive-modal .bookinghive-status-form{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.bookinghive-modal .bookinghive-status-form select{flex:1 1 220px;height:36px;max-width:280px}.bookinghive-modal .bookinghive-status-feedback{font-size:.85rem;margin:6px 0 0}.bookinghive-modal .bookinghive-status-feedback:empty{display:none}.bookinghive-modal .bookinghive-status-feedback.is-success{color:#1e7e34}.bookinghive-modal .bookinghive-status-feedback.is-error{color:#b32d2e}.bookinghive-modal .bookinghive-modal-hint{color:#646970;font-size:.85rem;font-style:italic;margin:6px 0 0}.bookinghive-modal .bookinghive-copy{background:none;border:0;color:#2271b1;cursor:pointer;font-size:.8rem;font-weight:400;margin-left:8px;padding:0;text-decoration:underline}.bookinghive-modal .bookinghive-copy:hover{color:#135e96}.bookinghive-modal .bookinghive-copy.is-copied{color:#1e7e34;text-decoration:none}.bookinghive-modal .bookinghive-modal-flags{display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;padding:0}.bookinghive-modal .bookinghive-modal-flag{color:#1d2327;font-size:.9rem;margin:0}.bookinghive-modal .bookinghive-modal-flag:before{color:#1e7e34;content:"✓";margin-right:6px}.bookinghive-modal .bookinghive-modal-flag--cancelled:before{color:#b32d2e;content:"✕"}.bookinghive-modal .bookinghive-modal-flag--muted{color:#646970;font-style:italic}.bookinghive-modal .bookinghive-modal-flag--muted:before{content:none}.bookinghive-modal .bookinghive-modal-note{background:#f6f7f7;border-left:3px solid #ccd0d4;border-radius:0 4px 4px 0;margin:0;padding:10px 12px;white-space:pre-line}.bookinghive-modal .bookinghive-modal-notes{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.bookinghive-modal .bookinghive-modal-note-item{display:flex;flex-direction:column;gap:2px}.bookinghive-modal .bookinghive-modal-note-item .bookinghive-modal-note-meta{color:#646970;font-size:.75rem}.bookinghive-modal .bookinghive-modal-note-item .bookinghive-modal-note-body{color:#1d2327;font-size:.9rem;white-space:pre-line}