:root{--color-bg:#f3f4f7;--color-surface:#fff;--color-surface-alt:#f8f9fb;--color-border:#e4e6eb;--color-text:#171a21;--color-text-muted:#6b7280;--color-text-faint:#9aa1ac;--color-primary:#0f172a;--color-primary-2:#1e293b;--color-accent:#2563eb;--color-accent-hover:#1d4ed8;--color-accent-soft:#eef2ff;--color-success:#16a34a;--color-success-soft:#dcfce7;--color-warning:#d97706;--color-warning-soft:#fef3c7;--color-danger:#dc2626;--color-danger-soft:#fee2e2;--color-info:#2563eb;--color-info-soft:#dbeafe;--radius-sm:8px;--radius:12px;--radius-lg:16px;--shadow-sm:0 1px 2px #0f172a0f;--shadow-md:0 6px 16px #0f172a14;--shadow-lg:0 16px 40px #0f172a29;--sidebar-w:252px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}html,body{overflow-x:hidden}body{background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;margin:0}img,video{max-width:100%;height:auto}h1{letter-spacing:-.01em;margin:0 0 .25rem;font-size:1.5rem;font-weight:700}h2{letter-spacing:-.01em;margin:0 0 .85rem;font-size:1.05rem;font-weight:700}.page-heading{margin-bottom:1.5rem}.page-subtitle{color:var(--color-text-muted);margin:0;font-size:.9rem}.page-subtitle-center{text-align:center;margin-bottom:1.25rem}.page-loading-inline{color:var(--color-text-muted)}.app-shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);background:var(--color-primary);color:#e2e8f0;z-index:40;flex-direction:column;flex-shrink:0;transition:transform .22s;display:flex;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar-open{transform:translate(0)}@media (width>=900px){.sidebar{height:100vh;position:sticky;top:0;transform:none}.app-main{margin-left:0}}.sidebar-brand{color:#fff;border-bottom:1px solid #ffffff14;align-items:center;gap:.6rem;padding:1.25rem 1.1rem;font-size:1.02rem;font-weight:800;display:flex}.brand-mark{background:var(--color-accent);color:#fff;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.brand-name{flex:1}.sidebar-close{color:#cbd5e1;cursor:pointer;background:0 0;border:none;padding:.25rem;display:none}.sidebar-nav{flex-direction:column;flex:1;gap:.15rem;padding:.9rem .7rem;display:flex;overflow-y:auto}.sidebar-section-label{text-transform:uppercase;letter-spacing:.06em;color:#64748b;padding:.9rem .6rem .35rem;font-size:.7rem;font-weight:700}.sidebar-section-label:first-child{padding-top:.3rem}.sidebar-link{border-radius:var(--radius-sm);color:#cbd5e1;align-items:center;gap:.7rem;padding:.55rem .7rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:background-color .12s,color .12s;display:flex}.sidebar-link:hover{color:#fff;background:#ffffff0f}.sidebar-link.active{background:var(--color-accent);color:#fff;font-weight:600}.sidebar-link-icon{opacity:.9;flex-shrink:0}.sidebar-footer{border-top:1px solid #ffffff14;flex-direction:column;gap:.6rem;padding:.9rem;display:flex}.user-chip{align-items:center;gap:.6rem;display:flex}.user-avatar{background:var(--color-accent-soft);width:36px;height:36px;color:var(--color-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:inline-flex}.user-avatar-sm{width:30px;height:30px;font-size:.72rem}.user-chip-text{flex-direction:column;min-width:0;font-size:.82rem;display:flex}.user-chip-text strong{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:.86rem;overflow:hidden}.user-chip-text span{color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar-overlay{z-index:35;background:#0f172a80;position:fixed;inset:0}@media (width>=900px){.sidebar-overlay{display:none}}.app-main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:20;align-items:center;gap:.75rem;padding:.75rem 1rem;display:none;position:sticky;top:0}.topbar-menu-btn{color:var(--color-text);cursor:pointer;background:0 0;border:none;padding:.3rem;display:inline-flex}.topbar-brand{flex:1;align-items:center;gap:.4rem;font-weight:700;display:flex}.topbar-brand-icon{color:var(--color-accent)}@media (width<=899px){.topbar{display:flex}.sidebar-close{display:inline-flex}}.app-content{flex:1;width:100%;max-width:1120px;margin:0 auto;padding:1.5rem}.page-loading{text-align:center;color:var(--color-text-muted);padding:3rem 1rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:1.25rem;padding:1.35rem}.card-elevated{box-shadow:var(--shadow-md)}.card-narrow{max-width:420px;margin-left:auto;margin-right:auto}.card-center{text-align:center}label{color:var(--color-text-muted);cursor:default;margin:.85rem 0 .3rem;font-size:.82rem;font-weight:600;display:block}.sidebar-section-label,.label-selector>span,.ai-metric-label,.evidence-label,.stat-label,.info-grid dt,.simple-list li span:first-child{cursor:default}input,select,textarea{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);width:100%;color:var(--color-text);background:#fff;padding:.62rem .8rem;font-family:inherit;font-size:.95rem;transition:border-color .12s,box-shadow .12s}input:focus,select:focus,textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);outline:none}input::placeholder{color:var(--color-text-faint)}.order-number-input{text-align:center;letter-spacing:.08em;padding:1rem;font-size:1.6rem;font-weight:700}.form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:.75rem;display:grid}.btn{border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:.45rem;padding:.62rem 1.15rem;font-family:inherit;font-size:.9rem;font-weight:600;text-decoration:none;transition:background-color .14s,transform 50ms,box-shadow .14s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:active:not(:disabled){transform:scale(.98)}.btn svg{flex-shrink:0}.btn-primary{background:var(--color-accent);color:#fff;box-shadow:0 1px 2px #2563eb4d}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover)}.btn-secondary{background:var(--color-surface-alt);color:var(--color-text);border:1.5px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:#eef0f3}.btn-success{background:var(--color-success);color:#fff}.btn-success:hover:not(:disabled){background:#15803d}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-ghost{color:#cbd5e1;background:#ffffff0f}.btn-ghost:hover:not(:disabled){color:#fff;background:#ffffff1f}.btn-link{color:var(--color-accent);background:0 0;padding:.3rem .4rem;font-weight:600}.btn-danger-text{color:var(--color-danger)}.btn-block{width:100%}.btn-large{padding:.85rem;font-size:1rem}.button-row{flex-wrap:wrap;gap:.75rem;margin-top:.9rem;display:flex}.alert{border-radius:var(--radius-sm);margin-bottom:.85rem;padding:.65rem .9rem;font-size:.87rem;font-weight:500}.alert-error{background:var(--color-danger-soft);color:#991b1b}.alert-info{background:var(--color-info-soft);color:#1e40af}.alert-success{background:var(--color-success-soft);color:#166534}.login-page{grid-template-columns:1.1fr 1fr;min-height:100vh;display:grid}@media (width<=860px){.login-page{grid-template-columns:1fr}}.login-hero{background:radial-gradient(circle at 20% 20%, #1e293b, var(--color-primary) 60%);color:#fff;flex-direction:column;justify-content:center;gap:1rem;padding:4rem 3.5rem;display:flex}@media (width<=860px){.login-hero{padding:2.5rem 1.75rem}}.login-hero-mark{background:var(--color-accent);border-radius:14px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:.5rem;display:inline-flex}.login-hero-mark svg{width:30px;height:30px}.login-hero h1{margin-bottom:.4rem;font-size:2.1rem}.login-hero p{color:#94a3b8;margin:0 0 1.5rem;font-size:1.05rem}.login-hero-list{flex-direction:column;gap:.85rem;margin:0;padding:0;list-style:none;display:flex}.login-hero-list li{color:#cbd5e1;align-items:center;gap:.65rem;font-size:.92rem;display:flex}.login-hero-list svg{color:#4ade80;flex-shrink:0}.login-form-panel{background:var(--color-bg);justify-content:center;align-items:center;padding:2rem;display:flex}.login-card{border-radius:var(--radius-lg);width:100%;max-width:380px;box-shadow:var(--shadow-lg);background:#fff;padding:2.25rem}.login-card-mark{display:none}@media (width<=860px){.login-card-mark{background:var(--color-accent);color:#fff;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:1rem;display:inline-flex}}.login-card h2{margin-bottom:.3rem;font-size:1.3rem}.login-subtitle{color:var(--color-text-muted);margin:0 0 .5rem;font-size:.85rem}.new-inspection-page{justify-content:center;align-items:center;min-height:65vh;display:flex}.new-inspection-mark{background:var(--color-accent-soft);width:52px;height:52px;color:var(--color-accent);border-radius:14px;justify-content:center;align-items:center;margin:0 auto 1rem;display:inline-flex}.inspection-header{align-items:center;gap:.75rem;display:flex}.inspection-meta{color:var(--color-text-muted);margin-top:-.5rem;margin-bottom:1.25rem;font-size:.85rem}.status-badge{text-transform:uppercase;letter-spacing:.02em;border-radius:999px;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.72rem;font-weight:700;display:inline-flex}.status-badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.status-pendiente{background:var(--color-warning-soft);color:#92400e}.status-inspeccionado{background:var(--color-info-soft);color:#1e40af}.status-despachado{background:var(--color-success-soft);color:#166534}.status-cancelado{background:var(--color-danger-soft);color:#991b1b}.label-selector{margin:1.1rem 0}.label-selector>span{color:var(--color-text-muted);margin-bottom:.45rem;font-size:.82rem;font-weight:600;display:block}.label-chips{flex-wrap:wrap;gap:.5rem;display:flex}.chip{border:1.5px solid var(--color-border);cursor:pointer;background:#fff;border-radius:999px;padding:.4rem .85rem;font-size:.83rem;font-weight:500;transition:all .12s}.chip:hover{border-color:var(--color-accent)}.chip-active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.camera-capture{margin:1.1rem 0}.camera-preview{border-radius:var(--radius-lg);aspect-ratio:4/3;max-width:480px;box-shadow:var(--shadow-md);background:#05070d;position:relative;overflow:hidden}.camera-preview video{object-fit:cover;width:100%;height:100%}.recording-indicator{color:#fff;background:#dc2626eb;border-radius:999px;align-items:center;gap:.35rem;padding:.25rem .6rem;font-size:.72rem;font-weight:700;display:flex;position:absolute;top:.7rem;left:.7rem}.recording-indicator:before{content:"";background:#fff;border-radius:50%;width:6px;height:6px;animation:1s infinite pulse-rec}@keyframes pulse-rec{0%,to{opacity:1}50%{opacity:.3}}.camera-select{max-width:480px;margin-top:.7rem}.camera-actions{grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;max-width:480px;margin-top:1.1rem;display:grid}.camera-actions-spacer{width:52px}.camera-btn{cursor:pointer;border:none;justify-content:center;align-items:center;transition:transform .1s,background-color .12s;display:inline-flex}.camera-btn:disabled{opacity:.4;cursor:not-allowed}.camera-btn-shutter{border:4px solid var(--color-accent);background:#fff;border-radius:50%;justify-self:center;width:68px;height:68px}.camera-btn-shutter:active:not(:disabled){transform:scale(.93)}.camera-btn-video{background:var(--color-surface-alt);border:1.5px solid var(--color-border);border-radius:50%;justify-self:end;width:52px;height:52px}.camera-btn-video .camera-btn-dot{background:var(--color-danger);border-radius:50%;width:20px;height:20px}.camera-btn-video.camera-btn-recording{background:var(--color-danger);border-color:var(--color-danger)}.camera-btn-video .camera-btn-square{background:#fff;border-radius:3px;width:16px;height:16px}.camera-actions-labels{max-width:480px;color:var(--color-text-muted);text-align:center;grid-template-columns:1fr auto 1fr;gap:1rem;margin-top:.4rem;font-size:.7rem;display:grid}.camera-actions-labels span:first-child{text-align:right;padding-right:.4rem}.camera-actions-labels span:nth-child(2){min-width:68px}.hint-text{color:var(--color-text-muted);text-align:center;margin-top:.6rem;font-size:.8rem}.ai-status-badge{text-transform:uppercase;letter-spacing:.02em;border-radius:999px;align-items:center;gap:.35rem;padding:.2rem .55rem;font-size:.68rem;font-weight:700;display:inline-flex}.ai-status-badge svg{flex-shrink:0;width:12px;height:12px}.ai-status-pass{background:var(--color-success-soft);color:#166534}.ai-status-review{background:var(--color-warning-soft);color:#92400e}.ai-status-warning{background:var(--color-danger-soft);color:#991b1b}.ai-status-analyzing{background:var(--color-info-soft);color:#1e40af}.ai-status-unavailable{color:#4b5563;background:#e5e7eb}.ai-panel{border-radius:var(--radius-sm);background:var(--color-surface-alt);border:1px solid var(--color-border);margin-top:.6rem;padding:.75rem}.ai-panel-review{background:var(--color-warning-soft);border-color:#fcd34d}.ai-panel-warning{background:var(--color-danger-soft);border-color:#fca5a5}.ai-panel-title{align-items:center;gap:.4rem;margin-bottom:.3rem;font-size:.85rem;font-weight:700;display:flex}.ai-panel-note{color:var(--color-text-muted);margin-bottom:.5rem;font-size:.82rem}.ai-confidence-bar{color:var(--color-text-muted);align-items:center;gap:.5rem;margin-bottom:.35rem;font-size:.75rem;display:flex}.ai-confidence-track{background:#e5e7eb;border-radius:999px;flex:1;height:6px;overflow:hidden}.ai-confidence-fill{background:var(--color-accent);border-radius:999px;height:100%}.ai-review-actions{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.ai-metric-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.6rem;margin-top:.75rem;display:grid}.ai-metric{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.6rem .75rem}.ai-metric-label{color:var(--color-text-muted);margin-bottom:.2rem;font-size:.72rem;display:block}.ai-metric-value{font-size:.9rem;font-weight:700}.evidence-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin:1rem 0;display:grid}.evidence-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.evidence-card img,.evidence-card video{aspect-ratio:4/3;object-fit:cover;background:#111;width:100%;display:block}.evidence-card.evidence-deleted{opacity:.55}.evidence-meta{color:var(--color-text-muted);flex-direction:column;gap:.2rem;padding:.7rem .85rem;font-size:.78rem;display:flex}.evidence-label{color:var(--color-text);font-size:.85rem;font-weight:700}.evidence-hash{font-family:SFMono-Regular,Consolas,monospace}.evidence-deleted-tag{color:var(--color-danger);font-weight:600}.evidence-card-body{padding:0 .85rem .85rem}.inspection-done-page{justify-content:center;align-items:center;min-height:60vh;display:flex}.order-number-display{font-size:1.4rem;font-weight:700}.evidence-summary{color:var(--color-text-muted)}.done-icon{background:var(--color-success-soft);width:60px;height:60px;color:var(--color-success);border-radius:50%;justify-content:center;align-items:center;margin:0 auto .75rem;display:inline-flex}.filters-bar{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1.25rem;display:flex}.filters-bar input,.filters-bar select{width:auto;min-width:160px}.history-list{flex-direction:column;gap:.75rem;display:flex}.history-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:center;gap:1rem;padding:1.1rem 1.25rem;transition:box-shadow .14s,border-color .14s;display:flex}.history-item:hover{box-shadow:var(--shadow-md);border-color:#d5d8de}.history-item-main{align-items:center;gap:.6rem;min-width:160px;display:flex}.history-item-meta{color:var(--color-text-muted);flex-wrap:wrap;flex:1;gap:1rem;font-size:.82rem;display:flex}.meta-icon-item{align-items:center;gap:.3rem;display:inline-flex}.meta-icon-item svg{flex-shrink:0;width:14px;height:14px}.empty-state{color:var(--color-text-faint);padding:1rem 0;font-style:italic}.info-grid{grid-template-columns:max-content 1fr;gap:.5rem 1.25rem;display:grid}.info-grid dt{color:var(--color-text-muted);font-size:.83rem}.info-grid dd{margin:0;font-weight:600}.audit-timeline{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.audit-timeline li{flex-wrap:wrap;align-items:baseline;gap:.4rem .7rem;font-size:.85rem;display:flex}.audit-time{color:var(--color-text-faint);flex-shrink:0;min-width:70px;font-family:SFMono-Regular,Consolas,monospace;font-size:.78rem}.audit-desc{overflow-wrap:break-word;flex:200px;min-width:0}.audit-user{color:var(--color-text-muted)}.stat-tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.stat-tile{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.25rem}.stat-icon{border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;margin-bottom:.6rem;display:inline-flex}.stat-icon-neutral{color:var(--color-text-muted);background:#eef0f3}.stat-icon-info{background:var(--color-info-soft);color:var(--color-info)}.stat-icon-warning{background:var(--color-warning-soft);color:var(--color-warning)}.stat-icon-success{background:var(--color-success-soft);color:var(--color-success)}.stat-value{color:var(--color-text);letter-spacing:-.02em;font-size:1.9rem;font-weight:800;display:block}.stat-label{color:var(--color-text-muted);margin-top:.15rem;font-size:.82rem;display:block}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;display:grid}.bar-chart{flex-direction:column;gap:.55rem;display:flex}.bar-row{grid-template-columns:70px 1fr 30px;align-items:center;gap:.6rem;font-size:.8rem;display:grid}.bar-track{background:#eef0f3;border-radius:6px;height:10px;overflow:hidden}.bar-fill{background:var(--color-accent);border-radius:6px;height:100%}.simple-list{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.simple-list li{border-bottom:1px solid var(--color-border);justify-content:space-between;padding-bottom:.45rem;font-size:.9rem;display:flex}.simple-list li:last-child{border-bottom:none;padding-bottom:0}.data-table{border-collapse:collapse;width:100%;font-size:.87rem}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:.65rem .7rem}.data-table th{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.76rem;font-weight:700}.data-table tbody tr:hover{background:var(--color-surface-alt)}.table-actions{flex-wrap:wrap;gap:.5rem;display:flex}@media (width<=720px){.data-table thead{display:none}.data-table,.data-table tbody,.data-table tr,.data-table td{width:100%;display:block}.data-table tr{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:.75rem;padding:.85rem 1rem}.data-table tr:last-child{margin-bottom:0}.data-table td{border-bottom:1px solid var(--color-border);text-align:right;justify-content:space-between;align-items:center;gap:.75rem;padding:.45rem 0;display:flex}.data-table td:last-child{border-bottom:none;padding-bottom:0}.data-table td:first-child{padding-top:0}.data-table td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted);text-align:left;flex-shrink:0;font-size:.76rem;font-weight:700}.data-table td.table-actions{justify-content:flex-end}.data-table td.table-actions:before{display:none}}@media (width<=640px){.app-content{padding:1rem}.info-grid{grid-template-columns:1fr}.info-grid dt{margin-top:.5rem}.camera-actions-labels span:nth-child(2){min-width:52px}.stat-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.login-card{padding:1.5rem}.login-form-panel{padding:1.25rem}.card{padding:1.1rem}.history-item{padding:1rem}.filters-bar input,.filters-bar select{flex:140px;min-width:0}}
