/* Magnet interactive v1 — decision tools + printable checklists (no glass restyle) */
.magnet-tool { max-width: 760px; }
.magnet-tool .structure-q,
.magnet-tool .magnet-field {
  margin: 0 0 22px;
  padding: 18px 20px;
  background: #fff;
  border: 1px solid #e4e7ec;
  border-radius: 12px;
}
.magnet-tool .structure-q h3,
.magnet-tool .magnet-field h3,
.magnet-tool .magnet-field label.field-label {
  font-family: var(--title, Montserrat, sans-serif);
  font-size: 1.02rem;
  margin: 0 0 12px;
  color: #101828;
  display: block;
}
.magnet-tool .structure-opts { display: grid; gap: 8px; }
.magnet-tool .structure-opts label,
.magnet-track-opts label {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 10px 12px;
  border: 1px solid #e4e7ec;
  border-radius: 10px;
  cursor: pointer;
  font-size: .95rem;
  color: #344054;
}
.magnet-tool .structure-opts label:hover,
.magnet-tool .structure-opts label:has(input:checked),
.magnet-track-opts label:hover,
.magnet-track-opts label:has(input:checked) {
  border-color: #ed0000;
  background: #fff8f8;
}
.magnet-tool .structure-opts label:focus-within,
.magnet-track-opts label:focus-within,
.magnet-tool input[type="text"]:focus-visible,
.magnet-tool input[type="number"]:focus-visible,
.magnet-tool select:focus-visible,
.magnet-tool textarea:focus-visible,
.magnet-tool .structure-opts input:focus-visible,
.magnet-track-opts input:focus-visible {
  outline: 2px solid #ed0000;
  outline-offset: 2px;
}
.magnet-tool .structure-opts input,
.magnet-track-opts input { margin-top: 3px; accent-color: #ed0000; }
.magnet-tool input[type="text"],
.magnet-tool input[type="number"],
.magnet-tool select,
.magnet-tool textarea {
  width: 100%;
  max-width: 100%;
  padding: 10px 12px;
  border: 1px solid #e4e7ec;
  border-radius: 8px;
  font: inherit;
  color: #101828;
  background: #fff;
}
.magnet-tool textarea { min-height: 72px; resize: vertical; }
.magnet-result {
  display: none;
  margin-top: 8px;
  padding: 20px 22px;
  border-radius: 12px;
  background: #f8fafc;
  border: 1px solid #e4e7ec;
}
.magnet-result.is-visible { display: block; }
.magnet-result h3 {
  font-family: var(--title, Montserrat, sans-serif);
  margin: 0 0 8px;
  color: #101828;
}
.magnet-result p { margin: 0 0 10px; color: #475467; line-height: 1.5; }
.magnet-result ul { margin: 0 0 14px; padding-left: 1.2rem; color: #344054; }
.magnet-result .structure-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}
.magnet-outcome-tag {
  display: inline-block;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 999px;
  margin-bottom: 10px;
}
.magnet-outcome-tag--screen { background: #fff7ed; color: #9a3412; }
.magnet-outcome-tag--advice { background: #eff6ff; color: #1e40af; }
.magnet-outcome-tag--open { background: #ecfdf5; color: #065f46; }
.magnet-outcome-tag--map { background: #f8fafc; color: #334155; }
.doc-checklist-disclaimer {
  margin-top: 24px;
  padding: 16px 18px;
  background: #fff8f8;
  border: 1px solid #fecaca;
  border-radius: 10px;
  font-size: .92rem;
  color: #7f1d1d;
  line-height: 1.5;
}
.magnet-cite-box {
  margin: 0 0 18px;
  padding: 14px 16px;
  max-width: 900px;
  background: #f8fafc;
  border: 1px solid #e4e7ec;
  border-radius: 10px;
  font-size: .9rem;
  color: #475467;
  line-height: 1.5;
}
.magnet-cite-box h3 {
  font-family: var(--title, Montserrat, sans-serif);
  font-size: .95rem;
  margin: 0 0 8px;
  color: #101828;
}
.magnet-cite-box ul { margin: 0; padding-left: 1.15rem; }
.magnet-cite-box a { color: #b42318; text-underline-offset: 2px; }
.magnet-authority {
  font-weight: 600;
  color: #101828;
}
.magnet-analysis {
  font-style: italic;
  color: #475467;
}
.magnet-print-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin: 0 0 18px;
}
.magnet-checklist {
  list-style: none;
  margin: 0;
  padding: 0;
  max-width: 760px;
}
.magnet-checklist li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 12px 14px;
  margin: 0 0 8px;
  background: #fff;
  border: 1px solid #e4e7ec;
  border-radius: 10px;
  color: #344054;
  line-height: 1.45;
}
.magnet-checklist input {
  margin-top: 3px;
  accent-color: #ed0000;
  flex-shrink: 0;
}
.magnet-checklist li.is-checked {
  background: #f8fafc;
  color: #667085;
  text-decoration: line-through;
}
.magnet-calc-grid {
  display: grid;
  gap: 12px;
  max-width: 760px;
}
@media (min-width: 720px) {
  .magnet-calc-grid { grid-template-columns: 1fr 1fr; }
}
.magnet-calc-grid .magnet-field { margin: 0; }
.magnet-nd {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: .92rem;
  color: #667085;
}
.magnet-month-grid {
  display: grid;
  gap: 10px;
  max-width: 900px;
}
@media (min-width: 800px) {
  .magnet-month-grid { grid-template-columns: repeat(3, 1fr); }
}
.magnet-month-card {
  padding: 14px 16px;
  background: #fff;
  border: 1px solid #e4e7ec;
  border-radius: 12px;
}
.magnet-month-card h3 {
  font-family: var(--title, Montserrat, sans-serif);
  font-size: .95rem;
  margin: 0 0 8px;
  color: #101828;
}
.magnet-month-card ul {
  margin: 0;
  padding-left: 1.1rem;
  color: #475467;
  font-size: .9rem;
  line-height: 1.45;
}
@media print {
  .topbar,
  .mobile-action-bar,
  .pricing-wa-dock,
  .zatra-premium-footer,
  .it-split-hero-actions,
  .it-split-hero-contact,
  .magnet-print-bar,
  .da-figure,
  #quick-answer,
  #related,
  section[aria-labelledby="rel-title"],
  .navlinks {
    display: none !important;
  }
  .magnet-tool .structure-q,
  .magnet-result.is-visible,
  .magnet-checklist,
  .magnet-month-grid,
  .magnet-compare,
  .magnet-cite-box,
  .doc-checklist-disclaimer {
    break-inside: avoid;
  }
  .magnet-checklist li {
    border: 1px solid #ccc;
    background: #fff;
  }
  #instrument .lp-head,
  #instrument .magnet-tool,
  #instrument .magnet-lineage,
  #instrument .magnet-cite-box,
  #instrument .doc-checklist-disclaimer {
    display: block !important;
  }
}

.magnet-compare { margin: 18px 0 24px; overflow-x: auto; }
.magnet-compare table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.magnet-compare th, .magnet-compare td { border: 1px solid #e4e7ec; padding: 10px 12px; text-align: left; vertical-align: top; }
.magnet-compare thead th { background: #f8fafc; font-family: var(--title, Montserrat, sans-serif); }
.magnet-compare tbody th { background: #fcfcfd; width: 22%; }
@media print {
  .magnet-compare { break-inside: avoid; }
  .magnet-print-bar, .navlinks, .mobile-action-bar, .pricing-wa-dock { display: none !important; }
}

/* Deepen v1.1 — category tables / statutory rows (no glass restyle) */
.magnet-lineage { margin: 0 0 18px; max-width: 900px; }
.magnet-lineage h3 {
  font-family: var(--title, Montserrat, sans-serif);
  font-size: 1rem; margin: 0 0 8px; color: #101828;
}
.magnet-lineage p { margin: 0 0 10px; color: #475467; font-size: .92rem; line-height: 1.45; }
.magnet-badge {
  display: inline-block; font-size: .72rem; font-weight: 700;
  letter-spacing: .03em; text-transform: uppercase;
  padding: 2px 8px; border-radius: 999px; margin-right: 6px;
}
.magnet-badge--statutory { background: #fef3c7; color: #92400e; }
.magnet-badge--optional { background: #f1f5f9; color: #475569; }
.magnet-badge--reported { background: #fee2e2; color: #991b1b; }
.magnet-badge--confirm { background: #e0f2fe; color: #075985; }
.magnet-badge--nd { background: #f1f5f9; color: #64748b; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.magnet-track-opts { display: grid; gap: 8px; }
@media (min-width: 640px) { .magnet-track-opts { grid-template-columns: 1fr 1fr; } }
/* track-opts label styles shared above with structure-opts */
.magnet-calc-section {
  margin: 0 0 14px; padding: 14px 16px;
  border: 1px solid #e4e7ec; border-radius: 12px; background: #fff;
  max-width: 760px;
}
.magnet-calc-section h3 {
  font-family: var(--title, Montserrat, sans-serif);
  font-size: .95rem; margin: 0 0 10px; color: #101828;
}
.magnet-calc-section .magnet-calc-grid { margin: 0; }
.magnet-result .magnet-compare { margin-top: 12px; }
