*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f4f5f7;color:#1c2230}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center}.login-card{background:#fff;padding:2.5rem;border-radius:12px;box-shadow:0 4px 24px #00000014;width:320px}.login-card h1{font-size:1.4rem;margin-bottom:1.5rem;text-align:center}.login-card input{width:100%;padding:.65rem .75rem;margin-bottom:1rem;border:1px solid #d7dbe3;border-radius:8px;font-size:.95rem}.login-card button{width:100%;padding:.7rem;background:#2f6fed;color:#fff;border:none;border-radius:8px;font-size:.95rem;cursor:pointer}.login-card button:disabled{opacity:.6;cursor:default}.error{color:#d33;font-size:.85rem;margin-bottom:1rem;text-align:center}.topbar{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:1rem 2rem;box-shadow:0 1px 4px #0000000f}.topbar h1{font-size:1.2rem;margin:0}.topbar button{background:none;border:1px solid #d7dbe3;border-radius:8px;padding:.4rem .9rem;cursor:pointer}.dashboard{padding:2rem;max-width:1100px;margin:0 auto}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:2rem}.card{background:#fff;padding:1.2rem;border-radius:10px;box-shadow:0 1px 4px #0000000f}.card .value{font-size:1.8rem;font-weight:700}.card .label{color:#6b7280;font-size:.85rem}section{background:#fff;border-radius:10px;padding:1.2rem 1.5rem;margin-bottom:1.5rem;box-shadow:0 1px 4px #0000000f}section h2{font-size:1rem;margin:0 0 1rem}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid #eef0f3}th{color:#6b7280;font-weight:600;font-size:.8rem;text-transform:uppercase}.empty{color:#9aa0ab;padding:1rem 0;font-size:.9rem}.badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.75rem;background:#e8f0fe;color:#2f6fed}.tabs{display:flex;gap:.5rem}.tab{background:none;border:none;padding:.4rem .8rem;border-radius:8px;cursor:pointer;font-size:.9rem;color:#6b7280}.tab.active{background:#e8f0fe;color:#2f6fed;font-weight:600}.row{display:flex;gap:1.5rem;flex-wrap:wrap}.row label{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;color:#6b7280}.row input,.row select,table select{padding:.4rem .6rem;border:1px solid #d7dbe3;border-radius:6px;font-size:.9rem}.primary-btn{background:#2f6fed;color:#fff;border:none;border-radius:8px;padding:.7rem 1.5rem;font-size:.95rem;cursor:pointer;margin-bottom:1.5rem}.primary-btn:disabled{opacity:.6;cursor:default}.ruta-card{border:1px solid #eef0f3;border-radius:10px;padding:1rem;margin-bottom:1rem}.ruta-header{margin-bottom:.75rem;font-size:.95rem}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll table{min-width:480px}@media (max-width: 768px){.login-card{width:90vw;max-width:340px;padding:1.75rem}.topbar{flex-wrap:wrap;padding:.75rem 1rem;gap:.5rem}.topbar>div:first-child{flex-wrap:wrap;gap:.5rem!important;width:100%}.topbar h1{font-size:1.05rem;width:100%}.tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%;padding-bottom:.25rem}.tab{flex:0 0 auto;white-space:nowrap;font-size:.85rem;padding:.4rem .65rem}.dashboard{padding:1rem}.cards{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.6rem}section{padding:1rem}.row{flex-direction:column;gap:.75rem}.row label{width:100%}.row input,.row select,table select,table input{width:100%;box-sizing:border-box}table{font-size:.82rem}th,td{padding:.4rem}.primary-btn{width:100%}.ruta-header{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center}}@media (max-width: 480px){.cards{grid-template-columns:1fr 1fr}.topbar button{font-size:.85rem;padding:.35rem .7rem}}.parada-cards{display:flex;flex-direction:column;gap:.75rem}.parada-card-orden{flex:0 0 auto;width:2rem;height:2rem;border-radius:50%;background:#e8f0fe;color:#2f6fed;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:.9rem}.parada-card-info{flex:1;min-width:0}.parada-card-pedido{font-weight:600;font-size:.95rem}.parada-card-cliente{font-size:.85rem;color:#374151}.parada-card-direccion{font-size:.8rem;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000}.modal-content{background:#fff;border-radius:12px;padding:1.25rem;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0003}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.modal-header button{background:none;border:1px solid #d7dbe3;border-radius:6px;width:2rem;height:2rem;cursor:pointer;flex:0 0 auto}.resultado-toggle{display:flex;gap:.6rem;margin-bottom:1rem}.resultado-btn{flex:1;padding:.75rem;border-radius:8px;border:2px solid #d7dbe3;background:#fff;font-size:.95rem;font-weight:600;cursor:pointer}.resultado-btn.exitosa.activo{border-color:#1a9d5c;background:#e6f7ee;color:#1a9d5c}.resultado-btn.fallida.activo{border-color:#d33;background:#fdeaea;color:#d33}@media (max-width: 480px){.modal-content{padding:1rem}}.parada-card{display:flex;flex-direction:column;background:#fff;border:1px solid #eef0f3;border-radius:10px;overflow:hidden;padding:0;transition:box-shadow .15s,border-color .15s}.parada-card:has(.parada-card-main:hover:not(:disabled)){border-color:#2f6fed;box-shadow:0 2px 10px #2f6fed1f}.parada-card.completada{opacity:.85}.parada-card-main{display:flex;align-items:center;gap:1rem;width:100%;text-align:left;background:none;border:none;padding:.9rem 1rem;cursor:pointer;font:inherit;color:inherit;transition:background .15s}.parada-card-main:hover:not(:disabled){background:#f7f9fd}.parada-card-main:disabled{cursor:default}.parada-card-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem 1rem .75rem;border-top:1px solid #f4f5f7}.link-btn{background:none;border:none;color:#b45309;font-size:.82rem;cursor:pointer;padding:.2rem 0;font-weight:600}.link-btn:hover{text-decoration:underline}.badge-warning{background:#fef3c7;color:#b45309}
