/* The free CRA deadline calculator (calculator/): its form beside the calendar. Everything else, from the header to
   the date badges, comes from app.css (the policies' layout, the deadline preview's list). */

.calc-page .legal-main { max-width: 1120px; }
.calc-page .legal-bar { max-width: 1120px; }
.calc-intro { max-width: 760px; margin-bottom: 24px; }
.calc-intro h1 { font-size: var(--text-3xl); margin-bottom: 10px; }

.calc-layout { display: grid; grid-template-columns: minmax(280px, 380px) minmax(0, 1fr); gap: 24px; align-items: start; }
.calc-form fieldset { border: 0; margin: 0 0 12px; padding: 0; min-width: 0; }
.calc-form legend { font-weight: 700; font-size: var(--text-md); margin-bottom: 8px; padding: 0; }
.calc-year-end { display: grid; grid-template-columns: minmax(0, 1fr) 88px; gap: 10px; }
.calc-hint { margin: -4px 0 12px; color: var(--muted); font-size: var(--text-sm); }
.calc-service { padding: 10px 0; border-top: 1px solid var(--border); }
.calc-service .check { white-space: normal; font-size: var(--text-base); font-weight: 600; min-height: var(--touch-target); }
.calc-who { display: block; margin-left: 26px; color: var(--muted); font-size: var(--text-sm); }
.calc-service-settings { margin: 8px 0 0 26px; }
.calc-service-settings .field:last-child { margin-bottom: 0; }

.calc-results h2 { font-size: var(--text-xl); margin: 4px 0 12px; }
.calc-results h3 { margin: 22px 0 4px; font-size: var(--text-md); }
.calc-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.calc-left-out { margin: 0 0 16px; padding: 12px 16px 12px 32px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface-2); font-size: var(--text-sm); }
.calc-note { margin-top: 20px; color: var(--muted); font-size: var(--text-sm); }
.calc-cta { margin-top: 32px; max-width: 760px; }
.calc-cta h2 { font-size: var(--text-lg); }
.calc-footer { max-width: none; }

@media (max-width: 900px) {
  .calc-layout { grid-template-columns: minmax(0, 1fr); }
}

@media print {
  .calc-form, .calc-actions, .calc-cta { display: none; }
  .calc-layout { display: block; }
}
.calc-footer a, .calc-left-out a { text-decoration: underline; }
.calc-email-form { max-width: 560px; }
.calc-consent .check-row { font-size: var(--text-base); }
.calc-consent .calc-hint { margin: 6px 0 0 24px; }
.calc-after { margin: 14px 0 0; }
.calc-after a { text-decoration: underline; }
