:root{--columbia-blue:#9bddff;--columbia-blue-deep:#4fb3df;--navy:#041e42;--ink:#102033;--paper:#f7fbff;--white:#ffffff;--gold:#d7b46a;--soft-bg:#b9def2;--line:#c9ddea;--muted:#68798a;--shadow:0 22px 58px rgba(4,30,66,0.12)}*{box-sizing:border-box}html{min-height:100%;background:var(--soft-bg)}body{min-height:100vh;margin:0;color:var(--ink);font-family:Inter,SF Pro Display,SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.page-shell{min-height:100vh;overflow:hidden;background:radial-gradient(circle at 18% 22%,rgba(155,221,255,.44),transparent 28%),linear-gradient(135deg,rgba(4,30,66,.96),rgba(3,42,78,.92)),var(--navy)}.hero{position:relative;display:grid;min-height:100vh;grid-template-columns:minmax(0,1fr);align-items:center;grid-gap:48px;gap:48px;padding:112px clamp(20px,5vw,72px) 56px}.hero:before{inset:0;background:linear-gradient(115deg,rgba(4,30,66,.82),rgba(4,30,66,.68) 44%,rgba(4,30,66,.22)),url(https://gocolumbialions.com/images/2023/11/11/MSWIM_Yale_Celebration.jpg);background-position:50%;background-size:cover;opacity:.72}.hero:after,.hero:before{position:absolute;content:""}.hero:after{right:-12vw;bottom:-10vw;width:58vw;height:58vw;min-width:520px;min-height:520px;border:1px solid rgba(155,221,255,.24);border-radius:50%;background:repeating-radial-gradient(circle,rgba(155,221,255,.16) 0 2px,transparent 2px 24px)}.topbar{position:absolute;z-index:3;top:0;right:0;left:0;display:flex;justify-content:space-between;padding:28px clamp(20px,5vw,72px)}.brand,.topbar{align-items:center}.brand{display:inline-flex;min-height:40px;color:var(--white);font-size:18px;font-weight:800}.brand:before{display:inline-grid;width:32px;height:32px;margin-right:10px;place-items:center;border:2px solid var(--columbia-blue);color:var(--columbia-blue);content:"C";font-weight:800}.nav-links{display:flex;align-items:center;gap:18px;color:rgba(247,251,255,.86);font-size:14px;font-weight:760}.nav-pill{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 16px;border:1px solid rgba(155,221,255,.5);background:rgba(155,221,255,.1)}.hero__content{position:relative;z-index:2;max-width:820px}.eyebrow,.panel-kicker{margin:0 0 14px;color:var(--columbia-blue);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.hero h1{margin:0;color:var(--white);letter-spacing:0;text-transform:none}.home-title{display:flex;align-items:baseline;gap:clamp(12px,2vw,24px);max-width:100%;font-size:clamp(46px,6.5vw,92px);line-height:.95;white-space:nowrap}.home-title span{color:rgba(155,221,255,.9);font-size:clamp(18px,2.1vw,30px);font-weight:760;text-transform:lowercase}.emblem-link{display:inline-flex;align-items:center;gap:14px;min-height:66px;margin-bottom:28px;padding:8px 18px 8px 10px;border:1px solid rgba(155,221,255,.65);background:rgba(155,221,255,.16);color:var(--white);font-size:14px;font-weight:760;box-shadow:0 18px 50px rgba(0,0,0,.24)}.emblem-link img{width:50px;height:50px;object-fit:contain;filter:drop-shadow(0 16px 28px rgba(0,0,0,.34))}.lede{max-width:620px;margin:28px 0 0;color:rgba(247,251,255,.82);font-size:clamp(18px,2.3vw,25px);line-height:1.45}.site-disclaimer{max-width:600px;margin:18px 0 0;color:rgba(205,215,226,.68);font-size:14px;line-height:1.5}.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;min-width:132px;min-height:48px;padding:0 20px;border:1px solid rgba(255,255,255,.22);font-size:14px;font-weight:760}.button--primary{border-color:var(--navy);background:var(--navy);color:var(--white)}.button--secondary{border-color:rgba(255,255,255,.42);background:rgba(255,255,255,.12);color:var(--white)}.feature-panel{position:relative;z-index:2;align-self:end;padding:26px;border:1px solid rgba(155,221,255,.3);background:rgba(4,30,66,.72);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.panel-emblem{display:block;width:min(190px,70%);height:auto;margin:0 auto 28px;opacity:.94;filter:drop-shadow(0 20px 38px rgba(0,0,0,.36))}.feature-panel h2{margin:0 0 16px;color:var(--white);font-size:30px;line-height:1.05;letter-spacing:0}.feature-panel p:not(.panel-kicker){margin:0;color:rgba(247,251,255,.88);font-size:15px;line-height:1.55}.hero__watermark{position:absolute;z-index:1;right:clamp(14px,6vw,84px);top:17vh;color:rgba(155,221,255,.11);font-size:clamp(180px,32vw,420px);font-weight:900;line-height:1}.auth-shell{position:relative;display:grid;min-height:100vh;place-items:center;padding:32px 18px;overflow:hidden;background:var(--navy)}.auth-backdrop{position:absolute;inset:0;z-index:0;pointer-events:none;filter:blur(7px)}.auth-backdrop .page-shell{min-height:100%}.auth-shell:before{background:rgba(4,30,66,.18)}.auth-shell:after,.auth-shell:before{position:absolute;inset:0;z-index:1;content:""}.auth-shell:after{background:rgba(247,251,255,.06)}.auth-panel{position:relative;z-index:2;width:min(100%,460px);padding:34px;border:1px solid rgba(255,255,255,.58);border-radius:22px;background:rgba(255,255,255,.92);box-shadow:0 28px 72px rgba(4,30,66,.28);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.auth-panel--wide{width:min(100%,760px)}.auth-panel--signup{width:min(100%,430px);padding:20px 24px}.auth-panel--signup .auth-topline{margin-bottom:14px}.auth-panel--signup h1{font-size:32px}.auth-panel--signup .auth-note{margin:8px 0 12px;font-size:14px;line-height:1.35}.auth-panel--signup .auth-form{gap:7px}.auth-panel--signup .auth-form label{gap:4px;font-size:12px}.auth-panel--signup .auth-form input,.auth-panel--signup .auth-form select{min-height:34px;border-radius:10px;padding-inline:10px}.auth-panel--signup .auth-form select{background-position:calc(100% - 16px) 15px,calc(100% - 11px) 15px,0 0}.auth-panel--signup .auth-form button{min-height:38px;margin-top:3px}.auth-panel--signup .auth-switch{margin-top:10px}.app-shell .eyebrow,.auth-panel .eyebrow{color:#2378a2}.auth-topline{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:38px}.auth-brand{display:inline-flex;align-items:center;min-height:42px;color:var(--navy);font-size:15px;font-weight:800}.app-header>.auth-brand,.auth-panel>.auth-brand{margin-bottom:34px}.back-link{display:inline-flex;color:var(--navy);font-size:14px;font-weight:700}.auth-brand:before{display:inline-grid;width:30px;height:30px;margin-right:12px;place-items:center;border:2px solid var(--columbia-blue);color:var(--navy);content:"C";font-weight:800}.auth-panel h1{margin:0;color:var(--navy);font-size:42px;line-height:1.02;letter-spacing:0;font-weight:760}.auth-note,.auth-switch{color:var(--muted);line-height:1.5}.auth-note{margin:16px 0 26px}.auth-form{display:grid;grid-gap:16px;gap:16px}.auth-form label{display:grid;grid-gap:8px;gap:8px;color:var(--navy);font-size:13px;font-weight:720}.auth-form input,.auth-form select,.auth-form textarea{width:100%;min-height:48px;border:1px solid var(--line);border-radius:14px;background:#fbfdff;color:var(--ink);font:inherit;padding:0 14px}.auth-form textarea{min-height:140px;padding:14px;resize:vertical}.auth-form select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(45deg,transparent 50%,var(--columbia-blue) 50%),linear-gradient(135deg,var(--columbia-blue) 50%,transparent 50%),#f9fcff;background-position:calc(100% - 18px) 21px,calc(100% - 13px) 21px,0 0;background-repeat:no-repeat;background-size:5px 5px,5px 5px,100% 100%}.auth-form select option{color:var(--ink)}.auth-form input:disabled{color:#8d9bab;cursor:not-allowed}.auth-form input::placeholder{color:#97a6b5}.auth-form textarea::placeholder{color:#97a6b5}.auth-form button{min-height:50px;margin-top:8px;border:0;border-radius:999px;background:var(--navy);color:var(--white);cursor:pointer;font:inherit;font-weight:760}.auth-form button:disabled{cursor:wait;opacity:.72}.auth-form .auth-form-secondary-button{margin-top:0;border:1px solid var(--line);background:#f9fcff;color:var(--navy)}.auth-switch{margin:22px 0 0;font-size:14px}.auth-switch a{color:var(--navy);font-weight:760}.auth-status{margin:4px 0 0;color:var(--muted);font-size:14px;line-height:1.45}.auth-status--success{padding:10px 12px;border:1px solid rgba(47,159,76,.22);border-radius:14px;background:#eefaf1;color:#1f7a39;font-weight:760}.auth-status--success a{color:#0f6330;text-decoration:underline;text-underline-offset:3px}.auth-empty{display:grid;grid-gap:16px;gap:16px}.name-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.approval-stack{display:grid;grid-gap:18px;gap:18px}.approval-team-select{display:grid;grid-gap:8px;gap:8px;color:var(--navy);font-size:13px;font-weight:900}.approval-team-select select{width:100%;min-height:48px;border:1px solid var(--line);border-radius:14px;background:#f9fcff;color:var(--ink);font:inherit;padding:0 14px}.approval-team-select option{color:var(--ink)}.approval-role-note{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid var(--line);border-radius:16px;color:var(--muted);font-size:14px;line-height:1.4}.approval-role-note span{color:var(--navy);font-weight:760;text-transform:capitalize}.approval-list{display:grid;grid-gap:12px;gap:12px}.roster-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.roster-section-heading h2{margin:0;color:var(--navy);font-size:20px;line-height:1}.roster-section-heading span,.roster-status-pill{display:inline-flex;align-items:center;min-height:28px;border-radius:999px;font-size:12px;font-weight:800;padding:0 10px}.roster-section-heading span{background:#eef7fc;color:#2378a2}.roster-year-group{display:grid;grid-gap:8px;gap:8px}.roster-year-group+.roster-year-group{margin-top:8px}.roster-year-group h3{margin:0;color:var(--navy);font-size:18px;line-height:1;letter-spacing:0;font-weight:800}.approval-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;grid-gap:16px;gap:16px;padding:16px;border:1px solid var(--line);border-radius:18px;background:#f9fcff}.roster-photo{display:grid;width:48px;height:48px;overflow:hidden;place-items:center;border:1px solid rgba(35,120,162,.18);border-radius:50%;background:#eef7fc;color:var(--navy);font-size:14px;font-weight:800}.roster-photo img{width:100%;height:100%;object-fit:cover}.approval-row h2{margin:0;color:var(--navy);font-size:20px;line-height:1.15;letter-spacing:0}.roster-member-info{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,.72fr);align-items:center;grid-gap:14px;gap:14px}.roster-member-info h2,.roster-member-info p{min-width:0}.approval-row p{margin:6px 0 8px;color:var(--muted);font-size:14px}.roster-member-info p{margin:0}.approval-row span{color:#2a81a8;font-size:13px;font-weight:760}.approval-row button{min-width:104px;min-height:42px;border:0;border-radius:999px;background:var(--columbia-blue);color:var(--ink);cursor:pointer;font:inherit;font-size:14px;font-weight:760}.approval-row button:disabled{cursor:not-allowed;opacity:.45}.roster-row-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px}.roster-status-pill{border:1px solid var(--line);background:#f2f6fa;color:var(--muted)}.roster-status-pill[data-status=pending]{border:1px solid rgba(215,180,106,.34);background:#fff8e8;color:#946b17}.roster-status-pill[data-status=active]{border:1px solid rgba(47,159,76,.22);background:#eefaf1;color:#1f7a39}.app-shell{min-height:100vh;padding:26px clamp(18px,4vw,56px) 56px;background:var(--soft-bg)}.app-nav{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1180px;margin:0 auto 18px;padding:12px 16px;border:1px solid rgba(255,255,255,.42);border-radius:999px;background:rgba(255,255,255,.9);box-shadow:0 16px 44px rgba(0,0,0,.2)}.app-brand{display:inline-flex;align-items:center;min-height:44px;color:var(--navy);font-size:16px;font-weight:800}.app-brand:before{display:inline-grid;width:34px;height:34px;margin-right:12px;place-items:center;border:2px solid var(--columbia-blue);color:var(--navy);content:"C"}.app-nav-links{display:flex;align-items:center;gap:8px;color:var(--navy);font-size:14px;font-weight:720}.app-nav-links a{display:inline-flex;align-items:center;min-height:38px;padding:0 12px;border:1px solid transparent;border-radius:999px}.app-nav-links a:hover{border-color:var(--line);background:rgba(255,255,255,.7)}.app-header{max-width:780px;margin-bottom:34px}.app-header h1{margin:0;color:var(--navy);font-size:clamp(44px,7vw,88px);line-height:.95;letter-spacing:0}.dashboard-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);grid-gap:18px;gap:18px;max-width:1180px;margin:0 auto 12px;padding:clamp(18px,2.4vw,28px);border:1px solid rgba(255,255,255,.5);border-radius:28px;background:rgba(255,255,255,.92);box-shadow:var(--shadow)}.dashboard-hero--simple{grid-template-columns:minmax(0,760px);justify-content:start}.dashboard-hero h1{margin:0;color:var(--navy);font-size:clamp(30px,3.6vw,46px);line-height:1;letter-spacing:0;font-weight:760}.dashboard-hero__copy p:not(.eyebrow){max-width:640px;margin:18px 0 0;color:var(--muted);font-size:18px;line-height:1.5}.dashboard-status{align-self:stretch;display:grid;align-content:end;min-height:150px;padding:18px;border-radius:24px;background:linear-gradient(180deg,rgba(4,30,66,.1),rgba(4,30,66,.62)),url(https://gocolumbialions.com/images/2023/11/11/MSWIM_Yale_Celebration.jpg);background-position:50%;background-size:cover;color:var(--white)}.dashboard-status span{color:var(--columbia-blue);font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.dashboard-status strong{margin-top:8px;font-size:22px;line-height:1}.dashboard-status p{margin:8px 0 0;color:rgba(255,255,255,.78);line-height:1.45}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);grid-gap:18px;gap:18px;max-width:1180px;margin:0 auto}.dashboard-grid--single{grid-template-columns:minmax(0,860px);justify-content:start}.dashboard-panel{border:1px solid rgba(255,255,255,.5);border-radius:24px;background:rgba(255,255,255,.93);box-shadow:var(--shadow);padding:18px}.dashboard-panel--wide{width:100%}.dashboard-panel--wide h1{margin:0;color:var(--navy);font-size:clamp(32px,4vw,52px);line-height:1;letter-spacing:0;font-weight:760}.dashboard-panel--wide>.auth-note{max-width:620px;margin:10px 0 18px}.dashboard-panel--calendar{position:relative;grid-row:span 2;overflow:hidden;padding:14px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:12px}.section-heading h2{margin:0;color:var(--navy);font-size:28px;line-height:1;letter-spacing:0;font-weight:760}.action-list,.update-list{display:grid;grid-gap:10px;gap:10px}.action-row,.update-item{border:1px solid var(--line);border-radius:18px;background:#f9fcff}.action-row h3,.update-item h3{margin:0;color:var(--navy);font-size:18px;line-height:1.15;letter-spacing:0;font-weight:760}.action-row p,.update-item p{margin:6px 0 0;color:var(--muted);font-size:14px;line-height:1.4}.update-item{padding:16px}.update-item span{display:inline-flex;margin-bottom:10px;color:#2378a2;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.action-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px}.action-row>span{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border-radius:50%;background:var(--navy);color:var(--white);font-weight:900}.app-link-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px;max-width:1120px}.app-link-card,.report-panel{border:1px solid rgba(255,255,255,.5);border-radius:24px;background:rgba(255,255,255,.93);box-shadow:var(--shadow)}.app-link-card{display:grid;min-height:152px;align-content:end;padding:22px}.app-link-card h2{margin:0 0 8px;color:var(--navy);font-size:24px;line-height:1;letter-spacing:0;font-weight:760}.app-link-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.45}.calendar-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:6px;gap:6px;margin-bottom:6px}.calendar-board{overflow:hidden;padding:8px}.calendar-board,.calendar-summary article{border:1px solid var(--line);border-radius:18px;background:#f9fcff}.calendar-summary article{padding:8px 10px}.calendar-status,.calendar-summary span{color:#2378a2;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.calendar-summary strong{display:block;margin-top:6px;color:var(--navy);font-size:14px;line-height:1.2}.calendar-status,.calendar-summary p{margin:6px 0 0}.calendar-summary p{color:var(--muted);font-size:13px;line-height:1.35}.calendar-content{transition:filter .18s ease,opacity .18s ease}.calendar-content[data-blurred=true]{filter:blur(5px);opacity:.48;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.calendar-approval-overlay{position:absolute;top:50%;left:50%;z-index:6;width:min(350px,calc(100% - 28px));border:1px solid rgba(255,255,255,.58);border-radius:22px;background:rgba(255,255,255,.92);box-shadow:0 22px 52px rgba(4,30,66,.24);padding:24px 22px;text-align:center;transform:translate(-50%,-50%);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.calendar-approval-overlay span{color:#2378a2;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.calendar-approval-overlay strong{display:block;margin-top:8px;color:var(--navy);font-size:22px;line-height:1.1}.calendar-approval-overlay p{max-width:320px;margin:8px 0 0;color:var(--muted);font-size:14px;line-height:1.4}.calendar-controls{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.calendar-controls button{min-height:32px;border:1px solid var(--line);border-radius:999px;background:#f9fcff;color:var(--navy);cursor:pointer;font:inherit;font-size:13px;font-weight:760;padding:0 12px}.calendar-controls .calendar-add-button{border-color:rgba(4,30,66,.14);background:var(--navy);color:var(--white)}.calendar-composer{position:fixed;right:clamp(16px,3vw,34px);bottom:18px;z-index:20;width:min(360px,calc(100vw - 32px));overflow:hidden;border:1px solid rgba(4,30,66,.16);border-radius:18px 18px 0 0;background:var(--white);box-shadow:0 22px 52px rgba(4,30,66,.24);animation:calendarComposerIn .18s ease-out;transform-origin:bottom right}@keyframes calendarComposerIn{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.calendar-composer-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 14px;background:var(--navy);color:var(--white)}.calendar-composer-header span{display:block;color:rgba(255,255,255,.66);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.calendar-composer-header strong{display:block;margin-top:3px;font-size:15px;line-height:1.15}.calendar-composer-header button{display:grid;width:30px;height:30px;place-items:center;border:1px solid rgba(255,255,255,.24);border-radius:50%;background:rgba(255,255,255,.08);color:var(--white);cursor:pointer;font:inherit;font-size:20px;line-height:1}.calendar-composer-form{display:grid;grid-gap:12px;gap:12px;padding:14px}.calendar-composer-form label{display:grid;grid-gap:6px;gap:6px;color:var(--navy);font-size:12px;font-weight:760}.calendar-composer-form input,.calendar-composer-form select{width:100%;min-height:40px;border:1px solid var(--line);border-radius:12px;background:#fbfdff;color:var(--ink);font:inherit;font-size:14px;padding:0 11px}.calendar-composer-form input::placeholder{color:#91a1b1}.calendar-composer-row{display:grid;grid-template-columns:1fr .78fr;grid-gap:10px;gap:10px}.calendar-composer-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px}.calendar-composer-actions span{color:var(--muted);font-size:12px;line-height:1.3}.calendar-composer-actions button{min-height:38px;border:0;border-radius:999px;background:var(--columbia-blue);color:var(--navy);cursor:pointer;font:inherit;font-size:13px;font-weight:800;padding:0 14px}.calendar-composer-actions button:disabled{cursor:wait;opacity:.68}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:5px;gap:5px;margin-top:8px}.calendar-grid-shell{overflow:visible}.calendar-weekday{color:var(--muted);font-size:12px;font-weight:800;text-align:center}.calendar-cell{position:relative;display:block;min-height:70px}.calendar-cell-button{display:flex;flex-direction:column;width:100%;min-height:70px;border:1px solid var(--line);border-radius:16px;background:#fbfdff;color:inherit;cursor:pointer;font:inherit;padding:8px;text-align:left}.calendar-cell-button:focus-visible,.calendar-cell:hover .calendar-cell-button,.calendar-cell[data-has-events=true]:hover .calendar-cell-button{border-color:rgba(4,30,66,.26);box-shadow:0 10px 24px rgba(4,30,66,.11);outline:none}.calendar-cell[data-muted=true]{opacity:.42}.calendar-cell[data-muted=true]:hover{opacity:.78}.calendar-date-number{display:block;color:var(--navy);font-size:13px;font-weight:800}.calendar-event-dots{display:flex;align-items:center;gap:4px;margin-top:14px;min-height:9px;pointer-events:none}.calendar-event-dot{display:block;width:7px;height:7px;border-radius:999px;box-shadow:0 0 0 2px rgba(255,255,255,.88)}.calendar-event-dot[data-priority=important]{background:#e24d4d}.calendar-event-dot[data-priority=nonmandatory]{background:#2f9f4c}.calendar-event-dot[data-priority=standard]{background:#168fc6}.calendar-popover{position:absolute;z-index:5;top:30px;left:calc(100% + 8px);width:min(260px,72vw);border:1px solid var(--line);border-radius:18px;background:#fbfdff;box-shadow:0 16px 36px rgba(4,30,66,.18);padding:14px}.calendar-cell[data-edge=true] .calendar-popover{right:calc(100% + 8px);left:auto}.calendar-popover span{color:#2378a2;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.calendar-popover article{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-top:10px;border-left:4px solid rgba(155,221,255,.9);padding-left:10px}.calendar-popover article[data-priority=important]{border-left-color:#e76868}.calendar-popover article[data-priority=nonmandatory]{border-left-color:#42a85a}.calendar-popover h3{margin:0 0 4px;color:var(--navy);font-size:14px;line-height:1.2}.calendar-popover p{margin:0;color:var(--muted);font-size:12px;line-height:1.35}.calendar-popover button{flex:0 0 auto;min-height:26px;border:1px solid rgba(226,77,77,.22);border-radius:999px;background:#fff3f3;color:#b83232;cursor:pointer;font:inherit;font-size:11px;font-weight:800;padding:0 8px}.calendar-popover button:disabled{cursor:wait;opacity:.62}.report-form-body{max-width:620px}.report-preview{width:100%;max-height:320px;object-fit:cover;border:1px solid var(--line);border-radius:18px}.blog-layout{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);grid-gap:18px;gap:18px;max-width:1180px;margin:0 auto}.blog-composer-panel{align-self:start}.blog-feed{min-width:0}.blog-feed-heading{align-items:center;padding:0 4px}.blog-feed-heading button{min-height:34px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.88);color:var(--navy);cursor:pointer;font:inherit;font-size:13px;font-weight:760;padding:0 12px}.blog-feed-heading button:disabled{cursor:wait;opacity:.64}.blog-post-list{display:grid;grid-gap:12px;gap:12px}.blog-image-preview{display:grid;grid-gap:10px;gap:10px}.blog-image-preview img{width:100%;max-height:280px;object-fit:cover;border:1px solid var(--line);border-radius:18px}.blog-image-preview button{width:-moz-fit-content;width:fit-content;min-height:36px;margin-top:0;border:1px solid var(--line);background:#f9fcff;color:var(--navy);padding:0 14px}.blog-post{border:1px solid rgba(255,255,255,.5);border-radius:24px;background:rgba(255,255,255,.93);box-shadow:var(--shadow);padding:18px}.blog-post header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.blog-post header div{display:grid;grid-gap:4px;gap:4px}.blog-post header span{color:var(--navy);font-size:14px;font-weight:800}.blog-post time{color:var(--muted);font-size:12px;line-height:1.3}.blog-post header strong{display:inline-flex;align-items:center;min-height:28px;border:1px solid rgba(215,180,106,.34);border-radius:999px;background:#fff8e8;color:#946b17;font-size:12px;font-weight:800;padding:0 10px}.blog-post h3{margin:0 0 10px;color:var(--navy);font-size:22px;line-height:1.15;letter-spacing:0}.blog-post-image{display:block;width:100%;max-height:460px;object-fit:cover;border:1px solid var(--line);border-radius:18px;margin:0 0 14px}.blog-post p{margin:0;color:var(--ink);font-size:15px;line-height:1.6;white-space:pre-wrap}@media (max-width:860px){.hero{grid-template-columns:1fr;gap:32px;padding-bottom:32px}.topbar{padding-top:22px}.feature-panel{width:100%}.app-nav{align-items:flex-start;flex-direction:column}.app-nav-links{flex-wrap:wrap}.dashboard-grid,.dashboard-hero{grid-template-columns:1fr}.dashboard-panel--calendar{grid-row:auto}.app-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-layout,.calendar-widget{grid-template-columns:1fr}}@media (max-width:520px){.hero,.topbar{padding-inline:18px}.nav-links{gap:12px;font-size:13px}.nav-pill{min-height:34px;padding-inline:12px}.hero h1{font-size:clamp(46px,16vw,68px)}.button{flex:1 1 140px}.home-title{align-items:flex-start;flex-direction:column;gap:8px;font-size:clamp(42px,14vw,64px);white-space:normal}.home-title span{font-size:18px}.auth-panel{padding:26px 20px}.auth-panel--signup{padding:22px 18px}.name-grid{grid-template-columns:1fr}.approval-row{grid-template-columns:44px minmax(0,1fr)}.roster-member-info{grid-template-columns:1fr;gap:4px}.roster-photo{width:44px;height:44px}.approval-row>.roster-status-pill,.roster-row-actions{grid-column:1/-1}.approval-row button{width:100%}.app-shell{padding:26px 18px}.app-link-grid{grid-template-columns:1fr}.dashboard-hero,.dashboard-panel{padding:18px}.dashboard-status{min-height:140px}.calendar-item{grid-template-columns:1fr}.calendar-board{padding:7px}.calendar-summary{grid-template-columns:1fr}.calendar-grid-shell{margin-inline:-7px;overflow-x:auto;padding:0 7px 4px;-webkit-overflow-scrolling:touch}.calendar-grid{min-width:520px}.calendar-composer{right:12px;bottom:12px;width:calc(100vw - 24px)}.calendar-composer-row{grid-template-columns:1fr}.report-panel{padding:20px}}