/* Defaults match the Policies page: a centered 700px list, Gotham Ultra year headings, light rows separated by a 2px
   white border, and navy pill buttons that grow on hover. Elementor widget controls override them. */
.prep-meetings{--pm-navy:#002b54;--pm-row:#f2f5f7;--pm-btn-line:#e6d5bd;--pm-muted:#64798c;--pm-ultra:'Gotham Ultra',Arial,sans-serif;--pm-medium:'Gotham Medium',Arial,sans-serif;--pm-bold:'Gotham Bold',Arial,sans-serif;--pm-black:'Gotham Black','Gotham Bold',Arial,sans-serif;--pm-book:'Gotham Book',Arial,sans-serif;--pm-btn-scale:1.1;
  width:100%;max-width:700px;margin-left:auto;margin-right:auto;color:var(--pm-navy);font-family:var(--pm-medium)}
.prep-meetings *{box-sizing:border-box}
.prep-meetings [hidden]{display:none!important}
.prep-meetings .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

/* Sections and headings */
.prep-meetings .prep-meetings__section{margin:0 0 30px}
.prep-meetings .prep-meetings__section:last-of-type{margin-bottom:0}
/* Heading text starts where the meeting dates do (rows: 2px border + 5px padding). */
.prep-meetings .prep-meetings__heading{margin:0 0 10px;padding:0 7px;font:500 18px/1 var(--pm-ultra);color:var(--pm-navy);letter-spacing:normal;text-transform:none;border-bottom:0 solid transparent}
.prep-meetings .prep-meetings__toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;text-align:inherit;cursor:pointer}
.prep-meetings .prep-meetings__toggle:hover,.prep-meetings .prep-meetings__toggle:focus{background:none;color:inherit}
/* Collapsible heading hover: a light gold highlight with rounded corners, like the site search results. The
   padding is offset with negative margins so the heading text stays where it was. The button selector outranks the
   site theme's button hover (white background and shadow). */
.prep-meetings button.prep-meetings__toggle{width:calc(100% + 2 * var(--pm-heading-pad-x,10px));margin:calc(-1 * var(--pm-heading-pad-y,6px)) calc(-1 * var(--pm-heading-pad-x,10px));padding:var(--pm-heading-pad-y,6px) var(--pm-heading-pad-x,10px);border:0;border-radius:var(--pm-heading-hover-radius,10px);background:transparent;box-shadow:none;transform:none;transition:background-color .18s ease,color .18s ease}
.prep-meetings button.prep-meetings__toggle:not(:hover):focus:not(:focus-visible){background:transparent;box-shadow:none}
.prep-meetings button.prep-meetings__toggle:hover,.prep-meetings button.prep-meetings__toggle:focus-visible{background:var(--pm-heading-hover-bg,#efe9df);color:var(--pm-heading-hover-color,inherit);box-shadow:none}

.prep-meetings .prep-meetings__toggle:focus-visible{outline:2px solid var(--pm-navy);outline-offset:4px}
.prep-meetings .prep-meetings__chevron{flex:0 0 auto;width:18px;height:18px;transition:transform .2s ease}
.prep-meetings .prep-meetings__toggle[aria-expanded="false"] .prep-meetings__chevron{transform:rotate(-90deg)}

/* Rows */
.prep-meetings .prep-meetings__list{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.prep-meetings .prep-meetings__row{display:flex;align-items:var(--pm-row-valign,center);justify-content:space-between;gap:12px;min-height:50px;padding:5px;background:var(--pm-row);border:2px solid #fff;border-radius:10px;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}
.prep-meetings .prep-meetings__title{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;flex:1 1 auto;min-width:0;margin:0;font:500 14px/1.5 var(--pm-medium);color:var(--pm-navy);letter-spacing:normal;text-transform:none;overflow-wrap:anywhere}
.prep-meetings .prep-meetings__title-link{color:inherit;text-decoration:none;transition:color .2s ease}
.prep-meetings .prep-meetings__title-link:hover{text-decoration:underline}
/* A meeting: the date with its badges, then a muted line of details (title, time, place) and any notes. */
.prep-meetings .prep-meetings__row{padding:7px 5px 7px 7px}
.prep-meetings .prep-meetings__date{font:inherit;color:inherit}
.prep-meetings .prep-meetings__badge{display:inline-block;margin:0;padding:3px 9px;border-radius:999px;background:var(--pm-badge-bg,#e3eaf1);color:var(--pm-badge-color,var(--pm-navy));font:11px/1.2 var(--pm-bold);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}
.prep-meetings .prep-meetings__badge--special-meeting{background:var(--pm-badge-special-bg,#efe2cc);color:var(--pm-badge-special-color,#6b4a12)}
.prep-meetings .prep-meetings__badge--working-session{background:var(--pm-badge-working-bg,#e2ecdf);color:var(--pm-badge-working-color,#2f5a24)}
.prep-meetings .prep-meetings__badge--retreat{background:var(--pm-badge-retreat-bg,#e8e3f3);color:var(--pm-badge-retreat-color,#4b3a7a)}
.prep-meetings .prep-meetings__badge--status{background:var(--pm-badge-status-bg,#f6dede);color:var(--pm-badge-status-color,#8a2525)}
.prep-meetings .prep-meetings__badge--rescheduled,.prep-meetings .prep-meetings__badge--postponed{background:var(--pm-badge-moved-bg,#f6ebd2);color:var(--pm-badge-moved-color,#7a5410)}
.prep-meetings .prep-meetings__badge--next{background:var(--pm-badge-next-bg,var(--pm-navy));color:var(--pm-badge-next-color,#fff)}
.prep-meetings .prep-meetings__badge--upcoming{background:var(--pm-badge-upcoming-bg,#fff);color:var(--pm-badge-upcoming-color,var(--pm-navy));box-shadow:inset 0 0 0 1px var(--pm-badge-upcoming-line,#c9d4df)}
.prep-meetings .prep-meetings__subject{margin:3px 0 0;padding:0;font:14px/1.4 var(--pm-medium);color:var(--pm-subject,var(--pm-navy));overflow-wrap:anywhere}
.prep-meetings .prep-meetings__details{margin:3px 0 0;padding:0;font:13px/1.45 var(--pm-book);color:var(--pm-muted);overflow-wrap:anywhere}
.prep-meetings .prep-meetings__details.has-icons{display:flex;flex-wrap:wrap;gap:2px 16px}
.prep-meetings .prep-meetings__details .prep-meetings__detail{display:inline}
.prep-meetings .prep-meetings__notes .prep-meetings__detail{display:list-item}
.prep-meetings .prep-meetings__details.has-icons .prep-meetings__detail{display:inline-flex;align-items:flex-start;gap:var(--pm-icon-gap,5px);min-width:0}
.prep-meetings .prep-meetings__detail-icon{flex:0 0 auto;width:var(--pm-icon-size,14px);height:var(--pm-icon-size,14px);margin-top:calc((1.45em - var(--pm-icon-size,14px)) / 2);color:var(--pm-icon-color,#b79664)}
/* Drawers: the Agenda and Minutes buttons open a panel under the meeting listing what the document holds (a
   BoardBook agenda's items and attachments, or the numbered items read from the PDF), with a link to the whole
   document. Full row width, below the date and buttons. --pm-drawer-accent is the top edge and link color per kind. */
.prep-meetings .prep-meetings__row{flex-wrap:wrap}
.prep-meetings .prep-meetings__drawer{--pm-drawer-accent:var(--pm-navy);flex:0 0 auto;width:100%;order:3;align-content:flex-start;display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;box-sizing:border-box;min-width:0;margin:4px 0 2px;padding:12px 16px;background:var(--pm-drawer-bg,#fff);border:0 solid var(--pm-drawer-line,transparent);border-top:var(--pm-drawer-accent-w,3px) solid var(--pm-drawer-accent);border-radius:10px;color:var(--pm-navy)}
.prep-meetings .prep-meetings__drawer[hidden]{display:none}
.prep-meetings .prep-meetings__drawer--minutes{--pm-drawer-accent:#b8860b}
.prep-meetings .prep-meetings__drawer-meta{order:1;flex:1 1 auto;min-width:0;margin:0;padding:0;font:12px/1.4 var(--pm-book);color:var(--pm-muted)}
.prep-meetings .prep-meetings__drawer-open{order:2;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;margin:0;padding:2px 12px;border:2px solid var(--pm-drawer-accent);border-radius:123px;background:#fff;color:var(--pm-navy);font:400 13px/1.5 var(--pm-black);text-decoration:none;white-space:nowrap;transition:background-color .2s ease,color .2s ease,border-color .2s ease}
.prep-meetings .prep-meetings__drawer-open:hover,.prep-meetings .prep-meetings__drawer-open:focus-visible{background:var(--pm-drawer-accent);color:#fff;text-decoration:none}
.prep-meetings .prep-meetings__drawer-open:focus-visible{outline:2px solid var(--pm-focus,var(--pm-navy));outline-offset:2px}
.prep-meetings .prep-meetings__drawer-open-icon{flex:0 0 auto;width:13px;height:13px}
.prep-meetings .prep-meetings__drawer-open-icon.is-custom,.prep-meetings .prep-meetings__file-icon.is-custom{display:inline-flex;align-items:center;justify-content:center;font-size:13px;line-height:1}
.prep-meetings .is-custom svg{width:1em;height:1em;fill:currentColor}
.prep-meetings .prep-meetings__drawer-list{order:3;flex:0 0 100%;min-width:0;margin:2px 0 0;padding:0;list-style:none;font:14px/1.5 var(--pm-book);color:var(--pm-navy)}
.prep-meetings .prep-meetings__item{margin:0;padding:3px 0 3px calc(var(--pm-depth,0) * var(--pm-drawer-indent,18px));overflow-wrap:anywhere}
.prep-meetings .prep-meetings__item--depth-0{font-family:var(--pm-medium)}
.prep-meetings .prep-meetings__item[hidden]{display:none}
.prep-meetings .prep-meetings__item-number{color:var(--pm-drawer-number,var(--pm-muted));font-family:var(--pm-medium)}
.prep-meetings .no-numbers .prep-meetings__item-number{display:none}
.prep-meetings .prep-meetings__item-page{margin-left:4px;font:12px/1.4 var(--pm-book);color:var(--pm-muted);text-decoration:none;white-space:nowrap}
.prep-meetings a.prep-meetings__item-page:hover,.prep-meetings a.prep-meetings__item-page:focus-visible{color:var(--pm-navy);text-decoration:underline}
.prep-meetings .prep-meetings__files{display:flex;flex-wrap:wrap;gap:4px 6px;margin:4px 0 2px;padding:0;list-style:none}
.prep-meetings .prep-meetings__files li{margin:0;padding:0}
.prep-meetings .prep-meetings__file{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:2px 8px;border-radius:6px;background:var(--pm-file-bg,#e3eaf1);color:var(--pm-file-color,var(--pm-navy));font:12px/1.4 var(--pm-book);text-decoration:none;overflow-wrap:anywhere;transition:background-color .18s ease,color .18s ease}
.prep-meetings .prep-meetings__file:hover,.prep-meetings .prep-meetings__file:focus-visible{background:var(--pm-file-hover-bg,var(--pm-navy));color:var(--pm-file-hover-color,#fff);text-decoration:none}
.prep-meetings .prep-meetings__file-icon{flex:0 0 auto;width:12px;height:12px;color:var(--pm-file-icon,currentColor)}
.prep-meetings .prep-meetings__drawer-more{order:4;display:inline-block;width:auto;min-height:0;margin:2px 0 0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:var(--pm-navy);font:13px/1.5 var(--pm-medium);letter-spacing:normal;text-transform:none;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.prep-meetings .prep-meetings__drawer-more:hover,.prep-meetings .prep-meetings__drawer-more:focus{background:none;color:var(--pm-navy);text-decoration-thickness:2px}
.prep-meetings .prep-meetings__notes{margin:5px 0 0;padding:0 0 0 18px;font:13px/1.45 var(--pm-book);color:var(--pm-muted);list-style:disc}
.prep-meetings .prep-meetings__notes li{margin:0;padding:0}
.prep-meetings .prep-meetings__row.is-canceled .prep-meetings__date{text-decoration:line-through;text-decoration-thickness:1px;opacity:.75}
.prep-meetings .prep-meetings__row.is-next{box-shadow:inset 0 0 0 var(--pm-next-line-w,2px) var(--pm-next-line,#b79664);background-color:var(--pm-next-bg,var(--pm-row))}
.prep-meetings .prep-meetings__note,.prep-meetings .prep-meetings__footer{margin:0 0 16px;padding:0 7px;font:14px/1.5 var(--pm-book);color:var(--pm-navy)}
.prep-meetings .prep-meetings__footer{margin:30px 0 0;color:var(--pm-muted)}
.prep-meetings .prep-meetings__note a,.prep-meetings .prep-meetings__footer a{color:inherit;text-decoration:underline}

/* Buttons */
.prep-meetings .prep-meetings__buttons{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;flex:0 0 auto;margin-right:5px}
/* Buttons: the old board pages' look by default. White pills with a 2px border (Agenda navy, Minutes gold, extra
   buttons such as Zoom blue) that fill with their border color on hover and grow. Each kind reads its colors from
   variables, so Style → Buttons can change one kind (or all) without touching the others. */
.prep-meetings .prep-meetings__btn{--b-line:var(--pm-navy);--b-text:var(--pm-navy);--b-bg:#fff;display:inline-flex;align-items:center;gap:8px;margin:0;padding:2px 15px;border:2px solid var(--b-line);border-radius:123px;background:var(--b-bg);color:var(--b-text);font:400 14px/1.6 var(--pm-black);text-decoration:none;white-space:nowrap;transition:transform .2s ease,background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}
/* Drawer buttons are <button>s: undo theme button styles so they match the links. */
.prep-meetings button.prep-meetings__btn{min-height:0;width:auto;letter-spacing:normal;text-transform:none;box-shadow:none;cursor:pointer;-webkit-appearance:none;appearance:none}
.prep-meetings .prep-meetings__btn--minutes{--b-line:#b8860b}
.prep-meetings .prep-meetings__btn--other{--b-line:#0f76b8}
.prep-meetings .prep-meetings__btn:hover,.prep-meetings .prep-meetings__btn:focus-visible{transform:translateY(calc(-1 * var(--pm-btn-lift,0px))) scale(var(--pm-btn-scale));background:var(--b-hover-bg,var(--b-line));border-color:var(--b-hover-line,var(--b-line));color:var(--b-hover-text,#fff);text-decoration:none}
.prep-meetings .prep-meetings__btn:focus-visible{outline:2px solid var(--pm-focus,var(--pm-navy));outline-offset:2px}
/* A drawer button while its drawer is open: filled like hover, without growing. */
.prep-meetings .prep-meetings__btn[aria-expanded="true"]{background:var(--b-hover-bg,var(--b-line));border-color:var(--b-hover-line,var(--b-line));color:var(--b-hover-text,#fff)}
.prep-meetings .prep-meetings__btn-chevron{flex:0 0 auto;width:12px;height:12px;margin-left:-2px;transition:transform .2s ease}
.prep-meetings .prep-meetings__btn-chevron--custom{display:inline-flex;align-items:center;justify-content:center;font-size:12px;line-height:1}
.prep-meetings .prep-meetings__btn-chevron--custom svg{width:1em;height:1em;fill:currentColor}
.prep-meetings .prep-meetings__btn[aria-expanded="true"] .prep-meetings__btn-chevron{transform:rotate(var(--pm-chevron-turn,180deg))}
.prep-meetings--no-chevron .prep-meetings__btn-chevron{display:none}
/* Other starting points (Content → Buttons → Style). Written as "a.prep-meetings__btn" so they beat the defaults
   above but stay below the widget's Style → Buttons settings, which always win. */
.prep-meetings--btn-filled :is(a,button).prep-meetings__btn{padding:5px 10px;border-width:1px;border-color:#e6d5bd;background:var(--pm-navy);color:#fff;font-family:var(--pm-bold)}
.prep-meetings--btn-filled :is(a,button).prep-meetings__btn:hover,.prep-meetings--btn-filled :is(a,button).prep-meetings__btn:focus-visible{border-color:#e6d5bd;background:var(--pm-navy);color:#fff}
.prep-meetings--btn-soft :is(a,button).prep-meetings__btn{border-color:transparent;background:#e3eaf1;color:var(--pm-navy);font-family:var(--pm-bold)}
.prep-meetings--btn-soft :is(a,button).prep-meetings__btn:hover,.prep-meetings--btn-soft :is(a,button).prep-meetings__btn:focus-visible{border-color:transparent;background:var(--pm-navy);color:#fff}
.prep-meetings--btn-link :is(a,button).prep-meetings__btn{padding:4px 2px;border-color:transparent;background:transparent;color:var(--pm-navy);font-family:var(--pm-bold);--pm-btn-scale:1}
.prep-meetings--btn-link :is(a,button).prep-meetings__btn:hover,.prep-meetings--btn-link :is(a,button).prep-meetings__btn:focus-visible{border-color:transparent;background:transparent;color:var(--pm-navy)}
.prep-meetings--btn-link :is(a,button).prep-meetings__btn:hover .prep-meetings__btn-text,.prep-meetings--btn-link :is(a,button).prep-meetings__btn:focus-visible .prep-meetings__btn-text{text-decoration:underline}
.prep-meetings .prep-meetings__icon{flex:0 0 auto;width:16px;height:16px}
.prep-meetings .prep-meetings__icon--custom{display:inline-flex;align-items:center;justify-content:center;font-size:16px;line-height:1}
.prep-meetings .prep-meetings__icon--custom svg{width:100%;height:100%;fill:currentColor}
.prep-meetings--icon-after .prep-meetings__icon{order:2}
.prep-meetings--no-icon .prep-meetings__icon{display:none}

/* Search, section links, count and no-results message (all optional) */
/* Search & filter bar: a colored band (full screen width by default, like the staff directory's) holding the
   search box, Section and Sort menus and a Clear button on one line. */
.prep-meetings{--pm-bar-bg:#efe9df;--pm-height:36px;--pm-sticky-top:0px;--pm-admin-bar:0px}
body.admin-bar .prep-meetings{--pm-admin-bar:32px}
@media(max-width:782px){body.admin-bar .prep-meetings{--pm-admin-bar:46px}}
@media(max-width:600px){
  .prep-meetings{--pm-height:38px}body.admin-bar .prep-meetings{--pm-admin-bar:0px}}
.prep-meetings .prep-meetings__bar{--pm-bar-fill:linear-gradient(to top,var(--pm-bar-line,transparent) 0 var(--pm-bar-line-w,0px),var(--pm-bar-bg) 0);margin:0 0 24px;padding:16px 0;background:var(--pm-bar-fill)}
.prep-meetings.prep-meetings--bleed .prep-meetings__bar{border-image:var(--pm-bar-fill) fill 0//0 100vmax}
.prep-meetings.prep-meetings--freeze-bar .prep-meetings__bar{position:sticky;top:calc(var(--pm-sticky-top) + var(--pm-admin-bar));z-index:30;transition:box-shadow .2s ease}
.prep-meetings .prep-meetings__bar.is-stuck{box-shadow:0 8px 18px #002b5414}
.prep-meetings .prep-meetings__bar-inner{display:flex;flex-wrap:var(--pm-bar-wrap,nowrap);align-items:flex-end;gap:10px;margin:0 auto}
.prep-meetings .prep-meetings__field{display:flex;flex-direction:column;gap:5px;min-width:0}
.prep-meetings .prep-meetings__field--search{flex:var(--pm-search-grow,var(--pm-search-share-grow,1)) 1 var(--pm-search-basis,var(--pm-search-share,0%));min-width:min(160px,100%)}
.prep-meetings .prep-meetings__field--section{flex:var(--pm-menu-grow,0) 1 210px}
.prep-meetings .prep-meetings__field--section{flex-basis:130px}
.prep-meetings .prep-meetings__field--type{flex:var(--pm-menu-grow,0) 1 175px}
.prep-meetings .prep-meetings__field--sort{flex:var(--pm-menu-grow,0) 1 145px}
/* Three menus share the line with the search box, which keeps room to type. */
.prep-meetings .prep-meetings__field--search{min-width:min(220px,100%)}
.prep-meetings .prep-meetings__field--clear{flex:0 0 auto}
.prep-meetings .prep-meetings__field--toggle-all{flex:0 0 auto}
.prep-meetings .prep-meetings__field--clear.is-idle:not(.is-always){display:none}
.prep-meetings .prep-meetings__bar .prep-meetings__clear:disabled{opacity:.5;cursor:default}
.prep-meetings .prep-meetings__bar-label{font:12px/1.4 var(--pm-medium);color:var(--pm-navy)}
.prep-meetings--no-bar-labels .prep-meetings__bar-label{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.prep-meetings .prep-meetings__bar select{display:block;width:100%;height:var(--pm-height);margin:0;padding:0 36px 0 16px;border:1px solid #d4dce4;border-radius:999px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6' fill='none' stroke='%23002b54' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center/14px 14px;color:var(--pm-navy);font:14px var(--pm-book);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;cursor:pointer;-webkit-appearance:none;appearance:none;transition:border-color .18s ease,box-shadow .18s ease}
.prep-meetings .prep-meetings__bar select:hover{border-color:var(--pm-navy)}
.prep-meetings .prep-meetings__bar select:focus{outline:0}
.prep-meetings .prep-meetings__bar select:focus-visible{outline:2px solid var(--pm-navy);outline-offset:2px}
.prep-meetings .prep-meetings__clear{display:inline-flex;align-items:center;justify-content:center;width:var(--pm-height);height:var(--pm-height);min-height:0;margin:0;padding:0;border:1px solid #d4dce4;border-radius:50%;background:#fff;color:var(--pm-navy);cursor:pointer;box-shadow:none;transition:background-color .18s ease,border-color .18s ease,color .18s ease}
.prep-meetings .prep-meetings__clear:hover{border-color:var(--pm-navy);background:#fff;color:var(--pm-navy)}
.prep-meetings .prep-meetings__clear:focus-visible{outline:2px solid var(--pm-navy);outline-offset:2px}
/* Clear button: an X circle by default; Icon + text and Text make it a pill. */
.prep-meetings .prep-meetings__bar .prep-meetings__clear:not(.prep-meetings__clear--compact){width:auto;gap:8px;padding:0 18px;border-radius:999px;font:14px/1 var(--pm-book);white-space:nowrap}
.prep-meetings .prep-meetings__clear .prep-meetings__menu-icon{position:static;transform:none;width:16px;height:16px;color:inherit}
/* Menu icons (Icon + text) and Icon only circles, as in the staff directory. */
.prep-meetings .prep-meetings__menu-box{position:relative;display:block}
.prep-meetings .prep-meetings__menu-icon{position:absolute;z-index:1;top:50%;left:var(--pm-menu-icon-left,16px);width:var(--pm-menu-icon-size,16px);height:var(--pm-menu-icon-size,16px);transform:translateY(-50%);color:var(--pm-menu-icon-color,var(--pm-navy));pointer-events:none}
.prep-meetings .prep-meetings__menu-icon--custom{display:inline-flex;align-items:center;justify-content:center;font-size:var(--pm-menu-icon-size,16px);line-height:1}
.prep-meetings .prep-meetings__menu-icon--custom svg{width:100%;height:100%;fill:currentColor}
.prep-meetings .prep-meetings__menu-box:hover .prep-meetings__menu-icon{color:var(--pm-menu-icon-hover,var(--pm-menu-icon-color,var(--pm-navy)))}
.prep-meetings .prep-meetings__bar .prep-meetings__menu.has-icon select{padding-left:calc(var(--pm-menu-icon-left,16px) + var(--pm-menu-icon-size,16px) + 8px)}
.prep-meetings .prep-meetings__bar .prep-meetings__field.is-compact{flex:0 0 auto}
.prep-meetings .prep-meetings__bar .prep-meetings__menu.is-compact .prep-meetings__bar-label{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.prep-meetings .prep-meetings__bar .prep-meetings__menu.is-compact .prep-meetings__menu-box{width:var(--pm-compact-size,var(--pm-height));height:var(--pm-compact-size,var(--pm-height))}
.prep-meetings .prep-meetings__bar .prep-meetings__menu.is-compact select{width:100%;height:100%;padding:0!important;border-radius:var(--pm-compact-radius,50%);color:transparent;background-image:none;text-indent:-9999px}
.prep-meetings .prep-meetings__bar .prep-meetings__menu.is-compact select option{color:var(--pm-navy);text-indent:0}
.prep-meetings .prep-meetings__bar .prep-meetings__menu.is-compact .prep-meetings__menu-icon{left:50%;transform:translate(-50%,-50%)}
.prep-meetings .prep-meetings__bar .prep-meetings__field--clear.is-compact .prep-meetings__clear{width:var(--pm-compact-size,var(--pm-height));height:var(--pm-compact-size,var(--pm-height));border-radius:var(--pm-compact-radius,50%)}
.prep-meetings .prep-meetings__menu.is-compact.is-set .prep-meetings__menu-box::after{content:'';position:absolute;z-index:2;top:0;right:0;width:10px;height:10px;border-radius:50%;background:var(--pm-set-dot,#b79664);box-shadow:0 0 0 2px #fff;pointer-events:none}
.prep-meetings--no-search-icon .prep-meetings__glass{display:none}
/* Styled dropdown list (meetings.js): opens below its menu instead of over it. */
.prep-meetings .prep-meetings__popup{position:absolute;z-index:60;top:calc(100% + 6px);left:0;min-width:max(100%,200px);max-height:min(60vh,360px);overflow:auto;padding:6px;background:#fff;border:1px solid #cbd6e1;border-radius:14px;box-shadow:0 12px 32px #002b5426;outline:0;text-align:left;cursor:default}
.prep-meetings .prep-meetings__popup.is-right{left:auto;right:0}
.prep-meetings .prep-meetings__option{padding:9px 12px;border-radius:9px;font:14px/1.3 var(--pm-book);color:var(--pm-navy);white-space:nowrap;cursor:pointer}
.prep-meetings .prep-meetings__option.is-active{background:var(--pm-row)}
.prep-meetings .prep-meetings__option[aria-selected="true"]{font-family:var(--pm-medium)}
/* Frozen section headings stay below a frozen bar while their section scrolls by. */
.prep-meetings--freeze-headings .prep-meetings__heading{position:sticky;top:var(--pm-frozen-bottom,calc(var(--pm-sticky-top) + var(--pm-admin-bar)));z-index:20;background:var(--pm-heading-bg,#fff);padding-top:8px;padding-bottom:8px;margin-bottom:2px}
/* Search results: meetings found inside their documents show an excerpt under the title. While searching, rows get
   the site search's hover (light gold, 1% larger) and fade up as they appear. Optionally the hover applies all the time. */
.prep-meetings.prep-meetings--searching .prep-meetings__row,.prep-meetings.prep-meetings--hover-all .prep-meetings__row{position:relative;transition:transform .24s cubic-bezier(.2,.7,.3,1),background-color .18s ease,border-color .2s ease,box-shadow .2s ease}
.prep-meetings.prep-meetings--searching .prep-meetings__row:hover,.prep-meetings.prep-meetings--searching .prep-meetings__row:focus-within,.prep-meetings.prep-meetings--hover-all .prep-meetings__row:hover,.prep-meetings.prep-meetings--hover-all .prep-meetings__row:focus-within{z-index:2;transform:scale(var(--pm-result-scale,1.01));background-color:var(--pm-result-hover,#efe9df)}
.prep-meetings .prep-meetings__row.is-entering>*{animation:prep-meetings-fade-up .39s cubic-bezier(.2,.7,.3,1) both;animation-delay:calc(var(--pm-order,0) * 32.5ms)}
@keyframes prep-meetings-fade-up{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.prep-meetings .prep-meetings__snippet[hidden]{display:none}
/* Click anywhere on a result to open it; with several buttons, a pop-up asks which. */
.prep-meetings.prep-meetings--clickable.prep-meetings--searching .prep-meetings__row,.prep-meetings.prep-meetings--clickable.prep-meetings--hover-all .prep-meetings__row{cursor:pointer}
.prep-meetings .prep-meetings__row.is-choosing{z-index:30;background-color:var(--pm-result-hover,#efe9df)}
.prep-meetings .prep-meetings__choose{position:absolute;top:calc(100% - 8px);z-index:40;display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:200px;max-width:min(320px,calc(100% - 16px));padding:12px;background:var(--pm-choose-bg,#fff);border-radius:12px;box-shadow:0 12px 32px rgba(0,43,84,.22);cursor:default;animation:prep-meetings-fade-up .2s cubic-bezier(.2,.7,.3,1) both}
.prep-meetings .prep-meetings__choose.is-above{top:auto;bottom:calc(100% - 8px)}
.prep-meetings .prep-meetings__choose-title{margin:0 0 2px;padding:0;font:13px/1.35 var(--pm-book);color:var(--pm-muted)}
.prep-meetings .prep-meetings__choose .prep-meetings__btn{justify-content:flex-start;margin:0}
@media (prefers-reduced-motion:reduce){.prep-meetings .prep-meetings__row.is-entering>*{animation:none}.prep-meetings.prep-meetings--searching .prep-meetings__row,.prep-meetings.prep-meetings--hover-all .prep-meetings__row{transform:none!important;transition:background-color .18s ease}}
.prep-meetings .prep-meetings__main{flex:var(--pm-main-grow,1) 1 0%;min-width:0}
.prep-meetings .prep-meetings__snippet{margin:2px 0 0;padding:0;font:13px/1.45 var(--pm-book);color:var(--pm-muted);overflow-wrap:anywhere}
.prep-meetings .prep-meetings__mark{background:#f6e7b8;color:inherit;border-radius:3px;padding:0 1px}
.prep-meetings .prep-meetings__search{display:flex;align-items:center;gap:10px;height:var(--pm-height);padding:0 16px;border:1px solid #d4dce4;border-radius:999px;background:#fff;transition:border-color .18s ease,box-shadow .18s ease}
.prep-meetings .prep-meetings__search:focus-within{border-color:var(--pm-navy)}
.prep-meetings .prep-meetings__glass{flex:0 0 auto;width:18px;height:18px;color:var(--pm-navy)}
.prep-meetings .prep-meetings__search input,.prep-meetings .prep-meetings__search input:focus{flex:1 1 0;width:0;min-width:0;height:100%!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;color:var(--pm-navy);font:15px var(--pm-book)}
.prep-meetings .prep-meetings__search input::placeholder{color:#7d8fa1;opacity:1}
.prep-meetings .prep-meetings__nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 24px}
.prep-meetings .prep-meetings__nav-link{padding:7px 14px;border:1px solid transparent;border-radius:999px;background:var(--pm-row);color:var(--pm-navy);font:14px/1.2 var(--pm-medium);text-decoration:none;transition:background-color .2s ease,color .2s ease,border-color .2s ease}
.prep-meetings .prep-meetings__nav-link:hover,.prep-meetings .prep-meetings__nav-link:focus-visible{background:var(--pm-navy);color:#fff}
/* The count line, with the Collapse all / Expand all button at the right. */
.prep-meetings .prep-meetings__meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin:0 0 16px;padding:0 7px}
.prep-meetings .prep-meetings__meta .prep-meetings__count{margin:0;padding:0}
/* Right under the search & filter bar, the count line sits 10px closer to it (14px gap instead of the bar's 24px). */
.prep-meetings .prep-meetings__bar+.prep-meetings__meta{margin-top:-10px}
.prep-meetings .prep-meetings__toggle-all{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:30px;min-height:0;margin:0 0 0 var(--pm-toggle-all-ml,auto);padding:0 12px;border:1px solid #d4dce4;border-radius:999px;background:#fff;color:var(--pm-navy);font:13px/1 var(--pm-book);letter-spacing:normal;text-transform:none;white-space:nowrap;box-shadow:none;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}
.prep-meetings .prep-meetings__toggle-all:hover,.prep-meetings .prep-meetings__toggle-all:focus{background:var(--pm-bar-bg,#efe9df);border-color:#c9b99c;color:var(--pm-navy)}
.prep-meetings .prep-meetings__toggle-all:focus-visible{outline:2px solid var(--pm-focus,var(--pm-navy));outline-offset:2px}
.prep-meetings .prep-meetings__toggle-all-icon{flex:0 0 auto;width:16px;height:16px;font-size:16px;line-height:1}
.prep-meetings .prep-meetings__toggle-all-icon--custom{display:inline-flex;align-items:center;justify-content:center}
.prep-meetings .prep-meetings__toggle-all-icon--custom svg{width:1em;height:1em;fill:currentColor}
.prep-meetings .prep-meetings__toggle-all .prep-meetings__toggle-all-icon--expand,.prep-meetings .prep-meetings__toggle-all.is-collapsed .prep-meetings__toggle-all-icon--collapse{display:none}
.prep-meetings .prep-meetings__toggle-all.is-collapsed .prep-meetings__toggle-all-icon--expand{display:inline-flex}
.prep-meetings .prep-meetings__toggle-all.is-icon{width:auto;aspect-ratio:1/1;padding:0}
.prep-meetings .prep-meetings__toggle-all.is-icon .prep-meetings__toggle-all-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* In the search & menus bar: as tall as the search box. Listed after the defaults above with the same weight, and one
   class lighter than the widget's Style → Collapse all button settings, so those always win. */
.prep-meetings__bar .prep-meetings__toggle-all{height:var(--pm-height);margin:0;padding:0 16px;font-size:14px}
.prep-meetings__bar .prep-meetings__toggle-all.is-icon{padding:0}
.prep-meetings__bar .prep-meetings__toggle-all:hover,.prep-meetings__bar .prep-meetings__toggle-all:focus{background:#fff;border-color:var(--pm-navy)}
.prep-meetings .prep-meetings__count,.prep-meetings .prep-meetings__empty{margin:0 0 16px;padding:0 7px;font:14px/1.4 var(--pm-book);color:var(--pm-muted)}

@media(max-width:767px){
  .prep-meetings .prep-meetings__title{font-size:15px}
  /* The bar wraps: search on its own line, then the menus and Clear button. */
  .prep-meetings .prep-meetings__bar-inner{flex-wrap:wrap}
  .prep-meetings:not(.prep-meetings--menus-compact) .prep-meetings__field--search{flex-basis:100%}
  .prep-meetings.prep-meetings--menus-compact .prep-meetings__bar-inner{flex-wrap:nowrap}
  .prep-meetings .prep-meetings__field--section,.prep-meetings .prep-meetings__field--type,.prep-meetings .prep-meetings__field--sort{flex:1 1 0}
  /* Long button labels wrap instead of squeezing the date. */
  .prep-meetings .prep-meetings__buttons{max-width:45%}
  .prep-meetings .prep-meetings__btn{white-space:normal;line-height:1.2;text-align:left}
}
/* Phones: the buttons go below the meeting's date and details, in one row. */
@media(max-width:600px){
  .prep-meetings .prep-meetings__row{--pm-main-grow:0;flex-direction:column;flex-wrap:nowrap;align-items:stretch;justify-content:var(--pm-row-valign,center);gap:8px}
  .prep-meetings .prep-meetings__buttons{max-width:none;justify-content:flex-start;margin:0}
  .prep-meetings .prep-meetings__btn{white-space:nowrap;flex:1 1 auto;justify-content:center}
  .prep-meetings .prep-meetings__drawer{margin:0;padding:10px 12px}
  /* The link to the whole document becomes a full-width button at the bottom of the drawer. */
  .prep-meetings .prep-meetings__drawer-open{order:5;flex:1 0 100%;margin-top:6px;padding:6px 12px}
  /* Year and type menus keep their words: a little less padding. */
  .prep-meetings .prep-meetings__bar .prep-meetings__menu:not(.is-compact) select{padding:0 30px 0 14px;background-position:right 10px center}
}
@media(prefers-reduced-motion:reduce){
  .prep-meetings .prep-meetings__btn,.prep-meetings .prep-meetings__row,.prep-meetings .prep-meetings__chevron,.prep-meetings .prep-meetings__btn-chevron{transition:none}
  .prep-meetings .prep-meetings__btn:hover,.prep-meetings .prep-meetings__btn:focus-visible{transform:none}
}

/* Phones and tablets: iOS zooms the page into any text box or menu with text under 16px, so on touch screens the
   search box and menus always use 16px (this outranks a smaller size set in the widget, on touch screens only). */
@media (hover:none),(pointer:coarse){.prep-meetings .prep-meetings__search input,.prep-meetings .prep-meetings__bar select{font-size:16px!important}}

/* Shown when several words found nothing as an exact phrase and were looked for separately instead. */
.prep-meetings .prep-meetings__loose{margin:0 0 14px;padding:0 7px;font:italic 13px/1.45 var(--pm-book);color:var(--pm-muted)}
.prep-meetings .prep-meetings__each-word{display:inline;margin:0;padding:0;border:0;background:none;box-shadow:none;color:var(--pm-navy,#002b54);font:inherit;font-style:normal;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.prep-meetings .prep-meetings__each-word:hover,.prep-meetings .prep-meetings__each-word:focus{background:none;color:var(--pm-navy,#002b54);text-decoration-thickness:2px}
