:root{--theme-forest:#164b3b;--theme-green:#75bfa0;--theme-green-soft:#bfe8d2;--theme-mint:#eaf8f1;--theme-sky:#dceff8;--theme-blue:#386a9b;--theme-blue-soft:#dbe8f5;--theme-brown:#a9784b;--theme-brown-soft:#e8d8c2;--theme-cream:#fff9ef;--theme-ink:#173a33;--theme-muted:#687c75;--theme-border:#d6e7df;--theme-shadow:0 14px 36px rgba(22,75,59,.09);--theme-focus:0 0 0 .24rem rgba(56,106,155,.18)}
body.hero-split{background:linear-gradient(180deg,var(--theme-cream),#f7fcfa 34%,var(--theme-mint));color:var(--theme-ink)}a{color:var(--theme-blue)}a:hover{color:#27547f}::selection{background:var(--theme-green-soft);color:var(--theme-forest)}
.panel,.eco-card,.stat-card,.price-card,.metric-card,.modern-price-card{border-color:var(--theme-border)!important;box-shadow:var(--theme-shadow)!important}.card{background-color:rgba(255,255,255,.94)}.btn{font-weight:700;border-width:1px}.btn-success{--bs-btn-bg:var(--theme-forest);--bs-btn-border-color:var(--theme-forest);--bs-btn-hover-bg:#0f3d30;--bs-btn-hover-border-color:#0f3d30}.btn-primary{--bs-btn-bg:var(--theme-blue);--bs-btn-border-color:var(--theme-blue);--bs-btn-hover-bg:#2c5b89;--bs-btn-hover-border-color:#2c5b89}.btn-warning{--bs-btn-bg:var(--theme-brown-soft);--bs-btn-border-color:#d5b991;--bs-btn-color:#5d4027;--bs-btn-hover-bg:#d9c2a3;--bs-btn-hover-border-color:#cbaa7b;--bs-btn-hover-color:#49301d}.btn-light{--bs-btn-bg:var(--theme-cream);--bs-btn-border-color:var(--theme-border)}
.form-control,.form-select,.input-group-text{background-color:#fffefb;border-color:#cddfd7;color:var(--theme-ink)}.form-control:focus,.form-select:focus{border-color:var(--theme-blue);box-shadow:var(--theme-focus)}.form-label{color:var(--theme-forest)}:focus-visible{outline:3px solid rgba(56,106,155,.42)!important;outline-offset:2px}.table{--bs-table-bg:transparent;--bs-table-color:var(--theme-ink);--bs-table-striped-bg:rgba(220,239,248,.35)}.table thead th{background:linear-gradient(180deg,var(--theme-mint),#f6fbf8);color:var(--theme-forest);border-bottom-color:#c7ddd3}.table tbody tr:hover{background:rgba(220,239,248,.25)}
.text-success{color:#247d61!important}.bg-success-subtle{background-color:var(--theme-mint)!important}.text-bg-success{background-color:#2f8466!important}.text-bg-warning{background-color:var(--theme-brown-soft)!important;color:#573b24!important}.text-bg-light{background-color:var(--theme-cream)!important;color:var(--theme-ink)!important}.alert-success{background:var(--theme-mint);border-color:var(--theme-green-soft);color:var(--theme-forest)}.alert-warning{background:#fff4da;border-color:#ead19d;color:#684c20}.pagination{--bs-pagination-color:var(--theme-blue);--bs-pagination-bg:#fffefb;--bs-pagination-border-color:var(--theme-border);--bs-pagination-hover-bg:var(--theme-sky);--bs-pagination-active-bg:var(--theme-blue);--bs-pagination-active-border-color:var(--theme-blue)}
.dropdown-menu,.offcanvas{background:#fffefb;border-color:var(--theme-border);box-shadow:0 20px 50px rgba(22,75,59,.16)}.dropdown-item:hover{background:var(--theme-mint)}.swal2-popup{border-radius:1.5rem!important;background:var(--theme-cream)!important;color:var(--theme-ink)!important}.swal2-confirm{background:var(--theme-forest)!important}.swal2-cancel{background:var(--theme-blue)!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Public website */
.eco-hero{background:radial-gradient(circle at 83% 10%,rgba(191,232,210,.72),transparent 32%),linear-gradient(135deg,var(--theme-cream),var(--theme-mint) 48%,var(--theme-sky))!important}.site-header .reference-nav{border-bottom-color:#cfe4da}.brand-mark{background:linear-gradient(145deg,var(--theme-green-soft),var(--theme-sky))!important;color:var(--theme-forest)!important}.metric-card:nth-child(4n+1){background:linear-gradient(145deg,#fff,var(--theme-mint))}.metric-card:nth-child(4n+2){background:linear-gradient(145deg,#fff,var(--theme-sky))}.metric-card:nth-child(4n+3){background:linear-gradient(145deg,#fff,var(--theme-cream))}.metric-card:nth-child(4n+4){background:linear-gradient(145deg,#fff,var(--theme-blue-soft))}.modern-price-card{background:linear-gradient(145deg,#fffefb,var(--theme-cream))!important}.modern-price-card strong{color:var(--theme-brown)!important}.schedule-section{background:linear-gradient(150deg,var(--theme-sky),var(--theme-mint))!important}.calendar-cell.has-event{background:#f0faf5!important}.cta-card{background:linear-gradient(125deg,var(--theme-forest),var(--theme-blue))!important}.site-footer{background:linear-gradient(125deg,var(--theme-forest),#245b57 55%,var(--theme-blue))!important}.progress{background:#edf3f1}

/* Admin application */
.admin-area{background:linear-gradient(180deg,var(--theme-cream),#f7fbfa 40%,var(--theme-mint))}.admin-desktop-nav,.admin-mobile-top{background:rgba(255,254,251,.94)!important;border-color:var(--theme-border)!important}.admin-brand-logo{background:linear-gradient(145deg,var(--theme-green-soft),var(--theme-sky))!important;color:var(--theme-forest)!important}.admin-links .active,.admin-links>a:hover,.admin-links button:hover{background:linear-gradient(135deg,var(--theme-mint),var(--theme-sky))!important;color:var(--theme-forest)!important}.admin-user-chip{background:linear-gradient(135deg,var(--theme-cream),var(--theme-mint))!important}.admin-bottom-nav{background:#fffefb!important;border-top:1px solid var(--theme-border)}.admin-bottom-nav .active{color:var(--theme-blue)!important}.admin-bottom-nav .scan-action i{background:linear-gradient(145deg,var(--theme-forest),var(--theme-blue))!important}.admin-more-sheet{background:var(--theme-cream)!important}.more-grid a{background:linear-gradient(145deg,var(--theme-mint),var(--theme-sky))!important;color:var(--theme-forest)!important}.admin-area .table thead th{background:linear-gradient(180deg,var(--theme-sky),#eff8fb)}.admin-area .form-control,.admin-area .form-select{background:#fffefb}.admin-area .panel{background:rgba(255,255,255,.93)}.admin-area .page-link{min-width:42px;text-align:center}.admin-dashboard-hero{background:linear-gradient(120deg,var(--theme-forest),#347b70 52%,var(--theme-blue))!important}.dashboard-stat.emerald{background:linear-gradient(145deg,#fff,var(--theme-mint))}.dashboard-stat.blue{background:linear-gradient(145deg,#fff,var(--theme-sky))}.dashboard-stat.amber{background:linear-gradient(145deg,#fff,var(--theme-brown-soft))}.dashboard-stat.violet{background:linear-gradient(145deg,#fff,var(--theme-blue-soft))}

/* Household */
.household-dashboard .row>div:nth-child(1) .stat-card{background:linear-gradient(145deg,var(--theme-brown),#c69a70)!important;color:#fff}.household-dashboard .row>div:nth-child(2) .stat-card{background:linear-gradient(145deg,#fff,var(--theme-blue-soft))}.household-dashboard .row>div:nth-child(3) .stat-card{background:linear-gradient(145deg,#fff,var(--theme-sky))}.household-dashboard .row>div:nth-child(4) .stat-card{background:linear-gradient(145deg,#fff,var(--theme-mint))}.reward-grid .card{background:linear-gradient(160deg,#fff,var(--theme-cream))}.reward-placeholder{background:linear-gradient(135deg,var(--theme-mint),var(--theme-sky))!important}.sale-history .sale-row:hover{background:linear-gradient(90deg,var(--theme-mint),transparent)}.bottom-nav{background:#fffefb!important;border-top:1px solid var(--theme-border);box-shadow:0 -10px 30px rgba(22,75,59,.1)}.bottom-nav a{color:var(--theme-blue)!important;font-weight:700;text-decoration:none}.household-dashboard+.bottom-nav a:first-child{color:var(--theme-forest)!important}

@media(max-width:575px){.site-header .navbar-brand small{display:none}.site-header .navbar-brand strong{font-size:.95rem}.nav-point{padding:.58rem .72rem}.table-responsive{border-radius:1rem}.admin-area main{padding-left:.85rem!important;padding-right:.85rem!important}}
.stat-overlap .row>div:nth-child(1) .metric-card{background:linear-gradient(145deg,#fff,var(--theme-mint))}.stat-overlap .row>div:nth-child(2) .metric-card{background:linear-gradient(145deg,#fff,var(--theme-sky))}.stat-overlap .row>div:nth-child(3) .metric-card{background:linear-gradient(145deg,#fff,var(--theme-cream))}.stat-overlap .row>div:nth-child(4) .metric-card{background:linear-gradient(145deg,#fff,var(--theme-blue-soft))}

/* Public schedule details and waste price photos */
.event-dot{display:block;width:100%;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.event-dot:hover,.event-dot:focus-visible{text-decoration:underline;color:var(--theme-forest)}
.event-card[type="button"]{cursor:pointer}.event-card[type="button"]:hover,.event-card[type="button"]:focus-visible{border-color:var(--theme-green);box-shadow:0 10px 24px rgba(22,75,59,.12)}
.event-title{display:block;font-size:1rem;font-weight:800}.event-summary,.event-card small{display:block;color:var(--theme-muted)}
.waste-price-media{width:84px;height:84px;border-radius:1rem;overflow:hidden;display:grid;place-items:center;background:var(--waste-color);color:#fff;font-size:1.7rem;flex:none}.waste-price-media img{width:100%;height:100%;object-fit:cover}.waste-price-content{min-width:0}
.schedule-dialog-details{text-align:left;display:grid;gap:.7rem}.schedule-dialog-details>div{display:flex;gap:.7rem;align-items:flex-start;padding:.6rem .8rem;background:var(--theme-mint);border-radius:.8rem}.schedule-dialog-details i{color:var(--theme-green)}.schedule-dialog-details p{margin:.2rem 0 0;padding:.8rem;background:var(--theme-cream);border-radius:.8rem;color:#4f625b}
