/* Member portal restructure: dense, navigable workspace layers. */
.portal-intro,.cal-subtitle{color:rgba(210,225,245,.66);font-size:.9rem;margin-top:8px}
.resource-boundary{margin:0 0 24px;padding:16px 18px;border:1px solid rgba(212,160,23,.22);border-left:3px solid var(--gold);background:rgba(9,31,72,.58);border-radius:9px}
.resource-boundary p{color:rgba(225,235,250,.72);font-size:.86rem;line-height:1.6}
.resource-boundary a{color:var(--gold);text-decoration:underline}
.resource-eyebrow{display:block;color:var(--gold);font:700 .65rem 'Josefin Sans',sans-serif;letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px}
.community-exchange{display:grid;grid-template-columns:1fr 150px;gap:28px;align-items:center;margin-top:30px;padding:28px;border:1px solid rgba(125,211,252,.28);border-radius:14px;background:linear-gradient(135deg,rgba(10,48,76,.9),rgba(7,23,55,.94))}
.community-copy h2{font:700 clamp(1.45rem,3vw,2rem) 'Cormorant Garamond',serif;color:#eef7ff;margin-bottom:8px}
.community-copy p{max-width:720px;color:rgba(225,237,248,.72);line-height:1.65;font-size:.88rem}
.evidence-notice{margin:16px 0;padding:11px 13px;border:1px solid rgba(251,191,36,.35);background:rgba(120,76,6,.18);color:rgba(255,224,150,.82);border-radius:7px;font-size:.77rem;line-height:1.5}
.evidence-notice strong{color:#ffd76b}
.community-actions{display:flex;gap:10px;flex-wrap:wrap}
.resource-button{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border:1px solid rgba(232,184,75,.55);border-radius:7px;background:rgba(232,184,75,.14);color:var(--gold-pale);font:700 .7rem 'Josefin Sans',sans-serif;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.resource-button:hover,.resource-button:focus-visible{background:rgba(232,184,75,.25);outline:2px solid rgba(232,184,75,.35);outline-offset:2px}
.resource-button-muted{border-color:rgba(181,216,240,.34);background:rgba(181,216,240,.08);color:#c7e8f5}
.community-mark{justify-self:end;width:132px;height:132px;border:1px solid rgba(125,211,252,.5);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8edcf3;transform:rotate(-8deg)}
.community-mark span{font:700 2rem 'Cormorant Garamond',serif;letter-spacing:.08em}.community-mark small{font-size:.52rem;letter-spacing:.13em}
.portal-switch{display:flex;gap:5px;border-bottom:1px solid rgba(212,160,23,.25);margin:0 0 18px;padding:0 0 9px}
.portal-switch-tab{padding:9px 15px;border:1px solid transparent;border-radius:7px;color:rgba(230,238,250,.58);font:700 .7rem 'Josefin Sans',sans-serif;letter-spacing:.1em;text-transform:uppercase}
.portal-switch-tab:hover,.portal-switch-tab:focus-visible{color:#fff;background:rgba(255,255,255,.06);outline:2px solid rgba(232,184,75,.35);outline-offset:2px}
.portal-switch-tab.is-active{color:var(--gold-pale);border-color:rgba(232,184,75,.42);background:rgba(232,184,75,.12)}
.announcement-panel{margin-top:28px;padding-top:28px;border-top:1px solid rgba(212,160,23,.25);scroll-margin-top:24px}
.announcement-panel{display:none}.announcement-panel.is-visible{display:block}
.announcement-feed{display:flex;flex-direction:column;gap:9px}.announcement-feed-item{display:grid;grid-template-columns:42px 1fr auto;gap:15px;align-items:center;text-align:left;width:100%;padding:16px 17px;border:1px solid rgba(181,216,240,.16);border-left:3px solid #a3e635;border-radius:9px;background:rgba(7,22,53,.65);color:#fff;cursor:pointer;transition:transform .18s,background .18s,border-color .18s}.announcement-feed-item:hover,.announcement-feed-item:focus-visible{transform:translateX(4px);background:rgba(13,46,86,.88);border-color:rgba(232,184,75,.5);outline:2px solid rgba(232,184,75,.25);outline-offset:2px}.announcement-feed-item.ann-feed-important{border-left-color:#d34b4b}.announcement-feed-marker{font:700 1.25rem 'Cormorant Garamond',serif;color:var(--gold);opacity:.85}.announcement-feed-copy{display:flex;flex-direction:column;gap:4px}.announcement-feed-copy strong{font:700 .98rem 'Josefin Sans',sans-serif}.announcement-feed-copy span:last-child{font-size:.78rem;color:rgba(220,232,247,.62);line-height:1.45}.announcement-feed-meta{font:700 .62rem 'Josefin Sans',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:rgba(232,184,75,.85)}.announcement-feed-arrow{font:700 .62rem 'Josefin Sans',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#b8dceb}
.announcement-heading-row{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:12px}.announcement-heading-row h2{color:#fff;margin-bottom:5px}.announcement-heading-row p{color:rgba(220,230,245,.62);font-size:.84rem}
.announcement-post-button{display:none;min-height:42px;padding:0 14px;background:rgba(179,0,0,.72);border:1px solid rgba(255,190,150,.5);color:#fff;border-radius:7px;font:700 .68rem 'Josefin Sans',sans-serif;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}
.announcement-all-button{margin-top:12px}
.community-modal{max-width:720px}.library-status{padding:15px 0;color:rgba(220,230,245,.62);font-size:.84rem}.community-file-list{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.community-file{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid rgba(181,216,240,.16);border-radius:7px;background:rgba(7,20,48,.58)}.community-file-name{color:#e8f4ff;font-size:.84rem}.community-file-meta{display:block;color:rgba(190,215,235,.5);font-size:.68rem;margin-top:3px}.community-file a,.community-file-preview{flex-shrink:0;border:0;background:transparent;color:#9eddf0;font:700 .68rem 'Josefin Sans',sans-serif;text-transform:uppercase;letter-spacing:.05em;cursor:pointer}.community-file-preview:hover,.community-file-preview:focus-visible,.community-file a:hover,.community-file a:focus-visible{color:#fff;text-decoration:underline;outline:2px solid rgba(158,221,240,.35);outline-offset:4px}
.drive-preview-modal{width:min(1120px,96vw);max-width:none;height:min(840px,92vh);display:flex;flex-direction:column}.drive-preview-modal iframe{width:100%;flex:1;min-height:300px;border:1px solid rgba(181,216,240,.16);background:#15233c}.drive-preview-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:12px;color:rgba(220,232,247,.55);font-size:.72rem}.drive-preview-overlay{z-index:11000}
.ann-fab-row{display:none!important}
@media(max-width:700px){.community-exchange{grid-template-columns:1fr;padding:20px}.community-mark{justify-self:start;width:90px;height:90px}.community-mark span{font-size:1.4rem}.announcement-heading-row{flex-direction:column}.announcement-post-button{align-self:stretch}.portal-switch-tab{flex:1;text-align:center}.community-file{align-items:flex-start;flex-direction:column}.community-file a,.community-file-preview{padding-top:3px}}

/* Calendar workspace — charcoal, gold and Cooper teal treatment. */
.cal-wrap{max-width:1560px}
.cal-header{align-items:flex-end!important;border-bottom:0!important;gap:28px!important;margin-bottom:0!important;padding:0 0 18px!important}
.cal-header-left{min-width:0;flex:1;display:grid;grid-template-columns:max-content max-content;grid-template-areas:"title tabs" "subtitle tabs";column-gap:24px;align-items:center}
.cal-header-left h1{grid-area:title}
.cal-header-left .cal-subtitle{grid-area:subtitle}
.cal-header-left .portal-switch{grid-area:tabs}
.cal-header-left h1{font-size:clamp(2.5rem,5vw,4.35rem)!important;letter-spacing:-.025em!important;color:#f2d16b!important;text-shadow:0 8px 30px rgba(242,209,107,.14)!important}
.cal-subtitle{color:#a9bbcf!important;font-size:.82rem!important;letter-spacing:.03em}
.cal-header-actions{display:flex;align-items:center;justify-content:flex-end;min-width:190px;min-height:50px}
.cal-header-actions .post-fab{display:none;min-width:190px;justify-content:center}
.cal-header-actions .announcement-post-button{display:none}
.portal-switch{display:flex!important;width:max-content;gap:4px!important;margin:0!important;padding:4px!important;border:1px solid rgba(125,166,220,.24)!important;border-radius:10px!important;background:#171c27!important}
.portal-switch-tab{min-width:118px;padding:11px 17px!important;border-radius:7px!important;color:#8fa4bc!important;text-align:center;transition:background .22s ease,color .22s ease,transform .22s ease!important}
.portal-switch-tab:hover,.portal-switch-tab:focus-visible{color:#f5f8fb!important;background:#263243!important;outline:2px solid rgba(93,225,208,.45)!important;outline-offset:2px!important}
.portal-switch-tab.is-active{color:#19212c!important;border-color:#f2d16b!important;background:#f2d16b!important;box-shadow:0 5px 16px rgba(242,209,107,.14)!important}
#calendar-panel{padding-top:18px}
.announcement-panel{margin-top:0!important;padding-top:24px!important;border-top:0!important}
.announcement-heading-row{padding:22px 0 18px;border-bottom:1px solid rgba(125,166,220,.2);margin-bottom:18px!important}
.announcement-heading-row h2{font-size:clamp(2rem,3.6vw,3.25rem);font-family:'Cormorant Garamond',serif}
.announcement-heading-row p{max-width:620px}
.announcement-feed{gap:10px!important;max-height:none}
.announcement-feed-item{grid-template-columns:54px minmax(0,1fr) 58px!important;min-height:82px;padding:17px 20px!important;border:1px solid rgba(125,166,220,.22)!important;border-left:3px solid #5de1d0!important;border-radius:10px!important;background:linear-gradient(100deg,rgba(13,29,50,.95),rgba(18,27,43,.88))!important;transition:transform .2s ease,background .2s ease,border-color .2s ease!important}
.announcement-feed-item.ann-feed-important{border-left-color:#e47d68!important}
.announcement-feed-marker{font-size:1.45rem!important;color:#f2d16b!important}
.announcement-feed-meta{color:#f2d16b!important}
.announcement-feed-arrow{color:#8fded5!important}
.announcement-all-button{margin-top:18px!important;padding:13px 18px!important}
.modal-overlay{background:rgba(7,11,18,.86)!important}
#all-announcements-modal .modal-box{width:min(860px,100%);max-width:860px;max-height:min(86dvh,760px);padding:28px!important;background:linear-gradient(145deg,#202936,#111822)!important;border:1px solid rgba(242,209,107,.44)!important;border-radius:16px!important;box-shadow:0 24px 70px rgba(0,0,0,.42)!important}
#all-announcements-modal .modal-header{position:sticky;top:0;z-index:2;background:#202936;margin:-28px -28px 20px;padding:24px 28px 17px}
#all-announcements-modal .modal-header>span{font-size:2rem!important;color:#f2d16b!important}
.archive-intro{color:#9fb1c5;font-size:.8rem;line-height:1.5;margin:-5px 0 18px}
.archive-list{display:flex;flex-direction:column;gap:10px}
.archive-card{display:grid;grid-template-columns:54px minmax(0,1fr);gap:15px;padding:17px 18px;border:1px solid rgba(125,166,220,.23);border-left:3px solid #5de1d0;border-radius:11px;background:#172231}
.archive-card.is-important{border-left-color:#e47d68}
.archive-index{font:700 1.35rem 'Cormorant Garamond',serif;color:#f2d16b}
.archive-card h3{margin:2px 0 6px;color:#f6f8fb;font:700 1.05rem 'Josefin Sans',sans-serif}
.archive-meta{display:flex;flex-wrap:wrap;gap:7px 14px;color:#8fa6bd;font-size:.67rem;letter-spacing:.06em;text-transform:uppercase}
.archive-body{margin-top:11px;color:#c0cede;font-size:.82rem;line-height:1.6;white-space:pre-line}
.archive-actions{display:flex;align-items:center;gap:10px;margin-top:13px}
.archive-card .ann-delete-btn{margin-left:auto}
.archive-drive{color:#8fded5;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-decoration:none}
.archive-drive:hover,.archive-drive:focus-visible{color:#fff;text-decoration:underline}
@media(max-width:980px){
 .cal-header{align-items:flex-start!important;flex-wrap:wrap}
 .cal-header-left{flex:1 1 100%}
 .cal-header-actions{width:100%;justify-content:flex-end}
}
@media(max-width:700px){
 .cal-header{align-items:flex-start!important;flex-direction:column!important;gap:16px!important}
 .cal-header-left{display:block}
 .cal-header-actions{width:100%;min-height:46px;justify-content:stretch}
 .cal-header-actions .post-fab{width:100%;min-width:0}
 .portal-switch{width:100%;margin-top:15px!important}
 .portal-switch-tab{flex:1;min-width:0}
 #all-announcements-modal .modal-box{padding:20px!important}
 #all-announcements-modal .modal-header{margin:-20px -20px 18px;padding:19px 20px 15px}
 .archive-card{grid-template-columns:38px minmax(0,1fr);gap:11px;padding:14px}
}

/* Match the public tournament calendar's FullCalendar skin exactly. */
.cal-header{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;padding-bottom:0!important}
.cal-header-row-one{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;border-bottom:0;padding-bottom:18px}
.cal-header-left h1{font-family:'Cormorant Garamond',serif!important;font-size:clamp(2rem,4vw,3rem)!important;font-weight:700!important;color:#FFD700!important;letter-spacing:.02em!important;line-height:1.1!important;text-shadow:0 0 40px rgba(255,215,0,.25)!important}
.cal-header-actions{width:100%;min-width:0;min-height:66px;justify-content:flex-end;border-bottom:0;padding-top:12px}
.cal-header-actions .post-fab{min-width:190px}
.portal-switch{align-self:end;margin:0!important;background:transparent!important;border:0!important;padding:0!important}
.portal-switch-tab{min-width:auto;padding:9px 15px!important;border:1px solid transparent!important;background:transparent!important;color:rgba(230,238,250,.58)!important}
.portal-switch-tab.is-active{color:#102846!important;border-color:#ffe9a4!important;background:linear-gradient(180deg,#F7DF8C 0%,#D4A017 100%)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 3px 9px rgba(0,0,0,.28)!important}

#cal-container .fc{font-family:'Josefin Sans',sans-serif!important}
#cal-container .fc-toolbar{align-items:center;background:#0b2f5b;border-bottom:1px solid rgba(101,147,226,.42);box-sizing:border-box;display:grid!important;grid-template-columns:minmax(190px,1fr) auto minmax(190px,1fr);margin:0!important;padding:14px 16px;width:100%}
#cal-container .fc-toolbar-chunk{min-width:0}
#cal-container .fc-toolbar-chunk:first-child{align-items:center;display:flex;gap:9px;justify-self:start;width:190px}
#cal-container .fc-toolbar-chunk:nth-child(2){justify-self:center}
#cal-container .fc-toolbar-chunk:last-child{justify-self:end;width:190px}
#cal-container .fc-toolbar-title{color:#fff!important;font-family:'Cormorant Garamond',serif!important;font-size:2.1rem!important;font-weight:800;letter-spacing:.01em;min-width:250px;text-align:center;white-space:nowrap}
#cal-container .fc-button{background:linear-gradient(180deg,#24588d 0%,#173d69 100%)!important;border:1px solid rgba(147,195,236,.66)!important;border-radius:5px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 3px 8px rgba(0,0,0,.25)!important;color:#f4f8ff!important;font:700 .65rem 'Josefin Sans',sans-serif!important;letter-spacing:.08em!important;padding:7px 11px!important;text-transform:uppercase;transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}
#cal-container .fc-button:hover,#cal-container .fc-button:focus{background:linear-gradient(180deg,#3472ad 0%,#205184 100%)!important;border-color:#b7dcfa!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 0 0 2px rgba(147,195,236,.16),0 5px 12px rgba(0,0,0,.3)!important;color:#fff!important}
#cal-container .fc-today-button{background:rgba(242,209,107,.12)!important;border-color:rgba(242,209,107,.72)!important;color:#F2D16B!important}
#cal-container .fc-today-button:disabled{background:linear-gradient(180deg,rgba(242,209,107,.2) 0%,rgba(212,160,23,.12) 100%)!important;border-color:rgba(242,209,107,.62)!important;color:#F2D16B!important;opacity:.9!important}
#cal-container .fc-button-active{background:linear-gradient(180deg,#F7DF8C 0%,#D4A017 100%)!important;border-color:#ffe9a4!important;color:#102846!important}
#cal-container .fc-toolbar-chunk:first-child .fc-button-group{display:inline-flex;flex:0 0 auto;padding:3px;border:1px solid rgba(147,195,236,.6);border-radius:999px;background:#071b36;box-shadow:inset 0 1px 4px rgba(0,0,0,.42),0 3px 10px rgba(0,0,0,.22)}
#cal-container .fc-toolbar-chunk:first-child .fc-button-group .fc-button{width:38px;min-height:34px;padding:6px!important;border:0!important;border-radius:999px!important;background:transparent!important;box-shadow:none!important;color:#dcecff!important}
#cal-container .fc-today-button,#cal-container .fc-today-button:disabled{min-height:40px;padding:8px 13px!important;border-radius:999px!important}
#cal-container .fc-toolbar-chunk:last-child .fc-button-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;padding:4px;gap:3px;border:1px solid rgba(147,195,236,.48);border-radius:11px;background:rgba(7,27,54,.88);box-shadow:inset 0 1px 3px rgba(0,0,0,.36),0 3px 10px rgba(0,0,0,.2)}
#cal-container .fc-toolbar-chunk:last-child .fc-button{min-width:0;min-height:32px;padding:6px 10px!important;border:0!important;border-radius:7px!important;background:transparent!important;box-shadow:none!important;color:#dcecff!important;white-space:nowrap}
#cal-container .fc-toolbar-chunk:last-child .fc-button-active{background:linear-gradient(180deg,#F7DF8C 0%,#D4A017 100%)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 2px 5px rgba(0,0,0,.26)!important;color:#102846!important}
#cal-container .fc-scrollgrid,#cal-container td,#cal-container th{border-color:rgba(72,112,187,.34)!important}
#cal-container .fc-col-header-cell{background:#152034!important;border-color:rgba(242,209,107,.6)!important}
#cal-container .fc-col-header-cell-cushion{color:#F2D16B!important;font:700 .62rem 'Josefin Sans',sans-serif;letter-spacing:.1em;padding:10px 0!important;text-decoration:none!important;text-transform:uppercase}
#cal-container .fc-daygrid-day{background:#0b2f5b!important}
#cal-container .fc-daygrid-day:hover{background:#1d4678!important}
#cal-container .fc-day-today{background:#0b2f5b!important}
#cal-container .fc-daygrid-day-number{color:#fff!important;font-size:1.05rem!important;font-weight:700;padding:6px 10px!important;text-decoration:none!important}
#cal-container .fc-day-today .fc-daygrid-day-number{color:#F2D16B!important;font-weight:900}
#cal-container .fc-daygrid-day-frame{min-height:80px!important;position:relative!important}
#cal-container .fc-event{background:transparent!important;border:0!important;border-radius:3px!important;box-shadow:none!important;cursor:pointer!important;margin:2px 3px!important;overflow:visible!important;padding:3px 6px!important;white-space:normal!important}
#cal-container .fc-event-title,#cal-container .cal-evt-title{color:inherit!important;display:block!important;font-size:.92rem!important;font-weight:900!important;line-height:1.25!important;overflow-wrap:anywhere!important;white-space:normal!important;word-break:break-word!important}
#cal-container .fc-list{border:0!important}
#cal-container .fc-list-day-cushion{background:#102d61!important}
#cal-container .fc-list-day-text,#cal-container .fc-list-day-side-text{color:#dce9ff!important;text-decoration:none!important}
#cal-container .fc-list-event:hover td{background:rgba(255,255,255,.05)!important}
#cal-container .fc-list-event-time{color:#c5dbf7!important;font:700 .78rem/1.35 'Josefin Sans',sans-serif!important;letter-spacing:.03em;min-width:132px;padding:13px 14px!important;text-align:center;vertical-align:middle!important;white-space:nowrap!important;width:132px}
#cal-container .fc-list-event-graphic{padding:0 7px 0 2px!important;vertical-align:middle!important}
#cal-container .fc-list-event-dot{border-width:5px!important}
#cal-container .fc-list-event-title{padding:9px 18px 9px 7px!important;vertical-align:middle!important}
#cal-container .fc-list-event-title a{color:inherit!important;text-decoration:none!important}
#cal-container .fc-list-event .cal-evt-title{align-items:center;border-radius:6px;display:inline-flex!important;max-width:620px;min-height:44px;padding:9px 13px;width:100%}
#cal-container tr.member-cal-event--tournament .cal-evt-title{background:#7f1d1d;color:#fff!important}
#cal-container tr.member-cal-event--practice .cal-evt-title{background:#166534;color:#fff!important}
#cal-container tr.member-cal-event--meeting .cal-evt-title{background:#ffd700;color:#000!important}
#cal-container tr.member-cal-event--deadline .cal-evt-title{background:#9a3412;color:#fff!important}
.past-deadlines-toggle{min-height:34px;padding:7px 12px;border:1px solid rgba(242,209,107,.58);border-radius:7px;background:rgba(242,209,107,.1);color:#F2D16B;font:700 .62rem 'Josefin Sans',sans-serif;letter-spacing:.07em;text-transform:uppercase;cursor:pointer}
.past-deadlines-toggle:hover,.past-deadlines-toggle:focus-visible{background:rgba(242,209,107,.2);border-color:#F2D16B;color:#fff;outline:2px solid rgba(242,209,107,.2);outline-offset:2px}

@media(max-width:700px){
 .cal-header-row-one{grid-template-columns:1fr;gap:14px;align-items:start}
 .portal-switch{width:100%;align-self:stretch}
 .cal-header-actions{padding-top:12px}
 #cal-container .fc-dayGridMonth-view .fc-scrollgrid{min-width:640px}
 #cal-container .fc-toolbar{align-items:center;display:grid!important;gap:10px;grid-template-areas:"title title" "nav view";grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:12px}
 #cal-container .fc-toolbar-chunk:nth-child(1){grid-area:nav;justify-self:start;width:100%}
 #cal-container .fc-toolbar-chunk:nth-child(2){grid-area:title;text-align:center}
 #cal-container .fc-toolbar-chunk:nth-child(3){grid-area:view;justify-self:end;width:min(100%,190px)}
 #cal-container .fc-toolbar-title{font-size:1.65rem!important;min-width:0}
 #cal-container .fc-button{font-size:.59rem!important;padding:7px 9px!important}
 #cal-container .fc-daygrid-day-frame{min-height:84px!important}
 #cal-container .fc-list{font-size:.84rem}
 #cal-container .fc-list-day-cushion{padding:10px 12px!important}
 #cal-container .fc-list-event-time{font-size:.7rem!important;min-width:92px;padding:13px 8px 13px 12px!important;width:92px}
 #cal-container .fc-list-event .cal-evt-title{font-size:.82rem!important;line-height:1.35!important;max-width:none;padding:9px 10px}
}
@media(max-width:480px){#cal-container .fc-toolbar-title{font-size:1.48rem!important}#cal-container .fc-list-event-time{width:66px}}

/* Announcement review cockpit */
.announcement-cockpit{border:1px solid rgba(89,133,174,.45);border-radius:14px;background:#06172b;box-shadow:0 20px 48px rgba(0,0,0,.32),0 0 0 1px rgba(76,118,158,.1);overflow:hidden}
.announcement-filters{display:grid;grid-template-columns:minmax(210px,1.6fr) repeat(3,minmax(120px,.7fr)) minmax(220px,1.25fr) auto;gap:10px;align-items:end;padding:16px;border-bottom:1px solid rgba(202,211,221,.18);background:#171a1f;box-shadow:inset 0 1px rgba(255,255,255,.055),0 9px 24px rgba(0,0,0,.34)}
.announcement-filters label{display:block;margin:0 0 6px;color:#fff0b3;font:800 .64rem 'Josefin Sans',sans-serif;letter-spacing:.11em;text-shadow:0 1px 8px rgba(242,209,107,.18);text-transform:uppercase}
.announcement-filters input,.announcement-filters select{box-sizing:border-box;width:100%;min-height:38px;padding:8px 10px;border:1px solid rgba(147,195,236,.38);border-radius:6px;background:#102d50;color:#f1f7ff;font:500 .78rem 'Josefin Sans',sans-serif}
.announcement-filters input:focus,.announcement-filters select:focus{outline:2px solid rgba(93,225,208,.5);outline-offset:2px;border-color:#5de1d0}
.announcement-date-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.announcement-clear-filters{min-height:38px;padding:8px 11px;border:1px solid rgba(242,209,107,.5);border-radius:6px;background:rgba(242,209,107,.1);color:#f6dc89;font:700 .62rem 'Josefin Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.announcement-clear-filters:hover,.announcement-clear-filters:focus-visible{background:rgba(242,209,107,.2);outline:2px solid rgba(242,209,107,.3);outline-offset:2px}
.announcement-result-count{grid-column:1/-1;color:#8faaca;font:600 .68rem 'Josefin Sans',sans-serif;letter-spacing:.06em}
.announcement-cockpit-body{display:grid;grid-template-columns:minmax(290px,.82fr) minmax(0,1.45fr);height:min(550px,calc(100dvh - 330px));min-height:390px}
.announcement-queue{overflow:auto;padding:10px;background:#06172b;border-right:1px solid rgba(92,132,169,.34)}
.announcement-queue-head{position:sticky;z-index:2;top:-10px;display:grid;grid-template-columns:72px 104px minmax(0,1fr) 18px;gap:10px;margin:-10px -10px 9px;padding:12px 14px 10px;border-bottom:1px solid rgba(137,173,205,.28);background:#0a2139;color:#dcecff;font:800 .6rem 'Josefin Sans',sans-serif;letter-spacing:.11em;text-shadow:0 1px 7px rgba(111,181,239,.2);text-transform:uppercase}
.announcement-queue-row{display:grid;grid-template-columns:72px 104px minmax(0,1fr) 18px;gap:10px;align-items:center;width:100%;padding:12px 12px;margin-bottom:7px;border:1px solid rgba(79,119,155,.22);border-left:3px solid rgba(125,166,220,.3);border-radius:8px;background:#09223b;color:#edf5ff;text-align:left;cursor:pointer;transition:background .18s,border-color .18s,transform .18s,box-shadow .18s}
.announcement-queue-row.ann-row-normal{border-left-color:#2f80ed}.announcement-queue-row.ann-row-tournament{border-left-color:#2dbe72}.announcement-queue-row.ann-row-important{border-left-color:#e04f5f}
.announcement-queue-row:hover,.announcement-queue-row:focus-visible{background:#103655;border-color:rgba(93,225,208,.5);box-shadow:0 7px 18px rgba(0,0,0,.22);outline:2px solid rgba(93,225,208,.2);outline-offset:1px;transform:translateY(-1px)}
.announcement-queue-row.is-selected{border-color:#5de1d0;border-left-color:#f2d16b;background:#174263;box-shadow:inset 3px 0 rgba(242,209,107,.9),0 0 18px rgba(93,225,208,.1)}
.announcement-queue-date{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"month day" "time time";align-content:center;column-gap:5px;padding-right:10px;border-right:1px solid rgba(125,166,220,.2);color:#dcecff}
.announcement-queue-date>span{grid-area:month;align-self:end;color:#f2d16b;font:700 .62rem 'Josefin Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase}
.announcement-queue-date>strong{grid-area:day;color:#fff;font:800 1.35rem/1 'Cormorant Garamond',serif}
.announcement-queue-date>small{grid-area:time;margin-top:4px;color:#8eabc7;font:600 .55rem 'Josefin Sans',sans-serif;white-space:nowrap}
.announcement-queue-category{display:flex;align-items:center}
.announcement-queue-copy{display:flex;min-width:0;flex-direction:column;gap:5px}
.announcement-queue-copy strong{overflow:hidden;color:#fff;font:700 .88rem 'Josefin Sans',sans-serif;text-overflow:ellipsis;white-space:nowrap}
.announcement-queue-copy>span:last-child{overflow:hidden;color:#a8bdd3;font-size:.72rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.announcement-queue-chevron{color:#9fc7e8;font:400 1.45rem/1 serif;text-align:right;transition:color .18s,transform .18s}.announcement-queue-row:hover .announcement-queue-chevron,.announcement-queue-row.is-selected .announcement-queue-chevron{color:#fff;transform:translateX(2px)}
.announcement-detail-pane{--detail-accent:#5de1d0;position:relative;min-width:0;overflow:hidden;background:#06172b}
.announcement-detail-pane::before{position:sticky;z-index:3;top:0;display:block;width:100%;height:4px;background:var(--detail-accent);box-shadow:0 0 16px var(--detail-accent);content:""}
.announcement-detail-pane.ann-detail-important{--detail-accent:#e04f5f}.announcement-detail-pane.ann-detail-tournament{--detail-accent:#2dbe72}.announcement-detail-pane.ann-detail-normal{--detail-accent:#378fee}
.announcement-detail-inner{max-width:700px;padding:30px 34px 38px}
.announcement-detail-header{margin:-10px -12px 0;padding:10px 12px 24px;border-bottom:1px solid color-mix(in srgb,var(--detail-accent) 35%,transparent);background:rgba(255,255,255,.018)}
.announcement-detail-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:12px;color:#a9bed4;font:600 .7rem 'Josefin Sans',sans-serif}
.announcement-detail-kicker time{letter-spacing:.03em}
.announcement-detail-pane h3{margin:18px 0 7px;color:#fff;font:700 clamp(1.65rem,3vw,2.6rem) 'Cormorant Garamond',serif;line-height:1.05}
.announcement-detail-poster{display:flex;align-items:center;gap:7px;margin:0;color:#9fb8d0;font-size:.76rem}.announcement-detail-poster span{color:var(--detail-accent);font-size:.58rem}
.announcement-detail-body{min-height:0;margin-top:24px;padding:0 10px 0 0;flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;color:#e0ebf6;font-size:.95rem;line-height:1.78;white-space:normal}
.ann-detail-drive{display:inline-flex;margin-top:5px;padding:10px 13px;border:1px solid rgba(93,225,208,.42);border-radius:6px;color:#73e3d8;font:700 .68rem 'Josefin Sans',sans-serif;letter-spacing:.07em;text-transform:uppercase;text-decoration:none}
.ann-detail-drive:hover,.ann-detail-drive:focus-visible{background:rgba(93,225,208,.12);outline:2px solid rgba(93,225,208,.25);outline-offset:2px}
.ann-detail-delete{display:block;margin-top:34px;padding:9px 12px;border:1px solid rgba(255,145,130,.4);border-radius:6px;background:rgba(150,35,35,.16);color:#ffaaa0;font:700 .65rem 'Josefin Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.ann-detail-delete:hover,.ann-detail-delete:focus-visible{background:rgba(150,35,35,.3);outline:2px solid rgba(255,145,130,.22);outline-offset:2px}
.announcement-detail-empty,.ann-tl-empty{display:flex;min-height:100%;padding:34px;flex-direction:column;justify-content:center;align-items:center;gap:8px;color:#8faaca;text-align:center;font-size:.82rem;line-height:1.5}
.announcement-detail-empty strong,.ann-tl-empty strong{color:#dceafa;font-size:.95rem}
.ann-error-state{color:#ffbeb3}
@media(max-width:900px){.announcement-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.announcement-search-field{grid-column:span 2}.announcement-date-fields{grid-column:span 2}.announcement-clear-filters{align-self:stretch}.announcement-cockpit-body{height:560px;grid-template-columns:minmax(250px,.85fr) minmax(0,1.25fr)}}
@media(max-width:700px){.announcement-cockpit{overflow:visible}.announcement-filters{grid-template-columns:1fr 1fr}.announcement-search-field,.announcement-date-fields{grid-column:1/-1}.announcement-result-count{grid-column:1/-1}.announcement-cockpit-body{display:flex;height:auto;min-height:0;flex-direction:column}.announcement-queue{max-height:390px;border-right:0;border-bottom:1px solid rgba(125,166,220,.2)}.announcement-detail-pane{min-height:360px}.announcement-detail-inner{padding:24px 20px 30px}}

/* Wide announcement workspace: the calendar keeps its normal measure, while
   this review surface uses the room required for scanning and reading. */
body.announcements-view-active .portal-page{padding:120px 32px 80px}
body.announcements-view-active .cal-wrap{width:100%;max-width:1560px}
body.announcements-view-active .cal-header{border-bottom:0!important}
body.announcements-view-active .cal-header-row-one{padding-bottom:12px;border-bottom:0}
body.announcements-view-active .cal-header-actions{display:none}
body.announcements-view-active .announcement-panel{padding-top:0!important}
body.announcements-view-active .announcement-heading-row{display:none}
body.announcements-view-active .announcement-cockpit-body{height:clamp(560px,68vh,760px);min-height:0;grid-template-columns:minmax(0,45fr) minmax(0,55fr)}
body.announcements-view-active .announcement-cockpit{border-color:rgba(89,133,174,.45)}
body.announcements-view-active .announcement-queue{border-right-color:rgba(92,132,169,.34)}
body.announcements-view-active .announcement-detail-inner{max-width:820px;padding:40px 46px 48px}
body.announcements-view-active .announcement-detail-pane h3{font-size:clamp(2rem,3.2vw,3.25rem);margin-top:22px}
body.announcements-view-active .announcement-detail-body{font-size:1.03rem;line-height:1.9;padding:28px 0}
body.announcements-view-active .announcement-filters{grid-template-columns:minmax(180px,1.15fr) minmax(120px,.75fr) minmax(115px,.7fr) minmax(120px,.75fr) minmax(250px,1.4fr) auto minmax(155px,.85fr) auto;border-bottom:0}
body.announcements-view-active .announcement-result-count{grid-column:auto;align-self:center;white-space:nowrap}
@media(max-width:900px){
 body.announcements-view-active .portal-page{padding:120px 32px 80px}
 body.announcements-view-active .announcement-cockpit-body{height:620px;min-height:0}
 body.announcements-view-active .announcement-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
 body.announcements-view-active .announcement-result-count{grid-column:1/-1}
}
@media(max-width:768px){
 body.announcements-view-active .portal-page{padding:110px 16px 60px}
}
@media(max-width:700px){
 body.announcements-view-active .portal-page{padding:110px 16px 60px}
 body.announcements-view-active .announcement-cockpit-body{height:auto;min-height:0}
 body.announcements-view-active .announcement-detail-inner{padding:26px 20px 34px}
}

/* Calendar / Announcements use the same raised tab language as tournaments.html. */
.cal-header-row-one{grid-template-columns:minmax(0,1fr) minmax(320px,430px) minmax(0,1fr)!important;align-items:center!important}
.cal-header-row-one>.portal-switch{grid-column:2;justify-self:center;align-self:center;width:min(100%,430px);display:flex!important;gap:12px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible}
.cal-header-row-one .portal-switch-tab{--tab-color:#5de1d0;--tab-muted:#8aeee1;--tab-soft:rgba(26,181,168,.2);--tab-active:#087d7a;--tab-active-text:#fff;--tab-active-border:#79eee0;--tab-glow:rgba(48,220,202,.38);position:relative;display:flex;flex:1;align-items:center;justify-content:center;gap:10px;min-height:58px;min-width:0;overflow:hidden;padding:8px 17px!important;border:1px solid var(--tab-muted)!important;border-radius:10px!important;background:#161a20!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 4px 10px rgba(0,0,0,.22)!important;color:var(--tab-color)!important;font-size:.69rem!important;letter-spacing:.08em!important;line-height:1!important;transform-origin:center bottom;transform-style:preserve-3d;transition:background .22s ease,border-color .22s ease,box-shadow .28s ease,transform .44s cubic-bezier(.22,1,.36,1),filter .28s ease!important}
.cal-header-row-one .portal-switch-tab:nth-child(2){--tab-color:#ff9a7a;--tab-muted:#ffc0aa;--tab-soft:rgba(224,91,61,.2);--tab-active:#9a3f2d;--tab-active-text:#fff;--tab-active-border:#ffad91;--tab-glow:rgba(244,111,78,.38)}
.cal-header-row-one .portal-switch-tab::before{position:absolute;top:0;right:12px;left:12px;height:3px;border-radius:inherit;background:var(--tab-muted);content:"";pointer-events:none}
.cal-header-row-one .portal-switch-tab::after{position:absolute;z-index:0;inset:-60% -12% -55%;border-radius:inherit;background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.22) 0%,rgba(255,255,255,.08) 22%,transparent 68%);content:"";opacity:0;pointer-events:none;transform:scale(.78) translateY(8%);transition:opacity .28s ease,transform .34s cubic-bezier(.2,.8,.25,1)}
.cal-header-row-one .portal-switch-tab>*{position:relative;z-index:1;transition:transform .28s cubic-bezier(.2,.8,.25,1)}
.cal-header-row-one .portal-switch-tab .portal-tab-icon{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto;transition:filter .28s ease,transform .28s cubic-bezier(.2,.8,.25,1)}
.cal-header-row-one .portal-switch-tab:hover,.cal-header-row-one .portal-switch-tab:focus-visible{border-color:var(--tab-color)!important;background:radial-gradient(circle at 50% -15%,rgba(255,255,255,.22) 0%,transparent 45%),linear-gradient(135deg,var(--tab-soft),#3a424e 72%)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 0 0 1px var(--tab-color),0 0 28px var(--tab-glow),0 14px 24px rgba(0,0,0,.34)!important;color:var(--tab-color)!important;filter:brightness(1.16) saturate(1.28);outline:2px solid var(--tab-color)!important;outline-offset:2px!important;transform:perspective(720px) rotateX(6deg) rotateY(-1.5deg) translateY(-5px) scale(1.016)}
.cal-header-row-one .portal-switch-tab:hover::after,.cal-header-row-one .portal-switch-tab:focus-visible::after{opacity:1;transform:scale(1.18) translateY(-4%)}
.cal-header-row-one .portal-switch-tab:hover .portal-tab-icon,.cal-header-row-one .portal-switch-tab:focus-visible .portal-tab-icon{filter:drop-shadow(0 0 10px var(--tab-color));transform:translateZ(14px) rotate(-2deg) scale(1.1)}
.cal-header-row-one .portal-switch-tab.is-active{border-color:var(--tab-active-border)!important;background:var(--tab-active)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -1px 0 rgba(0,0,0,.14),0 0 18px var(--tab-glow),0 5px 15px rgba(0,0,0,.28)!important;color:var(--tab-active-text)!important;transform:translateY(-1px)}
.cal-header-row-one .portal-switch-tab.is-active::before{background:var(--tab-color)}
.cal-header-row-one .portal-switch-tab.is-active::after{opacity:.16;transform:scale(1) translateY(0)}
.cal-header-row-one .portal-switch-tab.is-active .portal-tab-icon{stroke:currentColor}
#calendar-panel,#announcements-panel{opacity:1;transform:translateY(0);transition:opacity .14s ease,transform .18s cubic-bezier(.22,1,.36,1)}
#calendar-panel.is-leaving,#announcements-panel.is-leaving{opacity:0;transform:translateY(4px)}
#calendar-panel.is-entering,#announcements-panel.is-entering{opacity:0;transform:translateY(4px)}
@media(prefers-reduced-motion:reduce){.cal-header-row-one .portal-switch-tab,.cal-header-row-one .portal-switch-tab::after,.cal-header-row-one .portal-switch-tab>*{transition:none!important}.cal-header-row-one .portal-switch-tab:hover,.cal-header-row-one .portal-switch-tab:focus-visible{filter:none;transform:none}#calendar-panel,#announcements-panel{transition:none}}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.ann-cat-badge{display:inline-flex;align-items:center;padding:4px 9px;border:1px solid transparent;border-radius:5px;color:#fff!important;font:800 .58rem 'Josefin Sans',sans-serif;letter-spacing:.1em;text-transform:uppercase;box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 2px 5px rgba(0,0,0,.2)}
.ann-cat-badge.ann-cat-normal{border-color:#63a9ff;background:#176fd3;box-shadow:0 2px 4px rgba(0,0,0,.28)}.ann-cat-badge.ann-cat-tournament{border-color:#3ed18a;background:linear-gradient(180deg,#28b76c,#168c50)}.ann-cat-badge.ann-cat-important{border-color:#ff7a84;background:#b52f3d;box-shadow:0 2px 4px rgba(0,0,0,.28)}
.ann-cat-normal{color:#61a4ff}.ann-cat-tournament{color:#55dda0}.ann-cat-important{color:#ff707a}
.announcement-filter-post{display:none;align-items:center;justify-content:center;min-height:38px;padding:8px 14px;border:1px solid rgba(110,232,219,.72);border-radius:6px;background:linear-gradient(180deg,#168f88,#0b6c69);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 4px 10px rgba(0,0,0,.2);color:#fff;font:800 .62rem 'Josefin Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;cursor:pointer}
.announcement-filter-post:hover,.announcement-filter-post:focus-visible{background:linear-gradient(180deg,#1ba49b,#0e7d78);outline:2px solid rgba(110,232,219,.3);outline-offset:2px}
.announcement-detail-inner{display:flex;height:100%;min-height:0;box-sizing:border-box;flex-direction:column}
.announcement-detail-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:auto;padding-top:28px}
.announcement-detail-actions .ann-detail-delete{display:inline-flex;margin:0}
.announcement-detail-navigation{display:flex;gap:9px;margin-left:auto}
.announcement-detail-navigation button{min-height:36px;padding:8px 12px;border:1px solid rgba(58,116,190,.5);border-radius:6px;background:rgba(15,55,99,.68);color:#dceaff;font:700 .61rem 'Josefin Sans',sans-serif;letter-spacing:.04em;cursor:pointer}
.announcement-detail-navigation button:hover,.announcement-detail-navigation button:focus-visible{border-color:#78aee7;background:rgba(28,78,127,.86);outline:2px solid rgba(120,174,231,.24);outline-offset:2px}
.announcement-detail-navigation button:disabled{opacity:.35;cursor:not-allowed}
@media(max-width:700px){
 .cal-header-row-one{grid-template-columns:1fr!important;gap:15px!important}
 .cal-header-row-one>.portal-switch{grid-column:1;width:100%;max-width:none}
 .cal-header-row-one .portal-switch-tab{min-height:48px}
 .announcement-filter-post{grid-column:1/-1;width:100%}
 .announcement-detail-inner{height:auto}
 .announcement-detail-body{max-height:420px;flex:none}
 .announcement-detail-actions{align-items:stretch;flex-direction:column}
 .announcement-detail-navigation{width:100%;margin-left:0}
 .announcement-detail-navigation button{flex:1}
}