.steam{--ink:#173449;--line:#dce7ed;color:var(--ink);font-family:Arial,Helvetica,sans-serif;max-width:1200px;margin:0 auto}.steam *{box-sizing:border-box}.steam-hero{background:#edf6fa;padding:30px;border-radius:18px;margin-bottom:22px}.steam-eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;color:#287083}.steam h1{font-size:clamp(26px,4vw,38px);margin:12px 0}.steam h2{font-size:23px}.steam p{line-height:1.6}.steam-filters,.steam-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.steam-filters{grid-template-columns:2fr 1fr 1fr;align-items:end}.steam label{display:block;font-size:14px;font-weight:600}.steam input,.steam select,.steam textarea{display:block;width:100%;padding:11px;border:1px solid #b4c8d4;border-radius:7px;margin:6px 0 12px;font:inherit;background:white;color:#173449}.steam .steam-check{display:flex;align-items:center;gap:10px;margin:12px 0;line-height:1.5}.steam-check input{width:auto;margin:0;flex-shrink:0}.steam button{cursor:pointer;border:1px solid #b4c8d4;border-radius:7px;background:white;color:#173449;padding:9px 13px;font:inherit}.steam button:focus-visible,.steam input:focus-visible,.steam select:focus-visible,.steam textarea:focus-visible{outline:3px solid #078caa;outline-offset:2px}.steam-monthbar{display:flex;gap:14px;align-items:center;margin:20px 0}.steam-monthbar h2{flex:1;margin:0;text-transform:none}.steam-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.steam-weekday{text-align:center;background:#f4f8fb;padding:9px}.steam-day{min-height:115px;padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.steam-blank{background:#f8fafb}.steam .steam-event{width:100%;text-align:left;margin-top:7px;font-size:12px;border-left:4px solid;padding:7px;background:#f7fafc;overflow-wrap:anywhere}.steam-event span{display:block;font-size:11px;margin-top:5px;color:#425d6e}.steam-card{border:1px solid var(--line);border-radius:9px;padding:15px;margin-bottom:12px}.steam-card .steam-event{font-size:16px}.steam-hint,.steam small{font-size:13px;color:#486577}.steam-alert{border-left:4px solid #c17824;background:#fff4e4;padding:14px}.steam dialog{width:min(700px,95vw);max-height:90vh;overflow:auto;border:1px solid var(--line);border-radius:16px;padding:26px;color:var(--ink)}.steam dialog::backdrop{background:#15334699}.steam-close{float:right}.steam-description{white-space:pre-wrap}.steam .steam-primary{background:#14687e;color:#fff;padding:13px 20px;border:0}.steam-trap{position:absolute;left:-10000px}.steam [hidden]{display:none!important}@media(max-width:700px){.steam-filters,.steam-fields{grid-template-columns:1fr}.steam-day{padding:3px;min-height:80px}.steam .steam-event{font-size:10px;padding:4px}.steam-event span{font-size:9px}.steam-monthbar{gap:5px;flex-wrap:wrap}.steam-monthbar h2{font-size:18px}.steam-hero{padding:20px}.steam dialog{padding:18px}}
.steam-brand{display:flex;align-items:center;gap:16px}.steam-logo{width:90px;height:90px;object-fit:contain;flex-shrink:0}@media(max-width:700px){.steam-logo{width:64px;height:64px}.steam-brand{gap:12px}}

.steam .steam-brand{display:block;background:#fff;border-radius:10px;padding:8px;margin-bottom:16px}.steam .steam-logo{display:block;width:100%;max-width:1121px;height:auto;object-fit:contain}

.steam #steam-meta{white-space:pre-line;line-height:1.9;overflow-wrap:anywhere}

.steam-extra p{white-space:pre-wrap;margin:12px 0;line-height:1.6}

.steam-date-controls{display:flex;align-items:start;gap:8px}.steam-date-controls input[type=text]{flex:1;min-width:0}.steam .steam-date-picker{width:145px;flex-shrink:0}

/* 1.1.6: laboratory-first calendar */
.steam-lab-groups{display:flex;flex-direction:column;gap:5px;margin-top:6px}
.steam-lab-group{border:1px solid #d5e3f2;border-radius:7px;background:#fff;min-width:0}
.steam-lab-heading{cursor:pointer;padding:7px 6px;border-left:4px solid #23649a;border-radius:5px;font-weight:700;font-size:12px;line-height:1.35;overflow-wrap:anywhere}
.steam-lab-heading span{font-weight:400;color:#555}
.steam-lab-heading:focus-visible{outline:2px solid #165fa5;outline-offset:2px}
.steam-lab-programs{display:flex;flex-direction:column;gap:4px;padding:5px}
.steam-lab-programs .steam-event{width:100%;text-align:left;white-space:normal;overflow-wrap:anywhere}

/* v1.1.43: compact calendar header; no white logo container */
.steam .steam-hero.steam-hero-compact{display:flex;align-items:center;gap:18px;padding:14px 18px;margin-bottom:14px;min-height:0}
.steam .steam-hero-compact .steam-brand{display:flex;align-items:center;flex:0 0 175px;width:175px;min-width:0;background:transparent;border:0;border-radius:0;padding:0;margin:0;box-shadow:none}
.steam .steam-hero-compact .steam-logo{display:block;width:100%;max-width:175px;height:auto;max-height:90px;object-fit:contain;mix-blend-mode:multiply}
.steam .steam-hero-compact .steam-hero-text{flex:1;min-width:0}
.steam .steam-hero-compact .steam-center-name{font-size:13px;font-weight:600;color:#176a83;line-height:1.35;margin:0 0 3px}
.steam .steam-hero-compact h1{font-size:22px;line-height:1.25;margin:0 0 4px}
.steam .steam-hero-compact p{font-size:14px;line-height:1.4;margin:0}
@media(max-width:540px){.steam .steam-hero.steam-hero-compact{gap:10px;padding:12px}.steam .steam-hero-compact .steam-brand{flex-basis:100px;width:100px}.steam .steam-hero-compact .steam-logo{max-width:100px}.steam .steam-hero-compact h1{font-size:18px}.steam .steam-hero-compact .steam-center-name{font-size:12px}.steam .steam-hero-compact p{font-size:12px}}

/* v1.1.45: ONLY calendar header; all other calendar rules unchanged */
.steam .steam-hero.steam-hero-compact{display:flex;align-items:center;gap:14px;padding:10px 14px;margin-bottom:10px;min-height:0}
.steam .steam-hero-compact .steam-brand{display:block;flex:0 0 220px;width:220px;max-width:38%;background:transparent;padding:0;margin:0;border:0;box-shadow:none}
.steam .steam-hero-compact .steam-logo{display:block;width:100%;max-width:220px;height:auto;max-height:none;object-fit:contain;mix-blend-mode:normal}
.steam .steam-hero-compact .steam-hero-text{flex:1;min-width:0}
.steam .steam-hero-compact h1{font-size:21px;line-height:1.25;margin:0 0 4px}
.steam .steam-hero-compact p{font-size:13px;line-height:1.4;margin:0}
@media(max-width:540px){.steam .steam-hero.steam-hero-compact{gap:10px;padding:9px 10px}.steam .steam-hero-compact .steam-brand{flex:0 0 36%;width:36%;max-width:36%}.steam .steam-hero-compact h1{font-size:17px}.steam .steam-hero-compact p{font-size:12px}}

/* v1.1.47: limited changes to header and calendar grid */
.steam .steam-hero.steam-hero-compact{background:#fff;border:1px solid #e1e9ee;padding:8px 12px;margin-bottom:10px}
.steam .steam-hero-compact .steam-brand{flex:0 0 220px;width:220px;max-width:42%}
.steam .steam-hero-compact .steam-logo{width:100%;max-width:220px;height:auto;max-height:none;mix-blend-mode:normal}
.steam .steam-grid{grid-template-columns:repeat(5,minmax(0,1fr)) repeat(2,minmax(0,.65fr));grid-auto-rows:auto}
.steam .steam-grid .steam-day{min-height:92px}
.steam .steam-grid .steam-day.steam-no-events{min-height:44px;padding:5px 7px}
.steam .steam-grid .steam-day.steam-blank{min-height:44px}
.steam .steam-grid .steam-day.steam-week-empty{min-height:44px}
.steam .steam-grid .steam-weekday{padding:7px 3px}
@media(max-width:700px){.steam .steam-grid .steam-day{min-height:64px;padding:4px}.steam .steam-grid .steam-day.steam-no-events,.steam .steam-grid .steam-day.steam-blank,.steam .steam-grid .steam-day.steam-week-empty{min-height:35px;padding:3px}.steam .steam-hero-compact .steam-brand{flex-basis:38%;width:38%;max-width:38%}}
