/* Plan facts first; scoped to the common PC plan-detail template. */
.plan-detail { background:#f4f7fb; color:#30445c; }
.plan-detail .pc-layout__body { gap:14px; padding-top:12px; padding-bottom:28px; }
.plan-heading { padding:4px 0 6px; }
.plan-heading__kind { margin:0 0 5px; color:#148b85; font-size:12px; font-weight:600; }
.plan-heading h1 { margin:0; color:#233c58; font-size:28px; line-height:1.45; font-weight:700; }
.plan-heading__facts { display:flex; flex-wrap:wrap; gap:6px 18px; margin-top:9px; font-size:13px; color:#758599; }
.plan-heading__facts strong { color:#315881; font-weight:600; margin:0 3px; }
.plan-status-note { margin:10px 0 0; padding:9px 12px; background:#fff5df; color:#865c27; border-radius:6px; font-size:13px; }
.plan-detail .pc-frame__main { display:flex; flex-direction:column; gap:14px; }
.plan-section { min-width:0; padding:18px; background:#fff; border:1px solid #e0e8f2; border-radius:10px; }
.plan-detail section[id],.plan-detail details[id] { scroll-margin-top:20px; }
.plan-detail .pc-section-title { margin-bottom:12px; padding-bottom:10px; }
.plan-detail .pc-section-title h2,.plan-detail .pc-section-heading__title { font-size:20px; line-height:1.45; color:#294562; }
.plan-detail .pc-section-heading { margin:0 0 12px; }
.plan-detail .pc-section-heading__summary,.plan-section__intro,.plan-table-note { margin:6px 0 0; color:#7a899b; font-size:12px; line-height:1.65; }
.plan-section__intro { margin:0 0 12px; }
.plan-table-note { margin-top:12px; }
.plan-detail .pc-table-scroll { margin:0; border:1px solid #e4ebf4; border-radius:7px; }
.plan-detail .pc-table { min-width:0; width:100%; border-collapse:collapse; font-size:14px; line-height:1.6; }
.plan-detail .pc-table th { padding:10px 12px; color:#607b98; background:#f0f5fc; font-size:12px; font-weight:600; white-space:nowrap; }
.plan-detail .pc-table td { padding:12px; vertical-align:top; border-bottom:1px solid #ebf0f6; }
.plan-detail .pc-table tbody tr:last-child td { border-bottom:0; }
.plan-detail .pc-table tbody tr:nth-child(even) { background:#fafcff; }
.plan-detail .pc-table tbody tr:hover { background:#f3f8ff; }
.plan-detail .pc-table a { color:#0b53c6; font-weight:600; text-decoration:none; }
.plan-detail .pc-table a:hover { text-decoration:underline; }
.plan-detail .pc-table small { display:block; color:#8591a1; font-size:12px; line-height:1.6; }
.plan-detail .pc-table br { display:none; }
.plan-detail .pc-table .offering-program-code { color:#0b53c6; font-variant-numeric:tabular-nums; }
.plan-detail .offering-category { color:#6b819a; font-size:12px; }
.plan-detail .pc-table details { margin-top:4px; }
.plan-detail .pc-table summary { cursor:pointer; font-size:12px; color:#6e86a0; }
.plan-detail .plan-code { color:#506e91; font-variant-numeric:tabular-nums; white-space:nowrap; }
.plan-detail .plan-practical { display:inline-block!important; margin-left:6px; padding:0 5px; border-radius:3px; color:#1a8b70!important; background:#ebf8f1; }
.plan-detail .plan-course-table td { padding-block:10px; }
.plan-detail .plan-course-table th:first-child { width:80px; }.plan-detail .plan-course-table th:nth-child(2) { width:24%; }
.plan-detail .plan-course-table .plan-evidence { width:48px; white-space:nowrap; }
.plan-detail .plan-course-table .plan-course-notes { color:#73849a; font-size:12px; }
.plan-detail .pc-pager { margin:14px 0 0; }
.plan-notes { margin:0; display:grid; gap:0; }
.plan-notes>div { display:grid; grid-template-columns:90px minmax(0,1fr); gap:16px; padding:13px 0; border-bottom:1px solid #edf1f6; }
.plan-notes>div:first-child { padding-top:0; }.plan-notes>div:last-child { padding-bottom:0; border:0; }
.plan-notes dt { margin:0; font-size:14px; font-weight:600; color:#496883; }
.plan-notes dd { margin:0; font-size:14px; line-height:1.85; white-space:pre-line; overflow-wrap:anywhere; }
.plan-school-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:8px; }
.plan-school-card { min-width:0; display:flex; flex-direction:column; border:1px solid #e0e8f2; border-radius:9px; background:#fff; transition:border-color .18s,box-shadow .18s; overflow:hidden; }
.plan-school-card:hover,.plan-school-card:focus-within { border-color:#a9c8ed; box-shadow:0 4px 14px #2945620d; }
.plan-school-card__main { display:block; padding:11px 12px; text-decoration:none; color:inherit; }
.plan-school-card__main:focus-visible { outline:2px solid #0b53c6; outline-offset:-3px; }
.plan-school-card__identity { display:flex; align-items:center; gap:10px; }
.plan-school-card__identity>div { min-width:0; }
.plan-school-card__logo { display:flex; align-items:center; justify-content:center; flex:0 0 48px; height:48px; border:1px solid #edf1f6; border-radius:6px; background:#fff; color:#4873a0; font-size:24px; }
.plan-school-card__logo img { width:44px; height:44px; object-fit:contain; }
.plan-school-card h3 { margin:0; color:#294562; font-size:15px; line-height:1.5; overflow-wrap:anywhere; }
.plan-school-card__arrow { color:#8197ad; font-size:12px; font-weight:400; }
.plan-school-card__meta { margin:2px 0 0; color:#73849a; font-size:11px; line-height:1.6; }
.plan-school-card__tags { display:flex; align-items:center; flex-wrap:wrap; gap:4px 6px; margin-top:5px; }
.plan-school-card__tags span { padding:1px 6px; border-radius:3px; color:#0b68a9; background:#eef5ff; font-size:11px; line-height:1.6; }
.plan-school-card__tags .plan-school-card__tag--related { color:#677384; background:#eef0f3; }
.plan-school-card__tags small { color:#8591a1; font-size:11px; }
.plan-school-card__evidence { display:flex; justify-content:space-between; gap:8px; padding:0 12px 7px; font-size:11px; color:#8591a1; }
.plan-school-card__evidence a { flex:none; color:#7188a0; text-decoration:none; }
.plan-school-card__evidence a:hover { color:#0b53c6; text-decoration:underline; }
.plan-substitutions-more { margin-top:10px; }
.plan-substitutions-more>summary { display:flex; align-items:center; justify-content:center; gap:12px; padding:10px 14px; border:1px solid #f3c68b; border-radius:6px; background:#fff3df; color:#9b5008; cursor:pointer; font-size:14px; font-weight:700; list-style:none; }
.plan-substitutions-more>summary::-webkit-details-marker { display:none; }
.plan-substitutions-more>summary:hover { background:#ffe8c4; border-color:#e8ab59; }
.plan-substitutions-more>summary:focus-visible { outline:2px solid #0b53c6; outline-offset:3px; }
.plan-substitutions-more>summary small { font-size:12px; font-weight:400; }
.plan-substitutions-more__open,.plan-substitutions-more[open] .plan-substitutions-more__closed { display:none; }
.plan-substitutions-more[open] .plan-substitutions-more__open { display:inline; }
.plan-substitutions-more[open]>.pc-table-scroll { margin-top:10px; }
.plan-detail .pc-table .plan-rule-notes { margin-top:0; }
.plan-detail .pc-table .plan-rule-notes>summary { display:inline-block; padding:3px 7px; border-radius:4px; color:#0b53c6; background:#eef5ff; font-weight:600; }
.plan-rule-notes[open] small { margin-top:6px; min-width:160px; }
.plan-reading-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; }
.plan-reading-list>a { display:flex; flex-direction:column; gap:5px; padding:11px 0; border-bottom:1px solid #edf1f6; color:#3b5875; font-size:14px; text-decoration:none; }
.plan-reading-list small { font-size:12px; color:#8997a7; }
.plan-source-details.source-citations { border:1px solid #e0e8f2; box-shadow:none; }
.plan-source-details .pc-panel__header,.plan-source-details .pc-panel__body { padding:0; }
.plan-source-details .pc-panel__header { padding-bottom:13px; }
.plan-detail .pc-frame__aside { position:static; max-height:none; overflow:visible; }
.plan-detail .pc-sidebar-stack { gap:14px; }
.plan-detail .article-toolbox,.plan-detail .article-sidebar-promotions { min-width:0; }
.plan-detail .article-promotion,.plan-detail .article-promotion:hover { color:#fff; }
.plan-side-card { padding:17px; border:1px solid #e0e8f2; border-radius:10px; background:#fff; }
.plan-side-card h2 { margin:0 0 12px; padding-left:10px; border-left:3px solid #26bcac; font-size:16px; color:#36526e; line-height:1.3; }
.plan-page-nav { display:flex; flex-direction:column; gap:3px; }
.plan-page-nav a { display:flex; justify-content:space-between; padding:8px 10px; border-radius:5px; font-size:13px; color:#6d829b; text-decoration:none; }
.plan-page-nav a[aria-current],.plan-page-nav a:hover { color:#0b53c6; background:#eef5ff; }
.plan-source-links>a,.plan-version-links>a { display:block; padding:10px 0; color:#426487; font-size:13px; text-decoration:none; border-bottom:1px solid #edf1f6; }
.plan-source-links>a:last-child,.plan-version-links>a:last-child { border:0; padding-bottom:0; }
.plan-source-links a>span { display:block; line-height:1.7; }.plan-source-links b { display:block; margin-top:7px; color:#0b53c6; font-weight:500; }
.plan-side-card small { display:block; margin-top:5px; color:#8a99aa; font-size:12px; }
.plan-version-links strong { display:flex; justify-content:space-between; color:#426487; font-size:14px; font-weight:600; }.plan-version-links strong span { font-size:12px; font-weight:400; }
.plan-next { background:#f0f7ff; }.plan-next>a { display:block; margin:10px 0 0; font-size:13px; color:#2662ac; text-decoration:none; }
@media (max-width:1180px) {.plan-heading h1 { font-size:25px; }.plan-section { padding:16px; }.plan-detail .pc-table td,.plan-detail .pc-table th { padding-inline:9px; } }
@media (max-width:900px) {.plan-school-list { grid-template-columns:1fr; } }
