*{box-sizing:border-box;margin:0;padding:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{appearance:textfield}
:root{--primary-50:#eef0f5;--primary-100:#d5dae6;--primary-200:#abb5cd;--primary-300:#8290b3;--primary-400:#586c9a;--primary-500:#3e5283;--primary-600:#283866;--primary-700:#1f2c52;--primary-800:#15203d;--primary-900:#0c1428;--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-800:#1e293b;--gray-900:#0f172a;--accent-orange-50:#fef5ec;--accent-orange-100:#fde6cf;--accent-orange-300:#f9b774;--accent-orange-500:#f5841f;--accent-orange-700:#b9620c;--accent-orange-900:#6f3a03;--accent-gray-50:#f5f5f6;--accent-gray-100:#e8e8ea;--accent-gray-300:#c0c1c4;--accent-gray-500:#949698;--accent-gray-700:#6b6c6e;--accent-gray-900:#36373a;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-6xl:3.75rem;--leading-tight:1.15;--leading-snug:1.3;--leading-normal:1.5;--leading-relaxed:1.65;--tracking-tighter:-.02em;--tracking-tight:-.01em;--tracking-normal:0;--tracking-wide:.025em;--font-display:"Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--font-body:"Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--font-mono:"Cascadia Code", "Cascadia Mono", "Segoe UI Mono", ui-monospace, "SF Mono", Menlo, Consolas, "Courier New", monospace;--space-0:0;--space-px:1px;--space-0_5:.125rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--spacing-xs:var(--space-1);--spacing-sm:var(--space-2);--spacing-md:var(--space-4);--spacing-lg:var(--space-6);--spacing-xl:var(--space-8);--spacing-2xl:var(--space-12);--radius-none:0;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-full:9999px;--shadow-xs:0 1px 2px 0 #0000000a;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--shadow-xl:0 20px 25px -5px #0000001f;--shadow-2xl:0 25px 50px -12px #0000002e;--shadow-inner:inset 0 2px 4px 0 #0000000d;--shadow-none:none;--z-base:0;--z-raised:1;--z-dropdown:10;--z-sticky:20;--z-overlay:30;--z-modal:40;--z-popover:50;--z-tooltip:60;--z-toast:70;--z-max:9999;--duration-instant:75ms;--duration-fast:.15s;--duration-normal:.2s;--duration-slow:.3s;--duration-slower:.5s;--ease-linear:linear;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--ease-bounce:cubic-bezier(.68, -.55, .265, 1.55);--transition-fast:var(--duration-fast);--transition-normal:var(--duration-normal);--transition-slow:var(--duration-slow)}
:root{--estado-ingresado-bg:#f3f4f6;--estado-ingresado-text:#374151;--estado-ingresado-border:#d1d5db;--estado-faltan-detalles-bg:#fef3c7;--estado-faltan-detalles-text:#92400e;--estado-faltan-detalles-border:#fcd34d;--estado-detenido-bg:#fee2e2;--estado-detenido-text:#991b1b;--estado-detenido-border:#fecaca;--estado-en-espera-bg:#dbeafe;--estado-en-espera-text:#1e40af;--estado-en-espera-border:#93c5fd;--estado-estructurado-bg:#cffafe;--estado-estructurado-text:#0e7490;--estado-estructurado-border:#67e8f9;--estado-en-calculo-bg:#ccfbf1;--estado-en-calculo-text:#0f766e;--estado-en-calculo-border:#5eead4;--estado-en-dibujo-bg:#d1fae5;--estado-en-dibujo-text:#065f46;--estado-en-dibujo-border:#6ee7b7;--estado-espera-revision-bg:#fef3c7;--estado-espera-revision-text:#92400e;--estado-espera-revision-border:#fcd34d;--estado-observaciones-bg:#fff7ed;--estado-observaciones-text:#c2410c;--estado-observaciones-border:#fdba74;--estado-entregado-bg:#064e3b;--estado-entregado-text:#fff;--estado-entregado-border:#065f46;--estado-pagado-bg:#1e3a8a;--estado-pagado-text:#fff;--estado-pagado-border:#1e40af;--estado-nulo-bg:#6b7280;--estado-nulo-text:#fff;--estado-nulo-border:#9ca3af;--prioridad-urgente-bg:#fef2f2;--prioridad-urgente-text:#991b1b;--prioridad-urgente-border:#fecaca;--prioridad-alta-bg:#fff7ed;--prioridad-alta-text:#9a3412;--prioridad-alta-border:#fed7aa;--prioridad-media-bg:#fffbeb;--prioridad-media-text:#92400e;--prioridad-media-border:#fde68a;--prioridad-baja-bg:var(--gray-100);--prioridad-baja-text:var(--gray-700);--prioridad-baja-border:var(--gray-300);--action-primary-bg:var(--primary-600);--action-primary-text:#fff;--action-primary-hover:var(--primary-700);--action-secondary-bg:#fff;--action-secondary-text:var(--gray-700);--action-secondary-hover:var(--gray-50);--action-secondary-border:var(--gray-300);--action-danger-bg:#fef2f2;--action-danger-text:#991b1b;--action-danger-hover:#fee2e2;--action-danger-border:#fecaca;--bg-page:#f8fafc;--bg-card:#fff;--bg-card-hover:#f8fafc;--bg-input:#fff;--bg-section:#f8fafc;--bg-muted:#f1f5f9;--text-primary:var(--gray-900);--text-secondary:var(--gray-600);--text-tertiary:var(--gray-500);--text-muted:var(--gray-400);--text-inverse:#fff;--border-light:var(--gray-200);--border-default:var(--gray-300);--border-dark:var(--gray-400);--border-focus:var(--primary-500);--color-success:#16a34a;--color-warning:#ea580c;--color-danger:#dc2626;--color-info:var(--primary-600);--ring-color:var(--primary-500);--ring-offset:2px;--ring-width:2px;--bg-elevated:#fff;--bg-overlay:#00000080;--bg-disabled:var(--gray-100);--text-disabled:var(--gray-400);--text-link:var(--primary-600);--text-link-hover:var(--primary-700);--border-strong:var(--gray-500);--border-input:var(--gray-300);--border-input-focus:var(--primary-500);--brand-primary:var(--primary-600);--brand-primary-text:#fff;--brand-accent-orange:var(--accent-orange-500);--brand-accent-gray:var(--accent-gray-500)}
:root{--spacing-card:var(--spacing-lg);--spacing-section:var(--spacing-xl);--spacing-page:var(--spacing-lg);--radius-button:var(--radius-md);--radius-input:var(--radius-md);--radius-card:var(--radius-lg);--radius-modal:var(--radius-xl);--shadow-card:var(--shadow-sm);--shadow-dropdown:var(--shadow-md);--shadow-modal:var(--shadow-lg)}
html,body{font-family:var(--font-body)}body{font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);background-color:var(--bg-page)}button,input,optgroup,select,textarea{font-family:inherit}h1,h2,h3,.font-display{font-family:var(--font-display);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}h4,h5,h6{font-family:var(--font-display);letter-spacing:var(--tracking-normal);line-height:var(--leading-snug)}h1,h2,h3,h4,h5,h6{font-weight:inherit}.text-display-numeric{font-family:var(--font-display);letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums}code,kbd,samp,pre,.text-mono{font-family:var(--font-mono)}.bg-primary{background-color:var(--primary-600)}.text-primary{color:var(--primary-600)}.border-primary{border-color:var(--primary-600)}.btn-primary{background-color:var(--action-primary-bg);color:var(--action-primary-text)}.btn-primary:hover{background-color:var(--action-primary-hover)}.btn-secondary{background-color:var(--action-secondary-bg);color:var(--action-secondary-text);border:1px solid var(--action-secondary-border)}.btn-secondary:hover{background-color:var(--action-secondary-hover)}.badge-estado-ingresado{background-color:var(--estado-ingresado-bg);color:var(--estado-ingresado-text);border-color:var(--estado-ingresado-border)}.badge-estado-faltan-detalles{background-color:var(--estado-faltan-detalles-bg);color:var(--estado-faltan-detalles-text);border-color:var(--estado-faltan-detalles-border)}.badge-estado-detenido{background-color:var(--estado-detenido-bg);color:var(--estado-detenido-text);border-color:var(--estado-detenido-border)}.badge-estado-en-espera{background-color:var(--estado-en-espera-bg);color:var(--estado-en-espera-text);border-color:var(--estado-en-espera-border)}.badge-estado-estructurado{background-color:var(--estado-estructurado-bg);color:var(--estado-estructurado-text);border-color:var(--estado-estructurado-border)}.badge-estado-en-calculo{background-color:var(--estado-en-calculo-bg);color:var(--estado-en-calculo-text);border-color:var(--estado-en-calculo-border)}.badge-estado-en-dibujo{background-color:var(--estado-en-dibujo-bg);color:var(--estado-en-dibujo-text);border-color:var(--estado-en-dibujo-border)}.badge-estado-espera-revision{background-color:var(--estado-espera-revision-bg);color:var(--estado-espera-revision-text);border-color:var(--estado-espera-revision-border)}.badge-estado-observaciones{background-color:var(--estado-observaciones-bg);color:var(--estado-observaciones-text);border-color:var(--estado-observaciones-border)}.badge-estado-entregado{background-color:var(--estado-entregado-bg);color:var(--estado-entregado-text);border-color:var(--estado-entregado-border)}.badge-estado-pagado{background-color:var(--estado-pagado-bg);color:var(--estado-pagado-text);border-color:var(--estado-pagado-border)}.badge-estado-nulo{background-color:var(--estado-nulo-bg);color:var(--estado-nulo-text);border-color:var(--estado-nulo-border)}.bg-estado-ingresado{background-color:var(--estado-ingresado-bg)}.bg-estado-faltan-detalles{background-color:var(--estado-faltan-detalles-bg)}.bg-estado-detenido{background-color:var(--estado-detenido-bg)}.bg-estado-en-espera{background-color:var(--estado-en-espera-bg)}.bg-estado-estructurado{background-color:var(--estado-estructurado-bg)}.bg-estado-en-calculo{background-color:var(--estado-en-calculo-bg)}.bg-estado-en-dibujo{background-color:var(--estado-en-dibujo-bg)}.bg-estado-espera-revision{background-color:var(--estado-espera-revision-bg)}.bg-estado-observaciones{background-color:var(--estado-observaciones-bg)}.bg-estado-entregado{background-color:var(--estado-entregado-bg)}.bg-estado-pagado{background-color:var(--estado-pagado-bg)}.bg-estado-nulo{background-color:var(--estado-nulo-bg)}.focus-ring:focus-visible{outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000);--tw-ring-offset-width:2px;outline:2px solid #0000}.focus-ring{--tw-ring-color:var(--ring-color)}.p-card{padding:var(--spacing-card)}.p-section{padding:var(--spacing-section)}.p-page{padding:var(--spacing-page)}.gap-card{gap:var(--spacing-card)}.gap-section{gap:var(--spacing-section)}.rounded-card{border-radius:var(--radius-card)}.rounded-button{border-radius:var(--radius-button)}.rounded-input{border-radius:var(--radius-input)}.rounded-modal{border-radius:var(--radius-modal)}.shadow-card{box-shadow:var(--shadow-card)}.shadow-dropdown{box-shadow:var(--shadow-dropdown)}.shadow-modal{box-shadow:var(--shadow-modal)}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}@keyframes highlight-pulse{0%,to{transform:scale(1);box-shadow:0 0 #fbbf24b3}50%{transform:scale(1.01);box-shadow:0 0 0 8px #fbbf2400}}.animate-highlight-pulse{animation:1.5s ease-in-out infinite highlight-pulse}:root{--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--sar:env(safe-area-inset-right,0px);--keyboard-height:0px;--bottom-nav-height:48px}*{-webkit-tap-highlight-color:transparent}html{touch-action:manipulation;-webkit-text-size-adjust:100%}html,body{overscroll-behavior:none;background-color:#fff}button,a,nav,label,[role=button],[role=tab],summary{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}p,span,h1,h2,h3,h4,h5,h6,li,td,th,input,textarea,[contenteditable]{-webkit-user-select:text;user-select:text}input,textarea,select{font-size:max(16px,1em)}.mobile-pressable:active{transition:transform .1s;transform:scale(.97)}.mobile-button:active{transition:transform .1s;transform:scale(.95)}.glass-bg{-webkit-backdrop-filter:blur(12px);background:#ffffffeb}[data-sonner-toaster].mobile-toaster{--offset:calc(48px + env(safe-area-inset-top,0px) + 8px)!important}[data-sonner-toaster].mobile-toaster[data-y-position=top]{top:calc(48px + env(safe-area-inset-top,0px) + 8px)!important}.content-with-bottom-nav{padding-bottom:calc(var(--bottom-nav-height) + var(--sab))}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-shimmer{background:linear-gradient(90deg, hsl(var(--muted)) 25%, hsl(var(--muted-foreground) / .08) 50%, hsl(var(--muted)) 75%);background-size:200% 100%;animation:1.5s infinite shimmer}
.bg-cubo-watermark{background-image:url(/brand/watermark-cubo-iso.svg);background-position:right -40px bottom -40px;background-repeat:no-repeat;background-size:280px 280px;position:relative}.bg-cubo-watermark--center{background-position:50%;background-size:360px 360px}.bg-cubo-watermark--top-right{background-position:right 20px top 20px;background-size:200px 200px}.bg-cubo-watermark>*{z-index:1;position:relative}.bg-cubo-watermark--subtle{background-image:linear-gradient(#fffffff7,#fffffff7),url(/brand/watermark-cubo-iso.svg);background-position:right -40px bottom -40px,right -40px bottom -40px;background-repeat:no-repeat,no-repeat;background-size:cover,280px 280px}.bg-cubo-watermark--soft{background-image:linear-gradient(#fffffff2,#fffffff2),url(/brand/watermark-cubo-iso.svg);background-position:right -40px bottom -40px,right -40px bottom -40px;background-repeat:no-repeat,no-repeat;background-size:cover,280px 280px}.bg-cubo-watermark--medium{background-image:linear-gradient(#ffffffeb,#ffffffeb),url(/brand/watermark-cubo-iso.svg);background-position:right -40px bottom -40px,right -40px bottom -40px;background-repeat:no-repeat,no-repeat;background-size:cover,280px 280px}@media print{.bg-cubo-watermark,.bg-cubo-watermark--subtle,.bg-cubo-watermark--soft,.bg-cubo-watermark--medium{background-image:none!important}}
@media print{*,:before,:after{-webkit-print-color-adjust:exact;print-color-adjust:exact;box-shadow:none!important;text-shadow:none!important}html,body{font-size:11pt;color:var(--text-primary,#0f172a)!important;background-color:#fff!important}[data-print-hide],nav,header.app-topbar,aside.app-sidebar,footer.app-bottom-nav,[role=dialog],[data-sonner-toaster],.glass-bg{display:none!important}body:before{content:"";border-bottom:1.5pt solid var(--primary-600,#283866);background-image:url(/brand/cubo-logo-horizontal.png);background-position:12mm;background-repeat:no-repeat;background-size:auto 16mm;height:28mm;margin:0 0 6mm;display:block}body:has(.report-header):before{display:none}@page{size:A4 portrait;margin:14mm 14mm 18mm}h1,h2,h3,h4,h5,h6{page-break-after:avoid;page-break-inside:avoid;color:var(--primary-600,#283866)!important}p,blockquote,ul,ol,dl,table{page-break-inside:avoid}table{border-collapse:collapse;width:100%}thead{display:table-header-group}tr,td,th{page-break-inside:avoid}a[href]:not([href^=\#]):not([href^=javascript\:]):after{content:" (" attr(href) ")";color:var(--text-muted,#94a3b8);font-size:9pt}body:after{content:"Cubo Ingeniería · cuboing.cl";color:var(--text-muted,#94a3b8);letter-spacing:.02em;font-size:8pt;position:fixed;bottom:6mm;right:14mm}body:has(.print-layout__footer):after{display:none}}
