:root{--primary-green:#2c5530;--primary-green-light:#3d7c47;--primary-green-dark:#1e3d22;--accent-hover:#a8d4ad;--status-confirmed:#10b981;--status-pending:#f59e0b;--status-checked-in:#3b82f6;--status-checked-out:#6b7280;--status-cancelled:#ef4444;--background:#f5f5f5;--surface:#fff;--border:#e0e0e0;--border-light:#f0f0f0;--text-primary:#2c3e50;--text-secondary:#7f8c8d;--text-muted:#9ca3af;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #0000001a;--shadow-lg:0 10px 15px #0000001a;--navbar-height:60px;--max-width:1400px}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;background-color:var(--background);color:#2c3e50;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}a{color:#2c5530;color:var(--primary-green);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:inherit}h1,h2,h3,h4,h5,h6{color:#2c3e50;color:var(--text-primary);margin:0}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f0f0f0;background:var(--border-light);border-radius:4px}::-webkit-scrollbar-thumb{background:#9ca3af;background:var(--text-muted);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#7f8c8d;background:var(--text-secondary)}.session-warning-overlay{align-items:center;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.session-warning-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;max-width:400px;overflow:hidden;width:90%}.session-warning-header{background:#f59e0b;color:#fff;padding:16px 20px}.session-warning-header h3{font-size:18px;font-weight:600;margin:0}.session-warning-content{padding:20px;text-align:center}.session-warning-content p{color:#374151;font-size:14px;margin:0 0 16px}.countdown-timer{margin:20px 0}.time-display{color:#dc2626;font-family:Courier New,monospace;font-size:48px;font-weight:700}.session-warning-actions{display:flex;flex-direction:column;gap:10px;padding:0 20px 20px}.session-warning-actions .btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:12px 20px;transition:background-color .2s}.session-warning-actions .btn-primary{background-color:#2563eb;color:#fff}.session-warning-actions .btn-primary:hover{background-color:#1d4ed8}.session-warning-actions .btn-secondary{background-color:#e5e7eb;color:#374151}.session-warning-actions .btn-secondary:hover{background-color:#d1d5db}.login-container{align-items:center;background:linear-gradient(135deg,#059669,#047857);display:flex;justify-content:center;min-height:100vh;padding:1rem}.login-card{background:#fff;border-radius:8px;box-shadow:0 10px 40px #0003;max-width:400px;overflow:hidden;width:100%}.login-header{background:#065f46;color:#fff;padding:2rem;text-align:center}.login-header h1{font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.login-header p{font-size:.9rem;margin:0;opacity:.9}.login-form{padding:2rem}.login-error{background:#fee;border:1px solid #fcc;border-radius:4px;color:#c33}.login-error,.login-warning{font-size:.9rem;margin-bottom:1.5rem;padding:.75rem}.login-warning{background:#fff3cd;border:1px solid #ffc107;border-radius:4px;color:#856404}.form-group{margin-bottom:1.5rem}.form-group label{color:#065f46;font-size:.9rem;margin-bottom:.5rem}.form-group input{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:.95rem;padding:.75rem;transition:border-color .2s;width:100%}.form-group input:focus{border-color:#059669;box-shadow:0 0 0 3px #0596691a;outline:none}.form-group input:disabled{background:#f5f5f5;cursor:not-allowed}.password-input-wrapper{align-items:center;display:flex;position:relative}.password-input-wrapper input{padding-right:2.75rem}.password-toggle{align-items:center;background:none;border:none;color:#6c757d;cursor:pointer;display:flex;justify-content:center;padding:.5rem;position:absolute;right:.5rem;transition:color .2s}.password-toggle:hover:not(:disabled){color:#059669}.password-toggle:disabled{cursor:not-allowed;opacity:.5}.login-button{background:#059669;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.875rem;transition:background .2s;width:100%}.login-button:hover:not(:disabled){background:#047857}.login-button:disabled{background:#ccc;cursor:not-allowed}.login-footer{background:#f8f9fa;border-top:1px solid #e9ecef;padding:1rem 2rem;text-align:center}.login-hint{color:#6c757d;font-size:.85rem;margin:0}.navbar{background-color:var(--primary-green);box-shadow:var(--shadow-md);height:var(--navbar-height);justify-content:space-between;padding:0 var(--spacing-xl);position:-webkit-sticky;position:sticky;top:0;z-index:100}.navbar,.navbar-brand{align-items:center;display:flex}.navbar-brand{gap:var(--spacing-sm)}.navbar-icon{font-size:1.75rem}.navbar-title{color:#fff;font-size:1.25rem;font-weight:600;letter-spacing:-.02em}.navbar-links{align-items:center;display:flex;gap:var(--spacing-xs)}.navbar-link{border-radius:var(--radius-sm);color:#ffffffd9;font-size:.9rem;font-weight:500;padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;transition:background-color .2s,color .2s}.navbar-link:hover{background-color:#ffffff26;color:#fff;text-decoration:none}.navbar-link.active{background-color:#fff3;color:#fff}.navbar-user{align-items:center;display:flex;gap:var(--spacing-md)}.user-name{color:#ffffffe6}.logout-button,.user-name{font-size:.9rem;font-weight:500}.logout-button{background-color:#fff3;border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;padding:var(--spacing-sm) var(--spacing-md);transition:background-color .2s}.logout-button:hover{background-color:#ffffff4d}@media (max-width:768px){.navbar{padding:0 var(--spacing-md)}.navbar-title{font-size:1rem}.navbar-link{font-size:.85rem;padding:var(--spacing-sm)}}@media (max-width:576px){.navbar{flex-direction:column;gap:var(--spacing-sm);height:auto;padding:var(--spacing-sm) var(--spacing-md)}.navbar-links{justify-content:center;width:100%}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-xl);transition:transform .2s,box-shadow .2s}.card--clickable{cursor:pointer}.card--clickable:hover{border-color:var(--primary-green-light);box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-icon{display:block;font-size:2.5rem;margin-bottom:var(--spacing-md)}.card-content{display:flex;flex-direction:column;gap:var(--spacing-sm)}.card-title{color:var(--text-primary);font-size:1.25rem;font-weight:600}.card-description{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin:0}.card--compact{padding:var(--spacing-md)}.card--compact .card-icon{font-size:1.5rem;margin-bottom:var(--spacing-sm)}.card--compact .card-title{font-size:1rem}.card--bordered{border-left:4px solid var(--primary-green)}.landing-dashboard{padding:var(--spacing-xl) 0}.landing-title{color:var(--text-primary);font-size:2rem;font-weight:700;margin-bottom:var(--spacing-sm)}.landing-subtitle{color:var(--text-secondary);font-size:1.1rem;margin:0 0 var(--spacing-2xl) 0}.landing-cards{grid-gap:var(--spacing-xl);display:grid;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}@media (max-width:768px){.landing-title{font-size:1.5rem}.landing-subtitle{font-size:1rem}.landing-cards{grid-template-columns:1fr}}.schedule-grid-container{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);overflow-x:auto}.schedule-grid{display:flex;flex-direction:column;min-width:-webkit-max-content;min-width:max-content}.grid-header,.grid-row,.grid-section-header{display:grid;grid-template-columns:120px repeat(14,minmax(70px,1fr))}.grid-header{background:var(--primary-green);color:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:10}.grid-cell{align-items:center;border-bottom:1px solid var(--border);border-right:1px solid var(--border);display:flex;justify-content:center;min-height:50px;padding:var(--spacing-sm)}.grid-cell:last-child{border-right:none}.grid-cell--site-header{background:var(--primary-green-dark);font-weight:600;left:0;position:-webkit-sticky;position:sticky;z-index:5}.grid-cell--date-header{flex-direction:column;font-size:.8rem;gap:2px}.grid-cell--date-header.grid-cell--today{background:var(--primary-green-light)}.date-day{font-size:.7rem;font-weight:500;opacity:.9;text-transform:uppercase}.date-number{font-size:1rem;font-weight:700}.grid-section-header{background:var(--background)}.grid-cell--section{color:var(--text-secondary);font-size:.9rem;font-weight:600;justify-content:flex-start;letter-spacing:.05em;min-height:36px;padding-left:var(--spacing-md);text-transform:uppercase}.grid-cell--site{align-items:flex-start;background:var(--surface);border-left:3px solid var(--primary-green);flex-direction:column;gap:2px;left:0;position:-webkit-sticky;position:sticky;z-index:2}.site-type{color:var(--text-secondary);font-size:.75rem}.grid-cell--empty{background:var(--surface)}.grid-cell--empty.grid-cell--today{background:#2c55300d}.grid-cell--reservation{align-items:flex-start;border-radius:var(--radius-sm);color:#fff;cursor:pointer;flex-direction:column;gap:2px;margin:2px;overflow:hidden;padding:var(--spacing-xs) var(--spacing-sm);transition:transform .1s,box-shadow .1s}.grid-cell--reservation:hover{box-shadow:0 2px 8px #0003;transform:scale(1.02);z-index:3}.reservation-guest{font-size:.8rem;font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reservation-code{font-size:.7rem;opacity:.9}@media (max-width:768px){.grid-header,.grid-row,.grid-section-header{grid-template-columns:80px repeat(14,minmax(50px,1fr))}.grid-cell{min-height:40px;padding:var(--spacing-xs)}.grid-cell--date-header{font-size:.7rem}.date-number{font-size:.85rem}.reservation-guest{font-size:.7rem}.reservation-code{display:none}}.modal-backdrop{animation:fadeIn .2s ease;background-color:#00000080;padding:var(--spacing-md)}.modal{animation:slideIn .2s ease;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:90vh}.modal--small{max-width:400px;width:100%}.modal--medium{max-width:600px;width:100%}.modal--large{max-width:800px;width:100%}.modal-title{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0}.modal-footer .btn{border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.9rem;font-weight:500;padding:var(--spacing-sm) var(--spacing-lg);transition:background-color .2s,transform .1s}.modal-footer .btn:active{transform:scale(.98)}.modal-footer .btn-primary{background-color:var(--primary-green);color:#fff}.modal-footer .btn-primary:hover{background-color:var(--primary-green-dark)}.modal-footer .btn-secondary{background-color:var(--border);color:var(--text-primary)}.modal-footer .btn-secondary:hover{background-color:var(--text-muted)}.modal-footer .btn-danger{background-color:var(--status-cancelled);color:#fff}.modal-footer .btn-danger:hover{background-color:#dc2626}.modal-footer .btn-warning{background-color:var(--status-pending);color:#fff}.modal-footer .btn-warning:hover{background-color:#d97706}.reservation-popup{display:flex;flex-direction:column;gap:var(--spacing-xl)}.popup-status{display:flex;justify-content:flex-start}.status-badge{color:#fff;font-size:.85rem;letter-spacing:.03em;padding:var(--spacing-xs) var(--spacing-md);text-transform:uppercase}.popup-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.section-title{border-bottom:1px solid var(--border);font-size:1rem;margin:0}.info-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.info-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.info-item label{color:var(--text-secondary);font-size:.75rem;font-weight:500;letter-spacing:.03em;text-transform:uppercase}.info-item span{color:var(--text-primary);font-size:.95rem}.special-requests{background:var(--background);border-radius:var(--radius-sm);margin-top:var(--spacing-sm);padding:var(--spacing-md)}.special-requests label{color:var(--text-secondary);display:block;font-size:.75rem;font-weight:500;letter-spacing:.03em;margin-bottom:var(--spacing-sm);text-transform:uppercase}.special-requests p{color:var(--text-primary);font-size:.9rem;font-style:italic;margin:0}.member-link{background:none;border:none;color:var(--primary-green);cursor:pointer;font-size:.95rem;font-weight:500;padding:0;text-align:left}.member-link:hover{color:var(--primary-green-dark);text-decoration:underline}.payment-summary{background:var(--background);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md)}.payment-row{align-items:center;display:flex;font-size:.9rem;justify-content:space-between}.payment-amount{color:var(--text-primary);font-weight:600}.payment-amount--due{color:var(--status-pending)}.payment-status{font-weight:600;text-transform:capitalize}.btn-link{background:none;border:none;color:var(--primary-green);cursor:pointer;font-size:.9rem;font-weight:500;padding:var(--spacing-sm) 0;text-align:left}.btn-link:hover{color:var(--primary-green-dark);text-decoration:underline}.reservation-schedule{display:flex;flex-direction:column;gap:var(--spacing-lg)}.schedule-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:space-between}.schedule-title-section{align-items:baseline;display:flex;gap:var(--spacing-md)}.schedule-title{color:var(--text-primary);font-size:1.75rem;font-weight:700;margin:0}.schedule-date-range{color:var(--text-secondary);font-size:1rem}.schedule-controls{align-items:center;display:flex;gap:var(--spacing-sm)}.schedule-controls .btn{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-size:.9rem;font-weight:500;padding:var(--spacing-sm) var(--spacing-md);transition:all .2s}.schedule-controls .btn-primary{background-color:var(--primary-green);border-color:var(--primary-green);color:#fff}.schedule-controls .btn-primary:hover{background-color:var(--primary-green-dark)}.schedule-controls .btn-secondary{background-color:var(--surface);color:var(--text-primary)}.schedule-controls .btn-secondary:hover{background-color:var(--background)}.schedule-legend{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);gap:var(--spacing-lg);padding:var(--spacing-sm) var(--spacing-md)}.legend-item,.schedule-legend{align-items:center;display:flex}.legend-item{color:var(--text-secondary);font-size:.85rem;gap:var(--spacing-sm)}.legend-color{border-radius:var(--radius-sm);height:16px;width:16px}@media (max-width:768px){.schedule-header{align-items:flex-start;flex-direction:column}.schedule-title{font-size:1.5rem}.schedule-legend{flex-wrap:wrap;gap:var(--spacing-md)}}.member-list-page{display:flex;flex-direction:column;gap:var(--spacing-lg)}.member-list-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:space-between}.page-title{margin:0}.search-box{max-width:400px;position:relative;width:100%}.search-input{border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.9rem;padding:var(--spacing-sm) var(--spacing-md);padding-right:40px;transition:border-color .2s,box-shadow .2s;width:100%}.search-input:focus{border-color:var(--primary-green);box-shadow:0 0 0 3px #2c55301a;outline:none}.search-clear{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.25rem;line-height:1;padding:0;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.search-clear:hover{color:var(--text-primary)}.member-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.member-table{border-collapse:collapse;width:100%}.member-table th{background:var(--background);border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:.85rem;font-weight:600;letter-spacing:.03em;padding:var(--spacing-md);text-align:left;text-transform:uppercase}.member-table td{border-bottom:1px solid var(--border-light);font-size:.9rem;padding:var(--spacing-md)}.member-row{cursor:pointer;transition:background-color .2s}.member-row:hover{background-color:var(--background)}.member-name{color:var(--primary-green);font-weight:600}.status-badge{text-transform:capitalize}.status-badge--active{background-color:#10b9811a;color:var(--status-confirmed)}.status-badge--inactive{background-color:#6b72801a;color:var(--status-checked-out)}.no-results{padding:var(--spacing-2xl)}.member-count{color:var(--text-secondary);font-size:.85rem;text-align:right}.member-card-page{display:flex;flex-direction:column;gap:var(--spacing-lg)}.member-card-header{display:flex;flex-direction:column;gap:var(--spacing-sm)}.back-link{color:var(--primary-green);font-size:.9rem;text-decoration:none}.back-link:hover{text-decoration:underline}.member-not-found{padding:var(--spacing-2xl);text-align:center}.member-not-found h2{color:var(--text-primary);margin-bottom:var(--spacing-md)}.member-not-found p{color:var(--text-secondary);margin-bottom:var(--spacing-lg)}.member-card-content{display:flex;flex-direction:column;gap:var(--spacing-xl)}.section-title{border-bottom:2px solid var(--primary-green);color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0 0 var(--spacing-md) 0;padding-bottom:var(--spacing-sm)}.member-details-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--spacing-xl)}.details-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.detail-item{gap:var(--spacing-xs)}.detail-item label{color:var(--text-secondary);font-size:.75rem;font-weight:500;letter-spacing:.03em;text-transform:uppercase}.detail-item span{color:var(--text-primary);font-size:.95rem}.member-notes{border-top:1px solid var(--border);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg)}.member-notes label{color:var(--text-secondary);display:block;font-size:.75rem;font-weight:500;letter-spacing:.03em;margin-bottom:var(--spacing-sm);text-transform:uppercase}.member-notes p{background:var(--background);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.9rem;font-style:italic;margin:0;padding:var(--spacing-md)}.no-reservations{color:var(--text-secondary);font-style:italic}.reservation-group{margin-bottom:var(--spacing-xl)}.group-title{color:var(--text-secondary);font-size:1rem;font-weight:600;margin:0 0 var(--spacing-md) 0}.reservation-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.reservation-item{grid-gap:var(--spacing-md);align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;display:grid;gap:var(--spacing-md);grid-template-columns:2fr 1fr 1fr 1fr 1fr;padding:var(--spacing-md);transition:border-color .2s,box-shadow .2s}.reservation-item:hover{border-color:var(--primary-green-light);box-shadow:var(--shadow-sm)}.reservation-item--upcoming{border-left:3px solid var(--status-confirmed)}.reservation-item--past{opacity:.8}.reservation-dates{display:flex;flex-direction:column;gap:2px}.date-range{color:var(--text-primary);font-weight:500}.nights{color:var(--text-secondary);font-size:.8rem}.reservation-site{color:var(--text-primary);font-weight:500}.reservation-cost{color:var(--text-primary);font-weight:600}.reservation-actions{text-align:right}.view-details{color:var(--primary-green);font-size:.85rem}.reservation-detail{display:flex;flex-direction:column;gap:var(--spacing-lg)}.detail-status{display:flex;justify-content:flex-start}.detail-grid{grid-gap:var(--spacing-md);gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.detail-requests{background:var(--background);border-radius:var(--radius-sm);padding:var(--spacing-md)}.detail-requests label{color:var(--text-secondary);display:block;font-size:.75rem;font-weight:500;margin-bottom:var(--spacing-sm);text-transform:uppercase}.detail-requests p{color:var(--text-primary);font-size:.9rem;font-style:italic;margin:0}.detail-notice{background:#f59e0b1a;border-radius:var(--radius-sm);color:var(--status-pending);font-size:.9rem;padding:var(--spacing-md);text-align:center}@media (max-width:768px){.member-list-header{align-items:stretch;flex-direction:column}.search-box{max-width:none}.member-table{display:block;overflow-x:auto}.reservation-item{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.reservation-actions{grid-column:span 2;text-align:left}}.site-count-badge{background:var(--background);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.75rem;font-weight:500;margin-left:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm)}.config-card-header-actions{align-items:center;display:flex;gap:var(--spacing-md)}.prerequisites-warning{align-items:flex-start;background:#ffc1071a;border:1px solid #ffc1074d;border-radius:var(--radius-sm);color:var(--text-primary);display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding:var(--spacing-md)}.prerequisites-warning .warning-icon{font-size:1.2rem}.prerequisites-warning strong{color:var(--primary-green)}.site-management-filters{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.filter-input,.filter-select{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.9rem;padding:var(--spacing-sm) var(--spacing-md)}.filter-input{min-width:200px}.filter-input:focus,.filter-select:focus{border-color:var(--primary-green)}.site-management-table{width:100%}.site-management-table .site-alias{color:var(--primary-green);font-weight:600}.hookup-icons{display:flex;gap:var(--spacing-xs)}.hookup-icon{cursor:default;font-size:1rem}.effective-rate-cell{white-space:nowrap}.effective-rate-display{align-items:center;display:flex;gap:var(--spacing-xs)}.rate-amount{color:var(--primary-green);font-weight:600}.special-indicator{color:#f9a825;cursor:help;font-size:.9rem}.no-rate{color:var(--text-muted)}.effective-fees-cell{max-width:200px}.fees-summary{font-size:.8rem}.fee-summary-line{color:var(--text-secondary)}.fee-summary-more{font-size:.75rem}.fee-summary-more,.no-fees{color:var(--text-muted)}.status-badge-available{background:#40916c26;color:var(--status-confirmed)}.status-badge-occupied{background:#2196f326;color:var(--status-checked-in)}.status-badge-maintenance{background:#ffc10726;color:#f9a825}.status-badge-blocked{background:#f4433626;color:var(--status-cancelled)}.status-badge-seasonal{background:#9c27b026;color:#9c27b0}.no-results{color:var(--text-secondary);padding:var(--spacing-xl);text-align:center}.site-form-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:var(--spacing-lg);position:fixed;right:0;top:0;z-index:1000}.site-form-modal{background:var(--surface);border-radius:var(--radius-md);display:flex;flex-direction:column;max-height:90vh;max-width:800px;overflow:hidden;width:100%}.site-form-modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:var(--spacing-lg)}.site-form-modal-header h2{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0}.modal-close-btn{color:var(--text-secondary);font-size:1.5rem;padding:var(--spacing-xs)}.modal-close-btn:hover{color:var(--text-primary)}.site-form-tabs{background:var(--background);border-bottom:1px solid var(--border);display:flex;flex-shrink:0;flex-wrap:wrap;gap:0;min-height:-webkit-fit-content;min-height:fit-content;overflow:visible}.site-form-tab{background:none;border:none;border-bottom:2px solid #0000;color:var(--text-secondary);cursor:pointer;font-size:.85rem;padding:var(--spacing-sm) var(--spacing-md);transition:color .2s,border-color .2s;white-space:nowrap}.site-form-tab:hover{color:var(--text-primary)}.site-form-tab.active{border-bottom-color:var(--primary-green);color:var(--primary-green);font-weight:500}.site-form-tab:disabled{color:var(--text-muted);cursor:not-allowed}.site-form-content{flex:1 1;overflow-y:auto;padding:var(--spacing-lg)}.form-group label .required{color:var(--status-cancelled);margin-left:var(--spacing-xs)}.form-group textarea{min-height:80px}.form-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-hint{font-size:.8rem}.checkbox-group{flex-wrap:wrap;gap:var(--spacing-md)}.checkbox-item{align-items:center;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);transition:border-color .2s,background .2s}.checkbox-item.selected,.checkbox-item:hover{border-color:var(--primary-green)}.checkbox-item.selected{background:#40916c1a}.checkbox-item input{display:none}.checkbox-item .hookup-checkbox-icon{font-size:1.2rem}.checkbox-item .hookup-checkbox-label{font-size:.9rem}.toggle-row{align-items:center;background:var(--background);border-radius:var(--radius-sm);display:flex;justify-content:space-between;margin-bottom:var(--spacing-md);padding:var(--spacing-md)}.toggle-label{display:flex;flex-direction:column}.toggle-label span:first-child{color:var(--text-primary);font-weight:500}.toggle-label span:last-child{color:var(--text-secondary);font-size:.8rem}.toggle-switch{height:24px;position:relative;width:48px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background-color:var(--border);border-radius:24px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.3s}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:3px;content:"";height:18px;left:3px;position:absolute;transition:.3s;width:18px}.toggle-switch input:checked+.toggle-slider{background-color:var(--primary-green)}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(24px)}.dimension-fields{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(4,1fr)}.dimension-fields .form-group{margin-bottom:0}.site-form-footer{background:var(--background);border-top:1px solid var(--border);display:flex;gap:var(--spacing-md);justify-content:flex-end;padding:var(--spacing-lg)}.btn-secondary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-size:.9rem;padding:var(--spacing-sm) var(--spacing-lg)}.btn-secondary:hover{background:var(--background)}.pricing-periods-table{border-collapse:collapse;margin-top:var(--spacing-md);width:100%}.pricing-periods-table td,.pricing-periods-table th{border-bottom:1px solid var(--border-light);padding:var(--spacing-sm);text-align:left}.pricing-periods-table th{background:var(--background);color:var(--text-secondary);font-size:.8rem;font-weight:600;text-transform:uppercase}.pricing-periods-table input{padding:var(--spacing-xs) var(--spacing-sm);width:100%}.blackouts-list,.charges-list,.fees-list{margin-top:var(--spacing-md)}.blackout-item,.charge-item,.fee-item{align-items:center;border:1px solid var(--border-light);border-radius:var(--radius-sm);display:flex;justify-content:space-between;margin-bottom:var(--spacing-sm);padding:var(--spacing-md)}.blackout-item-info,.charge-item-info,.fee-item-info{flex:1 1}.blackout-item-info strong,.charge-item-info strong,.fee-item-info strong{color:var(--text-primary);display:block}.blackout-item-info span,.charge-item-info span,.fee-item-info span{color:var(--text-secondary);font-size:.85rem}.modal-loading{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-2xl)}.hookup-selector-header{align-items:center;display:flex;gap:var(--spacing-md);justify-content:space-between;margin-bottom:var(--spacing-md)}.hookup-selector-header .form-hint{flex:1 1;margin:0}.hookup-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-top:var(--spacing-md)}.hookup-card{border:2px solid var(--border);border-radius:var(--radius-md);overflow:hidden;transition:border-color .2s,background .2s}.hookup-card.selected,.hookup-card:hover{border-color:var(--primary-green)}.hookup-card.selected{background:#40916c0d}.hookup-card.saving{opacity:.7;pointer-events:none}.hookup-card-main{align-items:center;cursor:pointer;display:flex;gap:var(--spacing-sm);padding:var(--spacing-md)}.hookup-card-icon{font-size:1.5rem}.hookup-card-label{color:var(--text-primary);flex:1 1;font-weight:500}.hookup-card-check{align-items:center;background:var(--primary-green);border-radius:50%;color:#fff;display:flex;font-size:.9rem;font-weight:700;height:24px;justify-content:center;width:24px}.hookup-card:not(.selected) .hookup-card-check{background:var(--border);color:#0000}.hookup-card-options{align-items:center;background:var(--background);border-top:1px solid var(--border-light);display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md)}.hookup-card-options label{color:var(--text-secondary);font-size:.8rem}.hookup-card-options select{border:1px solid var(--border);border-radius:var(--radius-sm);flex:1 1;font-size:.85rem;padding:var(--spacing-xs)}.no-hookup-types{color:var(--text-secondary);padding:var(--spacing-xl);text-align:center}.hookup-summary{align-items:center;background:var(--background);border-radius:var(--radius-sm);display:flex;gap:var(--spacing-md);margin-top:var(--spacing-lg);padding:var(--spacing-md)}.hookup-summary-icons{display:flex;gap:var(--spacing-sm)}.hookup-summary-item{align-items:center;display:flex;font-size:1.2rem;gap:var(--spacing-xs)}.amp-badge{background:var(--primary-green);border-radius:var(--radius-sm);color:#fff;font-size:.7rem;padding:2px 4px}.blackout-form-card,.inline-form,.pricing-form-card{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-md);margin-top:var(--spacing-md);padding:var(--spacing-lg)}.blackout-form-card h4,.pricing-form-card h4{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 var(--spacing-md) 0}.form-error{border:1px solid #f443364d;border-radius:var(--radius-sm);margin-bottom:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md)}.form-error,.form-error-banner{background:#f443361a;color:var(--status-cancelled);font-size:.9rem}.form-error-banner{align-items:center;border-bottom:1px solid #f443364d;display:flex;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-lg)}.form-error-banner button{background:none;border:none;color:var(--status-cancelled);cursor:pointer;font-size:1.25rem}.form-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-lg)}.fees-section{margin-bottom:var(--spacing-xl)}.fees-section h3{border-bottom:1px solid var(--border-light);color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 var(--spacing-md) 0;padding-bottom:var(--spacing-sm)}.store-defaults-display{margin-top:var(--spacing-md)}.charge-item.read-only,.fee-item.read-only{background:var(--background);border-color:var(--border-light);opacity:.9}.charge-item.read-only:before,.fee-item.read-only:before{content:""}.blackout-item{align-items:flex-start;border:1px solid var(--border-light);border-radius:var(--radius-sm);display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-sm);padding:var(--spacing-md)}.blackout-item.currently-active{background:#40916c0d;border-color:var(--primary-green)}.blackout-item.inactive{opacity:.6}.blackout-item-icon{font-size:1.5rem}.blackout-item-info{flex:1 1}.blackout-item-info strong{align-items:center;color:var(--text-primary);display:flex;gap:var(--spacing-sm)}.active-badge{background:var(--primary-green);border-radius:var(--radius-sm);color:#fff;font-size:.7rem;font-weight:500;padding:2px 6px}.blackout-dates{color:var(--text-secondary);font-size:.85rem}.blackout-dates,.blackout-reason{display:block;margin-top:var(--spacing-xs)}.blackout-reason{color:var(--text-muted);font-size:.8rem;font-style:italic}.blackout-item-actions{display:flex;gap:var(--spacing-sm)}.form-section-header,.site-media-form .form-section{margin-bottom:var(--spacing-lg)}.form-section-header h3{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 var(--spacing-xs) 0}.form-section-description{color:var(--text-secondary);font-size:.85rem;margin:0}.media-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:var(--spacing-lg)}.media-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;transition:border-color .2s,box-shadow .2s}.media-card:hover{border-color:var(--primary-green);box-shadow:0 2px 8px #0000001a}.media-preview{align-items:center;background:var(--background);display:flex;height:140px;justify-content:center;overflow:hidden;width:100%}.media-thumbnail{height:100%;object-fit:cover;width:100%}.document-thumbnail,.video-thumbnail{align-items:center;background:var(--background);display:flex;height:100%;justify-content:center;width:100%}.document-icon,.video-icon{font-size:3rem;opacity:.5}.media-info{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md)}.media-type-badge{align-items:center;background:var(--background);border-radius:var(--radius-sm);color:var(--text-secondary);display:inline-flex;font-size:.75rem;gap:var(--spacing-xs);padding:2px 8px;width:-webkit-fit-content;width:fit-content}.media-name{color:var(--text-primary);font-size:.85rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-actions{background:var(--background);border-top:1px solid var(--border-light);display:flex;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md)}.media-actions a,.media-actions button{flex:1 1;text-align:center}.media-empty{background:var(--background);border-radius:var(--radius-md);color:var(--text-secondary);margin-bottom:var(--spacing-lg);padding:var(--spacing-xl);text-align:center}.media-empty p{margin:0}.add-media-form{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-md);margin-top:var(--spacing-md);padding:var(--spacing-lg)}.add-media-form h4{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 var(--spacing-md) 0}.add-media-form .form-row{display:flex;gap:var(--spacing-md)}.add-media-form .form-group,.add-media-form .form-row{margin-bottom:var(--spacing-md)}.add-media-form .form-group.flex-grow{flex:1 1}.add-media-form .form-hint{color:var(--text-muted);display:block;font-size:.8rem;margin-top:var(--spacing-xs)}.media-footer{margin-top:var(--spacing-md)}.media-upload-options{align-items:center;display:flex;gap:var(--spacing-sm)}.or-divider{color:var(--text-muted);font-size:.85rem}.error-dismiss{background:none;border:none;color:var(--status-cancelled);cursor:pointer;font-size:1.25rem;margin-left:var(--spacing-sm)}.store-info-section{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);padding:var(--spacing-md)}.store-info-section h4{color:var(--text-primary);font-size:.9rem;font-weight:600;margin:0 0 var(--spacing-sm) 0}.store-info-section .info-text{color:var(--text-secondary);font-size:.8rem;margin:0 0 var(--spacing-md) 0}.tax-list{list-style:none;margin:0;padding:0}.tax-list li{align-items:center;border-bottom:1px solid var(--border-light);display:flex;gap:var(--spacing-md);padding:var(--spacing-sm) 0}.tax-list li:last-child{border-bottom:none}.tax-list .tax-name{color:var(--text-primary);flex:1 1;font-weight:500}.tax-list .tax-rate{color:var(--primary-green);font-weight:600}.tax-list .tax-unit{color:var(--text-secondary);font-size:.8rem}.suggested-price-info{align-items:center;background:#40916c1a;border:1px solid #40916c4d;border-radius:var(--radius-sm);color:var(--text-primary);display:flex;font-size:.9rem;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md)}.suggested-price-info .info-icon{font-size:1rem}.suggested-price-info strong{color:var(--primary-green)}.apply-defaults-section{background:var(--background);border:1px dashed var(--border);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);padding:var(--spacing-lg);text-align:center}.apply-defaults-section p{color:var(--text-secondary);margin:0 0 var(--spacing-md) 0}.apply-defaults-section .btn{margin:0 var(--spacing-sm)}.fee-checkbox-list{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.fee-checkbox-item{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md)}.fee-checkbox-item input[type=checkbox]{height:18px;margin:0;width:18px}.fee-checkbox-item .fee-details{flex:1 1}.fee-checkbox-item .fee-name{color:var(--text-primary);font-weight:500}.fee-checkbox-item .fee-amount{color:var(--text-secondary);font-size:.85rem}.sync-status-section{background:#ff98000d;border:1px solid #ff98004d;border-radius:var(--radius-md);padding:var(--spacing-md)}.sync-status-section h3{color:#f57c00}.sync-warning{color:#f57c00;font-weight:500;margin-bottom:var(--spacing-md)}.missing-fees-list{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.fee-checkbox-item{cursor:pointer;transition:background-color .15s ease}.fee-checkbox-item:hover{background:var(--background)}.badge-new{background:#4caf5026;border-radius:4px;color:#4caf50;font-size:.7rem;font-weight:600;padding:2px 6px;text-transform:uppercase}.sync-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.status-message{align-items:center;border-radius:var(--radius-sm);display:flex;font-size:.9rem;justify-content:space-between;margin-bottom:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md)}.status-message.success{background:#4caf501a;border:1px solid #4caf504d;color:#4caf50}.status-message.error{background:#f443361a;border:1px solid #f443364d;color:var(--status-cancelled)}.status-dismiss{background:none;border:none;color:inherit;cursor:pointer;font-size:1.25rem;margin-left:var(--spacing-sm);opacity:.7;padding:0}.status-dismiss:hover{opacity:1}.applying-defaults{color:var(--text-secondary);font-style:italic;padding:var(--spacing-md);text-align:center}.disabled-section{opacity:.6}.charge-item.excluded,.fee-item.excluded{background:#9e9e9e1a;border-color:#9e9e9e4d}.excluded-badge{background:#9e9e9e33;border-radius:4px;color:var(--text-muted);font-size:.7rem;font-weight:500;padding:2px 8px;text-transform:uppercase}.warning-text{color:#f57c00;font-style:italic;margin-top:var(--spacing-sm)}.hierarchy-panel{display:flex;flex-direction:column;gap:var(--spacing-lg)}.hierarchy-section{border-radius:var(--radius-md);padding:var(--spacing-md)}.hierarchy-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-sm)}.hierarchy-section-title{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0}.hierarchy-section-description{color:var(--text-secondary);font-size:.85rem;line-height:1.5;margin:0 0 var(--spacing-md) 0}.hierarchy-section-description strong{color:var(--text-primary)}.store-defaults-section{background:var(--background);border:1px dashed var(--border)}.store-default-item{background:var(--surface)}.site-overrides-section{background:#40916c08;border:1px solid #40916c33}.site-override-item{background:var(--surface);border-color:#40916c4d}.site-override-item.inactive{opacity:.6}.site-override-item.currently-active{background:#40916c14;border-color:var(--primary-green)}.hierarchy-items-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.hierarchy-item{align-items:center;border:1px solid var(--border-light);border-radius:var(--radius-sm);display:flex;gap:var(--spacing-md);justify-content:space-between;padding:var(--spacing-md);transition:border-color .2s}.hierarchy-item:hover{border-color:var(--border)}.hierarchy-item-content{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:var(--spacing-md)}.hierarchy-item-actions{display:flex;gap:var(--spacing-sm)}.hierarchy-empty-message{background:#00000005;border-radius:var(--radius-sm);color:var(--text-muted);font-style:italic;margin:0;padding:var(--spacing-md);text-align:center}.hierarchy-add-btn{margin-top:var(--spacing-md)}.hierarchy-loading{color:var(--text-secondary);padding:var(--spacing-lg);text-align:center}.source-badge{align-items:center;border-radius:var(--radius-sm);display:inline-flex;font-size:.7rem;font-weight:600;gap:var(--spacing-xs);letter-spacing:.3px;padding:3px 8px;text-transform:uppercase}.source-badge.store{background:#9e9e9e26;color:#666}.source-badge.site{background:#40916c26;color:var(--primary-green)}.source-badge-small{border-radius:3px;font-size:.65rem;font-weight:500;padding:2px 6px}.source-badge-small.store{background:#9e9e9e1a;color:#888}.source-badge-small.site{background:#40916c1a;color:var(--primary-green)}.btn-copy-to-site{background:#0000;border:1px solid var(--primary-green);border-radius:var(--radius-sm);color:var(--primary-green);cursor:pointer;font-size:.8rem;padding:var(--spacing-xs) var(--spacing-sm);transition:background .2s,color .2s;white-space:nowrap}.btn-copy-to-site:hover{background:var(--primary-green);color:#fff}.btn-copy-to-site:disabled{cursor:not-allowed;opacity:.5}.always-applies-badge{background:#9e9e9e1a;color:var(--text-muted)}.always-applies-badge,.overridden-badge{border-radius:var(--radius-sm);font-size:.7rem;font-weight:500;padding:2px 8px}.overridden-badge{background:#ff98001a;color:#f57c00}.inactive-badge{background:#9e9e9e26;color:var(--text-muted)}.active-now-badge,.inactive-badge{border-radius:var(--radius-sm);font-size:.7rem;padding:2px 8px}.active-now-badge{background:var(--primary-green);color:#fff;font-weight:600}.effective-summary{background:linear-gradient(135deg,#40916c0d,#40916c05);border:1px solid #40916c33;border-radius:var(--radius-md);margin-top:var(--spacing-lg);padding:var(--spacing-md)}.effective-summary-header{margin-bottom:var(--spacing-sm)}.effective-summary-title{align-items:center;color:var(--text-primary);display:flex;font-size:1rem;font-weight:600;gap:var(--spacing-sm);margin:0}.effective-icon{font-size:1.1rem}.effective-summary-description{color:var(--text-secondary);font-size:.85rem;margin:0 0 var(--spacing-md) 0}.effective-highlighted{align-items:center;background:var(--surface);border-radius:var(--radius-sm);display:flex;flex-direction:column;justify-content:center;margin-bottom:var(--spacing-md);padding:var(--spacing-md);text-align:center}.effective-highlighted-value{color:var(--primary-green);font-size:1.5rem;font-weight:700}.effective-highlighted-label{align-items:center;color:var(--text-secondary);display:flex;font-size:.85rem;gap:var(--spacing-sm);margin-top:var(--spacing-xs)}.effective-rate-value{color:var(--primary-green);font-size:1.5rem;font-weight:700}.effective-items-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.effective-item{align-items:center;background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-sm);display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md)}.effective-item-store{border-left:3px solid #9e9e9e}.effective-item-site{border-left:3px solid var(--primary-green)}.source-indicator{font-size:.9rem;text-align:center;width:16px}.source-indicator.store{color:#9e9e9e}.source-indicator.site{color:var(--primary-green)}.effective-item-content{align-items:center;display:flex;flex:1 1;gap:var(--spacing-md)}.effective-empty-message{color:var(--text-muted);font-style:italic;margin:0;padding:var(--spacing-sm);text-align:center}.site-pricing-form-v2 .pricing-item-main{align-items:center;display:flex;gap:var(--spacing-sm)}.site-pricing-form-v2 .pricing-date-icon{font-size:1rem}.site-pricing-form-v2 .pricing-date-range{color:var(--text-primary);font-weight:500}.site-pricing-form-v2 .pricing-rate{color:var(--primary-green);font-weight:600}.site-pricing-form-v2 .pricing-description{color:var(--text-secondary);font-size:.85rem}.site-pricing-form-v2 .pricing-discount{background:#ff98001a;border-radius:var(--radius-sm);color:#f57c00;font-size:.75rem;font-weight:600;padding:2px 6px}.site-overage-charges-form .charge-type{color:var(--text-primary);font-weight:600;min-width:80px}.site-overage-charges-form .charge-details{color:var(--text-secondary);font-size:.85rem}.site-overage-charges-form .charge-form-card{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-md);margin-top:var(--spacing-md);padding:var(--spacing-lg)}.site-overage-charges-form .charge-form-card h4{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 var(--spacing-md) 0}.effective-charge-item{align-items:center;display:flex;gap:var(--spacing-md)}.site-fees-form-v2 .fee-name{color:var(--text-primary);font-weight:600}.site-fees-form-v2 .fee-details{color:var(--text-secondary);font-size:.85rem;margin-left:var(--spacing-sm)}.site-fees-form-v2 .fee-form-card{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-md);margin-top:var(--spacing-md);padding:var(--spacing-lg)}.site-fees-form-v2 .fee-form-card h4{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 var(--spacing-md) 0}.effective-fee-item{align-items:center;display:flex;gap:var(--spacing-md)}.form-group-wide{grid-column:1/-1}.btn-text{border-radius:var(--radius-sm);transition:background .2s}.btn-text:hover{background:#0000000d}.btn-text.btn-danger:hover{background:#f443361a}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm)}@media (max-width:768px){.site-form-modal{border-radius:0;max-height:100vh}.site-form-tabs{flex-wrap:wrap;overflow:visible}.site-form-tab{font-size:.8rem;font-size:.85rem;padding:var(--spacing-xs) var(--spacing-sm)}.dimension-fields{grid-template-columns:repeat(2,1fr)}.form-row{grid-template-columns:1fr}.site-management-filters{flex-direction:column}.filter-input,.filter-select{width:100%}}.sites-dashboard{margin:0 auto;max-width:1400px;padding:24px}.sites-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.sites-title{align-items:baseline;display:flex;gap:12px}.sites-title h1{color:#1f2937;font-size:28px;font-weight:600;margin:0}.site-count{color:#6b7280;font-size:14px}.sites-view-toggle{background:#f3f4f6;border-radius:8px;display:flex;gap:4px;padding:4px}.view-btn{background:#0000;border:none;border-radius:6px;cursor:pointer;font-size:16px;padding:8px 12px;transition:all .2s}.view-btn:hover{background:#e5e7eb}.view-btn.active{background:#fff;box-shadow:0 1px 3px #0000001a}.sites-empty,.sites-error,.sites-loading{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:48px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:40px;margin-bottom:16px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.sites-empty button,.sites-error button{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;margin-top:16px;padding:8px 16px}.site-filters{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px;padding:16px}.filters-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.filter-group{flex:0 0 auto}.search-group{flex:1 1 300px;min-width:200px}.filter-input,.filter-select{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:8px 12px;width:100%}.filter-input:focus,.filter-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.filter-select{cursor:pointer;min-width:150px}.clear-filters-btn{background:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background .2s}.clear-filters-btn:hover{background:#dc2626}.hookup-filters{align-items:center;border-top:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px}.hookup-filters-label{color:#6b7280;font-size:14px;margin-right:8px}.hookup-filter-btn{background:#f3f4f6;border:1px solid #d1d5db;border-radius:20px;cursor:pointer;font-size:13px;padding:6px 12px;transition:all .2s}.hookup-filter-btn:hover{background:#e5e7eb}.hookup-filter-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.sites-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.site-card{background:#fff;border:2px solid #0000;border-radius:12px;box-shadow:0 1px 3px #0000001a;cursor:pointer;padding:16px;transition:all .2s}.site-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #00000026}.site-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.site-alias{color:#1f2937;font-size:20px;margin:0}.site-status-badge{border-radius:12px;color:#fff;font-size:12px;font-weight:500;padding:4px 10px}.site-card-body{margin-bottom:12px}.site-info-row{display:flex;font-size:14px;justify-content:space-between;padding:4px 0}.site-label{color:#6b7280}.site-value{color:#1f2937;font-weight:500}.site-hookups{border-top:1px solid #e5e7eb;display:flex;gap:8px;margin-top:12px;padding-top:12px}.hookup-icon{cursor:help;font-size:20px}.site-card-footer{align-items:center;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;padding-top:12px}.site-price{color:#059669;font-size:16px;font-weight:600}.site-price-default{color:#6b7280;font-size:14px;font-weight:400}.site-details-btn{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;padding:6px 12px;transition:background .2s}.site-details-btn:hover{background:#2563eb}.sites-list{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.sites-table{border-collapse:collapse;width:100%}.sites-table td,.sites-table th{border-bottom:1px solid #e5e7eb;padding:12px 16px;text-align:left}.sites-table th{background:#f9fafb;color:#6b7280;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.sites-table tr:hover{background:#f9fafb;cursor:pointer}.site-alias-cell{color:#1f2937;font-weight:600}.hookups-cell{display:flex;gap:4px}.hookup-icon-small{font-size:16px}.status-dot{border-radius:50%;display:inline-block;height:8px;margin-right:8px;width:8px}.action-btn{background:#f3f4f6;border:1px solid #d1d5db;border-radius:4px;cursor:pointer;font-size:13px;padding:4px 12px}.action-btn:hover{background:#e5e7eb}.modal-overlay{background:#00000080;padding:20px}.site-detail-modal{background:#fff;border-radius:16px;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.modal-header{border-bottom:1px solid #e5e7eb;padding:20px 24px}.modal-header h2{color:#1f2937;font-size:24px}.modal-close-btn{background:none;border:none;color:#6b7280;cursor:pointer;font-size:28px;line-height:1}.modal-close-btn:hover{color:#1f2937}.modal-body{padding:24px}.detail-section{margin-bottom:24px}.detail-section:last-child{margin-bottom:0}.detail-section h3{color:#374151;font-size:16px;font-weight:600;margin:0 0 12px}.detail-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-item.full-width{grid-column:1/-1}.detail-label{color:#6b7280;font-size:12px;letter-spacing:.5px;text-transform:uppercase}.detail-value{color:#1f2937;font-size:14px;font-weight:500}.site-description{color:#4b5563;font-size:14px;line-height:1.6;margin:0}.hookups-list{display:flex;flex-wrap:wrap;gap:12px}.hookup-item{align-items:center;background:#f3f4f6;border-radius:8px;display:flex;gap:8px;padding:8px 12px}.hookup-icon-large{font-size:24px}.hookup-name{color:#1f2937;font-size:14px;font-weight:500}.hookup-amp{background:#fff;border-radius:4px;color:#6b7280;font-size:12px;padding:2px 6px}.no-hookups{color:#6b7280;font-style:italic;margin:0}.modal-footer{background:#f9fafb;border-radius:0 0 16px 16px;border-top:1px solid #e5e7eb;gap:12px;padding:16px 24px}.btn{border-radius:8px;font-size:14px;padding:10px 20px;transition:all .2s}.btn-primary{background:#3b82f6}.btn-primary:hover{background:#2563eb}.btn-secondary{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.btn-secondary:hover{background:#e5e7eb}.sites-table-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.sites-table-v2{border-collapse:collapse;width:100%}.sites-table-v2 td,.sites-table-v2 th{border-bottom:1px solid #e5e7eb;padding:12px 16px;text-align:left}.sites-table-v2 th{background:#f9fafb;color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.5px;position:-webkit-sticky;position:sticky;text-transform:uppercase;top:0;white-space:nowrap;z-index:10}.sites-table-v2 th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.sites-table-v2 th.sortable:hover{background:#f3f4f6}.sort-indicator{color:#9ca3af;font-size:10px;margin-left:4px}.sort-indicator.active{color:#3b82f6}.sites-table-v2 tbody tr{transition:background .15s}.sites-table-v2 tbody tr:hover{background:#f9fafb;cursor:pointer}.sites-table-v2 tbody tr.site-row.maintenance{background:#f59e0b0d}.sites-table-v2 tbody tr.site-row.blocked{background:#ef44440d}.site-alias-link{color:#3b82f6;cursor:pointer;font-weight:600}.site-alias-link:hover{text-decoration:underline}.hookups-abbrev{background:#f3f4f6;border-radius:4px;color:#4b5563;font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:13px;padding:2px 8px}.rate-cell{white-space:nowrap}.rate-display{align-items:center;display:flex;gap:8px}.rate-value{color:#059669;font-weight:600}.rate-source{border-radius:4px;font-size:10px;font-weight:500;padding:2px 6px;text-transform:uppercase}.rate-source.store{background:#e5e7eb;color:#6b7280}.rate-source.site{background:#40916c26;color:#40916c}.no-rate{color:#9ca3af}.fees-cell{max-width:180px}.fees-summary{font-size:12px;line-height:1.4}.fee-summary-line{color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fee-summary-more{color:#9ca3af;font-size:11px;font-style:italic}.no-fees{color:#9ca3af}.status-cell{white-space:nowrap}.status-indicator{align-items:center;display:inline-flex;gap:6px}.status-icon{font-size:14px}.status-label{color:#4b5563;font-size:13px}.special-cell{white-space:nowrap}.special-badge{background:#f59e0b1a;border-radius:4px;color:#b45309;cursor:help;font-size:12px;padding:3px 8px}.no-special{color:#d1d5db}.actions-cell{text-align:right;white-space:nowrap}.btn-action{border:none;border-radius:6px;font-size:13px;font-weight:500;padding:6px 12px;transition:all .15s}.btn-edit{background:#3b82f6;color:#fff;margin-right:8px}.btn-edit:hover{background:#2563eb}.btn-menu{background:#f3f4f6;border:1px solid #d1d5db;font-size:14px;padding:6px 8px}.btn-menu:hover{background:#e5e7eb}.quick-actions-wrapper{display:inline-block;position:relative}.quick-actions-menu{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:180px;overflow:hidden;position:absolute;right:0;top:100%;z-index:100}.quick-actions-menu button{background:none;border:none;color:#374151;cursor:pointer;display:block;font-size:14px;padding:10px 16px;text-align:left;transition:background .15s;width:100%}.quick-actions-menu button:hover{background:#f3f4f6}.menu-divider{background:#e5e7eb;height:1px;margin:4px 0}.detail-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.detail-section-header h3{margin:0}.pricing-summary{background:#f9fafb;border-radius:8px;padding:16px}.pricing-main{align-items:center;display:flex;gap:12px;margin-bottom:8px}.pricing-amount{color:#059669;font-size:24px;font-weight:700}.pricing-source-badge{border-radius:4px;font-size:11px;font-weight:600;padding:3px 8px;text-transform:uppercase}.pricing-source-badge.store{background:#e5e7eb;color:#6b7280}.pricing-source-badge.site{background:#40916c26;color:#40916c}.pricing-description{color:#6b7280;font-size:14px;margin:0}.pricing-special{background:#f59e0b1a;border-radius:4px;color:#b45309;font-size:13px;margin:8px 0 0;padding:6px 10px}.no-pricing{color:#9ca3af;font-style:italic;margin:0}.charges-summary-list,.fees-summary-list{display:flex;flex-direction:column;gap:8px}.charge-summary-item,.fee-summary-item{align-items:center;background:#f9fafb;border-radius:6px;display:flex;gap:12px;padding:10px 12px}.charge-type-label,.fee-name-label{color:#374151;font-weight:600;min-width:80px}.charge-detail,.fee-detail{color:#6b7280;flex:1 1;font-size:13px}.charge-source-badge,.fee-source-badge{border-radius:4px;font-size:10px;font-weight:500;padding:2px 6px;text-transform:uppercase}.charge-source-badge.store,.fee-source-badge.store{background:#e5e7eb;color:#6b7280}.charge-source-badge.site,.fee-source-badge.site{background:#40916c26;color:#40916c}@media (max-width:768px){.sites-dashboard{padding:16px}.sites-header{align-items:flex-start;gap:16px}.filters-row,.sites-header{flex-direction:column}.filter-group,.search-group{flex:1 1 auto;width:100%}.detail-grid,.sites-grid{grid-template-columns:1fr}.modal-footer{flex-direction:column}.modal-footer .btn{width:100%}}.events-tabs{border-bottom:1px solid var(--border);display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm)}.events-tabs button{background:#0000;border:none;border-bottom:2px solid #0000;color:var(--text-secondary);cursor:pointer;font-size:.9rem;margin-bottom:-1px;padding:var(--spacing-sm) var(--spacing-md);transition:all .2s}.events-tabs button:hover{color:var(--text-primary)}.events-tabs button.active{border-bottom-color:var(--primary-green);color:var(--primary-green);font-weight:500}.events-tab-content{min-height:200px}.events-actions{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-md)}.events-actions-left{align-items:center;display:flex;gap:var(--spacing-md)}.events-filter{align-items:center;color:var(--text-secondary);display:flex;font-size:.85rem;gap:var(--spacing-xs)}.events-filter input[type=checkbox]{margin:0}.btn-create-event{align-items:center;background:var(--primary-green);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);transition:background-color .2s}.btn-create-event:hover{background:#1a7a3d;background:var(--primary-green-dark,#1a7a3d)}.events-table{border-collapse:collapse;width:100%}.events-table th{background:var(--background);border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:.8rem;font-weight:600;letter-spacing:.03em;text-align:left;text-transform:uppercase}.events-table td,.events-table th{padding:var(--spacing-sm) var(--spacing-md)}.events-table td{border-bottom:1px solid var(--border-light);color:var(--text-primary);font-size:.9rem;vertical-align:middle}.events-table tr:last-child td{border-bottom:none}.events-table tr:hover{background-color:var(--background)}.event-name{font-weight:500}.event-name-link{color:var(--text-primary);text-decoration:none}.event-name-link:hover{color:var(--primary-green)}.booking-code{background:var(--background);border-radius:var(--radius-xs);color:var(--text-secondary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.8rem;padding:2px 6px}.date-range{white-space:nowrap}.count-cell{text-align:center}.event-status{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:500;padding:2px 8px;text-transform:capitalize}.event-status.active{background:#2e7d321a;color:#2e7d32;color:var(--status-confirmed,#2e7d32)}.event-status.upcoming{background:#ed6c021a;color:#ed6c02;color:var(--status-pending,#ed6c02)}.event-status.past{background:var(--background);color:var(--text-muted)}.action-buttons{display:flex;gap:var(--spacing-xs)}.btn-action{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xs);color:var(--text-secondary);cursor:pointer;font-size:.75rem;padding:4px 8px;transition:all .2s}.btn-action:hover{background:var(--background);border-color:var(--text-secondary);color:var(--text-primary)}.btn-action.danger:hover{background:#d32f2f1a;border-color:#d32f2f;border-color:var(--status-cancelled,#d32f2f);color:#d32f2f;color:var(--status-cancelled,#d32f2f)}.events-empty{color:var(--text-muted);padding:var(--spacing-2xl);text-align:center}.events-empty-icon{font-size:2.5rem;margin-bottom:var(--spacing-md);opacity:.5}.events-empty-text{font-size:.95rem;margin-bottom:var(--spacing-md)}.template-instances{color:var(--text-secondary);font-size:.85rem}.template-description{color:var(--text-muted);font-size:.8rem;margin-top:2px}.modal-backdrop{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:var(--spacing-lg);position:fixed;right:0;top:0;z-index:1000}.modal-content{border-radius:var(--radius-md);box-shadow:0 4px 20px #00000026;max-width:600px;overflow-y:auto}.modal-content.event-form-modal{max-width:700px}.modal-content.modal-confirm{max-width:400px}.modal-header{padding:var(--spacing-lg)}.modal-header h2{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0}.modal-close{color:var(--text-muted);font-size:1.5rem}.modal-body{padding:var(--spacing-lg)}.modal-body p{color:var(--text-primary);margin:0 0 var(--spacing-sm) 0}.confirm-warning{color:var(--text-muted);font-size:.9rem}.modal-footer{padding:var(--spacing-lg)}.event-form,.form-body{display:flex;flex-direction:column}.form-body{gap:var(--spacing-lg);padding:var(--spacing-lg)}.form-section{border-top:1px solid var(--border-light);padding-top:var(--spacing-md)}.form-section h3{color:var(--text-secondary);font-size:.9rem;font-weight:600;letter-spacing:.03em;margin:0 0 var(--spacing-md) 0;text-transform:uppercase}.form-row-4{grid-template-columns:repeat(4,1fr)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group label{color:var(--text-primary);font-size:.85rem}.form-group input[type=date],.form-group input[type=number],.form-group input[type=text],.form-group select,.form-group textarea{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.9rem;padding:var(--spacing-sm);transition:border-color .2s}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#d32f2f;border-color:var(--status-cancelled,#d32f2f)}.form-error{color:#d32f2f;color:var(--status-cancelled,#d32f2f);font-size:.75rem}.form-checkbox{align-items:flex-start;flex-direction:row;gap:var(--spacing-sm)}.form-checkbox label{align-items:center;cursor:pointer;display:flex;font-weight:400;gap:var(--spacing-xs)}.form-checkbox input[type=checkbox]{height:16px;margin:0;width:16px}.form-checkbox .form-hint{margin-left:24px}.btn-cancel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:.9rem;padding:var(--spacing-sm) var(--spacing-lg);transition:all .2s}.btn-cancel:hover{background:var(--background);color:var(--text-primary)}.btn-save{background:var(--primary-green);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:var(--spacing-sm) var(--spacing-lg);transition:background-color .2s}.btn-save:hover{background:#1a7a3d;background:var(--primary-green-dark,#1a7a3d)}.btn-save:disabled{background:var(--text-muted);cursor:not-allowed}.btn-delete{background:#d32f2f;background:var(--status-cancelled,#d32f2f);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:var(--spacing-sm) var(--spacing-lg);transition:background-color .2s}.btn-delete:hover{background:#b71c1c}.site-selector-modal{display:flex;flex-direction:column;max-height:85vh;max-width:900px}.site-selector-header-content{display:flex;flex-direction:column;gap:var(--spacing-xs)}.site-selector-event-info{align-items:center;display:flex;font-size:.85rem;gap:var(--spacing-md)}.site-selector-event-info .event-name{color:var(--text-primary);font-weight:500}.site-selector-event-info .event-dates{color:var(--text-secondary)}.site-selector-filters{background:var(--background);border-bottom:1px solid var(--border);padding:var(--spacing-md) var(--spacing-lg)}.site-selector-filters .filter-row{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.site-selector-filters .search-input-wrapper{flex:1 1;min-width:200px}.site-selector-filters .search-input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.9rem;padding:var(--spacing-sm);width:100%}.site-selector-filters .search-input:focus{border-color:var(--primary-green);outline:none}.site-selector-filters .filter-select{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.85rem;min-width:140px;padding:var(--spacing-sm)}.site-selector-filters .filter-select:focus{border-color:var(--primary-green);outline:none}.selection-actions{align-items:center;display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.selection-actions .btn-link{background:none;border:none;color:var(--primary-green);cursor:pointer;font-size:.85rem;padding:0}.selection-actions .btn-link:hover{text-decoration:underline}.selection-actions .separator{color:var(--text-muted)}.site-selector-body{flex:1 1;overflow-y:auto;padding:var(--spacing-md) var(--spacing-lg)}.no-sites-message{color:var(--text-muted);padding:var(--spacing-2xl);text-align:center}.site-section{margin-bottom:var(--spacing-lg)}.site-section:last-child{margin-bottom:0}.section-header{border-bottom:1px solid var(--border-light);color:var(--text-secondary);font-size:.85rem;font-weight:600;letter-spacing:.03em;margin:0 0 var(--spacing-sm) 0;padding-bottom:var(--spacing-xs);text-transform:uppercase}.site-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.site-item{align-items:center;background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-sm);cursor:pointer;display:flex;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);transition:all .15s}.site-item:hover{background:var(--background);border-color:var(--border)}.site-item.selected{background:#2e7d320d;border-color:var(--primary-green)}.site-item.unavailable{cursor:not-allowed;opacity:.6}.site-item.unavailable:hover{background:var(--surface);border-color:var(--border-light)}.site-checkbox{align-items:center;display:flex}.site-checkbox input[type=checkbox]{cursor:pointer;height:18px;margin:0;width:18px}.site-item.unavailable .site-checkbox input[type=checkbox]{cursor:not-allowed}.site-info{flex:1 1;min-width:0}.site-name-row{align-items:center;display:flex;gap:var(--spacing-sm)}.site-alias{color:var(--text-primary);font-size:.95rem;font-weight:600}.site-type-badge{background:var(--background);border-radius:10px;color:var(--text-secondary);display:inline-block;font-size:.7rem;font-weight:500;padding:1px 6px;text-transform:uppercase}.site-description{color:var(--text-muted);font-size:.8rem;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-price{color:var(--text-secondary);font-size:.85rem;font-weight:500;white-space:nowrap}.site-status{min-width:80px;text-align:right}.site-status span{border-radius:10px;display:inline-block;font-size:.7rem;font-weight:500;padding:2px 8px}.status-available{background:#2e7d321a;color:#2e7d32;color:var(--status-confirmed,#2e7d32)}.status-selected{background:var(--primary-green);color:#fff}.status-unavailable{background:var(--background);color:var(--text-muted)}.site-selector-footer{align-items:center;display:flex;justify-content:space-between}.selection-summary{color:var(--text-secondary);font-size:.9rem}.selection-summary strong{color:var(--primary-green);font-size:1.1rem}.footer-actions{display:flex;gap:var(--spacing-sm)}.inactive-row{opacity:.7}.inactive-badge{background:var(--text-muted);border-radius:8px;color:#fff;display:inline-block;font-size:.65rem;font-weight:500;margin-left:var(--spacing-xs);padding:1px 6px;text-transform:uppercase;vertical-align:middle}.site-release-modal{display:flex;flex-direction:column;max-height:85vh;max-width:900px}.release-summary-bar{background:var(--background);border-bottom:1px solid var(--border);display:flex;gap:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg)}.release-stat{align-items:center;border-radius:var(--radius-sm);display:flex;flex-direction:column;min-width:100px;padding:var(--spacing-sm) var(--spacing-md)}.release-stat .stat-value{color:var(--text-primary);font-size:1.5rem;font-weight:600}.release-stat .stat-label{color:var(--text-secondary);font-size:.75rem;letter-spacing:.03em;text-transform:uppercase}.release-stat.assigned{background:#2e7d321a}.release-stat.assigned .stat-value{color:var(--primary-green)}.release-stat.released{background:#ed6c021a}.release-stat.released .stat-value{color:#ed6c02;color:var(--status-pending,#ed6c02)}.release-item{cursor:pointer}.release-item.assigned{border-left:3px solid var(--primary-green)}.release-item.released{background:#ed6c0205;border-left:3px solid #ed6c02;border-left:3px solid var(--status-pending,#ed6c02)}.release-toggle{display:flex;justify-content:flex-end;min-width:90px}.toggle-btn{border:none;border-radius:12px;cursor:pointer;font-size:.75rem;font-weight:500;padding:4px 12px;transition:all .2s}.toggle-btn.assigned{background:var(--primary-green);color:#fff}.toggle-btn.assigned:hover{background:#1a7a3d;background:var(--primary-green-dark,#1a7a3d)}.toggle-btn.released{background:#ed6c02;background:var(--status-pending,#ed6c02);color:#fff}.toggle-btn.released:hover{background:#d35f00}.no-sites-message .hint{color:var(--text-secondary);font-size:.85rem;margin-top:var(--spacing-xs)}.released-indicator{color:#ed6c02;color:var(--status-pending,#ed6c02);font-size:.8rem}@media (max-width:768px){.events-tabs{overflow-x:auto}.events-actions{align-items:flex-start;flex-direction:column;gap:var(--spacing-md)}.events-table{display:block;overflow-x:auto}.action-buttons{flex-wrap:wrap}.modal-backdrop{padding:var(--spacing-sm)}.modal-content{max-height:95vh}.form-row{grid-template-columns:1fr}.form-row-4{grid-template-columns:1fr 1fr}.form-body,.modal-footer,.modal-header{padding:var(--spacing-md)}.site-selector-modal{max-width:100%}.site-selector-filters .filter-row{align-items:stretch;flex-direction:column}.site-selector-filters .search-input-wrapper{min-width:0;min-width:auto}.site-selector-filters .filter-select{width:100%}.site-item{flex-wrap:wrap}.site-info{flex-basis:calc(100% - 50px)}.site-price,.site-status{flex-basis:50%;margin-top:var(--spacing-xs)}.site-selector-footer{align-items:stretch;flex-direction:column;gap:var(--spacing-md)}.selection-summary{text-align:center}.footer-actions{justify-content:stretch}.footer-actions button{flex:1 1}}.config-dashboard{display:flex;flex-direction:column;gap:var(--spacing-xl)}.config-header{margin-bottom:var(--spacing-md)}.page-title{color:var(--text-primary);font-size:1.75rem;font-weight:700;margin:0 0 var(--spacing-sm) 0}.page-subtitle{color:var(--text-secondary);font-size:1rem;margin:0}.config-cards{display:flex;flex-direction:column;gap:var(--spacing-lg)}.config-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.config-card-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:var(--spacing-lg);transition:background-color .2s}.config-card-header:hover{background-color:var(--background)}.config-card-title{align-items:center;display:flex;gap:var(--spacing-md)}.config-card-icon{font-size:1.5rem}.config-card-title h2{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin:0}.config-card-header-right{align-items:center;display:flex;gap:var(--spacing-md)}.config-card-db-label{background:var(--background);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-muted);font-family:monospace;font-size:.75rem;padding:2px 8px}.config-card-toggle{color:var(--text-secondary);font-size:1.25rem;transition:transform .2s}.config-card-toggle.expanded{transform:rotate(180deg)}.config-card-content{border-top:1px solid var(--border);max-height:400px;overflow-y:auto;padding:0 var(--spacing-lg) var(--spacing-lg)}.config-card-content::-webkit-scrollbar{width:6px}.config-card-content::-webkit-scrollbar-track{background:var(--background);border-radius:3px}.config-card-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.config-card-content::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.config-table{border-collapse:collapse;margin-top:var(--spacing-md);width:100%}.config-table th{background:var(--background);border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:.8rem;font-weight:600;letter-spacing:.03em;text-align:left;text-transform:uppercase}.config-table td,.config-table th{padding:var(--spacing-sm) var(--spacing-md)}.config-table td{border-bottom:1px solid var(--border-light);color:var(--text-primary);font-size:.9rem}.config-table tr:last-child td{border-bottom:none}.config-table .amount{color:var(--primary-green);font-weight:600}.config-table .status-active{color:var(--status-confirmed)}.config-table .status-inactive{color:var(--status-checked-out)}.config-table td:last-child,.config-table th:last-child{text-align:center}.config-placeholder{align-items:center;background:var(--surface);border:2px dashed var(--border);border-radius:var(--radius-md);color:var(--text-muted);display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-2xl)}.placeholder-icon{font-size:2rem;margin-bottom:var(--spacing-sm)}.placeholder-text{font-size:.9rem}.config-section{margin-bottom:var(--spacing-xl)}.config-section-header{align-items:center;border-bottom:2px solid var(--border);display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm)}.config-section-header h2{color:var(--text-secondary);font-size:1rem;font-weight:700;letter-spacing:.05em;margin:0;text-transform:uppercase}.config-section-note{color:var(--text-muted);font-size:.8rem;font-style:italic;font-weight:400}.config-section-description{color:var(--text-secondary);font-size:.85rem;margin:0 0 var(--spacing-md) 0}.config-section-cards{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(2,1fr)}.config-section-cards.full-width{grid-template-columns:1fr}.config-card-footer{border-top:1px solid var(--border-light);display:flex;justify-content:flex-end;margin-top:var(--spacing-md);padding-top:var(--spacing-md)}.config-empty,.config-error,.config-loading{color:var(--text-secondary);padding:var(--spacing-xl);text-align:center}.config-error{color:var(--status-cancelled)}.config-empty p{margin-bottom:var(--spacing-md)}.config-actions{display:flex;gap:var(--spacing-sm);justify-content:center}.btn-text{background:none;border:none;color:var(--primary-green);cursor:pointer;font-size:.85rem;padding:var(--spacing-xs) var(--spacing-sm)}.btn-text:hover{text-decoration:underline}.btn-text.btn-danger{color:var(--status-cancelled)}.btn-sm{font-size:.85rem;padding:var(--spacing-xs) var(--spacing-md)}.btn-primary{background:var(--primary-green);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-weight:500}.btn-primary:hover{background:#2d6a4f;background:var(--primary-green-dark,#2d6a4f)}.fee-type-cell,.hookup-icon-cell{align-items:center;display:flex;gap:var(--spacing-sm)}.fee-type-icon,.hookup-icon{font-size:1.1rem}.status-badge{border-radius:var(--radius-sm);display:inline-block;font-size:.75rem;font-weight:600;padding:var(--spacing-xs) var(--spacing-sm)}.status-active-now{background:var(--status-confirmed);color:#fff}.row-active-period{background:#40916c0d}.modal-overlay{align-items:center;animation:fadeIn .2s ease;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:var(--spacing-md);position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideIn .2s ease;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:90vh;max-width:500px;width:100%}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-xl)}.modal-header h3{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0}.modal-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.75rem;line-height:1;padding:0;transition:color .2s}.modal-close:hover{color:var(--text-primary)}.modal-body{flex:1 1;overflow-y:auto;padding:var(--spacing-xl)}.modal-footer{align-items:center;background:var(--background);border-radius:0 0 var(--radius-lg) var(--radius-lg);border-top:1px solid var(--border);display:flex;gap:var(--spacing-sm);justify-content:flex-end;padding:var(--spacing-lg) var(--spacing-xl)}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{color:var(--text-secondary);display:block;font-size:.875rem;font-weight:500;margin-bottom:var(--spacing-xs)}.form-group input,.form-group select,.form-group textarea{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.9rem;padding:var(--spacing-sm) var(--spacing-md);transition:border-color .2s,box-shadow .2s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary-green);box-shadow:0 0 0 3px #40916c1a;outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group textarea{min-height:60px;resize:vertical}.form-row{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:1fr 1fr}.form-hint{color:var(--text-muted);display:block;font-size:.75rem;margin-top:var(--spacing-xs)}.checkbox-group,.checkbox-group label{align-items:center;display:flex}.checkbox-group label{cursor:pointer;gap:var(--spacing-sm);margin-bottom:0}.checkbox-group input[type=checkbox]{cursor:pointer;width:auto}.checkbox-list{background:var(--background);border:1px solid var(--border);flex-direction:column;max-height:200px;overflow-y:auto;padding:var(--spacing-sm)}.checkbox-list,.checkbox-list .checkbox-item{border-radius:var(--radius-sm);display:flex;gap:var(--spacing-sm)}.checkbox-list .checkbox-item{align-items:center;cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);transition:background-color .15s}.checkbox-list .checkbox-item:hover{background:#0000000d;background:var(--background-hover,#0000000d)}.checkbox-list .checkbox-item input[type=checkbox]{accent-color:var(--primary-green);cursor:pointer;display:block;height:16px;width:16px}.btn{border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.9rem;font-weight:500;padding:var(--spacing-sm) var(--spacing-lg);transition:background-color .2s,transform .1s}.btn:active{transform:scale(.98)}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-secondary{background-color:var(--border);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--text-muted)}.empty-state,.error-state,.loading-state{color:var(--text-secondary);padding:var(--spacing-xl);text-align:center}.error-state{color:var(--status-cancelled)}.empty-state p,.error-state p{margin-bottom:var(--spacing-md)}@media (max-width:768px){.page-title{font-size:1.5rem}.config-card-header{padding:var(--spacing-md)}.config-card-content{padding:0 var(--spacing-md) var(--spacing-md)}.config-table{display:block;overflow-x:auto}.config-section-cards{grid-template-columns:1fr}.config-actions{flex-direction:column;gap:var(--spacing-xs)}.form-row{grid-template-columns:1fr}.modal-content{margin:var(--spacing-md);max-width:100%}}.app{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1;margin:0 auto;max-width:var(--max-width);padding:var(--spacing-xl);width:100%}@media (max-width:768px){.main-content{padding:var(--spacing-md)}}
/*# sourceMappingURL=main.095df5ab.css.map*/