.weekly-page{max-width:960px}.weekly-card-title{font-size:1.2rem;margin:0 0 1rem}.weekly-table-wrap{overflow-x:auto}.weekly-table{border-collapse:collapse;min-width:720px;width:100%}.weekly-table caption{color:#475569;margin:0 0 .75rem;text-align:left}.weekly-table th,.weekly-table td{border-bottom:1px solid #e2e8f0;padding:.65rem .55rem;text-align:left;vertical-align:middle}.weekly-table thead th{color:#334155;font-size:.88rem}.weekly-table tbody th{font-weight:700;white-space:nowrap}.weekly-table input{border:1px solid #94a3b8;border-radius:7px;font:inherit;min-height:42px;padding:.45rem .55rem;width:100%}.weekly-table td:last-child{font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}.weekly-unit{display:block;font-weight:400}.weekly-sr{height:1px;margin:-1px;overflow:hidden;position:absolute;width:1px;clip:rect(0,0,0,0);white-space:nowrap}.weekly-form-message{color:#9f1239;font-weight:650;min-height:1.4em;margin:.9rem 0 0}.weekly-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.8rem}.weekly-primary,.weekly-secondary{border-radius:8px;cursor:pointer;font:inherit;font-weight:700;min-height:44px;padding:.6rem 1rem}.weekly-primary{background:#1d4ed8;border:1px solid #1d4ed8;color:#fff}.weekly-primary:hover{background:#1e40af}.weekly-secondary{background:#fff;border:1px solid #94a3b8;color:#334155}.weekly-primary:focus-visible,.weekly-secondary:focus-visible{outline:3px solid rgba(37,99,235,.3);outline-offset:2px}.weekly-result{background:#f8fbff;border:1px solid #bfdbfe;border-radius:10px;margin-top:1.25rem;padding:1.2rem}.weekly-result-kicker{color:#475569;font-weight:650;margin:0 0 .25rem}.weekly-result-total{display:block;font-size:clamp(1.7rem,4vw,2.35rem);line-height:1.15}.weekly-summary{display:grid;gap:.55rem;grid-template-columns:repeat(3,minmax(0,1fr));margin:1rem 0 0}.weekly-summary div{background:#fff;border:1px solid #dbeafe;border-radius:8px;padding:.7rem}.weekly-summary dt{color:#64748b;font-size:.88rem}.weekly-summary dd{font-size:1.1rem;font-weight:750;margin:.18rem 0 0}.weekly-steps{color:#334155;line-height:1.6;padding-left:1.25rem}.weekly-steps li+li{margin-top:.35rem}@media(max-width:640px){.weekly-page{padding-left:14px;padding-right:14px}.weekly-summary{grid-template-columns:1fr}.weekly-actions>*{flex:1}.weekly-table-wrap{margin-left:-2px;margin-right:-2px}.weekly-table th,.weekly-table td{padding:.55rem .45rem}}
.weekly-table [data-invalid="true"]{background:#fff1f2}.weekly-table [aria-invalid="true"]{border-color:#be123c;box-shadow:0 0 0 1px #be123c}
.weekly-mobile-label{display:none}.weekly-table output{font:inherit}

@media(max-width:768px){
  .weekly-page{padding-left:14px;padding-right:14px}
  .weekly-calculator{padding:14px}
  .weekly-table-wrap{margin:0;overflow:visible}
  .weekly-table{display:block;min-width:0}
  .weekly-table caption{display:block;font-size:.92rem;line-height:1.45;margin-bottom:.9rem}
  .weekly-table thead{clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}
  .weekly-table tbody{display:grid;gap:.75rem}
  .weekly-table tr{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;display:grid;gap:.7rem .65rem;grid-template-columns:repeat(2,minmax(0,1fr));padding:.8rem}
  .weekly-table tr[data-invalid="true"]{border-color:#be123c}
  .weekly-table tbody th{border-bottom:1px solid #e2e8f0;font-size:1rem;grid-column:1/-1;padding:0 0 .55rem}
  .weekly-table td{border:0;min-width:0;padding:0}
  .weekly-mobile-label{color:#64748b;display:block;font-size:.78rem;font-weight:650;letter-spacing:.01em;margin-bottom:.3rem}
  .weekly-table input{box-sizing:border-box;font-size:16px;min-height:48px;min-width:0;padding:.55rem;width:100%}
  .weekly-table td:last-child{align-self:stretch;background:#fff;border:1px solid #dbeafe;border-radius:7px;line-height:1.25;padding:.55rem;white-space:normal}
  .weekly-table output{display:block;overflow-wrap:anywhere}
  .weekly-actions{display:grid;grid-template-columns:1fr;margin-top:1rem}
  .weekly-actions button{min-height:48px;width:100%}
  .weekly-secondary{background:transparent;border-color:transparent;color:#475569}
  .weekly-secondary:hover{background:#f8fafc;border-color:#cbd5e1}
  .weekly-result{padding:1rem}
  .weekly-result .intent-copy-row{align-items:stretch;flex-direction:column}
  .weekly-result .intent-copy{min-height:48px;width:100%}
}

@media(max-width:359px){
  .weekly-table tr{grid-template-columns:1fr}
  .weekly-table tbody th{grid-column:1}
}
