:root{color-scheme:dark;--bg:#101827;--panel:#1b2638;--panel2:#233147;--stroke:#35445c;--muted:#a5b5c8;--text:#f7f9fd;--accent:#52dcbd;--blue:#77a9ff;--red:#ff8c91;--yellow:#ffd38b;--safe:#a1f0b5;--radius:17px;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);min-height:100vh;line-height:1.45}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}input,textarea{font-size:16px}input:focus-visible,textarea:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}input,textarea{background:#111d30;color:var(--text);border:1px solid #4a5c76;border-radius:11px;padding:12px;min-width:0;width:100%;resize:vertical}input::placeholder,textarea::placeholder{color:#8c9cb2}label{display:block;color:#dbe5f1;font-size:13px;font-weight:650;margin:14px 0 7px}h1,h2,h3,p{margin-top:0}h1{font-size:29px;line-height:1.1;letter-spacing:-1.1px;margin-bottom:6px}h2{font-size:21px;letter-spacing:-.5px;margin-bottom:3px}h3{font-size:16px;margin-bottom:7px}p{color:var(--muted)}.accent{color:var(--accent)}.eyebrow{letter-spacing:1.2px;font-size:10px;font-weight:850;color:#94b7d4}.auth-screen{min-height:100dvh;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at top right,#1e4552,transparent 54%),#101827}.auth-card{max-width:390px;width:100%;border:1px solid var(--stroke);border-radius:22px;padding:25px;background:#182538;box-shadow:0 16px 60px #0005}.brand-mark{font-size:34px;line-height:1;color:var(--accent);margin:0 0 18px}.auth-card h1{font-size:40px;margin:7px 0 12px}.auth-card p{font-size:14px}.auth-card .micro{font-size:12px;margin-top:18px}.auth-card .error{color:var(--red);min-height:0;margin:8px 0}.btn{border:none;border-radius:11px;min-height:43px;padding:10px 14px;font-size:13px;font-weight:750;display:inline-flex;justify-content:center;align-items:center;gap:7px;text-decoration:none}.btn-primary{background:var(--accent);color:#102525}.btn-soft{background:#29435a;color:#e4f3ff}.btn-outline{background:transparent;border:1px solid #596b84;color:#eff7ff}.btn-text{background:transparent;color:#c3d9ec}.btn-danger{background:#622d37;color:#fff}.full{width:100%}.app-header{position:sticky;top:0;z-index:10;background:#101827eF;backdrop-filter:blur(14px);border-bottom:1px solid #29364a;padding-top:env(safe-area-inset-top)}.header-inner{height:62px;max-width:800px;margin:auto;padding:0 18px;display:flex;justify-content:space-between;align-items:center}.brand-inline{display:flex;align-items:center;gap:10px}.brand-inline strong{display:block;font-size:20px;letter-spacing:-1px}.brand-inline small{display:block;color:var(--muted);font-size:10px;margin-top:-2px}.mini-mark{width:37px;height:37px;background:#204a4b;border-radius:11px;display:grid;place-items:center;color:var(--accent);font-size:22px}.icon-btn{border:1px solid var(--stroke);border-radius:10px;background:#202c3d;color:#f7f9fd;width:39px;height:39px;font-size:24px}.app-main{max-width:800px;margin:auto;padding:22px 16px calc(100px + env(safe-area-inset-bottom))}.welcome-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:19px}.welcome-row .subtitle{font-size:13px;margin-bottom:0}.welcome-row .eyebrow{margin-bottom:8px}.online-dot{display:inline-block;background:#6ceab7;width:6px;height:6px;border-radius:50%;margin-right:5px}.day-picker-label{font-size:11px;color:var(--muted);margin:0;flex:0 0 auto}.day-picker-label input{display:block;width:128px;font-size:12px;margin-top:5px;background:#26344a;padding:10px 7px;border-color:#3c4e67;color:var(--text)}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:26px}.stat{background:var(--panel);border:1px solid var(--stroke);border-radius:14px;padding:13px 12px}.stat-top{font-size:12px;color:#c9d5e6}.stat-value{font-size:28px;font-weight:800;letter-spacing:-.8px;margin:5px 0 2px;line-height:1.15}.stat-foot{color:#9cb0c6;font-size:11px}.success{color:var(--accent)}.section-heading{display:flex;align-items:start;justify-content:space-between;margin:0 0 14px}.section-heading p{font-size:13px;margin:0}.view{display:none}.view.active{display:block}.search-wrap{display:flex;align-items:center;gap:10px;background:#17253a;border:1px solid #4b617b;border-radius:13px;padding:0 12px;height:52px}.search-wrap>span{font-size:25px;color:var(--accent)}.search-wrap input{border:0;padding:12px 0;background:transparent;outline:none;box-shadow:none;flex:1}.clear-search{background:transparent;color:var(--muted);border:none;font-size:22px}.filter-row{display:flex;gap:8px;overflow-x:auto;padding:15px 0 8px}.chip{flex-shrink:0;background:#1c2d42;color:#c7d6ea;border:1px solid #3b516b;border-radius:100px;padding:9px 13px;font-size:12px;font-weight:700}.chip.selected{background:#20534c;border-color:#52dcbd;color:#b8ffeb}.results-count{font-size:12px;color:var(--muted);margin:10px 0}.package-list{display:grid;gap:9px}.package-card{border:1px solid var(--stroke);border-radius:14px;padding:14px;background:var(--panel)}.package-card-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}.pkg-number{font-size:15px;font-weight:800}.pkg-zone{color:var(--accent);font-size:12px;background:#203f42;border-radius:7px;padding:4px 8px;margin-left:7px}.status{font-size:11px;font-weight:750;padding:5px 7px;border-radius:6px;background:#3c3e48;color:#ffe1b3}.status.entregado{background:#194c40;color:#b2ffe0}.status.incidencia{background:#572b37;color:#ffccd2}.pkg-address{font-size:15px;font-weight:650;overflow-wrap:anywhere;margin-bottom:4px}.pkg-detail{font-size:12px;color:var(--muted);margin:3px 0;overflow-wrap:anywhere}.pkg-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.small-btn{font-size:12px;padding:7px 10px;min-height:33px;border-radius:8px;background:#2a3d55;color:#e6f3ff;border:1px solid #405672}.small-btn.primary{background:#1e5a4b;color:#d3fff1;border-color:#3a9b79}.small-btn.danger{background:#57323c;border-color:#7b4853}.empty{text-align:center;border:1px dashed #42546e;border-radius:16px;padding:32px 18px;margin-top:12px}.empty-icon{font-size:40px;color:var(--accent)}.empty h3{margin:8px 0}.empty p{font-size:13px}.scan-guide{background:#193e42;border:1px solid #397a75;padding:14px;border-radius:14px;display:flex;gap:12px;margin-bottom:15px}.scan-guide strong{font-size:14px;color:#c3fff0}.scan-guide p{font-size:12px;margin:4px 0 0;color:#d4e8e8}.scan-icon{font-size:32px;color:#8cf5df}.action-row{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.action-row .btn{flex:1;min-width:98px}.photo-tip{border-bottom:1px solid #35445c;padding:12px 0;margin:14px 0 21px}.photo-tip summary{font-size:13px;font-weight:700;color:#b6d8ff;cursor:pointer}.photo-tip p{font-size:12px;margin-top:9px}.photo-button{margin:5px 0 10px}.photo-tip img{width:100%;max-height:280px;object-fit:contain;border-radius:9px;border:1px solid #4b607a;margin:7px 0}.form-card,.settings-card{border:1px solid var(--stroke);border-radius:16px;background:var(--panel);padding:17px;margin-bottom:15px}.form-section-title{display:flex;justify-content:space-between;flex-wrap:wrap;align-items:center;gap:8px}.form-section-title h3{margin:0}.form-section-title small{color:var(--muted);font-size:11px}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:16px}.form-actions .full{flex:1 0 100%}.inline-feedback{font-size:12px;margin:10px 0 0;color:var(--accent)}.route-tip{background:#1b3043;border-left:3px solid var(--blue);padding:12px;margin:12px 0 19px;color:#c5d7e9;font-size:12px;border-radius:6px}.route-group{margin:14px 0 23px}.route-group h3{font-size:14px;color:#a5f1de;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #42516a;padding-bottom:7px}.route-item{background:var(--panel);padding:11px;border:1px solid var(--stroke);border-radius:11px;margin:7px 0;display:flex;align-items:center;gap:10px}.route-index{color:var(--accent);font-weight:850;font-size:12px;min-width:21px}.route-item-details{min-width:0;flex:1}.route-item-details strong{font-size:13px;display:block;overflow-wrap:anywhere}.route-item-details small{font-size:11px;color:#abc0d2;overflow-wrap:anywhere}.route-controls{display:flex;flex-direction:column;gap:4px}.route-controls button{width:28px;height:26px;border:1px solid #60718b;border-radius:6px;color:white;background:#294058}.muted-note,.card-desc{font-size:12px;line-height:1.6}.setting-row{border-bottom:1px solid #34445d;padding:11px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}.setting-row strong{font-variant-numeric:tabular-nums}.setting-row input{max-width:105px;text-align:right;padding:7px}.setting-row.emphasis{border:0;color:var(--accent);font-weight:700}.stack-actions{display:grid;gap:10px;margin-top:16px}.label-btn{margin:0}.danger-zone{border-color:#774550}.app-footer{text-align:center;font-size:11px;color:#92a7ba;margin:25px}.tabbar{position:fixed;bottom:0;left:0;right:0;z-index:11;padding:7px 5px calc(7px + env(safe-area-inset-bottom));display:flex;justify-content:center;gap:3px;background:#121e2d;border-top:1px solid #334059}.tab{width:min(25%,185px);background:none;border:0;color:#96aac0;font-size:11px;font-weight:650;padding:7px 3px;display:flex;flex-direction:column;align-items:center;gap:1px}.tab.active{color:var(--accent)}.tabicon{font-size:24px;line-height:1.3}.toast{position:fixed;z-index:50;left:50%;transform:translateX(-50%);bottom:calc(85px + env(safe-area-inset-bottom));background:#e1fff4;color:#163629;border:1px solid #63d9aa;max-width:calc(100% - 32px);text-align:center;padding:10px 15px;border-radius:12px;font-size:13px;font-weight:700;box-shadow:0 8px 35px #0007}.toast[hidden],#appScreen[hidden],#authScreen[hidden],.empty[hidden],#confirmWrap[hidden],#imagePreviewWrap[hidden]{display:none!important}@media(min-width:650px){.app-main{padding-top:29px}.stats-grid{gap:14px}.stat{padding:19px}.welcome-row h1{font-size:35px}.view{max-width:740px}.package-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:360px){.form-two{grid-template-columns:1fr}.stat{padding:10px 7px}.stat-value{font-size:24px}.stat-top{font-size:11px}.stat-foot{font-size:10px}.welcome-row h1{font-size:25px}.day-picker-label input{width:119px}}

.checkbox-row{display:flex;align-items:center;gap:10px;padding:10px 0;font-size:12px;color:#d3e8fb;cursor:pointer}.checkbox-row input{width:19px;height:19px;flex-shrink:0;accent-color:#52dcbd;margin:0}.checkbox-row span{line-height:1.4}

/* Google Maps / Rutas — v0.2 */
.map-preview-box{margin:9px 0 15px;border:1px solid #37556b;border-radius:12px;padding:10px;background:#1b3241}
.map-preview-box .btn{width:100%}
.map-preview-box p{font-size:11px;line-height:1.45;margin:8px 2px 0;color:#c0d9e8}
.maps-btn{border-color:#3e9c85;background:#1b4547;color:#e0fff5}
.route-hint{font-size:11px;color:#a9c3d6;margin:4px 0 11px}
.route-item-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
.route-item-actions .small-btn{padding:7px 8px;min-height:35px}
.route-batch{border-color:#338b78;background:#1d5049;color:#d3fff1}

/* Ruta80 v0.3: agrupación manual y exportación de mapa */
.subheading{margin:19px 2px 11px}.link-button{display:flex;margin-top:10px}.map-steps{background:#1a3543;border-radius:12px;padding:13px;margin-top:12px}.map-steps p{font-size:12px;margin:6px 0 0;color:#d1dfed}.bulk-list{display:grid;gap:5px;max-height:400px;overflow-y:auto;border:1px solid #40546b;border-radius:10px;padding:7px;margin:12px 0}.bulk-item{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:450;margin:0;padding:9px 6px;background:#1c2b41;border-radius:8px;cursor:pointer}.bulk-item input{width:20px;height:20px;flex:0 0 20px;accent-color:#52dcbd;margin:0}.bulk-item span{min-width:0;overflow-wrap:anywhere}.bulk-item small{display:block;color:#a7bacb;margin-top:3px}.pkg-detail.warning{color:#e7c490}.card-desc strong{color:#e9fff8}

/* v0.4 · trabajo rápido y conciliación en almacén */
.header-tools{display:flex;gap:7px;align-items:center}.header-tools .icon-btn{font-size:20px}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:-10px 0 22px}.quick-button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:52px;border-radius:12px;background:#1b5049;border:1px solid #388a7a;color:#e1fff3;font-size:14px;font-weight:800}.quick-button.return-quick{background:#203451;border-color:#456a91;color:#e5f1ff}.advanced-fields{border:1px solid #3b5069;border-radius:12px;padding:10px 12px;margin-top:12px}.advanced-fields summary,.card-details summary{cursor:pointer;font-size:12px;font-weight:700;color:#b7dafa}.advanced-fields>input,.advanced-fields>label{margin-top:10px}.compact-card{padding:13px}.compact-card .pkg-address{font-size:14px;margin-bottom:3px}.package-ident{display:flex;flex-direction:column;gap:2px}.pkg-code{color:#98b8cc;font-size:11px;overflow-wrap:anywhere}.compact-card .pkg-actions{gap:6px;margin-top:9px}.compact-card .pkg-actions>.small-btn{flex:1;min-height:40px}.card-details{border-top:1px solid #35445c;padding-top:9px;margin-top:10px}.card-details summary{font-size:12px}.status.devuelto{background:#234761;color:#cbe8ff}.return-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.return-summary>div{background:#1c2a3e;border:1px solid #364b60;border-radius:13px;text-align:center;padding:12px 7px;display:flex;flex-direction:column}.return-summary strong{font-size:27px;color:#f4fbff;line-height:1.05}.return-summary small{color:#b3c7da;font-size:11px;margin-top:6px}.return-summary>div:nth-child(2) strong{color:#5ee5c4}.return-summary>div:nth-child(3) strong{color:#ffd58e}.return-status{background:#24384b;border:1px solid #40627c;border-radius:12px;padding:11px 13px;margin:10px 0 14px;font-size:13px;font-weight:650;color:#deeffe}.return-panel,.return-close{background:var(--panel);border:1px solid var(--stroke);border-radius:15px;padding:15px;margin:13px 0}.return-panel>label{margin-top:0}.return-panel input{font-size:17px;letter-spacing:.3px;font-weight:650}.return-buttons{display:flex;gap:8px;margin:12px 0 0}.return-buttons .btn{flex:1}.return-match{margin-top:12px;border-radius:11px;padding:10px 12px;background:#274659;border:1px solid #4d6e80;font-size:12px;display:grid;gap:3px}.return-match.ok{background:#1d4e40;color:#b9fbe1;border-color:#3e9a7d}.return-match.warn{background:#504326;color:#fff3cf;border-color:#9b8243}.return-match.error{background:#592d3a;color:#ffe2e7;border-color:#aa5a6a}.return-section-head{display:flex;justify-content:space-between;align-items:center;margin:19px 0 9px}.return-section-head h3{margin:0}.return-section-head span{font-size:12px;color:#d2e3f6}.return-list{display:grid;gap:7px}.return-item{background:#19273a;border:1px solid #32475d;border-radius:11px;display:flex;gap:8px;justify-content:space-between;align-items:center;padding:11px 12px;font-size:12px;overflow-wrap:anywhere}.return-item span:first-child{min-width:0}.return-item small{display:block;font-size:11px;color:#afc4d5;margin-top:3px}.return-item-tag{font-size:11px;color:#ffe1a7;font-weight:700;white-space:nowrap}.return-scanned-detail{margin-top:14px;padding:13px;border:1px solid #39536d;border-radius:12px}.return-scanned-detail summary{cursor:pointer;font-size:13px;font-weight:750}.return-scanned-detail .return-list{margin-top:12px}.return-close>.btn{margin:6px 0}.camera-area{background:#0b1725;border:1px solid #49637e;border-radius:12px;margin-top:12px;padding:10px}.camera-area video{width:100%;max-height:280px;border-radius:8px;object-fit:cover}.camera-area p{font-size:12px;margin:5px 0 9px}@media(max-width:380px){.return-buttons{flex-direction:column}.quick-button{font-size:12px}}
