:root{--navy:#062b3d;--navy-2:#0b3e55;--blue:#087ea4;--cyan:#18a6c9;--sky:#dff5fb;--red:#e1251b;--red-dark:#b91c15;--amber:#f59e0b;--green:#169c63;--ink:#12212b;--muted:#647784;--line:#d7e1e6;--surface:#fff;--canvas:#f3f7f9;--shadow:0 14px 35px rgba(8,47,73,.12);--radius:18px;--safe-bottom:max(16px,env(safe-area-inset-bottom))}
*{box-sizing:border-box}html{font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--canvas)}body{margin:0;min-height:100vh;background:radial-gradient(circle at 8% 0,#e2f7fb 0,transparent 26rem),var(--canvas)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}img{max-width:100%}[hidden]{display:none!important}.muted{color:var(--muted);margin:.25rem 0 0}.eyebrow{margin:0 0 .35rem;text-transform:uppercase;letter-spacing:.13em;font-size:.7rem;font-weight:800;color:var(--blue)}h1,h2,h3,p{overflow-wrap:anywhere}h1,h2,h3{margin:0;line-height:1.12}h1{font-size:clamp(1.9rem,5vw,2.75rem)}h2{font-size:clamp(1.5rem,3vw,2rem)}h3{font-size:1rem}label{display:grid;gap:.42rem;font-size:.78rem;font-weight:750;color:#38505e}input,select,textarea{width:100%;min-height:44px;border:1px solid #c9d8df;border-radius:11px;background:#fff;color:var(--ink);padding:.7rem .82rem;outline:none}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(24,166,201,.14)}fieldset{border:1px solid #c9d8df;border-radius:12px;padding:.55rem .75rem}legend{font-size:.75rem;font-weight:800;color:#38505e}fieldset label{display:flex;align-items:center;gap:.4rem;margin:.35rem 0;font-weight:650}fieldset input{width:1rem;min-height:auto}.primary,.secondary,.ghost,.icon-button{border:0;border-radius:11px;min-height:42px;padding:.67rem 1rem;font-weight:800}.primary{background:linear-gradient(135deg,var(--red),#f04a34);color:#fff;box-shadow:0 7px 18px rgba(225,37,27,.2)}.primary:hover{background:var(--red-dark)}.secondary{background:var(--navy);color:#fff}.ghost{background:#e9f0f3;color:#294653}.icon-button{background:#edf3f5;color:#315563;padding:.58rem .8rem;white-space:nowrap}.compact{min-height:36px;padding:.48rem .75rem}.full{width:100%}.button-row{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.button-row.end{justify-content:flex-end}.stack{display:grid;gap:1rem}.password-row{display:flex;gap:.45rem}.password-row input{flex:1}.brand-pair{display:flex;align-items:center;gap:.75rem}.brand{display:flex;align-items:center;justify-content:center;border-radius:12px;padding:.38rem .65rem;height:54px}.brand img{display:block;width:auto;height:100%;object-fit:contain}.brand-chilquinta{background:#fff}.brand-tecnored{background:var(--navy)}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,rgba(6,43,61,.96),rgba(6,43,61,.78)),radial-gradient(circle at 70% 15%,#0fb4d2,transparent 28rem)}.login-card{width:min(470px,100%);background:rgba(255,255,255,.98);border-radius:26px;padding:clamp(1.35rem,4vw,2.2rem);box-shadow:0 28px 80px rgba(0,0,0,.3)}.login-brands{margin-bottom:2rem}.login-brands .brand{height:65px;flex:1}.login-copy{color:var(--muted);margin:.75rem 0 1.6rem;line-height:1.55}.login-help{font-size:.75rem;text-align:center;color:var(--muted);margin:1.2rem 0 0}
.app-shell{min-height:100vh}.topbar{height:76px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.1rem;padding:9px max(18px,calc((100vw - 1480px)/2));background:var(--navy);color:#fff;position:sticky;top:0;z-index:1000;box-shadow:0 6px 22px rgba(6,43,61,.18)}.topbar-brands .brand{height:54px}.topbar-brands .brand-chilquinta{width:142px}.topbar-brands .brand-tecnored{width:116px}.topbar-title{display:grid;gap:.13rem}.topbar-title strong{font-size:1.06rem}.topbar-title span{font-size:.72rem;color:#a8d9e7}.account-box{display:flex;align-items:center;gap:.5rem}.account-button{display:flex;align-items:center;gap:.65rem;border:0;border-radius:13px;background:rgba(255,255,255,.1);color:#fff;padding:.42rem .7rem}.account-button>span:first-child{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--red);font-size:.72rem;font-weight:850}.account-copy{display:grid;text-align:left}.account-copy b{font-size:.78rem}.account-copy small{color:#bcd6df;font-size:.63rem}.main-nav{height:54px;display:flex;justify-content:center;gap:.25rem;padding:.35rem 1rem;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:76px;z-index:900}.main-nav button{border:0;border-radius:10px;background:transparent;color:#536c79;padding:.6rem 1.1rem;font-weight:800}.main-nav button.active{background:var(--sky);color:var(--navy)}.workspace{max-width:1480px;margin:0 auto;padding:clamp(1rem,2.5vw,2rem)}.view{display:none}.view.active{display:block}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin:0 0 1.25rem}.panel{background:var(--surface);border:1px solid rgba(173,194,204,.65);border-radius:var(--radius);padding:1.15rem;box-shadow:0 4px 17px rgba(8,47,73,.055)}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.panel-heading p{color:var(--muted);font-size:.75rem;margin:.25rem 0 0}.live-badge,.count-badge,.map-count{display:inline-flex;align-items:center;border-radius:999px;background:var(--sky);color:var(--navy);padding:.4rem .65rem;font-size:.72rem;font-weight:850}.content-grid{display:grid;gap:1rem}.dashboard-grid{grid-template-columns:minmax(0,1.6fr) minmax(280px,.7fr)}.kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(135px,1fr));gap:.75rem;margin-bottom:1rem}.kpi{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:16px;padding:1rem}.kpi::after{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--blue)}.kpi.pending::after{background:var(--amber)}.kpi.progress::after{background:var(--blue)}.kpi.done::after{background:var(--green)}.kpi.blocked::after{background:var(--red)}.kpi span{font-size:.7rem;color:var(--muted);font-weight:750}.kpi strong{display:block;font-size:1.8rem;margin-top:.25rem}.ranking-list{display:grid;gap:.5rem}.rank-row{display:grid;grid-template-columns:36px minmax(110px,1.4fr) repeat(3,minmax(58px,.6fr));align-items:center;gap:.55rem;padding:.75rem;border-radius:13px;background:#f6f9fa}.rank-number{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;font-weight:850}.rank-name{font-weight:800}.rank-metric{text-align:center}.rank-metric b{display:block}.rank-metric span{font-size:.64rem;color:var(--muted)}.action-panel{display:grid;align-content:start;gap:.65rem}.quick-action{display:grid;gap:.2rem;text-align:left;border:1px solid var(--line);border-radius:13px;background:#f9fbfc;padding:.85rem;color:var(--ink)}.quick-action:hover{border-color:var(--cyan);background:#f1fbfd}.quick-action span{font-size:.72rem;color:var(--muted);line-height:1.35}
.map-heading{align-items:center}.map-filterbar,.filters{display:grid;grid-template-columns:minmax(230px,1.5fr) minmax(150px,.55fr) auto;align-items:end;gap:.75rem;background:#fff;border:1px solid var(--line);border-radius:15px;padding:.75rem;margin-bottom:.75rem}.map-stage{position:relative;border-radius:20px;overflow:hidden;border:1px solid #b9ccd4;box-shadow:var(--shadow)}#map{height:calc(100vh - 280px);min-height:530px;background:#dbe8ed}.leaflet-popup-content{margin:14px;width:min(310px,72vw)!important}.map-popup{display:grid;gap:.6rem}.map-popup h3{font-size:1rem}.popup-meta{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;font-size:.72rem}.popup-meta span{background:#f1f5f7;border-radius:8px;padding:.4rem}.popup-address{font-size:.77rem;color:#4d6471}.popup-actions{display:flex;gap:.35rem;flex-wrap:wrap}.popup-actions a,.popup-actions button{border:0;border-radius:8px;padding:.5rem .6rem;background:var(--navy);color:#fff;text-decoration:none;font-size:.7rem;font-weight:800}.polygon-toolbar{position:absolute;z-index:700;left:50%;bottom:18px;transform:translateX(-50%);width:min(650px,calc(100% - 24px));display:flex;align-items:center;justify-content:space-between;gap:.6rem;background:rgba(255,255,255,.96);border:1px solid #bcd0d8;border-radius:15px;padding:.65rem .8rem;box-shadow:0 12px 30px rgba(0,0,0,.2)}.polygon-toolbar b{font-size:.8rem}.map-legend{position:absolute;z-index:600;top:10px;left:52px;display:flex;gap:.3rem;flex-wrap:wrap;max-width:calc(100% - 110px)}.map-legend span{display:flex;align-items:center;gap:.25rem;background:rgba(255,255,255,.92);border-radius:999px;padding:.35rem .5rem;font-size:.64rem;font-weight:800}.dot{width:8px;height:8px;border-radius:50%;background:#999}.dot.pending{background:var(--amber)}.dot.progress{background:var(--blue)}.dot.done{background:var(--green)}.dot.blocked{background:var(--red)}
.task-list{display:grid;grid-template-columns:repeat(3,minmax(250px,1fr));gap:.8rem}.task-card{display:grid;gap:.65rem;text-align:left;border:1px solid var(--line);border-radius:16px;background:#fff;padding:1rem;color:var(--ink);box-shadow:0 3px 12px rgba(8,47,73,.045)}.task-card:hover{border-color:var(--cyan);transform:translateY(-1px)}.task-card-head{display:flex;justify-content:space-between;gap:.5rem}.task-product{font-weight:850;font-size:1.05rem}.status{display:inline-flex;align-items:center;width:max-content;padding:.32rem .55rem;border-radius:999px;font-size:.65rem;font-weight:850}.status.PENDIENTE{background:#fff1cd;color:#805500}.status.EN_EJECUCION{background:#d9f1fa;color:#075c7b}.status.RETIRADO{background:#d9f3e7;color:#0e7045}.status.NO_RETIRADO{background:#fde0de;color:#9e1f17}.task-address{font-size:.78rem;color:#4e6673;min-height:2.1rem}.task-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem}.task-meta span{display:grid;gap:.1rem;background:#f4f7f8;border-radius:8px;padding:.45rem;font-size:.64rem;color:var(--muted)}.task-meta b{font-size:.72rem;color:#29414e;overflow:hidden;text-overflow:ellipsis}.empty-state{grid-column:1/-1;text-align:center;border:1px dashed #b8cbd3;border-radius:16px;padding:2.5rem;color:var(--muted);background:rgba(255,255,255,.55)}
.import-grid{grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr)}.upload-panel{display:grid;align-content:start;gap:1rem}.upload-drop{min-height:190px;place-items:center;text-align:center;border:2px dashed #a8c4d0;border-radius:16px;background:#f4fbfd;padding:1rem;cursor:pointer}.upload-drop:hover{border-color:var(--cyan)}.upload-drop b,.upload-drop small{display:block}.upload-drop small{font-weight:500;color:var(--muted);max-width:280px}.upload-icon{display:grid;place-items:center;width:66px;height:66px;border-radius:18px;background:var(--navy);color:#fff;font-weight:900;letter-spacing:.06em;margin-bottom:.6rem}.import-preview{border:1px solid var(--line);border-radius:13px;padding:.8rem;font-size:.76rem;overflow:auto}.import-preview.empty{color:var(--muted);text-align:center}.preview-table{border-collapse:collapse;width:100%;font-size:.68rem}.preview-table th,.preview-table td{padding:.35rem;border-bottom:1px solid #e0e8ec;text-align:left;white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis}.history-list{display:grid;gap:.55rem}.history-item{display:grid;grid-template-columns:1fr auto;gap:.4rem;border-bottom:1px solid #e4eaed;padding:.7rem 0}.history-item b{font-size:.78rem}.history-item span{font-size:.68rem;color:var(--muted)}.history-item.active b::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);margin-right:.4rem}
.user-editor{margin-bottom:1rem}.user-form-grid{display:grid;grid-template-columns:1fr 1fr 1.25fr 1.2fr;gap:.75rem;margin:1rem 0}.user-list{display:grid;gap:.75rem}.user-card{display:grid;grid-template-columns:minmax(170px,.8fr) minmax(160px,.65fr) minmax(260px,1.2fr) minmax(230px,1fr) auto;align-items:end;gap:.7rem;background:#fff;border:1px solid var(--line);border-radius:15px;padding:.9rem}.user-identity{align-self:center}.user-identity b{display:block}.user-identity span{font-size:.7rem;color:var(--muted)}.user-roles{display:flex;gap:.55rem;flex-wrap:wrap;padding-bottom:.65rem}.user-roles label{display:flex;align-items:center;gap:.28rem;font-size:.68rem}.user-roles input{min-height:auto;width:auto}.active-check{display:flex;align-items:center;gap:.35rem;padding-bottom:.65rem}.active-check input{width:auto;min-height:auto}.password-status{font-size:.65rem;color:var(--muted)}
.sheet-dialog,.compact-dialog{border:0;border-radius:22px;padding:0;box-shadow:0 28px 80px rgba(0,0,0,.32);max-height:92vh}.sheet-dialog{width:min(920px,calc(100% - 24px))}.compact-dialog{width:min(520px,calc(100% - 24px));padding:1rem}.sheet-dialog::backdrop,.compact-dialog::backdrop{background:rgba(6,28,39,.68);backdrop-filter:blur(3px)}.dialog-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1.15rem;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:2}.compact-dialog .dialog-header{padding:0 0 .9rem;margin-bottom:.9rem}.sheet-dialog #taskDialogBody{padding:1rem;overflow:auto}.detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.55rem}.detail-item{background:#f3f7f8;border-radius:10px;padding:.6rem}.detail-item span{display:block;font-size:.63rem;color:var(--muted);margin-bottom:.15rem}.detail-item b{font-size:.76rem}.detail-wide{grid-column:1/-1}.detail-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.detail-actions a{text-decoration:none}.execution-panel{margin-top:1rem;border-top:1px solid var(--line);padding-top:1rem}.result-options{display:flex;gap:.65rem;margin:.7rem 0}.result-options label{display:flex;align-items:center;gap:.35rem;border:1px solid var(--line);border-radius:11px;padding:.65rem .8rem;flex:1}.result-options input{width:auto;min-height:auto}.photo-request{background:#fff5d9;border:1px solid #f2d78c;border-radius:11px;padding:.7rem;font-size:.75rem;line-height:1.45;margin:.7rem 0}.photo-picker{display:grid;place-items:center;text-align:center;border:2px dashed #a8c4d0;border-radius:12px;min-height:105px;background:#f7fbfc;padding:.75rem;cursor:pointer}.photo-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:.45rem;margin:.6rem 0}.photo-preview figure{margin:0}.photo-preview img{aspect-ratio:1;object-fit:cover;border-radius:9px;width:100%}.photo-preview figcaption{font-size:.58rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline{display:grid;gap:.4rem;margin-top:.8rem}.timeline-item{display:grid;grid-template-columns:10px 1fr;gap:.55rem;font-size:.72rem}.timeline-item::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--cyan);margin-top:.25rem}.selection-summary{background:var(--sky);border-radius:12px;padding:.75rem;font-weight:800}.compact-dialog label{margin-bottom:.75rem}.toast{position:fixed;top:18px;left:50%;transform:translateX(-50%);z-index:5000;width:min(520px,calc(100% - 24px));background:var(--navy);color:#fff;border-radius:13px;padding:.8rem 1rem;box-shadow:0 16px 35px rgba(0,0,0,.28);font-size:.8rem;font-weight:750}.toast.error{background:#8d1c16}.toast.success{background:#0e7045}
@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.task-list{grid-template-columns:repeat(2,1fr)}.user-card{grid-template-columns:1fr 1fr}.user-card .user-roles{grid-column:1/-1}.user-form-grid{grid-template-columns:1fr 1fr}.topbar-title{display:none}}
@media(max-width:760px){body{padding-bottom:calc(68px + var(--safe-bottom))}.topbar{height:66px;padding:7px 9px;gap:.35rem}.topbar-brands{gap:.3rem}.topbar-brands .brand{height:45px;padding:.25rem}.topbar-brands .brand-chilquinta{width:95px}.topbar-brands .brand-tecnored{width:72px}.account-copy{display:none}.account-button{padding:.3rem}.account-box .ghost{font-size:.7rem}.main-nav{position:fixed;top:auto;bottom:0;left:0;right:0;height:calc(62px + var(--safe-bottom));padding:.45rem .35rem var(--safe-bottom);z-index:1200;border-top:1px solid var(--line);border-bottom:0;justify-content:stretch;box-shadow:0 -8px 24px rgba(8,47,73,.1);overflow-x:auto}.main-nav button{flex:1;min-width:66px;padding:.45rem .25rem;font-size:.68rem}.workspace{padding:1rem .75rem}.section-heading{align-items:flex-start}.map-heading{display:grid}.kpi-grid{grid-template-columns:repeat(2,1fr)}.kpi strong{font-size:1.55rem}.dashboard-grid,.import-grid{grid-template-columns:1fr}.rank-row{grid-template-columns:30px 1fr repeat(3,50px);gap:.3rem}.rank-metric span{display:none}.map-filterbar,.filters{grid-template-columns:1fr 1fr}.map-filterbar .search-field,.filters .search-field{grid-column:1/-1}.map-count{justify-self:end}.task-list{grid-template-columns:1fr}#map{height:calc(100vh - 300px);min-height:470px}.polygon-toolbar{display:grid}.polygon-toolbar .button-row{justify-content:stretch}.polygon-toolbar button{flex:1}.map-legend{left:45px;max-width:calc(100% - 55px)}.map-legend span{font-size:.58rem}.user-card,.user-form-grid{grid-template-columns:1fr}.user-card .user-roles{grid-column:auto}.detail-grid{grid-template-columns:1fr 1fr}.photo-preview{grid-template-columns:repeat(3,1fr)}.sheet-dialog{width:100%;max-height:94vh;margin:auto 0 0;border-radius:22px 22px 0 0}.dialog-header{padding-top:.8rem}.login-shell{padding:14px}.login-brands .brand{height:56px}.result-options{display:grid}.task-meta{grid-template-columns:repeat(3,1fr)}}
@media(max-width:410px){.topbar-brands .brand-chilquinta{width:84px}.topbar-brands .brand-tecnored{width:62px}.kpi-grid{gap:.5rem}.kpi{padding:.8rem}.detail-grid{grid-template-columns:1fr}.photo-preview{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
