:root{
    --ink:#0e1320;
    --panel:#161d2e;
    --panel-2:#1d2740;
    --line:#28324d;
    --text:#e8ecf6;
    --muted:#8b97b4;
    --faint:#5d6584;
    --indigo:#7b86ff;
    --indigo-dim:#3a4374;
    --mint:#37d6a8;
    --amber:#f4a653;
    --coral:#ff7a85;
    --r:14px;
  }
  *{box-sizing:border-box}
  html{-webkit-text-size-adjust:100%}
  body{
    margin:0;background:var(--ink);color:var(--text);
    font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
    line-height:1.45;
    padding:clamp(14px,3vw,34px);
  }
  .mono{font-family:ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,monospace;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
  .wrap{max-width:880px;margin:0 auto}

  header.top{margin-bottom:22px}
  .kicker{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--indigo);font-weight:700}
  h1{font-size:clamp(24px,5vw,34px);margin:.18em 0 .1em;font-weight:800;letter-spacing:-.02em}
  .sub{color:var(--muted);font-size:14px;max-width:60ch}

  /* gauge */
  .gauge-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:20px 20px 22px;margin:22px 0}
  .gauge-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:12px}
  .gauge-title{font-size:13px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-weight:700}
  .gauge-buffer{font-size:13px;color:var(--muted)}
  .gauge-buffer b{color:var(--text)}
  .bar{position:relative;height:26px;background:var(--panel-2);border-radius:999px;overflow:hidden;border:1px solid var(--line)}
  .bar .fill{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:999px;transition:width .35s ease, background .3s ease}
  .verdict{margin-top:14px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
  .verdict .big{font-size:clamp(26px,6vw,40px);font-weight:800}
  .verdict .lbl{font-size:13px;color:var(--muted)}
  .pos{color:var(--mint)} .neg{color:var(--amber)}

  /* stat strip */
  .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}
  .stat{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
  .stat .n{font-size:18px;font-weight:800}
  .stat .k{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-top:2px}
  @media(max-width:560px){.stats{grid-template-columns:repeat(2,1fr)}}

  /* meters */
  .meter-divider{height:1px;background:var(--line);margin:20px 0}
  .bar-goal{margin-bottom:2px}
  .goal-flag{position:absolute;top:-7px;bottom:-7px;left:50%;width:0;border-left:2px dashed rgba(232,236,246,.55);pointer-events:none}
  .goal-flag span{position:absolute;top:-19px;left:50%;transform:translateX(-50%);
    white-space:nowrap;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
    color:var(--muted);background:var(--ink);padding:0 5px}
  .meter-msg{margin-top:13px;font-size:14px;line-height:1.4}
  .meter-msg b{font-weight:800}
  .contrib{margin-top:11px;display:flex;flex-direction:column;gap:4px}
  .crow{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:12.5px}
  .crow .cn{color:var(--muted)}
  .crow .cv{font-variant-numeric:tabular-nums;font-weight:700;flex:none}
  .crow.plus .cv{color:var(--mint)}
  .crow.access .cv{color:var(--coral)}
  .crow.muted .cn,.crow.muted .cv{color:var(--faint)}
  .contrib-head{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--faint);margin-top:4px}

  /* presets */
  .presets{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 26px}
  .preset{background:var(--panel);border:1px solid var(--line);color:var(--text);font-size:12.5px;font-weight:600;
    padding:8px 13px;border-radius:999px;cursor:pointer;transition:.18s}
  .preset:hover{border-color:var(--indigo);color:#fff}
  .preset.ghost{color:var(--muted)}
  .preset:focus-visible{outline:2px solid var(--indigo);outline-offset:2px}

  /* category */
  .cat{margin-bottom:18px}
  .cat-head{display:flex;align-items:center;justify-content:space-between;gap:10px;
    padding:8px 4px;border-bottom:1px solid var(--line);margin-bottom:6px}
  .cat-name{display:flex;align-items:center;gap:9px;font-weight:800;font-size:14.5px}
  .dot{width:9px;height:9px;border-radius:50%;flex:none}
  .cat-sub{font-size:12.5px;color:var(--muted)}
  .cat-sub b{color:var(--text)}

  .row{display:flex;align-items:center;justify-content:space-between;gap:14px;
    padding:11px 6px;border-bottom:1px solid #1b2238}
  .row:last-child{border-bottom:none}
  .g-left{min-width:0;flex:1}
  .g-name{font-weight:650;font-size:14.5px}
  .tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:4px}
  .tag{font-size:10px;font-weight:700;letter-spacing:.03em;padding:2px 6px;border-radius:5px;text-transform:uppercase}
  .tag.extra{background:rgba(123,134,255,.14);color:var(--indigo)}
  .tag.fisico{background:rgba(255,122,133,.14);color:var(--coral)}
  .tag.codigo{background:rgba(244,166,83,.14);color:var(--amber)}
  .tag.est{background:#222b44;color:var(--muted)}
  .g-note{font-size:11.5px;color:var(--muted);margin-top:4px;max-width:48ch}

  .prices{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:7px}
  .priceedit{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--muted);font-weight:600}
  .priceedit input{width:62px;background:var(--panel-2);border:1px solid var(--line);color:var(--text);
    font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:11.5px;font-variant-numeric:tabular-nums;
    border-radius:6px;padding:3px 7px;text-align:right}
  .priceedit input:focus{outline:none;border-color:var(--indigo);box-shadow:0 0 0 2px rgba(123,134,255,.25)}
  .priceedit.edited{color:var(--amber)}
  .priceedit.edited input{border-color:var(--amber);color:var(--amber)}
  .reset-row{background:none;border:none;color:var(--faint);cursor:pointer;font-size:15px;line-height:1;padding:2px 5px;border-radius:6px}
  .reset-row:hover{color:var(--amber);background:var(--panel-2)}
  .reset-row:focus-visible{outline:2px solid var(--indigo);outline-offset:1px}

  .seg{display:flex;flex:none;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--panel)}
  .seg button{appearance:none;border:none;background:transparent;color:var(--muted);
    font-family:inherit;font-size:12px;font-weight:650;padding:7px 9px;cursor:pointer;
    border-left:1px solid var(--line);transition:.14s;white-space:nowrap;min-width:34px}
  .seg button:first-child{border-left:none}
  .seg button .price{font-variant-numeric:tabular-nums;display:block;font-size:10.5px;opacity:.85;margin-top:1px}
  .seg button:not(:disabled):hover{color:var(--text);background:var(--panel-2)}
  .seg button.on{color:#0c1018;font-weight:800}
  .seg button.on.s-extra{background:var(--indigo)}
  .seg button.on.s-digital{background:var(--mint)}
  .seg button.on.s-fisico{background:var(--coral)}
  .seg button.on.s-saltar{background:#46506e;color:var(--text)}
  .seg button:disabled{opacity:.28;cursor:not-allowed}
  .seg button:focus-visible{outline:2px solid var(--indigo);outline-offset:-2px}

  @media(max-width:600px){
    .row{flex-direction:column;align-items:stretch;gap:9px}
    .seg{align-self:flex-start}
  }

  footer{color:var(--faint);font-size:11.5px;margin-top:26px;border-top:1px solid var(--line);padding-top:14px}
  footer b{color:var(--muted)}
  @media(prefers-reduced-motion:reduce){*{transition:none!important}}
