/* Global Board meeting notice and public/staff calendar */
.meeting-notice-bar{background:#1d2524;color:#edf0ec;border-bottom:1px solid rgba(205,165,83,.28);font-size:12px;letter-spacing:.035em}
.meeting-notice-inner{width:min(1320px,calc(100% - 44px));min-height:36px;margin:auto;display:flex;align-items:center;gap:8px;padding:7px 0}
.meeting-notice-label{color:var(--gold);font-weight:700;letter-spacing:.06em}
.meeting-notice-bar a{margin-left:auto;color:#f0dca9;font-weight:700;white-space:nowrap;text-underline-offset:3px}
.meeting-notice-bar a:hover{text-decoration:underline}
.meeting-page-hero{min-height:330px;padding:70px max(28px,calc((100% - 1160px)/2));background:linear-gradient(120deg,#10253f,#1b3d5a);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:42px;position:relative;overflow:hidden}
.meeting-page-hero:after{content:"";position:absolute;width:340px;height:340px;border:1px solid rgba(205,165,83,.16);border-radius:50%;right:-120px;top:-180px}
.meeting-page-hero>div,.meeting-page-hero>.button{position:relative;z-index:1}
.meeting-page-hero h1{font:400 clamp(42px,5.5vw,66px)/1.08 var(--serif);margin:0 0 18px}
.meeting-page-hero p:not(.eyebrow){max-width:700px;margin:0;color:#d6e0e7;font-size:17px}
.meeting-calendar-section{max-width:1180px;margin:0 auto;padding:82px 28px 24px}
.meeting-calendar-heading{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;align-items:center;text-align:center;gap:18px;margin-bottom:30px}
.meeting-calendar-heading h2{font:400 clamp(34px,4vw,50px)/1.12 var(--serif);color:var(--navy);margin:5px 0 0}
.month-arrow{width:50px;height:50px;border:1px solid #d7c89f;display:grid;place-items:center;color:var(--navy);font-size:22px;text-decoration:none;background:#fff}
.month-arrow:hover{background:var(--cream)}
.calendar-mobile-hint{display:none;color:var(--muted);font-size:12px;text-align:center}
.meeting-calendar-shell{overflow-x:auto;overscroll-behavior-inline:contain;border:1px solid var(--stone);box-shadow:0 20px 50px rgba(16,37,63,.09)}
.meeting-calendar{min-width:760px;background:#fff}
.calendar-weekdays,.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.calendar-weekdays{background:var(--navy);color:#fff}
.calendar-weekdays span{padding:13px 8px;text-align:center;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-right:1px solid rgba(255,255,255,.1)}
.calendar-day{min-height:125px;padding:12px;border-right:1px solid var(--stone);border-bottom:1px solid var(--stone);background:#fff;position:relative}
.calendar-day:nth-child(7){border-right:0}
.calendar-day>time{width:30px;height:30px;display:grid;place-items:center;color:var(--navy);font-size:12px;font-weight:700;border-radius:50%}
.calendar-day.outside-month{background:#faf9f6}
.calendar-day.outside-month>time{color:#a9adb0}
.calendar-day.today>time{background:var(--navy);color:#fff}
.calendar-day.has-meeting{background:#fffaf0}
.calendar-event{display:block;margin-top:7px;padding:8px;background:#f0dfb5;border-left:3px solid var(--gold);text-decoration:none;color:var(--navy);line-height:1.25}
.calendar-event strong,.calendar-event span{display:block}
.calendar-event strong{font-size:10px;letter-spacing:.04em}
.calendar-event span{font:700 11px/1.35 var(--serif);margin-top:3px}
.upcoming-meetings{padding-top:62px}
.meeting-list{display:grid;gap:18px}
.meeting-card{scroll-margin-top:30px;display:grid;grid-template-columns:82px minmax(0,1fr);gap:25px;padding:28px;background:#fff;border:1px solid var(--stone);box-shadow:0 15px 35px rgba(16,37,63,.07)}
.meeting-date{background:var(--navy);color:#fff;min-height:82px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.meeting-date strong{font:400 30px/1 var(--serif)}
.meeting-date span{color:var(--gold-light);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-top:7px}
.meeting-card h3{font:700 22px var(--serif);color:var(--navy);margin:4px 0 8px}
.meeting-card p{margin:4px 0;color:var(--muted)}
.meeting-meta{color:#9a742d!important;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.meeting-tba-card{max-width:760px;margin:0 auto;padding:54px 42px;text-align:center;background:var(--cream);border:1px solid #dbc58f;position:relative}
.meeting-tba-label{display:block;color:#9a742d;font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.meeting-tba-card>strong{display:block;color:var(--navy);font:400 clamp(54px,8vw,78px)/1 var(--serif);margin:14px 0 18px}
.meeting-tba-card p{max-width:560px;margin:auto;color:var(--muted)}
.meeting-manage-grid .checkbox-field{display:grid;grid-template-columns:22px 1fr;align-items:center;column-gap:10px}
.meeting-manage-grid .checkbox-field label{grid-column:2;grid-row:1;margin:0}
.meeting-manage-grid .checkbox-field input{grid-column:1;grid-row:1;width:18px;height:18px}
.meeting-cancel-edit{display:block;text-align:center;margin-top:14px;color:var(--navy);font-weight:700;font-size:13px}
.meeting-manage-row span{display:block}
.meeting-admin-empty{padding:24px;background:var(--cream);border:1px solid var(--stone)}
.meeting-admin-empty strong{color:var(--navy);font:700 17px var(--serif)}
.meeting-admin-empty p{margin:8px 0 0;color:var(--muted)}
@media(max-width:900px){
  .meeting-notice-inner{width:calc(100% - 28px);align-items:flex-start;flex-wrap:wrap;line-height:1.45;padding:8px 0}
  .meeting-notice-bar a{margin-left:0}
  .meeting-page-hero{padding:55px 24px;display:block}
  .meeting-page-hero>.button{margin-top:28px;width:100%}
}
@media(max-width:620px){
  .meeting-notice-bar{font-size:10px}
  .meeting-notice-inner{gap:4px 6px}
  .meeting-notice-label{width:auto}
  .meeting-notice-bar a{width:100%;padding-top:2px}
  .meeting-page-hero{min-height:280px}
  .meeting-page-hero h1{font-size:40px}
  .meeting-page-hero p:not(.eyebrow){font-size:15px}
  .meeting-calendar-section{padding:60px 0 12px}
  .meeting-calendar-heading{grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;padding:0 16px}
  .month-arrow{width:42px;height:42px}
  .meeting-calendar-heading h2{font-size:32px}
  .calendar-mobile-hint{display:block;margin:0 20px 14px}
  .meeting-calendar-shell{border-left:0;border-right:0}
  .meeting-calendar{min-width:680px}
  .calendar-day{min-height:112px;padding:9px}
  .upcoming-meetings{padding:48px 20px 72px}
  .meeting-card{grid-template-columns:62px minmax(0,1fr);gap:16px;padding:18px}
  .meeting-date{min-height:68px}
  .meeting-date strong{font-size:25px}
  .meeting-card h3{font-size:19px}
  .meeting-tba-card{padding:44px 24px}
}
