@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.00az9qtie3ho1.woff2?dpl=dpl_EWytkrbeRJ6vUFyw2qtAKh6BL1ZZ)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.3j-a226dh71aj.woff2?dpl=dpl_EWytkrbeRJ6vUFyw2qtAKh6BL1ZZ)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.2gwoz23eiro2t.woff2?dpl=dpl_EWytkrbeRJ6vUFyw2qtAKh6BL1ZZ)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0i3h3th1vs4m7.woff2?dpl=dpl_EWytkrbeRJ6vUFyw2qtAKh6BL1ZZ)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0zr6hhvz-h9nw.woff2?dpl=dpl_EWytkrbeRJ6vUFyw2qtAKh6BL1ZZ)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.T19VSG_className{font-family:Geist,Geist Fallback;font-style:normal}.T19VSG_variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.27spqqad3wyeo.woff2?dpl=dpl_EWytkrbeRJ6vUFyw2qtAKh6BL1ZZ)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.3f4zuumv8svu0.woff2?dpl=dpl_EWytkrbeRJ6vUFyw2qtAKh6BL1ZZ)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.34r5yzckw0h2s.woff2?dpl=dpl_EWytkrbeRJ6vUFyw2qtAKh6BL1ZZ)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.2jyz_zw3a8jit.woff2?dpl=dpl_EWytkrbeRJ6vUFyw2qtAKh6BL1ZZ)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.30bdpjkrtcces.woff2?dpl=dpl_EWytkrbeRJ6vUFyw2qtAKh6BL1ZZ)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.1v5bejj26fx9h.woff2?dpl=dpl_EWytkrbeRJ6vUFyw2qtAKh6BL1ZZ)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}._8Li5zG_className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}._8Li5zG_variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
:root{--color-paper:#fafdfb;--color-paper-2:#f0f9f5;--color-sidebar:#f4fbf9;--color-ink:#10232c;--color-black:#121212;--color-ink-muted:#4d616b;--color-rule:#d7e2e1;--color-baltic:#22577a;--color-teal:#39a3a5;--color-emerald:#57cc99;--color-light-green:#80ed99;--color-tea:#c7f9cc;--color-glass-top:#ffffffb3;--color-glass:color-mix(in oklch, var(--color-light-green) 34%, transparent);--color-glass-deep:color-mix(in oklch, var(--color-emerald) 26%, transparent);--color-glass-edge:color-mix(in oklch, white 72%, var(--color-emerald));--color-glass-shine:#ffffffe0;--color-glass-glow:color-mix(in oklch, var(--color-teal) 18%, transparent);--color-glass-hover:color-mix(in oklch, var(--color-light-green) 52%, transparent);--color-accent:var(--color-baltic);--color-accent-ink:#f9fdfb;--color-focus:var(--color-baltic);--color-danger:#ac3031;--color-danger-ink:#fffbfa;--color-danger-wash:#fff2f0;--color-danger-edge:#e1a7a1;--color-warn:#b07a20;--color-warn-wash:#f8f2dc;--bg:var(--color-paper);--surface:var(--color-paper);--border:var(--color-rule);--text:var(--color-ink);--muted:var(--color-ink-muted);--accent:var(--color-accent);--accent-hover:#154766;--success:#055c3e;--warn:var(--color-warn);--danger:var(--color-danger);--radius:8px;--font-display:"Geist", "Segoe UI", system-ui, sans-serif;--font-body:"Geist", "Segoe UI", system-ui, sans-serif;--font-mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--space-3xs:.25rem;--space-2xs:.5rem;--space-xs:.75rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2rem;--space-xl:3rem;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.5rem;--ease-out:cubic-bezier(.16, 1, .3, 1);--dur-short:.16s;--radius-card:8px;--radius-input:6px;--radius-pill:999px;font-family:var(--font-body);color:var(--color-ink);background:var(--color-paper);font-synthesis:none;line-height:1.5}@supports (color:lab(0% 0 0)){:root{--color-paper:lab(99.1264% -1.27849 .50863);--color-paper-2:lab(97.1168% -3.34707 .629139);--color-sidebar:lab(98.0125% -2.71174 -.0258207);--color-ink:lab(12.5027% -5.6223 -8.46805);--color-black:lab(5.26802% 0 0);--color-ink-muted:lab(39.7816% -6.04244 -8.6107);--color-rule:lab(89.1173% -3.99664 -.829256);--color-baltic:lab(34.7208% -8.62277 -25.3345);--color-teal:lab(61.188% -30.6127 -10.4813);--color-emerald:lab(74.3513% -43.5759 15.1112);--color-light-green:lab(85.7218% -45.9906 30.5703);--color-tea:lab(93.6047% -22.8283 16.2076);--color-glass-top:lab(100% 0 0/.7);--color-glass-shine:lab(100% 0 0/.88);--color-accent-ink:lab(98.908% -1.5983 .63585);--color-danger:lab(40.3901% 50.5466 30.7736);--color-danger-ink:lab(98.7942% 1.52683 .820124);--color-danger-wash:lab(96.5864% 5.50765 2.96438);--color-danger-edge:lab(73.8214% 21.6248 11.8074);--color-warn:lab(55.8076% 16.0162 53.9801);--color-warn-wash:lab(95.5354% -.745475 11.5482);--accent-hover:lab(27.9816% -7.72296 -23.6886);--success:lab(33.9092% -30.4943 10.59)}}*{box-sizing:border-box}html,body{overflow-x:clip}body{min-height:100vh;font-size:var(--text-sm);margin:0}h1,h2,h3{margin:0 0 var(--space-xs);font-family:var(--font-display);letter-spacing:-.02em;overflow-wrap:anywhere;min-width:0;font-weight:600}h2{font-size:var(--text-md)}h3{font-size:var(--text-sm)}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--color-glass-edge);border-radius:var(--radius-input);background:linear-gradient(180deg, var(--color-glass-top), transparent 46%), var(--color-glass);min-height:2.4rem;color:var(--color-black);white-space:nowrap;box-shadow:inset 0 1px 0 var(--color-glass-shine), inset 0 -10px 16px var(--color-glass-deep), 0 8px 18px var(--color-glass-glow);-webkit-backdrop-filter:blur(18px)saturate(1.6);transition:background var(--dur-short) var(--ease-out);padding:.5rem .9rem;font-weight:500}button:hover:not(:disabled):not(.nav-item):not(.secondary):not(.danger){background:linear-gradient(180deg, var(--color-glass-top), transparent 42%), var(--color-glass-hover)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}button:active:not(:disabled):not(.nav-item){transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed}button.secondary{background:var(--color-paper);border-color:var(--color-rule);color:var(--color-black);box-shadow:none;-webkit-backdrop-filter:none}button.secondary:hover:not(:disabled){background:var(--color-paper-2)}button.danger{background:var(--color-danger);color:var(--color-danger-ink);box-shadow:none;-webkit-backdrop-filter:none;border-color:#0000}button.danger:hover:not(:disabled){background:#971a20;background:lab(33.4109% 50.7054 32.1439)}input,select,textarea{border:1px solid var(--color-rule);border-radius:var(--radius-input);background:var(--color-paper);width:100%;min-height:2.4rem;color:var(--color-ink);padding:.5rem .7rem}input:hover,select:hover,textarea:hover{border-color:#b6c8c9;border-color:lab(79.3189% -6.32581 -2.64815)}label{font-size:var(--text-sm);color:var(--color-ink-muted);margin-bottom:var(--space-3xs);display:block}.field{margin-bottom:var(--space-md)}code{font-family:var(--font-mono);font-size:.92em}.brand{font-family:var(--font-display);font-weight:600;font-size:var(--text-md);letter-spacing:-.03em;color:var(--color-ink);margin:0}.login{min-height:100vh;padding:var(--space-lg) var(--space-sm);place-items:center;display:grid}.login-panel{width:min(400px,100%);margin:0}.login-panel h1{font-size:var(--text-xl);margin-top:var(--space-2xs)}.login-panel button{width:100%}.app-shell{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{gap:var(--space-lg);padding:var(--space-lg) var(--space-md);border-right:1px solid var(--color-rule);background:var(--color-sidebar);flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.sidebar-bar{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.menu-toggle{display:none}.sidebar-panel{gap:var(--space-lg);flex-direction:column;flex:1;min-height:0;display:flex}.side-nav{gap:var(--space-lg);flex-direction:column;flex:1;display:flex}.nav-group{gap:var(--space-sm);flex-direction:column;display:flex}.nav-label{margin:0 0 var(--space-3xs);padding:0 var(--space-2xs);font-size:var(--text-xs);color:var(--color-ink-muted);align-items:center;gap:.4rem;display:flex}.nav-label svg{fill:none;stroke:currentColor;stroke-width:1.4px;flex:none;width:14px;height:14px}.nav-label svg circle{fill:currentColor;stroke:none}button.nav-item{text-align:left;width:100%;color:var(--color-black);border-radius:var(--radius-input);font-size:var(--text-sm);box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:none;padding:.62rem .55rem;font-weight:400;line-height:1.3}button.nav-item:hover:not(:disabled){background:var(--color-paper-2)}button.nav-item.active{background:linear-gradient(180deg, var(--color-glass-top), transparent 46%), var(--color-glass);color:var(--color-black);border-color:var(--color-glass-edge);box-shadow:inset 0 1px 0 var(--color-glass-shine), inset 0 -10px 16px var(--color-glass-deep), 0 8px 18px var(--color-glass-glow);-webkit-backdrop-filter:blur(18px)saturate(1.6);font-weight:500}button.nav-item.sign-out{color:var(--color-black);align-items:center;gap:.4rem;margin-top:auto;display:flex}button.nav-item.sign-out svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:14px;height:14px}.main{min-width:0;padding:var(--space-lg) var(--space-xl) var(--space-xl);max-width:1040px}.main.wide{max-width:1280px}.page-head{margin-bottom:var(--space-lg)}.page-head h1{font-size:var(--text-lg);margin:0}.page-head p{margin:var(--space-3xs) 0 0;color:var(--color-ink-muted);max-width:42rem}.card{background:var(--color-paper);border:1px solid var(--color-rule);border-radius:var(--radius-card);padding:var(--space-lg);margin-bottom:var(--space-md)}.grid-2{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.badge{border-radius:var(--radius-pill);font-size:var(--text-xs);white-space:nowrap;padding:.1rem .45rem;font-weight:500;display:inline-block}.badge.ok{background:var(--color-tea);color:var(--color-baltic)}.badge.no{color:var(--color-danger);background:#fceae8;background:lab(94.0159% 6.12193 3.29628)}.badge.env-sandbox{background:var(--color-warn-wash);color:#694413;color:lab(32.5649% 12.7267 34.5507)}.badge.env-production{background:var(--color-tea);color:var(--color-baltic)}.badge.secondary{background:var(--color-paper-2);color:var(--color-ink-muted)}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--color-rule);vertical-align:middle;padding:.85rem .55rem}th{color:var(--color-ink-muted);font-size:var(--text-xs);font-weight:500}tr.row-selected td{background:color-mix(in oklch, var(--color-tea) 55%, var(--color-paper))}.row-actions{gap:var(--space-2xs);flex-wrap:wrap;align-items:center;display:flex}.cfdi-actions{flex-wrap:nowrap}button.icon-btn{justify-content:center;align-items:center;width:2rem;min-height:2rem;padding:0;display:inline-flex}button.icon-btn svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.mono{font-family:var(--font-mono);font-size:.82rem}.alert{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-card);margin-bottom:var(--space-sm);border:1px solid var(--color-rule);background:var(--color-paper)}.alert.error{border-color:var(--color-danger-edge);background:var(--color-danger-wash)}.alert.success{border-color:color-mix(in oklch, var(--color-emerald) 45%, var(--color-rule));background:var(--color-tea);color:var(--color-ink)}.alert.warn{border-color:color-mix(in oklch, var(--color-warn) 30%, var(--color-rule));background:var(--color-warn-wash)}.help{color:var(--color-ink-muted);margin:0 0 var(--space-sm);max-width:62ch}.steps{margin:0 0 var(--space-sm);max-width:62ch;padding-left:1.15rem}.steps li+li{margin-top:var(--space-3xs)}pre.output,pre.mono{background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:var(--radius-input);padding:var(--space-sm);max-height:420px;font-size:var(--text-xs);overflow:auto}.metrics-grid{gap:var(--space-sm);margin-bottom:var(--space-sm);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.metric-card{background:var(--color-paper);border:1px solid var(--color-rule);border-radius:var(--radius-card);padding:var(--space-sm) var(--space-md);flex-direction:column;gap:2px;display:flex}.metric-label{font-size:var(--text-xs);color:var(--color-ink-muted);min-height:1.3em;line-height:1.3}.metric-value{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.03em;color:var(--color-baltic);font-weight:600;line-height:1.2}.metric-sub{font-size:var(--text-xs);color:var(--color-ink-muted)}.section-header{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);margin-bottom:var(--space-sm);flex-wrap:wrap;display:flex}.readiness{gap:var(--space-2xs) var(--space-sm);margin:0 0 var(--space-sm);flex-wrap:wrap;display:flex}.readiness-item{align-items:center;gap:var(--space-2xs);font-size:var(--text-xs);color:var(--color-ink-muted);display:flex}.result-facts{gap:var(--space-sm);margin:0 0 var(--space-md);grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));display:grid}.result-fact{border:1px solid var(--color-rule);border-radius:var(--radius-card);padding:var(--space-sm) var(--space-md);min-width:0}.result-fact.wide{grid-column:1/-1}.result-fact span{font-size:var(--text-xs);color:var(--color-ink-muted);margin-bottom:.15rem;display:block}.result-fact strong{font-size:var(--text-md);letter-spacing:-.02em;font-weight:600}.result-uuid{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.result-uuid code{overflow-wrap:anywhere;min-width:0}.uuid-cell{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.dialog-backdrop{background:color-mix(in oklch, var(--color-ink) 35%, transparent);padding:var(--space-sm);z-index:100;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:var(--color-paper);width:min(480px,100%);margin:0}.xml-dialog{width:min(720px,100%);max-height:min(88vh,900px);overflow:auto}.cfdi-sheet{border:1px solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-paper);padding:var(--space-md)}.cfdi-sheet-head h4{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:-.03em;margin:.15rem 0}.cfdi-sheet-head p,.cfdi-kicker{color:var(--color-ink-muted);font-size:var(--text-sm);margin:0}.cfdi-kicker{font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase}.cfdi-parties{gap:var(--space-sm);margin:var(--space-md) 0;grid-template-columns:1fr 1fr;display:grid}.cfdi-parties span,.cfdi-totals dt{font-size:var(--text-xs);color:var(--color-ink-muted);display:block}.cfdi-parties strong,.cfdi-totals dd{font-weight:600;display:block}.cfdi-parties code,.cfdi-uuid code{font-family:var(--font-mono);font-size:var(--text-xs)}.cfdi-lines{width:100%;margin-bottom:var(--space-sm)}.cfdi-totals{justify-content:flex-end;gap:var(--space-lg);margin:0;display:flex}.cfdi-uuid{margin:var(--space-md) 0 0;font-size:var(--text-xs);color:var(--color-ink-muted);overflow-wrap:anywhere}@media (max-width:640px){.cfdi-parties{grid-template-columns:1fr}}summary{cursor:pointer;color:var(--color-baltic)}@media (max-width:900px){.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.app-shell{grid-template-columns:minmax(0,1fr)}.menu-toggle{align-items:center;display:inline-flex}.sidebar{z-index:20;height:auto;padding:var(--space-sm) var(--space-md);border-right:none;border-bottom:1px solid var(--color-rule);gap:0;position:sticky;top:0}.sidebar-panel{display:none}.sidebar.is-open .sidebar-panel{z-index:30;gap:var(--space-md);padding:var(--space-md);background:var(--color-sidebar);border-top:1px solid var(--color-rule);display:flex;position:fixed;inset:3.25rem 0 0;overflow:auto}.side-nav,.nav-group{gap:var(--space-sm)}button.nav-item,button.nav-item.sign-out{width:100%;margin-top:0}.main{padding:var(--space-md) var(--space-sm) var(--space-lg)}.card{padding:var(--space-md);overflow-x:auto}.section-header{align-items:stretch}.section-header .row-actions,.section-header>button{width:100%}.section-header .row-actions>button,.section-header>button{flex:auto}.grid-2{grid-template-columns:minmax(0,1fr)}.page-head{margin-bottom:var(--space-md)}}@media (prefers-reduced-motion:reduce){button{transition:none}button:active:not(:disabled){transform:none}}
body{font-family:var(--font-geist-sans), "Segoe UI", system-ui, sans-serif}
