/* Programme planning: a quiet working surface within the editorial site. */
.add-to-plan { display:inline-flex; align-items:center; gap:22px; margin-top:15px; min-height:36px; font-size:11px; font-weight:700; color:var(--lime); }
.add-to-plan span { font-size:20px; }
.add-to-plan:hover { text-decoration:underline; text-underline-offset:5px; }
.planner { border-bottom:1px solid var(--line); }
.planner-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:50px; margin-bottom:45px; }
.planner-heading .eyebrow { margin-bottom:22px; }
.planner-heading>p { max-width:345px; color:#5a665d; font-size:13px; line-height:1.9; }
.planner-workspace { display:grid; grid-template-columns:1.35fr 1fr; align-items:start; gap:36px; }
.planner-form { min-width:0; }
.planner-form fieldset { margin:0 0 28px; padding:0; border:0; min-width:0; }
.planner-form legend { padding:0; font-size:15px; font-weight:750; letter-spacing:-.3px; margin-bottom:16px; display:flex; align-items:center; gap:12px; }
.planner-form legend>span { display:inline-grid; place-items:center; width:27px; height:27px; border:1px solid #b9c7ad; border-radius:50%; font-size:9px; font-weight:700; }
.planner-form .field-hint { color:#626f65; font-size:11px; margin:-7px 0 15px 39px; }
.audience-options { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.audience-choice,.track-choice { position:relative; display:flex; align-items:center; gap:10px; margin:0; padding:19px 15px; border:1px solid #c9d3bf; border-radius:9px; cursor:pointer; background:var(--paper); transition:background .2s,border-color .2s; }
.audience-choice input,.track-choice input { flex:0 0 16px; width:16px; height:16px; min-height:0; padding:0; margin:0; accent-color:var(--forest); }
.audience-choice input:focus-visible,.track-choice input:focus-visible { outline:3px solid #698914; outline-offset:4px; }
.audience-choice>span,.track-choice>span:last-child { min-width:0; color:var(--ink); }
.audience-choice strong,.track-choice strong { display:block; font-size:12px; font-weight:750; }
.audience-choice small,.track-choice small { display:block; color:#62705b; font-weight:500; font-size:10px; line-height:1.6; margin-top:5px; }
.audience-choice b { margin-left:auto; align-self:flex-start; font-size:15px; color:#78934d; font-weight:500; }
.audience-choice:has(input:checked),.track-choice:has(input:checked) { background:#eaf0dc; border-color:#698647; box-shadow:inset 0 0 0 1px #698647; }
.audience-choice:hover,.track-choice:hover { border-color:#78934d; }
.track-options { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.track-choice { flex-wrap:wrap; padding:19px 17px; gap:12px; }
.track-choice .choice-icon { margin-left:auto; font-size:22px; line-height:1.1; font-weight:500; color:#476737; }
.track-choice>span:last-child { flex-basis:100%; }
.planner-context { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.planner-context label { margin-top:0; font-size:11px; }
.planner-context select { font-size:12px; min-height:46px; }
.planner-bottom { border-top:1px solid var(--line); padding-top:14px; display:flex; gap:12px; justify-content:space-between; align-items:center; }
.planner-bottom p { font-size:10px; color:#62705b; }
.quiet-button { background:none; border:0; padding:8px 0 8px 12px; font-size:11px; font-weight:700; min-height:40px; }
.quiet-button span { font-size:15px; margin-left:7px; }
.plan-preview { background:#e7eddc; border:1px solid #d2ddc3; border-radius:12px; padding:30px; position:sticky; top:115px; min-width:0; }
.plan-preview-top { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:29px; }
.plan-preview-top .eyebrow { font-size:8px; letter-spacing:1.2px; }
.plan-count { font-size:9px; border:1px solid #bacbab; border-radius:20px; padding:3px 8px; white-space:nowrap; }
.plan-preview h3 { font-size:29px; font-weight:600; line-height:1.2; letter-spacing:-1.1px; margin-bottom:17px; }
#plan-summary { font-size:12px; color:#4b5f45; line-height:1.9; }
.plan-stages { margin:24px 0 0; padding:0; list-style:none; counter-reset:plan; }
.plan-stages:empty { display:none; }
.plan-stage { position:relative; padding:16px 0 15px 30px; border-top:1px solid #c2cfb5; counter-increment:plan; }
.plan-stage::before { content:counter(plan,decimal-leading-zero); position:absolute; top:18px; left:0; font-size:9px; color:#657d50; }
.plan-stage h4 { font-size:12px; font-weight:750; line-height:1.6; }
.plan-stage ul { padding:0; list-style:none; margin:6px 0 0; font-size:10px; color:#5c6f52; line-height:1.9; }
.plan-stage li::before { content:'·'; padding-right:6px; }
.plan-status { font-size:10px; line-height:1.7; margin:22px 0 10px; color:#4d6541; }
#use-plan { width:100%; justify-content:space-between; padding-inline:20px; }
.plan-tools { display:flex; justify-content:center; gap:25px; padding:10px 0 2px; }
.plan-tools button { border:0; background:none; font-size:10px; font-weight:750; min-height:44px; padding:5px 0; }
.plan-tools span { margin-left:5px; }
.plan-tools button:hover:not(:disabled) { text-decoration:underline; text-underline-offset:4px; }
#plan-link-note,.plan-action-status { font-size:10px; line-height:1.8; margin-top:7px; color:#405b32; overflow-wrap:anywhere; }
.plan-caveat { border-top:1px solid #c2cfb5; padding-top:15px; margin-top:14px; font-size:9px; line-height:1.8; color:#5b6e51; }
.planner-fallback { padding:25px; border:1px solid var(--line); font-size:13px; }
.planner-fallback a,.journey-steps p a { text-decoration:underline; text-underline-offset:3px; }
.attached-plan { background:#eaf0df; border:1px solid #c9d7b7; padding:15px 17px; border-radius:6px; margin-bottom:23px; }
.contact .attached-plan .eyebrow { color:#38582d; font-size:8px; letter-spacing:1px; margin:0 0 7px; }
.attached-plan p { font-size:11px; line-height:1.8; color:#4f6343; }
.attached-plan-actions { display:flex; gap:22px; align-items:center; margin-top:6px; }
.attached-plan-actions a,.attached-plan-actions button { background:none; border:0; padding:7px 0; font-size:10px; font-weight:750; text-decoration:underline; text-underline-offset:3px; min-height:32px; }
@media(max-width:1050px) {
  .planner-workspace { grid-template-columns:1.1fr 1fr; gap:25px; }
  .audience-options { grid-template-columns:1fr; }
  .audience-choice { padding:15px; }
  .audience-choice small { margin-top:2px; }
  .plan-preview { padding:25px; }
}
@media(max-width:760px) {
  .planner-heading { gap:25px; }
  .planner-heading>p { max-width:265px; font-size:12px; }
  .planner-workspace { grid-template-columns:1fr; gap:30px; }
  .audience-options { grid-template-columns:1fr 1fr; }
  .plan-preview { position:static; padding:28px; }
  .plan-preview-top { margin-bottom:20px; }
  .plan-stages { display:grid; grid-template-columns:1fr 1fr; gap:0 22px; }
}
@media(max-width:680px) {
  .planner-heading { display:block; margin-bottom:30px; }
  .planner-heading .eyebrow { font-size:8px; letter-spacing:1px; margin-bottom:20px; }
  .planner-heading h2 { font-size:37px; }
  .planner-heading>p { max-width:440px; margin-top:22px; font-size:13px; }
  .planner-heading>p br { display:none; }
  .planner-form legend { font-size:14px; gap:10px; }
  .audience-options { grid-template-columns:1fr; }
  .audience-choice { padding:17px; }
  .audience-choice strong,.track-choice strong { font-size:12px; }
  .audience-choice small,.track-choice small { font-size:10px; }
  .track-choice { padding:16px 13px; }
  .planner-context { grid-template-columns:1fr; gap:17px; }
  .planner-context select,#plan-link { font-size:16px; }
  .planner-form .field-hint { margin-left:0; }
  .plan-stages { display:block; }
  .plan-preview { padding:25px 23px; }
  .plan-preview h3 { font-size:29px; }
  .plan-stage h4 { font-size:13px; }
  .plan-stage ul { font-size:11px; }
  .plan-tools { gap:35px; }
  .plan-tools button { font-size:11px; }
  .plan-caveat { font-size:10px; }
  .attached-plan-actions a,.attached-plan-actions button { min-height:44px; font-size:11px; }
}
@media(max-width:370px) {
  .track-options { grid-template-columns:1fr; }
  .track-choice { flex-wrap:nowrap; gap:12px; }
  .track-choice .choice-icon { display:none; }
  .track-choice>span:last-child { flex-basis:auto; }
  .planner-bottom { align-items:flex-start; }
  .planner-bottom p { padding-top:9px; max-width:145px; }
}
@media print {
  .planner-form,.plan-tools,#use-plan,.plan-status,#plan-link-wrap,.plan-action-status { display:none; }
  .planner-workspace { display:block; }
  .plan-preview { position:static; background:white; break-inside:avoid; }
}
