.nrtg-upcoming{--nrtg-blue:#004a77;--nrtg-yellow:#f5bf48;font-family:inherit;color:#263b4d}.nrtg-upcoming *{box-sizing:border-box}.nrtg-upcoming__intro{margin:0 0 20px}.nrtg-upcoming__toolbar{background:#f2f5f8;border-radius:5px;padding:16px;margin-bottom:16px}.nrtg-upcoming__filters{display:flex;gap:20px;align-items:end;flex-wrap:wrap}.nrtg-upcoming__filters label{display:flex;flex-direction:column;gap:6px;font-weight:600;flex:1;min-width:170px}.nrtg-upcoming select,.nrtg-upcoming input[type=month]{width:100%;min-height:42px;padding:8px 12px;background:white;border:1px solid #c8d3dd;border-radius:5px;color:#263b4d}.nrtg-upcoming__clear{border:0;background:transparent;color:var(--nrtg-blue);text-decoration:underline;cursor:pointer;padding:10px}.nrtg-upcoming__controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:14px 0}.nrtg-upcoming__switch{display:flex;gap:5px}.nrtg-upcoming__switch button{border:0;border-radius:5px;padding:10px 15px;background:#e7eef4;color:var(--nrtg-blue);cursor:pointer}.nrtg-upcoming__switch button[aria-pressed=true]{background:var(--nrtg-blue);color:white}.nrtg-upcoming__item{display:flex;align-items:center;gap:16px;background:white;border:1px solid #e7edf2;border-radius:6px;margin:8px 0;padding:12px 16px;box-shadow:0 1px 5px #001b3410}.nrtg-upcoming__date{min-width:58px;display:flex;flex-direction:column;align-items:center;line-height:1.2}.nrtg-upcoming__date strong{font-size:30px;color:#122b40}.nrtg-upcoming__date small,.nrtg-upcoming__date span{font-size:12px}.nrtg-upcoming__item img{width:75px;height:65px;object-fit:cover;border-radius:4px}.nrtg-upcoming__info{flex:1;min-width:0}.nrtg-upcoming__info a{font-weight:700;color:var(--nrtg-blue);text-decoration:none}.nrtg-upcoming__info small{display:block;margin-top:5px}.nrtg-upcoming__timing{min-width:140px}.nrtg-upcoming__details{background:var(--nrtg-yellow);padding:10px 15px;border-radius:5px;color:#162b3d;text-decoration:none;font-weight:700;white-space:nowrap}.nrtg-upcoming__status{margin:8px 0}.nrtg-upcoming__calendar-nav{display:flex;align-items:center;justify-content:center;gap:20px;margin:16px 0}.nrtg-upcoming__calendar-nav button{padding:4px 12px;border:1px solid #c8d3dd;background:white;border-radius:4px;cursor:pointer}.nrtg-upcoming__calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-left:1px solid #dae3eb;border-top:1px solid #dae3eb}.nrtg-upcoming__weekday{text-align:center;font-weight:600;background:#f1f5f9;padding:9px 0}.nrtg-upcoming__weekday,.nrtg-upcoming__day,.nrtg-upcoming__blank{border-right:1px solid #dae3eb;border-bottom:1px solid #dae3eb}.nrtg-upcoming__day,.nrtg-upcoming__blank{min-height:110px;padding:7px;overflow:hidden}.nrtg-upcoming__day>a{display:block;margin-top:4px;padding:5px;background:#e4f1fb;color:#004a77;border-radius:4px;font-size:12px;overflow-wrap:anywhere;text-decoration:none}.nrtg-upcoming__day>span{font-size:12px}.nrtg-upcoming__more{display:block;margin:20px auto;background:var(--nrtg-blue);color:white;border:0;padding:12px 20px;border-radius:5px;cursor:pointer}.nrtg-upcoming__more[hidden],.nrtg-upcoming [hidden]{display:none!important}.nrtg-upcoming__mobile-filter{display:none}@media(max-width:700px){.nrtg-upcoming__mobile-filter{display:flex;justify-content:space-between;width:100%;border:1px solid #a9c1d6;border-radius:5px;padding:12px;background:#e7eef4;color:#004a77;font-weight:700}.nrtg-upcoming__filters{display:none;margin-top:12px;flex-direction:column;align-items:stretch}.nrtg-upcoming--filters-open .nrtg-upcoming__filters{display:flex}.nrtg-upcoming__filters label{width:100%;min-width:0}.nrtg-upcoming__controls{flex-direction:column;align-items:stretch}.nrtg-upcoming__switch button{flex:1}.nrtg-upcoming__item{gap:10px;padding:10px}.nrtg-upcoming__item img{width:60px;height:60px}.nrtg-upcoming__date{min-width:42px}.nrtg-upcoming__date strong{font-size:24px}.nrtg-upcoming__timing,.nrtg-upcoming__details{display:none}.nrtg-upcoming__day,.nrtg-upcoming__blank{min-height:52px;padding:3px;text-align:center}.nrtg-upcoming__day>a{font-size:0;width:8px;height:8px;border-radius:50%;background:#0067a4;padding:0;margin:4px auto}.nrtg-upcoming__day>span{font-size:11px}}

.nrtg-upcoming__empty{border:1px solid #d8e4ed;border-radius:6px;background:#f5f8fa;padding:24px;text-align:center;margin:12px 0 20px}.nrtg-upcoming__empty p{margin:0 0 16px}.nrtg-upcoming__empty-clear{background:var(--nrtg-blue);color:#fff;border:0;border-radius:5px;padding:11px 20px;font-weight:600;cursor:pointer}.nrtg-upcoming__empty-clear:hover,.nrtg-upcoming__empty-clear:focus-visible{background:#003957}.nrtg-upcoming__empty-clear:focus-visible{outline:2px solid #f5bf48;outline-offset:3px}

/* v0.1.8: portrait-friendly mobile list cards; calendar remains desktop-only. */
@media (max-width:700px){
 .nrtg-upcoming__switch{display:none!important}
 .nrtg-upcoming__controls{margin:10px 0 12px}
 .nrtg-upcoming__item{display:grid;grid-template-columns:112px minmax(0,1fr);grid-template-rows:auto auto;align-items:start;column-gap:14px;row-gap:9px;padding:14px;margin:10px 0}
 .nrtg-upcoming__item img{grid-column:1;grid-row:1 / 3;width:112px;height:155px;max-width:100%;object-fit:cover;object-position:center;border-radius:5px}
 .nrtg-upcoming__date{grid-column:2;grid-row:1;display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:5px;min-width:0;line-height:1.4;color:#526477}
 .nrtg-upcoming__date strong{font-size:12px;font-weight:500;color:inherit}
 .nrtg-upcoming__date span,.nrtg-upcoming__date small{font-size:12px}
 .nrtg-upcoming__info{grid-column:2;grid-row:2;min-width:0;align-self:start}
 .nrtg-upcoming__info a{font-size:15px;line-height:1.35;display:block;overflow-wrap:anywhere}
 .nrtg-upcoming__info small{font-size:13px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
 .nrtg-upcoming__timing{display:none}
 .nrtg-upcoming__details{display:block;grid-column:2;grid-row:3;white-space:normal;text-align:center;padding:10px 8px;font-size:13px}
 .nrtg-upcoming__item:not(:has(img)) .nrtg-upcoming__date{grid-column:1;grid-row:1}
 .nrtg-upcoming__item:not(:has(img)) .nrtg-upcoming__info{grid-column:1 / -1;grid-row:2}
 .nrtg-upcoming__item:not(:has(img)) .nrtg-upcoming__details{grid-column:1 / -1;grid-row:3}
}
@media (max-width:360px){.nrtg-upcoming__item{grid-template-columns:92px minmax(0,1fr);gap:10px}.nrtg-upcoming__item img{width:92px;height:136px}}

/* v0.1.10: catalogue-style filter panel and simplified desktop cards */
.nrtg-upcoming__toolbar{background:#fff;border:1px solid #d6dee5;border-radius:0;padding:16px;margin-bottom:16px;box-shadow:0 2px 8px #001b3408}
.nrtg-upcoming__filters{display:flex;gap:12px;align-items:center;flex-wrap:nowrap}
.nrtg-upcoming__filters label{min-width:0;flex:1;gap:0;font-size:0}
.nrtg-upcoming__filters select{min-height:46px;border:1px solid #d0d9e1;border-radius:6px;background:#fff;color:#122b40;font-size:14px;font-weight:600;padding:10px 12px}
.nrtg-upcoming__actions{display:flex;flex-direction:column;gap:6px;flex:0 0 128px}
.nrtg-upcoming__clear,.nrtg-upcoming__hide{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:42px;padding:9px 12px;border:0;border-radius:6px;color:#fff;text-decoration:none;font-size:13px;font-weight:700;cursor:pointer}
.nrtg-upcoming__clear{background:#00834b;color:#fff}
.nrtg-upcoming__hide{background:#004a77;color:#fff}
.nrtg-upcoming__clear:hover{background:#006e40}.nrtg-upcoming__hide:hover{background:#003957}
.nrtg-upcoming__open{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:44px;padding:10px 14px;border:1px solid #a9c1d6;border-radius:6px;background:#e7eef4;color:#004a77;font-weight:700;cursor:pointer}
.nrtg-upcoming__timing{display:none!important}
@media(max-width:700px){
 .nrtg-upcoming__toolbar{padding:12px;background:#f2f5f8;border:0;border-radius:5px}
 .nrtg-upcoming__filters{display:none;flex-direction:column;align-items:stretch;gap:12px}
 .nrtg-upcoming--filters-open .nrtg-upcoming__filters:not([hidden]){display:flex}
 .nrtg-upcoming__filters label{width:100%;flex:auto}
 .nrtg-upcoming__actions{flex:auto;width:100%}
 .nrtg-upcoming__hide,.nrtg-upcoming__open{display:none!important}
}

/* Exact icon paths and strokes from NRTG Course Filter v0.4.39-alpha. */
.nrtg-upcoming__clear svg,.nrtg-upcoming__hide svg,.nrtg-upcoming__open svg{width:1.1em;height:1.1em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;display:block}
.nrtg-upcoming__clear > span,.nrtg-upcoming__hide > span{display:inline-flex;align-items:center;justify-content:center}
.nrtg-upcoming__open > span:last-child{margin-left:auto}

/* Consistent with NRTG Course Filter: keep icon SVG visible and at fixed dimensions. */
.nrtg-upcoming .nrtg-upcoming__clear svg,
.nrtg-upcoming .nrtg-upcoming__hide svg,
.nrtg-upcoming .nrtg-upcoming__open svg {
  display:block!important; width:14.3px!important; height:14.3px!important;
  fill:none!important; stroke:currentColor!important; stroke-width:1.8!important;
  stroke-linecap:round!important; stroke-linejoin:round!important;
  flex:none; max-width:none; max-height:none;
}
.nrtg-upcoming .nrtg-upcoming__clear > span:last-child,
.nrtg-upcoming .nrtg-upcoming__hide > span:last-child,
.nrtg-upcoming .nrtg-upcoming__open > span {display:inline-flex;align-items:center;justify-content:center;flex:none}

/* v0.1.13: concise subject and venue metadata in place of excerpts. */
.nrtg-upcoming__meta{display:flex;flex-direction:column;gap:4px;margin-top:6px}
.nrtg-upcoming__meta-row{display:flex;align-items:flex-start;gap:7px;color:#455b6f;font-size:13px;line-height:1.45}
.nrtg-upcoming__meta-row svg{flex:none;width:15px;height:15px;margin-top:2px;fill:none;stroke:#004a77;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nrtg-upcoming__meta-row span{min-width:0;overflow-wrap:anywhere}
@media(max-width:700px){.nrtg-upcoming__meta-row{font-size:12px}.nrtg-upcoming__meta{gap:3px;margin-top:6px}}
/* v0.1.19: catalogue-inspired search and multi-select filters. */
.nrtg-upcoming__filters{gap:8px;align-items:center}
.nrtg-upcoming__search{display:flex!important;align-items:center;flex:1 1 180px!important;min-width:145px!important;position:relative;font-size:14px!important}
.nrtg-upcoming__search input{width:100%;min-height:46px;border:1px solid #d0d9e1;border-radius:5px;padding:9px 32px 9px 12px;font:inherit;background:#fff}
.nrtg-upcoming__search span{position:absolute;right:12px;color:#004a77;font-size:22px}
.nrtg-upcoming__multi{position:relative;flex:1 1 140px;min-width:115px}
.nrtg-upcoming__multi-toggle{width:100%;height:46px;background:white;border:1px solid #d0d9e1;border-radius:5px;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;color:#122b40;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}
.nrtg-upcoming__multi-toggle span:first-child{overflow:hidden;text-overflow:ellipsis}
.nrtg-upcoming__multi-menu{position:absolute;z-index:60;top:calc(100% + 5px);left:0;width:max(100%,250px);max-width:min(310px,90vw);background:#fff;border:1px solid #d0d9e1;box-shadow:0 8px 24px #14213d26;border-radius:5px;padding:14px;color:#14213d;font-size:13px}
.nrtg-upcoming__multi-menu strong{display:block;margin-bottom:12px}
.nrtg-upcoming__multi-menu label{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;font-size:13px!important;font-weight:400!important;padding:5px 0;min-width:0}
.nrtg-upcoming__multi-menu input{accent-color:#004a77;width:16px;height:16px;flex:none}
.nrtg-upcoming__multi-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e2e7eb;margin:10px -14px -14px;padding:11px 14px;background:#f7f9fa}
.nrtg-upcoming__multi-foot button{border:0;background:transparent;color:#004a77;font-weight:700;cursor:pointer}
.nrtg-upcoming__venue{flex:1 1 125px!important;min-width:110px!important}
.nrtg-upcoming__actions{flex:0 0 128px}
@media(max-width:1100px) and (min-width:701px){.nrtg-upcoming__filters{flex-wrap:wrap}.nrtg-upcoming__multi{flex:1 1 145px}.nrtg-upcoming__actions{flex:0 0 128px}}
@media(max-width:700px){.nrtg-upcoming__filters{flex-direction:column;align-items:stretch}.nrtg-upcoming__search,.nrtg-upcoming__multi,.nrtg-upcoming__venue{width:100%;flex:auto!important}.nrtg-upcoming__multi-menu{position:static;width:100%;max-width:none;margin-top:4px}.nrtg-upcoming__search{display:flex!important}}

/* v0.1.20: Align both action labels to the same left edge, icons to the right. */
.nrtg-upcoming .nrtg-upcoming__actions .nrtg-upcoming__clear,
.nrtg-upcoming .nrtg-upcoming__actions .nrtg-upcoming__hide{justify-content:space-between;text-align:left;}
.nrtg-upcoming .nrtg-upcoming__actions .nrtg-upcoming__hide .nrtg-upcoming__button-label{margin-left:0;flex:1;justify-content:flex-start;text-align:left;}
.nrtg-upcoming .nrtg-upcoming__actions .nrtg-upcoming__hide > span:last-child{margin-left:auto;}

/* v0.1.21: Training Catalogue filter iconography and control proportions. */
.nrtg-upcoming__multi--subject .nrtg-upcoming__multi-icon {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='black'%3E%3Crect x='3' y='3' width='5' height='5' rx='1'/%3E%3Crect x='9.5' y='3' width='5' height='5' rx='1'/%3E%3Crect x='16' y='3' width='5' height='5' rx='1'/%3E%3Crect x='3' y='9.5' width='5' height='5' rx='1'/%3E%3Crect x='9.5' y='9.5' width='5' height='5' rx='1'/%3E%3Crect x='16' y='9.5' width='5' height='5' rx='1'/%3E%3Crect x='3' y='16' width='5' height='5' rx='1'/%3E%3Crect x='9.5' y='16' width='5' height='5' rx='1'/%3E%3Crect x='16' y='16' width='5' height='5' rx='1'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='black'%3E%3Crect x='3' y='3' width='5' height='5' rx='1'/%3E%3Crect x='9.5' y='3' width='5' height='5' rx='1'/%3E%3Crect x='16' y='3' width='5' height='5' rx='1'/%3E%3Crect x='3' y='9.5' width='5' height='5' rx='1'/%3E%3Crect x='9.5' y='9.5' width='5' height='5' rx='1'/%3E%3Crect x='16' y='9.5' width='5' height='5' rx='1'/%3E%3Crect x='3' y='16' width='5' height='5' rx='1'/%3E%3Crect x='9.5' y='16' width='5' height='5' rx='1'/%3E%3Crect x='16' y='16' width='5' height='5' rx='1'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
}
.nrtg-upcoming__multi--level .nrtg-upcoming__multi-icon {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 20v-5M10 20V9M15 20V4M20 20v-8' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 20v-5M10 20V9M15 20V4M20 20v-8' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
.nrtg-upcoming__multi--format .nrtg-upcoming__multi-icon {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='4' width='18' height='12' rx='1' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M8 20h8M12 16v4' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='4' width='18' height='12' rx='1' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M8 20h8M12 16v4' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center / contain no-repeat;
}
.nrtg-upcoming__multi--duration .nrtg-upcoming__multi-icon {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M12 7v5l3 2' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M12 7v5l3 2' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
.nrtg-upcoming__multi--accreditation .nrtg-upcoming__multi-icon {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='9' r='5' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='m9 14-2 7 5-3 5 3-2-7' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='9' r='5' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='m9 14-2 7 5-3 5 3-2-7' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.nrtg-upcoming .nrtg-upcoming__filters { gap: 8px; }
.nrtg-upcoming .nrtg-upcoming__multi-toggle {justify-content:flex-start; gap:7px; padding:9px 12px; text-align:left;}
.nrtg-upcoming .nrtg-upcoming__multi-icon {display:block;width:15px;height:15px;flex:0 0 15px;background-color:#004a77;}
.nrtg-upcoming .nrtg-upcoming__multi-toggle [data-multi-summary] {flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.nrtg-upcoming .nrtg-upcoming__multi-chevron {display:inline-flex;flex:none;align-items:center;justify-content:center;transition:transform .16s ease;}
.nrtg-upcoming .nrtg-upcoming__multi-chevron svg {width:14px;height:14px;fill:none;stroke:#004a77;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.nrtg-upcoming .nrtg-upcoming__multi-toggle[aria-expanded="true"] .nrtg-upcoming__multi-chevron {transform:rotate(180deg);}
.nrtg-upcoming .nrtg-upcoming__search {height:46px;}
.nrtg-upcoming .nrtg-upcoming__search input {height:46px;min-height:46px;padding:9px 34px 9px 12px;font-size:14px;font-weight:400;}
.nrtg-upcoming .nrtg-upcoming__search-icon {position:absolute;right:12px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;color:#004a77;pointer-events:none;}
.nrtg-upcoming .nrtg-upcoming__search-icon svg {width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;}
.nrtg-upcoming .nrtg-upcoming__multi {min-width:0;flex:1 1 140px;}
.nrtg-upcoming .nrtg-upcoming__search {min-width:0!important;flex:1.25 1 180px!important;}
.nrtg-upcoming .nrtg-upcoming__actions {flex:0 0 128px;}
@media (max-width:700px) {
 .nrtg-upcoming .nrtg-upcoming__multi,.nrtg-upcoming .nrtg-upcoming__search {width:100%;flex:auto!important;}
}

/* v0.1.23: Use one explicit desktop grid so the final filter and action
   buttons share exactly the same column gap as every other control. */
@media (min-width:1101px) {
  .nrtg-upcoming .nrtg-upcoming__filters {
    display: grid;
    grid-template-columns: minmax(0,1.25fr) repeat(5,minmax(0,1fr)) 128px;
    gap: 8px;
    align-items: center;
  }
  .nrtg-upcoming .nrtg-upcoming__search,
  .nrtg-upcoming .nrtg-upcoming__multi,
  .nrtg-upcoming .nrtg-upcoming__actions {
    width: 100%;
    min-width: 0;
    margin-left: 0;
  }
}

/* v0.1.24: Match Training Catalogue's desktop control widths.
   Keep the actions immediately after Accreditation instead of using
   fractional grid tracks that distribute the remaining space. */
@media (min-width: 1200px) {
  .nrtg-upcoming .nrtg-upcoming__filters {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: center;
    gap: 8px;
  }
  .nrtg-upcoming .nrtg-upcoming__search {
    flex: 0 1 185px !important;
    width: 185px;
    max-width: 185px;
  }
  .nrtg-upcoming .nrtg-upcoming__multi {
    flex: 0 1 auto;
    min-width: 0;
  }
  .nrtg-upcoming .nrtg-upcoming__multi--subject,
  .nrtg-upcoming .nrtg-upcoming__multi--level { width: 145px; }
  .nrtg-upcoming .nrtg-upcoming__multi--format { width: 175px; }
  .nrtg-upcoming .nrtg-upcoming__multi--duration { width: 165px; }
  .nrtg-upcoming .nrtg-upcoming__multi--accreditation { width: 170px; }
  .nrtg-upcoming .nrtg-upcoming__actions {
    flex: 0 0 128px;
    width: 128px;
    margin: 0;
  }
}

/* v0.1.25: Match Course Filter v0.4.39 tablet/mobile filter arrangement.
   Scoped to the filter toolbar; desktop and course display remain unchanged. */
@media (min-width: 768px) and (max-width: 1199px) {
  .nrtg-upcoming .nrtg-upcoming__filters {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
    align-items: stretch;
  }
  .nrtg-upcoming .nrtg-upcoming__search {
    grid-column: 1 / -1;
    width: 100%; max-width: none; min-width: 0 !important;
    flex: none !important;
  }
  .nrtg-upcoming .nrtg-upcoming__multi {
    width: 100%; min-width: 0; flex: none !important;
  }
  .nrtg-upcoming .nrtg-upcoming__actions {
    grid-column: 1 / -1;
    display: flex; flex-direction: row;
    align-items: center; justify-content: space-between;
    width: 100%; min-width: 0;
    margin: .15rem 0 0; padding-top: .8rem;
    border-top: 1px solid #d6dee5;
    gap: 1rem; flex: none;
  }
  .nrtg-upcoming .nrtg-upcoming__actions .nrtg-upcoming__clear,
  .nrtg-upcoming .nrtg-upcoming__actions .nrtg-upcoming__hide {
    width: auto; min-width: 145px;
  }
  .nrtg-upcoming .nrtg-upcoming__multi-menu {
    max-width: min(310px, 90vw);
  }
}
@media (max-width: 767px) {
  .nrtg-upcoming .nrtg-upcoming__toolbar {
    padding: .75rem;
    background: #fff; border: 1px solid #d6dee5; border-radius: 0;
  }
  .nrtg-upcoming .nrtg-upcoming__mobile-filter {
    display: flex; align-items: center; justify-content: space-between;
    width: 100%; min-height: 52px;
    border: 1px solid #d0d9e1; border-radius: 6px;
    background: #fff; color: #004a77;
  }
  .nrtg-upcoming .nrtg-upcoming__filters {
    display: none;
    grid-template-columns: minmax(0, 1fr);
    flex-direction: column; align-items: stretch;
    gap: .65rem; margin-top: .65rem;
  }
  .nrtg-upcoming.nrtg-upcoming--filters-open .nrtg-upcoming__filters:not([hidden]) {
    display: grid;
  }
  .nrtg-upcoming .nrtg-upcoming__search,
  .nrtg-upcoming .nrtg-upcoming__multi {
    width: 100%; min-width: 0 !important;
    max-width: none; flex: none !important;
  }
  .nrtg-upcoming .nrtg-upcoming__search,
  .nrtg-upcoming .nrtg-upcoming__search input,
  .nrtg-upcoming .nrtg-upcoming__multi-toggle {
    height: 52px; min-height: 52px;
  }
  .nrtg-upcoming .nrtg-upcoming__multi-toggle {font-size: .92rem; border-radius: 6px;}
  .nrtg-upcoming .nrtg-upcoming__multi-menu {
    position: static; width: 100%; max-width: none;
    margin-top: .35rem; box-shadow: 0 6px 16px rgba(17,36,55,.1);
  }
  .nrtg-upcoming .nrtg-upcoming__actions {
    display: flex; flex-direction: column;
    width: 100%; min-width: 0; flex: none;
    gap: .65rem; align-items: stretch;
    padding-top: .75rem; border-top: 1px solid #d6dee5;
  }
  .nrtg-upcoming .nrtg-upcoming__actions .nrtg-upcoming__clear {
    width: 100%; max-width: none; min-height: 46px;
  }
  /* The Schedule's existing mobile toggle remains responsible for opening filters. */
}

/* v0.1.26: Catalogue-style expanded mobile filters, with a collapsible panel. */
@media (max-width:767px) {
  .nrtg-upcoming .nrtg-upcoming__mobile-filter {display:none;}
  .nrtg-upcoming:not(.nrtg-upcoming--filters-open) .nrtg-upcoming__mobile-filter {display:flex;}
  .nrtg-upcoming .nrtg-upcoming__filters:not([hidden]) {display:grid;grid-template-columns:minmax(0,1fr);gap:.65rem;margin-top:0;}
  .nrtg-upcoming:not(.nrtg-upcoming--filters-open) .nrtg-upcoming__filters {display:none!important;}
  .nrtg-upcoming .nrtg-upcoming__toolbar {padding:.75rem;background:#fff;border:1px solid #d6dee5;border-radius:0;}
  .nrtg-upcoming .nrtg-upcoming__actions {margin-top:.15rem;padding-top:.75rem;border-top:1px solid #d6dee5;}
  .nrtg-upcoming .nrtg-upcoming__actions .nrtg-upcoming__hide {display:flex!important;width:100%;min-height:46px;}
  .nrtg-upcoming .nrtg-upcoming__actions .nrtg-upcoming__clear {width:100%;min-height:46px;}
  .nrtg-upcoming .nrtg-upcoming__open {display:none!important;}
  .nrtg-upcoming .nrtg-upcoming__search input {height:52px;min-height:52px;}
  .nrtg-upcoming .nrtg-upcoming__multi-toggle {height:52px;min-height:52px;}
}

/* v0.1.27: Same mobile expand/collapse model as the Training Catalogue.
   No standalone Filters dropdown; the full filter form is visible on initial load. */
@media (max-width:767px) {
  .nrtg-upcoming .nrtg-upcoming__mobile-filter { display:none!important; }
  .nrtg-upcoming .nrtg-upcoming__filters:not([hidden]) {
    display:grid!important; grid-template-columns:minmax(0,1fr); gap:.65rem; margin-top:0;
  }
  .nrtg-upcoming .nrtg-upcoming__open:not([hidden]) {
    display:flex!important; width:100%; min-height:52px; background:#fff;
    border:1px solid #d0d9e1; border-radius:6px;
  }
  .nrtg-upcoming .nrtg-upcoming__open[hidden] { display:none!important; }
}

/* v0.1.28: Match Catalogue mobile action label alignment.
   Earlier generic span styles set margin-left:auto on both labels and icons. */
@media (max-width:767px) {
  .nrtg-upcoming .nrtg-upcoming__actions .nrtg-upcoming__clear > span:first-child,
  .nrtg-upcoming .nrtg-upcoming__actions .nrtg-upcoming__hide > span:first-child {
    margin-left:0;
    justify-content:flex-start;
    text-align:left;
  }
  .nrtg-upcoming .nrtg-upcoming__actions .nrtg-upcoming__clear > span:last-child,
  .nrtg-upcoming .nrtg-upcoming__actions .nrtg-upcoming__hide > span:last-child {
    margin-left:auto;
  }
}

/* v0.1.29: Consistent 1rem search text and placeholder at all viewport sizes. */
.nrtg-upcoming .nrtg-upcoming__search input,
.nrtg-upcoming .nrtg-upcoming__search input::placeholder {
  font-size: 1rem !important;
}

/* v0.1.30: Tablet Clear Filters label alignment matches Training Catalogue.
   Override the generic margin-left:auto on the first span only. */
@media (min-width: 768px) and (max-width: 1199px) {
  .nrtg-upcoming .nrtg-upcoming__actions .nrtg-upcoming__clear {
    justify-content: space-between;
    text-align: left;
  }
  .nrtg-upcoming .nrtg-upcoming__actions .nrtg-upcoming__clear > span:first-child {
    margin-left: 0;
    justify-content: flex-start;
    text-align: left;
  }
  .nrtg-upcoming .nrtg-upcoming__actions .nrtg-upcoming__clear > span:last-child {
    margin-left: auto;
  }
}

/* v0.1.32: Catalogue-style event metadata badges. */
.nrtg-upcoming__badges{display:flex;align-items:center;flex-wrap:wrap;gap:7px 9px;margin-top:9px;min-width:0}
.nrtg-upcoming__badge{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:5px 10px;border-radius:999px;color:#15344a;font-size:12px;font-weight:500;line-height:1.3;white-space:normal;overflow-wrap:anywhere}
.nrtg-upcoming__badge svg{width:15px;height:15px;flex:none;fill:none;stroke:#004a77;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nrtg-upcoming__badge--format{background:#e8eff8}
.nrtg-upcoming__badge--duration{background:#fff4d8}
.nrtg-upcoming__badge--level{background:#eaf4dd}
.nrtg-upcoming__badge--subject{background:#f0eafa}
@media(max-width:700px){.nrtg-upcoming__badges{gap:6px;margin-top:8px}.nrtg-upcoming__badge{font-size:11px;padding:4px 8px}.nrtg-upcoming__badge svg{width:13px;height:13px}}

/* NRTG button typography shared across the Training Schedule UI. */
.nrtg-upcoming .nrtg-upcoming__clear,
.nrtg-upcoming .nrtg-upcoming__hide,
.nrtg-upcoming .nrtg-upcoming__open,
.nrtg-upcoming .nrtg-upcoming__more,
.nrtg-upcoming .nrtg-upcoming__details {
  font-family: "franklin-gothic-urw-cond", sans-serif;
  font-size: 1rem;
  text-transform: uppercase;
  font-weight: 400;
  border-radius: 6px;
}

/* v0.1.34: Unified button shadow; compact action labels prevent wrapping. */
.nrtg-upcoming .nrtg-upcoming__clear,
.nrtg-upcoming .nrtg-upcoming__hide,
.nrtg-upcoming .nrtg-upcoming__open,
.nrtg-upcoming .nrtg-upcoming__more,
.nrtg-upcoming .nrtg-upcoming__details {
  box-shadow: 3px 8px 12px 0 rgba(0,0,0,.149);
}
.nrtg-upcoming .nrtg-upcoming__clear,
.nrtg-upcoming .nrtg-upcoming__hide,
.nrtg-upcoming .nrtg-upcoming__open {
  font-size: .9rem;
}
.nrtg-upcoming .nrtg-upcoming__clear > span:first-child,
.nrtg-upcoming .nrtg-upcoming__hide > span:first-child,
.nrtg-upcoming .nrtg-upcoming__open > span:first-child {
  white-space: nowrap;
}

/* v0.1.35: Consistent NRTG action-button padding (vertical 0.6rem, horizontal 1.25rem). */
.nrtg-upcoming .nrtg-upcoming__clear,
.nrtg-upcoming .nrtg-upcoming__hide,
.nrtg-upcoming .nrtg-upcoming__open,
.nrtg-upcoming .nrtg-upcoming__more,
.nrtg-upcoming .nrtg-upcoming__details {
  padding-block: 0.6rem;
  padding-inline: 1.25rem;
}

/* v0.1.36: Match the Catalogue accreditation dropdown's 350px panel and option spacing. */
@media (min-width: 701px) {
  .nrtg-upcoming .nrtg-upcoming__multi--accreditation .nrtg-upcoming__multi-menu {
    width: min(350px, 88vw);
    max-width: min(350px, 88vw);
    left: auto;
    right: 0;
  }
}
.nrtg-upcoming .nrtg-upcoming__multi--accreditation .nrtg-upcoming__multi-menu {
  padding: 0;
  overflow: hidden;
  border-radius: 7px;
  box-shadow: 0 12px 30px rgba(17, 36, 55, .18);
}
.nrtg-upcoming .nrtg-upcoming__multi--accreditation .nrtg-upcoming__multi-menu > strong {
  padding: .75rem .85rem .45rem;
  margin: 0;
  font-size: .78rem;
  font-weight: 800;
}
.nrtg-upcoming .nrtg-upcoming__multi--accreditation .nrtg-upcoming__multi-menu > label {
  display: flex !important;
  align-items: flex-start;
  gap: .55rem;
  padding: .42rem .85rem;
  font-size: .82rem !important;
  line-height: 1.35;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
}
.nrtg-upcoming .nrtg-upcoming__multi--accreditation .nrtg-upcoming__multi-menu > label input {
  width: 1rem;
  height: 1rem;
  flex: 0 0 1rem;
  margin: .05rem 0 0;
}
.nrtg-upcoming .nrtg-upcoming__multi--accreditation .nrtg-upcoming__multi-foot {
  margin: .55rem 0 0;
  padding: .7rem .85rem;
}
@media (max-width: 700px) {
  .nrtg-upcoming .nrtg-upcoming__multi--accreditation .nrtg-upcoming__multi-menu {
    width: 100%;
    max-width: none;
    left: auto;
    right: auto;
  }
}
