:root{--bg: #f6f7f9;--panel: #fff;--text: #1d2330;--muted: #6b7280;--line: #e3e6eb;--accent: #714b67;--good: #16794c;--bad: #b42318;--warn: #a15c07;--code: #0f172a;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #12151b;--panel: #1b1f27;--text: #e6e8ec;--muted: #9aa3b2;--line: #2c323d;--accent: #c08ab3;--good: #4ade80;--bad: #f87171;--warn: #fbbf24;--code: #0b0e13;color-scheme:dark}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.45 system-ui,sans-serif}header,nav,main{padding-inline:16px}header{display:flex;align-items:center;gap:12px;padding-block:12px;background:var(--panel);border-bottom:1px solid var(--line)}h1{font-size:18px;margin:0;flex:1}h1 small{color:var(--muted);font-weight:400;margin-left:6px}h2{font-size:16px;margin:0}nav,.tabs{display:flex;flex-wrap:wrap;gap:4px;padding-block:8px}nav button,.tabs button{border:0;background:none;color:var(--text);padding:6px 12px;border-radius:6px;cursor:pointer}nav button.active,.tabs button.active{background:var(--accent);color:#fff}main{padding-block:8px 40px;max-width:1300px}section{display:flex;flex-direction:column;gap:12px}.row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.spacer{flex:1}.muted{color:var(--muted)}.good{color:var(--good)}.bad{color:var(--bad)}.warn{color:var(--warn)}.error{color:var(--bad);white-space:pre-wrap}input,select{font:inherit;color:inherit;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:5px 8px}.btn{font:inherit;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:6px;padding:6px 12px;cursor:pointer}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.small{padding:2px 8px;font-size:12px}.btn.active{border-color:var(--accent);color:var(--accent);font-weight:600}.btn:disabled{opacity:.6;cursor:wait}.toggle{display:flex;gap:6px;align-items:center;font-weight:600;cursor:pointer}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}.card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:10px;display:flex;flex-direction:column}.card span{color:var(--muted);font-size:12px}.card b{font-size:20px}.table-wrap{overflow-x:auto;background:var(--panel);border:1px solid var(--line);border-radius:8px}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:6px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;color:var(--muted);position:sticky;top:0;background:var(--panel)}.dot:before{content:"●";margin-right:6px;color:var(--muted)}.dot.online:before{color:var(--good)}.dot.away:before{color:var(--warn)}.code-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:8px 12px}.code-panel summary{cursor:pointer;font-weight:600}.entry{border-top:1px solid var(--line);padding-top:8px;margin-top:8px}.entry-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.tag{font-size:11px;font-weight:700;padding:1px 6px;border-radius:4px;color:#fff}.tag.odoo{background:#714b67}.tag.aspel{background:#1f5fa8}pre{background:var(--code);color:#e2e8f0;padding:10px;border-radius:6px;overflow-x:auto;font-size:12px;margin:6px 0 0}.settings fieldset{background:var(--panel);border:1px solid var(--line);border-radius:8px;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}.settings legend{font-weight:600;padding:0 6px}.settings label{display:flex;flex-direction:column;gap:4px}.settings label span{font-size:12px;color:var(--muted)}textarea{font:inherit;color:inherit;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:6px 8px;width:100%;resize:vertical}.pre{white-space:pre-wrap;margin:0}.small{font-size:12px}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}button.card{font:inherit;color:inherit;text-align:left;cursor:pointer}.card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.pend-form{background:var(--panel);border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column;gap:8px}.pend-form legend{font-weight:600;padding:0 6px}.pend-layout{display:grid;grid-template-columns:minmax(260px,1fr) 2fr;gap:12px;align-items:start}@media(max-width:800px){.pend-layout{grid-template-columns:1fr}}.pend-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.pend-list li{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:8px 10px;cursor:pointer;display:flex;flex-direction:column;gap:3px;min-width:0}.pend-list li.active{border-color:var(--accent)}.pend-detail{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:10px;min-width:0}.update-box{display:flex;flex-direction:column;gap:6px}.badge{font-size:11px;font-weight:700;padding:1px 8px;border-radius:10px;border:1px solid currentColor}.badge.abierto{color:var(--bad)}.badge.en_proceso{color:var(--warn)}.badge.resuelto{color:var(--good)}.prio{font-size:11px}.prio.alta{color:var(--bad);font-weight:700}.prio.baja{color:var(--muted)}.timeline{list-style:none;margin:0;padding:0 0 0 12px;border-left:2px solid var(--line);display:flex;flex-direction:column;gap:8px}.timeline li.estado .pre,.timeline li.sistema .pre{color:var(--muted);font-style:italic}.link{background:none;border:0;color:var(--accent);cursor:pointer;font-size:12px;margin-left:8px}.auth-box{max-width:380px;margin:10vh auto 0;padding:24px 16px;display:flex;flex-direction:column;gap:12px}.auth-box label{display:flex;flex-direction:column;gap:4px}.auth-box h1{flex:none}.full{grid-column:1 / -1;display:flex;flex-direction:column;gap:6px}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.badge-custom{font-size:11px;font-weight:700;color:var(--warn)}.map-wrap{overflow-x:auto;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:8px}.map-wrap svg{min-width:760px;width:100%;height:auto;display:block}.edge{stroke:var(--accent);stroke-width:1.4;opacity:.55}.edge.in{stroke:var(--muted);stroke-dasharray:5 4}.edge.custom{stroke:var(--warn);opacity:.9}.edge-label{font-size:10px;fill:var(--muted);text-anchor:middle;paint-order:stroke;stroke:var(--panel);stroke-width:4px;stroke-linejoin:round}.node{cursor:pointer}.node rect{fill:var(--panel);stroke:var(--accent);stroke-width:1.4}.node rect.in{stroke:var(--muted);stroke-dasharray:5 4}.node rect.custom{stroke:var(--warn);stroke-width:2.2}.node:hover rect{fill:var(--bg);stroke-width:2.4}.node-model{font-size:11.5px;font-weight:700;fill:var(--text);text-anchor:middle;font-family:ui-monospace,monospace}.node-name{font-size:10px;fill:var(--muted);text-anchor:middle}rect.center{fill:var(--accent)}.center-text{fill:#fff}.legend{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;padding:6px 4px 0}.sw{display:inline-block;width:18px;height:0;border-top:2px solid var(--accent);vertical-align:middle;margin-right:4px}.sw.in{border-top:2px dashed var(--muted)}.sw.custom{border-top-color:var(--warn)}td .link{font-size:inherit;margin-left:0;padding:0}tr.expanded>td{background:var(--bg);padding:10px 12px 14px}.perm-panel{display:flex;flex-direction:column;gap:10px}.apps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}.app-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;gap:2px}.json-box{max-height:480px;overflow:auto}.flow{stroke:var(--accent);opacity:.7}.flow.back{stroke:var(--warn);opacity:.85;stroke-dasharray:6 4}.arrow{fill:var(--accent)}.arrow.back{fill:var(--warn)}.node rect.start{fill:var(--bg);stroke:var(--muted)}.hours{display:flex;align-items:flex-end;gap:1px;height:32px}.hours span{width:5px;background:var(--accent);border-radius:1px;opacity:.8}.hours span.zero{background:var(--line)}.section-tabs{border-bottom:1px solid var(--line);margin-bottom:8px}.area{font-size:11px;font-weight:700;padding:1px 7px;border-radius:10px;border:1px solid currentColor;white-space:nowrap}.a-ventas{color:#1f6fb2}.a-almacen{color:#8a5a00}.a-factura{color:#714b67}.a-cobranza{color:#16794c}@media(prefers-color-scheme:dark){.a-ventas{color:#7cb7ee}.a-almacen{color:#f0b85a}.a-factura{color:#d6a3c9}.a-cobranza{color:#5fd49a}}.timeline-v{list-style:none;margin:0;padding:0 0 0 14px;border-left:2px solid var(--line);display:flex;flex-direction:column;gap:10px}.timeline-v li{position:relative}.timeline-v li:before{content:"";position:absolute;left:-20px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--accent)}
