
/* One channel workspace: calendar first, detail on demand. */
main:has(.calendar-screen:not([hidden])){max-width:1440px;padding-top:24px}body:has(.calendar-screen:not([hidden]))>header{max-width:1440px;min-height:84px}.calendar-screen{--cal-ink:#123544;--cal-muted:#647985;--cal-line:#dce5ea;--cal-blue:#005373;max-width:none;padding:24px;min-width:0}.calendar-screen *,.calendar-sheet *{box-sizing:border-box}.calendar-screen h1{font-family:inherit;font-size:26px;font-weight:720;line-height:1.35;margin:0;letter-spacing:-.8px}.calendar-screen h2{font-size:18px;font-family:inherit;line-height:1.5;margin:0}.calendar-screen h3{font-size:16px;font-family:inherit;line-height:1.6;margin:0}.calendar-screen p,.calendar-sheet p{margin:0;overflow-wrap:anywhere}.calendar-screen button,.calendar-screen select,.calendar-screen input,.calendar-screen textarea,.calendar-sheet button,.calendar-sheet input,.calendar-sheet select,.calendar-sheet textarea{font:inherit;min-width:0;max-width:100%;margin:0;min-height:44px;border-radius:9px}.calendar-screen button,.calendar-sheet button{padding:10px 14px;line-height:1.5;white-space:normal;overflow-wrap:anywhere;color:#244958;background:#fff;border:1px solid #d8e2e7;transition:background-color 140ms ease}.calendar-screen button:hover,.calendar-sheet button:hover{filter:none;background:#eef4f7}.calendar-screen .primary,.calendar-sheet .primary{background:#005373;color:#fff;border-color:#005373}.calendar-screen .primary:hover,.calendar-sheet .primary:hover{background:#003f59}.calendar-screen input,.calendar-screen select,.calendar-screen textarea,.calendar-sheet input,.calendar-sheet select,.calendar-sheet textarea{width:100%;padding:11px 12px;background:#fff;color:#163b4d;border:1px solid #cfdae0}.calendar-screen select,.calendar-sheet select{appearance:auto!important}.calendar-screen label,.calendar-sheet label{display:grid;gap:8px;margin:0;font-size:13px;line-height:1.6;font-weight:600;min-width:0}.calendar-screen textarea,.calendar-sheet textarea{min-height:88px;line-height:1.7;resize:vertical}.calendar-screen button:focus-visible,.calendar-sheet button:focus-visible,.calendar-screen summary:focus-visible{outline:2px solid #005373;outline-offset:3px}.calendar-profile-bar{display:flex;justify-content:space-between;gap:16px;margin-bottom:20px}.calendar-screen .calendar-text,.calendar-sheet .calendar-text{border:0;background:transparent;padding:8px 0;font-size:13px;min-height:44px}.calendar-channel{font-size:13px;color:#647985;margin-bottom:4px!important}.calendar-page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}.calendar-page-actions{display:flex;align-items:center;gap:10px;min-width:0}.calendar-page-actions button,.calendar-page-actions select{font-size:13px;min-height:44px}.calendar-page-actions select{max-width:210px}.calendar-progress-line{display:flex;flex-wrap:wrap;gap:8px 20px;color:#647985;font-size:13px;padding-bottom:20px}.calendar-next{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 24px;margin-bottom:24px;border-radius:14px;background:#edf5f8;border:1px solid #cde0e9}.calendar-next>div{min-width:0}.calendar-next h2{margin:4px 0 8px;font-size:18px;line-height:1.55;overflow-wrap:anywhere}.calendar-next p{font-size:13px;color:#536e7b;line-height:1.6}.calendar-next .calendar-kicker{color:#005373;font-size:12px;font-weight:700}.calendar-next>button{flex:0 0 auto;min-width:142px;font-weight:650}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px}.calendar-navigation{display:flex;align-items:center;gap:10px;min-width:0}.calendar-navigation h2{font-size:19px;line-height:1.4}.calendar-navigation>button{padding:8px;min-width:40px}.calendar-navigation>button:first-child,.calendar-navigation>button:nth-child(3){font-size:24px;line-height:1}.calendar-navigation>button:last-child{font-size:12px;padding-inline:12px}.calendar-view-toggle{display:flex;gap:3px;background:#edf2f5;padding:3px;border-radius:10px}.calendar-view-toggle button{border:0;background:transparent;min-width:64px;font-size:13px}.calendar-view-toggle button[aria-pressed=true]{background:#fff;box-shadow:0 2px 5px #12354410;color:#005373;font-weight:700}.calendar-filters{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}.calendar-filters button{border:0;min-height:36px;padding:6px 12px;font-size:12px;color:#647985}.calendar-filters button[aria-pressed=true]{background:#eaf3f7;color:#005373;font-weight:650}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:20px;align-items:start}.calendar-board{border:1px solid #dce5ea;border-radius:12px;overflow:hidden;min-width:0}.calendar-day-names{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#f7f9fa;border-bottom:1px solid #dce5ea}.calendar-day-names span{padding:10px 8px;text-align:center;font-size:12px;color:#647985}.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));margin-right:-1px;margin-bottom:-1px}.calendar-day{position:relative;min-height:132px;padding:7px 5px;border-right:1px solid #e5ecf0;border-bottom:1px solid #e5ecf0;background:#fff;min-width:0}.calendar-day[data-outside=true]{background:#f7f9fa}.calendar-day[data-outside=true] .calendar-day-number{color:#a5b3bb}.calendar-screen .calendar-day-number{border:0;width:30px;min-height:30px;height:30px;padding:3px;font-size:12px;color:#526a76}.calendar-day[data-today=true] .calendar-day-number{background:#005373;color:#fff;border-radius:50%}.calendar-day[data-selected=true]{box-shadow:inset 0 0 0 2px #9cbfce}.calendar-day-events{display:grid;gap:5px;margin-top:5px}.calendar-screen .calendar-event{display:grid;grid-template-columns:minmax(0,1fr);gap:3px;text-align:left;width:100%;min-height:54px;padding:7px;border-radius:7px;border:0;border-left:3px solid #b6cad6;background:#edf3f6;color:#244958;cursor:pointer;min-width:0}.calendar-event strong{font-size:11px;font-weight:600;line-height:1.55;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere;word-break:break-word}.calendar-event-time,.calendar-event-state{font-size:10px;line-height:1.4;color:#647985}.calendar-screen .calendar-event.state-writing{background:#edf4fb;border-left-color:#5486ac}.calendar-screen .calendar-event.state-complete{background:#e7f4ee;border-left-color:#44816b}.calendar-screen .calendar-event.state-published{background:#e8f4ee;border-left-color:#437c64;opacity:.8}.calendar-screen .calendar-event.state-material{background:#fff7e9;border-left-color:#bf8b3b}.calendar-screen .calendar-event[aria-pressed=true]{box-shadow:inset 0 0 0 1px #005373}.calendar-day-count{display:none}.calendar-day-panel{min-width:0;border:1px solid #dce5ea;border-radius:12px;padding:20px;background:#fafcfd}.calendar-day-panel>h2{font-size:15px;margin-bottom:18px}.calendar-task-detail{display:grid;gap:14px;min-width:0}.calendar-task-detail+.calendar-task-detail{border-top:1px solid #dce5ea;margin-top:24px;padding-top:24px}.calendar-status{justify-self:start;border-radius:20px;background:#eaf0f4;color:#4d6978;font-size:11px;font-weight:600;padding:4px 9px}.calendar-status.state-writing{color:#366f97;background:#eaf2fa}.calendar-status.state-complete,.calendar-status.state-published{color:#346d55;background:#e6f3ed}.calendar-status.state-material{color:#8a672a;background:#fff4df}.calendar-muted{font-size:13px;line-height:1.8;color:#647985}.calendar-current-step{font-size:12px;color:#005373;line-height:1.7;background:#eaf3f7;border-radius:8px;padding:12px}.calendar-point{font-size:13px;line-height:1.8;color:#405f6d}.calendar-task-detail details{margin:0;padding-top:14px;border-top:1px solid #dce5ea}.calendar-task-detail summary{cursor:pointer;font-size:12px;color:#647985;min-height:30px}.calendar-task-detail details label{margin-top:14px}.calendar-task-detail details button{width:100%;margin-top:16px}.calendar-task-detail>a{color:#005373;font-size:13px;overflow-wrap:anywhere}.calendar-footnote{font-size:12px;color:#7b8c95;margin-top:16px!important}.calendar-empty-day{font-size:12px;color:#9aa9b0}.calendar-week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid #dce5ea}.calendar-week-strip button{border:0;border-radius:0;display:grid;justify-items:center;gap:2px;padding:10px 2px;background:#f9fbfc}.calendar-week-strip span{font-size:11px;color:#647985}.calendar-week-strip strong{font-size:17px;font-weight:600}.calendar-week-strip small{font-size:8px;height:12px;line-height:12px;color:#82a4b4}.calendar-week-strip button[aria-pressed=true]{background:#e8f2f7;color:#005373;box-shadow:inset 0 -2px #005373}.calendar-week-strip button[data-today=true] strong{background:#005373;color:#fff;border-radius:50%;width:29px;height:29px;display:grid;place-items:center}.calendar-week-agenda{padding:0 16px}.calendar-week-day{display:grid;grid-template-columns:100px minmax(0,1fr);align-items:start;gap:12px;padding:16px 0;border-bottom:1px solid #e5ecf0}.calendar-week-day:last-child{border:0}.calendar-week-day h3{font-size:12px;color:#647985;padding-top:8px}.calendar-week-day .calendar-event{grid-template-columns:46px minmax(0,1fr) auto;align-items:center;min-height:58px;padding:12px}.calendar-week-day .calendar-event strong{font-size:13px}.calendar-week-day .calendar-event-time,.calendar-week-day .calendar-event-state{font-size:11px}.calendar-drop-target{background:#e3f0f6!important;box-shadow:inset 0 0 0 2px #005373}.calendar-live:empty{display:none}.calendar-live:not(:empty){background:#eef5f8;color:#005373;font-size:13px;line-height:1.7;border-radius:8px;padding:12px 16px;margin-bottom:16px!important}.calendar-setup-heading{max-width:600px;margin:24px auto}.calendar-setup-heading>p:last-child{margin-top:12px}.calendar-setup-steps{display:flex;justify-content:space-between;gap:12px;list-style:none;padding:0;max-width:600px;margin:28px auto;font-size:13px;color:#94a4ad}.calendar-setup-steps li{padding-bottom:10px;border-bottom:2px solid #e4ebef;flex:1}.calendar-setup-steps [aria-current=step]{color:#005373;border-color:#005373;font-weight:700}.calendar-setup-form{max-width:600px;margin:0 auto 20px}.calendar-setup-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.calendar-setup-fields>label:has(textarea),.calendar-setup-fields>p,.calendar-weekdays{grid-column:1/-1}.calendar-setup-actions{display:flex;gap:12px;margin-top:28px}.calendar-setup-actions button{flex:1;min-height:48px}.calendar-advanced{margin-top:24px;border-top:1px solid #dce5ea;padding-top:18px}.calendar-advanced summary{font-size:13px;color:#647985;cursor:pointer}.calendar-advanced label{margin-top:20px}.calendar-weekdays{padding:0;border:0;margin:0;min-width:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-weekdays legend{font-size:13px;font-weight:600;margin-bottom:12px;padding:0}.calendar-weekdays label{position:relative;display:grid;place-items:center;min-height:48px;border:1px solid #dce5ea;border-radius:9px;cursor:pointer}.calendar-weekdays input{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer}.calendar-weekdays label:has(:checked){background:#e7f2f7;border-color:#005373;color:#005373}.calendar-weekdays label:has(:focus-visible){outline:2px solid #005373;outline-offset:2px}.calendar-schedule-preview{padding:14px 16px;background:#edf5f8;border-radius:9px;font-size:13px;color:#005373}.calendar-sheet{--cal-ink:#123544;border:0;border-left:1px solid #dce5ea;border-radius:16px 0 0 16px;position:fixed;inset:0 0 0 auto;margin:0;width:min(560px,100vw);height:100dvh;max-width:100vw;max-height:100dvh;padding:24px;color:#123544;background:#fff;box-shadow:-12px 0 50px #12354420;overflow:auto}.calendar-sheet::backdrop{background:rgba(8,32,45,.28)}.calendar-sheet-heading{position:sticky;top:-24px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 0 16px;background:#fff;z-index:2;margin-bottom:16px}.calendar-sheet-heading h2{font-size:20px;margin:0}.calendar-sheet>label,.calendar-sheet>button,.calendar-sheet>p{margin-top:20px}.calendar-settings-tabs{display:flex;gap:6px;border-bottom:1px solid #dce5ea;padding-bottom:16px;margin-bottom:20px}.calendar-settings-tabs button{flex:1;font-size:12px;padding:8px}.calendar-settings-tabs [aria-pressed=true]{background:#e7f2f7;color:#005373;border-color:#9bbdcd}.calendar-settings-body{display:grid;gap:18px}.calendar-settings-body .profile-reference-screen{max-width:none;padding:0}.calendar-sheet .profile-reference-cards,.calendar-sheet .reference-keyword-fields,.calendar-sheet .reference-keyword-lists{grid-template-columns:minmax(0,1fr)}.calendar-sheet .reference-save-actions{grid-template-columns:1fr}.calendar-sheet .profile-reference-screen h1{font-size:22px}.calendar-profile-patch{padding:16px;background:#f3f7f9;border-radius:10px;grid-template-columns:20px 1fr!important;gap:10px!important}.calendar-profile-patch input{width:18px;height:18px;min-height:18px!important}.calendar-profile-patch p{grid-column:2}.profile-calendar-hint{font-size:12px;color:#6c818e;font-weight:400}
@media(max-width:1000px){.calendar-layout{grid-template-columns:minmax(0,1fr) 250px;gap:14px}.calendar-day-panel{padding:16px}.calendar-day{min-height:118px}.calendar-event strong{font-size:10px}.calendar-page-heading{align-items:flex-start}.calendar-page-actions{flex-wrap:wrap;justify-content:flex-end}}
@media(max-width:700px){main:has(.calendar-screen:not([hidden])){padding:12px 12px 32px}body:has(.calendar-screen:not([hidden]))>header{min-height:74px;padding-inline:16px}.calendar-screen{padding:16px;border-radius:14px}.calendar-profile-bar{margin-bottom:12px}.calendar-screen h1{font-size:22px}.calendar-page-heading{display:block;margin-bottom:14px}.calendar-page-actions{justify-content:flex-start;gap:8px;margin-top:14px}.calendar-page-actions button{padding:8px 12px;font-size:12px}.calendar-page-actions select{max-width:none;flex:1 1 100%}.calendar-progress-line{gap:7px 14px;font-size:11px;padding-bottom:16px}.calendar-next{display:block;padding:16px;margin-bottom:20px}.calendar-next h2{font-size:16px}.calendar-next>button{width:100%;margin-top:16px;min-height:46px}.calendar-next p{font-size:12px}.calendar-toolbar{align-items:flex-start;gap:12px;flex-wrap:wrap}.calendar-navigation{width:100%;justify-content:space-between;gap:6px}.calendar-navigation h2{font-size:17px}.calendar-navigation>button{min-width:36px}.calendar-view-toggle{width:100%}.calendar-view-toggle button{flex:1;min-height:40px}.calendar-filters{gap:2px;justify-content:space-between}.calendar-filters button{font-size:11px;min-height:38px;padding:7px}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.calendar-day{min-height:54px;padding:3px 1px;text-align:center}.calendar-screen .calendar-day-number{width:100%;height:35px;min-height:35px;font-size:12px}.calendar-day[data-today=true] .calendar-day-number{width:30px;margin:auto;height:30px;min-height:30px}.calendar-day-events{display:none}.calendar-day-count{display:inline-block;font-size:9px;background:#d9eaf2;color:#005373;line-height:13px;min-width:13px;padding-inline:3px;border-radius:8px;margin-bottom:3px}.calendar-day-names span{font-size:11px;padding:8px 2px}.calendar-week-agenda{display:none}.calendar-week-strip button{min-height:72px;gap:4px}.calendar-day-panel{padding:18px;background:#f8fbfc}.calendar-day-panel>h2{margin-bottom:16px;font-size:15px}.calendar-task-detail{gap:14px}.calendar-task-detail h3{font-size:17px}.calendar-task-detail>.calendar-write{min-height:48px}.calendar-footnote{font-size:11px;line-height:1.7}.calendar-setup-heading{margin:12px 0 24px}.calendar-setup-fields{grid-template-columns:minmax(0,1fr);gap:20px}.calendar-setup-heading h1{font-size:23px}.calendar-setup-steps{gap:8px;font-size:12px;margin:24px 0}.calendar-weekdays{gap:5px}.calendar-weekdays label{min-height:46px;font-size:12px}.calendar-sheet{padding:20px 16px;border-radius:14px 0 0 14px}.calendar-sheet-heading{top:-20px}.calendar-sheet-heading h2{font-size:18px}.calendar-sheet .profile-reference-card{padding:16px}.calendar-sheet .reference-save-actions .primary{grid-row:1}}
@media(prefers-reduced-motion:reduce){.calendar-screen button,.calendar-sheet button{transition:none}}

.calendar-account-toggle{display:none}.calendar-live:not(:empty){padding:0;background:none;margin-bottom:8px!important;font-size:12px}.calendar-profile-bar{margin-bottom:12px}@media(max-width:700px){body:has(.calendar-screen:not([hidden])) #email{display:none}body:has(.calendar-screen:not([hidden])) .calendar-account-toggle{display:block;min-height:44px;font-size:13px;background:#fff}body:has(.calendar-screen:not([hidden])) #account{display:block;position:relative}body:has(.calendar-screen:not([hidden])) .account-actions{display:none;position:absolute;right:0;top:50px;z-index:20;background:#fff;padding:8px;border:1px solid #dce5ea;box-shadow:0 8px 24px #12354415;border-radius:10px;min-width:160px}body:has(.calendar-screen:not([hidden])) .account-actions.calendar-account-open{display:grid;gap:6px}body:has(.calendar-screen:not([hidden]))>header{min-height:76px;align-items:center;flex-direction:row;gap:16px}.calendar-profile-bar{margin-bottom:8px}}

/* Make the direct writing action as easy to find as the calendar's main action. */
.calendar-profile-bar{align-items:center;gap:16px}
.calendar-screen .calendar-profile-bar>.calendar-direct-writing{display:inline-flex;align-items:center;justify-content:center;min-width:200px;min-height:56px;margin:0;padding:14px 28px;border:1px solid transparent;border-radius:12px;background:#005373;color:#fff;font-size:16px;font-weight:700;line-height:1.5;white-space:normal;word-break:keep-all}
.calendar-screen .calendar-profile-bar>.calendar-direct-writing:hover{background:#06445b}
.calendar-screen .calendar-profile-bar>.calendar-direct-writing:focus-visible{outline:3px solid #005373;outline-offset:3px}
@media(max-width:700px){
 .calendar-profile-bar{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
 .calendar-profile-bar>.calendar-text{justify-self:start}
 .calendar-screen .calendar-profile-bar>.calendar-direct-writing{width:100%;min-width:0;box-sizing:border-box}
}

/* A choice first, then only the fields needed for that choice. */
.calendar-entry-actions,.calendar-resume-form{width:100%;max-width:640px;margin:40px auto 24px}
.calendar-entry-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.calendar-screen .calendar-entry-choice{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:10px;min-height:144px;padding:24px;text-align:left;background:#ff6e42;color:#092634;border-color:#ff6e42;border-radius:16px}
.calendar-entry-choice strong{font-size:20px;line-height:1.5;word-break:keep-all}
.calendar-entry-choice span{font-size:13px;font-weight:400;line-height:1.7;word-break:keep-all}
.calendar-screen .calendar-entry-choice:hover{background:#f45e31;color:#092634}
.calendar-entry-choice:focus-visible{outline:3px solid #005373;outline-offset:4px}
.calendar-screen .calendar-setup-heading{max-width:640px}
.calendar-resume-list{display:grid;gap:12px}
.calendar-screen .calendar-resume-option{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid #dce5ea;border-radius:12px;cursor:pointer;background:#fff}
.calendar-screen .calendar-resume-option:has(input:checked){border-color:#005373;background:#eaf3f8}
.calendar-screen .calendar-resume-option input{width:20px;min-height:20px;flex:0 0 20px;margin:0;accent-color:#005373}
.calendar-resume-option>span{display:grid;gap:6px;min-width:0;overflow-wrap:anywhere}.calendar-resume-option small{font-weight:400}
.calendar-plan-summary{padding:20px;background:#f0f4f6;border:1px solid #dce5ea;border-radius:12px;margin-bottom:20px;line-height:1.8}
.calendar-plan-summary p{margin-top:8px!important}
.calendar-screen .profile-reference-screen{max-width:900px;margin:0 auto}
.calendar-screen .profile-reference-cards{margin:24px 0}
.calendar-screen .reference-keywords{padding:16px;border:1px solid #dce5ea;border-radius:12px;margin:24px 0}
.reference-keywords>summary{cursor:pointer;font-weight:600;min-height:28px}
.reference-keywords[open]>.reference-keyword-fields{margin-top:20px}
.calendar-screen .reference-save-actions,.calendar-setup-actions,.calendar-bottom-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;clear:both;margin:28px auto 0;padding-top:24px;width:100%;border-top:1px solid #dce5ea}
.calendar-screen .reference-save-actions>button,.calendar-setup-actions>button,.calendar-bottom-actions>button{width:100%;min-height:56px;margin:0;font-size:15px}
.calendar-bottom-actions{max-width:640px;grid-template-columns:1fr}
.calendar-setup-actions:has(>button:only-child){grid-template-columns:1fr}
.calendar-screen .primary,.calendar-sheet .primary{background:#ff6e42;color:#092634;border-color:#ff6e42;font-weight:700}
.calendar-screen .primary:hover,.calendar-sheet .primary:hover{background:#f45e31;color:#092634;border-color:#f45e31}
.calendar-screen .calendar-task-detail>.calendar-write{margin-top:20px;min-height:56px;width:100%}
.calendar-screen .calendar-live:empty{display:none}
@media(max-width:700px){
 .calendar-entry-actions{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:28px}
 .calendar-screen .calendar-entry-choice{min-height:116px;padding:20px}
 .calendar-entry-choice strong{font-size:20px}
 .calendar-screen .reference-save-actions,.calendar-setup-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
 .calendar-setup-actions .primary{grid-row:auto}
 .calendar-setup-actions:has(>button:only-child){grid-template-columns:1fr}
 .calendar-screen .profile-reference-screen{width:100%;min-width:0}
 .calendar-screen .reference-keywords{padding:14px}
}
