/* /time-card-calculator/ page styles. Built from /assets/polyatic.css tokens only (no new colours or fonts). */
.nojs{margin:1.25rem 0 0;padding:0.875rem 1rem;border:1px solid var(--line);border-left:0.25rem solid var(--accent);border-radius:0.625rem;background:var(--surface);color:var(--ink);font-size:0.9375rem;line-height:1.6}
.tc-head .sub{margin-bottom:1rem}
@media(max-width:520px){.tc-head h1{font-size:1.5rem;margin-bottom:0.25rem}.tc-head .sub{font-size:0.875rem;margin-bottom:0.625rem}}

.tc-duo{display:grid;gap:1rem;align-items:start}
@media(min-width:960px){.tc-duo{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:1.5rem}}
.tc-card,.tc-side,.tc-result,.tc-rules{display:grid;gap:0.875rem;align-content:start;min-width:0}
.tc-side{gap:1rem}
@media(max-width:520px){.tc-card,.tc-result,.tc-rules{padding:0.75rem}}
.tc-card .k,.tc-result>.k,.tc-rules .k{margin:0;font-family:var(--mono);font-size:0.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.tc-modes{margin:0}
.tc-modes button{padding:0.4375rem 0.5rem;font-size:0.8125rem}
.tc-help{margin:0;font-size:0.8125rem;line-height:1.5;color:var(--muted)}

/* top bar of the card */
.tc-top{display:flex;gap:0.75rem;align-items:end;flex-wrap:wrap}
.tc-top .tc-modes{flex:1 1 9rem}
.tc-start{display:grid;gap:0.25rem;flex:1 1 9rem}
.tc-start select{padding:0.5rem 0.625rem;font-size:0.875rem}

/* days */
.tc-days{display:grid;min-width:0}
.tc-wk{margin:0.75rem 0 0.25rem;font-family:var(--mono);font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}
.tc-wk:first-child{margin-top:0}
.tc-day{display:grid;grid-template-columns:2.75rem minmax(0,1fr) auto;grid-template-areas:"name pairs tot" "name foot tot";column-gap:0.5rem;row-gap:0.25rem;padding:0.5rem 0;border-top:1px solid var(--line);min-width:0}
.tc-days>.tc-day:first-child,.tc-wk+.tc-day{border-top:0}
.tc-dhead{display:contents}
.tc-dname{grid-area:name;padding-top:0.5rem;font-size:0.875rem;line-height:1.2;color:var(--ink)}
.tc-dname small{display:block;font-family:var(--mono);font-size:0.6875rem;color:var(--muted)}
.tc-vh{display:none}
.tc-dtot{grid-area:tot;display:grid;justify-items:end;align-content:start;padding-top:0.375rem;min-width:3.5rem;font-family:var(--mono);font-variant-numeric:tabular-nums}
.tc-dtot .hm{font-size:1rem;color:var(--ink)}
.tc-dtot .dec{font-size:0.75rem;color:var(--muted)}
.tc-dtot.has-ot .hm{color:var(--accent)}
.tc-pairs{grid-area:pairs;display:grid;gap:0.375rem;min-width:0}
.tc-pair{display:flex;flex-wrap:wrap;align-items:center;gap:0.25rem;min-width:0}
.tc-pair input{flex:1 1 0;min-width:0;padding:0.5rem 0.5rem;font-family:var(--mono);font-size:0.9375rem;font-variant-numeric:tabular-nums}
.tc-dash{color:var(--muted)}
.tc-pmeta{flex:1 0 100%;display:flex;align-items:baseline;gap:0.625rem;min-width:0}
.tc-pmeta:not(:has(button)):has(.tc-r:empty){display:none}
.tc-del{border:0;background:transparent;color:var(--muted);font:inherit;font-size:0.75rem;padding:0;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.tc-del:hover{color:var(--bad)}
.tc-r{font-family:var(--mono);font-size:0.6875rem;color:var(--muted)}
.tc-dfoot{grid-area:foot;display:flex;flex-wrap:wrap;align-items:center;gap:0.25rem 0.75rem;min-width:0}
.tc-addpair{white-space:nowrap;border:0;background:transparent;color:var(--accent);font:inherit;font-size:0.8125rem;font-weight:600;padding:0.25rem 0;cursor:pointer}
.tc-addpair:hover{text-decoration:underline;text-underline-offset:2px}
.tc-addpair[hidden],.tc-brk[hidden]{display:none}
.tc-brk{white-space:nowrap;display:inline-flex;align-items:center;gap:0.3125rem;font-size:0.8125rem;color:var(--ink-2)}
.tc-brk input{width:3.5rem;padding:0.3125rem 0.4375rem;text-align:right;font-family:var(--mono);font-size:0.875rem}
.tc-autonote{font-family:var(--mono);font-size:0.6875rem;color:var(--muted)}
.tc-autonote:empty{display:none}
.tc-issue{grid-column:2 / -1;margin:0;font-size:0.75rem;line-height:1.4;color:var(--bad)}
.tc-issue[hidden]{display:none}
@media(min-width:640px){
  .tc-day{grid-template-columns:5.75rem auto minmax(0,1fr) auto;grid-template-areas:"name pairs foot tot";align-items:start;column-gap:0.75rem}
  .tc-dfoot{padding-top:0.375rem}
  .tc-autonote{flex:1 0 100%}
  .tc-vh{display:inline}
  .tc-pair input{flex:0 1 7.75rem}
}

/* totals */
.tc-tablewrap{overflow-x:auto}
.tc-table{width:100%;border-collapse:collapse;font-size:0.9375rem}
.tc-table th,.tc-table td{padding:0.4375rem 0.375rem;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;vertical-align:top}
.tc-table thead th{font-family:var(--mono);font-size:0.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom-color:var(--line-2)}
.tc-table tbody th{font-weight:600;color:var(--ink)}
.tc-table .num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}
.tc-table .num span{display:block;font-size:1.0625rem;color:var(--ink)}
.tc-table .num small{display:block;font-size:0.75rem;color:var(--muted)}
.tc-table tr[hidden]{display:none}
.tc-table .tc-sum th,.tc-table .tc-sum td{border-bottom:0;border-top:1px solid var(--line-2)}
.tc-table .tc-sum .num span{font-weight:700;color:var(--accent)}
.tc-pay{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.5rem}
.tc-pay div{padding:0.5rem 0.625rem;border:1px solid var(--line);border-radius:0.5rem;background:var(--surface-2);min-width:0}
.tc-pay dt{font-size:0.75rem;color:var(--muted)}
.tc-pay dd{margin:0.125rem 0 0;font-family:var(--mono);font-size:1.0625rem;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.tc-pay .tc-paytotal{border-color:var(--accent);background:var(--accent-soft)}
.tc-pay .tc-paytotal dd{color:var(--accent)}
.tc-rule{margin:0;padding:0.5rem 0.75rem;border-left:0.25rem solid var(--signal);background:var(--surface-2);border-radius:0.375rem;font-size:0.8125rem;line-height:1.55;color:var(--ink-2)}
.tc-actions{display:flex;flex-wrap:wrap;gap:0.5rem}
.tc-summary{font-size:0.8125rem}
.tc-summary[hidden]{display:none}
.tc-save{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;flex-wrap:wrap;padding-top:0.75rem;border-top:1px solid var(--line)}

/* rules */
.tc-rule-row{display:grid;gap:0.375rem;min-width:0}
.tc-grid3{grid-template-columns:repeat(auto-fit,minmax(min(100%,8.5rem),1fr));gap:0.625rem}
.tc-grid2{grid-template-columns:1fr 1fr;gap:0.625rem}
.tc-grid2>div{display:grid;gap:0.375rem}
.tc-rules .field{display:grid;gap:0.25rem}
.tc-rules .field input,.tc-rules .field select{padding:0.5rem 0.625rem;font-size:0.875rem}
.tc-rules .field input[inputmode]{font-family:var(--mono)}
.tc-auto{margin:0.25rem 0 0;font-size:0.8125rem;line-height:2;color:var(--ink-2)}
.tc-auto[hidden]{display:none}
.tc-auto input{width:3.25rem;padding:0.25rem 0.375rem;text-align:right;font-family:var(--mono);font-size:0.875rem}

/* print view: only shown on paper */
.tc-print{display:none}
@media print{
  .brand,.skip-link,.tc-head,.tc-duo,.explainer-row,footer.site,.nojs{display:none!important}
  .tc-print{display:block;color:var(--ink)}
  .tc-print h2{font-size:1.25rem;margin:0 0 0.75rem}
  .tc-ptable{width:100%;border-collapse:collapse;font-size:0.8125rem}
  .tc-ptable th,.tc-ptable td{border:1px solid var(--line-2);padding:0.25rem 0.375rem;text-align:left}
  .tc-ptable td:nth-child(n+4){text-align:right;font-family:var(--mono)}
  .tc-ptable .tc-psum th,.tc-ptable .tc-psum td{font-weight:700;background:var(--surface-2)}
  .tc-ptable .tc-pwk th{background:var(--surface-2)}
  .tc-print p{font-size:0.8125rem;margin:0.5rem 0 0}
}
