/* com_ledquote · public LED screen builder. Everything is scoped to .lqb-root / #lqbPrint. */
.lqb-root{
  --bg:#f3f4f6; --surface:#fff; --ink:#15181d; --muted:#5d6470; --line:#d9dce2; --grid:#e8eaee;
  --accent:#f0641e; --accent-ink:#fff; --cab:#20252d; --cab-line:#3a414c; --wall:#eceef1;
  --ok:#1f8a4c; --warn:#b7791f; --bad:#c0392b;
  --l1:#8b5a2b; --l2:#c62828; --l3:#e0b100;
  --p1:#14a3a3; --p2:#3e9a4a; --p3:#c9b11a; --p4:#9b59c9; --p5:#4a63d1; --p6:#d4782f; --p7:#cc4f7d; --p8:#5b8a99;
  --mono:ui-monospace,Menlo,Consolas,monospace;
  container-type:inline-size; background:var(--bg); color:var(--ink); font-size:15px; line-height:1.5; border-radius:8px; padding:16px}
.lqb-root *{box-sizing:border-box}
.lqb-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:18px;align-items:start}
@container (max-width:860px){.lqb-layout{grid-template-columns:minmax(0,1fr)}}
.lqb-rail,.lqb-card,.lqb-panel{background:var(--surface);border:1px solid var(--line);border-radius:6px}
.lqb-rail{padding:16px;display:flex;flex-direction:column;gap:14px}
.lqb-card{padding:14px}
.lqb-field{display:flex;flex-direction:column;gap:5px;min-width:0}
.lqb-root label,.lqb-lbl,.lqb-root legend{font-family:var(--mono);font-size:.7rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:0}
.lqb-root select,.lqb-root input[type=number],.lqb-root input[type=text],.lqb-root input[type=email],.lqb-root input[type=tel],.lqb-root textarea{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:8px 10px;width:100%}
.lqb-root :focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.lqb-seg{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:4px;overflow:hidden}
.lqb-seg button{font:inherit;font-size:.85rem;background:var(--bg);color:var(--muted);border:0;padding:7px;cursor:pointer}
.lqb-seg button[aria-pressed=true]{background:var(--ink);color:var(--bg)}
.lqb-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lqb-full{grid-column:1/-1}
.lqb-step{display:grid;grid-template-columns:34px 1fr 34px;border:1px solid var(--line);border-radius:4px;overflow:hidden}
.lqb-step button{font:inherit;font-size:1.1rem;background:var(--bg);color:var(--ink);border:0;cursor:pointer}
.lqb-step input{border:0!important;border-radius:0!important;text-align:center;font-family:var(--mono);background:var(--surface)!important;padding:7px 2px!important}
.lqb-hint,.lqb-note,.lqb-req{font-size:.82rem;color:var(--muted)}
.lqb-req strong{color:var(--ink)}
.lqb-chips{display:flex;gap:6px;flex-wrap:wrap}
.lqb-chip{font:inherit;font-size:.8rem;background:transparent;border:1px solid var(--line);color:var(--ink);border-radius:999px;padding:4px 10px;cursor:pointer}
.lqb-chip:hover{border-color:var(--accent)}
.lqb-cta{font:inherit;font-weight:700;background:var(--accent);color:var(--accent-ink);border:0;border-radius:4px;padding:11px 14px;cursor:pointer}
.lqb-cta:hover{filter:brightness(1.05)}
.lqb-cta:disabled{opacity:.6}
.lqb-stage{display:flex;flex-direction:column;gap:16px;min-width:0}
.lqb-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.lqb-head h2{font-size:1.2rem;font-weight:700;margin:0}
.lqb-sub{font-family:var(--mono);font-size:.8rem;color:var(--muted)}
#wall{width:100%;height:auto;display:block;max-height:440px}
.lqb-figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden}
.lqb-fig{background:var(--surface);padding:12px 14px;display:flex;flex-direction:column;gap:2px;min-width:0}
.lqb-fig .v{font-weight:700;font-size:1.15rem;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.lqb-fig .u{font-size:.8rem;color:var(--muted)}
.lqb-pill{display:inline-block;font-family:var(--mono);font-size:.68rem;padding:1px 6px;border-radius:3px;border:1px solid currentColor}
.lqb-pill.ok{color:var(--ok)}.lqb-pill.warn{color:var(--warn)}.lqb-pill.bad{color:var(--bad)}
.lqb-tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);overflow-x:auto}
.lqb-tabs button{font:inherit;font-weight:500;background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);padding:9px 14px;cursor:pointer;white-space:nowrap}
.lqb-tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent)}
.lqb-panel{border-top:0;border-radius:0 0 6px 6px;padding:18px;min-width:0}
.lqb-cols{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:22px}
@container (max-width:760px){.lqb-cols{grid-template-columns:minmax(0,1fr)}}
.lqb-scroll{overflow-x:auto}
.lqb-root table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}
.lqb-root th,.lqb-root td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--grid);font-size:.88rem}
.lqb-root th{font-family:var(--mono);font-weight:500;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.lqb-root td.n,.lqb-root th.n{text-align:right;font-family:var(--mono)}
.lqb-warn{border-left:3px solid var(--warn);padding:8px 12px;background:var(--bg);font-size:.85rem;margin-top:10px}
.lqb-h3{font-weight:700;font-size:1rem;margin:0 0 8px}
.lqb-svg{width:100%;height:auto;display:block}
.lqb-imgbox{border:1px solid var(--line);border-radius:6px;background:var(--bg);display:flex;align-items:center;justify-content:center;min-height:180px;overflow:hidden}
.lqb-imgbox img{max-width:100%;max-height:280px;object-fit:contain}
.lqb-flowform{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:14px}
@container (max-width:900px){.lqb-flowform{grid-template-columns:minmax(0,1fr)}}
.lqb-flowform fieldset{border:1px solid var(--line);border-radius:6px;padding:10px 12px;display:flex;flex-direction:column;gap:8px;margin:0;min-width:0}
.lqb-srcgrid{display:grid;grid-template-columns:1fr 64px;gap:6px 8px;align-items:center}
.lqb-srcgrid span{font-size:.9rem}
.lqb-srcgrid input{padding:5px 6px!important;text-align:center}
.lqb-check{display:flex;gap:8px;align-items:center;font-family:inherit!important;font-size:.88rem!important;letter-spacing:0!important;text-transform:none!important;color:var(--ink)!important}
#flowsvg{width:100%;min-width:720px;height:auto;display:block}
.lqb-flowbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.lqb-palette{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.lqb-pal{font:inherit;font-size:.8rem;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:4px;padding:5px 9px;cursor:grab;user-select:none}
.lqb-pal[data-g=src]{border-left:4px solid #4a63d1}.lqb-pal[data-g=fib]{border-left:4px solid #14a3a3}.lqb-pal[data-g=proc]{border-left:4px solid #9b59c9}
.lqb-pal[data-g=nova]{border-left:4px solid #16191e}.lqb-pal[data-g=led]{border-left:4px solid #f0641e}
.lqb-canvas{position:relative;min-width:900px;height:420px;border:1px dashed var(--line);border-radius:6px;background:
  linear-gradient(var(--grid) 1px,transparent 1px) 0 0/24px 24px, linear-gradient(90deg,var(--grid) 1px,transparent 1px) 0 0/24px 24px, var(--surface);overflow:hidden;touch-action:none}
.lqb-canvas.drop{border-color:var(--accent)}
.lqb-canvas svg{position:absolute;inset:0;width:100%;height:100%}
.lqb-node{position:absolute;width:150px;min-height:36px;padding:6px 22px 6px 10px;border:1.5px solid #16191e;border-radius:6px;background:#fff;color:#16191e;font-size:.78rem;line-height:1.2;cursor:move;user-select:none;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.lqb-node.sel{outline:2px solid var(--accent);outline-offset:1px}
.lqb-node[data-g=nova]{background:#16191e;color:#fff}.lqb-node[data-g=nova].b{background:#c62828;border-color:#c62828}
.lqb-node[data-g=led]{background:#20252d;color:#fff}
.lqb-node[data-g=fib]{border-color:#14a3a3}.lqb-node[data-g=src]{border-color:#4a63d1}
.lqb-node .out{position:absolute;right:-8px;top:50%;transform:translateY(-50%);width:16px;height:16px;border-radius:50%;background:var(--accent);border:2px solid #fff;cursor:crosshair}
.lqb-node .x{position:absolute;right:4px;top:2px;font-size:11px;opacity:.55;cursor:pointer;background:none;border:0;color:inherit;padding:0}
.lqb-canvas.linking .lqb-node{cursor:copy}
.lqb-linkedit{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-top:8px;padding:10px;border:1px solid var(--line);border-radius:6px;background:var(--bg)}
.lqb-linkedit .lqb-field{width:140px}
.lqb-doctools{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:6px}
.lqb-doctools .lqb-field{flex:1;min-width:220px}
.lqb-sheets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:10px}
@container (max-width:760px){.lqb-sheets{grid-template-columns:minmax(0,1fr)}}
.lqb-sheetwrap{position:relative;width:100%;aspect-ratio:420/297;overflow:hidden;border:1px solid var(--line);border-radius:4px;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.lqb-sheetwrap .a3{position:absolute;top:0;left:0;transform-origin:0 0}
.lqb-sheetcap{font-family:var(--mono);font-size:.72rem;color:var(--muted);margin-top:4px}
.lqb-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@container (max-width:600px){.lqb-form{grid-template-columns:1fr}}
.lqb-hp{position:absolute;left:-9999px}
.lqb-msg{font-size:.9rem;margin-top:8px}

/* ---------- A3 pages (420 × 297 mm, rendered at 1587 × 1123 px) ---------- */
.a3{width:1587px;height:1123px;background:#fff;color:#16191e;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;position:relative;overflow:hidden}
.a3 *{box-sizing:border-box}
.a3 .band{position:absolute;left:0;right:0;top:0;height:14px;background:#f0641e}
.a3 .pad{position:absolute;inset:56px 80px 70px 80px;display:flex;flex-direction:column;gap:22px}
.a3 .pad>*{min-height:0}
.a3 .top{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:2px solid #16191e;padding-bottom:14px}
.a3 .top h1{font-size:44px;line-height:1.05;margin:0;font-weight:800;letter-spacing:-.01em}
.a3 .top .meta{font-size:18px;color:#5d6470;text-align:right;line-height:1.4}
.a3 .logo{font-weight:900;font-size:40px;letter-spacing:-.03em}
.a3 .top .tl{display:flex;align-items:flex-end;gap:28px}
.a3 .top .lg{height:64px;width:auto;display:block}
.a3 .lgtxt,.lqb-root .lgtxt,#lqbPrint .lgtxt{font-weight:900;font-size:52px;line-height:.9;letter-spacing:-.04em;color:#16191e}
.a3 .lgtxt span,.lqb-root .lgtxt span,#lqbPrint .lgtxt span{color:#f0641e}
.a3 .coverlogo{display:inline-flex;align-self:flex-start}
.a3 .coverlogo .lg{height:110px;width:auto;display:block}
.a3 .coverlogo .lgtxt{font-size:96px}
.a3 .logo span{color:#f0641e}
.a3 .grid2{display:grid;grid-template-columns:1.35fr 1fr;gap:40px;flex:1;min-height:0}
.a3 .kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid #d9dce2;border-radius:6px;overflow:hidden}
.a3 .kpi{padding:18px 20px;border-right:1px solid #d9dce2;border-bottom:1px solid #d9dce2}
.a3 .kpi b{display:block;font-size:30px;font-weight:800}
.a3 .kpi span{font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:#5d6470}
.a3 table{border-collapse:collapse;width:100%}
.a3 th,.a3 td{font-size:17px;padding:7px 10px;border-bottom:1px solid #e3e5ea;text-align:left;vertical-align:top}
.a3 th{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#5d6470;font-weight:600}
.a3 td.n{text-align:right;font-variant-numeric:tabular-nums}
.a3 .fig{border:1px solid #d9dce2;border-radius:6px;padding:16px;display:flex;align-items:center;justify-content:center;min-height:0;overflow:hidden}
.a3 .fig svg{width:100%;height:100%}
.a3 .fig svg,.a3 .fig img{max-width:100%;max-height:100%}
.a3 .foot{position:absolute;left:80px;right:80px;bottom:28px;display:flex;justify-content:space-between;font-size:14px;color:#8a909a}
.a3 .note{font-size:15px;color:#5d6470;line-height:1.45}
.a3.cover{background:#16191e;color:#fff}
.a3.cover .pad{justify-content:space-between}
.a3.cover h1{font-size:96px;line-height:1;margin:0;font-weight:900;letter-spacing:-.02em}
.a3.cover .sub{font-size:30px;color:#c9ced6}
.a3.cover .unfold{color:#ff7a33;font-weight:700;font-size:20px;letter-spacing:.06em;text-transform:uppercase}

/* Print: only the A3 pages */
#lqbPrint{display:none}
/* labels 100 x 25 mm */
.lqb-root .lqb-lblgrid{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}
.lbl{box-sizing:border-box;width:100mm;height:25mm;background:#fff;color:#16191e;border:1px solid #c9ced6;border-radius:2mm;display:grid;grid-template-columns:3mm 24mm 1fr 18mm;align-items:center;overflow:hidden;font-family:system-ui,Arial,sans-serif}
.lbl>i{display:block;height:100%}
.lbl .lid{font-weight:900;font-size:7.5mm;line-height:1;padding:0 1.5mm 0 2mm;display:flex;flex-direction:column;gap:1mm;letter-spacing:-.02em}
.lbl .lid em{font-style:normal;font-size:3.2mm;color:#fff;border-radius:1mm;padding:.4mm 1.2mm;align-self:flex-start}
.lbl .ltx{display:flex;flex-direction:column;gap:.6mm;min-width:0;padding-right:1.5mm}
.lbl .ltx b{font-size:3.4mm;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lbl .ltx span{font-size:2.7mm;line-height:1.2;max-height:6.6mm;overflow:hidden}
.lbl .ltx small{font-size:2.3mm;color:#5d6470;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lbl .llg{display:flex;justify-content:center;align-items:center;height:100%;border-left:1px dashed #c9ced6}
.lbl .llg .lg{max-width:15mm;max-height:12mm;display:block}
#lqbPrint .lbl .llg .lgtxt,.lqb-root .lbl .llg .lgtxt{font-size:6mm}
.lbl .lid{white-space:nowrap}
.lbl .lid.long{font-size:5mm}
@media print{
  body.lqb-printing>:not(#lqbPrint){display:none!important}
  body.lqb-printing-labels .lqb-lblprint .lbl{border:0;border-radius:0;page-break-after:always;break-after:page}
  @page{size:A3 landscape;margin:0}
  body *{visibility:hidden!important}
  #lqbPrint,#lqbPrint *{visibility:visible!important}
  #lqbPrint{display:block!important;position:absolute;left:0;top:0}
  #lqbPrint .a3{page-break-after:always;break-after:page}
}
/* power editor */
.lqb-root .lqb-phchip{display:inline-block;color:#fff;font:700 .7rem/1.2 var(--mono,ui-monospace,monospace);border-radius:3px;padding:2px 6px;cursor:pointer;margin-right:4px}
.lqb-root .lqb-phchip:hover{outline:2px solid var(--accent,#f0641e)}
.lqb-root .lqb-node small{color:#5d6470;font-family:var(--mono,ui-monospace,monospace)}
.lqb-root .lqb-node.ph0{border-left:5px solid #8b5a2b}.lqb-root .lqb-node.ph1{border-left:5px solid #c62828}.lqb-root .lqb-node.ph2{border-left:5px solid #e0b100}
.lqb-root .lqb-node[data-g="feed"]{background:#16191e;color:#fff}
.lqb-root .lqb-node[data-g="distro"]{background:#5d6470;color:#fff;border-color:#5d6470}
.lqb-root .lqb-node[data-g="pdu"]{border-color:#f0641e;border-width:2px}
.lqb-root .lqb-pal[data-g="feed"]{border-left:4px solid #16191e}.lqb-root .lqb-pal[data-g="distro"]{border-left:4px solid #5d6470}.lqb-root .lqb-pal[data-g="pdu"]{border-left:4px solid #f0641e}

/* 2r mark */
.lgmark{display:inline-block;color:#16191e;line-height:0}
.lgmark svg{height:100%;width:auto;display:block}
.a3 .top .lgmark{height:56px}
.a3 .coverlogo .lgmark{height:120px;color:#fff}
.lbl .llg .lgmark{height:8mm;color:#16191e}
.lbl .llg .lgmark svg{max-width:14mm}
.a3 .foot .fl{display:flex;align-items:center;gap:12px}
.a3 .foot .lgmark{height:22px}
.a3 .foot img.lg{height:22px;width:auto}
.lqb-root .lqb-node .in{position:absolute;left:-8px;top:50%;transform:translateY(-50%);width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid var(--accent,#f0641e);cursor:crosshair;box-sizing:border-box}
.lqb-root .lqb-node .in:hover,.lqb-root .lqb-node .out:hover{transform:translateY(-50%) scale(1.3)}
.lqb-root .lqb-canvas.linking .lqb-node .in{animation:lqbPulse 1s ease-in-out infinite}
@keyframes lqbPulse{50%{box-shadow:0 0 0 5px rgba(240,100,30,.3)}}
