/* Member workspace only. Keep every grid child shrinkable on narrow screens. */
.qjc-workspace { --mw-navy: #102f58; --mw-blue: #1459a3; --mw-border: #c7d9ed; color: var(--mw-navy); }
.qjc-workspace [hidden] { display: none !important; }
.qjc-workspace *, .qjc-registration * { box-sizing: border-box; }
.qjc-workspace h2, .qjc-registration h2 { font-size: clamp(1.45rem, 2.5vw, 2.2rem); line-height: 1.25; overflow-wrap: anywhere; }
.qjc-workspace h3 { font-size: 1.15rem; line-height: 1.4; margin: 0 0 .6rem; }
.qjc-workspace p, .qjc-registration p { line-height: 1.75; }
.mw-section { padding-block: clamp(2rem, 5vw, 4rem); scroll-margin-top: 7rem; }
.mw-section__head, .mw-toolbar, .mw-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; }
.mw-section__head { margin-bottom: 1.5rem; }
.mw-section__head p { margin: .5rem 0 0; }
.mw-kicker { font-weight: 800; font-size: .75rem; letter-spacing: .13em; text-transform: uppercase; color: #1b589a; }
.mw-card, .mw-panel { padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid var(--mw-border, #c7d9ed); border-radius: 1.2rem; background: #fff; min-width: 0; box-shadow: 0 .8rem 2.5rem #123a6010; }
.mw-gate-grid, .mw-auth-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 1.5rem; align-items: start; }
.mw-intro { padding: clamp(1.25rem, 3vw, 2rem); background: #e8f1fd; border-radius: 1.2rem; }
.mw-feature-list { list-style: none; margin: 1.5rem 0 0; padding: 0; display: grid; gap: 1rem; }
.mw-feature-list li { display: flex; gap: 1rem; align-items: start; }
.mw-feature-list span { display: grid; place-items: center; flex: 0 0 2.2rem; width: 2.2rem; height: 2.2rem; border-radius: .7rem; background: #154f90; color: #fff; font-weight: 800; }
.mw-feature-list strong { display: block; margin: 0 0 .25rem; }
.mw-feature-list p { margin: 0; font-size: .95rem; }
.mw-field { display: block; min-width: 0; font-weight: 650; font-size: .95rem; line-height: 1.55; }
.mw-field > input, .mw-field > select, .mw-field > textarea { display: block; width: 100%; min-width: 0; min-height: 48px; padding: .75rem; margin-top: .45rem; border: 1px solid #91b1d5; border-radius: .6rem; background: #fff; color: #142f4e; font: inherit; font-weight: 400; font-size: 16px; }
.mw-field > textarea { resize: vertical; }
.mw-field + .mw-field { margin-top: 1rem; }
.mw-field small, .mw-hint { display: block; font-size: .85rem; font-weight: 400; color: #46607e; line-height: 1.6; margin-top: .45rem; }
.mw-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.2rem; }
.mw-form-grid .mw-field { margin: 0; }
.mw-field--wide { grid-column: 1 / -1; }
.mw-actions { justify-content: flex-start; margin-top: 1.5rem; }
.qjc-workspace button, .qjc-registration button { min-height: 44px; cursor: pointer; font: inherit; }
.qjc-workspace .button, .qjc-registration .button { border: 0; padding: .75rem 1.2rem; border-radius: 999px; background: #1459a3; color: #fff; font-weight: 750; }
.mw-button--secondary { padding: .6rem 1rem; border: 1px solid #99b7d9; border-radius: .7rem; background: #f3f8ff; color: #123d6e; font-weight: 650; }
.qjc-workspace button:disabled, .qjc-registration button:disabled { opacity: .65; cursor: wait; }
.qjc-workspace :is(input,select,textarea,button,a):focus-visible, .qjc-registration :is(input,select,textarea,button,a):focus-visible { outline: 3px solid #1d69b9; outline-offset: 3px; }
.mw-feedback { margin: 0 0 1.25rem; padding: .9rem 1.1rem; border: 1px solid #a2c0df; border-left: 4px solid #1a60a4; border-radius: .6rem; background: #eaf4ff; color: #163e6b; line-height: 1.65; }
.mw-feedback[data-error="true"] { background: #fff3ef; border-color: #c87259; color: #7f301d; }
.mw-tabs { display: flex; gap: .5rem; flex-wrap: wrap; margin: 1.5rem 0; padding: .4rem; border: 1px solid #bed3ec; border-radius: 1rem; background: #eaf2fd; }
.mw-tab { flex: 1 1 auto; padding: .65rem 1rem; border: 0; border-radius: .7rem; background: transparent; color: #234d7d; font-weight: 700 !important; }
.mw-tabs a { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.mw-tab[aria-pressed="true"] { background: #123b70; color: #fff; }
.mw-events { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.mw-event { padding: 1.25rem; min-width: 0; border: 1px solid #c4d8ef; border-radius: 1rem; background: #fff; }
.mw-event h3 { margin-top: .8rem; overflow-wrap: anywhere; }
.mw-event p { margin: .5rem 0; font-size: .95rem; }
.mw-status { display: inline-flex; padding: .3rem .65rem; border-radius: 999px; background: #e5effa; color: #174d85; font-size: .8rem; font-weight: 750; }
.mw-status[data-status="open"] { background: #ddf3ea; color: #16523b; }
.mw-event__actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.mw-event__actions a { display: inline-flex; align-items: center; min-height: 44px; }
.mw-empty { padding: 2rem; border: 1px dashed #9bbce1; border-radius: 1rem; background: #f2f7ff; text-align: center; }
.mw-editor > fieldset { border: 0; padding: 0; margin: 0 0 2rem; min-width: 0; }
.mw-editor legend { font-weight: 800; font-size: 1.15rem; padding: 0; margin-bottom: 1rem; }
.mw-default-fields { padding: 1rem 1.2rem; border-radius: .75rem; background: #ecf3fd; line-height: 1.7; font-size: .92rem; margin-bottom: 1rem; }
.mw-question { margin-top: 1rem; padding: 1.25rem; border: 1px solid #c4d8ec; border-radius: .8rem; background: #f8fbff; }
.mw-question__top { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1rem; }
.mw-question__top strong { font-size: .9rem; }
.mw-check { display: flex; gap: .65rem; align-items: flex-start; font-weight: 500; font-size: .95rem; line-height: 1.65; margin-top: 1rem; }
.mw-check input { width: 20px; height: 20px; flex: 0 0 20px; margin: .18rem 0 0; accent-color: #1459a3; }
.mw-share { padding: 1rem; margin-top: 1.5rem; border: 1px solid #a9c8e9; border-radius: .8rem; background: #eaf4ff; }
.mw-share a { overflow-wrap: anywhere; }
.mw-table-wrap { overflow-x: auto; width: 100%; margin-top: 1rem; border: 1px solid #c5d7ed; border-radius: .75rem; }
.mw-table { width: 100%; border-collapse: collapse; font-size: .9rem; text-align: left; background: #fff; }
.mw-table th, .mw-table td { padding: .9rem 1rem; border-bottom: 1px solid #d5e3f3; vertical-align: top; overflow-wrap: anywhere; }
.mw-table th { color: #214771; background: #edf4fc; font-weight: 750; }
.mw-table tbody tr:last-child td { border-bottom: 0; }
.mw-pagination { display: flex; align-items: center; gap: 1rem; margin-top: 1rem; flex-wrap: wrap; }
.mw-response-detail { max-width: 38rem; max-height: 80vh; width: calc(100% - 2rem); padding: 1.5rem; border: 1px solid #a6c0df; border-radius: 1rem; overflow: auto; color: #17365b; }
.mw-response-detail::backdrop { background: #0a244abb; }
.mw-response-detail dl { margin: 1rem 0; }
.mw-response-detail dt { font-weight: 750; margin-top: 1rem; }
.mw-response-detail dd { margin: .4rem 0 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.mw-required { color: #984123; margin-left: .25rem; }
.qjc-registration { max-width: 55rem; margin: 0 auto; padding-block: 2.5rem; color: #12335c; }
.mw-registration-title { font-size: clamp(2rem, 4vw, 4rem) !important; line-height: 1.15 !important; overflow-wrap: anywhere; }
.mw-event-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 1.5rem 0; }
.mw-event-details > div { padding: 1rem; border: 1px solid #c8daef; border-radius: .75rem; background: #fff; min-width: 0; }
.mw-event-details dt { font-size: .8rem; font-weight: 750; color: #476684; }
.mw-event-details dd { margin: .4rem 0 0; font-weight: 650; overflow-wrap: anywhere; }
.mw-event-description { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.8; }
.mw-registration-form { margin-top: 2rem; }
.mw-registration-form > .mw-field, .mw-registration-question { margin-bottom: 1.2rem; }
.mw-registration-question { border: 0; padding: 0; min-width: 0; }
.mw-registration-question legend { font-size: .95rem; font-weight: 650; padding: 0; }
.mw-nojs { padding: 1rem; background: #fff4db; color: #663f0c; border-radius: .75rem; }
@media (max-width: 800px) { .mw-gate-grid, .mw-auth-grid, .mw-events { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 540px) { .mw-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); } .mw-tab { padding-inline: .5rem; text-align: center; } .mw-form-grid, .mw-event-details { grid-template-columns: minmax(0, 1fr); } .mw-field--wide { grid-column: auto; } .mw-toolbar { align-items: flex-start; } .mw-section { scroll-margin-top: 5rem; } .mw-actions > .button { width: 100%; } }
