.program-screen { --pg-line:#344744; --pg-ink:#e1eae4; --pg-muted:#b0c2bd; --pg-accent:#96daca; --pg-panel:#192723; color:var(--pg-ink); max-width:850px; margin:0 auto; }
.pg-header { margin:0 0 20px; }
.pg-header .eyebrow { font-size:.7rem; font-weight:700; color:var(--pg-accent); letter-spacing:.14em; text-transform:uppercase; margin-bottom:9px; }
.pg-header h1 { margin:0; font-size:clamp(1.9rem,5vw,3rem); line-height:1.08; letter-spacing:-.04em; }
.pg-header p,.pg-panel>p,.pg-note { color:var(--pg-muted); line-height:1.55; }
.pg-header p { max-width:56ch; margin:.55rem 0 0; }
.pg-proposal { width:fit-content; max-width:100%; border-left:2px solid #99bba1; padding:4px 12px; color:#c4d4bf; font-size:.86rem; margin:14px 0 20px; }
.pg-panel { padding:clamp(16px,3.6vw,26px); margin:14px 0; border:1px solid var(--pg-line); border-radius:15px; background:var(--pg-panel); }
.pg-panel h2,.pg-data-section h3 { font-size:1.18rem; line-height:1.25; margin:0 0 9px; font-weight:650; letter-spacing:-.025em; }
.pg-panel h3 { font-size:1rem; margin:16px 0 4px; }
.pg-panel p { margin:6px 0; }
.pg-panel ol,.pg-panel ul { padding-inline-start:1.35rem; margin:8px 0; line-height:1.48; }
.pg-panel li { padding:3px 0 3px 2px; }
.pg-panel li::marker,.pg-activity-body li::marker { color:var(--pg-accent); font-weight:650; }
.pg-controls { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr)); gap:14px; margin-top:18px; }
.pg-control>span { display:block; color:var(--pg-muted); margin-bottom:5px; font-size:.88rem; }
.pg-control select { font:inherit; color:var(--pg-ink); background:#14221e; border:1px solid #556c65; border-radius:8px; min-height:46px; width:100%; padding:0 10px; }
.pg-control select:focus-visible,.program-screen button:focus-visible,.program-screen summary:focus-visible { outline:2px solid #a0ddc9; outline-offset:3px; }
.pg-actionrow,.pg-filter { display:flex; gap:8px; flex-wrap:wrap; margin:15px 0; }
.pg-action { min-height:46px; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:10px 14px; font:inherit; cursor:pointer; }
.pg-action svg { width:18px;height:18px; }
.pg-callout,.pg-example { padding:16px 18px; border:1px solid #395b4e; border-left:3px solid #87c3a8; background:#1b3027; border-radius:10px; }
.pg-callout p,.pg-example p { margin:5px 0 0; line-height:1.48; }
.pg-example { margin:12px 0; }
.pg-timeline.pg-timeline { list-style:none; margin:2px 0 0; padding:0; }
.pg-panel .pg-timeline>li { display:grid; grid-template-columns:58px 29px 1fr; align-items:start; gap:10px; padding:15px 0; }
.pg-timeline>li+li { border-top:1px solid var(--pg-line); }
.pg-timeline time { font-weight:650; color:var(--pg-accent); font-size:.92rem; font-variant-numeric:tabular-nums; }
.pg-timeline time small { font-size:.58rem; }
.pg-timeline-icon { border-radius:7px; background:#263a32; width:28px; height:28px; display:grid; place-items:center; color:var(--pg-accent); }
.pg-timeline-icon svg { width:19px; height:19px; }
.pg-timeline h3 { font-size:1rem; line-height:1.3; margin:0; }
.pg-timeline p { margin:4px 0 0; color:var(--pg-muted); font-size:.91rem; line-height:1.43; }
.pg-filter button { border:1px solid #435c53; border-radius:30px; min-height:44px; padding:8px 16px; background:#182822; color:var(--pg-ink); font:inherit; cursor:pointer; }
.pg-filter button[aria-pressed=true] { background:#b4d8c2; color:#172b21; border-color:#b4d8c2; font-weight:700; }
.pg-activity-list { display:grid; gap:9px; }
.pg-activity { background:var(--pg-panel); border:1px solid var(--pg-line); border-radius:12px; overflow:hidden; }
.pg-activity summary { display:flex; gap:12px; align-items:center; cursor:pointer; padding:13px 15px; }
.pg-activity summary::after { content:'+'; color:var(--pg-accent); font-size:1.2rem; width:12px; text-align:center; }
.pg-activity[open] summary::after { content:'−'; }
.pg-activity summary::-webkit-details-marker { display:none; }
.pg-cardmark { flex:0 0 35px; width:35px;height:35px; border:1px solid #3d584e; border-radius:9px; display:grid; place-items:center; color:var(--pg-accent); }
.pg-cardmark svg { width:22px; height:22px; }
.pg-activity-name { flex:1; min-width:0; font-size:.98rem; }
.pg-activity-name small { display:block; color:var(--pg-muted); font-size:.76rem; margin:4px 0 0; }
.pg-energy,.pg-tags span { display:inline-flex; color:#cad4b4; border:1px solid #526147; border-radius:15px; font-size:.73rem; padding:3px 8px; }
.pg-energy.medium { color:#e5d3a6; border-color:#665c41; }
.pg-energy.high { color:#c3cae7; border-color:#525a73; }
.pg-activity-body { border-top:1px solid var(--pg-line); padding:12px 16px; }
.pg-tags { display:flex; flex-wrap:wrap; gap:6px; }
.pg-tags span { color:var(--pg-muted); border-color:var(--pg-line); }
.pg-activity-body p,.pg-activity-body ol { font-size:.93rem; line-height:1.5; margin:9px 0; }
.pg-activity-body ol { padding-left:1.25rem; }
.pg-activity-body li+li { margin-top:5px; }
.pg-checklist { border:0; padding:0; margin:16px 0 0; }
.pg-checklist legend { font-size:.85rem; color:var(--pg-muted); padding:0; }
.pg-checklist label { display:flex; align-items:center; gap:10px; border-bottom:1px solid var(--pg-line); min-height:46px; cursor:pointer; }
.pg-checklist input { accent-color:var(--pg-accent); width:18px; height:18px; flex:0 0 18px; }
.pg-three-lists>div+div,.pg-phases>div+div,.pg-definition>div+div { border-top:1px solid var(--pg-line); margin-top:10px; padding-top:10px; }
.pg-three-lists h3 { color:var(--pg-accent); margin:5px 0; }
.pg-phases,.pg-definition { margin:6px 0; }
.pg-phases dt,.pg-definition dt { font-weight:650; }
.pg-phases dd,.pg-definition dd { margin:3px 0; line-height:1.47; color:var(--pg-muted); }
.pg-note { font-size:.88rem; }
.pg-pilot.pg-pilot { padding:0; list-style:none; }
.pg-panel .pg-pilot li { padding:10px 0; }
.pg-pilot li+li { border-top:1px solid var(--pg-line); }
.pg-pilot small { margin-right:12px; color:var(--pg-accent); font-weight:650; }
.pg-pilot p { color:var(--pg-muted); }
.pg-sources>summary { min-height:44px; padding-top:8px; cursor:pointer; }
.pg-research a { color:var(--pg-accent); }
.pg-data-section[data-status=empty] p { font-size:.92rem; color:var(--pg-muted); }

.paper-page { box-sizing:border-box; background:#fff; color:#172a24; font:12pt/1.42 system-ui,Arial,sans-serif; padding:20px; }
.paper-page * { box-sizing:border-box; }
.paper-head { border-bottom:2px solid #497363; padding:0 0 10px; margin:0 0 13px; }
.paper-head small,.paper-visual small { color:#335747; letter-spacing:.09em; font-size:8.5pt; font-weight:700; }
.paper-head h1 { font:700 25pt/1.08 system-ui,Arial,sans-serif; color:#173c2d; margin:4px 0; }
.paper-head p,.paper-page p { margin:4px 0; }
.paper-part { margin:12px 0; }
.paper-part h2,.paper-page .pg-data-section h3 { font-size:13.5pt; line-height:1.14; margin:0 0 5px; color:#254d39; }
.paper-page .pg-data-section { margin:12px 0; border:1px solid #a0ada3; padding:7px 10px; border-radius:5px; }
.paper-page .pg-data-section[data-status=empty] p { color:#415348; font-size:inherit; }
.paper-page ul,.paper-page ol { padding-left:22px; margin:4px 0; }
.paper-page .pg-phases,.paper-page .pg-definition { margin:0; }
.paper-page .pg-phases>div,.paper-page .pg-definition>div { display:block; padding:0; margin:4px 0; border:0; }
.paper-page .pg-phases dt,.paper-page .pg-definition dt,.paper-page .pg-phases dd,.paper-page .pg-definition dd { display:inline; }
.paper-page .pg-phases dt::after,.paper-page .pg-definition dt::after { content:' · '; }
.paper-page .pg-phases dd,.paper-page .pg-definition dd,.paper-page .pg-pilot p { color:#243a30; margin:0; }
.paper-page .pg-pilot li { border:0; padding:0; margin:5px 0; list-style:none; }
.paper-page .pg-pilot li>div,.paper-page .pg-pilot li>p { display:inline; }
.paper-page .pg-pilot strong::after { content:' · '; }
.paper-page .pg-pilot small { color:#335747; margin-right:6px; }
.paper-page .pg-pilot { padding-left:0; }
.paper-page .pg-research { font-size:9.5pt; list-style:none; padding:0; }
.paper-page .pg-research li { margin:3px 0; }
.paper-page .pg-research a { font-size:.91em; color:#285b45; text-decoration:underline; }
.paper-foot { border-top:1px solid #b3c0b7; padding-top:7px; margin-top:12px; font-size:9.5pt; color:#385243; }
.paper-callout { border-left:3px solid #527e66; padding:5px 10px; margin:8px 0; font-weight:650; }
.paper-schedule { border-collapse:collapse; width:100%; margin:12px 0; font-size:10.5pt; line-height:1.3; }
.paper-schedule th,.paper-schedule td { text-align:left; padding:6px; border-bottom:1px solid #bcc9bf; vertical-align:top; }
.paper-schedule th { background:#edf2ee; color:#2d513c; }
.paper-schedule td:first-child,.paper-schedule th:first-child { font-weight:650; }
.paper-schedule td:first-child { white-space:nowrap; }
.paper-page:not(.staff-schedule) .paper-schedule td:first-child { white-space:normal; }
.paper-visual { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin:8px 0; }
.paper-visual section { display:flex; gap:10px; align-items:flex-start; border:1px solid #b5c6b9; border-radius:7px; padding:8px; }
.paper-icon { width:24px; height:24px; flex:0 0 24px; color:#365b45; }
.paper-icon svg { width:100%; height:100%; }
.paper-visual h2 { font-size:15pt; line-height:1.12; margin:2px 0; }
.paper-visual p { font-size:11.5pt; line-height:1.28; margin:2px 0; }
.brief-page { font-size:11pt; line-height:1.32; }
.brief-page .paper-part { margin:10px 0; }
.brief-page .paper-part,.brief-page .pg-definition>div,.paper-visual section,.paper-schedule tr { break-inside:avoid; }
@media (max-width:390px) {
  .pg-activity summary { gap:8px; padding:12px; }
  .pg-cardmark { flex-basis:30px; width:30px; height:30px; }
  .pg-energy { padding:2px 5px; }
  .pg-panel .pg-timeline>li { grid-template-columns:51px 25px 1fr; gap:7px; }
}
@media print {
  @page { size:letter portrait; margin:0.47in; }
  .paper-page { padding:0; margin:0; break-after:page; page-break-after:always; }
  .paper-page:last-child { break-after:auto; page-break-after:auto; }
  .paper-page .pg-research a::after { content:none!important; }
  .paper-page h1,.paper-page h2,.paper-page h3 { break-after:avoid; }
}
.pg-timeline p.pg-youth-choice { color:#c7dac7; font-weight:570; }
.paper-choice { display:block; margin-top:2px; font-size:9pt; line-height:1.25; }
@media screen and (max-width:550px) {
  .paper-visual { grid-template-columns:1fr; }
  .paper-page { padding:15px; }
}
/* The reference sheet fits one letter page while keeping the phase guide together. */
@media print, screen and (min-width:700px) {
  .paper-consistency-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 18px; align-items:start; }
  .paper-consistency-grid .paper-part { margin:7px 0; break-inside:avoid; }
}

.pg-setup {background:var(--pg-panel);border:1px solid var(--pg-line);border-radius:12px;padding:0 16px;margin:14px 0;}
.pg-setup>summary {display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:56px;padding:10px 0;cursor:pointer;list-style:none;}
.pg-setup>summary::-webkit-details-marker,.pg-rounds>summary::-webkit-details-marker {display:none;}
.pg-setup>summary::after {content:"+";color:var(--pg-accent);font-weight:bold;font-size:1.2rem;}
.pg-setup[open]>summary::after {content:"−";}
.pg-setup>summary small {display:block;margin-top:3px;color:var(--pg-muted);font-size:.8rem;}
.pg-setup[open]>summary {border-bottom:1px solid var(--pg-line);}
.pg-setup>.pg-controls,.pg-setup .pg-note {margin-bottom:16px;}
.pg-menu-setup {border:0;padding:0;margin:14px 0 0;}
.pg-menu-setup legend {color:var(--pg-accent);font-size:.9rem;font-weight:650;padding:0;}
.pg-menu-setup .pg-controls {margin-top:5px;}
.pg-edition,.pg-menu-buttons {display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.pg-edition button,.pg-menu-buttons button {border:1px solid #486353;border-radius:8px;min-height:44px;padding:8px 12px;color:var(--pg-ink);background:#182822;font:inherit;cursor:pointer;}
.pg-edition button[aria-pressed=true],.pg-menu-buttons button[aria-pressed=true] {background:#b4d8c2;color:#172b21;border-color:#b4d8c2;font-weight:650;}
.pg-rounds {margin-top:5px;}
.pg-rounds summary {min-height:44px;display:flex;align-items:center;color:var(--pg-accent);cursor:pointer;font-size:.86rem;}
.pg-rounds summary::before {content:"+";margin-right:6px;}
.pg-rounds[open] summary::before {content:"−";}
.pg-rounds>ol {margin:6px 0 0;padding:0;list-style:none;}
.pg-panel .pg-rounds li {display:flex;flex-wrap:wrap;gap:4px 12px;padding:6px 0;border-top:1px solid var(--pg-line);font-size:.83rem;}
.pg-rounds li span:first-child {font-weight:650;}
.pg-rounds li span:last-child,.pg-results {color:var(--pg-muted);}
.pg-timeline p.pg-warning {color:var(--pg-accent);font-size:.8rem;}
.pg-tool-link {color:var(--pg-accent);display:inline-flex;align-items:center;gap:4px;min-height:44px;font-weight:620;text-underline-offset:.2em;}
.pg-results {display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.92rem;}
.pg-card-planner {border-top:1px solid var(--pg-line);padding-top:10px;margin-top:12px;}
#pg-menu-feedback {color:var(--pg-accent);margin:0 0 8px;font-size:.87rem;}
.paper-rounds {font-size:9.5pt!important;color:#355345;}
.paper-cues span {white-space:nowrap;display:block;}
.staff-schedule .paper-schedule {font-size:9.2pt;line-height:1.25;}
.staff-schedule .paper-schedule th,.staff-schedule .paper-schedule td {padding:4px;}
.staff-schedule .paper-schedule td:first-child,.staff-schedule .paper-cues {white-space:nowrap;font-variant-numeric:tabular-nums;}
@media print {
  .staff-schedule {font-size:10pt;line-height:1.3;}
  .staff-schedule .paper-choice {font-size:8.7pt;}
  .staff-schedule .paper-schedule {margin:7px 0;}
}

/* Shared shift selector: no dates or staff schedules are stored. */
.shift-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0 22px;max-width:600px}
.shift-picker button{min-height:64px;text-align:left;padding:12px 14px;border:1px solid #486353;border-radius:12px;background:#182822;color:#d9e8df;font:inherit;cursor:pointer}
.shift-picker strong,.shift-picker small{display:block}
.shift-picker small{margin-top:4px;font-size:.76rem;letter-spacing:.01em;white-space:normal}
.shift-picker button[aria-pressed=true]{background:#bad8c8;color:#142c21;border-color:#bad8c8}
.shift-picker button:focus-visible{outline:2px solid #a0ddc9;outline-offset:3px}
.staff-schedule .paper-schedule td:first-child{white-space:normal;min-width:88px}
