@font-face{font-family:Inter;src:url(/assets/Inter-Regular-COLGFB3M.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Inter;src:url(/assets/Inter-Medium-CDhBSFyE.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Inter;src:url(/assets/Inter-SemiBold-BAEEcJ4E.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Inter;src:url(/assets/Inter-Bold-BOs3KVhN.woff2) format("woff2");font-weight:700 800;font-display:swap}:root{color-scheme:light;--brand-blue: #007BFF;--brand-blue-soft: #EAF2FF;--brand-navy: #0A1B3D;--brand-cyan: #22C8F0;--paper: #F7F9FC;--panel: #ffffff;--panel-soft: #F4F7FB;--line: #E3E8F0;--line-soft: #EEF2F7;--line-strong: #D7DFEA;--line-dash: #AFC0DA;--ink: #0A1B3D;--ink-body: var(--ink);--ink-secondary: #4A5873;--ink-muted: #6B7A90;--ink-faint: #8592A8;--accent: var(--brand-blue);--accent-ink: #ffffff;--accent-soft: var(--brand-blue-soft);--proc-fg:#007BFF;--proc-bg:#EAF2FF;--cola-fg:#6B7A90;--cola-bg:#EEF2F7;--ok-fg:#1F9D6B;--ok-bg:#E7F6EF;--err-fg:#D93B3B;--err-bg:#FCECEC;--state-glow: none;--urgent-fg: var(--err-fg);--urgent-bg: var(--err-bg);--pending-fg:#B7791F;--pending-bg:#FDF3E1;--confirmed-fg: var(--ok-fg);--confirmed-bg: var(--ok-bg);--new-fg: var(--cola-fg);--new-bg: var(--cola-bg);--info-fg: var(--proc-fg);--info-bg: var(--proc-bg);--navy: var(--brand-navy);--orange: var(--accent);--surface: var(--brand-navy);--surface-ink: #ffffff;--surface-2: var(--line);--surface-ink-dim: var(--ink-faint);--muted: var(--ink-muted);--card: var(--panel);--bg: var(--paper);--ok: var(--ok-fg);--err: var(--err-fg);--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", monospace;--font-fichero: inherit;--radius-sm: 6px;--radius-md: 8px;--radius: 12px;--radius-lg: 12px;--radius-xl: 16px;--shadow: 0 1px 2px rgba(10,27,61,.05);--shadow-lg: 0 1px 2px rgba(10,27,61,.06), 0 12px 40px rgba(10,27,61,.08);--shadow-modal: 0 24px 60px -12px rgba(10,27,61,.28);--app-bg: var(--paper);--logo-claro: block;--logo-oscuro: none;--panel-blur: none;--topbar-h: 68px;--topbar-bg: var(--panel);--nav-ink: var(--ink-muted);--nav-active-ink: var(--ink);--nav-indicator: inset 0 -2px 0 var(--accent);--seg-bg: var(--line-soft);--seg-ink: var(--ink-secondary);--seg-active-bg: var(--panel);--seg-active-shadow: 0 1px 2px rgba(10,27,61,.1);--avatar-bg: var(--accent-soft);--avatar-ink: var(--accent);--motor-on-glow: 0 0 0 3px var(--ok-bg);--motor-off-glow: 0 0 0 3px var(--err-bg);--toggle-ink: var(--ink-muted);--toggle-hover-bg: var(--line-soft);--h1-weight: 600;--h1-tracking: -.02em;--label-tracking: .06em;--th-tracking: .06em;--th-bg: var(--panel);--row-hover: var(--paper);--btn-bg: var(--accent);--btn-bg-hover: #0069DB;--btn-ink: var(--accent-ink);--btn-shadow: none;--btn-shadow-hover: none;--btn-navy-bg: var(--brand-navy);--btn-navy-bg-hover: #142A57;--btn-navy-ink: #ffffff;--btn-navy-border: transparent;--btn-ghost-bg: var(--panel);--btn-ghost-ink: var(--ink);--btn-ghost-border: #C9D4E5;--btn-ghost-bg-hover: var(--panel-soft);--btn-ghost-border-hover: var(--line-dash);--input-bg: var(--panel);--focus-border: var(--accent);--focus-ring: 0 0 0 3px rgba(0,123,255,.14);--dz-border: 1.5px dashed var(--line-dash);--dz-radius: var(--radius-lg);--dz-bg: var(--panel);--dz-bg-hover: #F4F8FF;--dz-border-hover: var(--accent);--dz-node-size: 9px;--dz-node-border: 1.5px solid var(--accent);--dz-node-fill: var(--panel);--dz-node-offset: -5px;--dz-deco: none;--viewer-bg: #0A1B3D;--viewer-canvas: #0d1b2a;--viewer-hint: #9AACCB;--viewer-err: #FF7A7A;--progress-track: var(--line);--progress-fill: var(--accent);--progress-glow: none;--progress-indet: var(--accent);--spinner-track: var(--line);--spinner-head: var(--accent);--sketch-ink: var(--navy);--sketch-accent: #007BFF;--sketch-cota: #e0322f;--sketch-filter: none;--thumb-bg: #fff;--thumb-grid: linear-gradient(#EEF2F8 1px, transparent 1px), linear-gradient(90deg, #EEF2F8 1px, transparent 1px);--thumb-grid-size: 16px 16px;--toast-bg: var(--brand-navy);--toast-ink: #ffffff;--toast-border: transparent;--toast-err-bg: var(--err-fg);--toast-err-ink: #ffffff;--toast-err-border: transparent;--auth-bg: linear-gradient(rgba(175,192,218,.28) 1px, transparent 1px) 0 0 / 120px 120px, linear-gradient(90deg, rgba(175,192,218,.28) 1px, transparent 1px) 0 0 / 120px 120px, linear-gradient(rgba(175,192,218,.14) 1px, transparent 1px) 0 0 / 24px 24px, linear-gradient(90deg, rgba(175,192,218,.14) 1px, transparent 1px) 0 0 / 24px 24px, var(--paper);--auth-card-bg: var(--panel)}:root[data-theme=dark]{color-scheme:dark;--bg-base: #050D22;--bg-glow-1: radial-gradient(900px 520px at 88% -12%, rgba(0,123,255,.24), transparent 60%);--bg-glow-2: radial-gradient(640px 420px at -5% 110%, rgba(34,200,240,.12), transparent 60%);--bg-app: var(--bg-glow-1), var(--bg-glow-2), var(--bg-base);--bg-sidebar: rgba(4,10,28,.55);--bg-panel: rgba(20,60,140,.28);--bg-panel-overlay: rgba(4,10,28,.55);--bg-dropzone: rgba(0,123,255,.05);--bg-nav-active: rgba(34,200,240,.1);--bg-avatar: #12285A;--bg-viewer-grid: linear-gradient(rgba(94,176,255,.14) 1px, transparent 1px), linear-gradient(90deg, rgba(94,176,255,.14) 1px, transparent 1px), linear-gradient(rgba(94,176,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(94,176,255,.05) 1px, transparent 1px);--bg-viewer-grid-size: 160px 160px, 160px 160px, 32px 32px, 32px 32px;--border-subtle: rgba(94,176,255,.12);--border-default: rgba(94,176,255,.24);--border-strong: rgba(94,176,255,.35);--border-frame: rgba(94,176,255,.18);--border-error: #4A2338;--text-primary: #FFFFFF;--text-body: #E8EEF8;--text-secondary: #9AACCB;--text-muted: #5D7299;--text-link: #5EB0FF;--brand-blue: #007BFF;--accent-cyan: #22C8F0;--accent-cyan-light: #9FE6FF;--accent-azure: #00A6F2;--btn-primary-bg: linear-gradient(135deg, #007BFF, #00A6F2);--btn-primary-text: #FFFFFF;--btn-primary-shadow: inset 0 0 0 1px rgba(140,220,255,.45), 0 0 28px rgba(0,140,255,.45);--btn-secondary-border: rgba(94,176,255,.35);--state-processing: #22C8F0;--state-processing-bg: #0E3360;--state-queued: #9AACCB;--state-queued-bg: #13274F;--state-success: #3DD69B;--state-success-bg: #0F3A3A;--state-error: #FF7A7A;--state-error-bg: #3A1E3A;--state-error-panel-bg: #1C1838;--state-dot-glow: 0 0 8px currentColor;--progress-track: rgba(94,176,255,.24);--progress-fill: linear-gradient(90deg, #007BFF, #22C8F0);--progress-glow: 0 0 12px rgba(34,200,240,.8);--shadow-frame: 0 0 0 1px rgba(94,176,255,.18), 0 24px 70px rgba(0,30,90,.5);--glow-nav-active: inset 0 0 0 1px rgba(34,200,240,.35), 0 0 20px rgba(34,200,240,.12);--glow-badge: 0 0 18px rgba(0,150,255,.5);--glow-drawing: drop-shadow(0 0 6px rgba(34,200,240,.45));--glow-scanline: 0 0 14px rgba(34,200,240,.6);--glow-status-online: 0 0 8px #3DD69B;--radius-dropzone: 4px;--radius-chip: 6px;--radius-control: 7px;--radius-button: 8px;--radius-panel: 10px;--radius-panel-lg: 12px;--radius-frame: 14px;--radius-frame-tablet: 20px;--radius-round: 50%;--font-sans: "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--heading-weight: 500;--heading-tracking: -.03em;--heading-size: 30px;--heading-size-lg: 34px;--body-size: 15px;--small-size: 13px;--hud-label-font: var(--font-mono);--hud-label-size: 11px;--hud-label-weight: 400;--hud-label-tracking: .18em;--hud-table-head-tracking: .16em;--hud-micro-size: 10px;--hud-micro-tracking: .16em;--hud-index-size: 12px;--hud-readout-size: 12px;--hud-readout-tracking: .08em;--dropzone-border: 1px solid rgba(94,176,255,.35);--dropzone-bg: rgba(0,123,255,.05);--dropzone-radius: 4px;--dropzone-guide-line: 1px solid #007BFF;--dropzone-guide-opacity: .5;--dropzone-guide-overshoot: 28px;--dropzone-corner-size: 10px;--dropzone-corner-border: 1.5px solid #007BFF;--dropzone-corner-fill: #0A1B3D;--dropzone-corner-offset: -5px;--dropzone-scanline: linear-gradient(90deg, transparent, rgba(34,200,240,.7), transparent);--dropzone-scanline-top: 38%;--dropzone-ring-size: 88px;--dropzone-ring-border: 1px solid rgba(34,200,240,.45);--dropzone-ring-shadow: 0 0 30px rgba(34,200,240,.25), inset 0 0 20px rgba(34,200,240,.15);--text-muted-aa: #8697B6;--btn-primary-bg-aa: linear-gradient(135deg, #0072ED, #007DB7);--paper: var(--bg-base);--panel: var(--bg-panel);--panel-soft: var(--bg-dropzone);--line: var(--border-subtle);--line-soft: var(--border-subtle);--line-strong: var(--border-default);--line-dash: var(--border-strong);--ink: var(--text-primary);--ink-body: var(--text-body);--ink-secondary: var(--text-secondary);--ink-muted: var(--text-secondary);--ink-faint: var(--text-muted-aa);--accent: var(--text-link);--accent-ink: var(--btn-primary-text);--accent-soft: var(--bg-nav-active);--proc-fg: var(--state-processing);--proc-bg: var(--state-processing-bg);--cola-fg: var(--state-queued);--cola-bg: var(--state-queued-bg);--ok-fg: var(--state-success);--ok-bg: var(--state-success-bg);--err-fg: var(--state-error);--err-bg: var(--state-error-bg);--state-glow: var(--state-dot-glow);--pending-fg: #FFC46B;--pending-bg: rgba(255,196,107,.12);--navy: var(--text-primary);--surface-ink-dim: var(--text-muted-aa);--shadow: none;--shadow-lg: var(--shadow-frame);--shadow-modal: var(--shadow-frame);--font-fichero: var(--font-mono);--app-bg: var(--bg-app);--logo-claro: none;--logo-oscuro: block;--panel-blur: blur(14px);--topbar-bg: var(--bg-sidebar);--nav-ink: var(--text-secondary);--nav-active-ink: var(--text-primary);--nav-indicator: inset 0 -2px 0 var(--accent-cyan), 0 8px 18px -12px rgba(34,200,240,.9);--seg-bg: var(--bg-sidebar);--seg-ink: var(--text-secondary);--seg-active-bg: var(--bg-nav-active);--seg-active-shadow: var(--glow-nav-active);--avatar-bg: var(--bg-avatar);--avatar-ink: var(--text-link);--motor-on-glow: var(--glow-status-online);--motor-off-glow: 0 0 8px var(--state-error);--toggle-ink: var(--text-secondary);--toggle-hover-bg: var(--bg-nav-active);--h1-weight: var(--heading-weight);--h1-tracking: var(--heading-tracking);--label-tracking: .12em;--th-tracking: var(--hud-table-head-tracking);--th-bg: transparent;--row-hover: rgba(94,176,255,.06);--btn-bg: var(--btn-primary-bg-aa);--btn-bg-hover: var(--btn-primary-bg-aa);--btn-ink: var(--btn-primary-text);--btn-shadow: var(--btn-primary-shadow);--btn-shadow-hover: inset 0 0 0 1px rgba(140,220,255,.6), 0 0 36px rgba(0,140,255,.6);--btn-navy-bg: transparent;--btn-navy-bg-hover: var(--bg-nav-active);--btn-navy-ink: var(--text-primary);--btn-navy-border: var(--btn-secondary-border);--btn-ghost-bg: transparent;--btn-ghost-ink: var(--text-primary);--btn-ghost-border: var(--btn-secondary-border);--btn-ghost-bg-hover: var(--bg-nav-active);--btn-ghost-border-hover: rgba(34,200,240,.45);--input-bg: var(--bg-dropzone);--focus-border: var(--accent-cyan);--focus-ring: 0 0 0 3px rgba(34,200,240,.18), 0 0 14px rgba(34,200,240,.25);--dz-border: var(--dropzone-border);--dz-radius: var(--dropzone-radius);--dz-bg: var(--dropzone-bg);--dz-bg-hover: rgba(0,123,255,.1);--dz-border-hover: var(--accent-cyan);--dz-node-size: var(--dropzone-corner-size);--dz-node-border: var(--dropzone-corner-border);--dz-node-fill: var(--dropzone-corner-fill);--dz-node-offset: var(--dropzone-corner-offset);--dz-deco: block;--viewer-bg: var(--bg-base);--viewer-canvas: #050D22;--viewer-hint: var(--text-secondary);--viewer-err: var(--state-error);--progress-indet: var(--accent-cyan);--spinner-track: var(--border-default);--spinner-head: var(--accent-cyan);--sketch-ink: var(--accent-cyan-light);--sketch-accent: var(--accent-cyan);--sketch-cota: var(--state-error);--sketch-filter: var(--glow-drawing);--thumb-bg: var(--bg-base);--thumb-grid: var(--bg-viewer-grid);--thumb-grid-size: 64px 64px, 64px 64px, 16px 16px, 16px 16px;--toast-bg: var(--bg-avatar);--toast-ink: var(--text-primary);--toast-border: var(--border-default);--toast-err-bg: var(--state-error-panel-bg);--toast-err-ink: var(--state-error);--toast-err-border: var(--border-error);--auth-bg: var(--bg-glow-1), var(--bg-glow-2), var(--bg-viewer-grid) 0 0 / 160px 160px, var(--bg-base);--auth-card-bg: var(--bg-panel-overlay)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-sans);color:var(--ink-body);background:var(--app-bg);background-attachment:fixed;-webkit-font-smoothing:antialiased;font-size:14px}a{color:var(--accent);text-decoration:none}a:hover{color:var(--ink);text-decoration:none}.eyebrow{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:var(--label-tracking);color:var(--ink-faint)}.fichero{font-family:var(--font-fichero)}.app{display:flex;flex-direction:column;min-height:100vh}.topbar{display:flex;align-items:center;gap:48px;padding:0 40px;height:var(--topbar-h);flex:none;background:var(--topbar-bg);color:var(--ink);-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.topbar .brand{display:flex;align-items:center;gap:10px;flex:none}.topbar .brand img,.auth-card .brand img{display:block}.brand .logotipo.v-claro{display:var(--logo-claro)}.brand .logotipo.v-oscuro{display:var(--logo-oscuro)}.topbar .spacer{flex:1}.topbar .mainnav{display:flex;gap:32px;align-self:stretch}.topbar .mainnav a{display:flex;align-items:center;color:var(--nav-ink);font-size:15px;font-weight:500;white-space:nowrap;transition:color .15s,box-shadow .15s}.topbar .mainnav a:hover{color:var(--nav-active-ink)}.topbar .mainnav a.active{color:var(--nav-active-ink);box-shadow:var(--nav-indicator)}.topbar .user{display:flex;align-items:center;gap:12px;flex:none;font-size:14px;color:var(--ink-secondary)}.topbar .user .name{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar{width:34px;height:34px;border-radius:50%;flex:none;background:var(--avatar-bg);color:var(--avatar-ink);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px}.linkbtn{background:transparent;border:0;padding:8px 10px;border-radius:var(--radius-md);font:500 14px var(--font-sans);color:var(--ink-muted);cursor:pointer}.linkbtn:hover{color:var(--ink);background:var(--line-soft)}.theme-toggle{width:34px;height:34px;flex:none;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--line);border-radius:var(--radius-md);color:var(--toggle-ink);cursor:pointer;padding:0;transition:background .15s,color .15s,border-color .15s}.theme-toggle:hover{background:var(--toggle-hover-bg);color:var(--ink);border-color:var(--line-strong)}.theme-toggle:focus-visible{outline:none;border-color:var(--focus-border);box-shadow:var(--focus-ring)}.theme-toggle svg{display:block}.motor{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);white-space:nowrap}.motor .dot{width:7px;height:7px;border-radius:50%;background:var(--ink-faint)}.motor.on .dot{background:var(--ok-fg);box-shadow:var(--motor-on-glow)}.motor.off .dot{background:var(--err-fg);box-shadow:var(--motor-off-glow)}.motor.off{color:var(--err-fg)}.content{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:48px 40px}@media (max-width: 1100px){.topbar{flex-wrap:wrap;height:auto;gap:0 20px;padding:14px 28px 0}.topbar .brand{height:40px}.topbar .spacer{display:none}.topbar .user{margin-left:auto}.topbar .user .name,.topbar .motor .label{display:none}.topbar .mainnav{order:10;width:100%;margin:14px 0 12px;gap:4px;align-self:auto;background:var(--seg-bg);padding:4px;border-radius:10px;overflow-x:auto;scrollbar-width:none}.topbar .mainnav a{padding:9px 16px;border-radius:7px;color:var(--seg-ink)}.topbar .mainnav a.active{background:var(--seg-active-bg);color:var(--nav-active-ink);box-shadow:var(--seg-active-shadow)}.content{padding:36px 28px}}@media (max-width: 560px){.topbar{padding:12px 16px 0}.topbar .user{gap:8px}.topbar .brand .logotipo{display:none}.content{padding:28px 16px}}.footer{color:var(--ink-faint);text-align:center;border-top:1px solid var(--line);padding:16px;overflow:hidden;white-space:nowrap;font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase}.footer .legend{display:inline-block;font-weight:500;background:linear-gradient(90deg,var(--ink-faint) 0%,var(--accent) 50%,var(--ink-faint) 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 6s linear infinite}@keyframes shimmer{to{background-position:200% center}}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:24px;-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur)}.card:has(>table){overflow-x:auto}.grid{display:grid;gap:16px}.grid.cols-3{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.grid.cols-4{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.grid.subida{grid-template-columns:1.4fr 1fr;gap:18px}@media (max-width: 760px){.grid.subida{grid-template-columns:minmax(0,1fr)}}@media (max-width: 640px){.tabla-piezas{width:100%}.tabla-piezas th:nth-child(4),.tabla-piezas td:nth-child(4){display:none}.tabla-piezas th,.tabla-piezas td{padding-left:6px;padding-right:6px}.tabla-piezas td:nth-child(3){max-width:150px!important}}.btn{display:inline-flex;align-items:center;gap:8px;justify-content:center;background:var(--btn-bg);color:var(--btn-ink);border:1px solid transparent;border-radius:var(--radius-md);box-shadow:var(--btn-shadow);padding:10px 20px;font-weight:600;font-size:15px;line-height:1.3;cursor:pointer;font-family:var(--font-sans);transition:background .15s,border-color .15s,box-shadow .15s,opacity .15s,transform .05s}.btn:hover{background:var(--btn-bg-hover);color:var(--btn-ink);box-shadow:var(--btn-shadow-hover);text-decoration:none}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.navy{background:var(--btn-navy-bg);color:var(--btn-navy-ink);border-color:var(--btn-navy-border);box-shadow:none}.btn.navy:hover{background:var(--btn-navy-bg-hover)}.btn.ghost{background:var(--btn-ghost-bg);color:var(--btn-ghost-ink);border-color:var(--btn-ghost-border);box-shadow:none}.btn.ghost:hover{background:var(--btn-ghost-bg-hover);border-color:var(--btn-ghost-border-hover)}label.btn{font-family:var(--font-sans);font-size:15px;font-weight:600;text-transform:none;letter-spacing:normal;color:var(--btn-ink);margin:0}.btn.sm{padding:6px 12px;font-size:13px}.input,select,textarea{width:100%;padding:9px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-md);font-size:14px;background:var(--input-bg);color:var(--ink);font-family:var(--font-sans)}.input::placeholder,textarea::placeholder{color:var(--ink-faint)}.input:focus,select:focus,textarea:focus{outline:none;border-color:var(--focus-border);box-shadow:var(--focus-ring)}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}label{font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:var(--label-tracking);color:var(--ink-faint);display:block;margin-bottom:7px}.field{margin-bottom:16px}.h1{font-size:32px;font-weight:var(--h1-weight);margin:0 0 8px;color:var(--ink);letter-spacing:var(--h1-tracking)}.sub{color:var(--ink-secondary);margin:0 0 28px;font-size:16px}h2{font-size:20px;font-weight:600;color:var(--ink);letter-spacing:-.01em}.mono{font-family:var(--font-mono)}.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.muted{color:var(--ink-muted)}.small{font-size:13px}.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;font-size:13px;font-weight:500}.badge.credits{background:var(--accent-soft);color:var(--accent);font-family:var(--font-mono);font-size:12px}.badge.ok{background:var(--ok-bg);color:var(--ok-fg)}.badge.warn{background:var(--err-bg);color:var(--err-fg);border-radius:var(--radius-md)}.badge.muted{background:var(--cola-bg);color:var(--cola-fg)}.badge.fab{gap:6px;font-size:12.5px;padding:4px 10px;max-width:100%;line-height:1.25}.badge.fab .fab-icono{display:inline-grid;place-items:center;flex:none;width:15px;height:15px;border-radius:50%;border:1.5px solid currentColor;font-size:10px;font-weight:700;line-height:1}.badge.fab.fab-completo{background:var(--ok-bg);color:var(--ok-fg)}.badge.fab.fab-incompleto{background:var(--pending-bg);color:var(--pending-fg)}.badge.fab.fab-sinverif{background:var(--cola-bg);color:var(--cola-fg)}.badge.fab.fab-novalido{background:var(--urgent-bg);color:var(--urgent-fg)}.badge.fab .fab-n{font-weight:600}.fab-panel{display:flex;flex-direction:column;gap:8px;padding:10px 12px;margin-bottom:10px;border-radius:var(--radius-md, 10px);border:1px solid transparent}.fab-panel>.badge{align-self:flex-start}.fab-panel.fab-completo{background:var(--ok-bg);border-color:color-mix(in srgb,var(--ok-fg) 25%,transparent)}.fab-panel.fab-incompleto{background:var(--pending-bg);border-color:color-mix(in srgb,var(--pending-fg) 30%,transparent)}.fab-panel.fab-sinverif{background:var(--cola-bg);border-color:color-mix(in srgb,var(--cola-fg) 25%,transparent)}.fab-panel.fab-novalido{background:var(--urgent-bg);border-color:color-mix(in srgb,var(--urgent-fg) 35%,transparent)}.fab-nocuadran{margin-top:8px;padding:8px 10px;border-radius:8px;color:var(--urgent-fg);background:var(--urgent-bg);border:1px solid color-mix(in srgb,var(--urgent-fg) 35%,transparent)}.fab-nocuadran .fab-lista{color:var(--urgent-fg)}.comerciales{min-width:0;max-width:100%;overflow-wrap:anywhere}.comerciales td.num,.comerciales th.num{text-align:right;white-space:nowrap}.comerciales td.designacion{font-weight:600}.comerciales td.marca,.comerciales td.cant{white-space:nowrap}.tabla-comerciales td.descripcion{word-break:break-word;overflow-wrap:anywhere}@media (max-width: 640px){.tabla-comerciales thead{display:none}.tabla-comerciales,.tabla-comerciales tbody{display:block;width:100%}.tabla-comerciales tr{display:grid;grid-template-columns:auto minmax(0,1fr) auto;column-gap:8px;row-gap:2px;padding:8px 0;border-bottom:1px solid var(--border, rgba(127,127,127,.25))}.tabla-comerciales td{display:block;padding:0;border:0;min-width:0}.tabla-comerciales td.marca{grid-row:1;grid-column:1}.tabla-comerciales td.designacion{grid-row:1;grid-column:2;overflow-wrap:anywhere}.tabla-comerciales td.cant{grid-row:1;grid-column:3;font-weight:600}.tabla-comerciales td.descripcion{grid-row:2;grid-column:1 / -1;font-size:13px;color:var(--muted, inherit)}}.fab-lista{margin:0;padding-left:20px;display:grid;gap:3px;font-size:13.5px}.fab-avisos{display:grid;gap:4px;padding-top:8px;border-top:1px dashed color-mix(in srgb,currentColor 25%,transparent)}.fab-avisos>b{color:var(--ink-muted, inherit);font-weight:600}.thumb .fab-fila{margin-top:6px}.badge.fab.guia-limpia,.badge.fab.guia-hecha{background:var(--ok-bg);color:var(--ok-fg)}.badge.fab.guia-pend{background:var(--pending-bg);color:var(--pending-fg)}.badge.fab.guia-nada{background:var(--cola-bg);color:var(--cola-fg)}.badge.fab.guia-error{background:var(--urgent-bg);color:var(--urgent-fg)}.fab-panel.guia-limpia,.fab-panel.guia-hecha{background:var(--ok-bg);border-color:color-mix(in srgb,var(--ok-fg) 25%,transparent)}.fab-panel.guia-pend{background:var(--pending-bg);border-color:color-mix(in srgb,var(--pending-fg) 30%,transparent)}.fab-panel.guia-nada{background:var(--cola-bg);border-color:color-mix(in srgb,var(--cola-fg) 25%,transparent)}.fab-panel.guia-error{background:var(--urgent-bg);border-color:color-mix(in srgb,var(--urgent-fg) 35%,transparent)}.guia-lista{list-style:none;margin:0;padding:0;display:grid;gap:6px}.guia-punto{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;padding:7px 9px;border-radius:8px;background:var(--paper);color:var(--ink);font-size:13.5px;line-height:1.35;border:1px solid color-mix(in srgb,currentColor 12%,transparent)}.guia-punto.importante{border-left:3px solid var(--urgent-fg)}.guia-punto.revisado .guia-texto>span:nth-child(2){opacity:.6}.guia-casilla{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;cursor:pointer;padding-top:1px}.guia-casilla input{width:16px;height:16px;margin:0;accent-color:var(--ok-fg)}.guia-texto{display:flex;flex-wrap:wrap;gap:4px 8px;min-width:0;overflow-wrap:anywhere}.guia-nivel{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:1px 6px;border-radius:999px;align-self:center}.guia-nivel.importante{background:var(--urgent-bg);color:var(--urgent-fg)}.guia-nivel.comprobar{background:var(--pending-bg);color:var(--pending-fg)}.guia-quien{flex-basis:100%}@media (max-width: 640px){.guia-punto{grid-template-columns:minmax(0,1fr)}}.estado{display:inline-flex;align-items:center;gap:7px;padding:4px 10px;border-radius:999px;font-size:13px;font-weight:500;white-space:nowrap;text-transform:capitalize}.estado:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none;box-shadow:var(--state-glow)}.estado.pendiente{color:var(--cola-fg);background:var(--cola-bg)}.estado.pendiente:before{border-radius:0}.estado.procesando{color:var(--proc-fg);background:var(--proc-bg)}.estado.hecho{color:var(--ok-fg);background:var(--ok-bg)}.estado.error{color:var(--err-fg);background:var(--err-bg)}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line-soft)}th{font-family:var(--font-mono);color:var(--ink-faint);font-weight:400;font-size:11px;text-transform:uppercase;letter-spacing:var(--th-tracking);background:var(--th-bg);border-bottom-color:var(--line)}tbody tr:hover{background:var(--row-hover)}tbody tr:last-child td{border-bottom:0}.dropzone{position:relative;border:var(--dz-border);border-radius:var(--dz-radius);padding:44px 24px;min-height:240px;text-align:center;color:var(--ink-muted);background:var(--dz-bg);transition:border-color .15s,background .15s;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.dropzone:hover,.dropzone.drag{border-color:var(--dz-border-hover);background:var(--dz-bg-hover)}.dropzone .node{position:absolute;width:var(--dz-node-size);height:var(--dz-node-size);border:var(--dz-node-border);background:var(--dz-node-fill);z-index:1}.dropzone .node.tl{top:var(--dz-node-offset);left:var(--dz-node-offset)}.dropzone .node.tr{top:var(--dz-node-offset);right:var(--dz-node-offset)}.dropzone .node.bl{bottom:var(--dz-node-offset);left:var(--dz-node-offset)}.dropzone .node.br{bottom:var(--dz-node-offset);right:var(--dz-node-offset)}.dropzone .chip{font-family:var(--font-mono);font-size:13px;font-weight:500;color:var(--accent);border:1.5px solid var(--accent);border-radius:var(--radius-sm);padding:10px 14px}.dropzone .title{font-size:19px;font-weight:500;color:var(--ink)}.dropzone .or{display:flex;align-items:center;gap:14px;font-size:15px}.dropzone .hint-ext{font-family:var(--font-mono);font-size:12px;color:var(--ink-faint)}.dropzone:before,.dropzone:after{content:"";position:absolute;pointer-events:none;display:var(--dz-deco)}.dropzone:after{inset:calc(-1 * var(--dropzone-guide-overshoot, 0px));opacity:var(--dropzone-guide-opacity, 1);background:linear-gradient(var(--brand-blue),var(--brand-blue)) 0 var(--dropzone-guide-overshoot, 0px) / 100% 1px no-repeat,linear-gradient(var(--brand-blue),var(--brand-blue)) 0 calc(100% - var(--dropzone-guide-overshoot, 0px)) / 100% 1px no-repeat,linear-gradient(var(--brand-blue),var(--brand-blue)) var(--dropzone-guide-overshoot, 0px) 0 / 1px 100% no-repeat,linear-gradient(var(--brand-blue),var(--brand-blue)) calc(100% - var(--dropzone-guide-overshoot, 0px)) 0 / 1px 100% no-repeat}.dropzone:before{left:0;right:0;top:var(--dropzone-scanline-top, 38%);height:1px;background:var(--dropzone-scanline, none);box-shadow:var(--glow-scanline, none)}.viewer{width:100%;height:440px;border-radius:var(--radius-lg);overflow:hidden;background:var(--viewer-bg);position:relative;border:1px solid var(--line)}.viewer canvas{display:block}.viewer .hint{position:absolute;inset:0;display:grid;place-items:center;color:var(--viewer-hint);font-size:14px;pointer-events:none}.viewer .hint .err{color:var(--viewer-err)}@keyframes plania-indet{0%{transform:translate(-120%)}to{transform:translate(320%)}}@keyframes plania-fade{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}@keyframes plania-sketch{0%{stroke-dashoffset:320}45%,55%{stroke-dashoffset:0}to{stroke-dashoffset:320}}@keyframes plania-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.progress{height:4px;border-radius:2px;background:var(--progress-track);overflow:hidden;position:relative}.progress>.fill{height:100%;background:var(--progress-fill);box-shadow:var(--progress-glow);border-radius:2px;transition:width .4s ease}.progress>.indet{position:absolute;top:0;left:0;height:100%;width:35%;border-radius:2px;background:linear-gradient(90deg,transparent,var(--progress-indet),transparent);box-shadow:var(--progress-glow);animation:plania-indet 1.15s ease-in-out infinite}.sketch{animation:plania-float 3s ease-in-out infinite;filter:var(--sketch-filter)}.sketch path,.sketch line,.sketch circle,.sketch rect,.sketch polyline{stroke-dasharray:320;stroke-dashoffset:320;animation:plania-sketch 2.8s ease-in-out infinite}.sketch.s-ink,.sketch .s-ink{stroke:var(--sketch-ink)}.sketch .s-accent{stroke:var(--sketch-accent)}.sketch .s-cota{stroke:var(--sketch-cota)}.msg-rot{animation:plania-fade .4s ease}.thumb{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:box-shadow .15s,border-color .15s}.thumb:hover{box-shadow:var(--shadow-lg);border-color:var(--line-dash)}.thumb img{width:100%;height:145px;object-fit:contain;display:block;background-color:var(--thumb-bg);background-image:var(--thumb-grid);background-size:var(--thumb-grid-size)}.thumb .meta{padding:10px 12px;border-top:1px solid var(--line)}.thumb .meta .n{font-family:var(--font-mono);font-weight:500;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}.thumb .meta .d{color:var(--ink-faint);font-size:12px;font-family:var(--font-mono)}.center{display:grid;place-items:center;min-height:60vh}.spinner{width:28px;height:28px;border:3px solid var(--spinner-track);border-top-color:var(--spinner-head);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%);background:var(--toast-bg);color:var(--toast-ink);border:1px solid var(--toast-border);padding:12px 18px;border-radius:var(--radius-md);box-shadow:var(--shadow-modal);z-index:50;font-size:14px}.toast.err{background:var(--toast-err-bg);color:var(--toast-err-ink);border-color:var(--toast-err-border)}.ui-error{padding:30px;font-family:var(--font-sans);max-width:760px;margin:40px auto}.ui-error h2{color:var(--err-fg);margin:0 0 8px}.ui-error p{color:var(--ink-secondary)}.ui-error pre{background:var(--panel-soft);border:1px solid var(--line);padding:12px;border-radius:var(--radius-md);overflow:auto;font-size:12px;color:var(--ink)}.ui-error .btn{margin-top:12px}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:var(--auth-bg)}.auth-card{position:relative;width:100%;max-width:420px;background:var(--auth-card-bg);border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow-lg);border:1px solid var(--line);-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur)}.auth-card .node{position:absolute;width:var(--dz-node-size);height:var(--dz-node-size);border:var(--dz-node-border);background:var(--dz-node-fill)}.auth-card .node.tl{top:var(--dz-node-offset);left:var(--dz-node-offset)}.auth-card .node.tr{top:var(--dz-node-offset);right:var(--dz-node-offset)}.auth-card .node.bl{bottom:var(--dz-node-offset);left:var(--dz-node-offset)}.auth-card .node.br{bottom:var(--dz-node-offset);right:var(--dz-node-offset)}.auth-card .h1{text-align:center;font-size:22px}.auth-card .brand{display:flex;justify-content:center;gap:10px;align-items:center;margin-bottom:14px}.tabs{display:flex;gap:4px;margin-bottom:22px;background:var(--seg-bg);padding:4px;border-radius:10px}.tabs button{flex:1;border:0;background:transparent;padding:9px;border-radius:7px;cursor:pointer;font-weight:500;color:var(--seg-ink);font-family:var(--font-sans);font-size:15px}.tabs button.active{background:var(--seg-active-bg);color:var(--nav-active-ink);box-shadow:var(--seg-active-shadow)}[data-theme=dark] .dropzone .chip{width:var(--dropzone-ring-size);height:var(--dropzone-ring-size);padding:0;display:flex;align-items:center;justify-content:center;border:var(--dropzone-ring-border);border-radius:var(--radius-round);box-shadow:var(--dropzone-ring-shadow);color:var(--accent-cyan);font-weight:400}[data-theme=dark] .eyebrow{letter-spacing:var(--hud-label-tracking)}[data-theme=dark] .badge.credits{color:var(--accent-cyan);box-shadow:inset 0 0 0 1px #22c8f059}[data-theme=dark] .badge.warn{box-shadow:inset 0 0 0 1px var(--border-error)}[data-theme=dark] .badge.fab.fab-incompleto,[data-theme=dark] .fab-panel.fab-incompleto{background:#f0b86024;color:#f0b860}[data-theme=dark] .fab-panel.fab-incompleto .fab-lista{color:var(--ink, #E8EEF8)}.inc-flotante{position:fixed;right:16px;bottom:16px;z-index:900;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;border:1px solid var(--line-strong);background:var(--panel);color:var(--navy);font:inherit;font-size:13px;font-weight:600;box-shadow:0 4px 14px #0000002e;cursor:pointer;opacity:.92}.inc-flotante:hover{opacity:1;box-shadow:0 6px 18px #0000003d}.inc-fondo{position:fixed;inset:0;z-index:1000;background:#0a142373;display:flex;align-items:center;justify-content:center;padding:16px}.inc-ventana{width:100%;max-width:520px;margin:0}.inc-ventana textarea{width:100%;box-sizing:border-box;margin-top:6px;resize:vertical;min-height:120px;font:inherit;padding:8px 10px;border-radius:8px;border:1px solid var(--line-strong);background:var(--panel);color:inherit}.inc-aviso{margin:10px 0 12px;padding:8px 10px;border-radius:8px;background:#285aa014}.inc-error{color:#b42318;margin:0 0 10px}@media (max-width: 600px){.inc-flotante{right:12px;bottom:12px;padding:7px 12px}}.btn.inc-visor{border-color:var(--line-strong);color:var(--navy);font-weight:600}.visor-card.visor-completo{position:fixed;inset:0;z-index:800;margin:0!important;border-radius:0;overflow:auto;padding:14px 18px;background:var(--paper)}
