/* Generated by tools/sync_public_hub_ui_spending.mjs from spending-worker/public/shared.css: every selector under .spd (the site's bar, buttons and page are not touched); the hub page's shell rules are dropped (the layout supplies them). Do not edit. */
:root {
  
  --on-spend:#120b1c;     --on-spend:light-dark(#ffffff, #120b1c);
  
  --tv:#d27aa6;           --tv:light-dark(#a1356b, #d27aa6);
  
  --ads:var(--spend);
  --anti-bright:var(--anti-text);
}
.spd [hidden] { display:none !important; }
.spd .vh { position:absolute !important; width:1px; height:1px; overflow:hidden;
      clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; }
.spd .tabbar { max-width:1180px; margin:0 auto; padding:18px 22px 0; }
.spd nav.tabs { display:flex; gap:2px; flex-wrap:wrap; margin:0;
           border-bottom:1px solid var(--border-strong); }
.spd nav.tabs a { color:var(--muted); text-decoration:none; font-size:12.5px;
             padding:9px 14px; border:1px solid transparent; border-bottom:0;
             border-radius:6px 6px 0 0; margin-bottom:-1px;
             white-space:nowrap; }
.spd nav.tabs a:hover { color:var(--text); background:var(--panel2); }
.spd nav.tabs a.active { color:var(--gold); background:var(--bg);
                    border-color:var(--border-strong);
                    border-bottom:1px solid var(--bg); font-weight:600; }
.spd .lede { color:var(--muted); font-size:13.5px; max-width:78ch; margin:0 0 22px; }
.spd .lede strong { color:var(--text); }
.spd h2 { font-size:13px; text-transform:uppercase; letter-spacing:1.2px;
     color:var(--gold); margin:32px 0 12px; }
.spd h2:first-of-type { margin-top:0; }
.spd h3 { font-size:14px; margin:0 0 6px; letter-spacing:.2px; }
.spd .panel { background:var(--panel); border:1px solid var(--border);
         border-radius:8px; padding:16px 18px; }
.spd .grid { display:grid; gap:14px;
        grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); }
.spd .stat { background:var(--panel); border:1px solid var(--border);
        border-top:3px solid var(--accent, var(--spend));
        border-radius:5px; padding:14px 16px 13px; }
.spd .stat .k { color:var(--faint); font-size:10.5px; text-transform:uppercase;
           letter-spacing:1px; margin-bottom:8px; }
.spd .stat .v { font:700 22px/1.1 Consolas, ui-monospace, monospace;
           color:var(--accent, var(--text)); font-variant-numeric:tabular-nums; }
.spd .stat .n { color:var(--muted); font-size:12px; margin-top:7px; }
.spd table { border-collapse:collapse; width:100%; font-size:12.5px; }
.spd th,
.spd td { text-align:left; padding:7px 10px; border-bottom:1px solid var(--border);
         vertical-align:top; }
.spd th { color:var(--faint); font-weight:600; font-size:11px;
     text-transform:uppercase; letter-spacing:.8px; position:sticky; top:0;
     background:var(--panel2); border-bottom-color:var(--border-strong);
     z-index:1; user-select:none; white-space:nowrap; }
.spd th button.sort { all:unset; cursor:pointer; color:inherit; font:inherit;
                 letter-spacing:inherit; text-transform:inherit;
                 min-height:24px; display:inline-flex; align-items:center; }
.spd th button.sort:hover { color:var(--text); }
.spd th button.sort:focus-visible { outline:2px solid var(--gold); outline-offset:2px;
                               border-radius:3px; }
.spd th[aria-sort="ascending"] button.sort::after { content:"\00a0\25B2"; font-size:9px; }
.spd th[aria-sort="descending"] button.sort::after { content:"\00a0\25BC"; font-size:9px; }
.spd td.num,
.spd th.num { text-align:right; font-variant-numeric:tabular-nums; }
.spd th.num button.sort { justify-content:flex-end; }
.spd tbody tr:hover { background:var(--panel2); }
.spd td.noresults { color:var(--faint); font-style:italic; padding:14px 10px; }
.spd .noresults:not(td) { color:var(--faint); font-style:italic; margin:10px 0; }
.spd .scroll { overflow-x:auto; border:1px solid var(--border); border-radius:8px;
          background:var(--panel); }
.spd .scroll table { min-width:640px; }
.spd td a { display:inline-block; padding:3px 0; }
.spd a.src { display:inline-flex; align-items:center; justify-content:center;
        min-width:24px; min-height:24px; }
.spd .pill { display:inline-block; padding:1px 7px; border-radius:10px;
        font-size:10.5px; letter-spacing:.4px; border:1px solid var(--border-strong);
        color:var(--muted); white-space:nowrap; }
.spd .pill.anti { color:var(--anti-text); border-color:var(--anti); }
.spd .pill.pro { color:var(--pro); border-color:var(--pro); }
.spd .pill.neutral { color:var(--muted); }
.spd .pill.unjudged,
.spd .pill.unclassified { color:var(--faint); }
.spd .pill.meta { color:var(--blue); border-color:var(--blue); }
.spd .pill.google { color:var(--gold); border-color:var(--gold); }
.spd .pill.tv { color:var(--tv); border-color:var(--tv); }
.spd .placeholder { color:var(--faint); font-style:italic; }
.spd .cov { font-size:11px; letter-spacing:.3px; white-space:nowrap; }
.spd .cov.measured { color:var(--pro); }
.spd .cov.partial { color:var(--gold); }
.spd .cov.unavailable { color:var(--anti-text); }
.spd .cov.zero { color:var(--faint); }
.spd .cov.measured::before { content:"\25CF\00a0"; }
.spd .cov.partial::before { content:"\25D0\00a0"; }
.spd .cov.unavailable::before { content:"\25CB\00a0"; }
.spd .cov.zero::before { content:"\2013\00a0"; }
.spd .cov-note { font-size:11px; letter-spacing:.3px; white-space:nowrap; color:var(--gold); }
.spd input[type=text],
.spd input[type=search],
.spd select {
  background:var(--panel2); border:1px solid var(--control-border);
  border-radius:5px; color:var(--text); font:inherit; font-size:12.5px;
  padding:7px 10px; min-height:34px; max-width:100%; text-transform:none;
  letter-spacing:normal; }
.spd input[type=text]:focus,
.spd input[type=search]:focus,
.spd select:focus {
  outline:2px solid var(--gold); outline-offset:1px; }
.spd input[type=checkbox] { width:24px; height:24px; accent-color:var(--spend); }
.spd button.go { background:var(--spend); border:1px solid var(--spend);
            border-radius:5px; color:var(--on-spend); font:inherit;
            font-weight:600; font-size:12.5px; padding:7px 15px;
            cursor:pointer; min-height:34px; }
.spd button.go:hover { filter:brightness(1.08); }
.spd button.go:disabled { opacity:.45; cursor:default; filter:none; }
.spd button.ghost { background:var(--panel2); border:1px solid var(--control-border);
               border-radius:5px; color:var(--text); font:inherit;
               font-size:12px; padding:6px 12px; cursor:pointer;
               min-height:30px; }
.spd button.ghost:hover { border-color:var(--gold); }
.spd button.ghost:disabled { opacity:.55; cursor:default; border-color:var(--control-border); }
.spd .controls { display:flex; gap:10px; flex-wrap:wrap; align-items:flex-end;
            margin-bottom:14px; }
.spd .controls label { display:flex; flex-direction:column; gap:3px;
                  color:var(--faint); font-size:11px;
                  text-transform:uppercase; letter-spacing:.8px; }
.spd .controls label.check { flex-direction:row; align-items:center; gap:7px;
                        text-transform:none; letter-spacing:0; font-size:12.5px;
                        color:var(--muted); min-height:34px; }
.spd .count { color:var(--muted); font-size:12.5px; margin:4px 0 10px; }
.spd .count b { color:var(--text); }
.spd a { color:var(--blue); }
.spd a:hover { color:var(--text); }
.spd code { font-family:Consolas, "SF Mono", monospace; font-size:12px;
       color:var(--muted); }
.spd abbr[title] { text-decoration:underline dotted; cursor:help; }
.spd .note { margin-top:26px; padding:14px 18px; background:var(--panel);
        border:1px solid var(--border); border-left:3px solid var(--gold);
        border-radius:8px; color:var(--muted); font-size:12.5px;
        line-height:1.6; }
.spd .note strong { color:var(--text); }
.spd .muted { color:var(--muted); }
.spd .faint { color:var(--faint); }
.spd .err { color:var(--anti-text); font-size:12.5px; }
.spd .bar-track { display:block; height:6px; border-radius:3px; background:var(--panel2);
             box-shadow:inset 0 0 0 1px var(--border); overflow:hidden; min-width:60px; }
.spd .bar { display:block; height:6px; border-radius:3px; background:var(--spend);
       min-width:2px; }
.spd .bar.bills { background:var(--anti); }
.spd footer { max-width:1180px; margin:0 auto; padding:0 22px 40px;
         color:var(--faint); font-size:11.5px; }
.spd dialog { background:var(--panel); color:var(--text); border:1px solid
         var(--control-border); border-radius:10px; max-width:740px;
         width:calc(100vw - 40px); padding:0; }
.spd dialog::backdrop { background:rgba(0,0,0,.55); }
.spd dialog .dhead { padding:14px 18px; border-bottom:1px solid var(--border);
                display:flex; gap:10px; align-items:baseline; }
.spd dialog .dbody { padding:16px 18px; max-height:64vh; overflow-y:auto; }
.spd dialog .creative { background:var(--panel2); border:1px solid var(--border);
                   border-radius:6px; padding:12px 14px; white-space:pre-wrap;
                   font-size:13px; line-height:1.6; }
.spd a:focus-visible,
.spd button:focus-visible,
.spd summary:focus-visible,
.spd [tabindex]:focus-visible {
  outline:2px solid var(--gold); outline-offset:2px; border-radius:3px; }
.spd .skip { position:absolute; left:-9999px; top:0; z-index:100;
        background:var(--panel); color:var(--text); padding:10px 16px;
        border:1px solid var(--gold); border-radius:0 0 6px 0; }
.spd .skip:focus { left:0; }
@media (prefers-reduced-motion: reduce) {
.spd *::before,
.spd *::after { animation-duration:.01ms !important;
    animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}
.spd input,
.spd select,
.spd textarea { max-width:100%; }
@media (max-width:620px) {
.spd .tabbar { padding:14px 16px 0; }
.spd footer { padding:0 16px 36px; }
.spd nav.tabs a { padding:8px 11px; }
.spd .controls label { flex:1 1 140px; }
.spd .controls label:has(input[type=search],
.spd input[type=text]) { flex-basis:100%; }
.spd .controls input[type=search],
.spd .controls input[type=text] { width:100%; }
}
