/* Scoped styles for TMconsultant.in draft frameworks. */
.tmf {
  --tmf-ink: #172b42;
  --tmf-muted: #526276;
  --tmf-line: #d9e3ed;
  --tmf-accent: #14546c;
  --tmf-soft: #f4f8fb;
  --tmf-warm: #fff8e9;
  max-width: 960px;
  margin: 0 auto;
  color: var(--tmf-ink);
  font-family: inherit;
  font-size: 16px;
  line-height: 1.7;
}
.tmf *, .tmf *::before, .tmf *::after { box-sizing: border-box; }
.tmf .tmf-header { margin-bottom: 2rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--tmf-line); }
.tmf .tmf-eyebrow { margin: 0 0 .6rem; color: var(--tmf-accent); font-size: .82rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.tmf .tmf-title { margin: 0 0 .85rem; color: var(--tmf-ink); font-size: clamp(1.65rem, 3.5vw, 2.3rem); line-height: 1.24; letter-spacing: -.025em; }
.tmf .tmf-purpose { margin: 0; color: var(--tmf-muted); font-size: 1.05rem; }
.tmf .tmf-reviewed { margin: .85rem 0 0; color: var(--tmf-muted); font-size: .85rem; }
.tmf section { margin: 0 0 2rem; }
.tmf h3 { margin: 0 0 .8rem; color: var(--tmf-ink); font-size: 1.25rem; line-height: 1.35; }
.tmf h4 { margin: 0 0 .65rem; color: var(--tmf-ink); font-size: 1.05rem; line-height: 1.4; }
.tmf p { margin: 0 0 1rem; }
.tmf p:last-child { margin-bottom: 0; }
.tmf ul { margin: .3rem 0 0; padding-left: 1.3rem; }
.tmf li { margin: 0 0 .65rem; padding-left: .12rem; }
.tmf li:last-child { margin-bottom: 0; }
.tmf .tmf-notice { padding: 1.25rem 1.4rem; border: 1px solid #ebd8ae; border-left: 4px solid #ad7b20; border-radius: 8px; background: var(--tmf-warm); }
.tmf .tmf-checklists { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.tmf .tmf-card { padding: 1.3rem 1.4rem; border: 1px solid var(--tmf-line); border-radius: 8px; background: var(--tmf-soft); }
.tmf .tmf-draft-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .75rem; }
.tmf .tmf-draft-heading h3 { margin: 0; }
.tmf .tmf-copy { appearance: none; flex-shrink: 0; border: 1px solid var(--tmf-accent); border-radius: 6px; background: var(--tmf-accent); color: #fff; padding: .65rem 1rem; font: inherit; font-size: .95rem; font-weight: 650; cursor: pointer; line-height: 1.3; }
.tmf .tmf-copy:hover { background: #0d3d4f; }
.tmf .tmf-copy:focus-visible, .tmf textarea:focus-visible, .tmf a:focus-visible { outline: 3px solid #d19a37; outline-offset: 3px; }
.tmf .tmf-draft-help { color: var(--tmf-muted); font-size: .95rem; }
.tmf .tmf-draft-label { display: block; margin-bottom: .5rem; font-weight: 650; }
.tmf .tmf-draft-text { display: block; width: 100%; min-height: 34rem; max-height: none; resize: vertical; padding: 1.35rem; border: 1px solid #b9cbdc; border-radius: 8px; background: #fff; color: #1b2939; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 14px; line-height: 1.75; white-space: pre-wrap; overflow-wrap: anywhere; }
.tmf .tmf-copy-status { display: block; min-height: 1.6em; margin-top: .55rem; color: var(--tmf-accent); font-size: .9rem; }
.tmf .tmf-sources { border-top: 1px solid var(--tmf-line); padding-top: 1.5rem; }
.tmf a { color: var(--tmf-accent); text-decoration: underline; text-underline-offset: .16em; overflow-wrap: anywhere; }
.tmf .tmf-sources li { margin-bottom: .6rem; }
@media (max-width: 640px) {
  .tmf .tmf-checklists { grid-template-columns: 1fr; }
  .tmf .tmf-card, .tmf .tmf-notice { padding: 1.15rem; }
  .tmf .tmf-draft-heading { align-items: flex-start; flex-direction: column; gap: .75rem; }
  .tmf .tmf-draft-text { min-height: 30rem; padding: 1rem; font-size: 13px; }
}
@media print {
  .tmf .tmf-copy, .tmf .tmf-copy-status { display: none; }
  .tmf .tmf-card, .tmf .tmf-notice { background: transparent; }
}

.tmr{max-width:960px;margin:auto;color:#172b42;line-height:1.7}
.tmr h2{font-size:1.5rem;font-weight:700;line-height:1.35;margin:2rem 0 1rem}
.tmr a{color:#14546c;text-decoration:underline;text-underline-offset:.2em}
.tmr ul{list-style:disc;padding-left:1.5rem}.tmr li{margin:.65rem 0}
.tmr .tmr-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;list-style:none;padding:0}
.tmr .tmr-links li{margin:0;border:1px solid #d9e3ed;background:#fff;padding:1.25rem;border-radius:8px}
.tmr .tmr-links p{font-size:.95rem;margin:.75rem 0;color:#526276}
.tm-legal-library h2{margin:2.5rem 0 1rem;font-weight:700;font-size:1.5rem;line-height:1.3}
.tm-legal-library h3{margin:1.5rem 0 .75rem;font-weight:700;font-size:1.2rem}
.tm-legal-library p{margin:1rem 0}.tm-legal-library nav ul{columns:2}
.tm-legal-library details{background:#fff;border:1px solid #d9e3ed;border-radius:8px;padding:1rem 1.25rem;margin:.75rem 0}
.tm-legal-library summary{font-weight:650;cursor:pointer}.tm-legal-library .authority,.tm-legal-library .review-date{font-size:.9rem;color:#526276}
.tm-legal-library .note{background:#f4f8fb;border-left:4px solid #14546c;padding:1rem}
.tm-legal-library .table-wrap{overflow-x:auto}.tm-legal-library table{width:100%;border-collapse:collapse;font-size:.95rem;background:white}
.tm-legal-library th,.tm-legal-library td{text-align:left;padding:.9rem;border:1px solid #d9e3ed;vertical-align:top}
.tm-legal-library th{background:#f4f8fb}.tm-legal-library .cta{margin-top:2rem;padding:1.5rem;border:1px solid #d9e3ed;border-radius:8px;background:white}
@media(max-width:640px){.tmr .tmr-links{grid-template-columns:1fr}.tm-legal-library nav ul{columns:1}}
