:root{--navy:#14243e;--gold:#aa8425;--paper:#f7f6f2;--line:#deded6;--muted:#627082}*{box-sizing:border-box}body{margin:0;color:var(--navy);background:var(--paper);font:16px/1.65 system-ui,sans-serif}header{padding:24px max(5vw,20px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:white;gap:20px}a{color:inherit;text-underline-offset:4px}.brand{display:flex;gap:15px;align-items:center;font:bold 34px Georgia;text-decoration:none}.brand span{font:700 13px/1.7 system-ui;letter-spacing:2px}.brand small{display:block;font-size:9px;color:var(--muted);letter-spacing:1.7px}main{max-width:1200px;margin:auto;padding:50px 24px 90px}.eyebrow{font-size:11px;font-weight:750;letter-spacing:2px;color:var(--gold)}h1{font:48px/1.12 Georgia;margin:18px 0}h1 em{color:var(--gold);font-weight:400}h2{font:29px/1.3 Georgia;margin:8px 0 14px}h3{font:23px Georgia;margin:10px 0}.intro,.muted{color:var(--muted)}.toolbar{display:flex;gap:16px;align-items:end;flex-wrap:wrap;margin:30px 0 20px}.toolbar label{flex:1;min-width:150px}label{display:block;font-size:13px;font-weight:650}input,select,textarea{display:block;width:100%;font:inherit;font-weight:400;padding:11px;border:1px solid #c9cdd1;border-radius:7px;background:white;color:var(--navy);margin-top:6px}textarea{min-height:80px;resize:vertical}button{font:600 14px system-ui;cursor:pointer;padding:13px 19px;border:1px solid var(--navy);border-radius:7px;background:var(--navy);color:white;min-height:44px}button:disabled{opacity:.5;cursor:wait}.secondary{background:white;color:var(--navy);border-color:var(--line)}.viewtabs{display:flex;gap:25px;border-bottom:1px solid var(--line);margin-bottom:28px}.viewtabs button{border:0;border-bottom:3px solid transparent;border-radius:0;background:none;color:var(--muted);padding:12px 0}.viewtabs button[aria-pressed=true]{color:var(--navy);border-color:var(--gold)}.dayhead{display:flex;gap:20px;justify-content:space-between;align-items:center;margin:24px 0}.badge{font-size:12px;padding:5px 10px;border-radius:30px;background:#eee8d6;white-space:nowrap}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card,.empty,.summary{border:1px solid var(--line);border-radius:12px;background:white;padding:25px}.card{display:flex;flex-direction:column;gap:8px}.card p{white-space:pre-line;overflow-wrap:anywhere}.card label{margin-top:auto}.card a{display:block;font-weight:650;margin:8px 0}.step{font:italic 25px Georgia;color:var(--gold)}.completed{border-top:4px solid #418666}.skipped{border-top:4px solid #b39043}.pending{border-top:4px solid #aab2bd}.summary{margin:20px 0;display:flex;gap:25px;flex-wrap:wrap}.summary strong{font-size:27px;display:block}.history{overflow:auto}table{width:100%;border-collapse:collapse;background:white}th,td{text-align:left;padding:15px;border-bottom:1px solid var(--line)}th{font-size:12px;color:var(--muted)}dialog{width:min(680px,94vw);max-height:90vh;overflow:auto;border:1px solid var(--line);border-radius:14px;padding:30px}dialog::backdrop{background:#14243e88}form>label{margin:14px 0}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.check{display:flex;align-items:center;gap:10px}.check input{width:auto}.actions{display:flex;justify-content:end;gap:10px;margin-top:20px}#saveError,#message.error{color:#a02d2d}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #c9a227;outline-offset:3px}@media(max-width:760px){.cards{grid-template-columns:1fr}h1{font-size:38px}main{padding:30px 16px}.dayhead{align-items:start;flex-direction:column}.formgrid{grid-template-columns:1fr}header{padding:16px;font-size:13px}.toolbar label{min-width:130px}.toolbar button{flex:1}}
.activity-status{display:block;margin-top:8px;font-size:14px}.history td small{display:block;color:#627082}.card.in_progress{border-top:4px solid #aa8425}.card.needs_link,.card.unavailable{border-top:4px solid #aab2bd}

.roadmap{background:white;border:1px solid var(--line);border-radius:12px;padding:24px;margin:18px 0}.roadmap-text{white-space:pre-line;overflow-wrap:anywhere}.viewtabs{flex-wrap:wrap;gap:18px}

.assigned-detail{border-left:4px solid #aa8425;background:#fff7df;padding:14px;display:grid;gap:8px;overflow-wrap:anywhere}.assigned-detail>strong{font-size:12px;letter-spacing:1px}.assigned-detail>span{font-weight:700}.card a.assigned-action{background:#14243e;color:#fff;border-radius:8px;padding:15px;text-align:center;text-decoration:none;min-height:48px}.card.skipped{background:#f3f3ef}.optional-label{color:#627082;font-weight:650}

/* Calendar and publishing workspace */
.overview-strip{display:grid;grid-template-columns:2fr 1fr 1fr;border:1px solid var(--line);border-radius:12px;background:#fff;margin:25px 0;overflow:hidden}.overview-strip>div{padding:20px 25px;display:grid;align-content:start;gap:5px;border-right:1px solid var(--line)}.overview-strip>div:last-child{border:0}.overview-strip strong{font:28px/1.3 Georgia}.overview-strip strong span{color:var(--muted);font-size:20px}.overview-strip small{color:var(--muted)}.overview-strip>div:first-child{background:#14243e;color:white}.overview-strip>div:first-child small{color:#d2dbe6}.overview-strip .eyebrow{color:#e0bd62}.calendar-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:28px}.calendar-head .actions{margin:0}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{font-size:12px;font-weight:650;color:var(--muted);padding:12px 0;text-align:center}.calendar-grid{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--line);gap:1px}.calendar-day{color:var(--navy);background:white;border:0;border-radius:0;text-align:left;padding:12px;min-height:145px;display:flex;flex-direction:column;gap:6px;overflow:hidden;font-weight:400}.calendar-day:hover{background:#f8f3e7}.calendar-day.selected{background:#f4ecd5;box-shadow:inset 0 0 0 2px var(--gold)}.calendar-day.exam-day{background:#eaf1ee}.calendar-pad{background:#f0efeb}.calendar-number{font-weight:750;display:flex;align-items:center;justify-content:space-between;gap:5px}.calendar-number small{font-size:10px;color:var(--gold)}.is-today .calendar-number{color:#85640f}.calendar-topic{font-size:12px;font-weight:650;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.calendar-day small{font-size:10px;color:var(--muted)}.calendar-tag{font-size:10px;line-height:1.4;background:#e9edf4;padding:3px 5px;border-radius:3px}.calendar-tag.weekly{background:#ece4ce}.calendar-tag.target{background:#d4e5dc;color:#255b44}.calendar-dots{margin-top:auto;font-size:10px;line-height:1.6;color:var(--muted)}.calendar-dots i,.calendar-legend i{display:inline-block;width:7px;height:7px;border-radius:50%;vertical-align:middle}.done{background:#418666}.waiting{background:#8a99b0}.skip{background:#b39043}.unknown{background:#b85448}.calendar-legend{display:flex;flex-wrap:wrap;gap:18px;font-size:12px;color:var(--muted)}.calendar-legend span{white-space:nowrap}.calendar-agenda{background:white;border:1px solid var(--line);border-radius:12px;margin:24px 0;padding:24px}.agenda-row{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-top:1px solid var(--line)}.agenda-row small{display:block;color:var(--muted)}.agenda-row a{flex-shrink:0}.plan-checks{background:#fffaf0;border:1px solid #e6d8b2;border-radius:10px;padding:16px 20px;margin:22px 0}.plan-checks summary{cursor:pointer;font-size:14px;font-weight:700;min-height:28px}.plan-checks li{margin:10px 0;font-size:13px}.plan-checks ul{padding-left:20px}.plan-checks small{color:var(--muted)}.flag{display:inline-block;font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.7px;color:#896215}.flag.unverified{color:#9a4334}.roadmap button{margin-bottom:15px}#roadmapError{color:#a02d2d}textarea:focus-visible{outline:3px solid #c9a227;outline-offset:3px}[hidden]{display:none!important}
@media(max-width:760px){.overview-strip{grid-template-columns:1fr 1fr}.overview-strip>div:first-child{grid-column:1/-1;border:0}.overview-strip>div{padding:16px}.overview-strip strong{font-size:23px}.calendar-day{padding:7px 4px;min-height:118px;gap:5px}.calendar-topic{font-size:10px}.calendar-day small{font-size:9px}.calendar-number{font-size:12px}.calendar-number small{font-size:8px}.calendar-tag{font-size:9px;padding:2px}.calendar-day .no-plan{font-size:9px}.calendar-dots{font-size:9px}.calendar-legend{gap:10px}.agenda-row{flex-direction:column;gap:8px}.calendar-agenda{padding:18px}.viewtabs{gap:15px}.viewtabs button{font-size:12px}.plan-checks{padding:14px}.calendar-head h2{font-size:25px}}

.sat-pathway{background:#fff;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:10px;padding:22px;margin:22px 0}.pathway-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin:16px 0}.pathway-links a{min-height:44px;display:flex;align-items:center;font-weight:650}.sat-pathway summary{cursor:pointer;min-height:44px;display:list-item;padding:10px 0}.sat-pathway details{border-top:1px solid var(--line);margin-top:12px}.group-context{overflow-wrap:anywhere;font-size:14px;color:var(--muted)}@media(max-width:760px){.sat-pathway{padding:18px}.pathway-links{display:grid;gap:4px}.sat-pathway h2{font-size:24px}}
