@import "https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,700;9..40,800;9..40,900&display=swap";.landing-page{position:relative}.landing-page:before{content:"";z-index:9999;pointer-events:none;opacity:.035;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-size:200px 200px;position:fixed;inset:0}@keyframes livePulse{0%{box-shadow:0 0 #10b981b3}70%{box-shadow:0 0 0 8px #10b98100}to{box-shadow:0 0 #10b98100}}.live-dot{animation:1.8s ease-out infinite livePulse}.section-dots{background-image:radial-gradient(circle,#00000014 1px,#0000 1px);background-size:24px 24px}:root{--bg-darker:#f9fafb;--bg-dark:#f3f4f6;--bg-panel:#fff;--accent-blue:#3b82f6;--accent-cyan:#06b6d4;--accent-green:#10b981;--accent-amber:#f59e0b;--accent-red:#dc2626;--accent-primary:#dc2626;--accent-whatsapp:#25d366;--text-primary:#111827;--text-secondary:#374151;--text-muted:#6b7280;--border-color:#0000001a;--glass-bg:#fff;--glass-border:1px solid #00000014;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--space-24:6rem;--space-32:8rem;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000000d, 0 2px 4px -1px #00000008;--shadow-lg:0 10px 15px -3px #0000000d, 0 4px 6px -2px #00000008;--shadow-glow:0 0 15px #dc262640}*{box-sizing:border-box;margin:0;padding:0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:.5s forwards fadeInUp}.reveal-on-scroll{opacity:0;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);transform:translateY(40px)}.reveal-on-scroll.is-visible{opacity:1;transform:translateY(0)}.services-layout{display:flex;position:relative}.services-left{align-items:center;width:40%;height:100vh;padding-right:4rem;display:flex;position:sticky;top:0}.services-right{width:60%;padding-bottom:20vh}.service-image-container{justify-content:center;align-items:center;width:100%;height:60vh;display:flex;position:relative}@media (width<=768px){.services-layout{flex-direction:column}.services-left{width:100%;height:auto;padding-top:4rem;padding-bottom:2rem;padding-right:0;position:relative}.services-right{width:100%;padding-bottom:4rem}.service-scroll-section{height:auto!important;padding:2rem 0!important}.service-image-container{height:40vh}.service-block-container{flex-direction:column!important}.service-text-col,.service-img-col{order:unset!important}.service-img-col{height:300px!important}}body{background-color:var(--bg-darker);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;min-height:100vh;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-dark)}::-webkit-scrollbar-thumb{background:var(--bg-panel);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-4{gap:var(--space-4)}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.card,.navbar,.portal-card,.login-card,.search-result-card,.active-wash-card,.stat-card{background:var(--glass-bg);border:var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-4);transition:all .3s}.card:hover,.search-result-card:hover,.stat-card:hover{box-shadow:var(--shadow-lg), 0 0 10px #00000008;transform:translateY(-2px)}.navbar{z-index:50;padding:var(--space-3) var(--space-6);border-top:none;border-left:none;border-right:none;border-radius:0;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}h1,h2,h3,h4,h5,h6{margin-bottom:var(--space-2);color:var(--text-primary);font-weight:600}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);cursor:pointer;background:var(--bg-panel);color:var(--text-primary);border:none;font-size:.875rem;font-weight:500;transition:all .3s;display:inline-flex}.btn:hover{opacity:.9;transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--accent-primary);color:#fff;box-shadow:var(--shadow-glow)}.btn-success{background:var(--accent-green);color:#fff}.btn-danger{background:var(--accent-red);color:#fff}.btn-warning{background:var(--accent-amber);color:#000}.btn-whatsapp{background:var(--accent-whatsapp);color:#fff}.btn-outline{border:1px solid var(--accent-primary);color:var(--accent-primary);background:0 0}.btn-outline:hover{background:#3b82f61a}.btn-lg{padding:var(--space-3) var(--space-6);font-size:1rem}.btn-sm{padding:var(--space-1) var(--space-2);font-size:.75rem}.btn-icon{padding:var(--space-2);border-radius:var(--radius-full)}.form-group{margin-bottom:var(--space-4);gap:var(--space-1);flex-direction:column;display:flex}.form-group label{color:var(--text-secondary);font-size:.875rem}.input,.select{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);background:#0003;font-family:inherit;font-size:.875rem;transition:all .3s}.input:focus,.select:focus{border-color:var(--accent-primary);outline:none;box-shadow:0 0 0 2px #3b82f633}.input-lg{padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:1rem}.modal-overlay{z-index:100;background:#000000b3;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--bg-dark);border:var(--glass-border);border-radius:var(--radius-lg);width:90%;max-width:500px;max-height:90vh;box-shadow:var(--shadow-lg);flex-direction:column;animation:.3s slideUp;display:flex}.modal-header{padding:var(--space-4);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.modal-body{padding:var(--space-4);overflow-y:auto}.modal-footer{padding:var(--space-4);border-top:1px solid var(--border-color);justify-content:flex-end;gap:var(--space-2);display:flex}.badge{border-radius:var(--radius-full);background:var(--bg-panel);color:var(--text-primary);align-items:center;padding:.125rem .5rem;font-size:.75rem;font-weight:500;display:inline-flex}.badge-success{color:var(--accent-green);background:#10b98133}.badge-warning{color:var(--accent-amber);background:#f59e0b33}.badge-danger{color:var(--accent-red);background:#ef444433}.badge-info{color:var(--accent-primary);background:#3b82f633}.stamp-grid{gap:var(--space-3);margin:var(--space-4) 0;padding:var(--space-4);border-radius:var(--radius-lg);background:#00000008;grid-template-columns:repeat(5,1fr);display:grid}.stamp{aspect-ratio:1;border:2px dashed var(--border-color);color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:1.25rem;font-weight:700;transition:all .3s;display:flex;position:relative}.stamp.active{background:var(--accent-primary);color:#fff;border:none;animation:.5s cubic-bezier(.175,.885,.32,1.275) stampPop}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{padding:var(--space-3);text-align:left;border-bottom:1px solid var(--border-color)}.data-table th{color:var(--text-secondary);font-size:.875rem;font-weight:500}.data-table tr:hover{background:#ffffff05}.toast{top:var(--space-4);padding:var(--space-3) var(--space-6);border-radius:var(--radius-full);background:var(--bg-panel);color:#fff;box-shadow:var(--shadow-lg);z-index:1000;align-items:center;gap:var(--space-2);animation:.3s slideDown;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast-success{border-bottom:2px solid var(--accent-green)}.toast-error{border-bottom:2px solid var(--accent-red)}.toast-info{border-bottom:2px solid var(--accent-primary)}.vehicle-tag{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);border:1px solid var(--border-color);background:#ffffff0d;font-size:.75rem;display:inline-flex}.color-dot{border-radius:50%;width:8px;height:8px}.celebration-banner{background:var(--accent-primary);border-radius:var(--radius-md);padding:var(--space-4);text-align:center;color:var(--accent-amber);border:1px solid #f59e0b4d;animation:2s infinite pulse}.tabs{gap:var(--space-2);border-bottom:1px solid var(--border-color);margin-bottom:var(--space-4);display:flex}.tab{padding:var(--space-2) var(--space-4);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;font-weight:500;transition:all .3s}.tab:hover{color:var(--text-primary)}.tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.login-page{min-height:100vh;padding:var(--space-4);background:var(--bg-darker);justify-content:center;align-items:center;display:flex}.login-card{width:100%;max-width:400px}.status-pending{color:var(--accent-amber)}.status-in-progress{color:var(--accent-primary)}.status-ready{color:var(--accent-green)}.empty-state{padding:var(--space-8);text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.dashboard,.portal{padding:var(--space-6);max-width:1200px;margin:0 auto}.dashboard-header,.portal-header{margin-bottom:var(--space-6);justify-content:space-between;align-items:center;display:flex}.stats-row{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.stat-card h3{color:var(--text-secondary);font-size:.875rem;font-weight:400}.stat-card .value{color:#fff;margin-top:var(--space-2);font-size:2rem;font-weight:700}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%)}}@keyframes pulse{0%{box-shadow:0 0 #f59e0b66}70%{box-shadow:0 0 0 10px #f59e0b00}to{box-shadow:0 0 #f59e0b00}}@keyframes stampPop{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@media (width<=768px){.dashboard,.portal{padding:var(--space-4)}.stamp-grid{gap:var(--space-2)}.stats-row{grid-template-columns:1fr}}.rbc-time-slot{min-height:45px!important}.rbc-event-label{display:none!important}.rbc-event-content{height:100%}.rbc-agenda-view table.rbc-agenda-table th,.rbc-agenda-view table.rbc-agenda-table td{border:1px solid var(--border-color)!important}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td.rbc-agenda-date-cell,.rbc-agenda-view table.rbc-agenda-table tbody>tr>td.rbc-agenda-time-cell{font-weight:500;color:var(--text-primary)!important;background-color:#fff!important;padding:.75rem 1rem!important}@media (width<=768px){.dashboard[style*="display: flex"]{flex-direction:column!important}aside[style*="width: 250px"]{border-right:none!important;border-bottom:1px solid var(--border-color)!important;width:100%!important;height:auto!important;padding:1rem!important}aside[style*="width: 250px"] nav{white-space:nowrap!important;flex-direction:row!important;padding-bottom:.5rem!important;overflow-x:auto!important}aside[style*="width: 250px"] nav button{white-space:nowrap!important;padding:.5rem 1rem!important}main[style*="padding: 2rem"]{height:auto!important;padding:1rem!important}div[style*="grid-template-columns: 1fr 1fr"],div[style*="grid-template-columns: repeat(2, 1fr)"],div[style*="grid-template-columns: repeat(3, 1fr)"],div[style*="grid-template-columns: repeat(4, 1fr)"],div[style*="grid-template-columns: 1.5fr 1fr"],div[style*="grid-template-columns: 1fr 2fr"],div[style*="grid-template-columns: 2fr 1fr"]{grid-template-columns:1fr!important}table{white-space:nowrap;width:100%;display:block;overflow-x:auto}}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td.rbc-agenda-event-cell{padding:8px 12px!important}@keyframes modalPop{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.animate-modal-pop{animation:.3s cubic-bezier(.16,1,.3,1) forwards modalPop}
