/* Six shared type roles: heading, section, title, body, label, caption. */
.nd-app{box-sizing:border-box;--nd-ink:#172d3b;--nd-muted:#52616a;--nd-line:#dbe2e5;--nd-soft:#f4f7f8;--nd-accent:#176b8b;--nd-heading-size:28px;--nd-section-size:20px;--nd-title-size:18px;--nd-body-size:16px;--nd-label-size:15px;--nd-caption-size:14px;--nd-regular:400;--nd-strong:600;--nd-heading-leading:1.35;--nd-section-leading:1.4;--nd-title-leading:1.45;--nd-body-leading:1.65;--nd-label-leading:1.5;--nd-caption-leading:1.6;--nd-tracking:-.015em;font-family:inherit;color:var(--nd-ink);font-size:var(--nd-body-size);font-weight:var(--nd-regular);line-height:var(--nd-body-leading);letter-spacing:var(--nd-tracking);width:100%;max-width:1200px;margin:12px auto 64px;text-align:left;word-break:keep-all;overflow-wrap:anywhere}
.nd-app *{box-sizing:border-box}.nd-app p,.nd-app h3,.nd-app h4,.nd-app h5{margin:0}.nd-app h3.nd-heading{font-family:inherit;font-size:var(--nd-heading-size);font-weight:var(--nd-strong);line-height:var(--nd-heading-leading);letter-spacing:var(--nd-tracking);color:var(--nd-ink);margin:5px 0 12px}.nd-app .nd-section-label h4,.nd-app .nd-section-title{font-family:inherit;font-size:var(--nd-section-size);font-weight:var(--nd-strong);line-height:var(--nd-section-leading);letter-spacing:var(--nd-tracking);color:var(--nd-ink)}.nd-app .nd-program-title{font-family:inherit;font-size:var(--nd-title-size);font-weight:var(--nd-strong);line-height:var(--nd-title-leading);letter-spacing:var(--nd-tracking);color:var(--nd-ink);margin:12px 0 10px}.nd-app button,.nd-app input,.nd-app select,.nd-app textarea{font-family:inherit;letter-spacing:inherit}.nd-app .nd-small,.nd-app .nd-program-meta,.nd-app .nd-program-description,.nd-app .nd-capacity,.nd-app .nd-period span,.nd-app .nd-consent details,.nd-app .nd-category,.nd-app .nd-open,.nd-app .nd-closed,.nd-app .nd-eyebrow,.nd-app .nd-field em{font-size:var(--nd-caption-size);font-weight:var(--nd-regular);line-height:var(--nd-caption-leading);letter-spacing:var(--nd-tracking)}.nd-app button,.nd-app .nd-field>span,.nd-app legend,.nd-app .nd-text-link,.nd-app .nd-consent>label{font-size:var(--nd-label-size);font-weight:var(--nd-strong);line-height:var(--nd-label-leading);letter-spacing:var(--nd-tracking)}
.nd-app .nd-intro{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:28px}.nd-app .nd-eyebrow{color:var(--nd-accent)}.nd-app .nd-intro p:not(.nd-eyebrow){color:var(--nd-muted)}.nd-app .nd-text-link{white-space:nowrap;color:var(--nd-accent);text-decoration:none;border-bottom:1px solid var(--nd-accent);padding-bottom:5px}.nd-app .nd-period{padding:18px 22px;background:var(--nd-soft);border-left:3px solid var(--nd-accent);display:flex;gap:12px 25px;align-items:center;justify-content:space-between;margin-bottom:32px}.nd-app .nd-period span{color:var(--nd-muted)}.nd-app .nd-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:36px;align-items:start}.nd-app .nd-section-label{display:flex;align-items:center;gap:12px;margin-bottom:20px}.nd-app .nd-section-label>span{color:var(--nd-accent);font-variant-numeric:tabular-nums}.nd-app .nd-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.nd-app button{cursor:pointer;box-shadow:none;text-transform:none}.nd-app .nd-filters button{min-height:42px;padding:9px 13px;border:1px solid var(--nd-line);border-radius:4px;background:#fff;color:var(--nd-muted)}.nd-app .nd-filters button[aria-pressed=true]{background:var(--nd-ink);border-color:var(--nd-ink);color:#fff}.nd-app .nd-programs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.nd-app .nd-program{padding:20px;text-align:left;background:#fff;border:1px solid var(--nd-line);border-radius:6px;width:100%;color:var(--nd-ink);transition:border-color .15s,background .15s}.nd-app .nd-program:hover:not(:disabled),.nd-app .nd-program[aria-pressed=true]{border-color:var(--nd-accent);background:#f0f8fb}.nd-app .nd-program[aria-pressed=true]{box-shadow:inset 0 0 0 1px var(--nd-accent)}.nd-app .nd-program:disabled{cursor:default;background:#f7f8f8;color:var(--nd-muted);opacity:1}.nd-app .nd-program-top{display:flex;justify-content:space-between;gap:8px;align-items:start}.nd-app .nd-category{color:var(--nd-muted)}.nd-app .nd-open{color:#17623d}.nd-app .nd-closed{color:#626d73}.nd-app .nd-program-meta{color:var(--nd-muted);margin-top:4px}.nd-app .nd-program-description{margin-top:12px;color:var(--nd-muted);white-space:pre-line}.nd-app .nd-capacity{display:flex;justify-content:space-between;gap:6px;margin-top:18px;color:var(--nd-muted)}.nd-app .nd-capacity strong{font-weight:var(--nd-strong);color:var(--nd-accent)}.nd-app .nd-meter{height:4px;background:#e4eaed;border-radius:2px;overflow:hidden;margin-top:9px}.nd-app .nd-meter span{height:100%;display:block;background:var(--nd-accent)}.nd-app .nd-form{border:1px solid var(--nd-line);border-top:3px solid var(--nd-ink);padding:28px;border-radius:0 0 6px 6px;background:#fff}.nd-app .nd-selected{padding:14px 16px;background:var(--nd-soft);margin-bottom:24px;color:var(--nd-accent)}.nd-app .nd-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}.nd-app .nd-field{display:flex;flex-direction:column;gap:8px;margin:0;min-width:0}.nd-app .nd-field b,.nd-app legend b{color:#b3342d}.nd-app .nd-field em{font-style:normal;color:var(--nd-muted);margin-left:5px}.nd-app input:not([type=radio]):not([type=checkbox]):not([type=hidden]),.nd-app textarea{width:100%;border:1px solid #becbd1;background:#fff;border-radius:4px;padding:11px 12px;color:var(--nd-ink);font-size:var(--nd-body-size);font-weight:var(--nd-regular);line-height:var(--nd-body-leading);letter-spacing:var(--nd-tracking);min-height:48px;box-shadow:none}.nd-app input::placeholder,.nd-app textarea::placeholder{color:#748087}.nd-app textarea{resize:vertical}.nd-app fieldset{border:0;padding:0}.nd-app legend{padding:0;margin-bottom:8px;float:none;width:auto}.nd-app .nd-radios{display:flex;gap:28px;align-items:center;min-height:48px}.nd-app .nd-radios label{display:flex;gap:9px;align-items:center}.nd-app input[type=radio],.nd-app input[type=checkbox]{width:18px;height:18px;min-width:18px;margin:2px 0;accent-color:var(--nd-accent);vertical-align:middle}.nd-app .nd-wide{grid-column:1/-1}.nd-app .nd-consents{margin-top:28px;padding-top:26px;border-top:1px solid var(--nd-line)}.nd-app .nd-consent{padding:12px 0;border-bottom:1px solid #edf0f2}.nd-app .nd-consent>label{display:flex;gap:10px;align-items:flex-start;cursor:pointer}.nd-app .nd-consent details{margin:8px 0 0 28px;color:var(--nd-muted)}.nd-app summary{cursor:pointer;min-height:28px;text-decoration:underline;text-underline-offset:3px}.nd-app .nd-consent details p{padding:14px;background:var(--nd-soft);white-space:pre-line}.nd-app .nd-primary{display:flex;gap:16px;justify-content:center;align-items:center;background:var(--nd-ink);color:#fff;border:1px solid var(--nd-ink);border-radius:4px;padding:14px 20px;min-height:52px;width:100%}.nd-app .nd-primary:hover:not(:disabled){background:var(--nd-accent);border-color:var(--nd-accent)}.nd-app .nd-primary:disabled{background:#e3e8eb;border-color:#e3e8eb;color:#626f76;cursor:not-allowed}.nd-app .nd-form>.nd-small{margin-top:13px;color:var(--nd-muted)}.nd-app .nd-message:empty{display:none}.nd-app .nd-message{margin:18px 0;padding:14px;background:#eef8f0;color:#195330;white-space:pre-line}.nd-app .nd-message.nd-error{color:#972820;background:#fff1ee}.nd-app .nd-empty{grid-column:1/-1;padding:44px 24px;border:1px dashed #bac9d0;background:#fafcfc;color:var(--nd-muted);text-align:center}.nd-app .nd-lookup{padding:32px;background:var(--nd-soft);border-top:3px solid var(--nd-ink)}.nd-app .nd-lookup-fields{display:grid;grid-template-columns:1fr 1fr 1.2fr 1fr auto;gap:18px;align-items:end}.nd-app .nd-lookup>.nd-small{margin-top:20px;color:var(--nd-muted)}.nd-app .nd-results{margin-top:36px}.nd-app .nd-results-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.nd-app .nd-secondary{background:#fff;border:1px solid #becbd1;padding:9px 15px;border-radius:4px;min-height:42px;color:var(--nd-ink)}.nd-app .nd-secondary:hover{background:var(--nd-soft)}.nd-app .nd-result{display:flex;justify-content:space-between;gap:24px;padding:24px 0;border-top:1px solid var(--nd-line)}.nd-app .nd-result-action{display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;min-width:100px}.nd-app .nd-result .nd-small{color:var(--nd-muted)}.nd-app :focus-visible{outline:3px solid #3487ad;outline-offset:3px}.nd-app [hidden]{display:none!important}
@media(max-width:1024px){.nd-app .nd-layout{gap:24px;grid-template-columns:minmax(0,.85fr) minmax(0,1fr)}.nd-app .nd-programs{grid-template-columns:1fr}.nd-app .nd-form{padding:22px}.nd-app .nd-lookup-fields{grid-template-columns:1fr 1fr}.nd-app .nd-period{align-items:flex-start;flex-direction:column;gap:5px}}
@media(max-width:720px){.nd-app{margin:8px auto 40px;padding-inline:16px}.nd-app{--nd-heading-size:24px}.nd-app .nd-intro{display:block}.nd-app .nd-text-link{display:inline-block;margin-top:18px}.nd-app .nd-period{padding:16px;margin-bottom:26px}.nd-app .nd-layout{grid-template-columns:1fr;gap:30px}.nd-app .nd-programs{grid-template-columns:1fr}.nd-app .nd-program{padding:20px}.nd-app .nd-form{padding:22px 18px}.nd-app .nd-fields{gap:18px 12px}.nd-app .nd-lookup{padding:24px 18px}.nd-app .nd-lookup-fields{grid-template-columns:1fr}.nd-app .nd-result{gap:14px}.nd-app .nd-result-action{min-width:86px}.nd-app .nd-filters{gap:7px}.nd-app .nd-filters button{padding:9px 11px}}
@media(prefers-reduced-motion:reduce){.nd-app *{transition:none!important}}
