:root{color-scheme:light dark;--bg: light-dark(oklch(.97 .003 235), oklch(.183 .007 235));--surface: light-dark(oklch(1 0 235), oklch(.223 .008 235));--surface-2: light-dark(oklch(.951 .004 235), oklch(.264 .009 235));--border: light-dark(oklch(.902 .005 235), oklch(.313 .01 235));--border-strong: light-dark(oklch(.822 .007 235), oklch(.396 .011 235));--ink: light-dark(oklch(.242 .01 235), oklch(.948 .004 235));--ink-muted: light-dark(oklch(.468 .009 235), oklch(.738 .007 235));--nav: light-dark(oklch(.252 .009 235), oklch(.205 .008 235));--nav-2: light-dark(oklch(.312 .01 235), oklch(.262 .009 235));--nav-ink: oklch(.962 .003 235);--nav-ink-muted: oklch(.76 .006 235);--brand: light-dark(oklch(.492 .098 162), oklch(.735 .098 162));--brand-ink: light-dark(oklch(.995 .004 162), oklch(.19 .03 162));--brand-soft: light-dark(oklch(.948 .026 162), oklch(.288 .034 162));--st-on: light-dark(oklch(.47 .112 158), oklch(.76 .115 158));--st-on-bg: light-dark(oklch(.952 .028 158), oklch(.283 .04 158));--st-wait: light-dark(oklch(.518 .108 72), oklch(.8 .115 78));--st-wait-bg: light-dark(oklch(.96 .03 78), oklch(.293 .04 68));--st-off: light-dark(oklch(.512 .006 235), oklch(.705 .006 235));--st-off-bg: light-dark(oklch(.936 .004 235), oklch(.283 .008 235));--st-bad: light-dark(oklch(.512 .148 25), oklch(.73 .125 25));--st-bad-bg: light-dark(oklch(.96 .022 25), oklch(.287 .048 25));--focus: light-dark(oklch(.492 .098 162), oklch(.78 .1 162));--font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--t-xs: .75rem;--t-sm: .8125rem;--t-md: .875rem;--t-base: 1rem;--t-lg: 1.125rem;--t-xl: 1.375rem;--t-2xl: 1.75rem;--s-1: .25rem;--s-2: .5rem;--s-3: .75rem;--s-4: 1rem;--s-5: 1.5rem;--s-6: 2rem;--s-7: 3rem;--r-sm: .375rem;--r-md: .5rem;--r-lg: .75rem;--r-full: 999px;--shadow-sm: 0 1px 2px light-dark(oklch(.2 .02 158 / .06), oklch(0 0 0 / .3));--shadow-md: 0 4px 16px light-dark(oklch(.2 .02 158 / .08), oklch(0 0 0 / .4));--z-base: 0;--z-sticky: 100;--z-nav: 200;--z-overlay: 300;--z-toast: 400;--ease: cubic-bezier(.25, 1, .5, 1);--dur: .17s}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font);font-size:var(--t-md);line-height:1.5;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;line-height:1.25;text-wrap:balance}h1{font-size:var(--t-2xl);font-weight:650;letter-spacing:-.015em}h2{font-size:var(--t-lg);font-weight:620;letter-spacing:-.01em}h3{font-size:var(--t-md);font-weight:620}p{margin:0;text-wrap:pretty}a{color:var(--brand);text-decoration-color:color-mix(in oklch,var(--brand) 35%,transparent);text-underline-offset:2px}a:hover{text-decoration-color:currentColor}code,.mono{font-family:var(--font-mono);font-size:.92em}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--r-sm)}.muted{color:var(--ink-muted)}.tnum{font-variant-numeric:tabular-nums}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--s-3);top:-3rem;z-index:var(--z-toast);background:var(--surface);color:var(--ink);padding:var(--s-2) var(--s-3);border:1px solid var(--border-strong);border-radius:var(--r-md);transition:top var(--dur) var(--ease)}.skip-link:focus{top:var(--s-3)}.shell{min-height:100dvh;display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr auto;grid-template-areas:"top" "main" "nav"}.topbar{grid-area:top;display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);background:var(--nav);color:var(--nav-ink);position:sticky;top:0;z-index:var(--z-sticky)}.topbar .brand{font-weight:620;font-size:var(--t-md);letter-spacing:-.01em}.topbar .spacer{flex:1}.rail{display:none}.botnav{grid-area:nav;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--surface);border-top:1px solid var(--border);position:sticky;bottom:0;z-index:var(--z-nav);padding-bottom:env(safe-area-inset-bottom)}.botnav a{display:grid;justify-items:center;align-content:center;gap:2px;min-height:3.25rem;padding:var(--s-2);font-size:var(--t-xs);font-weight:550;color:var(--ink-muted);text-decoration:none;transition:color var(--dur) var(--ease),background var(--dur) var(--ease)}.botnav a[aria-current=page]{color:var(--brand);background:var(--brand-soft)}.botnav .ico{font-size:1.05rem;line-height:1}.main{grid-area:main;min-width:0;padding:var(--s-5) var(--s-4) var(--s-6)}.wrap{max-width:84rem;margin-inline:auto}@media(min-width:900px){.shell{grid-template-columns:15rem 1fr;grid-template-rows:1fr;grid-template-areas:"rail main"}.topbar,.botnav{display:none}.rail{grid-area:rail;display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-4) var(--s-3);background:var(--nav);color:var(--nav-ink);border-right:1px solid light-dark(oklch(.312 .01 235),oklch(.262 .009 235));position:sticky;top:0;height:100dvh;z-index:var(--z-nav)}.rail .brand{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-2) var(--s-4);font-weight:620;font-size:var(--t-base);letter-spacing:-.015em}.rail nav{display:grid;gap:2px}.rail nav a{position:relative;display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);border-radius:var(--r-md);color:var(--nav-ink-muted);text-decoration:none;font-size:var(--t-md);font-weight:500;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.rail nav a:hover{background:var(--nav-2);color:var(--nav-ink)}.rail nav a[aria-current=page]{background:var(--nav-2);color:var(--nav-ink);font-weight:600}.rail nav a[aria-current=page] .ico{color:var(--brand)}.rail .ico{width:1.15rem;text-align:center}.rail .marca{color:var(--brand);display:flex}.rail .foot{margin-top:auto;display:grid;gap:var(--s-3)}.rail .who{font-size:var(--t-xs);color:var(--nav-ink-muted);padding:0 var(--s-3);overflow-wrap:anywhere}.main{padding:var(--s-6) var(--s-6) var(--s-7)}}.on-nav{background:transparent;border:1px solid color-mix(in oklch,var(--nav-ink) 24%,transparent);color:var(--nav-ink);border-radius:var(--r-md);padding:var(--s-2) var(--s-3);font:inherit;font-size:var(--t-sm);cursor:pointer;transition:background var(--dur) var(--ease)}.on-nav:hover{background:var(--nav-2)}.tema{display:inline-grid;grid-auto-flow:column;gap:2px;padding:2px;border-radius:var(--r-md);background:color-mix(in oklch,var(--nav-ink) 10%,transparent);border:1px solid color-mix(in oklch,var(--nav-ink) 16%,transparent)}.tema button{display:grid;place-items:center;gap:var(--s-2);grid-auto-flow:column;min-height:1.85rem;padding:0 var(--s-3);border:0;border-radius:calc(var(--r-md) - 2px);background:transparent;color:var(--nav-ink-muted);font:inherit;font-size:var(--t-xs);font-weight:550;cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.tema button:hover{color:var(--nav-ink)}.tema button[aria-pressed=true]{background:color-mix(in oklch,var(--nav-ink) 22%,transparent);color:var(--nav-ink);box-shadow:var(--shadow-sm)}.tema svg{display:block}.rail .tema{width:100%;grid-auto-columns:1fr}.rail .tema button{padding:0 var(--s-1);gap:var(--s-1);min-width:0}.topbar .tema button{padding:0 var(--s-3)}.topbar .tema .txt{display:none}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap;margin-bottom:var(--s-5)}.page-head .titles{display:grid;gap:var(--s-1);min-width:0}.page-head .sub{color:var(--ink-muted);font-size:var(--t-md)}.page-head .acts{display:flex;gap:var(--s-2);flex-wrap:wrap}.back{display:inline-flex;align-items:center;gap:var(--s-1);font-size:var(--t-sm);color:var(--ink-muted);text-decoration:none;margin-bottom:var(--s-3)}.back:hover{color:var(--ink)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.panel>.panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap;padding:var(--s-4) var(--s-4) var(--s-3);border-bottom:1px solid var(--border)}.panel>.panel-head .hint{font-size:var(--t-sm);color:var(--ink-muted)}.panel>.panel-body{padding:var(--s-4)}.panel.danger{border-color:color-mix(in oklch,var(--st-bad) 45%,var(--border))}.cols{display:grid;gap:var(--s-5);align-items:start}@media(min-width:1100px){.cols.split{grid-template-columns:minmax(20rem,26rem) minmax(0,1fr)}}.stack{display:grid;gap:var(--s-4)}.stack.tight{gap:var(--s-3)}.state{display:inline-flex;align-items:center;gap:var(--s-2);padding:var(--s-1) var(--s-3) var(--s-1) var(--s-2);border-radius:var(--r-full);font-size:var(--t-xs);font-weight:600;white-space:nowrap;border:1px solid transparent}.state .dot{font-size:.7rem;line-height:1}.state.on{color:var(--st-on);background:var(--st-on-bg);border-color:color-mix(in oklch,var(--st-on) 28%,transparent)}.state.wait{color:var(--st-wait);background:var(--st-wait-bg);border-color:color-mix(in oklch,var(--st-wait) 30%,transparent)}.state.off{color:var(--st-off);background:var(--st-off-bg);border-color:color-mix(in oklch,var(--st-off) 26%,transparent)}.state.bad{color:var(--st-bad);background:var(--st-bad-bg);border-color:color-mix(in oklch,var(--st-bad) 30%,transparent)}.state.wait .dot{animation:pulso 1.6s var(--ease) infinite}@keyframes pulso{0%,to{opacity:1}50%{opacity:.35}}.meter{display:grid;gap:var(--s-1);min-width:7rem}.meter .lab{display:flex;justify-content:space-between;gap:var(--s-2);font-size:var(--t-xs);color:var(--ink-muted)}.meter .lab b{color:var(--ink);font-weight:620;font-variant-numeric:tabular-nums}.meter .track{height:6px;border-radius:var(--r-full);background:var(--surface-2);overflow:hidden}.meter .fill{height:100%;border-radius:inherit;background:var(--brand);transition:width var(--dur) var(--ease)}.meter[data-level=alto] .fill{background:var(--st-wait)}.meter[data-level=lleno] .fill{background:var(--st-bad)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:2.25rem;padding:var(--s-2) var(--s-4);border-radius:var(--r-md);border:1px solid transparent;background:var(--brand);color:var(--brand-ink);font:inherit;font-size:var(--t-md);font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),opacity var(--dur) var(--ease)}.btn:hover{background:color-mix(in oklch,var(--brand) 86%,var(--ink))}.btn:active{transform:translateY(.5px)}.btn.ghost{background:var(--surface);color:var(--ink);border-color:var(--border-strong)}.btn.ghost:hover{background:var(--surface-2)}.btn.quiet{background:transparent;color:var(--ink-muted);border-color:transparent;padding-inline:var(--s-3)}.btn.quiet:hover{background:var(--surface-2);color:var(--ink)}.btn.quiet.dgr:hover{background:var(--st-bad-bg);color:var(--st-bad)}.btn.danger{background:transparent;color:var(--st-bad);border-color:color-mix(in oklch,var(--st-bad) 40%,transparent)}.btn.danger:hover{background:var(--st-bad-bg)}.btn.danger.solid{background:var(--st-bad);color:light-dark(white,oklch(.16 .03 26));border-color:transparent}.btn.sm{min-height:1.9rem;padding:var(--s-1) var(--s-3);font-size:var(--t-sm)}.btn[disabled],.btn[aria-disabled=true]{opacity:.45;pointer-events:none}.btn.block{width:100%}.btn-row{display:flex;gap:var(--s-2);flex-wrap:wrap}.btn-row.end{justify-content:flex-end}.field{display:grid;gap:var(--s-2)}.field>label{font-size:var(--t-sm);font-weight:550;color:var(--ink)}.field .help{font-size:var(--t-xs);color:var(--ink-muted)}input,select,textarea{width:100%;min-height:2.5rem;padding:var(--s-2) var(--s-3);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--t-md);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}textarea{min-height:6rem;resize:vertical;line-height:1.5}input:hover,select:hover,textarea:hover{border-color:var(--ink-muted)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in oklch,var(--brand) 22%,transparent)}input::placeholder,textarea::placeholder{color:var(--ink-muted);opacity:1}select{appearance:none;padding-right:var(--s-6);background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:right 1.05rem center,right .8rem center;background-size:.3rem .3rem,.3rem .3rem;background-repeat:no-repeat}input.code{font-family:var(--font-mono);font-size:var(--t-lg);letter-spacing:.35em;text-align:center}.tbl{width:100%;border-collapse:collapse;font-size:var(--t-md)}.tbl th{text-align:left;font-size:var(--t-xs);font-weight:600;letter-spacing:.02em;color:var(--ink-muted);padding:var(--s-3) var(--s-4);background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap}.tbl td{padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--border);vertical-align:middle}.tbl tr:last-child td{border-bottom:0}.tbl tbody tr{transition:background var(--dur) var(--ease)}.tbl tbody tr:hover{background:var(--surface-2)}.tbl .end{text-align:right}.tbl .nowrap{white-space:nowrap}.cell-main{display:grid;gap:2px}.cell-main b{font-weight:620}.cell-main .sub{font-size:var(--t-xs);color:var(--ink-muted);overflow-wrap:anywhere}@media(max-width:719px){.tbl,.tbl tbody,.tbl tr,.tbl td{display:block}.tbl thead{display:none}.tbl tr{padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--border)}.tbl tr:hover{background:transparent}.tbl td{display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:var(--s-3);align-items:center;justify-items:start;padding:var(--s-2) 0;border:0}.tbl td>.cell-main,.tbl td>form{width:100%}.tbl td .btn-row form{width:auto}.tbl td:before{content:attr(data-label);font-size:var(--t-xs);font-weight:600;color:var(--ink-muted)}.tbl td[data-label=""]{grid-template-columns:1fr}.tbl td[data-label=""]:before{display:none}.tbl .end{text-align:left}.tbl .btn-row.end{justify-content:flex-start}}.msg{display:flex;align-items:flex-start;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);border:1px solid transparent;font-size:var(--t-md);margin-bottom:var(--s-4)}.msg .ico{flex:none;font-weight:700}.msg.ok{color:var(--st-on);background:var(--st-on-bg);border-color:color-mix(in oklch,var(--st-on) 28%,transparent)}.msg.err{color:var(--st-bad);background:var(--st-bad-bg);border-color:color-mix(in oklch,var(--st-bad) 30%,transparent)}.msg.warn{color:var(--st-wait);background:var(--st-wait-bg);border-color:color-mix(in oklch,var(--st-wait) 30%,transparent)}.empty{display:grid;justify-items:center;gap:var(--s-3);padding:var(--s-7) var(--s-4);text-align:center}.empty .ico{width:2.75rem;height:2.75rem;display:grid;place-items:center;border-radius:var(--r-full);background:var(--brand-soft);color:var(--brand);font-size:1.25rem}.empty h2{font-size:var(--t-base)}.empty p{color:var(--ink-muted);max-width:42ch}.kv{display:grid;gap:var(--s-1)}.kv dt{font-size:var(--t-xs);color:var(--ink-muted)}.kv dd{margin:0;font-size:var(--t-md);font-weight:550}.chip{display:inline-flex;align-items:center;gap:var(--s-1);padding:var(--s-1) var(--s-2);border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--border);font-family:var(--font-mono);font-size:var(--t-xs)}.qr-frame{display:grid;place-items:center;min-height:15rem;padding:var(--s-4);background:#fff;border-radius:var(--r-md);border:1px solid var(--border)}.qr-frame img{display:block;width:100%;max-width:15rem;height:auto}.steps{margin:0;padding-left:1.1rem;display:grid;gap:var(--s-2);color:var(--ink-muted);font-size:var(--t-sm)}.auth{min-height:100dvh;display:grid;place-items:center;padding:var(--s-4);background:var(--bg)}.auth-card{width:100%;max-width:26rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-6);box-shadow:var(--shadow-md)}.auth-card.wide{max-width:40rem}.auth-brand{display:flex;align-items:center;gap:var(--s-2);font-weight:620;font-size:var(--t-lg);letter-spacing:-.015em;margin-bottom:var(--s-1)}.auth-brand .dot{color:var(--st-on)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.state.wait .dot{opacity:1}}
