/* The workspace uses the club's blue and an open editorial layout. */
.portal-page,.project-page{background:#f8fbfd}
.portal-layout.is-workspace{max-width:1260px}
.is-workspace .portal-frame{margin-top:0}
.is-workspace .workspace-heading{padding:24px 0 31px;margin-bottom:0;border:0}
.workspace-heading h1{font-size:clamp(40px,4.4vw,62px);font-weight:600;letter-spacing:-.06em}
.workspace-heading p{color:#556c79}
.workspace-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:linear-gradient(115deg,#092d46 0%,#114967 55%,#0876a7 100%);color:#fff;overflow:hidden;border-radius:16px;box-shadow:0 20px 45px #08374d18}
.workspace-overview>div{display:grid;grid-template-columns:1fr auto;gap:0 10px;padding:28px 35px;min-height:138px;align-content:center}
.workspace-overview>div+div{border-left:1px solid #ffffff30}
.overview-label{grid-column:1/-1;font-size:10px;font-weight:600;letter-spacing:.16em;color:#a8d8ef}
.workspace-overview strong{font-size:58px;line-height:1;letter-spacing:-.07em;font-weight:600;font-variant-numeric:tabular-nums;margin-top:12px}
.workspace-overview small{align-self:end;padding-bottom:6px;font-size:12px;color:#c0dce9}
.workspace-jump{display:flex;gap:30px;align-items:center;overflow:auto;white-space:nowrap;padding:27px 0 0;margin-bottom:32px;border-bottom:1px solid #cbdae2}
.workspace-jump a{padding-bottom:18px;font-size:13px;font-weight:500;color:#345c73;transition:color .18s ease,transform .18s ease}
.workspace-jump a:hover{color:#0077cc;transform:translateY(-2px)}
.organizer-grid{gap:9%;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.organizer-grid .workspace-panel{border-top:0;padding-top:0}
.workspace-panel h2,.organizer-projects>h2{font-size:clamp(27px,2.5vw,35px);font-weight:600;letter-spacing:-.045em;color:#102a3b}
.workspace-panel .step-copy{color:#5e7785}
.live-indicator{display:inline-flex;gap:9px;align-items:center;margin:0 0 16px;color:#2b718c;font-size:11px;font-weight:500}
.live-indicator span{width:7px;height:7px;border-radius:50%;background:#0db084;box-shadow:0 0 0 4px #0db08422}
.member-row{padding:17px 0;transition:background .18s ease}
.member-row:hover{background:#eaf4f856}
.member-row strong{font-weight:600}
.member-row .status-pill{font-size:11px}
.member-list{max-height:520px}
.organizer-projects{margin-top:74px}
.organizer-projects>h2{margin-bottom:22px}
.project-card{grid-template-columns:140px minmax(0,1fr) 180px;padding:26px 0}
.project-card h2{font-size:clamp(23px,2.4vw,32px);font-weight:600}
.project-card p{max-width:55ch}
.project-card-footer span:last-child{font-size:24px;color:#0077cc;transition:transform .18s ease}
.project-card:hover .project-card-footer span:last-child{transform:translate(3px,-3px)}
.task-builder{padding:22px 0;border-top:1px solid #d9e5eb}
.task-input-row{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.task-input-row input{flex:1;min-width:0}
.task-input-row .text-button{flex:0 0 auto;font-size:12px}
.recipient-field{padding:20px 0;border-top:1px solid #d9e5eb}
.recipient-list{max-height:250px}
.portal-form .action-blue{background:#0077cc}
.portal-form .action-blue:hover{background:#005da5}
.portal-page .action-blue,.project-page .action-blue{font-weight:500}
.portal-page :focus-visible,.project-page :focus-visible{outline:2px solid #0077cc;outline-offset:3px}
/* Full project page: strong hierarchy, without a grid of generic cards. */
.project-detail{max-width:1220px;padding-top:42px}
.project-detail .portal-back{margin-bottom:35px}
.project-heading{position:relative;display:flex;align-items:start;justify-content:space-between;gap:25px;padding:45px 50px 55px;background:linear-gradient(112deg,#e7f4fa,#f7fcfe 65%,#d8eef6);border-radius:17px;overflow:hidden}
.project-heading:after{content:'';position:absolute;right:-95px;bottom:-160px;width:330px;height:330px;border:1px solid #78badb66;border-radius:50%;pointer-events:none}
.project-heading h1{font-size:clamp(44px,6vw,78px);font-weight:600;max-width:850px;margin:18px 0}
.project-heading .eyebrow{color:#276c90}
.project-summary{color:#466b80;font-size:15px}
.project-heading-mark{font-size:34px;color:#0077cc}
.project-content{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,.7fr);gap:10%;padding-top:58px}
.project-section-title{display:flex;align-items:baseline;gap:19px;padding-bottom:17px;border-bottom:1px solid #cbdce5}
.project-section-title span{color:#3983a4;font-size:12px}
.project-section-title h2{font-size:29px;letter-spacing:-.04em;font-weight:600}
.project-brief{margin:26px 0 60px;color:#28485a;max-width:64ch}
.project-muted{font-size:14px;color:#607b89;margin:24px 0}
.read-only-steps{padding:0;margin:10px 0 0;list-style:none;counter-reset:step}
.read-only-steps li{counter-increment:step;display:flex;gap:20px;padding:19px 0;border-bottom:1px solid #e1ebf0;font-size:15px;color:#254455}
.read-only-steps li:before{content:counter(step,decimal-leading-zero);font-size:11px;color:#4d8eaa;margin-top:4px}
.project-checklist{border:0}
.project-check{align-items:center}
.project-checklist .action{margin-top:24px}
.progress-list{margin:5px 0 28px}
.progress-person{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 0;border-bottom:1px solid #e0eaf0;font-size:14px}
.edit-launch{margin-top:20px}
.project-secondary .portal-form{margin-top:24px}
.project-editor{margin-top:74px;padding-top:30px;border-top:1px solid #bed5df;animation:project-edit-in .28s ease-out}
.project-editor[hidden]{display:none}
.project-editor .portal-form{max-width:840px;margin-top:28px}
.edit-core{display:grid;grid-template-columns:1.5fr .7fr;gap:20px}
.edit-fieldset{border:0;border-top:1px solid #dce8ee;padding:24px 0 0;margin:4px 0 0}
.edit-fieldset legend{font-size:17px;font-weight:600;padding:0 0 13px}
.edit-recipients{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}
.edit-task-row{display:flex;align-items:center;gap:13px;padding:8px 0}
.edit-task-row input{flex:1;min-width:0;border:1px solid #aebec8;border-radius:5px;background:#fff;padding:12px;font:inherit}
.task-index{font-size:12px;color:#6d92a4}
.editor-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding-top:14px}
.danger-button{color:#a03b3b}
.danger-button:hover{color:#742525}
@keyframes project-edit-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:900px){.organizer-grid,.project-content{grid-template-columns:1fr;gap:42px}.workspace-overview>div{padding:22px}.project-secondary{max-width:620px}}
@media(max-width:620px){.portal-main{padding-top:17px}.workspace-heading{align-items:start}.workspace-overview{border-radius:10px}.workspace-overview>div{padding:18px 11px;min-height:115px;display:block}.workspace-overview strong{display:block;font-size:42px}.workspace-overview small{display:block;font-size:10px;margin-top:4px}.overview-label{font-size:8px}.workspace-jump{gap:18px}.workspace-jump a{font-size:12px}.organizer-projects{margin-top:50px}.project-heading{padding:28px 25px 38px}.project-heading h1{font-size:43px}.project-heading-mark{font-size:24px}.project-content{padding-top:42px}.edit-core,.edit-recipients{grid-template-columns:1fr}.editor-actions{gap:15px}.project-detail{padding-top:27px}}
@media(prefers-reduced-motion:reduce){.workspace-jump a,.member-row,.project-card-footer span:last-child{transition:none}.workspace-jump a:hover,.project-card:hover .project-card-footer span:last-child{transform:none}.project-editor{animation:none}}

.portal-page h1[tabindex='-1']:focus-visible,.portal-page h2[tabindex='-1']:focus-visible{outline:none}

/* Organizer email handoff uses the workspace's existing editorial treatment. */
.member-mail{margin-top:70px;padding:34px 0 40px;border-top:1px solid #b6cfdd;border-bottom:1px solid #d3e1e8}
.member-mail-heading .eyebrow{color:#3981a1;font-size:11px;letter-spacing:.18em;margin-bottom:10px}
.member-mail-heading h2{scroll-margin-top:120px;font-size:clamp(32px,3.4vw,44px);font-weight:600;letter-spacing:-.05em;color:#102a3b;margin:0 0 10px}
.member-mail-heading>p:last-child{font-size:15px;color:#536d7c;margin:0 0 28px}
.member-mail-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:8%;align-items:start}
.mail-audience{border:0;padding:0;margin:0;display:grid;gap:17px;min-width:0}
.mail-audience legend{font-size:14px;font-weight:600;color:#183e52;margin-bottom:16px}
.mail-audience label{display:flex;align-items:center;gap:12px;font-size:15px;color:#234658;cursor:pointer}
.mail-audience input[type=radio],.mail-audience input[type=checkbox]{accent-color:#0077cc;flex:0 0 17px;width:17px;height:17px;min-height:0;margin:0}
.mail-count{font-size:12px;font-variant-numeric:tabular-nums;color:#4b7f98}
.mail-member-options{display:grid;gap:14px;max-height:260px;overflow:auto;padding:12px 4px 12px 23px;margin-left:8px;border-left:1px solid #bdd4e0;animation:mail-enter .28s ease-out}
.mail-member-options[hidden]{display:none}
.mail-member-options small{display:block;font-size:12px;color:#637e8d;overflow-wrap:anywhere;margin-top:3px}
.mail-launch>p:first-child{font-size:15px;line-height:1.65;color:#345565;margin:0 0 19px;max-width:40ch}
.mail-launch .action{margin:0 18px 16px 0}.mail-launch .text-button{font-size:13px;margin-bottom:16px}
.mail-launch .action[aria-disabled=true]{opacity:.45;pointer-events:none}
.mail-launch .feedback{overflow-wrap:anywhere}
@keyframes mail-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:700px){.member-mail-form{grid-template-columns:1fr;gap:28px}.member-mail{margin-top:50px}.mail-launch>p:first-child{max-width:none}}
@media(prefers-reduced-motion:reduce){.mail-member-options{animation:none}}
.email-library{margin:64px 0;padding-top:40px;border-top:1px solid #d9e2e7}.email-library-heading{display:flex;justify-content:space-between;gap:24px;align-items:start}.email-library h2{font-size:clamp(26px,3vw,34px);font-weight:600;letter-spacing:-.03em;margin:10px 0}.email-library-heading p{color:#405563;line-height:1.6}.email-library-columns{display:grid;grid-template-columns:1fr 1fr;gap:32px 48px;margin-top:32px}.email-library-columns section:last-child{grid-column:1/-1}.email-library h3{font-size:19px;font-weight:600;margin:0 0 16px}.email-library ul{list-style:none;padding:0;margin:0}.email-library li{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;border-top:1px solid #d9e2e7}.email-library li strong{display:block;color:#111;font-weight:500;overflow-wrap:anywhere}.email-library li small{display:block;color:#526675;margin-top:7px;line-height:1.5}.email-library li a{flex-shrink:0;font-size:14px}.email-library-empty{color:#526675}@media(max-width:680px){.email-library-columns{grid-template-columns:1fr;gap:28px}.email-library-heading{flex-direction:column;gap:12px}.email-library li{align-items:start;flex-direction:column;gap:12px}}
.mail-launch select{width:100%;padding:14px;background:#fff;color:#111;border:1px solid #687c88;border-radius:6px;font:inherit}.mail-launch select:focus-visible{outline:3px solid #0077cc;outline-offset:3px}
@media(max-width:620px){.workspace-heading{flex-wrap:wrap;gap:14px}.workspace-heading>div{flex-basis:100%;min-width:0}.workspace-heading h1{overflow-wrap:anywhere}}

/* Organizer-only attendance conversations, in the existing editorial rhythm. */
.attendance-discussions{margin:36px 0 48px;padding:30px 0;border-top:2px solid #0077cc;border-bottom:1px solid #dce3e8}
.discussion-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}
.attendance-discussions h2{margin:6px 0 10px;font-size:clamp(26px,3vw,36px);font-weight:600;letter-spacing:-.035em;color:#111}
.discussion-heading p:not(.eyebrow),.discussion-list p{color:#475663;line-height:1.6;margin:0}
.discussion-count{color:#0077cc;font-size:14px;font-weight:500;white-space:nowrap}
.discussion-list{list-style:none;padding:0;margin:22px 0 0}
.discussion-list li{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:24px 0;border-top:1px solid #dce3e8}
.discussion-list h3{font-size:20px;font-weight:600;color:#111;margin:0 0 8px}
.discussion-list a{display:inline-block;margin-top:12px;color:#0077cc;font-size:14px;text-underline-offset:4px}
.discussion-list .action{flex-shrink:0;transition:background-color 180ms,color 180ms,transform 180ms}
.discussion-note,.discussion-empty{font-size:14px;color:#596976;line-height:1.6;margin:22px 0 0}
@media(max-width:680px){.discussion-heading{align-items:flex-start;gap:12px}.discussion-list li{align-items:flex-start;flex-direction:column;gap:18px}.discussion-list .action{width:100%}.attendance-discussions{margin:26px 0 34px;padding:24px 0}}
@media(prefers-reduced-motion:reduce){.discussion-list .action{transition:none}}
.discussion-links{display:flex;flex-wrap:wrap;gap:8px 24px}.discussion-list .discussion-repeat{margin-top:10px;color:#0077cc;font-size:14px;font-weight:500}
