.flyer-planning { min-width: 0; font-family: var(--sp-font-family, Inter, sans-serif); }
.flyer-planning p { line-height: 1.5; margin: .5rem 0; }
.flyer-planning h3 { margin: 1.8rem 0 .6rem; font-size: 1.1rem; }
.flyer-planning h4 { margin: 0 0 .65rem; font-size: 1rem; overflow-wrap: anywhere; }
.flyer-planning a:not(.calendar-btn):not(.btn-pri) { color: var(--red, #E4002B); }
.flyer-plan-intro { padding: 1.1rem; background: var(--card, #fff); border: 1px solid var(--line, #EBEBEB); border-radius: 14px; }
.flyer-plan-intro h2 { margin: 0 0 .8rem; }
.flyer-plan-intro .calendar-btn { display: inline-block; margin-top: .6rem; color: #fff; background: #E4002B; padding: .8rem 1rem; border-radius: 10px; text-decoration: none; }
.flyer-plan-toolbar, .flyer-plan-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin-top: .8rem; }
.flyer-planning .btn-sec, .flyer-planning .btn-pri { width: auto; min-height: 44px; margin: 0; padding: .65rem .9rem; border-radius: 9px; font: inherit; cursor: pointer; }
.flyer-planning .btn-sec { color: var(--ink, #242424); background: var(--card, #fff); border: 1px solid var(--line, #EBEBEB); }
.flyer-planning .btn-pri { color: white !important; background: #E4002B; border: 0; }
.flyer-planning .btn-sec:focus-visible, .flyer-planning a:focus-visible { outline: 3px solid #E4002B; outline-offset: 2px; }
.flyer-district-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: .75rem; }
.flyer-district-card, .flyer-own-plan { padding: 1rem; border: 1px solid var(--line, #EBEBEB); border-radius: 12px; background: var(--card, #fff); }
.flyer-district-card p { font-size: .86rem; }
.flyer-district-card progress { width: 100%; height: 9px; accent-color: #E4002B; }
.flyer-own-plans { display: grid; gap: .75rem; }
.flyer-plan-sources { margin-top: 1rem; font-size: .82rem; color: var(--muted, #565656); }
.flyer-plan-sources summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; }
.flyer-plan-form-panel { margin: 1.3rem 0; padding: 1rem; background: var(--card, #fff); border: 1px solid var(--line, #EBEBEB); border-radius: 14px; scroll-margin-top: 110px; }
.flyer-plan-form-panel h3 { margin-top: 0; }
.flyer-plan-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }
.flyer-plan-fields label, .flyer-plan-toolbar label { display: flex; flex-direction: column; gap: .4rem; font-size: .85rem; font-weight: 600; min-width: 0; }
.flyer-plan-fields input, .flyer-plan-fields select, .flyer-plan-fields textarea, .flyer-plan-toolbar select { width: 100%; min-width: 0; min-height: 44px; padding: .7rem; border: 1px solid var(--line, #EBEBEB); border-radius: 9px; background: var(--card, #fff); color: var(--ink, #242424); font: inherit; }
.flyer-plan-wide { grid-column: 1 / -1; }
.flyer-plan-fields small { font-weight: 400; color: var(--muted, #565656); }
.support-nav { display: flex; gap: .4rem; overflow-x: auto; margin-bottom: 1.3rem; border-bottom: 1px solid var(--line); }
.support-nav button { flex-shrink: 0; min-height: 44px; padding: .7rem .6rem; color: var(--muted); font: inherit; cursor: pointer; border: 0; border-bottom: 3px solid transparent; background: transparent; }
.support-nav button.on { color: var(--red); border-bottom-color: var(--red); font-weight: 600; }
@media (max-width: 520px) { .flyer-plan-fields { grid-template-columns: 1fr; } }
