/* Maintenance plans: explicit provenance and readable, full-page forms. */
.maintenance-plans {max-width: 1240px; margin: 0 auto; min-width: 0;}
.marketing-body .maintenance-plans {padding: 44px 32px 70px;}
.plans-intro, .plans-actions, .plan-detail-heading, .plan-section-heading, .plan-item-heading {display: flex; align-items: center; justify-content: space-between; gap: 16px;}
.plans-intro {align-items: flex-start; margin-bottom: 28px;}
.plans-intro h1 {font-size: clamp(28px, 3vw, 36px); line-height: 1.2; margin: 0 0 10px; letter-spacing: -1.1px;}
.plans-intro p, .plan-panel header p {color: var(--muted); margin: 0; max-width: 740px; font-size: 15px; line-height: 1.7;}
.plans-actions {justify-content: flex-start; flex-wrap: wrap; flex-shrink: 0;}
.plans-actions form {margin: 0;}
.plan-vehicle-picker {display: flex; align-items: flex-end; gap: 14px; margin: 0 0 24px; padding: 22px; background: #f3f0fb; border: 1px solid #e6e0f5; border-radius: 18px;}
/* Bound native option-width overflow; the inset keeps the focus ring unclipped. */
.plan-vehicle-picker .field {min-width: 0; max-width: 550px; flex: 1; margin: -4px; padding: 4px; overflow: clip;}
.plan-vehicle-picker select:focus-visible {outline: 3px solid #655093; outline-offset: 0;}
.plan-vehicle-picker select {width: 100%; min-width: 0; max-width: 100%;}
.plan-vehicle-picker .field span, .maintenance-plans .field > span {font-size: 13px;}
.maintenance-plans .field input, .maintenance-plans .field textarea, .maintenance-plans .field select {font-size: 16px; min-height: 45px;}
.maintenance-plans .field small {line-height: 1.7; font-size: 12px; color: var(--muted);}
.maintenance-plans .field > span small {font-size: 11px;}
.plan-notice {display: flex; align-items: flex-start; gap: 14px; padding: 22px 24px; background: #eef5f1; border: 1px solid #deebe3; color: #466457; border-radius: 18px; margin: 22px 0;}
.plan-notice strong {font-size: 15px; font-weight: 700;}
.plan-notice p {font-size: 14px; line-height: 1.75; margin: 5px 0 0;}
.plan-notice p:first-child {margin-top: 0;}
.plan-notice-warning {background: #fbf2e7; border-color: #eee1d1; color: #785e3f;}
.plan-filters {display: grid; grid-template-columns: 1fr 1fr .8fr auto auto; align-items: end; gap: 14px; padding: 24px; margin: 25px 0 30px; border: 1px solid var(--line); border-radius: 20px; background: #fff;}
.plan-filters .field {min-width: 0; margin: 0;}
.plan-filters > a {align-self: center; font-size: 13px; margin-top: 22px;}
.plan-section-heading {margin: 25px 0 18px;}
.plan-section-heading h2, .plan-section-heading h3 {margin: 0; font-size: 22px;}
.plan-section-heading > span {font-size: 13px; color: var(--muted);}
.plan-library-grid {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px;}
.plan-library-card {padding: 26px; border: 1px solid var(--line); border-radius: 22px; background: #fff; display: flex; flex-direction: column; align-items: flex-start; min-width: 0; box-shadow: var(--shadow);}
.plan-tag {display: inline-flex; align-items: center; padding: 6px 10px; border-radius: 7px; font-size: 11px; line-height: 1.4; font-weight: 700;}
.plan-tag-owner {background: #f0ebf9; color: #6e5b99;}
.plan-tag-neutral {background: #f4f3f7; color: #6e6a7b; flex-shrink: 0;}
.plan-card-vehicle {font-size: 12px; color: var(--muted); margin: 22px 0 5px;}
.plan-library-card h3 {font-size: 21px; line-height: 1.4; letter-spacing: -.4px; margin: 0 0 14px;}
.plan-library-card h3 a {color: var(--ink);}
.plan-card-configuration {font-size: 14px; margin: 0 0 9px; line-height: 1.6;}
.plan-card-owner {font-size: 12px; color: var(--muted); margin: -4px 0 15px;}
.plan-card-conditions {font-size: 13px; color: var(--muted); margin: 0 0 20px; line-height: 1.7;}
.plan-card-meta {display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: 12px; color: var(--muted); margin-top: auto; padding-top: 6px;}
.plan-fit {font-size: 12px; line-height: 1.6; color: #77698d; margin-top: 12px;}
.plan-card-link {display: flex; justify-content: space-between; gap: 20px; width: 100%; margin-top: 20px; padding-top: 19px; border-top: 1px solid var(--line); font-size: 14px; font-weight: 700; color: var(--green-dark);}
.plan-back {display: inline-block; margin: 1px 0 22px; font-size: 14px;}
.plan-panel {padding: 30px; background: #fff; border: 1px solid var(--line); border-radius: 22px; margin-bottom: 24px; box-shadow: var(--shadow);}
.plan-panel header {margin-bottom: 24px;}
.plan-panel header h2 {margin: 0 0 9px; font-size: 23px; letter-spacing: -.4px;}
.plan-detail > h2 {font-size: clamp(25px, 3vw, 33px); letter-spacing: -.8px; line-height: 1.3; margin: 22px 0 14px;}
.plan-version {font-size: 12px; color: var(--muted); white-space: nowrap;}
.plan-summary {font-size: 15px; line-height: 1.8; color: var(--muted);}
.plan-byline {font-size: 14px; margin: 15px 0;}
.plan-specs {display: grid; grid-template-columns: 1fr 1fr; gap: 22px 28px; padding-block: 23px; margin: 20px 0; border-block: 1px solid var(--line);}
.plan-specs div, .plan-public-facts div {min-width: 0;}
.plan-specs dt, .plan-public-facts dt {font-size: 11px; color: var(--muted); margin-bottom: 6px;}
.plan-specs dd, .plan-public-facts dd {margin: 0; font-size: 14px; line-height: 1.8;}
.plan-source-box {background: #f6f5fa; padding: 22px; border-radius: 14px; margin-bottom: 25px;}
.plan-source-box strong, .plan-source-box a, .plan-source-box small {display: block;}
.plan-source-box strong {font-size: 14px;}
.plan-source-box a {font-size: 13px; margin-top: 8px;}
.plan-source-box small {font-size: 12px; color: var(--muted); margin-top: 8px;}
.plan-source-box p {font-size: 13px; line-height: 1.8; margin: 13px 0 0; color: var(--muted);}
.plan-helper {font-size: 13px; color: var(--muted); line-height: 1.8; margin: 0 0 22px;}
.plan-items {display: grid; gap: 0;}
.plan-item {padding: 24px 0; border-top: 1px solid var(--line); min-width: 0;}
.plan-item:last-child {padding-bottom: 0;}
.plan-item-heading {align-items: flex-start;}
.plan-item-heading h3 {font-size: 17px; margin: 4px 0 0; line-height: 1.5;}
.plan-category {font-size: 11px; color: var(--muted);}
.plan-item > p {font-size: 13px; line-height: 1.8; color: var(--muted); margin: 13px 0;}
.plan-intervals {display: grid; grid-template-columns: 1fr 1fr; gap: 16px; background: #faf9fc; border-radius: 12px; padding: 15px 18px; margin: 16px 0;}
.plan-intervals dt {font-size: 11px; color: var(--muted); margin-bottom: 4px;}
.plan-intervals dd {font-size: 15px; font-weight: 600; margin: 0;}
.plan-interval-single {grid-template-columns: 1fr;}
.plan-item .plan-condition {color: #675b79; background: #f5f1fa; border-radius: 10px; padding: 12px 15px;}
.plan-item .plan-item-source {font-size: 11px; margin-bottom: 0;}
.plan-adopt-panel {display: flex; justify-content: space-between; align-items: center; gap: 22px; padding: 28px; border: 1px solid #e5dff0; background: #f2edf9; border-radius: 20px; margin-bottom: 25px;}
.plan-adopt-panel h2 {font-size: 20px; margin: 0 0 8px;}
.plan-adopt-panel p {font-size: 14px; line-height: 1.7; color: var(--muted); margin: 0;}
.plan-date-field {max-width: 600px; margin-bottom: 24px;}
.plan-consent {display: flex; align-items: flex-start; gap: 13px; font-size: 14px; line-height: 1.8; margin: 22px 0; cursor: pointer;}
.plan-consent input {flex: 0 0 auto; width: 19px; height: 19px; margin: 4px 0 0; accent-color: var(--green);}
.plan-form-actions {display: flex; gap: 12px; justify-content: flex-end; flex-wrap: wrap; padding-top: 18px; border-top: 1px solid var(--line);}
.plan-public-facts {display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding: 20px; margin: 0 0 23px; background: #f7f5fb; border-radius: 13px;}
.plan-edit-link {display: inline-block; font-size: 14px; margin-top: 22px;}
.plan-published {margin-top: 35px;}
.plan-published-list > article {display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 0; border-top: 1px solid var(--line);}
.plan-published-list h3 {font-size: 16px; margin: 0 0 7px;}
.plan-published-list p {font-size: 12px; color: var(--muted); margin: 0;}
.plan-new-version {font-size: 12px;}
.plan-empty {padding: 42px 30px; text-align: center; border: 1px dashed #dcd6e8; border-radius: 20px; background: #fff; margin: 22px 0;}
.plan-empty h2, .plan-empty h3 {font-size: 22px; margin: 0 0 10px;}
.plan-empty p {font-size: 14px; line-height: 1.8; color: var(--muted); max-width: 650px; margin: 0 auto 22px;}
.plan-empty-actions {justify-content: center;}
.plan-service-date {margin-top: 28px; padding: 22px 25px;}
.plan-service-date summary {font-size: 14px; cursor: pointer; font-weight: 600;}
.plan-service-date form {margin-top: 22px; display: flex; align-items: flex-end; gap: 18px;}
.plan-service-date .field {margin: 0; flex: 1; max-width: 610px;}
.maintenance-plan-actions {display: flex; gap: 10px; align-items: center; flex-wrap: wrap;}
.recommendation-item .schedule-provenance {font-size: 11px; line-height: 1.8; margin: 15px 0; color: #716786;}
.recommendation-item .schedule-provenance a {text-decoration: underline; text-underline-offset: 3px;}
.recommendation-item .schedule-condition {font-size: 12px; line-height: 1.75; color: #716786;}
.recommendation-item .schedule-unknown {font-size: 12px; line-height: 1.7; margin: 12px 0; color: #947043;}
.schedule-first-interval {border: 1px solid #e7e1f0; border-radius: 13px; padding: 17px; background: #faf8fd;}
.schedule-first-interval summary {font-size: 13px; font-weight: 600; cursor: pointer;}
.schedule-first-interval .form-grid {margin-top: 18px;}
.schedule-first-interval p {font-size: 12px; color: var(--muted); line-height: 1.75; margin: 0 0 15px;}
.maintenance-plans p, .maintenance-plans dd, .maintenance-plans h2, .maintenance-plans h3, .maintenance-plans a, .schedule-provenance {overflow-wrap: anywhere;}
.plan-pagination {display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 16px; margin: 28px 0;}
.plan-pagination > span {color: var(--muted); font-size: 14px;}
@media (max-width: 1100px) {
    .plans-intro {flex-direction: column;}
    .plan-filters {grid-template-columns: repeat(3, minmax(0, 1fr));}
    .plan-filters > a {margin: 0;}
    .plan-published-list > article {align-items: flex-start; flex-direction: column;}
}
@media (max-width: 680px) {
    .marketing-body .maintenance-plans {padding: 26px 18px 50px;}
    .plans-intro {margin-bottom: 22px;}
    .plans-intro p {font-size: 14px;}
    .plans-intro .plans-actions, .maintenance-plan-actions {width: 100%;}
    .plans-intro .plans-actions .button {flex: 1;}
    .plan-vehicle-picker {padding: 18px; flex-direction: column; align-items: stretch; gap: 12px;}
    .plan-vehicle-picker .field {max-width: none;}
    .plan-filters {grid-template-columns: 1fr 1fr; padding: 18px; gap: 16px 12px;}
    .plan-filters > a {grid-column: 1 / -1; text-align: center;}
    .plan-library-grid {grid-template-columns: 1fr; gap: 17px;}
    .plan-library-card {padding: 23px;}
    .plan-panel {padding: 23px 19px; border-radius: 19px;}
    .plan-panel header h2 {font-size: 21px;}
    .plan-panel header p {font-size: 13px;}
    .plan-notice {padding: 19px;}
    .plan-notice p {font-size: 13px;}
    .plan-specs, .plan-public-facts {grid-template-columns: 1fr; gap: 16px;}
    .plan-source-box {padding: 18px;}
    .plan-item-heading {flex-direction: column; gap: 10px;}
    .plan-detail-heading {flex-wrap: wrap;}
    .plan-intervals {gap: 12px; padding: 14px;}
    .plan-intervals dd {font-size: 13px;}
    .plan-adopt-panel {flex-direction: column; align-items: stretch; padding: 23px;}
    .plan-consent {font-size: 13px;}
    .plan-form-actions .button {flex: 1;}
    .plan-service-date form {align-items: stretch; flex-direction: column;}
    .plan-published-list .plans-actions {width: 100%;}
    .plan-new-version {width: 100%; margin-top: 5px;}
    .plan-empty {padding: 30px 22px;}
    .maintenance-plan-actions .button {flex: 1;}
}
@media (prefers-reduced-motion: reduce) {.maintenance-plans * {scroll-behavior: auto;}}
