:root{--nf-bg: #f7f8fa;--nf-bg-deep: #f1f3f7;--nf-surface: #ffffff;--nf-surface-2: #fafbfc;--nf-border: #e3e6ec;--nf-border-soft: #eceef2;--nf-border-row: #f0f2f5;--nf-text: #16191f;--nf-text-2: #545a63;--nf-text-3: #71787f;--nf-text-4: #8a9099;--nf-cyan: #00b4d8;--nf-cyan-bright: #00c6ff;--nf-cyan-deep: #00728f;--nf-purple: #6b4f96;--nf-green: #00875a;--nf-ok: #00875a;--nf-warn: #a86800;--nf-danger: #c8203f;--nf-gradient: linear-gradient(135deg, #00b4d8, #7b5ea7);--nf-gradient-text: linear-gradient(135deg, #0091b8, #6b4f96);--mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;--fs-micro: .6875rem;--fs-xs: .75rem;--fs-sm: .8125rem;--fs-base: .875rem;--fs-lg: .9375rem;--fs-xl: 1.375rem;--fs-2xl: 1.5rem;--fs-hero: 1.75rem;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.5rem;--sp-6: 2rem;--sp-7: 3rem;--topbar-h: 3.75rem;--radius: 8px;--radius-sm: 6px;--radius-xs: 4px;--shadow-sm: 0 1px 2px rgb(22 25 31 / .04);--shadow: 0 1px 3px rgb(22 25 31 / .06), 0 1px 2px rgb(22 25 31 / .04);--shadow-lg: 0 4px 16px rgb(22 25 31 / .08);--glow-cyan: 0 0 0 1px color-mix(in srgb, var(--nf-cyan) 45%, transparent), 0 4px 20px color-mix(in srgb, var(--nf-cyan) 18%, transparent)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--nf-bg);color:var(--nf-text);overflow-x:hidden;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;letter-spacing:-.02em;line-height:1.15;text-wrap:balance}.gradient-text{background:var(--nf-gradient-text);-webkit-background-clip:text;background-clip:text;color:transparent}.num{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.mono{font-family:var(--mono)}.eyebrow{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--nf-text-3);font-weight:500}.section{display:flex;flex-direction:column;gap:var(--sp-4)}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--sp-4);flex-wrap:wrap}.section-head h2{font-size:var(--fs-lg);font-weight:600}.section-sub{margin:var(--sp-1) 0 0;color:var(--nf-text-2);font-size:var(--fs-sm);line-height:1.5;max-width:62ch}.stat-grid{display:grid;gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}.form-row{display:grid;column-gap:var(--sp-4);row-gap:var(--sp-5);grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));align-items:start}.form-row:has(>.field)>*:not(.field){align-self:start;margin-top:calc(var(--fs-xs) * 1.35 + var(--sp-2))}.field>.eyebrow{min-height:calc(var(--fs-xs) * 1.35)}.field{display:flex;flex-direction:column;gap:var(--sp-2);min-width:0}.field-hint{display:block;min-height:calc(var(--fs-xs) * 1.35);margin-top:.3rem;font-size:var(--fs-xs);line-height:1.35;color:var(--nf-text-3)}.field-hint[data-tone=danger]{color:var(--nf-danger)}.notice{padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-sm);font-size:var(--fs-sm);line-height:1.55;white-space:normal;border:1px solid transparent}.notice-ok{background:color-mix(in srgb,var(--nf-ok) 10%,transparent);border-color:color-mix(in srgb,var(--nf-ok) 28%,transparent);color:var(--nf-ok)}.notice-warn{background:color-mix(in srgb,var(--nf-warn) 10%,transparent);border-color:color-mix(in srgb,var(--nf-warn) 28%,transparent);color:var(--nf-warn)}.notice-danger{background:color-mix(in srgb,var(--nf-danger) 10%,transparent);border-color:color-mix(in srgb,var(--nf-danger) 28%,transparent);color:var(--nf-danger)}.card{position:relative;z-index:1;background:var(--nf-surface);border:1px solid var(--nf-border);border-radius:var(--radius);padding:var(--sp-5);box-shadow:var(--shadow-sm)}.card-glow{border-color:color-mix(in srgb,var(--nf-cyan-deep) 35%,var(--nf-border));box-shadow:var(--shadow)}.stat{position:relative;display:flex;flex-direction:column;gap:.375rem;padding:var(--sp-4)}.stat[data-tone] .eyebrow:before{content:"";display:inline-block;width:.4375rem;height:.4375rem;border-radius:50%;margin-right:.4375rem;vertical-align:baseline;background:var(--stat-accent, var(--nf-cyan))}.stat[data-tone=brand]{--stat-accent: var(--nf-cyan-deep)}.stat[data-tone=ok]{--stat-accent: var(--nf-ok)}.stat[data-tone=warn]{--stat-accent: var(--nf-warn)}.stat[data-tone=danger]{--stat-accent: var(--nf-danger);--stat-text: var(--nf-danger)}.stat-value{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--fs-xl);font-weight:600;line-height:1.15;letter-spacing:-.02em;color:var(--stat-text, var(--nf-text))}.stat-hint{font-size:var(--fs-xs);color:var(--nf-text-3);line-height:1.4}button{font:inherit;cursor:pointer;border:none;border-radius:8px;transition:transform .15s ease,filter .15s ease,background .15s ease}button:disabled{cursor:not-allowed;opacity:.55}.btn-primary{background:var(--nf-gradient);color:#fff;font-weight:600;font-size:var(--fs-sm);padding:.6rem 1.2rem;letter-spacing:.01em;box-shadow:0 2px 12px color-mix(in srgb,var(--nf-cyan) 25%,transparent)}.btn-primary:disabled{background:var(--nf-surface-2);color:var(--nf-text-3);box-shadow:none;border:1px solid var(--nf-border)}.btn-primary:hover:not(:disabled){filter:brightness(1.12);transform:translateY(-1px);box-shadow:0 6px 20px color-mix(in srgb,var(--nf-cyan) 35%,transparent)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-ghost{background:color-mix(in srgb,var(--nf-surface-2) 60%,transparent);color:var(--nf-text-2);border:1px solid var(--nf-border);padding:.45rem .9rem;font-size:var(--fs-sm)}.btn-ghost:hover:not(:disabled){color:var(--nf-text);border-color:color-mix(in srgb,var(--nf-cyan) 50%,var(--nf-border));background:color-mix(in srgb,var(--nf-cyan) 8%,transparent)}.btn-ghost[aria-pressed=true]{color:var(--nf-cyan-deep);border-color:var(--nf-cyan);background:color-mix(in srgb,var(--nf-cyan) 12%,transparent)}.btn-row{background:transparent;color:var(--nf-text-3);border:1px solid var(--nf-border-soft);padding:.3rem .7rem;font-size:var(--fs-xs);white-space:nowrap}tbody tr:hover .btn-row:not(:disabled){color:var(--nf-cyan-deep);border-color:color-mix(in srgb,var(--nf-cyan) 45%,transparent)}.btn-row:hover:not(:disabled){background:color-mix(in srgb,var(--nf-cyan) 12%,transparent)}input,select{font:inherit;font-size:var(--fs-sm);width:100%;background:var(--nf-bg-deep);border:1px solid var(--nf-border);border-radius:var(--radius-sm);color:var(--nf-text);padding:.55rem .75rem;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}input:hover:not(:disabled),select:hover:not(:disabled){border-color:color-mix(in srgb,var(--nf-cyan) 35%,var(--nf-border))}input::placeholder{color:var(--nf-text-3)}td input,td select{padding:.35rem .6rem;font-size:var(--fs-xs);background:color-mix(in srgb,var(--nf-bg-deep) 70%,transparent)}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:none;border-color:var(--nf-cyan);box-shadow:0 0 0 3px color-mix(in srgb,var(--nf-cyan) 22%,transparent)}.scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}thead th{position:sticky;top:0;z-index:1;text-align:left;font-size:var(--fs-micro);letter-spacing:.06em;text-transform:uppercase;color:var(--nf-text-3);font-weight:600;padding:var(--sp-2) var(--sp-3);background:var(--nf-bg-deep);border-bottom:1px solid var(--nf-border);white-space:nowrap}td{padding:.5rem var(--sp-3);border-bottom:1px solid var(--nf-border-row);vertical-align:middle;color:var(--nf-text-2);line-height:1.4}td:first-child{color:var(--nf-text)}td .num,td.num{color:var(--nf-text);font-size:var(--fs-sm)}td>.num,th>.num{display:block}.col-tight{width:1%;white-space:nowrap}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background .12s ease}tbody tr:hover td{background:var(--nf-bg-deep)}tbody tr[style*="cursor: pointer"]:hover td:first-child{color:var(--nf-cyan-deep)}tbody tr.total td{border-top:1px solid var(--nf-border);border-bottom:none;padding-top:var(--sp-4);font-weight:600;color:var(--nf-text)}.badge{display:inline-block;font-size:var(--fs-micro);letter-spacing:.01em;padding:.125rem .4375rem;border-radius:var(--radius-xs);white-space:nowrap;font-weight:500}.badge-danger{background:color-mix(in srgb,var(--nf-danger) 14%,transparent);color:var(--nf-danger)}.badge-warn{background:color-mix(in srgb,var(--nf-warn) 14%,transparent);color:var(--nf-warn)}.badge-ok{background:color-mix(in srgb,var(--nf-ok) 14%,transparent);color:var(--nf-ok)}.badge-info{background:color-mix(in srgb,var(--nf-cyan) 14%,transparent);color:var(--nf-cyan-deep)}.topbar{position:sticky;top:0;z-index:10;height:var(--topbar-h);display:flex;align-items:center;background:var(--nf-surface);border-bottom:1px solid var(--nf-border)}.topbar-inner{width:100%;padding:0 var(--sp-5);display:flex;align-items:center;gap:var(--sp-4)}.shell{margin:0;padding:var(--sp-4);display:grid;gap:var(--sp-5);grid-template-columns:minmax(0,1fr);align-items:start}.sidebar{position:relative;z-index:2;background:var(--nf-surface);border-right:1px solid var(--nf-border);padding:var(--sp-5) var(--sp-4)}@media (min-width: 62rem){.shell{max-width:none;margin:0;padding:0;gap:0;grid-template-columns:15.5rem minmax(0,1fr);min-height:calc(100vh - var(--topbar-h))}.sidebar{position:sticky;top:var(--topbar-h);height:calc(100vh - var(--topbar-h));min-height:100%;overflow-y:auto}.shell{align-items:stretch}.content{max-width:76rem;width:100%;margin:0 auto;padding:var(--sp-6) var(--sp-6) var(--sp-7)}}.content{display:flex;flex-direction:column;gap:var(--sp-6);min-width:0}.page-head{display:flex;flex-direction:column;gap:var(--sp-2);padding-bottom:var(--sp-2)}.page-head h1{font-size:clamp(1.5rem,3.5vw,var(--fs-2xl));font-weight:600}.nav-item{position:relative;width:100%;display:flex;align-items:center;gap:var(--sp-3);padding:.55rem .7rem;border-radius:var(--radius-sm);background:transparent;color:var(--nf-text-2);font-size:var(--fs-sm);text-align:left;border:none}.nav-item:hover{background:color-mix(in srgb,var(--nf-cyan) 7%,transparent);color:var(--nf-text)}.nav-item[data-active=true]{background:var(--nf-bg-deep);color:var(--nf-text);font-weight:600}.nav-item[data-active=true]:before{content:"";position:absolute;left:calc(var(--sp-4) * -1);top:0;bottom:0;width:3px;background:var(--nf-cyan-deep)}.nav-icon{font-size:var(--fs-base);color:var(--nf-text-3);width:1.1rem;text-align:center;flex:none;transition:color .15s ease}.nav-item:hover .nav-icon,.nav-item[data-active=true] .nav-icon{color:var(--nf-cyan-deep)}input[type=checkbox]{width:auto;accent-color:var(--nf-cyan)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.rise{animation:rise .45s cubic-bezier(.22,1,.36,1) both}@keyframes sweep{to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--nf-surface) 25%,var(--nf-surface-2) 50%,var(--nf-surface) 75%);background-size:200% 100%;animation:sweep 1.2s linear infinite;border-radius:6px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.table-card{padding:var(--sp-4) var(--sp-2)}.meta{font-size:var(--fs-xs);color:var(--nf-text-3)}.checklist{list-style:none;margin:0;padding:var(--sp-2);display:flex;flex-direction:column}.checklist li{display:flex;gap:var(--sp-3);align-items:center;flex-wrap:wrap;padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-sm)}.checklist li[data-ok=false]{background:color-mix(in srgb,var(--nf-danger) 7%,transparent)}.check-mark{font-family:var(--mono);flex:none;width:1rem;text-align:center}.checklist li[data-ok=true] .check-mark{color:var(--nf-ok)}.checklist li[data-ok=false] .check-mark{color:var(--nf-danger)}.check-label{flex:1;min-width:12rem;font-size:var(--fs-sm);color:var(--nf-text-2)}.checklist li[data-ok=false] .check-label{color:var(--nf-text);font-weight:500}input[type=file]{padding:var(--sp-2);cursor:pointer}input[type=file]::file-selector-button{font:inherit;font-size:var(--fs-sm);font-weight:500;margin-right:var(--sp-3);padding:var(--sp-2) var(--sp-4);border:1px solid var(--nf-border);border-radius:var(--radius-sm);background:var(--nf-surface-2);color:var(--nf-text);cursor:pointer;transition:border-color .15s,color .15s}input[type=file]:hover:not(:disabled)::file-selector-button{border-color:color-mix(in srgb,var(--nf-cyan) 50%,var(--nf-border));color:var(--nf-cyan-deep)}input[type=file]:disabled{cursor:not-allowed}.stack{display:flex;flex-direction:column;gap:var(--sp-6)}.bulk-bar{display:flex;gap:var(--sp-3);align-items:center;flex-wrap:wrap;padding:var(--sp-3) var(--sp-4);border-color:color-mix(in srgb,var(--nf-cyan) 32%,var(--nf-border));box-shadow:var(--glow-cyan)}.bulk-count{font-family:var(--mono);font-size:var(--fs-xs);color:var(--nf-cyan-deep);margin-right:auto}input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--nf-cyan);cursor:pointer;margin:0}tbody tr[data-selected]{background:color-mix(in srgb,var(--nf-cyan) 7%,transparent)}.comment-thread{display:flex;flex-direction:column;gap:var(--sp-4);border-color:color-mix(in srgb,var(--nf-cyan) 24%,var(--nf-border))}.comment-head{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-4)}.comment-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-3);max-height:22rem;overflow-y:auto}.comment-list li{padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--nf-surface) 60%,transparent);border-left:2px solid color-mix(in srgb,var(--nf-cyan) 40%,transparent)}.comment-meta{display:flex;gap:var(--sp-3);align-items:baseline;flex-wrap:wrap;font-size:var(--fs-xs);margin-bottom:var(--sp-2)}.comment-body{margin:0;font-size:var(--fs-sm);line-height:1.55;white-space:pre-wrap;color:var(--nf-text)}.comment-form{display:flex;gap:var(--sp-3);align-items:center}.comment-form input{flex:1}.comment-count{font-family:var(--mono);font-size:var(--fs-micro);color:var(--nf-cyan-deep)}.import-box{display:flex;flex-direction:column;gap:var(--sp-4);background:var(--nf-bg-deep);border-style:dashed}.import-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--sp-4);flex-wrap:wrap}.import-summary{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;font-size:var(--fs-sm);color:var(--nf-text-2)}.import-box .table-card{background:var(--nf-surface);border:1px solid var(--nf-border);border-radius:var(--radius-sm)}.section-label{display:inline-flex;align-items:center;gap:var(--sp-2)}.help-dot{width:1.15rem;height:1.15rem;padding:0;border-radius:50%;border:1px solid var(--nf-border);background:transparent;color:var(--nf-text-soft);font-size:.7rem;font-style:italic;font-weight:700;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color .15s ease,border-color .15s ease}.help-dot:hover,.help-dot[aria-expanded=true]{color:var(--nf-cyan-deep);border-color:var(--nf-cyan-deep)}.help-panel{margin-top:var(--sp-3);max-width:62ch}.help-panel .eyebrow{display:block;margin-top:var(--sp-3);margin-bottom:var(--sp-1)}.help-what{font-size:var(--fs-md);font-weight:600;line-height:1.5}.help-text{line-height:1.65;color:var(--nf-text-soft)}.help-steps{margin:0;padding-left:1.15rem;line-height:1.65;color:var(--nf-text-soft)}.help-steps li{margin-bottom:var(--sp-1)}:root[data-theme=dark]{color-scheme:dark;--nf-bg: #0e1116;--nf-bg-deep: #090b0f;--nf-surface: #161a21;--nf-surface-2: #1b202a;--nf-border: #272d38;--nf-border-soft: #1f242e;--nf-border-row: #1b202a;--nf-text: #e7eaef;--nf-text-2: #b0b7c3;--nf-text-3: #8b93a1;--nf-text-4: #6d7585;--nf-cyan: #00b4d8;--nf-cyan-bright: #00c6ff;--nf-cyan-deep: #3ad2f0;--nf-purple: #b39ae6;--nf-green: #2fd18c;--nf-ok: #2fd18c;--nf-warn: #e0a33a;--nf-danger: #ff6b81;--nf-gradient: linear-gradient(135deg, #00b4d8, #7b5ea7);--nf-gradient-text: linear-gradient(135deg, #00c6ff, #b39ae6);--shadow-sm: 0 1px 2px rgb(0 0 0 / .4);--shadow: 0 1px 3px rgb(0 0 0 / .45), 0 1px 2px rgb(0 0 0 / .35);--shadow-lg: 0 8px 28px rgb(0 0 0 / .55)}:root{--nf-logo-from: #0091b8;--nf-logo-to: #6b4f96}:root[data-theme=dark]{--nf-logo-from: #00c6ff;--nf-logo-to: #b39ae6}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;padding:0;border:1px solid var(--nf-border);border-radius:var(--radius-sm);background:transparent;color:var(--nf-text-3);font-size:.9rem;line-height:1;cursor:pointer;transition:color .15s ease,border-color .15s ease}.theme-toggle:hover{color:var(--nf-cyan-deep);border-color:var(--nf-cyan-deep)}.tabla-mayor,.tabla-inventario{table-layout:fixed}.saldo-nat{display:inline-block;width:.75rem;margin-left:.35rem;font-size:var(--fs-micro);color:var(--nf-text-3);text-align:left}.tabla-diario tbody tr.inicio-comprobante td{border-top:1px solid var(--nf-border)}.tabla-diario tbody tr.total-comprobante td{background:var(--nf-surface-2, transparent)}
