:root { --gi-pwa-events-ready: 1; }
html.pwa-mobile-app :is(.pwa-event-submit-page, .pwa-calendar-page) { min-width: 0; }
html.pwa-mobile-app :is(.pwa-event-submit-page, .pwa-calendar-page) > .page-breadcrumb { display: none; }
html.pwa-mobile-app :is(.pwa-event-submit-page, .pwa-calendar-page) .archive-hero { min-height: 0; }
html.pwa-mobile-app :is(.pwa-event-submit-page, .pwa-calendar-page) .archive-hero > div { padding: 16px 0; }
html.pwa-mobile-app :is(.pwa-event-submit-page, .pwa-calendar-page) .archive-hero h1 { font-size: 1.45rem; margin: 0 0 5px; }
html.pwa-mobile-app :is(.pwa-event-submit-page, .pwa-calendar-page) .archive-eyebrow { display: none; }
html.pwa-mobile-app :is(.pwa-event-submit-page, .pwa-calendar-page) .archive-hero p:last-child { margin: 0; font-size: .875rem; }
html.pwa-mobile-app:has(.pwa-event-submit-page) .site-footer { display: none; }
html.pwa-mobile-app .pwa-event-submit-page .event-submit-content { width: calc(100% - 32px); }
html.pwa-mobile-app .pwa-event-submit-page .event-submit-head { display: flex; align-items: center; justify-content: flex-end; padding: 12px 0; }
html.pwa-mobile-app .pwa-event-submit-page .event-submit-head > div { display: none; }
html.pwa-mobile-app .pwa-event-submit-page .event-submit-head .btn { min-height: 48px; margin: 0; }
html.pwa-mobile-app .pwa-event-submit-page .event-submit-form-area { padding-top: 16px; }
html.pwa-mobile-app .pwa-event-form { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
html.pwa-mobile-app .pwa-event-form > label { margin: 0; }
html.pwa-mobile-app .pwa-event-form label { min-width: 0; line-height: 1.5; }
html.pwa-mobile-app .pwa-event-form :is(input:not([type="hidden"]):not([type="checkbox"]), select, textarea),
html.pwa-mobile-app .pwa-calendar-page .event-filter :is(input, select),
html.pwa-mobile-app .pwa-calendar-controls input { box-sizing: border-box; width: 100%; min-width: 0; min-height: 48px; padding: 10px; margin-top: 5px; font-size: 1rem; }
html.pwa-mobile-app .pwa-event-form .event-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; }
html.pwa-mobile-app .pwa-event-form .event-form-grid label { margin: 0; font-size: .875rem; }
html.pwa-mobile-app .pwa-event-form label[hidden] { display: none; }
html.pwa-mobile-app .pwa-event-form .checkbox-label { display: flex; align-items: center; gap: 10px; min-height: 48px; }
html.pwa-mobile-app .pwa-event-form input[type="checkbox"] { width: 24px; height: 24px; margin: 0; flex: 0 0 24px; }
html.pwa-mobile-app .pwa-event-details { border: 1px solid var(--gi-line, #d5e6f2); border-radius: 10px; min-width: 0; }
html.pwa-mobile-app :is(.pwa-event-details, .pwa-event-formatting, .pwa-event-filters) > summary { min-height: 48px; padding: 12px; box-sizing: border-box; font-size: .875rem; color: var(--gi-blue-900, #005a9f); font-weight: 700; cursor: pointer; }
html.pwa-mobile-app .pwa-event-details > :not(summary) { margin: 0 12px 12px; }
html.pwa-mobile-app .pwa-event-form .mini-editor { min-width: 0; margin: -6px 0 0; }
html.pwa-mobile-app .pwa-event-form .mini-editor-area { min-height: 190px; padding: 12px; font-size: 1rem; line-height: 1.6; overflow-wrap: anywhere; scroll-margin-block: 85px; }
html.pwa-mobile-app .pwa-event-formatting { border-bottom: 1px solid var(--gi-line, #d5e6f2); }
html.pwa-mobile-app .pwa-event-formatting .mini-editor-toolbar { display: flex; flex-wrap: wrap; gap: 6px; }
html.pwa-mobile-app .pwa-event-formatting button { min-height: 44px; padding: 8px; }
html.pwa-mobile-app .pwa-event-formatting input[type="color"] { flex: 0 0 48px; width: 48px; height: 48px; margin: 0; padding: 3px; }
html.pwa-mobile-app .pwa-event-count { margin: -8px 0 0; color: var(--gi-muted, #607b94); font-size: .8rem; }
html.pwa-mobile-app .pwa-event-form > button { min-height: 54px; margin: 0; font-size: 1rem; }
html.pwa-mobile-app .pwa-event-form button:disabled { opacity: .6; cursor: wait; }
html.pwa-mobile-app .pwa-event-feedback { margin: 0 0 14px; padding: 12px; border-radius: 10px; background: var(--gi-blue-100, #eaf5fc); overflow-wrap: anywhere; }
html.pwa-mobile-app .pwa-event-feedback p { margin: 0; }
html.pwa-mobile-app .pwa-event-feedback.is-error { border-left: 4px solid #b33333; background: #fff3f1; }
html.pwa-mobile-app .pwa-event-feedback a { display: inline-flex; align-items: center; min-height: 48px; font-weight: 700; }
html.pwa-mobile-app .pwa-calendar-page .events-content { width: calc(100% - 24px); }
html.pwa-mobile-app .pwa-calendar-page .event-intro { display: none; }
html.pwa-mobile-app .pwa-calendar-page .event-filter { display: grid; grid-template-columns: 1fr; padding: 0 12px 12px; gap: 10px; }
html.pwa-mobile-app .pwa-calendar-page .event-month-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 12px 0; }
html.pwa-mobile-app .pwa-calendar-page .event-month-nav h2 { grid-row: 1; grid-column: 1 / -1; font-size: 1.2rem; }
html.pwa-mobile-app .pwa-calendar-page .event-month-nav a { min-width: 0; min-height: 48px; padding: 12px 6px; font-size: .875rem; }
html.pwa-mobile-app .pwa-calendar-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0 0 12px; }
html.pwa-mobile-app .pwa-calendar-controls label, html.pwa-mobile-app .pwa-calendar-all { grid-column: 1 / -1; }
html.pwa-mobile-app .pwa-calendar-controls button { min-height: 48px; padding: 10px; font-size: .875rem; }
html.pwa-mobile-app .pwa-calendar-controls button:disabled { opacity: .5; cursor: default; }
html.pwa-mobile-app .pwa-calendar-page .event-calendar-wrap { overflow: visible; outline-offset: 3px; }
html.pwa-mobile-app .pwa-calendar-page .event-calendar { min-width: 0; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 2px; }
html.pwa-mobile-app .pwa-calendar-page .event-weekday { padding: 8px 0; font-size: .75rem; text-align: center; }
html.pwa-mobile-app .pwa-calendar-page .event-day { min-width: 0; min-height: 48px; padding: 0; }
html.pwa-mobile-app .pwa-calendar-page .event-calendar-entry { display: none; }
html.pwa-mobile-app .pwa-calendar-day { display: flex; align-items: center; justify-content: center; flex-direction: column; width: 100%; min-height: 48px; padding: 3px 0; border: 0; color: var(--gi-blue-900, #005a9f); background: transparent; font: inherit; font-size: 1rem; cursor: pointer; }
html.pwa-mobile-app .pwa-calendar-badge { border-radius: 8px; padding: 0 5px; color: #fff; background: var(--gi-blue-900, #005a9f); font-size: .65rem; line-height: 1.3; }
html.pwa-mobile-app .pwa-calendar-page .event-day.is-selected { background: var(--gi-blue-900, #005a9f); }
html.pwa-mobile-app .pwa-calendar-day[aria-pressed="true"] { color: #fff; }
html.pwa-mobile-app .pwa-calendar-page .event-list { padding: 0; }
html.pwa-mobile-app .pwa-calendar-page .event-list article { grid-template-columns: 50px minmax(0, 1fr); gap: 10px; }
html.pwa-mobile-app .pwa-calendar-page .event-list h3 a { display: flex; align-items: center; min-height: 48px; font-size: 1.05rem; overflow-wrap: anywhere; }
html.pwa-mobile-app .pwa-calendar-page .event-list p { font-size: .875rem; overflow-wrap: anywhere; }
html.pwa-mobile-app .pwa-calendar-page .section-head { flex-wrap: wrap; gap: 8px; }
html.pwa-mobile-app .pwa-calendar-page .section-head h2 { font-size: 1.05rem; }
html.pwa-mobile-app .pwa-calendar-status, html.pwa-mobile-app .pwa-calendar-empty { padding: 12px; background: var(--gi-blue-100, #eaf5fc); overflow-wrap: anywhere; }
html.pwa-mobile-app :is(.pwa-calendar-page, .pwa-event-submit-page) [hidden] { display: none; }
html.pwa-mobile-app :is(.pwa-calendar-page, .pwa-event-submit-page) :is(button, input, select, textarea, summary) { scroll-margin-block: 85px; }
html.pwa-mobile-app :is(.pwa-calendar-page, .pwa-event-submit-page) :focus-visible { outline: 3px solid var(--gi-blue-700, #1585cc); outline-offset: 3px; }
