/* CarShowHub Organizer Toolkit. Everything is scoped to .csh-tk so the theme is left alone. */
.csh-tk{
  --bg:#EEF0F2; --surface:#FFFFFF; --ink:#1D2328; --muted:#56606A; --line:#D3D8DD;
  --accent:#F2B705; --accent-ink:#1D2328; --accent-text:#8A6400;
  --hero:#1D2328; --hero-ink:#F4F5F6; --hero-muted:#B7BFC7; --hero-line:#3A444C;
  --ok:#2C7A4B; --late:#B04A17;
  --display:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
  --body:"Barlow","Segoe UI",Arial,sans-serif;
  container-type:inline-size;
  background:var(--bg); color:var(--ink); font:400 17px/1.55 var(--body);
  border-radius:12px; overflow:hidden; text-align:left;
}
.csh-tk *,.csh-tk *::before,.csh-tk *::after{box-sizing:border-box}
.csh-tk [hidden]{display:none !important}
.csh-tk p{margin:0;font-size:inherit;line-height:inherit;color:inherit}
.csh-tk ul,.csh-tk ol{list-style:none;margin:0;padding:0}
.csh-tk li{margin:0}
.csh-tk a{color:var(--accent-text)}
.csh-tk label{font-family:var(--body);margin:0}
.csh-tk .tk-title,.csh-tk .tk-h2,.csh-tk .tk-h3{font-family:var(--display);font-weight:700;line-height:1.05;margin:0;padding:0;
  color:inherit;text-transform:none;letter-spacing:normal}
.csh-tk .tk-title{font-size:clamp(2.2rem,6.5cqw,3.7rem);letter-spacing:-.01em}
.csh-tk .tk-h2{font-size:clamp(1.8rem,4.5cqw,2.4rem)}
.csh-tk .tk-h3{font-size:1.45rem}
.csh-tk :focus-visible{outline:3px solid var(--accent);outline-offset:2px}

.csh-tk input[type=text],.csh-tk input[type=email],.csh-tk input[type=number],.csh-tk input[type=date],.csh-tk select{
  font:400 17px/1.3 var(--body);color:var(--ink);background:var(--bg);border:1.5px solid var(--line);border-radius:6px;
  padding:9px 12px;margin:0;height:auto;min-height:0;width:auto;max-width:100%;box-shadow:none;outline-offset:2px}
/* !important here because many themes style every button and would otherwise win */
.csh-tk .tk-btn{display:inline-block;background:var(--accent) !important;color:var(--accent-ink) !important;border:0 !important;
  border-radius:6px !important;padding:11px 18px !important;font:600 17px/1.3 var(--body) !important;text-decoration:none !important;
  cursor:pointer;margin:0;width:auto;min-height:0;text-transform:none !important;letter-spacing:normal !important;box-shadow:none !important}
.csh-tk .tk-btn:hover{filter:brightness(1.06)}
.csh-tk .tk-btn[disabled]{opacity:.6;cursor:default}
.csh-tk .tk-btn-plain,.csh-tk .tk-btn-plain:hover{background:transparent !important;color:var(--ink) !important;border:1.5px solid var(--line) !important}
.csh-tk .tk-btn-small{padding:7px 12px !important;font-size:15px !important}

/* hero */
.csh-tk .tk-hero{background:var(--hero);color:var(--hero-ink);padding:34px 30px 40px}
.csh-tk .tk-hero-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:38px;align-items:end}
.csh-tk .tk-lead{color:var(--hero-muted);font-size:1.12rem;max-width:34em;margin-top:14px}
.csh-tk .tk-setup{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px;max-width:520px}
.csh-tk .tk-setup label{display:block;font-weight:500;font-size:.95rem;color:var(--hero-muted)}
.csh-tk .tk-hero input{width:100%;margin-top:5px;padding:11px 12px;border-color:var(--hero-line);background:#262E35;color:var(--hero-ink);color-scheme:dark}
.csh-tk .tk-placard{background:var(--accent);color:#1D2328;border-radius:10px;padding:22px 24px 20px;margin:7px;
  box-shadow:0 0 0 5px var(--hero),0 0 0 6.5px var(--accent)}
.csh-tk .tk-num{font:700 clamp(4rem,12cqw,6.2rem)/.9 var(--display);letter-spacing:-.02em}
.csh-tk .tk-what{font:600 1.5rem/1.1 var(--display);margin-top:6px}
.csh-tk .tk-when{margin-top:8px;font-weight:500}
.csh-tk .tk-hero-logo{margin-top:14px;color:var(--hero-muted);font-size:.93rem}
.csh-tk .tk-hero .tk-btn-plain,.csh-tk .tk-hero .tk-btn-plain:hover{color:var(--hero-ink) !important;border-color:#4A555E !important}
.csh-tk .tk-stripe{height:7px;background:linear-gradient(var(--accent) 0 3px,var(--hero) 3px 5px,var(--accent) 5px 6px,var(--hero) 6px)}

.csh-tk .tk-jump{display:flex;gap:4px;overflow-x:auto;background:var(--surface);border-bottom:1px solid var(--line);padding:0 18px}
.csh-tk .tk-jump a{padding:13px 12px;white-space:nowrap;color:var(--ink);text-decoration:none;font-weight:500}
.csh-tk .tk-jump a:hover{color:var(--accent-text)}

.csh-tk .tk-body{padding:0 30px 34px}
.csh-tk .tk-section{padding:44px 0 6px;scroll-margin-top:90px}
.csh-tk .tk-intro{color:var(--muted);max-width:40em;margin-top:10px}
.csh-tk .tk-panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:22px;margin-top:22px;min-width:0}
.csh-tk .tk-fine{color:var(--muted);font-size:.95rem;margin-top:14px;max-width:44em}

/* countdown */
.csh-tk .tk-prog{display:flex;align-items:center;gap:14px;margin-top:22px;flex-wrap:wrap}
.csh-tk .tk-track{flex:1;min-width:160px;height:10px;border-radius:5px;background:var(--line);overflow:hidden}
.csh-tk .tk-fill{height:100%;width:0;background:var(--accent);transition:width .25s}
.csh-tk .tk-tl{margin:24px 0 0;padding:0 0 0 30px;position:relative}
.csh-tk .tk-tl::before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:6px;
  background:linear-gradient(90deg,var(--accent) 0 3px,transparent 3px 5px,var(--accent) 5px 6px)}
.csh-tk .tk-ms{position:relative;padding-bottom:26px}
.csh-tk .tk-ms::before{content:"";position:absolute;left:-31px;top:5px;width:20px;height:20px;border-radius:50%;
  background:var(--bg);border:3px solid var(--accent)}
.csh-tk .tk-ms[data-state="done"]::before{background:var(--accent)}
.csh-tk .tk-ms-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px}
.csh-tk .tk-ms-date{color:var(--muted);font-weight:500}
.csh-tk .tk-tag{font-size:.85rem;font-weight:600;padding:2px 9px;border-radius:20px;border:1.5px solid currentColor}
.csh-tk .tk-ms[data-state="next"] .tk-tag{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.csh-tk .tk-ms[data-state="late"] .tk-tag{color:var(--late)}
.csh-tk .tk-ms[data-state="done"] .tk-tag{color:var(--ok)}
.csh-tk .tk-tasks{margin:10px 0 0;padding:6px 16px;background:var(--surface);border:1px solid var(--line);border-radius:10px}
.csh-tk .tk-tasks li+li{border-top:1px solid var(--line)}
.csh-tk .tk-tasks label{display:flex;gap:12px;align-items:flex-start;padding:11px 0;cursor:pointer;font-weight:400;font-size:17px}
.csh-tk .tk-tasks input{width:21px;height:21px;margin:3px 0 0;flex:none;accent-color:var(--accent);appearance:auto;-webkit-appearance:checkbox}
.csh-tk .tk-tasks input:checked+span{color:var(--muted);text-decoration:line-through}

/* budget */
.csh-tk .tk-budget{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}
.csh-tk .tk-budget .tk-panel{margin-top:0}
.csh-tk .tk-row{display:flex;gap:10px;align-items:center;padding:6px 0}
.csh-tk .tk-row .tk-name{flex:1;min-width:0;font-size:17px;font-weight:400}
.csh-tk .tk-row input.tk-name{width:0;border:0;border-bottom:1px dashed var(--line);border-radius:0;background:transparent;padding:6px 0}
.csh-tk .tk-row input.tk-money,.csh-tk .tk-row input.tk-count{width:104px;flex:none;padding:8px 10px;text-align:right}
.csh-tk .tk-row input.tk-count{width:80px}
.csh-tk .tk-x{border:0 !important;background:transparent !important;color:var(--muted) !important;cursor:pointer;font:400 1.25rem/1 var(--body) !important;
  padding:4px 6px !important;margin:0;width:auto;min-height:0;box-shadow:none !important}
.csh-tk .tk-x:hover{color:var(--late) !important}
.csh-tk .tk-result{background:var(--hero);color:var(--hero-ink);border-radius:10px;padding:22px;margin-top:22px;
  display:grid;grid-template-columns:repeat(3,auto) 1fr;gap:10px 36px;align-items:end}
.csh-tk .tk-result div span{display:block;color:var(--hero-muted);font-size:.95rem}
.csh-tk .tk-result div b{font:700 2.1rem/1 var(--display)}
.csh-tk .tk-result .tk-gold b{color:#F5C02A}
.csh-tk .tk-result .tk-short b{color:#F09A6A}
.csh-tk .tk-result p{font-size:1.1rem}

/* classes */
.csh-tk .tk-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.csh-tk .tk-chip{border:1.5px solid var(--line) !important;background:transparent !important;color:var(--ink) !important;border-radius:22px !important;
  padding:7px 14px !important;cursor:pointer;font:400 17px/1.3 var(--body) !important;margin:0;width:auto;min-height:0;
  text-transform:none !important;letter-spacing:normal !important;box-shadow:none !important}
.csh-tk .tk-chip:hover{border-color:var(--accent) !important}
.csh-tk .tk-chip[aria-pressed="true"]{background:var(--accent) !important;border-color:var(--accent) !important;color:var(--accent-ink) !important;font-weight:600 !important}
.csh-tk .tk-addrow{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.csh-tk .tk-tally{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);font-size:1.1rem}
.csh-tk .tk-tally b{font:700 1.7rem/1 var(--display);color:var(--accent-text)}

/* forms list */
.csh-tk .tk-forms{margin:22px 0 0;background:var(--surface);border:1px solid var(--line);border-radius:10px}
.csh-tk .tk-forms li{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:16px 20px}
.csh-tk .tk-forms li+li{border-top:1px solid var(--line)}
.csh-tk .tk-forms p{color:var(--muted);font-size:.97rem}
.csh-tk .tk-forms .tk-btn{flex:none}

/* promote */
.csh-tk .tk-promo{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:22px;margin-top:22px}
.csh-tk .tk-promo .tk-panel{margin-top:0;display:flex;flex-direction:column;gap:10px}
.csh-tk .tk-promo .tk-panel p{color:var(--muted);flex:1}
.csh-tk .tk-promo .tk-lead-panel{background:var(--hero);border-color:var(--hero);color:var(--hero-ink)}
.csh-tk .tk-promo .tk-lead-panel p{color:var(--hero-muted)}
.csh-tk .tk-promo .tk-btn{align-self:flex-start;margin-top:6px}

.csh-tk .tk-foot{margin-top:48px;padding-top:22px;border-top:1px solid var(--line);color:var(--muted);font-size:.95rem;
  display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:center}

/* ---------- voting setup page ---------- */
.csh-tk .tk-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:26px;counter-reset:tkstep}
.csh-tk .tk-steps li{counter-increment:tkstep;padding-top:12px;border-top:3px solid var(--accent);font-weight:500}
.csh-tk .tk-steps li::before{content:counter(tkstep);display:block;font:700 2.2rem/1 var(--display);margin-bottom:4px}
.csh-tk .tk-form{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.csh-tk .tk-form label{display:block;font-weight:500;font-size:.95rem;color:var(--muted)}
.csh-tk .tk-form label input{display:block;width:100%;margin-top:5px}
.csh-tk .tk-form .tk-wide{grid-column:1/-1}
.csh-tk .tk-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.csh-tk .tk-logo-row{grid-column:1/-1;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.csh-tk .tk-logo-row input[type=file]{position:absolute;opacity:0;width:1px;height:1px}
.csh-tk .tk-logo-row img{height:44px;width:auto;max-width:120px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:4px}
.csh-tk .tk-actions{grid-column:1/-1;display:flex;gap:10px 14px;align-items:center;flex-wrap:wrap;margin-top:6px}
.csh-tk .tk-msg{font-weight:500}
.csh-tk .tk-msg.tk-err{color:var(--late)}
.csh-tk .tk-msg.tk-good{color:var(--ok)}
.csh-tk .tk-keep{background:var(--hero);color:var(--hero-ink);border-radius:10px;padding:20px 22px;margin-top:26px}
.csh-tk .tk-keep p{color:var(--hero-muted);margin-top:6px}
.csh-tk .tk-keep .tk-link{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.csh-tk .tk-keep input{flex:1;min-width:200px;background:#262E35;border-color:var(--hero-line);color:var(--hero-ink)}
.csh-tk .tk-cards-prev{margin-top:20px;display:flex;justify-content:center}
.csh-tk .tk-status{display:flex;gap:10px 14px;align-items:center;flex-wrap:wrap}
.csh-tk .tk-pill{font-weight:600;padding:4px 13px;border-radius:20px;border:1.5px solid currentColor;color:var(--ok)}
.csh-tk .tk-pill.tk-closed{color:var(--late)}
.csh-tk .tk-total{color:var(--muted);font-weight:500;margin-right:auto}
.csh-tk .tk-board{margin:18px 0 0;border-top:1px solid var(--line)}
.csh-tk .tk-board li{display:grid;grid-template-columns:1fr 60px;gap:4px 14px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}
.csh-tk .tk-board .tk-n{font:700 1.7rem/1 var(--display)}
.csh-tk .tk-board .tk-n small{font:500 .95rem var(--body);color:var(--muted);margin-right:6px}
.csh-tk .tk-board .tk-leadtag{display:inline-block;margin-left:10px;font:600 .82rem var(--body);background:var(--accent);color:var(--accent-ink);border-radius:20px;padding:2px 9px;vertical-align:middle}
.csh-tk .tk-board .tk-v{font:700 1.7rem/1 var(--display);text-align:right}
.csh-tk .tk-board .tk-bar{grid-column:1/-1;height:9px;border-radius:5px;background:var(--line);overflow:hidden}
.csh-tk .tk-board .tk-bar i{display:block;height:100%;background:var(--accent);transition:width .3s}
.csh-tk .tk-board .tk-empty{color:var(--muted);grid-column:1/-1}

@container (max-width:820px){
  .csh-tk .tk-hero-grid{grid-template-columns:1fr;gap:26px}
  .csh-tk .tk-budget{grid-template-columns:1fr}
  .csh-tk .tk-promo{grid-template-columns:1fr}
  .csh-tk .tk-steps{grid-template-columns:1fr;gap:14px}
  .csh-tk .tk-result{grid-template-columns:1fr 1fr}
  .csh-tk .tk-result p{grid-column:1/-1}
}
@container (max-width:520px){
  .csh-tk .tk-hero{padding:26px 18px 30px}
  .csh-tk .tk-body{padding:0 16px 28px}
  .csh-tk .tk-jump{padding:0 6px}
  .csh-tk .tk-panel{padding:16px}
  .csh-tk .tk-setup,.csh-tk .tk-form{grid-template-columns:1fr}
  .csh-tk .tk-forms li{flex-direction:column;align-items:flex-start;gap:10px}
  .csh-tk .tk-row input.tk-money{width:92px}
}
@media (prefers-reduced-motion:reduce){.csh-tk .tk-fill,.csh-tk .tk-board .tk-bar i{transition:none}}

/* ---------- form viewer (added to the end of the page by the script) ---------- */
dialog.csh-tk-dialog{width:min(820px,100%);max-width:100%;max-height:100%;padding:0;border:0;border-radius:10px;background:#fff;color:#111;
  font:400 15px/1.45 "Barlow","Segoe UI",Arial,sans-serif}
dialog.csh-tk-dialog::backdrop{background:rgba(15,18,21,.72)}
.csh-tk-dialog *{box-sizing:border-box}
.csh-tk-dialog .tkd-bar{position:sticky;top:0;display:flex;gap:10px;align-items:center;justify-content:space-between;
  padding:12px 16px;background:#1D2328;color:#F4F5F6}
.csh-tk-dialog .tkd-bar b{font:700 1.3rem/1 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.csh-tk-dialog .tkd-btn{font:600 15px/1.3 "Barlow","Segoe UI",Arial,sans-serif !important;border-radius:6px !important;padding:7px 13px !important;cursor:pointer;
  background:#F2B705 !important;color:#1D2328 !important;border:1.5px solid #F2B705 !important;margin:0;width:auto;min-height:0;
  text-transform:none !important;letter-spacing:normal !important;box-shadow:none !important}
.csh-tk-dialog .tkd-btn.tkd-close{background:transparent !important;color:#F4F5F6 !important;border-color:#4A555E !important}

.csh-tk-sheet{padding:30px 34px 38px;font:400 15px/1.45 "Barlow","Segoe UI",Arial,sans-serif;color:#111;background:#fff;text-align:left}
.csh-tk-sheet *{box-sizing:border-box}
.csh-tk-sheet p{margin:0;color:#111}
.csh-tk-sheet .tks-title{font:700 2rem/1.05 "Barlow Condensed","Arial Narrow",Arial,sans-serif;text-align:center}
.csh-tk-sheet .tks-head{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:18px}
.csh-tk-sheet .tks-logo{max-height:var(--tks-logo-h,200px);max-width:100%;width:auto;height:auto;object-fit:contain;display:block;flex:none}
.csh-tk-sheet .tks-sub{text-align:center;margin:4px 0 0;font-weight:500}
.csh-tk-sheet .tks-h{font:700 1.15rem/1 "Barlow Condensed","Arial Narrow",Arial,sans-serif;margin:20px 0 4px;padding-bottom:4px;border-bottom:2px solid #111}
.csh-tk-sheet .tks-fr{display:flex;gap:16px;margin-top:14px;flex-wrap:wrap}
.csh-tk-sheet .tks-fl{display:flex;gap:6px;align-items:flex-end;flex:1;min-width:150px;white-space:nowrap}
.csh-tk-sheet .tks-fl i{flex:1;border-bottom:1px solid #111;height:1.2em;min-width:30px}
.csh-tk-sheet table{width:100%;border-collapse:collapse;margin:12px 0 0;border:0;font-size:15px}
.csh-tk-sheet th,.csh-tk-sheet td{border:1px solid #111;padding:9px 10px;text-align:left;vertical-align:top;color:#111;background:#fff}
.csh-tk-sheet th{background:#EDEDED;font-weight:600}
.csh-tk-sheet .tks-fine{font-size:13px;margin-top:10px}
.csh-tk-sheet .tks-note{font-size:13px;margin-top:18px;padding:9px 12px;background:#FFF3C4;border-left:4px solid #F2B705}
.csh-tk-sheet .tks-promo{display:flex;align-items:center;justify-content:space-between;gap:8px 18px;flex-wrap:wrap;margin-top:26px;
  padding-top:11px;border-top:3px solid #F2B705;position:relative;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.csh-tk-sheet .tks-promo::before{content:"";position:absolute;left:0;right:0;top:2px;border-top:1px solid #F2B705}
.csh-tk-sheet .tks-brand{font:700 1.35rem/1 "Barlow Condensed","Arial Narrow",Arial,sans-serif;display:flex;align-items:center;gap:6px}
.csh-tk-sheet .tks-brand i{width:10px;height:10px;background:#F2B705;display:block}
.csh-tk-sheet .tks-tag{font-size:13px;text-align:center;flex:1;min-width:200px}
.csh-tk-sheet .tks-url{font-size:14px;font-weight:600}
.csh-tk-sheet .tks-mini{font-size:11px;line-height:1.35;color:#333;margin-top:12px;padding-top:8px;border-top:2px solid #F2B705}
.csh-tk-sheet .tks-ballot .tks-mini b{display:inline;font:700 12px/1.35 "Barlow","Segoe UI",Arial,sans-serif}
.csh-tk-sheet .tks-ballot .tks-logo{max-height:var(--tks-logo-h,92px);max-width:100%;margin:0 auto 6px}
.csh-tk-sheet .tks-wcard{border:3px solid #111;border-radius:8px;padding:18px;text-align:center;margin-top:8px}
.csh-tk-sheet .tks-no{font:700 6rem/1 "Barlow Condensed","Arial Narrow",Arial,sans-serif;border:3px solid #111;border-radius:8px;
  margin:12px auto;padding:14px 0 20px;max-width:340px;color:#C9C9C9}
.csh-tk-sheet .tks-ballots{display:grid;grid-template-columns:1fr 1fr;margin-top:10px}
.csh-tk-sheet .tks-ballot{border:1.5px dashed #111;padding:16px;text-align:center}
.csh-tk-sheet .tks-ballot b{font:700 1.4rem/1.1 "Barlow Condensed","Arial Narrow",Arial,sans-serif;display:block}
.csh-tk-sheet .tks-box{border:2px solid #111;height:64px;margin:12px auto 6px;max-width:170px;border-radius:6px}
.csh-tk-sheet .tks-wcard .tks-promo{text-align:left;margin-top:18px}
@media (max-width:520px){
  dialog.csh-tk-dialog .csh-tk-sheet{padding:20px 16px 28px}
  dialog.csh-tk-dialog .tks-ballots{grid-template-columns:1fr}
}

/* printing a form: only the form prints, whatever the theme does */
@page{margin:.5in}
#cshtk-print{display:none}
@media print{
  body.cshtk-printing>*:not(#cshtk-print){display:none !important}
  body.cshtk-printing{background:#fff !important;margin:0 !important;padding:0 !important}
  body.cshtk-printing #cshtk-print{display:block !important}
  body.cshtk-printing .csh-tk-sheet{padding:0}
  body.cshtk-printing .tks-note{display:none}
  body.cshtk-printing .tks-no span{visibility:hidden}
  body.cshtk-printing .csh-tk-sheet th{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
