*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary: #6b7f4e;--primary-dark: #556440;--primary-light: #d4dfc8;--primary-lighter: #eef2e8;--accent: #8fa668;--accent-light: #c5d6a8;--dark: #2c3325;--dark-mid: #3d4a33;--gray-900: #1f2418;--gray-700: #4a5240;--gray-500: #7a8270;--gray-400: #9ca393;--gray-300: #c8cdc0;--gray-200: #dde0d8;--gray-100: #f0f2ec;--white: #ffffff;--green: #5a8a3c;--green-light: #e2f0d6;--yellow: #b8a038;--yellow-light: #f5f0d0;--red: #c45c4a;--red-light: #f5e0dc;--radius: 10px;--radius-lg: 16px;--shadow: 0 1px 3px rgba(44,51,37,.08), 0 1px 2px rgba(44,51,37,.06);--shadow-md: 0 4px 8px rgba(44,51,37,.1);--shadow-lg: 0 8px 24px rgba(44,51,37,.12)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--gray-900);background:var(--gray-100);line-height:1.6}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-dark)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 22px;border:none;border-radius:var(--radius);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;letter-spacing:.01em}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:6px 14px;font-size:.85rem}.btn-lg{padding:16px 32px;font-size:1.05rem;width:100%}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--gray-200);color:var(--gray-700)}.btn-secondary:hover{background:var(--gray-300)}.btn-danger{background:var(--red);color:#fff}.btn-danger:hover{background:#a84a3a}.btn-outline{background:transparent;color:var(--primary);border:2px solid var(--primary)}.btn-outline:hover{background:var(--primary);color:#fff}.navbar{background:var(--dark);color:#fff;padding:0 24px;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-lg)}.navbar-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:64px}.navbar-brand{color:#fff;font-size:1.15rem;font-weight:700;display:flex;align-items:center;gap:10px}.navbar-brand:hover{color:var(--primary-light)}.brand-logo{height:40px;width:auto;border-radius:4px}.brand-icon{font-size:1.4rem;color:var(--accent)}.navbar-links{display:flex;align-items:center;gap:20px}.navbar-links a{color:var(--gray-300);font-size:.9rem;font-weight:500}.navbar-links a:hover{color:#fff}.inventory-badge{display:inline-flex;align-items:center;gap:8px;background:#ffffff14;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:6px 14px;border-radius:20px;color:var(--gray-300);font-size:.85rem;border:1px solid rgba(255,255,255,.1);transition:all .2s;cursor:pointer;text-decoration:none}.inventory-badge:hover{background:#ffffff26;color:#fff}.inventory-badge strong{color:#fff;font-size:1rem}.inventory-dot{width:8px;height:8px;border-radius:50%;animation:pulse 2s ease-in-out infinite}.inventory-dot.available{background:var(--accent)}.inventory-dot.full{background:var(--red)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.hero{background:linear-gradient(160deg,var(--dark) 0%,var(--dark-mid) 50%,var(--primary-dark) 100%);color:#fff;padding:72px 24px 56px;text-align:center;position:relative;overflow:hidden}.hero-with-image{padding:40px 24px 60px;min-height:auto;display:flex;align-items:center;justify-content:center}.hero-bg{position:absolute;top:0;left:0;right:0;bottom:0;background-size:cover;background-position:center;z-index:0}.hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(160deg,#2c3325eb,#3d4a33d9,#556440cc);z-index:1}.hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at 30% 80%,rgba(107,127,78,.15) 0%,transparent 60%);z-index:2}.hero-content{max-width:720px;margin:0 auto;position:relative;z-index:3}.hero-logo{width:80px;height:auto;margin-bottom:12px;border-radius:10px;box-shadow:0 4px 16px #0000004d}.hero h1{font-size:2.2rem;line-height:1.15;margin-bottom:6px;font-weight:800;text-shadow:0 2px 8px rgba(0,0,0,.3)}.hero-subtitle{color:var(--accent-light)}.hero-text{font-size:1rem;color:var(--gray-300);margin:10px 0 16px;line-height:1.6}.hero-badges{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:20px}.hero-badge{display:inline-flex;align-items:center;gap:6px;background:#ffffff1f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:8px 16px;border-radius:20px;font-size:.85rem;color:var(--gray-300);border:1px solid rgba(255,255,255,.1)}.hero-badge strong{color:#fff}.hero-cta{margin-top:20px;max-width:360px;margin-left:auto;margin-right:auto;font-size:1rem}.photo-strip{background:transparent;padding:0;overflow:visible;position:relative;z-index:4;margin-top:-40px;margin-bottom:20px}.photo-strip-inner{display:grid;grid-template-columns:repeat(3,1fr);max-width:720px;margin:0 auto;gap:12px;padding:0 24px}.photo-item{position:relative;overflow:hidden;aspect-ratio:3/2;border-radius:10px;box-shadow:0 6px 18px #0003}.photo-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.photo-item:hover img{transform:scale(1.05)}.photo-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#2c3325d9);color:#fff;padding:16px 10px 8px;font-size:.75rem;font-weight:600;border-radius:0 0 10px 10px}@media(max-width:640px){.photo-strip-inner{grid-template-columns:repeat(3,1fr);gap:8px;padding:0 12px;max-width:100%}.photo-caption{font-size:.65rem;padding:10px 6px 6px}}.section{padding:64px 24px}.section-alt{background:var(--white)}.section-warm{background:var(--primary-lighter)}.section-inner{max-width:1100px;margin:0 auto}.section-inner h2{font-size:1.8rem;margin-bottom:8px;color:var(--dark);font-weight:700}.section-desc{color:var(--gray-500);margin-bottom:28px;font-size:1.05rem}.section-label{display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--primary);margin-bottom:8px}.request-form{max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.request-form .form-field{display:flex;flex-direction:column;gap:4px}.request-form .form-field label{font-size:.85rem;font-weight:600;color:var(--gray-700)}.request-form .form-field input{padding:12px 14px;border:1px solid var(--gray-300);border-radius:var(--radius);font-size:1rem;transition:all .2s;background:var(--white);width:100%}.request-form .form-field input:focus,.request-form .form-field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6b7f4e1f}.request-form .form-field textarea{padding:12px 14px;border:1px solid var(--gray-300);border-radius:var(--radius);font-size:1rem;font-family:inherit;resize:vertical;width:100%;transition:all .2s;background:var(--white)}.char-count{font-size:.75rem;color:var(--gray-400);text-align:right;display:block;margin-top:2px}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:500px){.form-row-2{grid-template-columns:1fr}}.estimate-bar{text-align:center;padding:12px 16px;background:var(--primary-lighter);border:1px solid var(--primary-light);border-radius:var(--radius);font-size:.95rem;color:var(--gray-700)}.estimate-bar strong{color:var(--primary-dark)}.success-card{text-align:center;padding:40px;max-width:500px;margin:0 auto;background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid var(--gray-200)}.success-icon{width:56px;height:56px;border-radius:50%;background:var(--green-light);color:var(--green);font-size:1.8rem;display:inline-flex;align-items:center;justify-content:center;margin-bottom:16px}.success-card h3{font-size:1.3rem;color:var(--dark);margin-bottom:8px}.success-card p{color:var(--gray-500);margin-bottom:20px}.steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-top:16px}.step-card{background:var(--white);border-radius:var(--radius-lg);padding:28px 24px;text-align:center;box-shadow:var(--shadow);border:1px solid var(--gray-200);transition:transform .2s,box-shadow .2s}.step-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.step-num{width:44px;height:44px;border-radius:50%;background:var(--primary-light);color:var(--primary-dark);font-size:1.2rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;margin-bottom:14px}.step-card h3{margin-bottom:6px;font-size:1rem;color:var(--dark)}.step-card p{color:var(--gray-500);font-size:.9rem}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.info-card{background:var(--white);border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow);border:1px solid var(--gray-200)}.info-card h3{font-size:1rem;color:var(--dark);margin-bottom:8px;display:flex;align-items:center;gap:8px}.info-card p{color:var(--gray-500);font-size:.9rem;line-height:1.6}.info-icon{font-size:1.3rem}.calendar-widget{background:var(--white);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow);border:1px solid var(--gray-200)}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.calendar-header h3{font-size:1.05rem;color:var(--dark)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-dow{text-align:center;font-size:.75rem;font-weight:600;color:var(--gray-400);padding:4px}.cal-empty{padding:8px}.cal-day{padding:8px 4px;text-align:center;border-radius:6px;font-size:.85rem;transition:all .2s;cursor:default}.cal-day-num{display:block;font-weight:600}.cal-day-avail{display:block;font-size:.6rem;color:var(--gray-500);margin-top:1px}.cal-available{background:var(--green-light)}.cal-limited{background:var(--yellow-light)}.cal-full{background:var(--red-light)}.calendar-legend{display:flex;gap:16px;margin-top:16px;font-size:.8rem;color:var(--gray-500)}.legend-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px;vertical-align:middle}.legend-dot.cal-available{background:var(--green)}.legend-dot.cal-limited{background:var(--yellow)}.legend-dot.cal-full{background:var(--red)}.fleet-map{margin-top:16px}.map-container{background:var(--white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--gray-200)}.map-placeholder{padding:24px}.map-placeholder h4{margin-bottom:16px;color:var(--dark);font-size:1rem}.map-visual{margin-bottom:16px}.map-svg{width:100%;height:auto;border-radius:var(--radius)}.map-legend{display:flex;gap:16px;margin-bottom:16px;font-size:.85rem;color:var(--gray-500)}.dumpster-list{display:flex;flex-direction:column;gap:8px}.dumpster-card{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--gray-100);border-radius:var(--radius);font-size:.9rem;border:1px solid var(--gray-200)}.status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.dumpster-location{color:var(--gray-500);margin-left:auto;font-size:.85rem}.status-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:.75rem;font-weight:600;color:#fff;text-transform:capitalize}.status-available{background:var(--green)}.status-rented{background:var(--red)}.status-maintenance{background:var(--yellow);color:var(--gray-900)}.book-page{max-width:800px;margin:0 auto;padding:40px 24px}.page-header{margin-bottom:32px}.page-header h1{font-size:2rem;color:var(--dark)}.page-header p{color:var(--gray-500)}.booking-form{display:flex;flex-direction:column;gap:20px}.form-section{background:var(--white);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow);border:1px solid var(--gray-200)}.form-section h3{font-size:1.05rem;color:var(--dark);margin-bottom:16px}.date-picker-wrapper{display:flex;justify-content:center}.date-summary{text-align:center;margin-top:12px;padding:12px;background:var(--primary-lighter);border-radius:var(--radius);border:1px solid var(--primary-light)}.days-count{font-weight:700;color:var(--primary-dark);font-size:1.1rem}.loading-text{color:var(--gray-400);font-style:italic;font-size:.9rem}.dumpster-options{display:flex;flex-direction:column;gap:8px}.dumpster-option{display:flex;align-items:center;gap:12px;padding:12px 16px;border:2px solid var(--gray-200);border-radius:var(--radius);cursor:pointer;transition:all .2s}.dumpster-option:hover{border-color:var(--gray-300);background:var(--gray-100)}.dumpster-option.selected{border-color:var(--primary);background:var(--primary-lighter)}.dumpster-option input{accent-color:var(--primary)}.dumpster-loc{display:block;font-size:.85rem;color:var(--gray-500)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-field{display:flex;flex-direction:column;gap:4px}.form-field.full-width{grid-column:1 / -1}.form-field label{font-size:.85rem;font-weight:600;color:var(--gray-700)}.form-field input,.form-field select{padding:10px 14px;border:1px solid var(--gray-300);border-radius:var(--radius);font-size:.95rem;transition:all .2s;background:var(--white)}.form-field input:focus,.form-field select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6b7f4e1f}.price-summary{background:var(--white);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow);border:1px solid var(--gray-200)}.price-summary h3{margin-bottom:12px;color:var(--dark)}.price-line{display:flex;justify-content:space-between;padding:8px 0;color:var(--gray-500);font-size:.95rem}.price-total{display:flex;justify-content:space-between;padding:12px 0 0;border-top:2px solid var(--gray-200);font-size:1.2rem;font-weight:700;color:var(--dark)}.error-msg{background:var(--red-light);color:var(--red);padding:12px 16px;border-radius:var(--radius);font-size:.9rem;border:1px solid #e8c4bc}.result-page{display:flex;justify-content:center;align-items:center;min-height:60vh;padding:40px 24px}.result-card{background:var(--white);border-radius:var(--radius-lg);padding:48px;text-align:center;box-shadow:var(--shadow-lg);max-width:500px;width:100%;border:1px solid var(--gray-200)}.result-icon{width:64px;height:64px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:2rem;margin-bottom:16px}.success .result-icon{background:var(--green-light);color:var(--green)}.cancel .result-icon{background:var(--red-light);color:var(--red)}.result-card h1{font-size:1.5rem;margin-bottom:8px;color:var(--dark)}.result-card p{color:var(--gray-500);margin-bottom:16px}.result-actions{display:flex;gap:12px;justify-content:center}.booking-details{text-align:left;margin:24px 0;border:1px solid var(--gray-200);border-radius:var(--radius);overflow:hidden}.detail-row{display:flex;justify-content:space-between;padding:10px 16px;font-size:.9rem}.detail-row:nth-child(2n){background:var(--gray-100)}.detail-row.total{font-weight:700;background:var(--primary-lighter);font-size:1rem}.admin-login{display:flex;justify-content:center;align-items:center;min-height:60vh;padding:40px 24px}.login-form{background:var(--white);padding:40px;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:400px;border:1px solid var(--gray-200)}.login-form h2{margin-bottom:24px;color:var(--dark)}.admin-page{max-width:1100px;margin:0 auto;padding:32px 24px}.admin-page h1{font-size:1.8rem;color:var(--dark);margin-bottom:24px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:var(--white);border-radius:var(--radius-lg);padding:24px;text-align:center;box-shadow:var(--shadow);border:1px solid var(--gray-200)}.stat-value{font-size:2rem;font-weight:700;color:var(--primary)}.stat-label{color:var(--gray-500);font-size:.9rem;margin-top:4px}.admin-links{display:flex;gap:12px}.filter-bar{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.table-wrapper{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--gray-200)}.admin-table th{background:var(--dark);color:#fff;padding:12px 16px;text-align:left;font-size:.85rem;white-space:nowrap}.admin-table td{padding:12px 16px;border-bottom:1px solid var(--gray-100);font-size:.9rem}.admin-table td small{color:var(--gray-500);display:block}.action-cell{display:flex;gap:6px}.empty-row{text-align:center;color:var(--gray-500);padding:32px}.badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:capitalize}.badge-paid{background:var(--green-light);color:#2d5a1a}.badge-pending{background:var(--yellow-light);color:#6b5a10}.badge-failed{background:var(--red-light);color:#7a2e22}.badge-refunded{background:#e0e7ff;color:#3730a3}.badge-confirmed{background:#d4e8ff;color:#1a4a7a}.badge-active{background:var(--green-light);color:#2d5a1a}.badge-returned{background:var(--gray-100);color:var(--gray-500)}.badge-cancelled{background:var(--red-light);color:#7a2e22}.fleet-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.fleet-card{background:var(--white);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow);border:1px solid var(--gray-200)}.fleet-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.fleet-card-body p{font-size:.9rem;color:var(--gray-700);margin-bottom:4px}.fleet-card-actions{display:flex;gap:8px;margin-top:16px}.edit-form{margin-top:16px;padding-top:16px;border-top:1px solid var(--gray-200)}.edit-form .form-field{margin-bottom:12px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-actions{display:flex;gap:8px;margin-top:12px}.footer{background:var(--dark);color:var(--gray-400);padding:32px 24px;text-align:center;font-size:.85rem;margin-top:auto}.footer-inner{max-width:1200px;margin:0 auto}.footer-links a{color:var(--accent-light)}.footer-links a:hover{color:#fff}.app{display:flex;flex-direction:column;min-height:100vh}main{flex:1}.rdp-root{--rdp-accent-color: var(--primary) !important;--rdp-accent-background-color: var(--primary-light) !important;--rdp-range_middle-background-color: var(--primary-lighter) !important;--rdp-range_middle-color: var(--dark) !important}@media(max-width:768px){.hero h1{font-size:2rem}.hero,.hero-with-image{padding:48px 24px 40px;min-height:auto}.hero-logo{width:80px}.form-grid{grid-template-columns:1fr}.navbar-brand{font-size:.9rem}.brand-logo{height:32px}.stats-grid{grid-template-columns:1fr 1fr}.section{padding:40px 24px}.hero-badges{gap:8px}.hero-badge{font-size:.8rem;padding:6px 12px}.photo-strip-inner{grid-template-columns:1fr}.photo-item{aspect-ratio:2/1}}
