:root{color-scheme:light;font-family:Aptos,Segoe UI,system-ui,sans-serif;color:#292722;background:#f7f6f3;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #292722;--muted: #858178;--line: #ebe8e2;--paper: #fffefa;--wine: #773a4d;--wine-dark: #663043}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}.account-strip{min-height:40px;display:flex;align-items:center;justify-content:flex-end;gap:16px;padding:0 22px;border-bottom:1px solid var(--line);background:var(--paper);color:var(--muted);font-size:11px}.account-strip>span:first-child,.account-strip button{display:inline-flex;align-items:center;gap:6px}.account-strip button{border:0;padding:5px 0;background:transparent;color:var(--wine);cursor:pointer}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:20px;background:#f7f6f3}.auth-card{width:min(100%,390px);padding:30px;border:1px solid #ebe8e2;border-radius:13px;background:#fffefa;box-shadow:0 18px 50px #29272212}.auth-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:12px 12px 12px 4px;background:var(--wine);color:#fff}.auth-card h1{margin:18px 0 6px;font:700 21px/1.25 system-ui,sans-serif;letter-spacing:-.03em}.auth-card>p{margin:0 0 21px;color:var(--muted);font-size:13px;line-height:1.5}.auth-card form{display:grid;gap:14px}.auth-card label{display:grid;gap:6px;color:#625e56;font-size:12px;font-weight:600}.auth-card input{width:100%;height:42px;padding:0 11px;border:1px solid var(--line);border-radius:6px;background:#fff;color:#292722;font-size:14px}.auth-card input:focus-visible,.auth-card button:focus-visible{outline:2px solid #a66f7f;outline-offset:2px}.auth-submit{width:100%;min-height:42px;justify-content:center;margin-top:5px;font-size:12px}.auth-team-options{display:grid;gap:8px;margin-bottom:12px}.auth-team-options .auth-submit{display:flex;align-items:center;justify-content:space-between;margin-top:0;text-align:left}.auth-team-options .auth-submit span{color:var(--muted);font-size:10px;text-transform:capitalize}.auth-error{margin:12px 0 0!important;color:#9d423c!important;font-size:12px!important}.auth-signout{margin-top:14px;font-size:11px}:root[data-theme=dark] .auth-shell{background:#1f2023}:root[data-theme=dark] .auth-card{border-color:#37383c;background:#28292d;color:#eeece6}:root[data-theme=dark] .auth-card label{color:#cfccc4}:root[data-theme=dark] .auth-card input{border-color:#46474b;background:#202125;color:#f2f0eb}:root[data-theme=dark] .account-strip{border-color:#37383c;background:#28292d}.app-shell{min-height:100vh;display:flex}.sidebar{width:248px;flex:0 0 248px;background:#fbfaf7;border-right:1px solid #ece9e3;padding:25px 15px 17px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;padding:1px 10px 30px}.brand-mark{width:36px;height:36px;display:grid;place-items:center;border-radius:11px 11px 11px 3px;background:var(--wine);color:#fff;font:800 12px/1 system-ui,sans-serif;letter-spacing:-.06em;box-shadow:0 4px 10px #773a4d24}.brand-copy,.profile-row>span:nth-child(2),.local-status>span:last-child{display:flex;flex-direction:column;gap:2px}.brand-copy strong{font:700 15px system-ui,sans-serif;letter-spacing:-.04em}.brand-copy small{color:#89847b;font-size:10px;letter-spacing:.02em}.workspace-label{margin:5px 10px 10px;color:#aaa59b;font-size:9px;font-weight:700;letter-spacing:.13em}.main-nav{display:grid;gap:4px}.nav-item{min-height:41px;display:flex;align-items:center;gap:12px;padding:0 11px;border:0;border-radius:7px;background:transparent;color:#78746b;font-size:12px;font-weight:500;text-align:left;cursor:pointer;transition:background .16s,color .16s}.nav-item svg{color:#9c978e}.nav-item:hover{background:#f2f0ea;color:var(--ink)}.nav-item.active{color:var(--wine-dark);background:#f2e8eb;font-weight:700}.nav-item.active svg{color:var(--wine)}.sidebar-bottom{margin-top:auto;display:grid;gap:4px}.local-status{display:flex;align-items:flex-start;gap:10px;margin:0 5px 16px;padding:12px 10px;background:#f4f2ed;border:1px solid #edeae4;border-radius:8px}.status-dot{width:7px;height:7px;margin-top:4px;border-radius:50%;background:#6c9875;box-shadow:0 0 0 3px #dce8dc}.local-status strong,.profile-row strong{font-size:10px;font-weight:700}.local-status small,.profile-row small{color:#969188;font-size:9px}.profile-row{display:flex;align-items:center;gap:9px;margin:14px 5px 0;padding:14px 5px 0;border-top:1px solid var(--line)}.avatar{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:#eee3d7;color:#815b47;font-weight:700;font-size:11px}.main-content{min-width:0;flex:1}.topbar{height:62px;border-bottom:1px solid #eeece6;display:flex;align-items:center;justify-content:space-between;padding:0 38px;background:#fffefaad}.breadcrumbs{display:flex;align-items:center;gap:10px;color:#979289;font-size:11px}.breadcrumbs strong{color:#4a4740;font-weight:600}.crumb-separator{color:#c3beb5}.topbar-actions{display:flex;align-items:center;gap:10px}.icon-button{position:relative;display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid transparent;border-radius:7px;background:transparent;color:#858077;cursor:pointer}.icon-button:hover{border-color:#e8e4dd;background:#fffefa;color:#37342e}.theme-toggle{width:auto;min-width:82px;display:inline-flex;justify-content:center;gap:7px;border-color:#e8e4dd;background:#fffefa;color:#625e56;font-size:10px}.theme-toggle:hover{background:#f6f3ee}.mobile-menu{display:none}.page-wrap{max-width:1440px;margin:0 auto;padding:34px 38px 18px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:23px}.eyebrow{display:flex;align-items:center;gap:8px;margin-bottom:9px;color:#9a756e;font-size:9px;font-weight:700;letter-spacing:.16em}.eyebrow-line{width:18px;height:1px;background:#a97b78}h1,h2,h3,p{margin:0}h1{color:#302e29;font:700 27px/1.25 system-ui,sans-serif;letter-spacing:-.055em}.page-heading p{margin-top:7px;color:#878279;font-size:12px}.primary-button{height:36px;display:flex;align-items:center;gap:8px;padding:0 13px;border:0;border-radius:6px;color:#fff;background:var(--wine);font-size:11px;font-weight:600;cursor:pointer;box-shadow:0 3px 8px #773a4d20}.primary-button:disabled{cursor:not-allowed;opacity:.56}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.summary-card{min-height:97px;padding:13px 15px 12px;border:1px solid #ece9e3;border-radius:8px;background:var(--paper)}.summary-top{display:flex;justify-content:space-between;align-items:center;color:#807b72;font-size:10px;font-weight:500}.summary-icon{display:grid;place-items:center;width:27px;height:27px;border-radius:7px}.summary-icon.burgundy{color:#824256;background:#f5e9ed}.summary-icon.amber{color:#a4753d;background:#f7f0e4}.summary-icon.sage{color:#5d816b;background:#edf3ee}.summary-icon.slate{color:#6a7184;background:#eef0f4}.summary-value{margin-top:4px;color:#38352e;font:700 20px/1 system-ui,sans-serif;letter-spacing:-.04em}.summary-foot{margin-top:5px;color:#aaa59c;font-size:9px}.calendar-panel{position:relative;border:1px solid #eae7e1;border-radius:9px;background:var(--paper);overflow:hidden}.calendar-toolbar{min-height:62px;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 16px;border-bottom:1px solid #efede8}.month-switcher{display:flex;align-items:center;gap:18px}.month-switcher h2{color:#34312b;font:700 15px system-ui,sans-serif;letter-spacing:-.04em}.month-controls{display:flex;align-items:center;gap:2px}.icon-button.small{width:27px;height:27px;border-color:#efede7;background:#fffefa}.icon-button.small:hover{background:#f6f3ee}.today-button{height:27px;margin:0 4px;padding:0 9px;border:1px solid #efede7;border-radius:5px;background:#fffefa;color:#656057;font-size:10px;cursor:pointer}.today-button:hover{background:#f6f3ee}.calendar-actions{display:flex;align-items:center;gap:6px}.filter-select{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:119px;height:29px;padding:0 9px;border:1px solid #ece9e3;border-radius:5px;color:#6d6961;font-size:9px}.filter-select svg{color:#aaa59b;transform:rotate(90deg)}.type-filter{min-width:123px}.view-toggle{height:29px;min-width:39px;border:1px solid transparent;border-radius:5px;background:transparent;color:#89847b;font-size:9px}.view-toggle.active{border-color:#e9e5de;background:#f5f3ee;color:#504b44;font-weight:700}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekday{height:35px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #eeece6;color:#99948b;font-size:9px;font-weight:600;letter-spacing:.02em}.day-cell{position:relative;min-height:73px;display:flex;align-items:flex-start;padding:9px 10px;border-right:1px solid #f0eee9;border-bottom:1px solid #f0eee9;background:#fffefa}.day-cell:nth-child(7n){border-right:0}.day-cell:nth-last-child(-n+7){border-bottom:0}.day-cell.outside{background:#fcfbf8}.day-number{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;color:#666159;font-size:10px}.day-cell.today .day-number{background:var(--wine);color:#fff;font-weight:700}.today-label{position:absolute;top:13px;left:39px;color:#9b6575;font-size:7px;font-weight:700;letter-spacing:.09em}.calendar-empty{position:absolute;top:50%;left:50%;display:flex;flex-direction:column;align-items:center;gap:7px;width:min(310px,80%);transform:translate(-50%,-20%);text-align:center;pointer-events:none}.empty-ornament{width:39px;height:39px;display:grid;place-items:center;border:1px solid #eee7e2;border-radius:12px;background:#fcf7f5;color:#9d7480}.calendar-empty strong{margin-top:4px;color:#625e56;font-size:11px;font-weight:700}.calendar-empty>span{color:#9d988f;font-size:9px;line-height:1.5}.bottom-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:13px;margin-top:14px}.info-panel{min-height:124px;padding:14px 15px;border:1px solid #ece9e3;border-radius:8px;background:var(--paper)}.panel-heading{display:flex;align-items:center;justify-content:space-between}.panel-kicker{color:#a0988e;font-size:8px;font-weight:700;letter-spacing:.12em}.panel-heading h3{margin-top:4px;color:#403d36;font:700 12px system-ui,sans-serif;letter-spacing:-.02em}.text-button{display:flex;align-items:center;gap:2px;padding:4px 0;border:0;background:none;color:#8c6a71;font-size:9px;font-weight:600;cursor:pointer}.count-pill{min-width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:#f4f0e9;color:#84775e;font-size:9px;font-weight:700}.warning-kicker{color:#ad8b61}.empty-inline{display:flex;align-items:center;gap:10px;margin-top:16px;padding-top:11px;border-top:1px solid #f1efea}.empty-line-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:7px;background:#f5eff1;color:#966f7b}.empty-line-icon.warning{background:#f7f2e9;color:#a7824c}.empty-inline>span:last-child{display:flex;flex-direction:column;gap:3px}.empty-inline strong{color:#69645b;font-size:9px;font-weight:600}.empty-inline small{color:#a09a90;font-size:8px}.page-footer{display:flex;justify-content:space-between;padding:14px 2px 0;color:#aaa49a;font-size:8px;letter-spacing:.01em}@media(max-width:1100px){.sidebar{width:218px;flex-basis:218px}.page-wrap{padding-right:25px;padding-left:25px}.topbar{padding:0 25px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.day-cell{min-height:67px}.filter-select{min-width:104px}.type-filter{min-width:108px}}@media(max-width:760px){.sidebar{position:fixed;z-index:5;inset:0 auto 0 0;width:248px;box-shadow:18px 0 40px #28251e14;transform:translate(-105%)}.topbar{height:55px;justify-content:flex-start;gap:7px;padding:0 14px}.mobile-menu{display:inline-grid}.search-button{display:none}.topbar-actions{margin-left:auto}.page-wrap{padding:25px 14px 15px}.page-heading{align-items:flex-start;gap:12px}h1{font-size:23px}.page-heading p{max-width:260px;font-size:11px;line-height:1.45}.page-heading .primary-button{flex-shrink:0;width:35px;padding:0;justify-content:center;overflow:hidden;font-size:0}.primary-button svg{flex:0 0 auto}.summary-grid{gap:8px}.summary-card{min-height:87px;padding:10px}.summary-top{font-size:9px}.summary-icon{width:24px;height:24px}.summary-foot{font-size:8px}.calendar-toolbar{align-items:flex-start;flex-direction:column;padding:12px 11px}.month-switcher{width:100%;justify-content:space-between}.calendar-actions{width:100%;overflow:auto}.filter-select,.view-toggle{flex:0 0 auto}.weekday{height:31px;font-size:8px}.day-cell{min-height:51px;padding:5px}.day-number{width:20px;height:20px;font-size:9px}.today-label{display:none}.calendar-empty{top:66%}.empty-ornament{width:32px;height:32px}.empty-ornament svg{width:18px}.calendar-empty strong{font-size:10px}.calendar-empty>span{font-size:8px}.bottom-grid{grid-template-columns:1fr;gap:9px}.info-panel{min-height:112px}.page-footer{font-size:7px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.heading-actions{display:flex;align-items:center;gap:8px}.secondary-button{min-height:35px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;border:1px solid #e6e2da;border-radius:6px;background:#fffefa;color:#625e56;font-size:10px;font-weight:600;cursor:pointer}.secondary-button:hover{background:#f7f5ef;border-color:#d8d2c7}.secondary-button:disabled,.primary-button:disabled{opacity:.55;cursor:wait}.recalc-button{color:#786969}.local-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid #e5ebe2;border-radius:99px;background:#f7faf5;color:#66806b;font-size:8px;font-weight:700;letter-spacing:.08em}.local-badge i{width:6px;height:6px;border-radius:50%;background:#6c9875}.calendar-filters{display:flex;align-items:end;flex-wrap:wrap;gap:9px;padding:12px 15px}.calendar-filters label{display:grid;gap:4px;min-width:155px;color:#99948b;font-size:8px;font-weight:600}.calendar-filters select{height:30px;width:100%;padding:0 9px;border:1px solid #ece9e3;border-radius:5px;background:#fffefa;color:#625e56;font-size:9px}.calendar-view-toggle{display:flex;gap:3px;margin-left:auto;padding:3px;border:1px solid #efede7;border-radius:6px}.calendar-view-toggle button{min-width:43px;height:24px;border:0;border-radius:4px;background:transparent;color:#89847b;font-size:9px;cursor:pointer}.calendar-view-toggle button.selected{background:#f2e8eb;color:var(--wine-dark);font-weight:700}.calendar-panel:has(.calendar-filters){margin-bottom:12px;overflow:visible}.calendar-panel:not(:has(.calendar-filters)){overflow:hidden}.calendar-legend{display:flex;align-items:center;gap:14px;color:#8f897f;font-size:8px}.calendar-legend span{display:flex;align-items:center;gap:5px}.legend-dot{width:7px;height:7px;border-radius:50%;background:#9c6374}.legend-dot.civic-dot{background:#879a81}.legend-dot.review-dot{background:#c78c49}.day-cell{min-height:115px;display:block;padding:7px 6px}.day-heading{display:flex;align-items:center;gap:5px;min-height:22px}.day-items{display:grid;gap:3px;margin-top:3px}.calendar-chip{width:100%;min-width:0;display:flex;align-items:center;gap:4px;overflow:hidden;padding:4px 5px;border:0;border-radius:4px;text-align:left;text-overflow:ellipsis;white-space:nowrap;font-size:8px;line-height:1.2;cursor:pointer}.calendar-chip:hover{filter:brightness(.96)}.chip-mark{flex:0 0 auto;font-size:10px;font-weight:800}.event-chip{background:#f4e9ed;color:#754051}.event-chip.status-confirmed{background:#eaf1eb;color:#4e7459}.event-chip.status-realized{background:#edf0f3;color:#647080}.event-chip.status-cancelled{background:#f1efeb;color:#969087;text-decoration:line-through}.event-chip.needs-review{background:#fbf0e2;color:#986a35}.civic-chip{background:#eef2eb;color:#5d745a}.more-events{padding-left:5px;color:#a49d93;font-size:8px}.day-empty{min-height:20px}.calendar-note{display:flex;align-items:center;gap:6px;padding:9px 14px;border-top:1px solid #f0eee9;color:#9a948a;font-size:8px}.calendar-note svg{color:#a27b5b}.bottom-grid .info-panel{min-width:0}.event-list{display:grid;margin-top:9px}.event-row{display:flex;align-items:center;gap:6px;padding:7px 0;border-top:1px solid #f1efea}.event-row:first-child{border-top:0}.event-row-main{min-width:0;flex:1;display:flex;align-items:center;gap:9px;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.event-date{width:112px;flex:0 0 112px;display:flex;flex-direction:column;gap:3px}.event-date strong{color:#625d54;font-size:9px;font-weight:600}.event-date small,.event-row-title small{overflow:hidden;color:#a09a90;text-overflow:ellipsis;white-space:nowrap;font-size:8px}.event-row-title{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.event-row-title strong{overflow:hidden;color:#4d4942;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:600}.event-row-edit{border:0;background:transparent;color:#8d7375;font-size:8px;cursor:pointer}.event-row-arrow{flex:0 0 auto;color:#b4aea4}.status-pill,.review-pill,.provisional-pill{flex:0 0 auto;display:inline-flex;align-items:center;min-height:19px;padding:0 7px;border-radius:99px;background:#f4e9ed;color:#7a4557;font-size:7px;font-weight:700;white-space:nowrap}.status-pill.status-confirmed{background:#eaf1eb;color:#54745a}.status-pill.status-realized{background:#edf0f3;color:#667283}.status-pill.status-cancelled{background:#f1efeb;color:#8d887f}.review-pill{background:#fbf0e2;color:#9b6a31}.provisional-pill{background:#f7f1e5;color:#967647}.verified-pill{background:#eaf1eb;color:#54745a}.list-empty{margin-top:4px}.missing-list{display:grid;gap:1px;margin-top:8px}.missing-row{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-top:1px solid #f1efea}.missing-row:first-child{border-top:0}.missing-row>span:last-child{min-width:0;display:grid;gap:3px}.missing-row strong{color:#686056;font-size:8px;font-weight:600}.missing-row small{color:#9d968b;font-size:8px;line-height:1.4}.empty-line-icon.success{background:#edf3ee;color:#62846b}.list-panel{padding-bottom:10px}.list-panel-heading,.management-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;border-bottom:1px solid #efede8}.list-panel-heading h2,.management-heading h2{margin-top:4px;color:#403d36;font:700 14px system-ui,sans-serif}.civic-list-section{margin:5px 15px 12px;padding-top:13px;border-top:1px solid #eeece6}.civic-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;margin-top:7px}.civic-row{display:flex;align-items:center;gap:9px;min-width:0;padding:9px 2px;border:0;border-top:1px solid #f1efea;background:transparent;text-align:left;cursor:pointer}.civic-row>svg{flex:0 0 auto;color:#aaa397}.civic-date-mark{width:31px;height:34px;flex:0 0 31px;display:grid;place-content:center;border-radius:6px;background:#edf2eb;color:#597255;text-align:center;font-size:10px;font-weight:700}.civic-date-mark small{font-size:7px;font-weight:600}.civic-copy{min-width:0;flex:1;display:grid;gap:3px}.civic-copy strong{overflow:hidden;color:#555148;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:600}.civic-copy small{overflow:hidden;color:#989287;text-overflow:ellipsis;white-space:nowrap;font-size:7px}.course-create-panel,.management-panel{margin-bottom:14px;border:1px solid #ece9e3;border-radius:8px;background:var(--paper)}.course-create-panel{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 16px}.course-create-panel h2{margin-top:4px;color:#403d36;font:700 13px system-ui,sans-serif}.course-create-panel p{margin-top:4px;color:#979187;font-size:9px}.course-create-panel form{display:flex;gap:7px;width:min(420px,55%)}.course-create-panel input,.form-card input,.form-card select,.form-card textarea{min-width:0;height:35px;padding:0 9px;border:1px solid #e9e5dd;border-radius:5px;background:#fffefa;color:#4a4740;font-size:10px}.course-create-panel input{flex:1}.management-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;padding:14px}.management-card{min-width:0;padding:13px;border:1px solid #eeebe5;border-radius:7px;background:#fffefa}.management-card-top{display:flex;align-items:center;justify-content:space-between}.course-glyph,.rule-glyph{width:31px;height:31px;display:grid;place-items:center;border-radius:7px;background:#f4e9ed;color:#824256}.management-card h3{margin-top:11px;color:#454139;font-size:12px}.management-card>p{min-height:22px;margin-top:5px;color:#918b81;font-size:9px;line-height:1.4}.cohort-dates{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px;padding-top:10px;border-top:1px solid #f0eee9}.cohort-dates span{display:grid;gap:4px}.cohort-dates small{color:#a19b91;font-size:7px}.cohort-dates strong{color:#655f55;font-size:8px;font-weight:600}.management-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:11px;padding-top:8px;border-top:1px solid #f0eee9;color:#a19b91;font-size:8px}.management-empty{padding:24px 16px;color:#9a9489;text-align:center;font-size:10px}.course-missing-panel{margin-top:14px}.rules-list{display:grid;padding:4px 16px}.rule-row{display:flex;align-items:flex-start;gap:11px;padding:13px 0;border-top:1px solid #f1efea}.rule-row:first-child{border-top:0}.rule-glyph{flex:0 0 auto;background:#eef0f4;color:#6b7180}.rule-copy{min-width:0;flex:1}.rule-copy h3{color:#4f4a42;font-size:10px}.rule-copy p{margin-top:4px;color:#817b71;font-size:9px;line-height:1.45}.rule-copy small{display:block;margin-top:5px;color:#a09a90;font-size:8px;text-transform:capitalize}.rule-footnote{padding:11px 16px;border-top:1px solid #f0eee9;color:#9a9489;font-size:8px}.error-banner{display:flex;align-items:center;gap:8px;margin-bottom:13px;padding:10px 12px;border:1px solid #efd8d4;border-radius:6px;background:#fff4f2;color:#985747;font-size:10px}.error-banner button{margin-left:auto;border:0;background:transparent;color:#824f45;font-size:9px;cursor:pointer}.offline-agenda-indicator{display:flex;align-items:center;gap:7px;margin:0 0 13px;padding:9px 12px;border:1px solid #ded8cc;border-radius:6px;background:#f5f2eb;color:#625c50;font-size:11px}.offline-agenda-dot{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:#b47a35}.toast{position:fixed;z-index:20;right:24px;bottom:22px;display:flex;align-items:center;gap:15px;max-width:min(400px,calc(100vw - 28px));padding:12px 14px;border:1px solid #e4ddd4;border-radius:7px;background:#fffefa;box-shadow:0 8px 30px #302e2918;color:#5b564d;font-size:10px}.toast button{display:grid;place-items:center;padding:2px;border:0;background:transparent;color:#938c81;cursor:pointer}.sidebar-scrim{display:none}.modal-backdrop{position:fixed;z-index:30;inset:0;display:grid;place-items:center;padding:20px;background:#24211e75;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-card{position:relative;width:min(500px,100%);max-height:min(90vh,850px);overflow:auto;padding:25px;border:1px solid #eae6df;border-radius:10px;background:#fffefa;box-shadow:0 20px 70px #18161342}.modal-card.wide-form{width:min(720px,100%)}.modal-close{position:absolute;top:13px;right:13px;display:grid;place-items:center;width:30px;height:30px;border:1px solid #eeeae3;border-radius:6px;background:#fffefa;color:#837d73;cursor:pointer}.modal-card>.panel-kicker{display:block;color:#9a756e;font-size:8px;font-weight:700;letter-spacing:.13em}.modal-card h2{margin:6px 34px 18px 0;color:#36332d;font:700 19px system-ui,sans-serif;letter-spacing:-.035em}.form-card{display:grid;gap:12px}.form-card>label,.form-grid>label{display:grid;gap:5px;color:#777168;font-size:9px;font-weight:600}.form-card input,.form-card select{width:100%}.form-card textarea{width:100%;height:auto;min-height:70px;padding:8px 9px;resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.full-field{grid-column:1/-1}.offset-input{display:flex;gap:5px}.offset-input input{width:90px}.offset-input select{flex:1}.course-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px;max-height:130px;overflow:auto;padding:10px;border:1px solid #ece9e3;border-radius:6px}.course-checks legend{padding:0 4px;color:#777168;font-size:9px;font-weight:600}.course-checks label{display:flex;align-items:center;gap:6px;color:#635e55;font-size:9px;font-weight:400}.course-checks input{width:13px;height:13px}.form-actions{display:flex;justify-content:flex-end;gap:7px;padding-top:4px}.module-editor{padding:12px;border:1px solid #ece9e3;border-radius:7px;background:#fcfbf8}.module-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.module-editor-heading>div{display:grid;gap:3px}.module-editor-heading strong{color:#5a554c;font-size:10px}.module-editor-heading small,.quiet-note{color:#9b958a;font-size:8px}.small-add-button{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border:1px solid #e9e5dd;border-radius:5px;background:#fffefa;color:#766c65;font-size:8px;cursor:pointer}.module-row{display:grid;grid-template-columns:minmax(120px,1.2fr) minmax(120px,1fr) minmax(120px,1fr) 30px;align-items:end;gap:7px;padding-top:7px;border-top:1px solid #eeece6}.module-row>input{align-self:end}.module-row label{display:grid;gap:3px;color:#999287;font-size:7px}.module-row label input{width:100%;padding:0 5px;font-size:8px}.remove-button{color:#aa6b5b}.inline-warning{padding:12px;border-radius:5px;background:#fbf0e2;color:#986a35;font-size:9px}.event-detail{width:min(480px,100%)}.detail-icon{width:39px;height:39px;display:grid;place-items:center;margin-bottom:13px;border-radius:10px;background:#f4e9ed;color:#824256}.detail-icon.civic{background:#edf2eb;color:#62765e}.detail-date{color:#8b8479;font-size:11px}.detail-meta{display:grid;gap:10px;margin-top:18px;padding:13px;border:1px solid #efede7;border-radius:7px;background:#fcfbf8}.detail-meta>span{display:grid;gap:4px}.detail-meta small{color:#a09a90;font-size:8px}.detail-meta strong{color:#5d584f;font-size:9px;font-weight:600;line-height:1.5}.detail-warning{padding:9px 10px;border:1px solid #f0dfc9;border-radius:5px;background:#fbf3e8;color:#946b39;font-size:8px;line-height:1.45}.source-link{display:flex;align-items:flex-start;gap:6px;margin-top:13px;color:#8d6e73;font-size:8px;line-height:1.4}.source-link svg{flex:0 0 auto}.detail-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:17px;padding-top:12px;border-top:1px solid #efede7}.secondary-button.danger{color:#9b6356}:root[data-theme=dark]{color-scheme:dark;color:#e9e5dc;background:#191917;--ink: #e9e5dc;--muted: #aaa69c;--line: #3b3933;--paper: #242320;--wine: #b8758a;--wine-dark: #e1a8b8}:root[data-theme=dark] body{background:#191917;color:#e9e5dc}:root[data-theme=dark] .sidebar{background:#201f1c;border-color:#383630}:root[data-theme=dark] .topbar{background:#1f1e1bf0;border-color:#383630}:root[data-theme=dark] .brand-copy strong,:root[data-theme=dark] .breadcrumbs strong,:root[data-theme=dark] h1,:root[data-theme=dark] .summary-value,:root[data-theme=dark] .month-switcher h2,:root[data-theme=dark] .panel-heading h3,:root[data-theme=dark] .list-panel-heading h2,:root[data-theme=dark] .management-heading h2,:root[data-theme=dark] .course-create-panel h2,:root[data-theme=dark] .management-card h3,:root[data-theme=dark] .rule-copy h3,:root[data-theme=dark] .modal-card h2{color:#eeeae1}:root[data-theme=dark] .breadcrumbs,:root[data-theme=dark] .page-heading p,:root[data-theme=dark] .nav-item,:root[data-theme=dark] .icon-button,:root[data-theme=dark] .summary-top,:root[data-theme=dark] .calendar-filters label,:root[data-theme=dark] .weekday,:root[data-theme=dark] .panel-kicker,:root[data-theme=dark] .page-footer,:root[data-theme=dark] .management-empty,:root[data-theme=dark] .empty-inline strong,:root[data-theme=dark] .calendar-empty strong{color:#aaa69c}:root[data-theme=dark] .workspace-label,:root[data-theme=dark] .brand-copy small,:root[data-theme=dark] .local-status small,:root[data-theme=dark] .profile-row small,:root[data-theme=dark] .summary-foot,:root[data-theme=dark] .empty-inline small,:root[data-theme=dark] .calendar-empty>span,:root[data-theme=dark] .event-date small,:root[data-theme=dark] .event-row-title small,:root[data-theme=dark] .management-card>p,:root[data-theme=dark] .cohort-dates small,:root[data-theme=dark] .management-card-bottom,:root[data-theme=dark] .rule-copy p,:root[data-theme=dark] .rule-copy small,:root[data-theme=dark] .rule-footnote,:root[data-theme=dark] .detail-meta small,:root[data-theme=dark] .quiet-note{color:#9b978d}:root[data-theme=dark] .nav-item:hover{background:#302e29;color:#f0ece3}:root[data-theme=dark] .nav-item.active,:root[data-theme=dark] .calendar-view-toggle button.selected{background:#49323a;color:#efc1ce}:root[data-theme=dark] .local-status,:root[data-theme=dark] .summary-card,:root[data-theme=dark] .calendar-panel,:root[data-theme=dark] .info-panel,:root[data-theme=dark] .course-create-panel,:root[data-theme=dark] .management-panel,:root[data-theme=dark] .management-card,:root[data-theme=dark] .modal-card,:root[data-theme=dark] .toast{background:#242320;border-color:#3b3933}:root[data-theme=dark] .local-status{background:#292824}:root[data-theme=dark] .local-badge{background:#273128;border-color:#3b493c;color:#a9c2aa}:root[data-theme=dark] .topbar .icon-button:hover,:root[data-theme=dark] .theme-toggle,:root[data-theme=dark] .secondary-button,:root[data-theme=dark] .today-button,:root[data-theme=dark] .icon-button.small,:root[data-theme=dark] .small-add-button,:root[data-theme=dark] .modal-close,:root[data-theme=dark] .calendar-filters select,:root[data-theme=dark] .course-create-panel input,:root[data-theme=dark] .form-card input,:root[data-theme=dark] .form-card select,:root[data-theme=dark] .form-card textarea{background:#1d1c1a;color:#e1ddd4;border-color:#45433d}:root[data-theme=dark] .theme-toggle:hover,:root[data-theme=dark] .secondary-button:hover,:root[data-theme=dark] .today-button:hover,:root[data-theme=dark] .icon-button.small:hover,:root[data-theme=dark] .small-add-button:hover{background:#302e29}:root[data-theme=dark] .calendar-toolbar,:root[data-theme=dark] .list-panel-heading,:root[data-theme=dark] .management-heading,:root[data-theme=dark] .calendar-note,:root[data-theme=dark] .profile-row,:root[data-theme=dark] .empty-inline,:root[data-theme=dark] .event-row,:root[data-theme=dark] .missing-row,:root[data-theme=dark] .cohort-dates,:root[data-theme=dark] .management-card-bottom,:root[data-theme=dark] .rule-row,:root[data-theme=dark] .rule-footnote,:root[data-theme=dark] .civic-list-section,:root[data-theme=dark] .civic-row,:root[data-theme=dark] .detail-actions{border-color:#393731}:root[data-theme=dark] .calendar-view-toggle,:root[data-theme=dark] .calendar-filters select,:root[data-theme=dark] .course-create-panel input,:root[data-theme=dark] .form-card input,:root[data-theme=dark] .form-card select,:root[data-theme=dark] .form-card textarea,:root[data-theme=dark] .course-checks,:root[data-theme=dark] .module-editor,:root[data-theme=dark] .detail-meta{border-color:#403e38}:root[data-theme=dark] .calendar-view-toggle{background:#1d1c1a}:root[data-theme=dark] .day-cell{background:#242320;border-color:#34332e}:root[data-theme=dark] .day-cell.outside{background:#201f1c}:root[data-theme=dark] .day-number,:root[data-theme=dark] .event-date strong,:root[data-theme=dark] .event-row-title strong,:root[data-theme=dark] .civic-copy strong,:root[data-theme=dark] .cohort-dates strong,:root[data-theme=dark] .module-editor-heading strong,:root[data-theme=dark] .course-checks label,:root[data-theme=dark] .detail-meta strong,:root[data-theme=dark] .detail-date{color:#d0ccc2}:root[data-theme=dark] .calendar-empty .empty-ornament,:root[data-theme=dark] .module-editor,:root[data-theme=dark] .detail-meta{background:#1e1d1a}:root[data-theme=dark] .calendar-chip.event-chip{background:#49323a;color:#f0bfcc}:root[data-theme=dark] .calendar-chip.status-confirmed,:root[data-theme=dark] .status-pill.status-confirmed,:root[data-theme=dark] .verified-pill,:root[data-theme=dark] .empty-line-icon.success{background:#2c3a2e;color:#b1cbb2}:root[data-theme=dark] .calendar-chip.status-realized,:root[data-theme=dark] .status-pill.status-realized{background:#303640;color:#c0c8d6}:root[data-theme=dark] .calendar-chip.status-cancelled,:root[data-theme=dark] .status-pill.status-cancelled{background:#33312c;color:#aaa69c}:root[data-theme=dark] .calendar-chip.needs-review,:root[data-theme=dark] .review-pill,:root[data-theme=dark] .inline-warning,:root[data-theme=dark] .detail-warning{background:#403321;color:#e2bc83;border-color:#5a482c}:root[data-theme=dark] .civic-chip,:root[data-theme=dark] .civic-date-mark,:root[data-theme=dark] .detail-icon.civic{background:#2c382a;color:#b7c9ad}:root[data-theme=dark] .event-chip,:root[data-theme=dark] .status-pill,:root[data-theme=dark] .provisional-pill,:root[data-theme=dark] .course-glyph,:root[data-theme=dark] .detail-icon{background:#49323a;color:#efc1ce}:root[data-theme=dark] .summary-icon.amber,:root[data-theme=dark] .empty-line-icon.warning{background:#403321;color:#dfbb86}:root[data-theme=dark] .summary-icon.sage{background:#2c3a2e;color:#b1cbb2}:root[data-theme=dark] .summary-icon.slate,:root[data-theme=dark] .rule-glyph{background:#303640;color:#c0c8d6}:root[data-theme=dark] .summary-icon.burgundy{background:#49323a;color:#efc1ce}:root[data-theme=dark] .count-pill{background:#343129;color:#d0c6a7}:root[data-theme=dark] .error-banner{background:#3b2925;border-color:#60413a;color:#e0a998}:root[data-theme=dark] .offline-agenda-indicator{background:#302e29;border-color:#555047;color:#d5cdbd}:root[data-theme=dark] .offline-agenda-dot{background:#d39a56}:root[data-theme=dark] .toast{color:#e1ddd4;box-shadow:0 8px 30px #0008}:root[data-theme=dark] .course-create-panel p,:root[data-theme=dark] .event-row-edit,:root[data-theme=dark] .text-button,:root[data-theme=dark] .source-link{color:#d09bab}:root[data-theme=dark] .form-card>label,:root[data-theme=dark] .form-grid>label,:root[data-theme=dark] .course-checks legend,:root[data-theme=dark] .module-row label{color:#b4afa4}:root[data-theme=dark] .module-row,:root[data-theme=dark] .course-checks{border-color:#403e38}:root[data-theme=dark] :focus-visible{outline:2px solid #d09bab;outline-offset:2px}@media(max-width:1100px){.day-cell{min-height:100px}.calendar-filters label{min-width:130px}.management-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.status-pill,.review-pill,.provisional-pill{font-size:6px;padding:0 5px}}@media(max-width:760px){.sidebar{z-index:31;transition:transform .2s ease}.sidebar.sidebar-open{transform:translate(0)}.sidebar-scrim{position:fixed;z-index:30;inset:0;display:block;border:0;background:#24211e63}.heading-actions{gap:5px}.heading-actions .secondary-button{min-height:34px;padding:0 8px;font-size:0}.heading-actions .secondary-button svg{width:16px}.calendar-filters{gap:7px;padding:10px}.calendar-filters label{min-width:calc(50% - 4px);flex:1}.calendar-view-toggle{margin-left:0}.calendar-toolbar{min-height:50px}.calendar-legend{gap:8px;font-size:7px}.day-cell{min-height:84px;padding:4px 3px}.day-heading{min-height:19px}.day-number{width:18px;height:18px;font-size:8px}.calendar-chip{padding:3px;font-size:6px}.chip-mark{font-size:8px}.day-items{gap:2px}.calendar-note{align-items:flex-start;padding:8px 10px;font-size:7px;line-height:1.4}.calendar-note svg{flex:0 0 auto}.event-row{align-items:flex-start;flex-wrap:wrap}.event-row-main{flex-wrap:wrap;gap:5px 7px}.event-date{width:100%;flex:0 0 100%;flex-direction:row;align-items:center;gap:7px}.event-row-title{flex:1 1 65%}.event-row-edit{margin-left:auto}.status-pill,.review-pill,.provisional-pill{font-size:6px}.civic-list{grid-template-columns:1fr}.course-create-panel{align-items:stretch;flex-direction:column}.course-create-panel form{width:100%}.management-grid{grid-template-columns:1fr;padding:10px}.management-card{padding:12px}.management-heading{align-items:flex-start}.rule-row{gap:8px}.rule-row>.secondary-button{padding:0 8px}.modal-backdrop{align-items:end;padding:0}.modal-card{width:100%;max-height:92vh;padding:22px 17px calc(18px + env(safe-area-inset-bottom));border-radius:12px 12px 0 0}.form-grid{gap:9px}.module-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 28px}.module-row>input{grid-column:1 / -2}.module-row label:first-of-type{grid-column:1}.module-row label:last-of-type{grid-column:2}.module-row .remove-button{grid-column:3;grid-row:1 / span 2;align-self:center}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b5758a;outline-offset:2px}.calendar-summary-line{min-height:20px;margin:-11px 0 7px;color:#777168;font-size:12px}.summary-grid{gap:10px;margin-bottom:12px}.summary-card{min-height:82px;padding:11px 13px}.summary-top{font-size:12px}.summary-foot{font-size:11px;color:#78736a}.calendar-filters{align-items:end;gap:10px}.calendar-filters label{min-width:145px;gap:6px;color:#706b62;font-size:12px}.calendar-filters select{min-height:40px;font-size:14px}.calendar-view-toggle{min-height:44px;align-items:center}.calendar-view-toggle button{min-height:36px;padding:0 9px;font-size:13px}.search-field{flex:1 1 190px}.search-input{position:relative;display:flex;align-items:center;min-height:40px;padding-left:10px;border:1px solid #ece9e3;border-radius:6px;background:#fffefa;color:#817c72}.search-input input{width:100%;min-width:0;height:38px;padding:0 9px;border:0;background:transparent;color:#4a4740;font-size:14px}.calendar-utilities{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.calendar-utilities .secondary-button{min-height:40px;font-size:12px}.backup-menu{position:relative;z-index:4}.backup-menu summary{display:flex;align-items:center;min-height:40px;padding:0 12px;border:1px solid #e6e2da;border-radius:6px;background:#fffefa;color:#625e56;font-size:12px;font-weight:600;cursor:pointer}.backup-menu[open]{min-width:145px}.backup-menu>a,.backup-menu>button,.restore-label{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 10px;border:0;background:var(--paper);color:var(--ink);font:inherit;font-size:13px;cursor:pointer}.restore-label input{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}.clear-filters{min-height:40px;padding:0 8px;font-size:12px}.day-cell{min-height:112px}.day-heading{gap:4px}.day-add{display:inline-grid;place-items:center;width:28px;height:28px;margin-left:auto;border:1px solid transparent;border-radius:6px;background:transparent;color:#82796e;cursor:pointer;opacity:.45}.day-cell:hover .day-add,.day-add:focus-visible{opacity:1}.calendar-chip{min-height:26px;padding:4px 5px;font-size:11px;line-height:1.25;white-space:normal;overflow-wrap:anywhere}.chip-mark{font-size:12px}.more-events{display:inline-flex;align-items:center;width:fit-content;min-height:28px;padding:0 5px;border:0;background:transparent;color:#6d5b5b;font-size:12px;text-decoration:underline;cursor:pointer}.day-cell:has(.more-events[aria-expanded=true]){min-height:max-content}.event-date strong,.event-row-title strong{font-size:13px}.event-date small,.event-row-title small{font-size:11px}.event-row{min-height:58px}.event-row-main{min-height:44px}.event-row-edit,.text-button{min-height:40px;padding:6px 8px;font-size:12px}.status-pill,.review-pill,.provisional-pill{min-height:26px;font-size:10px}.missing-row{gap:10px}.missing-row strong,.missing-row small,.empty-inline strong{font-size:12px}.empty-inline small{font-size:11px}.management-card h3{font-size:16px}.management-card>p,.cohort-dates small,.cohort-dates strong{font-size:12px}.cohort-dates strong{overflow-wrap:anywhere}.secondary-button,.primary-button{min-height:44px;height:auto;padding:8px 13px;font-size:13px}.modal-card{max-height:min(92vh,900px)}.modal-card h2{font-size:22px}.form-card label,.form-grid>label{font-size:13px}.form-card input,.form-card select,.form-card textarea{min-height:42px;height:auto;padding:8px 10px;font-size:14px}.form-card textarea{min-height:82px}.module-editor-heading strong{font-size:14px}.module-editor-heading small,.quiet-note,.module-row label{font-size:12px}.module-row label input{font-size:14px}.slot-row{grid-template-columns:1.3fr 1fr 1fr auto}.detail-date{font-size:14px}.detail-meta small{font-size:12px}.detail-meta strong{font-size:13px}.detail-warning,.source-link{font-size:12px}.preparation-panel{margin-top:17px;padding-top:15px;border-top:1px solid var(--line)}.preparation-panel h3{font-size:16px}.starter-tasks{margin-top:12px}.task-list{display:grid;gap:4px;margin:12px 0;padding:0;list-style:none}.task-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.task-list label{display:flex;align-items:flex-start;gap:10px}.task-list input{width:18px;height:18px;margin-top:2px;accent-color:var(--wine)}.task-list label span{display:grid;gap:3px}.task-list strong{font-size:13px}.task-list small{color:#817c72;font-size:12px}.task-list .task-done strong{text-decoration:line-through;opacity:.68}.task-list li>span{color:#7a7469;font-size:11px}.priority-high{color:#a34e50!important}.task-create-form{display:grid;grid-template-columns:2fr 1fr 1fr auto;align-items:end;gap:8px;margin-top:12px}.task-create-form label{display:grid;gap:4px;color:#706b62;font-size:11px}.task-create-form input{width:100%;min-width:0;min-height:40px;padding:6px 8px;border:1px solid #e7e3dc;border-radius:5px;background:var(--paper);color:var(--ink);font-size:13px}.inline-error{margin-top:8px;color:#a04f4f;font-size:12px}.period-title{margin-top:4px;color:#34312b;font-size:16px;text-transform:capitalize}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line)}.week-day{display:flex;flex-direction:column;gap:8px;min-width:0;min-height:190px;padding:10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.week-day:nth-child(7n){border-right:0}.week-day>header{display:flex;justify-content:space-between;align-items:center;gap:5px;text-transform:capitalize}.week-day>header span{color:#767065;font-size:12px}.week-day>header strong{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#f3efea;font-size:14px}.week-item{display:grid;gap:4px;width:100%;padding:8px;border:1px solid #e9e4dc;border-radius:6px;text-align:left;cursor:pointer}.week-item b,.week-item span{font-size:12px}.week-item small{color:#746f66;font-size:11px}.week-add{min-height:36px;margin-top:auto;border:1px dashed #d7d1c7;border-radius:5px;background:transparent;color:#746e64;font-size:12px;cursor:pointer}.agenda-days{padding:0 16px}.agenda-day{padding:13px 0;border-top:1px solid var(--line)}.agenda-day>header{display:flex;align-items:center;gap:12px;text-transform:capitalize}.agenda-day>header strong{min-width:92px;font-size:14px}.agenda-day>header span{color:#767065;font-size:13px}.agenda-day>header .text-button{margin-left:auto}.agenda-day-items{display:grid;gap:6px;margin-top:8px}.agenda-item{display:grid;gap:4px;padding:10px 12px;border:1px solid #e9e5dd;border-radius:6px;background:var(--paper);text-align:left;cursor:pointer}.agenda-item strong{font-size:13px}.agenda-item span{color:#746f66;font-size:12px}.civic-agenda-item{border-left:3px solid #879a81}.sr-only+.modal-close{z-index:1}@media(max-width:1100px){.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.summary-card{min-width:0;padding:9px}.summary-top{font-size:11px}.calendar-filters label{min-width:125px}}@media(max-width:760px){.page-wrap{padding:20px 12px 16px}.topbar{padding:0 12px}.page-heading{flex-direction:column;align-items:stretch;margin-bottom:15px}h1{font-size:24px}.heading-actions{width:100%;justify-content:flex-end}.heading-actions .primary-button,.heading-actions .secondary-button{width:auto;min-width:44px;min-height:44px;padding:8px 12px;overflow:visible;font-size:13px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-card{min-height:74px;padding:9px}.summary-top{font-size:11px}.summary-value{font-size:20px}.summary-foot{font-size:10px}.calendar-filters{align-items:stretch}.calendar-filters label{flex:1 1 calc(50% - 8px);min-width:min(145px,100%)}.search-field{flex-basis:100%!important}.calendar-view-toggle{margin-left:0;justify-content:space-around;flex:1 1 100%}.calendar-view-toggle button{flex:1}.calendar-utilities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.calendar-utilities>*,.calendar-utilities button,.backup-menu summary{width:100%;justify-content:center}.backup-menu{grid-column:span 2}.backup-menu>a,.backup-menu>button,.restore-label{justify-content:center}.day-cell{min-height:82px;padding:4px}.calendar-chip{min-height:25px;padding:3px;font-size:10px}.day-number{font-size:11px}.day-add{width:26px;height:26px;opacity:1}.week-grid{grid-template-columns:1fr}.week-day{min-height:130px;border-right:0}.week-day>header{justify-content:flex-start;gap:10px}.task-create-form{grid-template-columns:1fr 1fr}.task-create-form label:first-child{grid-column:1 / -1}.task-create-form button{min-height:42px}.slot-row{grid-template-columns:1.3fr 1fr 1fr auto}.page-footer{gap:8px;flex-wrap:wrap;font-size:10px}}@media(max-width:420px){.local-badge{padding:5px;font-size:8px}.theme-toggle{min-width:60px}.heading-actions{justify-content:flex-start}.recalc-button,.heading-actions .primary-button{flex:1}.slot-row{grid-template-columns:1fr 1fr}.slot-row .remove-button{justify-self:end}.agenda-day>header{flex-wrap:wrap}.agenda-day>header strong{min-width:78px}}@media print{.sidebar,.topbar,.heading-actions,.calendar-filters,.calendar-utilities,.bottom-grid,.page-footer,.day-add,.day-empty,.week-add,.more-events{display:none!important}.app-shell,.main-content{display:block;min-height:auto}.page-wrap{max-width:none;padding:0}.calendar-panel,.summary-card{break-inside:avoid;box-shadow:none}body{background:#fff;color:#000}}@media(max-width:1100px){.event-row,.event-row-main{min-width:0;width:100%}.event-row-main{flex-wrap:wrap;gap:6px}.event-date{width:102px;flex-basis:102px}.event-row-title{flex-basis:calc(100% - 112px)}.event-row-arrow{display:none}.event-row-edit{flex-shrink:0}}.task-create-form{grid-template-columns:minmax(140px,2fr) minmax(110px,1fr) minmax(120px,1fr) minmax(95px,.8fr) auto}:root[data-theme=dark] .calendar-summary-line,:root[data-theme=dark] .week-day>header span,:root[data-theme=dark] .agenda-day>header span,:root[data-theme=dark] .week-item small,:root[data-theme=dark] .agenda-item span,:root[data-theme=dark] .task-list small,:root[data-theme=dark] .task-list li>span,:root[data-theme=dark] .task-create-form label,:root[data-theme=dark] .quiet-note{color:#c4beb3}:root[data-theme=dark] .search-input,:root[data-theme=dark] .search-input input,:root[data-theme=dark] .backup-menu summary,:root[data-theme=dark] .backup-menu>a,:root[data-theme=dark] .backup-menu>button,:root[data-theme=dark] .restore-label,:root[data-theme=dark] .agenda-item{background:#242320;color:#e6e0d5;border-color:#49463e}:root[data-theme=dark] .week-day>header strong{background:#38352f;color:#eeeae1}:root[data-theme=dark] .week-add{border-color:#575248;color:#ddd6ca}:root[data-theme=dark] .more-events{color:#e3c3cd}:root[data-theme=dark] .calendar-summary-line{color:#c4beb3}.bottom-grid{grid-template-columns:minmax(0,1.2fr) repeat(2,minmax(0,1fr))}.overdue-list{display:grid;gap:2px;margin:10px 0 0;padding:0;list-style:none}.overdue-list li{min-width:0;border-top:1px solid var(--line)}.overdue-list button{display:grid;width:100%;min-width:0;gap:3px;padding:8px 0;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.overdue-list button:hover strong{color:var(--wine)}.overdue-list strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.overdue-list span{overflow:hidden;color:#817c72;font-size:10px;text-overflow:ellipsis;white-space:nowrap}:root[data-theme=dark] .overdue-list span{color:#c4beb3}@media(max-width:1100px){.bottom-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overdue-panel{grid-column:1 / -1}}@media(max-width:760px){.bottom-grid{grid-template-columns:1fr}.overdue-panel{grid-column:auto}}@media(max-width:760px){.task-create-form{grid-template-columns:1fr 1fr}.task-create-form label:first-child{grid-column:1 / -1}}.day-number-mobile,.mobile-day-count,.mobile-day-details{display:none}.activity-library{display:grid;gap:16px}.activity-library-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:17px 18px;border:1px solid var(--line);border-radius:9px;background:var(--paper)}.activity-library-toolbar h2{margin-top:5px;color:var(--ink);font:700 17px/1.25 system-ui,sans-serif;letter-spacing:-.035em}.activity-library-toolbar p{margin-top:5px;color:var(--muted);font-size:11px;line-height:1.5}.activity-search{width:min(340px,42%);min-height:38px;flex:0 0 auto;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--muted)}.activity-search input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-size:11px}.activity-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.activity-card{min-width:0;padding:15px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.activity-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.activity-course{color:var(--wine);font-size:9px;font-weight:700;line-height:1.45}.activity-status{flex:0 0 auto;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:700}.activity-status.status-usual{background:#edf3ee;color:#5d816b}.activity-status.status-suggested{background:#f7f0e4;color:#9b743d}.activity-status.status-coordination{background:#eef0f4;color:#6a7184}.activity-card h3{margin-top:11px;color:var(--ink);font-size:13px;line-height:1.4}.activity-timing{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.activity-timing small{color:var(--muted);font-size:8px;font-weight:700;letter-spacing:.1em}.activity-timing p,.activity-details{margin-top:4px;color:var(--ink);font-size:11px;line-height:1.55;overflow-wrap:anywhere}.activity-details{margin-top:8px;color:var(--muted)}.activity-source{color:var(--muted);font-size:9px}.activity-empty{padding:28px;border:1px dashed var(--line);border-radius:8px;color:var(--muted);background:var(--paper);text-align:center;font-size:12px}.reference-section{display:grid;gap:12px;margin-top:12px}.reference-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:16px 18px;border:1px solid var(--line);border-radius:9px;background:var(--paper)}.reference-heading h2{margin-top:5px;color:var(--ink);font:700 17px/1.25 system-ui,sans-serif;letter-spacing:-.035em}.reference-heading p{margin-top:5px;color:var(--muted);font-size:11px;line-height:1.5}.reference-count{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:var(--surface);color:var(--muted);font-size:9px;font-weight:700}.monthly-guidance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.monthly-guidance-card,.reference-source-card{min-width:0;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.monthly-guidance-top{display:flex;align-items:center;gap:8px}.monthly-guidance-top>span{color:var(--wine);font:700 10px/1 system-ui,sans-serif}.monthly-guidance-top strong{color:var(--ink);font-size:11px}.monthly-guidance-top small{margin-left:auto;color:var(--muted);font-size:8px}.monthly-guidance-card>p{margin-top:11px;color:var(--ink);font:600 12px/1.5 Georgia,serif}.monthly-reflection{margin-top:10px;padding-top:9px;border-top:1px solid var(--line)}.monthly-reflection small{color:var(--muted);font-size:8px;font-weight:700;letter-spacing:.08em}.monthly-reflection p,.reference-source-card p,.editorial-criteria p{margin-top:4px;color:var(--muted);font-size:10px;line-height:1.5}.reference-details{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.reference-details summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;color:var(--ink);cursor:pointer;font-size:11px;font-weight:700;list-style-position:inside}.reference-details summary span{color:var(--muted);font-size:9px;font-weight:500}.reference-details-content{display:grid;gap:14px;padding:0 14px 14px}.reference-source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.reference-source-card{padding:11px}.reference-source-card h3,.editorial-criteria h3{color:var(--ink);font-size:10px;line-height:1.45}.editorial-criteria{padding:13px;border-radius:7px;background:var(--surface)}.editorial-criteria p+p{margin-top:7px}:root[data-theme=dark] .activity-status.status-usual{background:#24372b;color:#b4d2ba}:root[data-theme=dark] .activity-status.status-suggested{background:#3a3020;color:#e4c894}:root[data-theme=dark] .activity-status.status-coordination{background:#292d39;color:#c5cce0}@media(max-width:1050px){.activity-card-grid,.monthly-guidance-grid,.reference-source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.account-strip{min-height:42px;flex-wrap:wrap;justify-content:space-between;gap:7px;padding:6px 12px;font-size:10px}.account-strip>span:nth-child(2){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-card{padding:25px 21px}.activity-library-toolbar{align-items:stretch;flex-direction:column;padding:14px}.reference-heading{align-items:flex-start;padding:14px}.monthly-guidance-grid,.reference-source-grid{grid-template-columns:1fr;gap:8px}.monthly-guidance-card,.reference-source-card{padding:13px}.reference-details summary{align-items:flex-start;flex-direction:column;gap:4px}.reference-details-content{padding:0 10px 10px}.activity-search{width:100%;min-height:42px}.activity-card-grid{grid-template-columns:1fr;gap:9px}.activity-card{padding:14px}}@media(max-width:760px){.breadcrumbs{min-width:0;flex:1;gap:6px;white-space:nowrap}.breadcrumbs>span:first-child{white-space:nowrap}.topbar-actions{flex:0 0 auto}.calendar-toolbar{min-height:0;flex-direction:column;align-items:stretch;gap:9px;padding:12px}.month-switcher{width:100%;justify-content:space-between;gap:8px}.month-switcher h2{font-size:16px}.month-controls{flex:0 0 auto;gap:4px}.icon-button.small{width:38px;height:38px}.today-button{height:38px;margin:0;font-size:12px}.calendar-legend{flex-wrap:wrap;gap:9px 12px;font-size:10px}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.weekday{height:32px;font-size:10px}.day-cell{min-width:0;height:54px;min-height:54px;display:grid;grid-template-rows:1fr 8px;align-content:center;overflow:hidden;padding:2px 0 4px}.day-heading{min-height:0;justify-content:center;gap:0}.day-number-desktop,.day-add,.today-label,.day-items{display:none}.day-number-mobile{width:34px;height:34px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:var(--ink);font-size:12px;cursor:pointer;touch-action:manipulation}.day-cell.today .day-number-mobile{background:var(--wine);color:#fff;font-weight:700}.day-cell.mobile-selected:not(.today) .day-number-mobile{background:#f2e8eb;color:var(--wine-dark);font-weight:700}.mobile-day-count{min-height:8px;display:grid;place-items:center;color:var(--wine);font-size:8px;font-weight:700;line-height:1}.day-cell.outside{opacity:.5}.mobile-day-details{display:block;padding:13px 14px;border-top:1px solid var(--line);background:var(--paper)}.mobile-day-details>header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.mobile-day-details h3{margin:0;font-size:15px;font-weight:700;text-transform:capitalize}.mobile-day-details header button{min-height:40px;flex:0 0 auto}.mobile-day-items{display:grid;gap:7px}.mobile-day-entry{width:100%;display:grid;gap:3px;padding:9px 11px;border:1px solid var(--line);border-left:3px solid var(--wine);border-radius:6px;background:var(--paper);color:var(--ink);text-align:left;cursor:pointer}.mobile-day-entry.civic-entry{border-left-color:#879a81}.mobile-day-entry strong{font-size:13px;line-height:1.35;overflow-wrap:anywhere}.mobile-day-entry small{color:var(--muted);font-size:11px}.mobile-day-items p{margin:2px 0 4px;color:var(--muted);font-size:12px}.calendar-note{align-items:flex-start;padding:10px 12px;font-size:11px;line-height:1.45}}@media(max-width:360px){.month-switcher h2{font-size:14px}.month-controls{gap:2px}.icon-button.small{width:34px;height:34px}.today-button{height:34px;padding:0 7px;font-size:11px}.day-cell{height:50px;min-height:50px}.day-number-mobile{width:30px;height:30px}}.nav-count{margin-left:auto;min-width:1.4rem;padding:.08rem .38rem;border-radius:99px;background:#f2e8eb;color:var(--wine);text-align:center;font-size:.68rem;font-weight:700}.workspace-panel{margin-top:.5rem}.workspace-list,.team-user-list{display:grid;gap:.55rem}.workspace-row,.team-user-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.workspace-row-main{display:grid;gap:.25rem;flex:1;text-align:left;color:var(--ink);background:transparent;border:0;cursor:pointer}.workspace-row>div,.team-user-row>span:nth-child(2){display:grid;gap:.25rem}.workspace-row strong,.team-user-row strong{color:var(--ink);font-size:.9rem}.workspace-row span,.team-user-row small{color:var(--muted);font-size:.78rem}.notification-row{border-left:3px solid var(--accent)}.notification-read{opacity:.68;border-left-color:var(--line)}.invite-form{display:grid;grid-template-columns:minmax(0,1fr) 10rem auto;align-items:end;gap:.7rem;margin:1rem 0 1.2rem}.invite-form label,.assign-task-control{display:grid;gap:.35rem;color:var(--muted);font-size:.76rem}.invite-form input,.invite-form select,.assign-task-control select{min-width:0;min-height:40px;padding:.55rem .65rem;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);font:inherit}.invite-form button{min-height:40px}.invite-link-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.65rem;margin:.8rem 0 1rem;padding:.85rem;border:1px solid var(--line);border-radius:11px;background:var(--paper)}.invite-link-panel p{grid-column:1 / -1;margin:0;color:var(--muted);font-size:.82rem}.invite-link-panel label{display:grid;min-width:0;gap:.3rem;color:var(--muted);font-size:.76rem}.invite-link-panel input{width:100%;min-width:0;min-height:40px;padding:.55rem .65rem;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);font:inherit}.invite-link-panel button{min-height:40px}.team-user-row{justify-content:flex-start}.team-user-row .avatar{flex:0 0 auto}.role-pill{margin-left:auto;padding:.28rem .55rem;border-radius:99px;color:var(--muted);background:#f2f0eb;font-size:.72rem}.team-invite-note{color:var(--muted);font-size:.82rem}.public-calendar-preview{width:min(100% - 2rem,660px);margin:0 auto 2rem;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink)}.public-calendar-preview summary{display:flex;align-items:center;gap:.55rem;font-weight:700;cursor:pointer;list-style:none}.public-calendar-preview summary::-webkit-details-marker{display:none}.public-calendar-preview details>p{color:var(--muted);font-size:.84rem}.public-calendar-list{display:grid;gap:.4rem;margin:.8rem 0}.public-calendar-list article{display:grid;grid-template-columns:10rem minmax(0,1fr);gap:.8rem;padding:.65rem .7rem;border-radius:9px;background:#f7f6f3}.public-calendar-list article>span{color:var(--wine);font-size:.8rem}.public-calendar-list article div{display:grid;gap:.2rem}.public-calendar-list strong{color:var(--ink);font-size:.84rem}.public-calendar-list small,.public-calendar-caption{color:var(--muted);font-size:.73rem}.public-calendar-caption{display:block;margin:.8rem 0 0}.public-calendar-error{color:var(--wine)}.notification-preferences{display:grid;grid-template-columns:minmax(10rem,1fr) auto auto;align-items:center;gap:.8rem 1rem;margin:1rem 0 1.2rem;padding:1rem;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.notification-preferences>div{display:grid;gap:.25rem}.notification-preferences>div strong{color:var(--ink);font-size:.9rem}.notification-preferences>div small{color:var(--muted);font-size:.75rem}.notification-preferences>label:not(.push-preference){display:flex;align-items:center;gap:.5rem;color:var(--muted);font-size:.78rem}.notification-preferences select{min-height:38px;padding:.4rem .5rem;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font:inherit}.notification-preferences fieldset{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem .85rem;grid-column:1 / -1;margin:0;padding:.65rem .75rem;border:1px solid var(--line);border-radius:9px;color:var(--muted);font-size:.76rem}.notification-preferences legend{padding:0 .25rem}.notification-preferences fieldset label,.notification-preferences .push-preference{display:inline-flex;align-items:center;gap:.35rem;color:var(--muted);font-size:.76rem}.notification-preferences>button{justify-self:end}.team-user-inactive{opacity:.68}.task-assignment-copy{display:grid;gap:.35rem;flex:1}.task-assignment-copy label{display:flex;align-items:flex-start;gap:.6rem}.assignment-chip{display:block;width:fit-content;margin-left:1.5rem;padding:.2rem .45rem;border-radius:99px;background:#f2f0eb;color:var(--muted)}.assign-task-control{width:100%;grid-template-columns:minmax(0,1fr) auto;align-items:center}.task-list li{flex-wrap:wrap}:root[data-theme=dark] .workspace-row,:root[data-theme=dark] .team-user-row{border-color:#383630;background:#24231f}:root[data-theme=dark] .workspace-row strong,:root[data-theme=dark] .team-user-row strong{color:#eeeae1}:root[data-theme=dark] .invite-form input,:root[data-theme=dark] .invite-form select,:root[data-theme=dark] .assign-task-control select{border-color:#46443d;background:#1d1c19;color:#eeeae1}:root[data-theme=dark] .role-pill,:root[data-theme=dark] .assignment-chip{background:#383630}:root[data-theme=dark] .notification-preferences{border-color:#383630;background:#24231f}:root[data-theme=dark] .public-calendar-preview{border-color:#383630;background:#24231f}:root[data-theme=dark] .public-calendar-list article{background:#1d1c19}:root[data-theme=dark] .public-calendar-list strong{color:#eeeae1}:root[data-theme=dark] .notification-preferences>div strong{color:#eeeae1}:root[data-theme=dark] .notification-preferences select{border-color:#46443d;background:#1d1c19;color:#eeeae1}:root[data-theme=dark] .notification-preferences fieldset{border-color:#46443d}@media(max-width:640px){.invite-form{grid-template-columns:1fr 1fr}.invite-form label:first-child{grid-column:1 / -1}.invite-form button{grid-column:1 / -1;justify-content:center}.invite-link-panel{grid-template-columns:1fr}.invite-link-panel p,.invite-link-panel label,.invite-link-panel button{grid-column:1}.workspace-row{align-items:flex-start}.team-user-row{gap:.65rem}.role-pill{font-size:.65rem}.notification-preferences{grid-template-columns:1fr}.notification-preferences fieldset{grid-column:auto}.notification-preferences>button{width:100%;justify-content:center}.public-calendar-list article{grid-template-columns:1fr;gap:.3rem}}
