.itwr { --ink:#153346; --accent:#006d77; --line:#dbe6ec; box-sizing:border-box; font:16px/1.6 system-ui,sans-serif; color:var(--ink); max-width:1200px; margin:24px auto; padding:clamp(14px,3vw,32px); border-radius:24px; background:#f3f7fa; }
.itwr *, .itwr *::before,.itwr *::after { box-sizing:inherit; }
.itwr h2,.itwr h3,.itwr h4 { color:var(--ink); line-height:1.3; margin:0 0 14px; }
.itwr h2 { font-size:2rem; } .itwr h3 { font-size:1.3rem; } .itwr h4 { font-size:1.05rem; }
.itwr p { margin:0 0 16px; overflow-wrap:anywhere; }
.itwr .itwr-eyebrow { font-size:.8rem; text-transform:uppercase; font-weight:700; letter-spacing:.08em; }
.itwr .itwr-note { color:#516878; font-size:.85rem; }
.itwr-card { background:#fff; padding:clamp(14px,2vw,24px); border:1px solid var(--line); border-radius:16px; margin-bottom:24px; min-width:0; }
.itwr-toolbar { display:flex; flex-wrap:wrap; align-items:end; justify-content:space-between; gap:16px; margin-bottom:24px; }
.itwr label { display:grid; gap:6px; font-size:.9rem; font-weight:650; max-width:100%; }
.itwr select { font:inherit; color:var(--ink); background:#fff; border:1px solid #a7bac5; padding:10px; border-radius:9px; min-height:44px; max-width:100%; }
.itwr button { font:inherit; cursor:pointer; background:#fff; color:var(--accent); border:1px solid var(--line); border-radius:9px; padding:9px 12px; min-height:44px; }
.itwr button:hover { background:#e8f3f4; }
.itwr button:disabled { opacity:.5; cursor:not-allowed; }
.itwr :is(button,select):focus-visible { outline:3px solid #ce8500; outline-offset:2px; }
.itwr-nav { display:flex; gap:8px; }
.itwr-month { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.itwr-weekday { font-size:.8rem; font-weight:700; padding:8px; background:#f3f7fa; text-align:center; border-right:1px solid var(--line); }
.itwr-day { min-height:115px; padding:6px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); min-width:0; }
.itwr-outside { background:#f8fafb; }
.itwr-today { background:#f0faf9; box-shadow:inset 0 0 0 2px var(--accent); }
.itwr-day-number { display:block; font-size:.82rem; font-weight:650; margin-bottom:5px; }
.itwr .itwr-event { display:flex; flex-direction:column; gap:3px; width:100%; text-align:left; padding:8px; margin-bottom:6px; border:0; border-left:3px solid var(--room); border-radius:6px; background:var(--tint); color:var(--ink); overflow-wrap:anywhere; font-size:.73rem; line-height:1.4; }
.itwr .itwr-event:hover { filter:brightness(.96); }
.itwr-color-0 { --room:#006d77; --tint:#e4f3f2; } .itwr-color-1 { --room:#556ca2; --tint:#edf0fb; } .itwr-color-2 { --room:#975b26; --tint:#fbf0e4; }
.itwr-rooms { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); gap:16px; }
.itwr-room { border-top:4px solid var(--room); }
.itwr-badge { display:inline-block; border-radius:20px; background:var(--tint); padding:4px 12px; font-size:.85rem; }
.itwr-list { display:none; } .itwr-empty { padding:16px 0 0; color:#516878; }
.itwr-detail-heading { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-bottom:16px; }
.itwr-detail dl { display:grid; grid-template-columns:90px minmax(0,1fr); gap:8px 16px; margin:0; overflow-wrap:anywhere; }
.itwr-detail dt { font-weight:650; } .itwr-detail dd { margin:0; }
.itwr [hidden] { display:none !important; }
@media(max-width:760px) { .itwr [data-calendar] { display:none; } .itwr-list { display:block; } .itwr .itwr-event { font-size:.92rem; padding:12px; } .itwr .itwr-list-date { font-size:.85rem; font-weight:650; margin:18px 0 6px; } .itwr-toolbar label { width:100%; } .itwr-nav { width:100%; } .itwr-nav [data-current] { flex:1; } .itwr-detail dl { grid-template-columns:minmax(0,1fr); gap:2px; } .itwr-detail dd { margin-bottom:10px; } }

.itwr .itwr-description { white-space:pre-wrap; margin-top:18px; }
