:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17202a;background:#f5f7f8;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}input,select,textarea{width:100%;border:1px solid #cbd5d8;border-radius:8px;padding:.75rem .85rem;background:#fff;color:#17202a}textarea{min-height:96px;resize:vertical}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}table{width:100%;border-collapse:collapse}th,td{padding:.85rem;text-align:left;border-bottom:1px solid #e1e7ea;vertical-align:middle}th{color:#55646c;font-size:.78rem;text-transform:uppercase;letter-spacing:0}.login-shell{min-height:100vh;display:grid;place-items:center;padding:1rem;background:linear-gradient(#0f766ee0,#14532dd1),url(/images/camioneta-proelqro.webp) center / cover}.login-panel{width:min(100%,420px);display:grid;gap:1rem;border-radius:8px;padding:1.4rem;background:#fff;box-shadow:0 24px 70px #00000038}.login-panel h1,.page-heading h1{margin:0;letter-spacing:0}.eyebrow{margin:0 0 .25rem;color:#0f766e;font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.muted{color:#64747d}.alert,.form-error{display:flex;gap:.55rem;align-items:center;border-radius:8px;padding:.75rem}.alert{background:#fff7ed;color:#9a3412}.form-error{background:#fef2f2;color:#991b1b}.form-success{display:flex;gap:.55rem;align-items:center;border-radius:8px;padding:.75rem;background:#f0fdf4;color:#15803d}.primary-button,.ghost-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:8px;border:0;padding:.72rem 1rem;font-weight:700}.primary-button{background:#0f766e;color:#fff}.ghost-button{border:1px solid #cbd5d8;background:#fff;color:#17202a}.danger-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:8px;border:1px solid #fecaca;padding:.72rem 1rem;background:#fee2e2;color:#991b1b;font-weight:700}.success-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:8px;border:1px solid #bbf7d0;padding:.72rem 1rem;background:#dcfce7;color:#15803d;font-weight:700}.row-inactiva{background-color:#f3f4f6;opacity:.75;color:#6b7280}.row-inactiva td{color:#64748b}.row-inactiva select{background-color:#f8fafc;color:#64748b;border-color:#e2e8f0}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:1.2rem;padding:1rem;background:#102a2a;color:#fff}.brand{display:flex;align-items:center;gap:.75rem;min-height:56px}.brand-mark{width:42px;height:42px;display:block;flex:0 0 auto;border-radius:8px;object-fit:cover}.brand div{display:grid;gap:.1rem}.brand span:last-child,.topbar span{color:#b8c8c5;font-size:.82rem}.nav-list{display:grid;gap:.35rem}.nav-list a{min-height:42px;display:flex;align-items:center;gap:.65rem;border-radius:8px;padding:.65rem .7rem;color:#d9eeea;text-decoration:none}.nav-list a.active,.nav-list a:hover{background:#0f766e;color:#fff}.sidebar-signout{margin-top:auto}.sidebar--open{box-shadow:0 0 40px #00000059}.sidebar-overlay,.mobile-header{display:none}.hamburger{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;padding:0;background:transparent;color:#fff}.mobile-avatar{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border-radius:50%;background:#0f766e;color:#fff;font-size:.9rem;font-weight:800;text-transform:uppercase}.content-shell{min-width:0;padding:1.2rem}.topbar{min-height:64px;display:flex;justify-content:flex-end;align-items:center;margin-bottom:1rem}.topbar div{display:grid;justify-items:end}.page-stack{display:grid;gap:1rem}.two-column{grid-template-columns:minmax(320px,420px) minmax(0,1fr);align-items:start}.list-section{display:grid;gap:1rem}.full-span{grid-column:1 / -1}.page-heading{display:grid;gap:.3rem}.page-heading-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.page-heading-text{display:grid;gap:.3rem}.dashboard-logo{height:8.5rem;width:auto;max-width:200px;object-fit:contain}.page-stack>.page-heading-row{margin-bottom:1.25rem}.table-actions{display:flex;align-items:center;gap:.5rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:1rem;background:#050f0f8c}.modal-panel{width:min(100%,460px);max-height:calc(100vh - 2rem);overflow-y:auto;display:grid;gap:1rem;border-radius:8px;padding:1.2rem;background:#fff;box-shadow:0 24px 70px #0000004d}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.modal-header h3{margin:0}.modal-close{min-height:36px;width:36px;padding:0;font-size:1.25rem;line-height:1}.modal-form{display:grid;gap:.85rem}.modal-form label{display:grid;gap:.35rem}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem}.segmented{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:1px solid #cbd5d8;border-radius:8px;overflow:hidden}.segmented button{min-height:44px;border:0;background:#fff;color:#17202a;font-weight:700}.segmented button.active{background:#0f766e;color:#fff}.panel,.metric-card,.list-item{border:1px solid #e1e7ea;border-radius:8px;background:#fff}.panel{padding:1rem}.panel h2{margin:0 0 .8rem;font-size:1.05rem}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:1rem}.metric-card{display:grid;gap:.55rem;padding:1rem}.metric-card svg{color:#0f766e}.metric-card strong{font-size:2rem}.dashboard-charts-grid{display:grid;grid-template-columns:1.75fr 1fr;gap:1.5rem}.chart-card{border:1px solid #e1e7ea;border-radius:8px;background:#fff;padding:1rem}.chart-card h2{margin:0 0 .8rem;font-size:1.05rem}.chart-card-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.8rem}.chart-card-header h2{margin:0}.segment-toggle{display:inline-flex;border:1px solid #e1e7ea;border-radius:8px;overflow:hidden}.segment-toggle button{border:none;background:#fff;color:#64747d;font-size:.85rem;padding:.4rem .75rem;cursor:pointer;transition:background-color .15s ease,color .15s ease}.segment-toggle button+button{border-left:1px solid #e1e7ea}.segment-toggle button.active{background:#0f766e;color:#fff}.table-wrap{overflow-x:auto;border:1px solid #e1e7ea;border-radius:8px;background:#fff}.filter-bar{display:flex;flex-direction:row;align-items:center;gap:.75rem;margin-bottom:-.5rem;background-color:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:.75rem;width:100%}.search-field{position:relative;flex:2;min-width:220px}.search-field svg{position:absolute;top:50%;left:.85rem;transform:translateY(-50%);color:#64747d;pointer-events:none}.search-field input{width:100%;padding-left:2.5rem;height:2.5rem;border-radius:.5rem;border:1px solid #e5e7eb}.filter-bar select{flex:1;min-width:160px;height:2.5rem;border-radius:.5rem;border:1px solid #e5e7eb;padding:0 .75rem;background-color:#fff}@media(max-width:640px){.filter-bar{flex-direction:column;align-items:stretch;gap:.5rem}.search-field,.filter-bar select{width:100%;min-width:0;flex:1 1 auto}}.table-wrap table{min-width:max-content}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.vale-info div{display:grid;gap:.15rem}.vale-info dt{color:#64747d;font-size:.72rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.vale-info dd{margin:0;font-size:.95rem}.list-stack{display:grid;gap:.6rem}.list-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.8rem}.list-item div{min-width:0;display:grid;gap:.15rem}.list-item span{color:#64747d}.status-badge{white-space:nowrap;border-radius:999px;padding:.28rem .6rem;background:#e8edf0;color:#33434c;font-size:.78rem;font-weight:800;text-transform:capitalize}.status-disponible,.status-activo,.status-finalizado{background:#dcfce7;color:#166534}.status-en-campo,.status-creado,.status-inspeccion-salida,.status-inspeccion-regreso{background:#fef3c7;color:#92400e}.status-fuera-de-servicio,.status-inactiva,.status-inactivo,.status-cancelado{background:#fee2e2;color:#991b1b}.check-group{display:grid;gap:.55rem;border:1px solid #e1e7ea;border-radius:8px;margin:0;padding:.85rem}.check-row{display:flex;align-items:flex-start;gap:.6rem;line-height:1.35}.check-row input{width:22px;height:22px;flex:0 0 22px}.reminder-box{display:grid;gap:.45rem;border-left:4px solid #facc15;padding:.8rem;background:#fffbea;color:#4b5563}.form-section-title{margin:0;font-size:1rem}.field-label{display:grid;gap:.35rem}.field-label>span{color:#64747d;font-size:.72rem;font-weight:800;text-transform:uppercase}.field-group{display:grid;gap:.5rem}.camera-step{max-width:560px;display:grid;gap:1rem}.step-header{display:grid;gap:.2rem}.step-header span{color:#64747d}.photo-guide{aspect-ratio:4 / 3;display:grid;place-items:center;gap:.75rem;border:2px dashed #92a5ac;border-radius:8px;padding:1rem;text-align:center;background:#f8fafc}.file-button input{display:none}.progress-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.progress-list span{min-height:34px;display:flex;align-items:center;gap:.35rem;border-radius:8px;padding:.45rem .6rem;background:#eef3f4;color:#64747d;font-size:.88rem}.progress-list .done{background:#dcfce7;color:#166534}.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.photo-slot{position:relative;display:grid;align-content:start;gap:.25rem;min-height:130px;border:2px dashed #92a5ac;border-radius:10px;padding:.75rem;cursor:pointer;overflow:hidden;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}.photo-slot:hover{border-color:#0f766e;box-shadow:0 2px 8px #0f766e14}.photo-slot--has-image{border-style:solid;border-color:#0f766e}.photo-slot-actions{display:flex;gap:.4rem;margin-top:.4rem}.photo-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;padding:.45rem .65rem;font-size:.82rem;font-weight:600;border-radius:6px;border:1px solid #0f766e;background:#0f766e;color:#fff;cursor:pointer;transition:all .15s ease;flex:1}.photo-action-btn:hover{background:#115e59}.photo-slot-icon{color:#0f766e}.photo-slot-preview-wrapper{position:relative;width:100%;aspect-ratio:4 / 3;max-height:160px;background:#0f172a;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center;margin-top:.35rem}.photo-slot-preview-wrapper img,.photo-slot img{width:100%;height:100%;object-fit:contain;display:block}.photo-slot-remove{position:absolute;top:6px;right:6px;z-index:10;width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:#dc2626e6;color:#fff;cursor:pointer;box-shadow:0 2px 6px #0000004d;transition:transform .15s ease,background .15s ease}.photo-slot-remove:hover{background:#ef4444;transform:scale(1.1)}.historial-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.85rem;margin:.75rem 0 1.25rem}.historial-photo{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:4 / 3;background:#0f172a;border:1px solid #334155;border-radius:10px;overflow:hidden;padding:0;cursor:pointer;color:#94a3b8;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}button.historial-photo:hover{transform:translateY(-2px);border-color:#0f766e;box-shadow:0 6px 16px #00000059}.historial-photo img{width:100%;height:100%;object-fit:contain;display:block}.historial-photo-label{position:absolute;bottom:0;left:0;right:0;background:#0f172ad9;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);color:#f8fafc;font-size:.75rem;font-weight:600;padding:.35rem .5rem;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-top:1px solid rgba(255,255,255,.08)}.ios-install-banner{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);width:calc(100% - 2rem);max-width:440px;z-index:50;animation:slideUpFade .35s cubic-bezier(.16,1,.3,1) forwards}@keyframes slideUpFade{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}.ios-install-card{position:relative;background:#fff;border:1px solid #ccfbf1;border-radius:14px;padding:1.15rem;box-shadow:0 10px 25px -5px #0f766e33,0 8px 10px -6px #0f766e1a}.ios-install-close-btn{position:absolute;top:10px;right:10px;background:transparent;border:0;color:#64748b;cursor:pointer;padding:.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center}.ios-install-close-btn:hover{background:#f1f5f9;color:#1e293b}.ios-install-header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.85rem}.ios-install-icon-badge{width:36px;height:36px;border-radius:8px;background:#f0fdfa;color:#0f766e;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ios-install-title{margin:0;font-size:.95rem;font-weight:700;color:#0f172a}.ios-install-subtitle{margin:.2rem 0 0;font-size:.8rem;color:#64748b;line-height:1.35}.ios-install-steps{list-style:none;padding:0;margin:0 0 1rem;display:flex;flex-direction:column;gap:.5rem}.ios-install-steps li{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:#334155;background:#f8fafc;padding:.45rem .65rem;border-radius:6px;border:1px solid #e2e8f0}.ios-step-icon{display:inline-flex;align-items:center;justify-content:center;color:#0f766e}.ios-install-footer{display:flex;justify-content:flex-end}.ios-install-ack-btn{padding:.45rem 1.1rem;font-size:.85rem;width:100%}.photo-loading-spinner{width:34px;height:34px;border:3px solid rgba(15,118,110,.25);border-top-color:#0f766e;border-radius:50%;animation:spin .9s linear infinite}.historial-item{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer}.historial-item:hover{border-color:#0f766e;background:#f0fdfa}.historial-detail{display:grid;gap:1rem}.historial-detail h3{margin:0}.historial-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}button.historial-photo{width:100%;padding:0;font:inherit;color:inherit;text-align:left;cursor:zoom-in}.historial-photo{position:relative;aspect-ratio:4 / 3;display:grid;place-items:center;gap:.3rem;margin:0;border:1px solid #e1e7ea;border-radius:8px;background:#f8fafc;overflow:hidden;color:#64747d}.historial-photo img{width:100%;height:100%;object-fit:cover;display:block}.historial-photo-label{position:absolute;left:0;right:0;bottom:0;padding:.25rem .5rem;background:#102a2abf;color:#fff;font-size:.75rem;font-weight:800;text-transform:uppercase}.screen-state{min-height:160px;display:grid;place-items:center;color:#64747d}.loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:1rem;background:#050f0f99;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.loading-card{display:grid;justify-items:center;gap:.75rem;max-width:340px;padding:1.4rem;border-radius:12px;background:#102a2a;color:#fff;text-align:center;box-shadow:0 24px 70px #0006}.loading-card p{margin:0;line-height:1.4}.loading-progress{color:#99f6e4;font-weight:700}.spinner{width:46px;height:46px;border:4px solid rgba(255,255,255,.22);border-top-color:#2dd4bf;border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.lightbox-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;background:#050f0ff0}.lightbox-stage{position:relative;width:min(94vw,1000px);height:min(84vh,720px);display:grid;place-items:center;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none}.lightbox-stage.can-pan{cursor:grab}.lightbox-stage.is-grabbing{cursor:grabbing}.lightbox-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;display:block;will-change:transform;transition:transform .15s ease-out;pointer-events:none}.lightbox-image.is-dragging{transition:none}.lightbox-toolbar{position:absolute;top:1rem;right:1rem;display:flex;gap:.5rem;padding:.4rem;border-radius:10px;background:#102a2ad9;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.lightbox-btn{width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:8px;background:#ffffff14;color:#fff;cursor:pointer}.lightbox-btn:disabled{opacity:.35;cursor:default}.lightbox-btn:hover:not(:disabled){background:#ffffff2e}.lightbox-close{background:#dc2626bf}.lightbox-caption{position:absolute;left:50%;bottom:1rem;transform:translate(-50%);max-width:90%;padding:.4rem .9rem;border-radius:8px;background:#102a2ad9;color:#fff;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}@media(max-width:900px){.two-column,.metric-grid,.dashboard-charts-grid{grid-template-columns:1fr}}.archive-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,170px)) minmax(180px,1fr);gap:.75rem;align-items:end}.archive-toolbar .archive-field{display:grid;gap:.3rem}.archive-toolbar .archive-field span{color:#64747d;font-size:.72rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.migration-bar-track{width:100%;height:12px;border-radius:999px;background:#fff3;overflow:hidden}.migration-bar-fill{height:100%;border-radius:999px;background:#2dd4bf;transition:width .25s ease}.migration-status{color:#99f6e4;font-weight:700;font-size:.9rem}@media(max-width:767px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;top:0;left:0;z-index:50;height:100vh;width:280px;transform:translate(-100%);transition:transform .3s ease-in-out}.sidebar--open{transform:translate(0)}.sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:block;background:#00000080}.mobile-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:.75rem;min-height:60px;margin:-.8rem -.8rem 1rem;padding:0 .8rem;background:#102a2a;color:#fff}.mobile-header .brand{flex:1;min-height:0}.topbar{display:none}.content-shell{padding:.8rem}.form-grid,.photo-grid,.progress-list,.archive-toolbar{grid-template-columns:1fr}.list-item{align-items:flex-start;flex-direction:column}}
