/* Two-year curriculum planner. Inherit the site's teacher typography and theme. */
.science-program{display:grid;gap:1rem;max-width:1120px;margin:0 auto}
.science-program .teacher-start{margin-bottom:0}
.program-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;padding:1rem;border:1px solid var(--line,#d6dfdd);border-radius:18px;background:var(--paper,#fff)}
.program-controls label{display:grid;gap:.35rem;font-weight:700;font-size:.88rem}
.program-controls select,.program-week-actions select{width:100%;max-width:100%;font:inherit;color:inherit;border:1px solid #9caead;border-radius:10px;background:var(--paper,#fff);padding:.58rem}
.program-overview{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;padding:1rem;border:1px solid var(--line,#d6dfdd);border-radius:15px}
.program-overview strong{font-size:1.5rem}
.program-overview span{color:var(--ink,#233b35)}
.program-overview-bar{height:9px;background:#dfebea;border-radius:20px;width:100%;overflow:hidden}
.program-overview-bar span{height:100%;display:block;background:#327a65;border-radius:inherit;transition:width .18s}
.program-toolbar{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}
.program-toolbar .chip{cursor:pointer}
.program-import{display:inline-flex;align-items:center;gap:.2rem}
.program-import input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.program-import:focus-within{outline:3px solid #287cb8;outline-offset:2px}
.program-term{border:1px solid var(--line,#d6dfdd);border-radius:15px;overflow:hidden;background:var(--paper,#fff)}
.program-term>summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:1rem;background:var(--cream,#f6f9f6);list-style:none}
.program-term>summary::-webkit-details-marker{display:none}
.program-term>summary>span:first-child{display:grid;gap:.18rem}
.program-term>summary small{color:var(--muted,#637670);font-weight:400}
.program-term[open]>summary{border-bottom:1px solid var(--line,#d6dfdd)}
.program-week-list{display:grid}
.program-week{padding:.8rem 1rem;display:grid;gap:.45rem;border-bottom:1px solid var(--line,#d6dfdd)}
.program-week:last-child{border-bottom:0}
.program-week.program-taught{background:rgba(40,135,104,.055)}
.program-week-main{display:flex;align-items:flex-start;gap:.9rem}
.program-week-main>strong{min-width:3.4rem;white-space:nowrap}
.program-week-info{display:grid;gap:.1rem;flex:1;min-width:0}
.program-week-info b{overflow-wrap:anywhere}
.program-week-info small{font-size:.79rem;color:var(--muted,#62746f)}
.program-week-actions{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;padding-left:4.3rem}
.program-week-actions>label{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;cursor:pointer}
.program-week-actions input[type="checkbox"]{width:18px;height:18px;accent-color:#26745a}
.program-week-actions details{font-size:.82rem;min-width:170px}
.program-week-actions details>summary{cursor:pointer;color:var(--link,#246e61)}
.program-week-actions details>label{display:grid;gap:.25rem;max-width:420px;padding-top:.35rem}
.program-coverage{min-width:0}
.program-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin:.8rem 0}
.program-stats span{background:var(--cream,#f5f8f5);border-radius:12px;padding:.75rem;display:grid;font-size:.82rem;gap:.2rem}
.program-stats b{font-size:1.4rem}
.program-table-wrap{max-width:100%;overflow-x:auto}
.program-table-wrap table{min-width:690px;width:100%;border-collapse:collapse}
.program-table-wrap th,.program-table-wrap td{vertical-align:top;text-align:left;padding:.6rem;border-bottom:1px solid var(--line,#dbe2df);font-size:.84rem}
.program-table-wrap td:last-child{min-width:190px}
.program-state{white-space:nowrap;border-radius:25px;font-size:.76rem;padding:.26rem .5rem;display:inline-block;background:#e8eeef;color:#304b55}
.program-gap{background:#fff1e2;color:#81531e}
.program-taught{background:#edf5fb;color:#224e78}
.program-assessed{background:#e6f3e9;color:#23573b}
@media(max-width:650px){
  .program-controls{grid-template-columns:1fr}
  .program-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .program-week-main{flex-wrap:wrap}
  .program-week-main>strong{min-width:3.2rem}
  .program-week-main .link-button{margin-left:4rem}
  .program-week-actions{padding-left:0}
}
@media print{
  .science-program .program-toolbar,.science-program .program-controls,.science-program .program-week-actions,.science-program .program-week-main .link-button,.science-program .program-coverage .link-button{display:none!important}
  .science-program .program-term{break-inside:avoid}
  .science-program .program-term>summary{background:#fff}
  .science-program .program-week{padding:.25rem .4rem}
  .science-program .program-overview,.science-program .program-coverage{break-before:avoid}
  .science-program .program-table-wrap{overflow:visible}
  .science-program .program-table-wrap table{min-width:0}
}

.program-detail-body { padding: 12px 16px; min-width: 0; }
.program-week details { margin-top: 8px; border-top: 1px solid #d6e1d8; }
.program-week summary, .program-term-materials > summary { padding: 12px; cursor: pointer; min-height: 44px; }
.program-week-main, .program-week-actions { flex-wrap: wrap; }
.program-week-info { min-width: 0; overflow-wrap: anywhere; }
.program-week select { max-width: 100%; }
.program-materials table { width: 100%; }
.program-detail-body h4 { margin: 12px 0 6px; }
.program-term-materials { background: #f2f6ef; margin: 8px; border-radius: 10px; }
.program-term-materials > button { margin: 8px 16px; }
@media (max-width: 600px) { .program-week-main { display: grid; grid-template-columns: 1fr; gap: 8px; } .program-controls { grid-template-columns: 1fr; } .program-week-actions { gap: 12px; } .program-week { padding: 12px; } }
.tc-panel .tc-exit-a, .tc-panel p { white-space: pre-wrap; overflow-wrap: anywhere; }
