@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,300..500&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--navy:214 68% 14%;--navy-ink:214 68% 14%;--navy-deep:216 68% 6%;--copper:24 66% 54%;--copper-warm:26 76% 63%;--copper-deep:24 65% 35%;--bone:43 39% 91%;--ink-dark:219 43% 10%;--ink-dark-mute:220 17% 35%;--background:43 39% 91%;--foreground:219 43% 10%;--card:0 0% 100%;--card-foreground:219 43% 10%;--primary:24 66% 54%;--primary-foreground:0 0% 100%;--secondary:43 26% 87%;--muted:43 26% 87%;--muted-foreground:220 17% 35%;--destructive:0 71% 61%;--border:43 22% 82%;--input:43 22% 82%;--ring:24 66% 54%;--ok:162 47% 38%;--ok-fg:0 0% 100%;--sidebar-background:216 68% 6%;--sidebar-foreground:221 40% 94%;--sidebar-accent:24 35% 18%;--sidebar-accent-foreground:26 76% 63%;--sidebar-border:220 25% 18%;--brand:hsl(var(--primary));--brand-soft:hsl(var(--primary) / .12);--brand-line:hsl(var(--primary) / .4);--ok-c:hsl(var(--ok));--ok-soft:hsl(var(--ok) / .12);--warn-c:#cf8b17;--warn-soft:#cf8b1721;--danger-c:hsl(var(--destructive));--danger-soft:hsl(var(--destructive) / .12);--navy-c:hsl(var(--navy-ink));--txt:hsl(var(--foreground));--txt-2:hsl(var(--muted-foreground));--txt-3:hsl(var(--foreground) / .45);--line:hsl(var(--border));--line-soft:hsl(var(--border) / .5);--surface:hsl(var(--card));--canvas:hsl(var(--background));--font-display:"Fraunces", Georgia, serif;--font-sans:"DM Sans", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", Menlo, monospace;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--r-sm:8px;--r-md:12px;--r-lg:14px;--shadow-sm:0 1px 2px #1217210f, 0 0 0 1px #12172108;--shadow-md:0 6px 20px #12172114, 0 0 0 1px #1217210a}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--canvas);color:var(--txt);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:14px;line-height:1.5}.display,h1.display{font-family:var(--font-display);letter-spacing:-.02em;font-variation-settings:"opsz" 80;margin:0;font-weight:340;line-height:1.05}.display em{color:var(--brand);font-variation-settings:"opsz" 144;font-style:italic}.eyebrow{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--txt-3);font-size:11px}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.muted{color:var(--txt-3)}.secondary{color:var(--txt-2)}.sub{color:var(--txt-2);font-size:13px}a{color:hsl(var(--copper-deep));text-decoration:none}.flex{align-items:center;display:flex}.between{justify-content:space-between}.col{flex-direction:column;display:flex}button{font-family:inherit}.btn{align-items:center;gap:var(--s2);padding:var(--s2) var(--s4);border-radius:var(--r-sm);border:1px solid var(--line);background:hsl(var(--secondary));color:var(--txt);cursor:pointer;justify-content:center;font-size:13px;font-weight:500;transition:background .12s,border-color .12s,transform 60ms;display:inline-flex}.btn:hover{border-color:hsl(var(--foreground) / .2)}.btn:active{transform:translateY(.5px)}.btn:focus-visible{box-shadow:0 0 0 2px var(--canvas), 0 0 0 4px var(--brand-line);outline:none}.btn.primary{background:var(--brand);color:hsl(var(--primary-foreground));border-color:#0000;font-weight:600}.btn.primary:hover{filter:brightness(1.07)}.btn.block{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s5);box-shadow:var(--shadow-sm);color:var(--txt)}.input{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--txt);padding:10px var(--s3);width:100%;font-family:inherit;font-size:13.5px}.input:focus{border-color:var(--brand-line);box-shadow:0 0 0 3px var(--brand-soft);outline:none}.login-screen{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{text-align:center;width:100%;max-width:380px;padding:32px}.login-card .display{margin-bottom:4px;font-size:40px}.login-mark{border-radius:16px;width:64px;height:64px;margin:0 auto 16px;display:block;box-shadow:0 2px 12px #0003}.msg{border-radius:var(--r-sm);text-align:left;margin-bottom:14px;padding:10px 12px;font-size:13px}.msg.err{background:var(--danger-soft);color:var(--danger-c);border:1px solid hsl(var(--destructive) / .3)}.foot{font-family:var(--font-mono);opacity:.5;margin-top:24px;font-size:10px}.app{grid-template-columns:240px 1fr;height:100vh;display:grid}.rail{background:hsl(var(--sidebar-background));color:hsl(var(--sidebar-foreground));border-right:1px solid hsl(var(--sidebar-border));flex-direction:column;gap:0;padding:0;display:flex}.brand{align-items:center;gap:var(--s3);height:64px;padding:0 var(--s4);border-bottom:1px solid hsl(var(--sidebar-border));flex-shrink:0;display:flex}.rail-nav{min-height:0;padding:var(--s3) var(--s2);gap:var(--s1);flex-direction:column;flex:1;display:flex;overflow-y:auto}.brand-logo{border-radius:10px;flex-shrink:0;width:40px;height:40px;box-shadow:0 1px 3px #00000040}.brand-text{flex-direction:column;min-width:0;line-height:1.1;display:flex}.brand .mark{font-family:var(--font-sans);letter-spacing:-.01em;color:hsl(var(--sidebar-foreground));font-size:19px;font-weight:600}.brand .mark em{font-family:var(--font-display);color:hsl(var(--copper-warm));font-variation-settings:"opsz" 144;margin-left:1px;font-size:19px;font-style:italic;font-weight:400}.brand .tag{font-family:var(--font-mono);letter-spacing:.08em;color:hsl(var(--sidebar-foreground) / .45);margin-top:2px;font-size:9.5px}.nav-section{padding:var(--s3) var(--s2) var(--s1);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.18em;color:hsl(var(--sidebar-foreground) / .4);font-size:9px}.nav-item{align-items:center;gap:var(--s3);padding:var(--s2);border-radius:var(--r-sm);color:hsl(var(--sidebar-foreground) / .72);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;font-size:14px;transition:background .12s,color .12s;display:flex}.nav-item:hover{background:hsl(var(--sidebar-foreground) / .06);color:hsl(var(--sidebar-foreground))}.nav-item.active{background:hsl(var(--sidebar-accent));color:hsl(var(--sidebar-foreground))}.nav-item .nav-ico{color:hsl(var(--sidebar-foreground) / .5);flex-shrink:0;transition:color .12s}.nav-item:hover .nav-ico{color:hsl(var(--sidebar-foreground) / .8)}.nav-item.active .nav-ico{color:hsl(var(--copper-warm))}.rail-foot{padding:var(--s3) var(--s2);border-top:1px solid hsl(var(--sidebar-border));margin-top:auto}.ws-chip{align-items:center;gap:var(--s2);padding:var(--s2);display:flex}.ws-chip .av{background:hsl(var(--primary) / .18);width:26px;height:26px;color:hsl(var(--copper-warm));font-family:var(--font-mono);border-radius:7px;flex-shrink:0;place-items:center;font-size:11px;display:grid}.main{flex-direction:column;display:flex;overflow-y:auto}.topbar{padding:var(--s6) var(--s6) var(--s4);background:linear-gradient(var(--canvas) 74%, transparent);z-index:5;position:sticky;top:0}.topbar h1{margin:0;font-size:32px}.topbar .sub{color:var(--txt-3);margin-top:3px;font-size:13px}.content{padding:0 var(--s6) var(--s7);max-width:1400px}.content-flush{padding-top:var(--s6)}.mobile-topbar{align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);z-index:30;background:hsl(var(--sidebar-background));color:hsl(var(--sidebar-foreground));border-bottom:1px solid hsl(var(--sidebar-border));display:none;position:sticky;top:0}.mobile-topbar .burger{border-radius:var(--r-sm);border:1px solid hsl(var(--sidebar-foreground) / .14);background:hsl(var(--sidebar-foreground) / .04);width:38px;height:38px;color:hsl(var(--sidebar-foreground));cursor:pointer;flex-shrink:0;place-items:center;display:grid}.mobile-topbar .m-brand{font-family:var(--font-sans);letter-spacing:-.01em;font-size:17px;font-weight:600}.mobile-topbar .m-brand em{font-family:var(--font-display);color:hsl(var(--copper-warm));font-style:italic;font-weight:400}.rail-close{display:none}.rail-backdrop{z-index:45;background:#00000080;animation:.16s fade-in;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}}@media (width<=720px){.app{height:auto;display:block}.mobile-topbar{display:flex}.rail{z-index:50;width:272px;max-width:82vw;height:auto;transition:transform .22s cubic-bezier(.3,0,0,1.2);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.rail.open{transform:translate(0);box-shadow:0 0 48px #00000073}.rail-close{top:var(--s4);right:var(--s4);border-radius:var(--r-sm);border:1px solid hsl(var(--sidebar-foreground) / .14);width:34px;height:34px;color:hsl(var(--sidebar-foreground) / .7);cursor:pointer;background:0 0;place-items:center;display:grid;position:absolute}.main{overflow-y:visible}.topbar{padding:var(--s5) var(--s4) var(--s3);position:static}.topbar h1{font-size:24px}.content{padding:0 var(--s4) var(--s6)}}@media (width>=721px){.rail-backdrop,.mobile-topbar{display:none}.rail{transform:none}}.grid{gap:var(--s4);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=900px){.grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.grid{grid-template-columns:1fr}}.tile{gap:var(--s4);text-align:left;padding:var(--s5);border-radius:var(--r-lg);background:var(--surface);min-height:158px;color:var(--txt);border:1px solid var(--line);box-shadow:var(--shadow-sm);cursor:pointer;flex-direction:column;transition:transform .16s cubic-bezier(.3,0,0,1.2),border-color .16s,box-shadow .16s;display:flex}.tile:hover{border-color:var(--brand-line);box-shadow:var(--shadow-md);transform:translateY(-3px)}.tile:disabled{cursor:not-allowed;opacity:.6}.tile:disabled:hover{border-color:var(--line);box-shadow:var(--shadow-sm);transform:none}.glyph{object-fit:cover;border-radius:10px;flex-shrink:0;width:44px;height:44px;display:block}.glyph-fallback{font-family:var(--font-mono);color:#fff;place-items:center;font-size:15px;font-weight:600;display:grid}.tile .body{margin-top:auto}.tile .name{letter-spacing:-.01em;align-items:center;gap:8px;font-size:19px;font-weight:600;display:flex}.tile .tagline{color:var(--txt-2);margin-top:3px;font-size:13px}.tile .ext{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--txt-3);font-size:10px}.center{place-items:center;min-height:100vh;padding:24px;display:grid}.spinner{border:2px solid var(--line);border-top-color:var(--brand);border-radius:50%;width:22px;height:22px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty{text-align:center;color:var(--txt-3);padding:var(--s7) var(--s4);border:1px dashed var(--line);border-radius:var(--r-md)}.banner{color:var(--warn-c);background:var(--warn-soft);border-radius:var(--r-sm);border:1px solid #cf8b174d;margin-bottom:20px;padding:10px 14px;font-size:13px}.console-section{animation:.2s fade}@keyframes fade{0%{opacity:0;transform:translateY(4px)}}.table{border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);width:100%;font-size:13.5px;overflow:hidden}.table th{text-align:left;font-family:var(--font-mono);color:var(--txt-3);letter-spacing:.07em;text-transform:uppercase;padding:var(--s3) var(--s4);border-bottom:1px solid var(--line);background:hsl(var(--secondary) / .5);font-size:10.5px;font-weight:500}.table td{padding:13px var(--s4);border-bottom:1px solid var(--line-soft)}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:hsl(var(--secondary) / .35)}.badge{font-family:var(--font-mono);border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:11px;font-weight:500}.badge.ok{color:var(--ok-c);border-color:hsl(var(--ok) / .4);background:var(--ok-soft)}.badge.off{color:var(--danger-c);border-color:hsl(var(--destructive) / .4);background:var(--danger-soft)}.badge.warn{color:var(--warn-c);border-color:color-mix(in srgb, var(--warn-c) 40%, transparent);background:var(--warn-soft)}.btn.btn-danger{color:var(--danger-c);border-color:color-mix(in srgb, var(--danger-c) 35%, transparent)}.btn.btn-danger:hover:not(:disabled){background:var(--danger-soft);border-color:color-mix(in srgb, var(--danger-c) 55%, transparent)}.chips{margin-bottom:var(--s5);flex-wrap:wrap;align-items:center;gap:10px;display:flex}.chips-label{font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--txt-3);margin-right:4px;font-size:10.5px}.chip{font-family:var(--font-mono);border:1px solid var(--line);background:var(--surface);color:var(--txt-2);border-radius:999px;align-items:center;gap:7px;padding:5px 11px;font-size:12px;display:inline-flex}.chip-off{opacity:.55}.chip-dot{border-radius:50%;width:8px;height:8px}.hint{color:var(--txt-3);margin-top:var(--s4);font-size:12px}.sub-card{gap:var(--s4);flex-direction:column;min-height:192px;display:flex}.sub-glyph{width:40px;height:40px;font-size:14px}.sub-name{letter-spacing:-.01em;font-size:17px;font-weight:600}.sub-tag{color:var(--txt-2);margin-top:3px;font-size:12.5px}.sub-foot{margin-top:auto}.sub-note{color:var(--txt-2);flex-direction:column;gap:3px;font-size:12.5px;display:flex}.sub-note .hint{margin-top:0}.theme-grid{gap:var(--s4);grid-template-columns:repeat(auto-fill,minmax(250px,1fr));display:grid}.theme-card{border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s3);background:var(--surface);cursor:pointer;box-shadow:var(--shadow-sm);transition:border-color .12s,box-shadow .12s}.theme-card:hover{border-color:var(--brand-line)}.theme-card.active{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand), var(--shadow-md)}.theme-prev{border-radius:var(--r-md);border:1px solid hsl(var(--foreground) / .06);height:116px;display:flex;overflow:hidden}.theme-prev .pv-side{flex-direction:column;gap:7px;width:34%;padding:10px;display:flex}.theme-prev .pv-main{flex-direction:column;flex:1;gap:7px;padding:10px;display:flex}.theme-name{font-family:var(--font-display);margin-top:var(--s3);font-size:16px;font-weight:360}.theme-tag{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--txt-3);font-size:10px}.theme-desc{color:var(--txt-2);margin-top:6px;font-size:12px;line-height:1.5}.theme-active-pill{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;background:var(--brand-soft);color:var(--brand);border-radius:999px;padding:2px 8px;font-size:10px}.usage-tile{cursor:default;flex-direction:column;gap:10px;display:flex}.usage-title{color:hsl(var(--foreground));font-size:15px}.usage-row{flex-direction:column;gap:4px;display:flex}.usage-head{justify-content:space-between;align-items:baseline;display:flex}.usage-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:hsl(var(--muted-foreground));font-size:10px}.usage-pct{color:hsl(var(--foreground));font-variant-numeric:tabular-nums;font-size:13px}.usage-track{background:hsl(var(--muted-foreground) / .15);border-radius:999px;height:6px;overflow:hidden}.usage-fill{border-radius:999px;height:100%;transition:width .3s}.usage-fill.ok{background:hsl(var(--ok))}.usage-fill.warn{background:#d99a2b}.usage-fill.crit{background:hsl(var(--destructive))}.usage-note{color:hsl(var(--muted-foreground));margin:0;font-size:11px}.usage-warn{color:#d99a2b}.ayuda{vertical-align:middle;margin-left:var(--s3);display:inline-flex;position:relative}.ayuda-btn{border:1px solid var(--border);width:22px;height:22px;color:var(--txt-3);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:color .15s,border-color .15s;display:inline-flex}.ayuda-btn:hover,.ayuda-btn[aria-expanded=true]{color:hsl(var(--copper-warm));border-color:hsl(var(--copper-warm))}.ayuda-btn:focus-visible,.ayuda-cerrar:focus-visible{outline:2px solid hsl(var(--copper-warm));outline-offset:2px}.ayuda-pop{z-index:40;width:min(420px,100vw - 48px);padding:var(--s4);background:var(--surface);border:1px solid var(--border);text-align:left;cursor:default;border-radius:12px;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 10px 30px #00000024}.ayuda-pop:focus{outline:none}.ayuda-pop-head{align-items:flex-start;gap:var(--s3);margin-bottom:var(--s2);display:flex}.ayuda-pop-title{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:hsl(var(--copper-warm));flex:1;font-size:10.5px}.ayuda-cerrar{color:var(--txt-3);cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.ayuda-pop-body{font-family:var(--font-sans);color:var(--txt-2,var(--txt));letter-spacing:normal;font-size:13px;font-weight:400;line-height:1.55}.ayuda-pop-body p{margin:0 0 var(--s3)}.ayuda-pop-body p:last-child{margin-bottom:0}.ayuda-pop-body strong{font-weight:600}@media (width<=720px){.ayuda-pop{top:auto;left:var(--s3);right:var(--s3);bottom:var(--s3);width:auto;max-height:70vh;position:fixed;overflow-y:auto}}.agentes-resumen{gap:var(--s3);margin-bottom:var(--s5);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));display:grid}.agentes-indicador{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s3) var(--s4);flex-direction:column;gap:2px;display:flex}.agentes-indicador-top{color:var(--txt);align-items:baseline;gap:6px;display:flex}.agentes-indicador-top svg{opacity:.65;align-self:center}.agentes-indicador-top strong{font-family:var(--font-mono);font-size:20px;line-height:1.1}.agentes-indicador-top span{color:var(--txt-3);font-size:12.5px}.agentes-filtro{justify-content:space-between;align-items:center;gap:var(--s3);margin-bottom:var(--s3);flex-wrap:wrap;display:flex}.fila-clicable{cursor:pointer}.fila-clicable:hover td{background:var(--sidebar-accent,#7f7f7f0f)}.aud-panel{background:var(--surface);border-left:1px solid var(--line);width:min(440px,100vw);box-shadow:var(--shadow-md);padding:var(--s5);z-index:40;position:fixed;top:0;bottom:0;right:0;overflow-y:auto}@media (width<=640px){.aud-panel{width:100vw}}.aud-panel-cabecera{justify-content:space-between;align-items:flex-start;gap:var(--s3);margin-bottom:var(--s4);display:flex}.aud-ficha{gap:6px var(--s3);margin:0 0 var(--s5);grid-template-columns:minmax(130px,auto) 1fr;font-size:13px;display:grid}.aud-ficha dt{color:var(--txt-3)}.aud-ficha dd{color:var(--txt);overflow-wrap:anywhere;margin:0}.aud-titulo{margin:var(--s5) 0 var(--s3);color:var(--txt);align-items:center;gap:6px;font-size:13px;display:flex}.aud-linea{margin:0 0 var(--s4);padding-left:var(--s4);font-size:13px}.aud-linea li{color:var(--txt-3);margin-bottom:4px}.aud-linea li.actual{color:var(--txt);font-weight:600}.aud-productos{margin:0;padding:0;font-size:13px;list-style:none}.aud-productos li{padding:var(--s3) 0;border-bottom:1px solid var(--line-soft,var(--line))}.aud-productos li:last-child{border-bottom:0}.aud-exportar{border:1px solid var(--border);background:var(--card);border-radius:12px;margin-bottom:18px;padding:16px 18px}.aud-exportar header h3{font-family:var(--font-display);margin:0 0 4px;font-size:18px;font-weight:340}.aud-exportar header p{color:var(--muted-foreground,#6b6457);max-width:68ch;margin:0 0 14px;font-size:13px;line-height:1.5}.aud-exportar-form{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.aud-exportar-form label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--muted-foreground,#6b6457);flex-direction:column;gap:4px;font-size:11px;display:flex}.aud-exportar-form input{font:inherit;font-family:var(--font-sans);text-transform:none;letter-spacing:normal;color:var(--foreground,#1b1813);border:1px solid var(--border);background:var(--background);border-radius:8px;padding:7px 10px;font-size:14px}.aud-propiedades{flex-direction:column;gap:8px;margin:16px 0 0;padding:0;list-style:none;display:flex}.aud-propiedades li{color:var(--muted-foreground,#6b6457);align-items:flex-start;gap:8px;font-size:13px;line-height:1.5;display:flex}.aud-propiedades svg{color:var(--ok);flex:none;margin-top:3px}.aud-manifiesto{border-top:1px dashed var(--border);margin-top:16px;padding-top:14px;font-size:13px;line-height:1.55}.aud-manifiesto p{margin:0 0 6px}.aud-advertencias{border-left:3px solid var(--primary);background:color-mix(in srgb, var(--primary) 7%, transparent);border-radius:0 8px 8px 0;margin-top:12px;padding:12px 14px}.aud-advertencias>p{align-items:center;gap:6px;margin:0 0 8px;display:flex}.aud-advertencias ul{margin:0;padding-left:18px}.aud-advertencias li{margin-bottom:6px}@media (width<=560px){.aud-exportar-form{flex-direction:column;align-items:stretch}.aud-exportar-form .btn{justify-content:center;width:100%}}
