:root{--bg: #17191c;--band: #1f2225;--fg: #e9e6df;--muted: #8b8a84;--line: #33363a;--accent: #ff5a2d;--on-accent: #1a0a05;--sans: "Archivo Narrow", system-ui, sans-serif;--mono: "Martian Mono", ui-monospace, "Cascadia Mono", monospace;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.45 var(--sans)}h1,h2,h3,h4,h5{line-height:1.2;margin:0}h2{font-size:22px;font-weight:700;margin-bottom:14px}h3{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600;margin:22px 0 8px}a{color:inherit;text-decoration:none}p{margin:0}.muted{color:var(--muted)}.small{font-size:13px}.center{text-align:center;padding:24px}.num,td,.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}main{min-width:0}.page{padding:20px 24px;max-width:960px}.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding:18px 0 14px;background:#121416;border-right:1px solid var(--line)}.sidebar .brand{font-weight:700;font-size:16px;line-height:1.2;letter-spacing:.12em;text-transform:uppercase;padding:0 20px 6px}.sidebar .new{margin:8px 20px 10px;text-align:center;padding:9px 12px}.sidebar nav{display:flex;flex-direction:column;margin-top:10px}.sidebar h5{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600;padding:0 20px 6px}.side-item{display:flex;align-items:center;gap:8px;padding:7px 20px;font-size:15px;color:var(--muted)}.side-item:hover{background:var(--band);color:var(--fg)}.side-item.active{background:var(--band);color:var(--fg);box-shadow:inset 3px 0 0 var(--fg)}.side-item>span:first-child{flex:1}.cnt{font-family:var(--mono);font-size:11px;color:var(--muted)}.recent-item{font-size:14px}.recent-item .n{font-family:var(--mono);font-size:11px;color:var(--muted);flex:none!important}.recent-item .lbl{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dot{width:8px;height:8px;border:1.5px solid var(--muted);flex:none}.dot.aceito{background:var(--fg);border-color:var(--fg)}.dot.rejeitado{background:var(--accent);border-color:var(--accent)}.side-note{padding:0 20px}.side-user{margin-top:auto;padding:14px 20px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:2px;align-items:flex-start}.side-user .mono{font-size:11px;word-break:break-all}.side-user .link{margin-top:6px}button,.btn{font:inherit;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;padding:9px 18px;border:1px solid var(--fg);background:transparent;color:var(--fg);cursor:pointer;display:inline-block;border-radius:0}button:hover:not(:disabled),.btn:hover{background:var(--band)}button:disabled{opacity:.4;cursor:default}button.primary,.btn.primary{background:var(--fg);color:var(--bg)}button.primary:hover:not(:disabled),.btn.primary:hover{background:#fff}.btn.hot,button.hot{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}button.link{border:0;padding:0;background:none;color:var(--muted);letter-spacing:.08em}button.link:hover{background:none;color:var(--fg)}button.danger:hover{color:var(--accent)}label.field{display:flex;flex-direction:column;gap:4px;margin:12px 0}label.field>span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600}label.field em.hint{font-style:normal;font-size:12.5px;color:var(--muted)}label.field em.ex{font-family:var(--mono);font-size:11.5px}input,select{font:inherit;font-family:var(--mono);font-size:14px;padding:9px 12px;border:1px solid var(--line);border-radius:0;background:var(--band);color:var(--fg);width:100%}select{font-family:var(--sans);font-size:16px}input:focus,select:focus{border-color:var(--accent);outline:none}input[aria-invalid=true]{border-color:var(--accent)}.error{color:var(--accent);font-weight:600}.warn{border:1.5px solid var(--accent);padding:10px 14px;font-size:15px}.warn b{color:var(--accent)}.st{font-size:11px;font-weight:700;letter-spacing:.14em;padding:2px 8px;text-transform:uppercase;border:1.5px solid var(--fg);white-space:nowrap}.st.aceito{background:var(--fg);color:var(--bg)}.st.rejeitado{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.login{max-width:380px;margin:14vh auto 0;padding:28px;border:1px solid var(--line);background:var(--band)}.login h1{font-size:24px;line-height:1.2;letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px}.login button{width:100%;margin-top:10px}.log{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);min-height:100vh}.log-list{border-right:1px solid var(--line);min-width:0}.log-list .bar{display:flex;gap:12px;align-items:center;padding:12px 22px;border-bottom:1px solid var(--line);font-size:15px}.log-list .bar strong{font-size:13px;letter-spacing:.14em;text-transform:uppercase}.log-list .bar .search{margin-left:auto;width:240px;max-width:50%;padding:6px 10px;font-family:var(--sans);font-size:14px}.entry{display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 22px;border-bottom:1px solid var(--line)}.entry:hover{background:#1b1d20}.entry.active{background:var(--band);box-shadow:inset 3px 0 0 var(--fg)}.entry .n{font-family:var(--mono);font-size:11px;color:var(--muted)}.entry h6{margin:0;font-size:17px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry small{font-size:13px;color:var(--muted)}.log-detail{background:var(--band);min-width:0}.detail{padding:20px 24px;display:flex;flex-direction:column;gap:16px}.detail .ref{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}.detail h2{font-size:24px;margin:2px 0 0}.kbig small,.pair small{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.kbig strong{font-family:var(--mono);font-weight:500;font-size:clamp(34px,5vw,50px);line-height:1.1;color:var(--accent);letter-spacing:-.03em}.pair{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.pair>div{padding:10px 0;min-width:0}.pair>div+div{padding-left:16px;border-left:1px solid var(--line)}.pair span{font-family:var(--mono);font-size:14px}.back{display:none;padding:12px 22px;border-bottom:1px solid var(--line);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.detail-empty{padding:40px 24px;color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:4px}.actions .link{margin-left:auto}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600;padding:6px 10px 6px 0;border-bottom:1px solid var(--fg);white-space:nowrap}td{padding:9px 10px 9px 0;border-bottom:1px solid var(--line);font-size:12px;white-space:nowrap}td:first-child{font-family:var(--sans);font-weight:700;font-size:16px}th:not(:first-child),td:not(:first-child){text-align:right}.table-wrap{overflow-x:auto}details{margin-top:4px}summary{cursor:pointer;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:4px 0}.wizard{max-width:880px;margin:0 auto;padding:20px 24px 40px}.steps{display:flex;list-style:none;padding:0;margin:0 0 22px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.steps li{flex:1;padding:7px 10px 0 0;border-top:2px solid var(--line);min-width:0}.steps li.on{color:var(--fg);border-color:var(--accent)}.steps li.done{color:var(--fg);border-color:var(--fg)}.steps li span{font-family:var(--mono);margin-right:6px}.panel{border:1px solid var(--line);background:var(--band);padding:22px 24px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 18px}.choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-bottom:8px}.choice{text-align:left;text-transform:none;letter-spacing:0;display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-color:var(--line);font-size:16px}.choice small{font-weight:400;color:var(--muted);font-size:13px}.choice.on{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent);background:var(--bg)}.draw{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:22px;align-items:center;margin-top:10px}.diagram{width:100%;height:auto;display:block;background:var(--bg);border:1px solid var(--line)}.diagram .body{fill:var(--band);stroke:var(--fg);stroke-width:1.4}.diagram .dim,.diagram .ray{stroke:var(--accent);stroke-width:1.2;fill:none}.diagram .dash{stroke:var(--accent);stroke-width:1.2;stroke-dasharray:4 3;fill:none}.diagram .src{fill:var(--accent)}.diagram text{fill:var(--accent);font-family:var(--mono);font-size:12px}.diagram text.cap{fill:var(--muted);font-size:10px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.chip{text-transform:none;letter-spacing:0;font-family:var(--mono);font-weight:400;font-size:12px;padding:5px 10px;border-color:var(--line)}.chip.on{background:var(--fg);color:var(--bg);border-color:var(--fg)}.seg{display:inline-flex;margin-bottom:8px}.seg button{margin-right:-1px;font-size:12px}.seg button.on{background:var(--fg);color:var(--bg)}.shield{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:14px;align-items:end;border-bottom:1px solid var(--line)}.shield>.link{margin-bottom:18px}.summary{margin-top:18px;padding-top:12px;border-top:1px solid var(--line)}.nav{display:flex;justify-content:space-between;margin-top:22px}@media (max-width: 820px){.log{grid-template-columns:1fr}.log-list{border-right:0}.log.has-detail .log-list{display:none}.log:not(.has-detail) .log-detail{display:none}.back{display:block}.draw{grid-template-columns:1fr}.shield{grid-template-columns:1fr 1fr}.steps li{font-size:0;padding-right:4px}.steps li span{font-size:12px}.app{grid-template-columns:1fr}.sidebar{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 14px;padding:12px 16px;border-right:0;border-bottom:1px solid var(--line)}.sidebar .brand,.sidebar .new{padding:0;margin:0}.sidebar nav{flex-direction:row;flex-wrap:wrap;margin:0}.sidebar h5,.sidebar .recent,.side-user .small{display:none}.side-item{padding:6px 8px}.side-user{margin:0 0 0 auto;padding:0;border:0}.log{min-height:0}}
