@import "https://fonts.googleapis.com/css2?family=Archivo+Narrow:wght@400;600;700&family=Inter+Tight:wght@300;400;500;600&display=swap";:root{--admin-sidebar-w:260px;--admin-bg:#f5f4f0;--admin-card-bg:#fff;--admin-border:#e0ddd5;--admin-text:#1a1a1a;--admin-text-muted:#6b6b6b;--admin-orange:#e38a05;--admin-orange-light:#e38a051a;--admin-orange-hover:#c77a04;--admin-green:#568c03;--admin-green-light:#568c031a;--admin-blue:#3c6680;--admin-blue-light:#3c66801a;--admin-red:#c0392b;--admin-red-light:#c0392b1a;--admin-brown:#8a501e;--admin-dark-green:#4a592a;--admin-radius:10px;--admin-font:"Inter Tight", Arial, sans-serif;--admin-font-heading:"Archivo Narrow", Arial, sans-serif}.admin-layout,.admin-login-wrapper{font-family:var(--admin-font);color:var(--admin-text);background:var(--admin-bg);min-height:100vh}:is(#root:has(.admin-layout),#root:has(.admin-login-wrapper)){max-width:none;padding:0}.admin-loading{min-height:200px;color:var(--admin-text-muted);justify-content:center;align-items:center;font-size:.95rem;display:flex}.admin-error{background:var(--admin-red-light);color:var(--admin-red);border-radius:var(--admin-radius);margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem}.admin-empty{text-align:center;color:var(--admin-text-muted);padding:3rem;font-size:.95rem}.admin-empty-sm{color:var(--admin-text-muted);margin:.5rem 0;font-size:.85rem;font-style:italic}.admin-login-wrapper{justify-content:center;align-items:center;padding:2rem;display:flex}.admin-login-form{background:var(--admin-card-bg);border-radius:var(--admin-radius);width:100%;max-width:400px;padding:2.5rem;box-shadow:0 4px 24px #00000014}.admin-login-header{text-align:center;margin-bottom:2rem}.admin-login-header h1{font-family:var(--admin-font-heading);margin-bottom:.25rem;font-size:2rem;font-weight:700}.admin-login-header p{color:var(--admin-orange);font-size:.95rem;font-weight:500}.admin-field{margin-bottom:1.25rem}.admin-field label{color:var(--admin-text);margin-bottom:.4rem;font-size:.85rem;font-weight:500;display:block}.admin-field input{border:1px solid var(--admin-border);width:100%;font-size:.95rem;font-family:var(--admin-font);background:var(--admin-bg);color:var(--admin-text);border-radius:8px;padding:.7rem .9rem;transition:border-color .2s}.admin-field input:focus{border-color:var(--admin-orange);box-shadow:0 0 0 3px var(--admin-orange-light);outline:none}.admin-layout{min-height:100vh;display:flex}.admin-hamburger{z-index:1001;border:1px solid var(--admin-border);background:var(--admin-card-bg);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;display:none;position:fixed;top:.75rem;left:.75rem}@media (width<=768px){.admin-hamburger{display:flex}}.admin-sidebar{width:var(--admin-sidebar-w);background:var(--admin-card-bg);border-right:1px solid var(--admin-border);z-index:1000;flex-direction:column;transition:transform .25s;display:flex;position:fixed;top:0;bottom:0;left:0}@media (width<=768px){.admin-sidebar{transform:translate(-100%)}.admin-sidebar.open{transform:translate(0);box-shadow:4px 0 24px #00000026}}.admin-sidebar-header{border-bottom:1px solid var(--admin-border);align-items:center;gap:.75rem;padding:1.5rem;display:flex}.admin-sidebar-header h2{font-family:var(--admin-font-heading);font-size:1.2rem;font-weight:700}.admin-badge{text-transform:uppercase;letter-spacing:.5px;background:var(--admin-orange-light);color:var(--admin-orange);border-radius:4px;padding:.2rem .5rem;font-size:.7rem;font-weight:600}.admin-nav{flex-direction:column;flex:1;gap:.25rem;padding:1rem .75rem;display:flex}.admin-nav a{color:var(--admin-text-muted);border-radius:8px;align-items:center;gap:.75rem;padding:.7rem .75rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.admin-nav a:hover{background:var(--admin-bg);color:var(--admin-text)}.admin-nav a.active{background:var(--admin-orange-light);color:var(--admin-orange);font-weight:600}.nav-icon{text-align:center;width:24px;font-size:1.15rem}.admin-sidebar-footer{border-top:1px solid var(--admin-border);flex-direction:column;gap:.5rem;padding:1rem 1.5rem;display:flex}.admin-user-info{color:var(--admin-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.admin-main{margin-left:var(--admin-sidebar-w);flex:1;max-width:1200px;padding:2rem}@media (width<=768px){.admin-main{margin-left:0;padding:3.5rem 1rem 1rem}}.admin-btn{font-family:var(--admin-font);cursor:pointer;white-space:nowrap;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.4rem;padding:.6rem 1.2rem;font-size:.9rem;font-weight:500;transition:all .15s;display:inline-flex}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn-primary{background:var(--admin-orange);color:#fff}.admin-btn-primary:hover:not(:disabled){background:var(--admin-orange-hover)}.admin-btn-secondary{color:var(--admin-text-muted);border:1px solid var(--admin-border);background:0 0}.admin-btn-secondary:hover:not(:disabled){border-color:var(--admin-text-muted);color:var(--admin-text)}.admin-btn-confirm{background:var(--admin-green);color:#fff}.admin-btn-confirm:hover:not(:disabled){background:#4a7903}.admin-btn-decline{background:var(--admin-red);color:#fff}.admin-btn-decline:hover:not(:disabled){background:#a83222}.admin-btn-full{width:100%}.admin-btn-sm{padding:.45rem .9rem;font-size:.85rem}.admin-btn-xs{border-radius:6px;padding:.3rem .65rem;font-size:.78rem}.admin-page-title{font-family:var(--admin-font-heading);color:var(--admin-text);margin-bottom:1.5rem;font-size:1.75rem;font-weight:700}.admin-section{background:var(--admin-card-bg);border-radius:var(--admin-radius);border:1px solid var(--admin-border);margin-bottom:1.5rem;padding:1.5rem}.admin-section-title{font-family:var(--admin-font-heading);color:var(--admin-text);margin-bottom:1rem;font-size:1.1rem;font-weight:600}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.stat-card{background:var(--admin-card-bg);border:1px solid var(--admin-border);border-radius:var(--admin-radius);text-align:center;padding:1.25rem}.stat-card.accent{border-color:var(--admin-orange);background:var(--admin-orange-light)}.stat-value{font-family:var(--admin-font-heading);color:var(--admin-text);font-size:1.8rem;font-weight:700;line-height:1.2}.stat-card.accent .stat-value{color:var(--admin-orange)}.stat-label{color:var(--admin-text-muted);text-transform:uppercase;letter-spacing:.3px;margin-top:.25rem;font-size:.8rem}.chart-bar-container{align-items:flex-end;gap:.5rem;height:160px;padding-top:20px;display:flex}.chart-bar-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;height:100%;display:flex}.chart-bar{background:var(--admin-orange);border-radius:4px 4px 0 0;width:100%;max-width:40px;min-height:2px;transition:height .3s}.chart-bar-value{color:var(--admin-orange);min-height:1rem;margin-bottom:4px;font-size:.75rem;font-weight:600}.chart-bar-label{color:var(--admin-text-muted);margin-top:6px;font-size:.7rem}.status-breakdown{flex-direction:column;gap:.6rem;display:flex}.status-row{align-items:center;gap:.75rem;display:flex}.status-row-label{min-width:100px;color:var(--admin-text);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.status-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.status-row-bar-container{background:var(--admin-bg);border-radius:4px;flex:1;height:8px;overflow:hidden}.status-row-bar{border-radius:4px;height:100%;transition:width .3s}.status-row-count{text-align:right;min-width:30px;font-size:.85rem;font-weight:600}.admin-toolbar{flex-direction:column;gap:1rem;margin-bottom:1.5rem;display:flex}.admin-search input{border:1px solid var(--admin-border);width:100%;font-size:.9rem;font-family:var(--admin-font);background:var(--admin-card-bg);border-radius:8px;padding:.7rem 1rem}.admin-search input:focus{border-color:var(--admin-orange);box-shadow:0 0 0 3px var(--admin-orange-light);outline:none}.admin-filter-tabs{flex-wrap:wrap;gap:.35rem;display:flex}.filter-tab{border:1px solid var(--admin-border);background:var(--admin-card-bg);font-size:.8rem;font-family:var(--admin-font);color:var(--admin-text-muted);cursor:pointer;border-radius:20px;padding:.4rem .85rem;transition:all .15s}.filter-tab:hover{border-color:var(--admin-orange);color:var(--admin-text)}.filter-tab.active{background:var(--admin-orange);border-color:var(--admin-orange);color:#fff}.bookings-table-wrapper{background:var(--admin-card-bg);border:1px solid var(--admin-border);border-radius:var(--admin-radius);overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.88rem}.admin-table th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:var(--admin-text-muted);border-bottom:1px solid var(--admin-border);background:var(--admin-bg);white-space:nowrap;padding:.75rem 1rem;font-size:.75rem}.admin-table td{border-bottom:1px solid var(--admin-border);vertical-align:middle;padding:.75rem 1rem}.admin-table.compact th,.admin-table.compact td{padding:.5rem .75rem;font-size:.82rem}.admin-table.compact input{border:1px solid var(--admin-border);font-size:.82rem;font-family:var(--admin-font);border-radius:6px;width:100%;min-width:80px;padding:.35rem .5rem}.booking-row{cursor:pointer;transition:background .1s}.booking-row:hover{background:var(--admin-orange-light)}.ref-cell{color:var(--admin-orange);white-space:nowrap;font-weight:600}.guest-name{font-weight:500}.guest-email{color:var(--admin-text-muted);font-size:.8rem}.price-cell{white-space:nowrap;font-weight:600}.action-btns{flex-wrap:wrap;gap:.35rem;display:flex}.admin-badge-status{white-space:nowrap;border-radius:12px;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-pending{background:var(--admin-orange-light);color:var(--admin-orange)}.badge-confirmed{background:var(--admin-blue-light);color:var(--admin-blue)}.badge-paid{background:var(--admin-green-light);color:var(--admin-green)}.badge-completed{color:var(--admin-dark-green);background:#4a592a1a}.badge-cancelled{background:var(--admin-red-light);color:var(--admin-red)}.badge-declined{color:var(--admin-brown);background:#8a501e1a}.detail-header{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.detail-header .admin-page-title{margin-bottom:0}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;display:grid}.detail-card{background:var(--admin-card-bg);border:1px solid var(--admin-border);border-radius:var(--admin-radius);padding:1.25rem}.detail-card h3{font-family:var(--admin-font-heading);text-transform:uppercase;letter-spacing:.5px;color:var(--admin-text-muted);margin-bottom:.75rem;font-size:.85rem}.detail-row{justify-content:space-between;align-items:center;padding:.4rem 0;font-size:.88rem;display:flex}.detail-row+.detail-row{border-top:1px solid var(--admin-border)}.detail-row.total{border-top:2px solid var(--admin-orange);margin-top:.5rem;padding-top:.75rem;font-size:1rem}.detail-row.total strong{color:var(--admin-orange)}.detail-row span{color:var(--admin-text-muted)}.guest-message{color:var(--admin-text);background:var(--admin-bg);border-radius:8px;padding:.75rem;font-size:.9rem;line-height:1.6}.admin-textarea{border:1px solid var(--admin-border);width:100%;min-height:80px;font-family:var(--admin-font);resize:vertical;background:var(--admin-bg);border-radius:8px;padding:.7rem;font-size:.9rem}.admin-textarea:focus{border-color:var(--admin-orange);box-shadow:0 0 0 3px var(--admin-orange-light);outline:none}.detail-actions{background:var(--admin-card-bg);border:1px solid var(--admin-border);border-radius:var(--admin-radius);margin-top:1.5rem;padding:1.25rem}.detail-actions h3{font-family:var(--admin-font-heading);text-transform:uppercase;letter-spacing:.5px;color:var(--admin-text-muted);margin-bottom:.75rem;font-size:.85rem}.calendar-year-nav{justify-content:center;align-items:center;gap:1.5rem;margin-bottom:1.5rem;display:flex}.year-label{font-family:var(--admin-font-heading);font-size:1.5rem;font-weight:700}.calendar-legend{flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:1.5rem;display:flex}.legend-item{color:var(--admin-text-muted);align-items:center;gap:.4rem;font-size:.8rem;display:flex}.legend-dot{border:1px solid var(--admin-border);border-radius:3px;width:14px;height:14px}.legend-dot.cal-available{background:var(--admin-card-bg)}.legend-dot.cal-pending{background:var(--admin-orange-light);border-color:var(--admin-orange)}.legend-dot.cal-confirmed{background:var(--admin-blue-light);border-color:var(--admin-blue)}.legend-dot.cal-paid{background:var(--admin-green-light);border-color:var(--admin-green)}.legend-dot.cal-blocked{background:var(--admin-red-light);border-color:var(--admin-red)}.calendar-months-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.cal-month-card{background:var(--admin-card-bg);border:1px solid var(--admin-border);border-radius:var(--admin-radius);padding:1rem}.cal-month-title{font-family:var(--admin-font-heading);text-align:center;color:var(--admin-text);margin-bottom:.75rem;font-size:1.1rem;font-weight:600}.cal-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.cal-weekday{text-align:center;color:var(--admin-text-muted);text-transform:uppercase;padding:.2rem;font-size:.65rem;font-weight:600}.cal-day{text-align:center;cursor:default;border-radius:4px;padding:.35rem .15rem;font-size:.78rem;transition:background .15s}.cal-day.empty{visibility:hidden}.cal-day.cal-pending{background:var(--admin-orange-light);color:var(--admin-orange);font-weight:600}.cal-day.cal-confirmed{background:var(--admin-blue-light);color:var(--admin-blue);font-weight:600}.cal-day.cal-paid{background:var(--admin-green-light);color:var(--admin-green);font-weight:600}.cal-day.cal-completed{color:var(--admin-dark-green);background:#4a592a1a;font-weight:600}.cal-day.cal-blocked{background:var(--admin-red-light);color:var(--admin-red);font-weight:600;text-decoration:line-through}.blocked-form{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.blocked-form-dates{align-items:center;gap:.4rem;display:flex}.blocked-form-dates label{color:var(--admin-text-muted);font-size:.82rem;font-weight:500}.blocked-form input{border:1px solid var(--admin-border);font-size:.85rem;font-family:var(--admin-font);border-radius:8px;padding:.5rem .75rem}.blocked-form input:focus{border-color:var(--admin-orange);outline:none}.blocked-list{flex-direction:column;gap:.4rem;display:flex}.blocked-item{background:var(--admin-bg);border-radius:6px;align-items:center;gap:1rem;padding:.5rem .75rem;font-size:.85rem;display:flex}.blocked-date{min-width:90px;font-weight:600}.blocked-reason{color:var(--admin-text-muted);flex:1}.blocked-source{color:var(--admin-text-muted);text-transform:uppercase;font-size:.75rem}.season-card{background:var(--admin-card-bg);border:1px solid var(--admin-border);border-radius:var(--admin-radius);margin-bottom:1.5rem;padding:1.5rem}.season-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:1rem;display:flex}.season-name{font-family:var(--admin-font-heading);font-size:1.3rem;font-weight:700}.season-dates{color:var(--admin-text-muted);font-size:.85rem}.season-header-actions{align-items:center;gap:.5rem;display:flex}.pricing-periods{margin-top:1rem}.pricing-periods h4{font-family:var(--admin-font-heading);text-transform:uppercase;letter-spacing:.5px;color:var(--admin-text-muted);margin-bottom:.75rem;font-size:.85rem}.season-form,.new-period-form{flex-wrap:wrap;align-items:flex-end;gap:.5rem;display:flex}.season-form input,.new-period-form input{border:1px solid var(--admin-border);font-size:.85rem;font-family:var(--admin-font);border-radius:8px;min-width:120px;padding:.5rem .75rem}.season-form input:focus,.new-period-form input:focus{border-color:var(--admin-orange);outline:none}.season-form-actions{gap:.35rem;width:100%;margin-top:.5rem;display:flex}.new-period-form{background:var(--admin-bg);border-radius:8px;margin-top:.75rem;padding:1rem}.booking-row-conflict{background:var(--admin-red-light)!important}.booking-row-conflict:hover{background:#c0392b26!important}.conflict-badge{color:var(--admin-red);background:var(--admin-red-light);border-radius:4px;margin-top:.25rem;padding:.15rem .5rem;font-size:.72rem;font-weight:600;display:inline-block}.conflict-warning{background:var(--admin-red-light);border:1px solid var(--admin-red);color:var(--admin-red);border-radius:var(--admin-radius);margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem;line-height:1.5}
