@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Sora:wght@500;600;700;800&display=swap";.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}:root{--color-primary-50: #ecfdf5;--color-primary-100: #d1fae5;--color-primary-300: #6ee7b7;--color-primary-500: #10b981;--color-primary-600: #059669;--color-primary-700: #047857;--color-accent-50: #eff6ff;--color-accent-300: #93c5fd;--color-accent-500: #3b82f6;--color-accent-700: #1d4ed8;--color-warning-500: #f59e0b;--color-danger-500: #ef4444;--color-success-500: #22c55e;--color-slate-50: #f8fafc;--color-slate-100: #f1f5f9;--color-slate-200: #e2e8f0;--color-slate-300: #cbd5e1;--color-slate-400: #94a3b8;--color-slate-500: #64748b;--color-slate-700: #334155;--color-slate-800: #1e293b;--color-slate-900: #0f172a;--color-bg: #f4fbf8;--color-surface: rgba(255, 255, 255, .78);--color-surface-solid: #ffffff;--color-surface-soft: #eefcf5;--color-border: rgba(15, 23, 42, .11);--color-border-strong: rgba(15, 23, 42, .2);--color-text: var(--color-slate-900);--color-text-muted: var(--color-slate-500);--color-text-inverse: #f8fafc;--color-navbar: rgba(15, 23, 42, .74);--gradient-page: radial-gradient( 1200px 520px at -5% -15%, rgba(16, 185, 129, .25), transparent 60% ), radial-gradient( 920px 460px at 110% -10%, rgba(59, 130, 246, .2), transparent 62% ), linear-gradient(165deg, #f8fffc 0%, #f3faf9 45%, #eef5ff 100%);--gradient-hero: linear-gradient( 135deg, #022c22 0%, #064e3b 38%, #0f766e 72%, #0ea5a4 100% );--gradient-button: linear-gradient( 135deg, var(--color-primary-600), var(--color-primary-500) );--gradient-outline: linear-gradient( 130deg, rgba(16, 185, 129, .4), rgba(59, 130, 246, .4) );--font-body: "Manrope", "Segoe UI", "Trebuchet MS", sans-serif;--font-heading: "Sora", "Segoe UI", "Trebuchet MS", sans-serif;--font-mono: "Consolas", "Menlo", "Monaco", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.35rem;--font-size-2xl: clamp(1.75rem, 3vw, 2.4rem);--font-size-3xl: clamp(2rem, 4vw, 3.05rem);--line-tight: 1.1;--line-normal: 1.45;--radius-sm: .65rem;--radius-md: .9rem;--radius-lg: 1.2rem;--radius-xl: 1.6rem;--radius-pill: 999px;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .08);--shadow-sm: 0 5px 14px rgba(15, 23, 42, .08);--shadow-md: 0 12px 30px rgba(15, 23, 42, .12);--shadow-lg: 0 20px 45px rgba(15, 23, 42, .17);--shadow-glow: 0 0 0 1px rgba(16, 185, 129, .22), 0 12px 34px rgba(16, 185, 129, .18);--ease-standard: cubic-bezier(.22, 1, .36, 1);--ease-smooth: cubic-bezier(.2, .75, .25, 1);--transition-fast: .18s var(--ease-standard);--transition-normal: .28s var(--ease-standard);--transition-slow: .43s var(--ease-smooth);--space-1: .35rem;--space-2: .6rem;--space-3: .85rem;--space-4: 1.1rem;--space-5: 1.35rem;--space-6: 1.7rem;--space-7: 2.2rem;--space-8: 2.8rem}@media(prefers-reduced-motion:reduce){:root{--transition-fast: 0ms linear;--transition-normal: 0ms linear;--transition-slow: 0ms linear}}*,*:before,*:after{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}body{position:relative;overflow-x:hidden;background:var(--gradient-page);color:var(--color-text);font-family:var(--font-body);font-size:var(--font-size-md);line-height:var(--line-normal);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before,body:after{content:"";position:fixed;z-index:-1;pointer-events:none;filter:blur(3px)}body:before{width:300px;height:300px;top:-100px;left:-70px;background:radial-gradient(circle,rgba(16,185,129,.32),transparent 62%)}body:after{width:320px;height:320px;right:-80px;top:28%;background:radial-gradient(circle,rgba(59,130,246,.22),transparent 65%)}h1,h2,h3,h4,h5,h6{margin:0;color:var(--color-slate-900);font-family:var(--font-heading);font-weight:700;line-height:var(--line-tight);letter-spacing:-.02em}p{margin:0}a{color:inherit}img,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit}input,select,textarea{width:100%;border:1px solid var(--color-border);background:#ffffffe6;color:var(--color-text);border-radius:var(--radius-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}input:focus,select:focus,textarea:focus{outline:none;border-color:#10b9818c;box-shadow:0 0 0 4px #10b98124;background-color:#fff}button{border:0;border-radius:var(--radius-sm);cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast)}button:disabled{opacity:.68;cursor:not-allowed;transform:none}::selection{background:#10b9813d}.admin-main-content,.consumidor-main-content,.proveedor-main-content,.basurero-main-content{width:min(1280px,100%);margin:0 auto;padding:clamp(1rem,1.8vw,2rem)}.contenedores-title{margin:1.5rem 0}.contenedores-toolbar{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.contenedores-toolbar .buscador{flex:1 1 260px;min-width:0;margin:0}.placing-alert{margin:0 0 1rem;padding:.75rem 1rem;background-color:#fef3c7;border:1px solid #fde68a;border-radius:8px;color:#92400e;font-size:.95rem}.mv-table-wrap,.productos-table-wrap,.cest-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;overflow:hidden;border-radius:var(--radius-md)}th,td{padding:.75rem .9rem;text-align:left}thead th{font-family:var(--font-heading);font-size:var(--font-size-sm);color:var(--color-slate-700);background:#94a3b81f;border-bottom:1px solid var(--color-border)}tbody tr{border-bottom:1px solid rgba(148,163,184,.16)}tbody tr:hover{background:#10b9810f}*{scrollbar-width:thin;scrollbar-color:rgba(100,116,139,.42) rgba(100,116,139,.08)}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:#64748b14}*::-webkit-scrollbar-thumb{background:#64748b66;border-radius:var(--radius-pill)}*::-webkit-scrollbar-thumb:hover{background:#64748b9e}@media(max-width:900px){body:before,body:after{opacity:.65}}@media(max-width:760px){.admin-main-content,.consumidor-main-content,.proveedor-main-content,.basurero-main-content{width:calc(100% - .5rem);padding:.7rem}.contenedores-title{margin:1rem 0;font-size:clamp(1.2rem,6vw,1.45rem)}.contenedores-toolbar{gap:.7rem;margin-bottom:.75rem}.placing-alert{padding:.7rem .8rem;font-size:.88rem}}@media(max-width:540px){.contenedores-toolbar{flex-direction:column;align-items:stretch}.contenedores-toolbar button{width:100%;justify-content:center}.mv-table,.productos-table,.cest-table{min-width:560px}}.login-screen-container{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.info-panel{position:relative;overflow:hidden;background:var(--gradient-hero);padding:clamp(2rem,4vw,4rem);color:var(--color-text-inverse);display:flex;align-items:center;justify-content:center}.info-panel:before,.info-panel:after{content:"";position:absolute;border-radius:999px;filter:blur(4px)}.info-panel:before{width:380px;height:380px;top:-170px;left:-130px;background:#93c5fd4d}.info-panel:after{width:320px;height:320px;right:-130px;bottom:-100px;background:#6ee7b747}.logo-main{width:132px;margin-bottom:1.6rem;filter:brightness(0) invert(1)}.bg-logo,.pulse-strong,.pulse-soft{display:none}.info-content{width:min(480px,90%);z-index:1}.fancy-heading{font-size:clamp(2rem,4vw,3.2rem);margin-bottom:1rem;color:#f8fafc}.fancy-heading .highlight{display:inline-block;color:#bef264}.info-content p{color:#f8fafce6;font-size:clamp(.95rem,1.5vw,1.08rem);line-height:1.6}.extra-text{margin-top:1.2rem;color:#cbd5e1f2;font-size:var(--font-size-sm)}.login-panel{position:relative;padding:clamp(1rem,3vw,2rem);display:flex;align-items:center;justify-content:center}.login-card{width:min(420px,100%);border-radius:var(--radius-xl);border:1px solid rgba(15,23,42,.13);background:var(--color-surface);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow-lg);padding:clamp(1.35rem,2.5vw,2.1rem)}.login-card h2{margin-bottom:1rem;color:var(--color-slate-900);font-size:clamp(1.35rem,2vw,1.7rem)}.input-group{position:relative;margin-bottom:.82rem}.input-group .icon{position:absolute;top:50%;left:.9rem;width:1.05rem;height:1.05rem;color:var(--color-slate-400);transform:translateY(-50%);pointer-events:none}.input-group input{height:3rem;padding:.65rem .95rem .65rem 2.6rem}.login-card button{margin-top:.35rem;width:100%;min-height:3rem;font-weight:700;color:#fff;background:var(--gradient-button);box-shadow:var(--shadow-sm)}.login-card button:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-glow)}.error{margin:.45rem 0 .3rem;color:var(--color-danger-500);font-weight:600;font-size:var(--font-size-sm)}.links{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.75rem}.links a{font-size:var(--font-size-sm);color:var(--color-primary-700);text-decoration:none;font-weight:700}.links a:hover{color:var(--color-accent-700)}@media(max-width:1024px){.login-screen-container{grid-template-columns:1fr}.info-panel{min-height:330px;border-bottom-left-radius:1.3rem;border-bottom-right-radius:1.3rem}}@media(max-width:700px){.info-panel{min-height:260px;padding:1.35rem}.logo-main{width:90px;margin-bottom:1rem}.fancy-heading{font-size:clamp(1.65rem,8vw,2rem)}.info-content p,.extra-text{font-size:.88rem}}.landing-container{position:relative;min-height:100vh;overflow:hidden}.logo-overlay{position:fixed;inset:0;z-index:120;display:grid;place-items:center;background:var(--gradient-hero);opacity:1;transition:opacity .9s var(--ease-standard)}.logo-overlay:before{content:"";position:absolute;inset:0;background:radial-gradient(700px 340px at 20% -8%,rgba(147,197,253,.28),transparent 60%),radial-gradient(780px 380px at 105% 105%,rgba(110,231,183,.28),transparent 60%)}.logo-overlay.fade-out{opacity:0}.logo-img{width:min(260px,42vw);max-height:40vh;filter:brightness(0) invert(1);animation:logoPop .88s var(--ease-smooth);z-index:1}@keyframes logoPop{0%{transform:translateY(12px) scale(.92);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.final-bg{position:fixed;inset:0;z-index:10;background:var(--gradient-page)}.login-wrapper{position:relative;z-index:20}.register-screen-container{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.register-screen-container .info-panel{position:relative;overflow:hidden;padding:clamp(2rem,4vw,4rem);display:flex;align-items:center;justify-content:center;background:linear-gradient(150deg,#052e16,#065f46 42%,#0f766e)}.register-screen-container .info-panel:before{content:"";position:absolute;width:460px;height:460px;top:-240px;right:-200px;border-radius:999px;background:#7dd3fc47;filter:blur(3px)}.register-screen-container .logo-main{width:132px;margin-bottom:1.6rem;filter:brightness(0) invert(1)}.register-screen-container .bg-logo,.register-screen-container .pulse-strong,.register-screen-container .pulse-soft{display:none}.register-screen-container .info-content{width:min(500px,92%);z-index:1}.register-screen-container .fancy-heading{font-size:clamp(2rem,4vw,3.1rem);margin-bottom:1rem;color:#f8fafc}.register-screen-container .fancy-heading .highlight{color:#fef08a}.register-screen-container .info-content p{color:#f8fafceb;line-height:1.6}.register-screen-container .extra-text{margin-top:1rem;color:#cbd5e1f2;font-size:var(--font-size-sm)}.register-panel{padding:clamp(1rem,3vw,2rem);display:flex;align-items:center;justify-content:center}.register-card{width:min(430px,100%);border-radius:var(--radius-xl);border:1px solid rgba(15,23,42,.13);background:var(--color-surface);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow-lg);padding:clamp(1.35rem,2.5vw,2rem)}.register-card h2{margin-bottom:1rem;color:var(--color-slate-900);font-size:clamp(1.35rem,2vw,1.65rem)}.register-card .input-group{position:relative;margin-bottom:.78rem}.register-card .input-group .icon{position:absolute;top:50%;left:.9rem;width:1.05rem;height:1.05rem;color:var(--color-slate-400);transform:translateY(-50%);pointer-events:none}.register-card .input-group input,.register-card .input-group select{height:3rem;padding:.65rem .95rem .65rem 2.6rem}.register-card button{width:100%;margin-top:.25rem;min-height:3rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#0f766e,#14b8a6);box-shadow:var(--shadow-sm)}.register-card button:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-glow)}.register-card .error{margin:.45rem 0 .3rem;color:var(--color-danger-500);font-weight:600;font-size:var(--font-size-sm)}.register-card .links{margin-top:1rem}.register-card .links a{color:var(--color-primary-700);font-weight:700;text-decoration:none}.register-card .links a:hover{color:var(--color-accent-700)}@media(max-width:1024px){.register-screen-container{grid-template-columns:1fr}.register-screen-container .info-panel{min-height:330px;border-bottom-left-radius:1.3rem;border-bottom-right-radius:1.3rem}}@media(max-width:700px){.register-screen-container .info-panel{min-height:260px;padding:1.35rem}.register-screen-container .logo-main{width:90px;margin-bottom:1rem}.register-screen-container .fancy-heading{font-size:clamp(1.65rem,8vw,2rem)}.register-screen-container .info-content p,.register-screen-container .extra-text{font-size:.88rem}}.notfound{min-height:calc(100vh - 170px);display:grid;place-content:center;gap:.9rem;text-align:center;padding:1.6rem}.notfound h1{font-size:clamp(4.3rem,12vw,7rem);color:var(--color-slate-900);letter-spacing:-.04em}.notfound p{color:var(--color-text-muted);font-size:clamp(.95rem,1.7vw,1.1rem);max-width:36ch}.notfound .btn{margin:.4rem auto 0;padding:.8rem 1.25rem;border-radius:.85rem;color:#fff;font-weight:700;text-decoration:none;background:var(--gradient-button);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.notfound .btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-glow)}.admin-navbar{position:sticky;top:.75rem;z-index:1100;width:min(1320px,calc(100% - 1.5rem));margin:.75rem auto 0;padding:.78rem 1.05rem;border-radius:var(--radius-xl);border:1px solid rgba(148,163,184,.28);background:var(--color-navbar);color:var(--color-text-inverse);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-md);display:flex;align-items:center;gap:.75rem}.admin-logo{text-decoration:none;color:#f8fafc;font-family:var(--font-heading);font-size:1rem;font-weight:700;letter-spacing:.01em;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.admin-nav-links{flex:1;display:flex;align-items:center;justify-content:center;gap:.35rem;list-style:none;margin:0;padding:0}.admin-nav-links li a{display:inline-flex;align-items:center;gap:.5rem;padding:.58rem .8rem;border-radius:.78rem;text-decoration:none;color:#f8fafcd1;font-weight:600;font-size:.88rem;transition:background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.admin-nav-links li a:hover{color:#fff;background:#94a3b833;transform:translateY(-1px)}.admin-nav-links li a.active{color:#fff;background:linear-gradient(135deg,#10b98157,#3b82f657);box-shadow:inset 0 0 0 1px #ffffff26}.admin-logout-btn{white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center;gap:.45rem;padding:.58rem .84rem;border:1px solid rgba(248,250,252,.26);border-radius:.78rem;background:#0f172a33;color:#e2e8f0;font-weight:700;font-size:.82rem}.admin-logout-btn:hover{color:#fff;border-color:#f8fafc75;background:#f8fafc21}.admin-hamburger{display:none;width:2.35rem;height:2.35rem;border-radius:.75rem;background:#f8fafc1a;color:#f8fafc}@media(max-width:1040px){.admin-hamburger{display:inline-flex;align-items:center;justify-content:center}.admin-nav-links{display:none;position:absolute;top:calc(100% + .45rem);left:0;right:0;flex-direction:column;align-items:stretch;padding:.7rem;border-radius:var(--radius-lg);border:1px solid rgba(148,163,184,.3);background:#0f172aeb;box-shadow:var(--shadow-lg)}.admin-nav-links.open{display:flex}.admin-nav-links li a{justify-content:flex-start;width:100%}}@media(max-width:760px){.admin-navbar{top:.4rem;width:calc(100% - .8rem);margin-top:.4rem;padding:.65rem .72rem;gap:.5rem}.admin-logo{font-size:.88rem}.admin-logout-btn{padding:.52rem .65rem;font-size:.75rem}}@media(max-width:620px){.admin-logout-btn span{display:none}.admin-logout-btn{padding:.5rem;min-width:2.2rem;justify-content:center}}.notif-bell-wrapper{position:relative;display:inline-flex;align-items:center}.notif-bell-btn{position:relative;background:none;border:none;cursor:pointer;font-size:1.25rem;color:#e5e7eb;padding:.4rem;border-radius:50%;transition:color .2s,background .2s;display:flex;align-items:center;justify-content:center}.notif-bell-btn:hover{color:#fff;background:#ffffff1f}.notif-bell-btn.has-unread{color:#fbbf24;animation:bellShake .5s ease-in-out}@keyframes bellShake{0%,to{transform:rotate(0)}20%{transform:rotate(12deg)}40%{transform:rotate(-10deg)}60%{transform:rotate(6deg)}80%{transform:rotate(-4deg)}}.notif-badge{position:absolute;top:-2px;right:-4px;background:#ef4444;color:#fff;font-size:.65rem;font-weight:700;min-width:18px;height:18px;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid #1f2937;line-height:1}.notif-panel{position:absolute;top:calc(100% + 8px);right:0;width:min(360px,calc(100vw - 1rem));max-height:min(480px,70vh);background:#fff;border-radius:.75rem;box-shadow:0 10px 40px #0003,0 2px 8px #00000014;z-index:9999;display:flex;flex-direction:column;overflow:hidden;animation:notifSlideIn .2s ease-out}@keyframes notifSlideIn{0%{opacity:0;transform:translateY(-8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.notif-panel-header{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem;border-bottom:1px solid #e5e7eb}.notif-panel-header h4{margin:0;font-size:.95rem;color:#111827;font-weight:700}.notif-mark-all{display:flex;align-items:center;gap:.3rem;background:none;border:none;color:var(--color-primary, #10b981);font-size:.78rem;font-weight:600;cursor:pointer;padding:.25rem .5rem;border-radius:.35rem;transition:background .15s}.notif-mark-all:hover{background:#eff6ff}.notif-panel-list{flex:1;overflow-y:auto}.notif-item{display:flex;align-items:flex-start;gap:.65rem;padding:.75rem 1rem;cursor:pointer;transition:background .12s;border-bottom:1px solid #f3f4f6;position:relative}.notif-item:hover{background:#f9fafb}.notif-item.no-leida{background:#eff6ff}.notif-item.no-leida:hover{background:#dbeafe}.notif-item-icon{flex-shrink:0;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f3f4f6;margin-top:2px}.notif-icon{font-size:.95rem}.notif-icon--recycle{color:#0d9488}.notif-icon--full{color:#ef4444}.notif-icon--temp{color:#f59e0b}.notif-icon--points{color:#8b5cf6}.notif-icon--system{color:#6b7280}.notif-item-content{flex:1;min-width:0}.notif-item-titulo{display:block;font-size:.85rem;color:#111827;line-height:1.3}.notif-item-mensaje{margin:.15rem 0 0;font-size:.78rem;color:#6b7280;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notif-item-time{font-size:.7rem;color:#9ca3af;margin-top:.2rem;display:inline-block}.notif-item-dot{width:8px;height:8px;border-radius:50%;background:var(--color-primary, #10b981);flex-shrink:0;margin-top:6px}.notif-item-read-icon{color:#d1d5db;font-size:.7rem;flex-shrink:0;margin-top:4px}.notif-empty{padding:2.5rem 1rem;text-align:center;color:#9ca3af}.notif-empty-icon{font-size:2rem;color:#d1d5db;margin-bottom:.35rem}.notif-empty p{margin:0;font-size:.88rem}@media(max-width:640px){.notif-panel{position:fixed;top:calc(56px + env(safe-area-inset-top));right:.5rem;left:.5rem;width:auto;max-height:min(420px,68vh)}}.admin-main-content{min-height:calc(100vh - 96px);padding-top:1.15rem}.admin-main-content>*{animation:pageFadeIn var(--transition-slow)}.profile-card.admin-profile{max-width:min(980px,100%);margin:1.5rem auto;padding:0;overflow:hidden}.admin-profile__hero{position:relative;display:flex;align-items:center;gap:1rem;padding:clamp(1.2rem,2.7vw,2rem);color:#f8fafc;background:linear-gradient(135deg,#0f172a,#134e4a 45%,#0f766e)}.admin-profile__hero:before{content:"";position:absolute;inset:auto -80px -80px auto;width:220px;height:220px;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 65%)}.admin-profile__avatar{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-heading);font-size:1.3rem;font-weight:800;background:#ffffff29;border:1px solid rgba(255,255,255,.34);box-shadow:0 8px 24px #022c2252;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.admin-profile__identity{position:relative;z-index:1}.admin-profile__eyebrow{margin-bottom:.2rem;font-size:var(--font-size-xs);letter-spacing:.11em;text-transform:uppercase;opacity:.85}.admin-profile__identity h2{color:#fff;font-size:clamp(1.4rem,2.4vw,2rem)}.admin-profile .badge{display:inline-block;margin-top:.55rem;padding:.28rem .75rem;border-radius:var(--radius-pill);border:1px solid rgba(255,255,255,.28);background:#ffffff24;color:#e2e8f0;font-size:var(--font-size-xs);font-weight:700;letter-spacing:.04em}.admin-profile__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.9rem;padding:clamp(1rem,2vw,1.45rem)}.admin-profile__item{display:flex;align-items:flex-start;gap:.72rem;padding:.95rem;border-radius:var(--radius-lg);border:1px solid rgba(148,163,184,.22);background:linear-gradient(150deg,#fffffffa,#f8fcffeb)}.admin-profile__icon{flex-shrink:0;margin-top:.1rem;font-size:1.1rem;color:var(--color-primary-600)}.admin-profile__label{margin:0 0 .18rem;color:var(--color-text-muted);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.07em}.admin-profile__value{margin:0;color:var(--color-slate-800);font-size:var(--font-size-sm);font-weight:700;word-break:break-word}@media(max-width:700px){.admin-profile__hero{align-items:flex-start;flex-direction:column}.admin-profile__avatar{width:66px;height:66px}}.gestion-basureros{padding:1.5rem}.header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.header h2{margin:0;font-size:1.5rem}.refresh-btn,.add-btn{background-color:var(--color-primary, #10b981);color:#fff;border:none;border-radius:.5rem;padding:.5rem 1rem;font-size:.9rem;cursor:pointer;transition:background-color .2s ease}.refresh-btn:hover,.add-btn:hover{background-color:var(--color-primary-dark, #059669)}.search-bar-container{margin-bottom:1rem}.search-bar{width:100%;max-width:400px;padding:.5rem .75rem;border:1px solid #cccccc;border-radius:.5rem;font-size:1rem}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.skeleton{height:140px;background-color:#eee;border-radius:.5rem;animation:shimmer 1.2s infinite;background:linear-gradient(to right,#eee,#ddd 20%,#eee 40% 100%);background-size:800px 104px}@keyframes shimmer{0%{background-position:-800px 0}to{background-position:800px 0}}.card{background-color:var(--color-card, #ffffff);border-radius:.5rem;border:1px solid #e2e8f0;border-left:3px solid var(--color-primary, #0d9488);padding:1rem;display:flex;flex-direction:column;justify-content:space-between}.card strong{font-size:1.1rem;margin-bottom:.5rem;display:block}.card p{margin:.25rem 0;font-size:.95rem;color:#333}.card-actions{display:flex;justify-content:space-between;gap:.5rem;margin-top:.5rem}.card-actions button{background:transparent;border:none;cursor:pointer;font-size:1.1rem;transition:color .2s ease}.card-actions button:hover{color:var(--color-primary, #10b981)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000073;display:flex;align-items:center;justify-content:center;z-index:9999}.modal{background-color:#fff;border-radius:.75rem;padding:2rem;width:100%;max-width:480px;box-shadow:0 8px 24px #00000026;position:relative;animation:fadeInModal .2s ease-out}@keyframes fadeInModal{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.modal h3{margin-top:0;font-size:1.4rem;color:#333;margin-bottom:1rem;text-align:center}.modal p{font-size:.95rem;color:#555;margin-bottom:1rem;text-align:center}.modal form input,.modal select{width:100%;padding:.6rem .8rem;margin:.5rem 0;border:1px solid #cccccc;border-radius:.5rem;font-size:1rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.modal form input:focus,.modal select:focus{border-color:var(--color-primary, #10b981);box-shadow:0 0 0 3px #10b98126}.modal select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2210%22%20height%3D%227%22%20viewBox%3D%220%200%2010%207%22%20xmlns%3D%22http://www.w3.org/2000/svg%22%3E%3Cpath%20d%3D%22M0%200l5%207%205%200-5-7z%22%20fill%3D%22%234a9f9a%22/%3E%3C/svg%3E);background-repeat:no-repeat;background-position:right .75rem center;background-size:.65rem;cursor:pointer}.assign-zone-container{margin:1rem 0 1.5rem;display:flex;justify-content:center}.modal-buttons{display:flex;justify-content:center;gap:1rem;margin-top:1.5rem}.modal-buttons button:first-child{background-color:var(--color-primary, #10b981);color:#fff;border:none;border-radius:.5rem;padding:.6rem 1.2rem;font-size:1rem;cursor:pointer;transition:background-color .2s ease,transform .1s ease}.modal-buttons button:first-child:hover{background-color:var(--color-primary-dark, #059669)}.modal-buttons button:first-child:active{transform:scale(.97)}.modal-buttons button:last-child{background-color:transparent;color:#555;border:1px solid #cccccc;border-radius:.5rem;padding:.5rem 1.2rem;font-size:.95rem;cursor:pointer;transition:background-color .2s ease,color .2s ease}.modal-buttons button:last-child:hover{background-color:#f5f5f5;color:#333}.modal .error{color:#c53030;margin-top:.5rem;text-align:center;font-size:.9rem}.error{color:#c53030;margin:1rem 0;text-align:center}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.awesome-marker{background:url(/assets/markers-soft-BmfhfCSq.png) no-repeat 0 0;width:35px;height:46px;position:absolute;left:0;top:0;display:block;text-align:center}.awesome-marker-shadow{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAQCAYAAACcN8ZaAAAB3klEQVR42s3U4UdDURzG8czMXJnJ1Vwzc6VJZjaZJdlMlpQsKdmUFNOUspRSSqUolfQfr+fF98Vx5mwv9qbDx7LdznnO7/7Omej3+/+Ga0QMUYkhbvBgmhzCQxwxibIGrGEF8CQhU+LLtKQkQNqScUgjxRxTBIxbgfgD/BgnhM8kM5KTeclLQYqGkkMRBckzR8ic/mAgd5BAZplsUaqyIg2sDtHg2brUZJk5SmwopErJUWE8SpmTMhNvya60Zd/SNrR4bkeaskG4uiwRZk6yrJEYFibGAxn+scECHTmTnuVCzvmty3PHciB7bGKN6lQkzysPqIrHmpFhYbKUtckC1/Ioz4ZHuZdbuSLYiRxRpSZVWXZVxAzC0R4Ik5SQsu6w8yd5l2/5kg95I9SdXMoZQfYIUjeqEUrgOkXGPeN4TYRhxy8E+ZUf+eS7B7miIoeybVSjKDnm8u3+gH3pDTYwu1igATvs/pXqvBKiR4i2bNJfi1ZfUAnjgrOG8wY2quNzBKuU/ZS+uSFEl5O0xRGuUIlZCcw7xG5QPkeHYUSNV5WXGou2sC3rBC0LjenqCXGO0WEiTJa0Lr4KixdHBrDGuGGiRqCUpFk8pGIpQtCU7p4YPwxYxEMCk1aAMQZh8Ac8PfbIzYPJOwAAAABJRU5ErkJggg==) no-repeat 0 0;width:36px;height:16px}@media(min--moz-device-pixel-ratio:1.5),(-o-min-device-pixel-ratio:3/2),(-webkit-min-device-pixel-ratio:1.5),(min-device-pixel-ratio:1.5),(min-resolution:1.5dppx){.awesome-marker{background-image:url(/assets/markers-soft@2x-5qZIy0Cz.png);background-size:720px 92px}.awesome-marker-shadow{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEYAAAAgCAYAAACvgw7DAAAFhElEQVR42tWZ/0ubVxSHZZQxpJQRwoqEUkJQQhlBCcEiQRGJiKFEQqQ4lKFYLA5FsSjKioqipRutbLJ2f627g+dyDmfvqfetzlLh+aFpcr88+dxzb+7bdwt/33wG974g/rhu+pdzwt86fJdA/82w7Un/18m6kRBXgD+5+4YHDt/fEtImfRppVlJ+MY4QEWEmbyZZUBQVP2TwMJGBDMx7aFP6K4gwJBlBecVYISIDCSJAJm0mUIJH8NhQdqjkh8/SNv2VRB6SjCAtJ2dKMGuFIEIEMHGZ2CAMQdXwxPDjNdQ++f+0Q9tD9F1RkgYYLwlCDmIg19IhJQiRVJToFAlMViYxHBiBOjQyGP0ETzMw76Ed+qC/YSVrSAkqiRySo1IjAnwkKSKlQKMIQQYS4sQZ/Bg0A+MwYZg0TKViPjeh+mjS72iUhKCqyCE5pCZdDEmxUmjwURQSZSCiqSbXCkwHZmAW2g7PEmkbZml/mj6nlKgm42rE9DDushHzQGpNohjefB8pD2NK6GSEjscZ1AyD7QTmAt1AD+YVz/Mjn6e9LswB0pCEICVnhFQPIabEfAoiJj0xkhaWj5LSoNMW39ocA14I/BRYCvwMy58NbdDe4r9twwLCEIUcEoSYCbWkhqk1g0lLyTv92bTQUBkpdZWSDoNbZAKrgbXAy8B64JdE1jN4SVsvAquwokUhaJ70dNTyaiEmLqUaYiqUArZu0qLF+EdjOa/wwWKsK2r5tPiGFhjoGhPcCmwHdgKvEtlRbMNWYDOwQbtIEjlGDIlhKUmNqZOWKuOPW3bRSct1iUGMbM2PabxBp20GtMygt5jkfuAg8DpwaOF1y6+BA9iDXdpDEoKQQ79LLKv5mBZVX8ZZQiO66Nqt2jngISFNTJkoPqXjLoOKUvaY5HHgJHDmcAoncBw4UtIOkLtnxJAapEid6aqkTKliW2f5VOPysXUFjJQ0Mf1KTAXzTb6VeeK8wQQOmeibwNvA7xn8xv+95X3nyIqCDiU9iGFJUXPWkLKo6krbLJ2GpIQdiJoiy8dJyg3E1IjoDDvCCgPfZ3LnCHgf+MNwwevveE+UE1N0RGKilJ0MIUv021Vb86QIYefJJUSkXF1d4eS6rdoXM0uUV5nA6ygFCZeBDxpe+1MEkSBJzbESs6uWzwu+gEWzdFpIidtxzWzHck5h6fgpETHI8cWYGlOMW7VKzEKWGCb/V+Bj4G/4wGtRzDsSc07SjjKSsqaEPFdCpkWIpMQc9UmJCLEXVVaGFXPP4G/XUnybjpg3TPhSS4GPKjHvVVJOY10hJduxyKpa0gt01Nlk3JxkbXEt+j8OBREhpIgRORzw6LiqdqUexXeTb/qUFFzE1MAly4vaQkpYNrHAqh1nSS2Ztl0yJiFsvyYhbh0RHDH+UvJSw7cxqM4xc9SZdbUrnaniewEiRBJyoBKyniGk4y8ZOY+kLhn4z19+MYLcw8ghr0ZqppnEMpPbZUmcIOAMTA1hubDTILenziKT5nBmt92B9G1XhOQQk3iliRgGU+JbqzOBttqdNkUOp1451e5LUWXJSFHtaCHebxunqKZJ4d+3LEZ2JwZWYcCjLKlnTHCZFGwgIB7MYjFdUculJwczKaZquVT9c4gUVKeG9P3fYuS3VPaPyRrf7CQ7Ro/0yDWD+qHn7C5j5ug+aO9m7c2+FZLndv/2xPin4BLJqcZf2wiaMbdxs3KzJncjzlWjFFM5lJl0+A/I7lpMX+bdDHKIe1WlZ0zuddXVIjJMMsr21t6mI+8DsbsXQ2pEDqdhuf+tsHM8YfJgbujZZh0Z/W4xNX9fXoz/+8nKKdlnSYqKTYctplYIfC1i7KFPnhwwUXnMah+dioxCsgyEfD1iIPMxrVAQ0p8ZexLuWsw/8PFSG0HPbPgAAAAASUVORK5CYII=);background-size:35px 16px}}.awesome-marker i{color:#333;margin-top:10px;display:inline-block;font-size:14px}.awesome-marker .icon-white{color:#fff}.awesome-marker-icon-red{background-position:0 0}.awesome-marker-icon-darkred{background-position:-180px 0}.awesome-marker-icon-lightred{background-position:-360px 0}.awesome-marker-icon-orange{background-position:-36px 0}.awesome-marker-icon-beige{background-position:-396px 0}.awesome-marker-icon-green{background-position:-72px 0}.awesome-marker-icon-darkgreen{background-position:-252px 0}.awesome-marker-icon-lightgreen{background-position:-432px 0}.awesome-marker-icon-blue{background-position:-108px 0}.awesome-marker-icon-darkblue{background-position:-216px 0}.awesome-marker-icon-lightblue{background-position:-468px 0}.awesome-marker-icon-purple{background-position:-144px 0}.awesome-marker-icon-darkpurple{background-position:-288px 0}.awesome-marker-icon-pink{background-position:-504px 0}.awesome-marker-icon-cadetblue{background-position:-324px 0}.awesome-marker-icon-white{background-position:-574px 0}.awesome-marker-icon-gray{background-position:-648px 0}.awesome-marker-icon-lightgray{background-position:-612px 0}.awesome-marker-icon-black{background-position:-682px 0}.awesome-marker-square{background-position-y:-46px}.zona-sidebar-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0006;z-index:2000;display:flex;justify-content:flex-end}.zona-sidebar{background:#fff;width:min(340px,92vw);height:100%;box-shadow:-4px 0 12px #00000026;display:flex;flex-direction:column;padding:1rem}.sidebar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.cerrar-sidebar{background:none;border:none;font-size:1.2rem;cursor:pointer}.zona-info{flex:1;overflow-y:auto}.lista-contenedores{list-style:none;padding:0;margin-top:.5rem}.contenedor-item{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}.btn-contenedor{flex:1;border:none;color:#fff;padding:.5rem;border-radius:6px;cursor:pointer;text-align:left}.btn-delete{background:none;border:none;cursor:pointer;margin-left:.4rem;font-size:1rem;color:#dc2626}@media(max-width:760px){.zona-sidebar-overlay{justify-content:center;align-items:flex-end}.zona-sidebar{width:100%;height:auto;max-height:72vh;border-top-left-radius:1rem;border-top-right-radius:1rem;box-shadow:0 -8px 24px #0f172a33}.btn-contenedor{font-size:.9rem}}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:1.5rem}.zona-card{background:#fff;border-radius:.5rem;border:1px solid #e2e8f0;padding:1.2rem 1.4rem;position:relative;cursor:pointer}.zona-card:hover{box-shadow:0 2px 8px #0000000f}.zona-card-header{display:flex;align-items:center;gap:.8rem;margin-bottom:.8rem}.zona-card-header h3{font-size:1.2rem;margin:0;color:#1f2937}.zona-card-header small{color:#6b7280}.zona-card-summary p{margin:.3rem 0;color:#374151;font-size:.95rem}.zona-card-expand{margin-top:1rem;background:#f9fafb;padding:.8rem;border-radius:8px;font-size:.9rem;color:#374151}.contenedor-detalle{padding-left:.5rem;margin:.2rem 0}.zona-card-actions{display:flex;gap:.5rem;position:absolute;top:.8rem;right:.8rem}.zona-card-actions button{background:none;border:none;font-size:1.1rem;cursor:pointer;color:#6b7280;transition:color .2s ease}.zona-card-actions button:hover{color:#111827}.modal-overlay{position:fixed;top:0;left:0;background:#00000080;width:100%;height:100%;z-index:9999;display:flex;justify-content:center;align-items:center}.modal{background:#fff;border-radius:.5rem;padding:2rem;width:90%;max-width:450px;border:1px solid #e2e8f0;position:relative;z-index:10000}.modal h3{margin-bottom:1rem;font-size:1.4rem;color:#111827}.modal input,.modal select{width:100%;padding:.6rem;margin-bottom:1rem;border-radius:.375rem;border:1px solid #d1d5db;font-size:1rem}.modal .cerrar{position:absolute;top:.8rem;right:.8rem;background:none;border:none;font-size:1.4rem;cursor:pointer;color:#6b7280;z-index:10001}.modal-buttons{display:flex;justify-content:space-between;gap:1rem;margin-top:1rem}.modal-buttons button{flex:1;padding:.6rem;border:none;border-radius:.375rem;font-weight:700;cursor:pointer;font-size:1rem;background-color:var(--color-primary, #0d9488);color:#fff;transition:background-color .2s ease}.modal-buttons button:hover{background-color:var(--color-primary-dark, #059669)}.modal-buttons button:nth-child(2){background-color:#ef4444}.modal-buttons button:nth-child(2):hover{background-color:#dc2626}.error{color:red;font-size:.9rem;margin-bottom:.5rem}.contenedores-page .leaflet-container{height:clamp(300px,62vh,600px);width:100%;border-radius:.5rem;position:relative;z-index:0}@media(max-width:760px){.modal{padding:1rem;width:calc(100vw - 1rem)}.modal h3{font-size:1.2rem}.modal-buttons{flex-direction:column}.map-leyenda{left:10px;right:10px;bottom:10px;font-size:.82rem}.contenedores-page .leaflet-container{height:clamp(280px,55vh,420px)}}.gestion-contenedor{padding:2rem;max-width:1200px;margin:auto}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.header-actions{display:flex;gap:.5rem}.add-btn{background:var(--color-primary, #10b981);color:#fff;font-size:1rem;padding:.55rem 1.1rem;border:none;border-radius:.6rem;cursor:pointer;transition:background .15s}.add-btn:hover{background:var(--color-primary-dark, #059669)}.refresh-btn{padding:.45rem .9rem;border:none;border-radius:.55rem;background:#e5e7eb;cursor:pointer;font-size:.85rem;transition:background .15s}.refresh-btn:hover{background:#d1d5db}.search-bar-container{margin-bottom:1.2rem}.search-bar{width:100%;max-width:320px;padding:.55rem .8rem;border:1px solid #d1d5db;border-radius:.55rem;font-size:.9rem;transition:border-color .15s}.search-bar:focus{border-color:var(--color-primary-light, #34d399);outline:none}.card-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.card{background:var(--color-card, #ffffff);padding:1rem;border-radius:.5rem;border:1px solid #e2e8f0;border-left:3px solid var(--color-primary, #0d9488);display:flex;flex-direction:column;min-height:180px}.card:hover{box-shadow:0 2px 8px #0000000d}.card strong{font-size:1.15rem;color:#1e293b}.card-actions{margin-top:auto;display:flex;gap:.5rem;justify-content:flex-end}.card-actions button{width:32px;height:32px;border:none;border-radius:50%;background:#f3f4f6;cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:background .15s,transform .15s}.card-actions button:hover{background:#e5e7eb}.skeleton{height:160px;border-radius:.5rem;background:#f1f5f9}.modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:50}.modal{background:#fff;border-radius:.5rem;padding:2rem 1.5rem;width:92%;max-width:420px;border:1px solid #e2e8f0}.modal h3{margin-bottom:1rem;color:#111827}.modal input{width:100%;padding:.75rem;border:1px solid #cbd5e1;border-radius:.375rem;font-size:1rem;margin-bottom:1rem}.modal-buttons{display:flex;justify-content:flex-end;gap:.6rem}.modal-buttons button{padding:.55rem 1rem;border:none;border-radius:.375rem;font-weight:600;cursor:pointer}.modal-buttons button:first-child{background:var(--color-primary, #10b981);color:#fff}.modal-buttons button:last-child{background:#e5e7eb;color:#1f2937}.error{color:#dc2626;font-size:.9rem;margin-bottom:.5rem}.admin-estadisticas{padding:2rem;max-width:1400px;margin:0 auto}.est-title{font-size:1.6rem;margin-bottom:1.5rem;color:#1e293b}.est-kpis{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.est-kpi{flex:1 1 140px;background:#fff;border-radius:.5rem;padding:1.2rem 1rem;border:1px solid #e2e8f0;border-left:3px solid var(--color-primary, #0d9488);display:flex;flex-direction:column;align-items:center;min-width:130px}.kpi-value{font-size:1.6rem;font-weight:700;color:#1e293b}.kpi-value small{font-size:.85rem;font-weight:400;color:#64748b}.kpi-label{margin-top:.4rem;font-size:.8rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.est-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:1.5rem}.est-chart-card{background:#fff;border-radius:.5rem;padding:1.4rem;border:1px solid #e2e8f0}.est-chart-card h3{font-size:1rem;margin-bottom:1rem;color:#334155}.est-loading,.est-error{text-align:center;padding:4rem 2rem;font-size:1.1rem;color:#64748b}.est-error{color:#e74c3c}@media(max-width:768px){.admin-estadisticas{padding:1rem}.est-charts{grid-template-columns:1fr}.est-kpi{min-width:100px;flex:1 1 100px}}.proveedor-navbar{position:sticky;top:.75rem;z-index:1100;width:min(1320px,calc(100% - 1.5rem));margin:.75rem auto 0;padding:.78rem 1.05rem;border-radius:var(--radius-xl);border:1px solid rgba(148,163,184,.28);background:var(--color-navbar);color:var(--color-text-inverse);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-md);display:flex;align-items:center;gap:.75rem}.proveedor-navbar__logo{text-decoration:none;color:#f8fafc;font-family:var(--font-heading);font-size:1rem;font-weight:700;letter-spacing:.01em;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.proveedor-navbar__links{flex:1;display:flex;align-items:center;justify-content:center;gap:.35rem;list-style:none;margin:0;padding:0}.proveedor-navbar__links li a{display:inline-flex;align-items:center;gap:.5rem;padding:.58rem .8rem;border-radius:.78rem;text-decoration:none;color:#f8fafcd1;font-weight:600;font-size:.88rem;transition:background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.proveedor-navbar__links li a:hover{color:#fff;background:#94a3b833;transform:translateY(-1px)}.proveedor-navbar__links li a.active{color:#fff;background:linear-gradient(135deg,#10b98157,#3b82f657);box-shadow:inset 0 0 0 1px #ffffff26}.proveedor-navbar__logout{white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center;gap:.45rem;padding:.58rem .84rem;border:1px solid rgba(248,250,252,.26);border-radius:.78rem;background:#0f172a33;color:#e2e8f0;font-weight:700;font-size:.82rem}.proveedor-navbar__logout:hover{color:#fff;border-color:#f8fafc75;background:#f8fafc21}.proveedor-hamburger{display:none;width:2.35rem;height:2.35rem;border-radius:.75rem;background:#f8fafc1a;color:#f8fafc}@media(max-width:1040px){.proveedor-hamburger{display:inline-flex;align-items:center;justify-content:center}.proveedor-navbar__links{display:none;position:absolute;top:calc(100% + .45rem);left:0;right:0;flex-direction:column;align-items:stretch;padding:.7rem;border-radius:var(--radius-lg);border:1px solid rgba(148,163,184,.3);background:#0f172aeb;box-shadow:var(--shadow-lg)}.proveedor-navbar__links.open{display:flex}.proveedor-navbar__links li a{justify-content:flex-start;width:100%}}@media(max-width:760px){.proveedor-navbar{top:.4rem;width:calc(100% - .8rem);margin-top:.4rem;padding:.65rem .72rem;gap:.5rem}.proveedor-navbar__logo{font-size:.88rem}.proveedor-navbar__logout{padding:.52rem .65rem;font-size:.75rem}}@media(max-width:620px){.proveedor-navbar__logout span{display:none}.proveedor-navbar__logout{padding:.5rem;min-width:2.2rem;justify-content:center}}.proveedor-dashboard{min-height:100vh}.proveedor-main-content{min-height:calc(100vh - 96px);padding-top:1.15rem}.proveedor-main-content>*{animation:pageFadeIn var(--transition-slow)}.vista-productos{width:100%;padding:1rem;box-sizing:border-box}.vista-productos h2{margin-top:0}.mensaje-estado{padding:.5rem .75rem;margin-bottom:1rem;border-radius:var(--radius-sm, 4px);background-color:#fee2e2;color:#991b1b;font-weight:500;animation:fadeInMsg .3s ease}.mensaje-estado.mensaje-ok{background-color:#d1fae5;color:#065f46}@keyframes fadeInMsg{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.productos-table{width:100%;border-collapse:collapse;margin-bottom:1rem}.productos-table thead{background-color:var(--color-surface, #f8fafc)}.productos-table th,.productos-table td{padding:.75rem;border-bottom:1px solid var(--color-border, #e2e8f0);text-align:left}.btn-accion{margin-right:.5rem;padding:.4rem .8rem;background-color:var(--color-text-muted, #64748b);color:#fff;border:none;cursor:pointer;border-radius:var(--radius-sm, 4px);font-size:var(--font-size-sm, .875rem);transition:background-color var(--transition-fast, .15s ease)}.btn-accion:hover{background-color:#475569}.btn-editar{background-color:var(--color-accent, #0ea5e9)}.btn-editar:hover{background-color:#0284c7}.btn-borrar{background-color:var(--color-danger, #ef4444)}.btn-borrar:hover{background-color:var(--color-danger-dark, #dc2626)}.btn-guardar{background-color:var(--color-primary, #10b981)}.btn-guardar:hover{background-color:var(--color-primary-dark, #059669)}.btn-cancelar{background-color:var(--color-text-muted, #64748b)}.btn-cancelar:hover{background-color:#475569}.edit-inline{width:100%;padding:.35rem .5rem;border:2px solid var(--color-primary, #10b981);border-radius:var(--radius-sm, 4px);font-size:var(--font-size-sm, .875rem);box-sizing:border-box;transition:border-color var(--transition-fast, .15s ease)}.edit-inline:focus{outline:none;border-color:var(--color-primary-dark, #059669);box-shadow:0 0 0 3px #10b98126}.vp-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:5000}.vp-modal{background:var(--color-card, #fff);border-radius:var(--radius-lg, 1rem);padding:2rem;max-width:360px;width:90%;text-align:center;box-shadow:var(--shadow-lg, 0 8px 24px rgba(0,0,0,.12))}.vp-modal h3{margin:0 0 .5rem}.vp-modal p{color:var(--color-text-muted, #64748b);margin-bottom:1.25rem}.vp-modal-buttons{display:flex;gap:.75rem;justify-content:center}.nuevo-producto-form{margin-top:1rem;padding:1rem;background:var(--color-surface, #f8fafc);border:1px solid var(--color-border, #e2e8f0);border-radius:var(--radius-md, .75rem)}.form-row{display:flex;align-items:center;margin-bottom:.75rem}.form-row label{width:140px;font-weight:500}.form-row input{flex:1;padding:.4rem .5rem;border:1px solid var(--color-border, #e2e8f0);border-radius:var(--radius-sm, 4px)}.form-row input:focus{outline:none;border-color:var(--color-primary, #10b981);box-shadow:0 0 0 3px #10b98126}.btn-submit{background-color:var(--color-primary, #10b981);color:#fff;border:none;padding:.5rem 1.25rem;border-radius:var(--radius-sm, 4px);cursor:pointer;font-weight:600;transition:background-color var(--transition-fast, .15s ease)}.btn-submit:hover{background-color:var(--color-primary-dark, #059669)}@media(max-width:760px){.vista-productos{padding:.6rem}.productos-table{min-width:620px}.form-row{flex-direction:column;align-items:flex-start;gap:.35rem}.form-row label{width:auto}}@media(max-width:560px){.btn-accion{width:100%;margin-right:0;margin-bottom:.4rem}.vp-modal{padding:1.2rem 1rem}.vp-modal-buttons{flex-direction:column}}.prov-profile-wrapper{max-width:min(1020px,100%);margin:1.5rem auto;padding:0;overflow:hidden}.prov-profile-banner{position:relative;min-height:165px;background:linear-gradient(130deg,#022c22,#0f766e 56%,#14b8a6)}.prov-profile-banner:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 18%,rgba(255,255,255,.2),transparent 45%)}.prov-banner-overlay{position:relative;z-index:1;min-height:inherit;display:flex;align-items:flex-end;justify-content:space-between;gap:.9rem;padding:clamp(1.1rem,2.4vw,1.8rem)}.prov-banner-title{display:flex;align-items:center;gap:.85rem}.prov-banner-icon{font-size:2rem;color:#f8fafcf2}.prov-eyebrow{margin:0 0 .2rem;color:#f8fafcd6;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.09em}.prov-banner-overlay h1{margin:0;color:#fff;font-size:clamp(1.35rem,2.6vw,2rem)}.prov-badge{display:inline-block;padding:.36rem .8rem;border-radius:var(--radius-pill);border:1px solid rgba(255,255,255,.34);background:#ffffff29;color:#e2e8f0;font-size:var(--font-size-xs);font-weight:700;letter-spacing:.06em}.prov-profile-content{padding:clamp(1rem,2vw,1.5rem)}.prov-profile-info{margin-bottom:1rem}.prov-subtitle{max-width:760px;color:var(--color-slate-700);font-size:var(--font-size-sm)}.prov-info-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem;margin-bottom:1.1rem}.prov-info-card{display:flex;align-items:flex-start;gap:.7rem;min-height:110px}.prov-info-icon{flex-shrink:0;margin-top:.12rem;font-size:1.08rem;color:var(--color-primary-600)}.prov-info-label{display:block;margin-bottom:.2rem;color:var(--color-text-muted);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em}.prov-info-value{display:block;color:var(--color-slate-800);font-size:var(--font-size-sm);font-weight:700;word-break:break-word}.prov-products-summary{padding-top:1rem;border-top:1px solid rgba(148,163,184,.28)}.prov-products-summary__header{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.9rem}.prov-products-summary h3{font-size:var(--font-size-lg)}.prov-products-count{padding:.28rem .64rem;border-radius:var(--radius-pill);background:#10b98121;color:var(--color-primary-700);font-size:var(--font-size-xs);font-weight:700}.prov-empty{color:var(--color-text-muted);font-style:italic}.prov-products-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.6rem}.prov-product-chip{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.72rem .82rem;border-radius:var(--radius-md);border:1px solid rgba(148,163,184,.3)}.prov-chip-name{color:var(--color-slate-800);font-weight:700;font-size:var(--font-size-sm)}.prov-chip-points{color:var(--color-primary-700);font-size:var(--font-size-xs);font-weight:700}.prov-profile.loading,.prov-profile.error{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--color-text-muted)}.prov-profile.error p{color:var(--color-danger-500)}@media(max-width:720px){.prov-banner-overlay{align-items:flex-start;flex-direction:column;justify-content:flex-end}.prov-products-summary__header{flex-direction:column;align-items:flex-start}}.mis-ventas{width:100%;max-width:1100px;margin:0 auto;padding:1rem;font-family:var(--font-body)}.mv-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.7rem;margin-bottom:1.5rem}.mv-header h2{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;color:var(--color-text, #1e293b)}.mv-refresh{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border:none;border-radius:var(--radius-sm, .375rem);background:var(--color-primary, #10b981);color:#fff;font-weight:600;cursor:pointer;transition:background var(--transition-fast, .15s ease)}.mv-refresh:hover{background:var(--color-primary-dark, #059669)}.mv-refresh:disabled{opacity:.6;cursor:not-allowed}.mv-refresh .spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.mv-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:2rem}.mv-kpi{display:flex;align-items:center;gap:.75rem;padding:1.25rem;background:var(--color-card, #fff);border-radius:var(--radius-md, .75rem);box-shadow:var(--shadow-sm, 0 1px 2px rgba(0,0,0,.05));transition:box-shadow var(--transition-fast, .15s ease)}.mv-kpi:hover{box-shadow:var(--shadow-md, 0 4px 12px rgba(0,0,0,.08))}.mv-kpi-icon{font-size:1.5rem;color:var(--color-primary, #10b981);flex-shrink:0}.mv-kpi-value{display:block;font-size:1.25rem;font-weight:700;color:var(--color-text, #1e293b)}.mv-kpi-label{display:block;font-size:var(--font-size-xs, .75rem);color:var(--color-text-muted, #64748b)}.mv-chart-card{background:var(--color-card, #fff);padding:1.5rem;border-radius:var(--radius-md, .75rem);box-shadow:var(--shadow-sm, 0 1px 2px rgba(0,0,0,.05));margin-bottom:2rem}.mv-chart-card h3{margin:0 0 1rem;font-size:1.1rem;color:var(--color-text, #1e293b)}.mv-table-card{background:var(--color-card, #fff);padding:1.5rem;border-radius:var(--radius-md, .75rem);box-shadow:var(--shadow-sm, 0 1px 2px rgba(0,0,0,.05))}.mv-table-card h3{margin:0 0 1rem;font-size:1.1rem;color:var(--color-text, #1e293b)}.mv-table{width:100%;border-collapse:collapse}.mv-table thead{background:var(--color-surface, #f8fafc)}.mv-table th,.mv-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--color-border, #e2e8f0);font-size:var(--font-size-sm, .875rem)}.mv-table th{font-weight:600;color:var(--color-text-muted, #64748b);text-transform:uppercase;font-size:var(--font-size-xs, .75rem)}.mv-points-badge{display:inline-block;padding:.2rem .6rem;background:#d1fae5;color:#047857;border-radius:var(--radius-full, 9999px);font-weight:600;font-size:var(--font-size-xs, .75rem)}.mv-status-active{display:inline-block;padding:.2rem .6rem;background:#dbeafe;color:#1d4ed8;border-radius:var(--radius-full, 9999px);font-weight:600;font-size:var(--font-size-xs, .75rem)}.mv-empty{text-align:center;color:var(--color-text-muted, #64748b);padding:2rem;font-style:italic}.mis-ventas-loading,.mis-ventas-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;gap:1rem;color:var(--color-text-muted, #64748b);font-size:1.1rem}.mis-ventas-error p{color:var(--color-danger, #ef4444)}.mis-ventas-error button{padding:.5rem 1rem;background:var(--color-primary, #10b981);color:#fff;border:none;border-radius:var(--radius-sm, .375rem);cursor:pointer;font-weight:600}@media(max-width:600px){.mv-header{align-items:stretch}.mv-refresh{width:100%;justify-content:center}.mv-kpis{grid-template-columns:1fr}.mv-chart-card,.mv-table-card{padding:1rem}.mv-table{min-width:560px}.mv-table th:first-child,.mv-table td:first-child{display:none}}.promociones{width:100%;max-width:1100px;margin:0 auto;padding:1rem;font-family:var(--font-body)}.promo-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.promo-header h2{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;color:var(--color-text, #1e293b);margin:0}.promo-header-actions{display:flex;gap:.5rem}.promo-refresh,.promo-add{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border:none;border-radius:var(--radius-sm, .375rem);font-weight:600;cursor:pointer;font-size:var(--font-size-sm, .875rem);transition:background var(--transition-fast, .15s ease)}.promo-refresh{background:var(--color-surface, #f8fafc);color:var(--color-text, #1e293b);border:1px solid var(--color-border, #e2e8f0)}.promo-refresh:hover{background:var(--color-border, #e2e8f0)}.promo-add{background:var(--color-primary, #10b981);color:#fff}.promo-add:hover{background:var(--color-primary-dark, #059669)}.promo-empty-state{text-align:center;padding:4rem 2rem;color:var(--color-text-muted, #64748b)}.promo-empty-icon{font-size:3rem;color:var(--color-border, #e2e8f0);margin-bottom:1rem}.promo-empty-state h3{margin:0 0 .5rem;color:var(--color-text, #1e293b)}.promo-sections{display:flex;flex-direction:column;gap:2rem}.promo-section-header{padding:.5rem 1rem;margin-bottom:1rem;background:var(--color-surface, #f8fafc);border-radius:var(--radius-sm, .375rem)}.promo-section-header h3{margin:0;font-size:1.1rem;color:var(--color-text, #1e293b)}.promo-section-subtitle{font-size:var(--font-size-xs, .75rem);color:var(--color-text-muted, #64748b)}.promo-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.promo-card{background:var(--color-card, #fff);border:1px solid var(--color-border, #e2e8f0);border-radius:var(--radius-md, .75rem);padding:1.25rem;display:flex;flex-direction:column;gap:.75rem;transition:box-shadow var(--transition-fast, .15s ease)}.promo-card-top{display:flex;align-items:center;gap:.5rem}.promo-card-icon{font-size:1.2rem;flex-shrink:0}.promo-card-name{font-weight:600;color:var(--color-text, #1e293b);font-size:var(--font-size-md, 1rem)}.promo-card-points{font-size:1.5rem;font-weight:700;color:var(--color-primary, #10b981)}.promo-card-points small{font-size:.85rem;font-weight:500;color:var(--color-text-muted, #64748b)}.promo-card-actions{display:flex;gap:.5rem;margin-top:auto}.promo-card-edit,.promo-card-delete{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--color-border, #e2e8f0);border-radius:var(--radius-sm, .375rem);background:var(--color-surface, #f8fafc);cursor:pointer;color:var(--color-text-muted, #64748b);transition:all var(--transition-fast, .15s ease)}.promo-card-edit:hover{background:#dbeafe;color:#2563eb;border-color:#93c5fd}.promo-card-delete:hover{background:#fee2e2;color:#dc2626;border-color:#fca5a5}.promo-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:5000;padding:1rem}.promo-modal{background:var(--color-card, #fff);border-radius:var(--radius-lg, 1rem);padding:2rem;width:100%;max-width:460px;position:relative;box-shadow:var(--shadow-lg, 0 8px 24px rgba(0,0,0,.12))}.promo-modal-sm{max-width:360px;text-align:center}.promo-modal-close{position:absolute;top:.75rem;right:.75rem;background:none;border:none;font-size:1.2rem;color:var(--color-text-muted, #64748b);cursor:pointer;transition:color var(--transition-fast, .15s ease)}.promo-modal-close:hover{color:var(--color-danger, #ef4444)}.promo-modal h3{margin:0 0 1.25rem;font-size:1.2rem;color:var(--color-text, #1e293b)}.promo-form{display:flex;flex-direction:column;gap:1rem}.promo-form-group label{display:block;font-size:var(--font-size-sm, .875rem);font-weight:600;color:var(--color-text, #1e293b);margin-bottom:.3rem}.promo-form-group input{width:100%;padding:.6rem .75rem;border:1px solid var(--color-border, #e2e8f0);border-radius:var(--radius-sm, .375rem);font-size:var(--font-size-md, 1rem);transition:border-color var(--transition-fast, .15s ease);box-sizing:border-box}.promo-form-group input:focus{border-color:var(--color-primary, #10b981);outline:none;box-shadow:0 0 0 3px #10b98126}.promo-form-actions{display:flex;gap:.75rem;margin-top:.5rem}.promo-btn-save{flex:1;padding:.6rem;background:var(--color-primary, #10b981);color:#fff;border:none;border-radius:var(--radius-sm, .375rem);font-weight:600;cursor:pointer;transition:background var(--transition-fast, .15s ease)}.promo-btn-save:hover{background:var(--color-primary-dark, #059669)}.promo-btn-cancel{flex:1;padding:.6rem;background:var(--color-surface, #f8fafc);color:var(--color-text, #1e293b);border:1px solid var(--color-border, #e2e8f0);border-radius:var(--radius-sm, .375rem);font-weight:600;cursor:pointer;transition:background var(--transition-fast, .15s ease)}.promo-btn-cancel:hover{background:var(--color-border, #e2e8f0)}.promo-btn-delete{flex:1;padding:.6rem;background:var(--color-danger, #ef4444);color:#fff;border:none;border-radius:var(--radius-sm, .375rem);font-weight:600;cursor:pointer;transition:background var(--transition-fast, .15s ease)}.promo-btn-delete:hover{background:var(--color-danger-dark, #dc2626)}.promo-loading,.promo-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;gap:1rem;color:var(--color-text-muted, #64748b);font-size:1.1rem}.promo-error p{color:var(--color-danger, #ef4444)}.promo-error button{padding:.5rem 1rem;background:var(--color-primary, #10b981);color:#fff;border:none;border-radius:var(--radius-sm, .375rem);cursor:pointer;font-weight:600}@media(max-width:600px){.promo-header{flex-direction:column;align-items:flex-start}.promo-cards{grid-template-columns:1fr}}.consumidor-navbar{position:sticky;top:.75rem;z-index:1100;width:min(1320px,calc(100% - 1.5rem));margin:.75rem auto 0;padding:.78rem 1.05rem;border-radius:var(--radius-xl);border:1px solid rgba(148,163,184,.28);background:var(--color-navbar);color:var(--color-text-inverse);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-md);display:flex;align-items:center;gap:.75rem}.consumidor-logo{text-decoration:none;color:#f8fafc;font-family:var(--font-heading);font-size:1rem;font-weight:700;letter-spacing:.01em;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.consumidor-nav-links{flex:1;display:flex;align-items:center;justify-content:center;gap:.35rem;list-style:none;margin:0;padding:0}.consumidor-nav-links li a{display:inline-flex;align-items:center;gap:.5rem;padding:.58rem .8rem;border-radius:.78rem;text-decoration:none;color:#f8fafcd1;font-weight:600;font-size:.88rem;transition:background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.consumidor-nav-links li a:hover{color:#fff;background:#94a3b833;transform:translateY(-1px)}.consumidor-nav-links li a.active{color:#fff;background:linear-gradient(135deg,#10b98157,#3b82f657);box-shadow:inset 0 0 0 1px #ffffff26}.consumidor-logout-btn{white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center;gap:.45rem;padding:.58rem .84rem;border:1px solid rgba(248,250,252,.26);border-radius:.78rem;background:#0f172a33;color:#e2e8f0;font-weight:700;font-size:.82rem}.consumidor-logout-btn:hover{color:#fff;border-color:#f8fafc75;background:#f8fafc21}.consumidor-hamburger{display:none;width:2.35rem;height:2.35rem;border-radius:.75rem;background:#f8fafc1a;color:#f8fafc}@media(max-width:1040px){.consumidor-hamburger{display:inline-flex;align-items:center;justify-content:center}.consumidor-nav-links{display:none;position:absolute;top:calc(100% + .45rem);left:0;right:0;flex-direction:column;align-items:stretch;padding:.7rem;border-radius:var(--radius-lg);border:1px solid rgba(148,163,184,.3);background:#0f172aeb;box-shadow:var(--shadow-lg)}.consumidor-nav-links.open{display:flex}.consumidor-nav-links li a{justify-content:flex-start;width:100%}}@media(max-width:760px){.consumidor-navbar{top:.4rem;width:calc(100% - .8rem);margin-top:.4rem;padding:.65rem .72rem;gap:.5rem}.consumidor-logo{font-size:.88rem}.consumidor-logout-btn{padding:.52rem .65rem;font-size:.75rem}}@media(max-width:620px){.consumidor-logout-btn span{display:none}.consumidor-logout-btn{padding:.5rem;min-width:2.2rem;justify-content:center}}.consumidor-main-content{min-height:calc(100vh - 96px);padding-top:1.15rem}.consumidor-main-content>*{animation:pageFadeIn var(--transition-slow)}.consumidor-profile-wrapper{max-width:min(980px,100%);margin:1.5rem auto;padding:0;overflow:hidden}.consumidor-profile-wrapper .profile-banner{position:relative;width:100%;height:180px;background-size:cover;background-position:center}.consumidor-profile-wrapper .profile-banner:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#0f172aa3,#0f766e99 45%,#10b98166)}.consumidor-profile-wrapper .profile-banner__overlay{position:absolute;inset:0;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:.8rem;padding:1.2rem 1.3rem}.consumidor-profile-wrapper .profile-banner__eyebrow{color:#f8fafc;font-size:var(--font-size-sm);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.consumidor-profile-wrapper .profile-banner__brand{color:#f8fafc;font-family:var(--font-heading);font-size:var(--font-size-lg);font-weight:800}.consumidor-profile-wrapper .profile-content-no-avatar{padding:clamp(1rem,2.2vw,1.45rem)}.consumidor-profile-wrapper .profile-titulo{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.consumidor-profile-wrapper .profile-titulo h2{font-size:clamp(1.35rem,2.3vw,1.9rem)}.consumidor-profile-wrapper .email-text{margin-top:.2rem;color:var(--color-text-muted);font-size:var(--font-size-sm)}.consumidor-profile-wrapper .profile-badge{display:inline-block;padding:.34rem .76rem;border-radius:var(--radius-pill);border:1px solid rgba(16,185,129,.28);background:#10b9811f;color:var(--color-primary-700);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.05em}.consumidor-profile-wrapper .profile-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem;margin-bottom:1rem}.consumidor-profile-wrapper .profile-meta-card{display:flex;align-items:flex-start;gap:.65rem;padding:.82rem .88rem;border-radius:var(--radius-lg);border:1px solid rgba(148,163,184,.25);background:#fffffff2}.consumidor-profile-wrapper .profile-meta-card__icon{flex-shrink:0;margin-top:.1rem;color:var(--color-primary-600);font-size:1rem}.consumidor-profile-wrapper .profile-meta-card__label{margin:0 0 .16rem;color:var(--color-text-muted);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em}.consumidor-profile-wrapper .profile-meta-card__value{margin:0;color:var(--color-slate-800);font-weight:700;font-size:var(--font-size-sm);word-break:break-all}.consumidor-profile-wrapper .stats-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem;margin:1rem 0 1.2rem}.consumidor-profile-wrapper .stat-card{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;min-height:148px}.consumidor-profile-wrapper .stat-card h3{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:700;margin:0}.consumidor-profile-wrapper .stat-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:var(--color-primary-700);background:#10b98124}.consumidor-profile-wrapper .stat-value{margin:.25rem 0 0;font-size:clamp(1.45rem,2.2vw,1.9rem);font-weight:800;color:var(--color-slate-900)}.consumidor-profile-wrapper .stat-card--points .stat-value{color:#0f766e}.consumidor-profile-wrapper .stat-value--uid{font-size:var(--font-size-md);font-weight:700;word-break:break-word}.consumidor-profile-wrapper .wallet-section{display:flex;justify-content:flex-start}.consumidor-profile-wrapper .wallet-button{min-width:240px}.consumidor-profile-wrapper .wallet-error{margin-top:.65rem;color:var(--color-danger-500);font-weight:600}.consumidor-profile-wrapper .wallet-note{margin-top:.8rem;padding:.72rem .8rem;border-radius:var(--radius-md);border:1px dashed rgba(15,118,110,.36);background:#ecfdf5b3}.consumidor-profile-wrapper .wallet-note p{color:var(--color-slate-700);font-size:var(--font-size-sm)}.consumidor-profile.loading,.consumidor-profile.error{max-width:500px;margin:2rem auto;text-align:center;color:var(--color-text-muted)}@media(max-width:720px){.consumidor-profile-wrapper .profile-banner{height:156px}.consumidor-profile-wrapper .profile-banner__overlay{flex-direction:column;align-items:flex-start;justify-content:flex-end}.consumidor-profile-wrapper .profile-titulo{flex-direction:column;align-items:flex-start}.consumidor-profile-wrapper .wallet-section{justify-content:stretch}.consumidor-profile-wrapper .wallet-button{width:100%;min-width:0}}.ecoliga-container{max-width:800px;margin:0 auto;padding:24px;font-family:var(--font-body)}.ecoliga-header{display:flex;align-items:center;justify-content:center;margin-bottom:32px}.ecoliga-trophy{font-size:2.5rem;margin-right:12px}.ecoliga-title{font-size:2rem;font-weight:700;color:#0f172a}.ecoliga-loading{text-align:center;padding:60px 0}.ecoliga-loading span{color:#6b7280;font-size:1rem;animation:ecoliga-pulse 1.5s infinite}@keyframes ecoliga-pulse{0%,to{opacity:1}50%{opacity:.5}}.ecoliga-error{background-color:#fee2e2;border:1px solid #fca5a5;color:#b91c1c;padding:12px 16px;border-radius:6px;margin-bottom:24px;text-align:center;font-weight:500}.ecoliga-empty{color:#6b7280;text-align:center;padding:60px 0;font-size:1.1rem}.ecoliga-list{list-style:none;padding:0;margin:0}.ecoliga-item{display:flex;justify-content:space-between;align-items:center;background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:16px;margin-bottom:12px}.ecoliga-item:hover{background:#f8fafc}.ecoliga-item-first{background:#fff;border-color:#e5e7eb;border-left:3px solid #0d9488}.ecoliga-item-second{background:#fff;border-color:#e5e7eb;border-left:3px solid #64748b}.ecoliga-item-third{background:#fff;border-color:#e5e7eb;border-left:3px solid #94a3b8}.ecoliga-left{display:flex;align-items:center}.ecoliga-rank{width:32px;height:32px;border:1px solid #e5e7eb;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;color:#374151;flex-shrink:0}.ecoliga-rank-gold{border-color:#0d9488;color:#0d9488}.ecoliga-rank-silver{border-color:#64748b;color:#374151}.ecoliga-rank-bronze{border-color:#94a3b8;color:#475569}.ecoliga-medal-container{margin-left:8px}.ecoliga-medal{font-size:1.2rem}.ecoliga-name{margin-left:12px;font-size:1rem;font-weight:500;color:#374151}.ecoliga-name-gold{color:#0f172a}.ecoliga-name-silver,.ecoliga-name-bronze{color:#374151}.ecoliga-points{font-family:monospace;font-size:1rem;color:var(--color-primary, #0d9488);flex-shrink:0}.ecoliga-points-gold{color:#0d9488}.ecoliga-points-silver{color:#374151}.ecoliga-points-bronze{color:#475569}.cc-loading{display:flex;align-items:center;justify-content:center;min-height:300px;font-size:1.1rem;color:var(--color-text-muted, #64748b)}.cc-wrapper{padding:.5rem}.cc-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.25rem}.cc-header h2{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1.4rem}.cc-search{display:flex;align-items:center;gap:.5rem;background:var(--color-surface, #f8fafc);border:1px solid var(--color-border, #e2e8f0);border-radius:var(--radius-md, .75rem);padding:.45rem .75rem;width:min(100%,360px);min-width:0}.cc-search input{border:none;outline:none;background:transparent;flex:1;font-size:.9rem}.cc-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.75rem;margin-bottom:1.25rem}.cc-kpi{background:var(--color-card, #fff);border:1px solid var(--color-border, #e2e8f0);border-radius:var(--radius-md, .75rem);padding:.9rem 1rem;text-align:center}.cc-kpi-value{display:block;font-size:1.6rem;font-weight:700;color:var(--color-text, #0f172a)}.cc-kpi-label{font-size:.8rem;color:var(--color-text-muted, #64748b)}.kpi-ok .cc-kpi-value{color:var(--color-primary, #10b981)}.kpi-warn .cc-kpi-value{color:#f59e0b}.kpi-blocked .cc-kpi-value{color:var(--color-danger, #ef4444)}.cc-content{display:flex;gap:1rem;margin-bottom:1.5rem}.cc-map-col{flex:1;min-height:400px;border-radius:var(--radius-lg, 1rem);overflow:hidden;border:1px solid var(--color-border, #e2e8f0)}.cc-map-col .leaflet-container{height:clamp(300px,55vh,450px)!important}.cc-detail{width:clamp(240px,28vw,320px);min-width:240px;background:var(--color-card, #fff);border:1px solid var(--color-border, #e2e8f0);border-radius:var(--radius-lg, 1rem);padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}.cc-detail h3{margin:0;font-size:1.15rem}.cc-detail-empty{align-items:center;justify-content:center;text-align:center;color:var(--color-text-muted, #64748b)}.cc-detail-empty svg{opacity:.3;margin-bottom:.5rem}.cc-badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.badge-ok{background:#d1fae5;color:#065f46}.badge-warn{background:#fef3c7;color:#92400e}.badge-full{background:#fee2e2;color:#991b1b}.badge-blocked{background:#e2e8f0;color:#475569}.cc-detail-stats{display:flex;flex-direction:column;gap:.6rem}.cc-stat{display:flex;align-items:center;gap:.6rem}.cc-stat svg{color:var(--color-primary, #10b981);font-size:1.1rem;flex-shrink:0}.cc-stat strong{display:block;font-size:.95rem}.cc-stat small{color:var(--color-text-muted, #64748b);font-size:.78rem}.cc-fill-bar-wrap{height:8px;background:var(--color-surface, #f1f5f9);border-radius:99px;overflow:hidden}.cc-fill-bar{height:100%;border-radius:99px;transition:width .4s ease}.bar-ok{background:var(--color-primary, #10b981)}.bar-warn{background:#f59e0b}.bar-full{background:var(--color-danger, #ef4444)}.cc-close-btn{margin-top:auto;padding:.5rem;background:var(--color-surface, #f8fafc);border:1px solid var(--color-border, #e2e8f0);border-radius:var(--radius-sm, 4px);cursor:pointer;font-weight:500;transition:background .15s}.cc-close-btn:hover{background:var(--color-border, #e2e8f0)}.cc-list{margin-top:.5rem}.cc-list h3{margin:0 0 .75rem;font-size:1.05rem}.cc-empty{color:var(--color-text-muted, #64748b);font-style:italic}.cc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem}.cc-card{background:var(--color-card, #fff);border:1px solid var(--color-border, #e2e8f0);border-radius:var(--radius-md, .75rem);padding:.85rem 1rem;cursor:pointer;transition:border-color .15s,box-shadow .15s}.cc-card:hover{border-color:var(--color-primary, #10b981);box-shadow:0 2px 8px #10b9811a}.cc-card-active{border-color:var(--color-primary, #10b981);box-shadow:0 0 0 3px #10b98126}.cc-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}.cc-card-body{display:flex;justify-content:space-between;font-size:.82rem;color:var(--color-text-muted, #64748b)}@media(max-width:768px){.cc-content{flex-direction:column}.cc-detail{width:100%;min-width:0}.cc-header{flex-direction:column;align-items:stretch}.cc-map-col .leaflet-container{height:clamp(280px,48vh,360px)!important}.cc-wrapper{padding:.25rem}.cc-header h2{font-size:1.2rem}}@media(max-width:560px){.cc-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.cc-grid{grid-template-columns:1fr}.cc-map-col .leaflet-container{height:clamp(260px,44vh,320px)!important}}.consumidor-estadisticas{padding:2rem;max-width:1200px;margin:0 auto}.cest-title{font-size:1.5rem;margin-bottom:1.5rem;color:#1e293b}.cest-kpis{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.cest-kpi{flex:1 1 160px;background:#fff;border-radius:.5rem;padding:1.2rem 1rem;border:1px solid #e2e8f0;border-left:3px solid var(--color-primary, #0d9488);display:flex;flex-direction:column;align-items:center;min-width:140px}.ckpi-value{font-size:1.6rem;font-weight:700;color:#1e293b}.ckpi-value small{font-size:.85rem;font-weight:400;color:#64748b}.ckpi-label{margin-top:.4rem;font-size:.8rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.cest-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.cest-chart-card{background:#fff;border-radius:.5rem;padding:1.4rem;border:1px solid #e2e8f0}.cest-chart-card h3{font-size:1rem;margin-bottom:1rem;color:#334155}.cest-empty{text-align:center;color:#94a3b8;padding:2rem 0}.cest-historial{background:#fff;border-radius:.5rem;padding:1.4rem;border:1px solid #e2e8f0}.cest-historial h3{font-size:1rem;margin-bottom:1rem;color:#334155}.cest-table{width:100%;border-collapse:collapse}.cest-table th{text-align:left;font-size:.75rem;text-transform:uppercase;color:#94a3b8;padding:.6rem .8rem;border-bottom:2px solid #e2e8f0}.cest-table td{padding:.6rem .8rem;font-size:.9rem;color:#334155;border-bottom:1px solid #f1f5f9}.cest-table tr:hover{background:#f8fafc}.badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase}.badge-plastico{background:#dbeafe;color:#1d4ed8}.badge-vidrio{background:#f0fdfa;color:#0d9488}.badge-papel{background:#fef3c7;color:#d97706}.badge-metal{background:#e5e7eb;color:#4b5563}.badge-organico{background:#fce7f3;color:#db2777}.badge-general{background:#f3e8ff;color:#7c3aed}.cest-loading,.cest-error{text-align:center;padding:4rem 2rem;font-size:1.1rem;color:#64748b}.cest-error{color:#e74c3c}@media(max-width:768px){.consumidor-estadisticas{padding:1rem}.cest-kpis{gap:.7rem}.cest-charts{grid-template-columns:1fr}.cest-chart-card,.cest-historial{padding:1rem}.cest-table{min-width:560px}.cest-table th:nth-child(5),.cest-table td:nth-child(5){display:none}}.basurero-navbar{position:sticky;top:.75rem;z-index:1100;width:min(1320px,calc(100% - 1.5rem));margin:.75rem auto 0;padding:.78rem 1.05rem;border-radius:var(--radius-xl);border:1px solid rgba(148,163,184,.28);background:var(--color-navbar);color:var(--color-text-inverse);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-md);display:flex;align-items:center;gap:.75rem}.basurero-logo{text-decoration:none;color:#f8fafc;font-family:var(--font-heading);font-size:1rem;font-weight:700;letter-spacing:.01em;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.basurero-nav-links{flex:1;display:flex;align-items:center;justify-content:center;gap:.35rem;list-style:none;margin:0;padding:0}.basurero-nav-links li a{display:inline-flex;align-items:center;gap:.5rem;padding:.58rem .8rem;border-radius:.78rem;text-decoration:none;color:#f8fafcd1;font-weight:600;font-size:.88rem;transition:background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.basurero-nav-links li a:hover{color:#fff;background:#94a3b833;transform:translateY(-1px)}.basurero-nav-links li a.active{color:#fff;background:linear-gradient(135deg,#10b98157,#3b82f657);box-shadow:inset 0 0 0 1px #ffffff26}.basurero-logout-btn{white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center;gap:.45rem;padding:.58rem .84rem;border:1px solid rgba(248,250,252,.26);border-radius:.78rem;background:#0f172a33;color:#e2e8f0;font-weight:700;font-size:.82rem}.basurero-logout-btn:hover{color:#fff;border-color:#f8fafc75;background:#f8fafc21}.basurero-hamburger{display:none;width:2.35rem;height:2.35rem;border-radius:.75rem;background:#f8fafc1a;color:#f8fafc}@media(max-width:1040px){.basurero-hamburger{display:inline-flex;align-items:center;justify-content:center}.basurero-nav-links{display:none;position:absolute;top:calc(100% + .45rem);left:0;right:0;flex-direction:column;align-items:stretch;padding:.7rem;border-radius:var(--radius-lg);border:1px solid rgba(148,163,184,.3);background:#0f172aeb;box-shadow:var(--shadow-lg)}.basurero-nav-links.open{display:flex}.basurero-nav-links li a{justify-content:flex-start;width:100%}}@media(max-width:760px){.basurero-navbar{top:.4rem;width:calc(100% - .8rem);margin-top:.4rem;padding:.65rem .72rem;gap:.5rem}.basurero-logo{font-size:.88rem}.basurero-logout-btn{padding:.52rem .65rem;font-size:.75rem}}@media(max-width:620px){.basurero-logout-btn span{display:none}.basurero-logout-btn{padding:.5rem;min-width:2.2rem;justify-content:center}}.basurero-main-content{min-height:calc(100vh - 96px);padding-top:1.15rem}.basurero-main-content>*{animation:pageFadeIn var(--transition-slow)}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.contenedores-page{position:relative;min-height:100vh}.contenedores-page h2{margin:0 0 1rem;font-size:1.5rem;color:#1f2937}.buscador{flex:1;padding:.5rem 1rem;font-size:1rem;border:1px solid #d1d5db;border-radius:.375rem}.map-container{width:100%;height:clamp(300px,62vh,600px);padding:0}.modal-acciones{margin-top:1rem;display:flex;gap:.5rem}.modal-acciones .editar,.modal-acciones .eliminar{background-color:var(--color-primary, #10b981);color:#fff;padding:.5rem 1rem;border:none;border-radius:.375rem;cursor:pointer}.modal-acciones .eliminar{background-color:#ef4444}.buscador,button{font-family:var(--font-body)}.skeleton{background-color:#e5e7eb;border-radius:.375rem;width:100%;height:150px}@media(max-width:760px){.contenedores-page h2{font-size:1.3rem}.map-container{height:clamp(280px,55vh,420px)}}.rutas-page{padding:clamp(.9rem,2vw,1.5rem) clamp(.9rem,3vw,2rem) 1.4rem;max-width:1400px;margin:0 auto}.rutas-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;flex-wrap:wrap;gap:.75rem}.rutas-header h2{font-size:1.5rem;color:#1f2937;display:flex;align-items:center;gap:.5rem;margin:0}.rutas-refresh-btn{display:flex;align-items:center;gap:.4rem;padding:.55rem 1.1rem;border:none;border-radius:.5rem;background:var(--color-primary, #0d9488);color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:background-color .15s}.rutas-refresh-btn:hover:not(:disabled){background:var(--color-primary-dark, #0f766e)}.rutas-refresh-btn:disabled{opacity:.6;cursor:not-allowed}.spin{animation:spinAnim 1s linear infinite}@keyframes spinAnim{to{transform:rotate(360deg)}}.rutas-error{padding:.75rem 1rem;background:#fef2f2;border:1px solid #fca5a5;border-radius:.5rem;color:#991b1b;font-size:.9rem;display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.rutas-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.85rem;margin-bottom:1.25rem}.rutas-stat-card{display:flex;align-items:center;gap:.75rem;background:#fff;border-radius:.5rem;padding:1rem;border:1px solid #e5e7eb}.rutas-stat-card.priority{border-left:4px solid #ef4444}.stat-icon{font-size:1.6rem}.stat-value{display:block;font-size:1.25rem;font-weight:700;color:#111827;line-height:1.2}.stat-label{font-size:.78rem;color:#6b7280}.rutas-content{display:grid;grid-template-columns:minmax(0,1fr) clamp(260px,30vw,340px);gap:1rem;min-height:clamp(360px,62vh,500px)}.rutas-map-container{border-radius:.75rem;overflow:hidden;box-shadow:0 2px 8px #0000001a;min-height:clamp(360px,62vh,500px)}.rutas-list{background:#fff;border-radius:.75rem;box-shadow:0 1px 4px #00000014;border:1px solid #e5e7eb;display:flex;flex-direction:column;overflow:hidden}.rutas-list h3{margin:0;padding:.85rem 1rem;font-size:1rem;color:#374151;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;gap:.4rem}.rutas-paradas-list{flex:1;overflow-y:auto;padding:.35rem 0}.parada-item{display:flex;align-items:flex-start;gap:.65rem;padding:.65rem 1rem;cursor:pointer;transition:background .15s;border-left:3px solid transparent}.parada-item:hover{background:#f9fafb}.parada-item.active{background:#ecfdf5;border-left-color:var(--color-primary, #10b981)}.parada-item.prioritario .parada-orden{background:#ef4444}.parada-orden{width:28px;height:28px;border-radius:50%;background:#0d9488;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;flex-shrink:0;margin-top:2px}.parada-info{flex:1;min-width:0}.parada-info strong{display:block;font-size:.88rem;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.parada-zona{display:block;font-size:.75rem;color:#6b7280}.parada-meta{display:flex;align-items:center;gap:.5rem;margin-top:.2rem;flex-wrap:wrap}.parada-carga{font-size:.75rem;color:#374151}.parada-tag-priority{font-size:.68rem;font-weight:700;background:#fef2f2;color:#dc2626;padding:1px 6px;border-radius:.25rem;border:1px solid #fca5a5}.parada-dist{font-size:.7rem;color:var(--color-primary, #10b981);font-weight:500}.rutas-empty{text-align:center;padding:4rem 2rem;color:#6b7280}.rutas-empty-icon{font-size:3rem;color:#0d9488;margin-bottom:.5rem}.rutas-empty h3{margin:.5rem 0 .25rem;color:#1f2937;font-size:1.3rem}.rutas-empty p{margin:0;font-size:.95rem}@media(max-width:1100px){.rutas-content{grid-template-columns:1fr}.rutas-map-container{min-height:clamp(300px,50vh,420px)}.rutas-list{max-height:360px}}@media(max-width:680px){.rutas-page{padding:.85rem}.rutas-stats{grid-template-columns:1fr 1fr}.rutas-header h2{font-size:1.25rem}.rutas-refresh-btn{width:100%;justify-content:center}}.basurero-profile.basurero-profile--modern{max-width:min(980px,100%);margin:1.5rem auto;padding:0;overflow:hidden}.basurero-profile__hero{position:relative;padding:clamp(1.2rem,2.7vw,1.9rem);background:linear-gradient(132deg,#0f172a,#1e3a8a 58%,#0ea5e9);color:#f8fafc}.basurero-profile__hero:after{content:"";position:absolute;right:-65px;top:-65px;width:210px;height:210px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.2),transparent 70%)}.basurero-profile__eyebrow{margin:0 0 .2rem;font-size:var(--font-size-xs);letter-spacing:.1em;text-transform:uppercase;color:#f8fafcd6}.basurero-profile__hero h1{margin:0;color:#fff;font-size:clamp(1.4rem,2.5vw,2rem)}.basurero-profile__badge{display:inline-block;margin-top:.6rem;padding:.34rem .75rem;border-radius:var(--radius-pill);border:1px solid rgba(255,255,255,.35);background:#ffffff26;color:#e2e8f0;font-size:var(--font-size-xs);font-weight:700}.basurero-profile__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.82rem;padding:clamp(1rem,2vw,1.4rem)}.basurero-profile__card{display:flex;align-items:flex-start;gap:.7rem;padding:.92rem;border:1px solid rgba(148,163,184,.28);border-radius:var(--radius-lg);background:linear-gradient(150deg,#fffffffa,#f8fcfff0);box-shadow:var(--shadow-sm)}.basurero-profile__icon{flex-shrink:0;margin-top:.1rem;font-size:1.08rem;color:#0284c7}.basurero-profile__label{margin:0 0 .15rem;color:var(--color-text-muted);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.07em}.basurero-profile__value{margin:0;font-size:var(--font-size-sm);color:var(--color-slate-800);font-weight:700;word-break:break-word}.basurero-profile__hint{margin:0;padding:0 1.2rem 1.2rem;color:var(--color-slate-700);font-size:var(--font-size-sm)}@media(max-width:700px){.basurero-profile__hint{padding:0 1rem 1rem}}.floating-button{position:fixed;bottom:calc(1.5rem + env(safe-area-inset-bottom));right:max(1rem,env(safe-area-inset-right));background:#0d9488;color:#fff;border:none;border-radius:50%;width:3.5rem;height:3.5rem;font-size:1.5rem;cursor:pointer;box-shadow:0 2px 8px #00000026;transition:background-color .2s ease;z-index:1001;display:flex;align-items:center;justify-content:center;line-height:1}.floating-button:hover{background:#0f766e}.floating-button.active{background:#374151;font-size:1.25rem;box-shadow:0 2px 8px #3741514d}.floating-button svg{width:1.1rem;height:1.1rem}@media(max-width:480px){.floating-button{width:3.2rem;height:3.2rem;font-size:1.35rem;bottom:calc(1rem + env(safe-area-inset-bottom));right:.8rem}}.chatbot-container{position:fixed;bottom:calc(6rem + env(safe-area-inset-bottom));right:max(1rem,env(safe-area-inset-right));width:min(370px,calc(100vw - 2rem));max-height:520px;background-color:#fff;border-radius:.5rem;border:1px solid #e2e8f0;box-shadow:0 4px 16px #0000001a;display:flex;flex-direction:column;overflow:hidden;z-index:1000;font-family:var(--font-body)}.chatbot-header{background:#0d9488;color:#fff;padding:.85rem 1rem}.chatbot-header-content{display:flex;align-items:center;gap:.6rem}.chatbot-avatar-header{font-size:1.6rem;line-height:1;display:inline-flex;align-items:center;justify-content:center}.chatbot-header h3{margin:0;font-size:1.05rem;font-weight:700}.chatbot-status{font-size:.72rem;opacity:.85}.chatbot-body{flex:1;padding:.75rem .85rem;overflow-y:auto;background-color:#f8fafc;scroll-behavior:smooth}.chatbot-body::-webkit-scrollbar{width:4px}.chatbot-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}.chat-bubble-row{display:flex;align-items:flex-end;gap:.45rem;margin-bottom:.6rem}.chat-bubble-row.user-row{justify-content:flex-end}.chat-bubble-row.bot-row{justify-content:flex-start}.chat-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.95rem;flex-shrink:0}.chat-avatar svg,.chatbot-avatar-header svg{width:1em;height:1em}.bot-avatar{background:#f0fdfa}.chat-bubble{max-width:78%;padding:.55rem .75rem;border-radius:.5rem;font-size:.88rem;line-height:1.45;word-break:break-word;white-space:pre-wrap}.bot-bubble{background-color:#fff;color:#1f2937;border:1px solid #e5e7eb;border-bottom-left-radius:.25rem;box-shadow:0 1px 3px #0000000d}.user-bubble{background:#0d9488;color:#fff;border-bottom-right-radius:.15rem}.typing-indicator{display:flex;gap:.3rem;padding:.65rem .85rem;min-width:52px}.typing-indicator .dot{width:7px;height:7px;border-radius:50%;background-color:#94a3b8;animation:typingBounce 1.2s infinite}.typing-indicator .dot:nth-child(2){animation-delay:.2s}.typing-indicator .dot:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-5px);opacity:1}}.suggestion-chips{margin-top:.5rem;display:flex;flex-wrap:wrap;gap:.4rem}.suggestion-label{width:100%;font-size:.75rem;color:#6b7280;margin:0 0 .15rem}.suggestion-chip{background-color:#f0fdfa;color:#0d9488;border:1px solid #99f6e4;border-radius:.375rem;padding:.3rem .7rem;font-size:.78rem;cursor:pointer;transition:background-color .15s ease;white-space:nowrap}.suggestion-chip:hover:not(:disabled){background-color:#ccfbf1;border-color:#5eead4}.suggestion-chip:disabled{opacity:.5;cursor:not-allowed}.chat-error{margin-top:.5rem;padding:.5rem .65rem;background-color:#fef2f2;border:1px solid #fca5a5;border-radius:.5rem;font-size:.8rem;color:#991b1b}.chatbot-footer{display:flex;align-items:flex-end;gap:.4rem;padding:.6rem .65rem;background-color:#fff;border-top:1px solid #e5e7eb}.chatbot-footer textarea{flex:1;resize:none;padding:.5rem .65rem;font-size:.88rem;border:1px solid #d1d5db;border-radius:1rem;outline:none;font-family:inherit;min-height:36px;max-height:80px;transition:border-color .2s;line-height:1.35}.chatbot-footer textarea:focus{border-color:#0d9488;box-shadow:0 0 0 2px #0d948826}.chatbot-footer textarea:disabled{background:#f9fafb}.chatbot-footer button{width:36px;height:36px;border-radius:50%;background:#0d9488;color:#fff;border:none;cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:background-color .15s;flex-shrink:0}.chatbot-footer button:disabled{opacity:.4;cursor:not-allowed}.chatbot-footer button:not(:disabled):hover{background:#0f766e}.send-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spinBtn .6s linear infinite}@keyframes spinBtn{to{transform:rotate(360deg)}}@media(max-width:480px){.chatbot-container{width:calc(100vw - 1rem);right:.5rem;bottom:calc(5.2rem + env(safe-area-inset-bottom));max-height:72svh;border-radius:.5rem}}.pwa-banner{position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%);z-index:10000;display:flex;align-items:center;gap:.75rem;background:#0d9488;color:#fff;padding:.8rem 1.2rem;border-radius:.5rem;box-shadow:0 4px 14px #0d94884d,0 2px 8px #0000001a;max-width:440px;width:calc(100% - 2rem)}@keyframes pwa-slide-up{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.pwa-banner-icon{font-size:1.5rem;flex-shrink:0;opacity:.9}.pwa-banner-text{flex:1;min-width:0;display:flex;flex-direction:column}.pwa-banner-text strong{font-size:.9rem;font-weight:700;line-height:1.2}.pwa-banner-text span{font-size:.75rem;opacity:.85;line-height:1.3}.pwa-banner-install{display:flex;align-items:center;gap:.35rem;background:#fff;color:#134e4a;border:none;padding:.5rem 1rem;border-radius:.375rem;font-size:.82rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:transform .15s,box-shadow .15s;flex-shrink:0}.pwa-banner-install:hover{box-shadow:0 2px 8px #fff3}.pwa-banner-close{background:none;border:none;color:#fff;opacity:.6;cursor:pointer;font-size:.9rem;padding:.3rem;flex-shrink:0;transition:opacity .15s}.pwa-banner-close:hover{opacity:1}@media(max-width:480px){.pwa-banner{bottom:.75rem;padding:.7rem .9rem;gap:.5rem}.pwa-banner-install{padding:.4rem .75rem;font-size:.78rem}}.gestion-contenedor,.contenedores-page,.mis-ventas,.promociones,.admin-estadisticas,.consumidor-estadisticas,.ecoliga-container,.cc-wrapper,.profile-card,.prov-profile-wrapper,.consumidor-profile-wrapper,.basurero-profile,.rutas-optimizada,.rutas-optimizadas{border:1px solid rgba(15,23,42,.11);border-radius:var(--radius-xl);background:linear-gradient(165deg,#fffffff0,#fafffde6 45%,#f4faffe6);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 16px 40px #0f172a1a;padding:clamp(1rem,2vw,1.7rem)}.header,.mv-header,.promo-header,.est-title,.cest-title,.cc-header,.ecoliga-header{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:1rem}.header h2,.mv-header h2,.promo-header h2{font-size:clamp(1.1rem,2vw,1.45rem);color:var(--color-slate-900)}.header-actions,.promo-header-actions{display:inline-flex;align-items:center;gap:.6rem}.card-grid{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.card,.stat-card,.prov-info-card,.promo-card,.mv-kpi,.est-kpi,.cest-kpi,.cc-kpi,.cc-card-body,.mv-table-card,.est-chart-card,.cest-chart-card,.prov-product-chip,.promo-section,.promo-modal,.modal,.contenedores-modal-contenido{border:1px solid rgba(148,163,184,.28);border-radius:var(--radius-lg);background:linear-gradient(145deg,#fffffffa,#f8fcffeb);box-shadow:0 10px 24px #0f172a14;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.card,.stat-card,.prov-info-card,.promo-card,.mv-kpi,.est-kpi,.cest-kpi,.cc-kpi{padding:.95rem}.card:hover,.stat-card:hover,.prov-info-card:hover,.promo-card:hover,.mv-kpi:hover,.est-kpi:hover,.cest-kpi:hover,.cc-kpi:hover{transform:translateY(-3px);border-color:#10b98147;box-shadow:0 18px 30px #0f172a1f}.map-container{border-radius:var(--radius-lg);overflow:hidden;border:1px solid rgba(148,163,184,.24);box-shadow:var(--shadow-sm)}.buscador,.search-bar,.cc-search input,.mv-search,.promo-form input,.promo-form select,.modal input,.modal select,.gestion-contenedor input,.gestion-contenedor select,.contenedores-page input,.contenedores-page select{min-height:2.75rem;padding:.6rem .85rem;border-radius:.8rem;border:1px solid rgba(148,163,184,.42)}.search-bar-container{margin-bottom:.9rem}.add-btn,.btn-submit,.btn-contenedor,.promo-add,.promo-btn-save,.mv-refresh,.wallet-button,.modal-buttons button[type=submit],.modal-acciones .editar{position:relative;border:0;color:#fff;font-weight:700;letter-spacing:.01em;border-radius:.82rem;background:linear-gradient(130deg,#0f766e,#10b981);padding:.64rem 1rem;box-shadow:0 10px 24px #10b98147}.add-btn:hover,.btn-submit:hover,.btn-contenedor:hover,.promo-add:hover,.promo-btn-save:hover,.mv-refresh:hover,.wallet-button:hover,.modal-buttons button[type=submit]:hover,.modal-acciones .editar:hover{transform:translateY(-2px);box-shadow:0 14px 28px #10b98157}.add-btn:focus-visible,.btn-submit:focus-visible,.btn-contenedor:focus-visible,.promo-add:focus-visible,.promo-btn-save:focus-visible,.mv-refresh:focus-visible,.wallet-button:focus-visible,.modal-buttons button[type=submit]:focus-visible,.modal-acciones .editar:focus-visible,.refresh-btn:focus-visible,.promo-btn-cancel:focus-visible,.modal-buttons button[type=button]:focus-visible,.modal-acciones .eliminar:focus-visible,.btn-accion.btn-cancelar:focus-visible{outline:none;box-shadow:0 0 0 4px #10b98133}.refresh-btn,.promo-btn-cancel,.modal-buttons button[type=button],.modal-acciones .eliminar,.btn-accion.btn-cancelar{border:1px solid rgba(100,116,139,.36);background:linear-gradient(165deg,#fffffff2,#f1f5f9eb);color:var(--color-slate-700);border-radius:.82rem;padding:.62rem .95rem;font-weight:700}.refresh-btn:hover,.promo-btn-cancel:hover,.modal-buttons button[type=button]:hover,.modal-acciones .eliminar:hover,.btn-accion.btn-cancelar:hover{transform:translateY(-1px);border-color:#47556973;background:#f1f5f9fa}.wallet-button{display:inline-flex;align-items:center;justify-content:center;gap:.55rem}.wallet-button svg{font-size:1.05rem}.modal-overlay,.contenedores-modal{position:fixed;inset:0;background:#0f172a73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2300}.modal,.promo-modal,.contenedores-modal-contenido{width:min(560px,calc(100vw - 1.2rem));margin:5vh auto;padding:1rem}.modal-buttons,.modal-acciones,.promo-form-actions{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:.95rem}.error,.promo-error,.cest-error,.est-error{color:var(--color-danger-500);font-weight:600}.skeleton{border-radius:var(--radius-md);min-height:130px;background:linear-gradient(105deg,#e2e8f073 10%,#e2e8f0d4,#e2e8f073 60%);background-size:250% 100%;animation:shimmer 1.1s linear infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.notif-icon--points{color:#f59e0b}@media(max-width:760px){.gestion-contenedor,.contenedores-page,.mis-ventas,.promociones,.admin-estadisticas,.consumidor-estadisticas,.ecoliga-container,.cc-wrapper,.profile-card,.prov-profile-wrapper,.consumidor-profile-wrapper,.basurero-profile,.rutas-optimizada,.rutas-optimizadas{padding:.85rem;border-radius:var(--radius-lg)}.header,.mv-header,.promo-header,.est-title,.cest-title,.cc-header,.ecoliga-header{flex-direction:column;align-items:flex-start}.modal,.promo-modal,.contenedores-modal-contenido{margin:8vh auto}}
