/* Shared border weights. Existing hover colors and motion stay unchanged. */
body.web-ui {--ui-border-width:2px;--ui-rule-width:2px}
html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth) {--ui-text:17px;--ui-small:15px}
html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth),
html[data-theme=light] body.web-ui:is(.pwa-view,.pwa-auth) {--line:#b5b5b5!important}
html[data-theme=dark] body.web-ui:is(.pwa-view,.pwa-auth) {--line:#666!important}

/* Apply the same weight to existing edges, without recreating removed borders. */
html[data-theme] body.web-ui :is(.site-header,.app-header,.app-navigation,.avatar,.calendar-day,.calendar-appointment,.notification-item,.panel,.auth-panel,.filter-disclosure,.optional-fields,.chart-viewport,.opening-summary,.penalty-summary,.event-detail-layout,.app-menu-group,.notice,.table-wrap tbody tr) {border-width:var(--ui-border-width)!important}
html[data-theme] body.web-ui .table-wrap :is(th,td) {border-bottom-width:var(--ui-rule-width)!important}
html[data-theme] body.web-ui .table-wrap tbody tr:nth-child(n) {border-width:var(--ui-border-width)!important}
html[data-theme] body.web-ui .penalty-booking-form #penalty-rows .penalty-row {border-width:var(--ui-border-width)!important}
html[data-theme] body.web-ui .penalty-booking-form :is(.penalty-context,.penalty-participant,.penalty-extra),
html[data-theme] body.web-ui :is(.cash-maintenance,.advanced-disclosure,.app-menu-groups),
html[data-theme] body.web-ui main :is(.panel,.section-layout) form {border-width:var(--ui-border-width)!important}
html[data-theme] body.web-ui .next-event-people,
html[data-theme] body.web-ui .reels-comments-panel .reels-comment {border-top-width:var(--ui-rule-width);border-bottom-width:var(--ui-rule-width)!important}
html[data-theme] body.web-ui .reels-comments-panel .reels-comments-head {border-bottom-width:var(--ui-rule-width)!important}
html[data-theme] body.web-ui .reels-comments-panel>form {border-top-width:var(--ui-rule-width)!important}
html[data-theme] body.web-ui .reels-comments-panel .reels-replies {border-left-width:var(--ui-rule-width)!important}

/* Home sections and disclosures use spacing rather than enclosing frames. */
html[data-theme] body.web-ui .website-home :is(.panel,.dashboard-upcoming,.dashboard-birthday,.website-finance,.website-install) {border:0!important;box-shadow:none!important}
html[data-theme] body.web-ui.pwa-view[data-page="/app"] main .panel {border:0!important;box-shadow:none!important}
html[data-theme] body.web-ui main details:not(.reels-info) {border:0!important;box-shadow:none!important}
html[data-theme] body.web-ui main details>.disclosure-content,
html[data-theme] body.web-ui main .app-media-filters>form {border:0!important;box-shadow:none!important}
html[data-theme] body.web-ui .event-detail-layout,
html[data-theme] body.web-ui .event-detail-layout>.panel,
html[data-theme] body.web-ui .event-detail-layout>#attendance,
html[data-theme] body.web-ui .event-detail-layout :is(.event-description,.event-roster) {border:0!important;box-shadow:none!important}
html[data-theme] body.web-ui .event-detail-layout details:not(.reels-info)>summary {padding:16px 20px!important}
html[data-theme] body.web-ui .event-detail-layout details:not(.reels-info)>:is(.disclosure-content,.form-grid) {padding:20px 20px 24px!important}
html[data-theme] body.web-ui .event-detail-layout .event-admin>.disclosure-content>.actions {margin:0 0 20px!important;gap:12px}
html[data-theme] body.web-ui .event-detail-layout .event-cancel-action {margin-top:20px;padding-top:0!important}
html[data-theme] body.web-ui .event-detail-layout .event-cancel-action>p {margin:20px 20px 16px!important}
html[data-theme] body.web-ui .event-detail-layout .event-cancel-action>form {margin:0!important;padding:0 20px 24px!important}
html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth) .website-home .website-secondary>.next-event-updates {grid-template-columns:repeat(3,minmax(0,1fr));gap:24px!important;align-items:start}
html[data-theme] body.web-ui .website-secondary .website-install {min-width:0;margin:0}
html[data-theme] body.web-ui .footer .footer-brand {display:flex;align-items:center;gap:12px;font-size:16px!important;font-weight:400!important;line-height:1.5}
html[data-theme] body.web-ui .footer .footer-brand>img {display:block;width:44px;height:44px;object-fit:contain;filter:brightness(0) invert(1)}
html[data-theme] body.web-ui .footer .footer-brand {font-size:var(--ui-text)!important}
html[data-theme] body.web-ui .header-account .account-menu-content>.account-menu-action,
html[data-theme] body.web-ui .header-account .account-menu-content>form button {display:flex!important;align-items:center;justify-content:flex-start!important;width:100%;min-height:48px!important;margin:0!important;padding:12px!important;text-align:left;font-size:16px!important;font-weight:500!important;gap:12px}

/* Compact installation content for the third overview column. */
html[data-theme] body.web-ui .website-install .app-download {display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:16px!important;padding:0!important;margin:0!important;border:0!important}
html[data-theme] body.web-ui .website-install .app-download-intro {gap:12px;align-items:center}
html[data-theme] body.web-ui .website-install .app-download-intro>img {width:40px;height:40px;border-radius:2px;box-shadow:none}
html[data-theme] body.web-ui .website-install .app-download-intro :is(h2,.eyebrow) {display:none}
html[data-theme] body.web-ui .website-install .app-download-intro p {font-size:14px!important;line-height:1.5!important;margin:0!important}
html[data-theme] body.web-ui .website-install .app-download-buttons {display:grid!important;grid-template-columns:minmax(0,1fr);gap:12px!important;margin:0!important}
html[data-theme] body.web-ui .website-install .app-download-buttons button {width:100%;min-width:0!important;min-height:56px!important;padding:8px 12px!important;justify-content:flex-start!important;gap:12px;font-size:14px!important;text-align:left}
html[data-theme] body.web-ui .website-install .app-download-buttons button small {font-size:12px!important;line-height:1.5}
html[data-theme] body.web-ui .website-install .app-download-buttons button>.ui-icon {display:block!important;width:20px;height:20px;flex-shrink:0}
html[data-theme] body.web-ui .website-install .app-download-buttons button>.ui-icon:last-child {margin-left:auto}

/* Keep the header outside the moving and scrolling content. */
html:has(body.web-ui) {overscroll-behavior-y:none}
html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth) {padding-top:var(--ui-fixed-header-height,88px)!important;box-sizing:border-box}
html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth) .site-header {position:fixed!important;top:0;left:0;right:0;width:100%}
html[data-theme] body.web-ui:is(.pwa-view,.pwa-auth):not([data-page="/reels"]) {padding-top:var(--ui-fixed-header-height,69px)!important;box-sizing:border-box}
html[data-theme] body.web-ui:is(.pwa-view,.pwa-auth):not([data-page="/reels"]) .app-header {position:fixed!important;top:0;left:0;right:0;width:100%;box-sizing:border-box}
html[data-theme] body.web-ui:is(.web-content-pulling,.web-content-settling)>main {transform:translateY(var(--web-content-pull,0px));transition:transform .3s cubic-bezier(.16,1,.3,1)}
html[data-theme] body.web-ui.web-content-pulling>main {transition:none;user-select:none}
html[data-theme] body.web-ui :is(.site-header,.app-header) {transition:transform .3s cubic-bezier(.4,0,.2,1);will-change:transform}
html[data-theme] body.web-ui.ui-header-hidden :is(.site-header,.app-header) {transform:translateY(-100%)}
html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth) .site-header .web-menu-toggle {font-size:18px!important;font-weight:500!important;text-transform:uppercase;line-height:1.2!important;align-self:center;align-items:center;padding:0!important;min-height:56px}
html[data-theme] body.web-ui :is(.web-menu-toggle,.web-menu-toggle:hover,.web-menu-toggle:active,.web-menu-toggle:focus) {transform:translateY(1px)!important}
html[data-theme] body.web-ui .web-menu-symbol {width:30px;flex-basis:30px;height:23px;background-size:30px 3px}
html[data-theme] body.web-ui .web-menu-symbol::before,
html[data-theme] body.web-ui .web-menu-symbol::after {width:30px;height:3px;top:2px}
html[data-theme] body.web-ui .web-menu-symbol::after {top:18px}
html[data-theme] body.web-ui.web-menu-open .web-menu-symbol {background-size:0 3px}
html[data-theme] body.web-ui.web-menu-open .web-menu-symbol::before {transform:translateY(8px) rotate(45deg)}
html[data-theme] body.web-ui.web-menu-open .web-menu-symbol::after {transform:translateY(-8px) rotate(-45deg)}

/* Flat app surfaces and buttons retain contrast in both color schemes. */
html[data-theme] body.web-ui.pwa-view {--app-button-bg:#f5f5f5;--app-button-text:#111;--app-button-hover:#d7d7d7;--app-secondary-bg:#333;--app-secondary-text:#f5f5f5;--app-secondary-hover:#444;--app-tile-bg:#242424}
html[data-theme=light] body.web-ui.pwa-view {--app-button-bg:#171717;--app-button-text:#fff;--app-button-hover:#333;--app-secondary-bg:#ededed;--app-secondary-text:#171717;--app-secondary-hover:#d5d5d5;--app-tile-bg:#f3f3f3}
html[data-theme] body.web-ui.pwa-view main :is(.panel,.member-card,.media-card,.app-menu-group,.app-menu-groups,.app-menu-shortcuts>a,.app-month-filter,.app-media-toolbar,.app-reminder-settings,.app-calendar-create,.profile-avatar-editor,.role-explanation,.empty-state) {border:0!important;box-shadow:none!important}
html[data-theme] body.web-ui.pwa-view main .panel {background:var(--panel)!important}
html[data-theme] body.web-ui.pwa-view :is(button,a.button) {border:0!important}
html[data-theme] body.web-ui.pwa-view :is(button,a.button):not(:where(.reels-stage *,.reels-comments-panel *,.app-theme-options *)) {background:var(--app-button-bg)!important;color:var(--app-button-text)!important;box-shadow:none!important}
html[data-theme] body.web-ui.pwa-view :is(button,a.button):not(:where(.reels-stage *,.reels-comments-panel *,.app-theme-options *)):hover {background:var(--app-button-hover)!important;color:var(--app-button-text)!important}
html[data-theme] body.web-ui.pwa-view :is(button.secondary,a.button.secondary):not(:where(.reels-stage *,.reels-comments-panel *)) {background:var(--app-secondary-bg)!important;color:var(--app-secondary-text)!important}
html[data-theme] body.web-ui.pwa-view :is(button.secondary,a.button.secondary):not(:where(.reels-stage *,.reels-comments-panel *)):hover {background:var(--app-secondary-hover)!important;color:var(--app-secondary-text)!important}
html[data-theme] body.web-ui.pwa-view .table-wrap :is(table,thead,tbody,tr,th,td) {border:0!important}
html[data-theme] body.web-ui.pwa-view .table-wrap tbody tr:nth-child(n) {border:0!important;background:var(--app-tile-bg)!important}
html[data-theme] body.web-ui.pwa-view .table-wrap td {background:transparent!important}
html[data-theme] body.web-ui.pwa-view .table-wrap tr:hover td {background:var(--app-secondary-bg)!important}
html[data-theme] body.web-ui.pwa-view .app-event-list {background:var(--bg)!important;gap:24px!important}
html[data-theme] body.web-ui.pwa-view .app-event-list>.app-event {margin:0!important;border:0!important;box-shadow:none!important}
html[data-theme] body.web-ui.pwa-view .app-event .next-event-actions {border-top:0!important}
html[data-theme] body.web-ui.pwa-view .next-event .next-event-attendance .quick-response button {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:76px!important;padding:12px 6px!important;font-size:14px!important;font-weight:600;border:0!important;background:#292929!important;color:#fff!important}
html[data-theme] body.web-ui.pwa-view .next-event .next-event-attendance .quick-response:not(.is-selected) button:hover {background:#3b3b3b!important;color:#fff!important}
html[data-theme] body.web-ui.pwa-view .next-event .next-event-attendance .quick-response.is-selected button {background:#fff!important;color:#171717!important;box-shadow:inset 0 -3px #888!important}
html[data-theme=light] body.web-ui.pwa-view .next-event .next-event-attendance .quick-response.is-selected button {background:#171717!important;color:#fff!important}
html[data-theme] body.web-ui .reels-social [data-reels-like][aria-pressed=false]>.ui-icon {color:#fff!important;stroke:currentColor!important;fill:none!important}
@media(min-width:761px) {
 html[data-theme] body.web-ui.pwa-view .next-event .next-event-attendance .quick-response button {flex-direction:row;gap:10px;min-height:56px!important;padding:12px 16px!important;font-size:16px!important}
}
@media(max-width:900px) {
 html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth) .website-home .website-secondary>.next-event-updates {grid-template-columns:minmax(0,1fr)}
}

/* Attendance choices stay borderless; the selected response keeps its gray underline. */
html[data-theme] body.web-ui .next-event :is(.next-event-attendance .quick-response button,.next-event-actions>.button) {border:0!important}
html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth) .next-event .next-event-actions>.button.secondary {border:0!important}

/* Public forms grow with their content instead of adding a second viewport height. */
html[data-theme] body.web-ui.signed-out:not(.pwa-view):not(.pwa-auth) .auth-main {min-height:0; padding:24px var(--ui-gutter)!important}
body.web-ui.signed-out:not(.pwa-view):not(.pwa-auth)[data-page="/register"] .auth-main {align-items:start;align-content:start;grid-template-rows:auto}
body.web-ui.signed-out:not(.pwa-view):not(.pwa-auth)[data-page="/register"] .auth-content {align-self:start}
@media(min-width:901px) {
 body.web-ui.signed-out:not(.pwa-view):not(.pwa-auth)[data-page="/register"] .auth-main>.auth-hero {align-self:stretch;display:flex;flex-direction:column;padding:48px!important}
 body.web-ui.signed-out:not(.pwa-view):not(.pwa-auth)[data-page="/register"] .auth-hero .auth-intro h1 {font-size:clamp(44px,3.5vw,56px)!important;max-width:13ch}
 body.web-ui.signed-out:not(.pwa-view):not(.pwa-auth)[data-page="/register"] .auth-hero .hero-emblem {flex:1;min-height:240px;width:100%;max-width:none;height:auto;margin:32px 0}
 body.web-ui.signed-out:not(.pwa-view):not(.pwa-auth)[data-page="/register"] .auth-hero .hero-emblem img {width:min(100%,320px);height:auto}
 body.web-ui.signed-out:not(.pwa-view):not(.pwa-auth)[data-page="/register"] .auth-hero .hero-note {margin-top:auto}
}
body.web-ui.signed-out:not(.pwa-view):not(.pwa-auth)[data-page="/register"] .auth-hero {position:static;padding:32px!important;min-height:0}
body.web-ui.signed-out:not(.pwa-view):not(.pwa-auth)[data-page="/register"] .auth-hero h1 {font-size:40px!important;max-width:none}
body.web-ui.signed-out:not(.pwa-view):not(.pwa-auth)[data-page="/register"] .hero-emblem {height:180px}
body.web-ui.signed-out:not(.pwa-view):not(.pwa-auth)[data-page="/register"] .registration-panel {padding:16px 0!important;margin:0}
body.web-ui.signed-out:not(.pwa-view):not(.pwa-auth)[data-page="/register"] .registration-panel form>p {margin:12px 0!important}
body.web-ui.signed-out:not(.pwa-view):not(.pwa-auth)[data-page="/register"] .registration-actions {display:flex;flex-direction:column;align-items:flex-start;gap:24px;margin-top:24px}
body.web-ui.signed-out:not(.pwa-view):not(.pwa-auth)[data-page="/register"] .registration-actions>a {font-size:14px!important}
body.web-ui.signed-out:not(.pwa-view):not(.pwa-auth)[data-page="/register"] .registration-actions>button {margin:0;align-self:flex-start}
body.web-ui.signed-out:not(.pwa-view):not(.pwa-auth)[data-page="/register"] .registration-panel>a:last-child {display:inline-block;margin-top:24px;font-size:14px!important}
body.web-ui.signed-out:not(.pwa-view):not(.pwa-auth)[data-page="/login"] .auth-content>.app-entry {font-size:15px!important;text-align:center}
html[data-theme] body.web-ui.signed-out:not(.pwa-view):not(.pwa-auth):is([data-page="/login"],[data-page="/admin"]) .auth-panel {padding:12px 0!important}
html[data-theme] body.web-ui.signed-out:not(.pwa-view):not(.pwa-auth):is([data-page="/login"],[data-page="/admin"]) .auth-links {margin-top:16px;padding-top:16px;gap:10px}
/* White writing surfaces throughout the website. */
html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not([type=file]):not([type=color]):not([type=button]):not([type=submit]):not([type=reset]),textarea) {background-color:#fff!important;color:#222!important;color-scheme:light}
html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth) :is(input,textarea)::placeholder {color:#737373!important;opacity:1}
/* Cover the browser's autofill tint, including focused saved credentials. */
html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth) input:is(:autofill,:-webkit-autofill) {background-color:#f2f2f2!important;-webkit-box-shadow:0 0 0 1000px #f2f2f2 inset!important;box-shadow:0 0 0 1000px #f2f2f2 inset!important;-webkit-text-fill-color:#222!important;caret-color:#222!important;font-family:var(--ui-font)!important;font-size:var(--ui-text)!important;line-height:1.5!important}
/* Chromium paints saved credential previews through the first line before focus. */
html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth) input::first-line {font-family:"Segoe UI",Arial,sans-serif!important;font-size:17px!important;font-weight:400!important;line-height:1.5!important}
html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth) input:-webkit-autofill::first-line {font-family:"Segoe UI",Arial,sans-serif!important;font-size:17px!important;font-weight:400!important;line-height:1.5!important}
html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth) input::placeholder {font-family:"Segoe UI",Arial,sans-serif!important;font-size:17px!important;font-weight:400!important}

html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth)[data-page="/forgot"] form[action$="/forgot"] {display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px 24px}
html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth)[data-page="/forgot"] form[action$="/forgot"]>.field {flex:1 1 240px;margin:0}
html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth)[data-page="/forgot"] form[action$="/forgot"]>.form-actions {margin:0;align-self:flex-end}
html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth)[data-page="/forgot"] form[action$="/forgot"]>.form-actions>button {height:48px;min-height:48px;padding:8px 20px}

/* App sign-in needs no space reserved for the member navigation. */
html[data-theme] body.web-ui.pwa-auth {padding-bottom:env(safe-area-inset-bottom,0px)!important}
html[data-theme] body.web-ui.pwa-auth>.footer,html[data-theme] body.web-ui.pwa-auth>.site-header {display:none!important}
html[data-theme] body.web-ui.pwa-auth .auth-main {display:flex;align-items:center;justify-content:center;flex:1 0 auto;min-height:0;max-width:460px;padding:24px 20px!important}
html[data-theme] body.web-ui.pwa-auth .app-login-panel {padding:24px!important;margin:0;border:0!important}
html[data-theme] body.web-ui.pwa-auth .app-login-panel>p {margin:0 0 24px}
html[data-theme] body.web-ui.pwa-auth .app-login-panel .field {width:100%;max-width:none;gap:8px;margin:0 0 20px}
html[data-theme] body.web-ui.pwa-auth .app-login-panel input {width:100%;max-width:none;height:48px;min-height:48px;padding:12px 14px;border:0!important;font-size:16px!important;line-height:1.5}
html[data-theme] body.web-ui.pwa-auth.signed-out .auth-main .app-login-panel .field input {border:0!important;border-style:none!important;box-shadow:none}
html[data-theme] body.web-ui.pwa-auth .app-login-panel .form-actions {margin:24px 0 0}
html[data-theme] body.web-ui.pwa-auth .app-login-panel form button {margin:0;width:100%;padding:12px 16px}
html[data-theme] body.web-ui.pwa-auth .app-login-links {margin-top:24px;gap:16px}

html[data-theme] body.web-ui.pwa-auth .app-login-panel input::first-line {font-family:"Segoe UI",Arial,sans-serif!important;font-size:16px!important}
html[data-theme] body.web-ui:is(.pwa-view,.pwa-auth)>.app-footer {flex-shrink:0;width:100%;padding:8px 20px 32px;color:var(--muted);font-size:16px;line-height:20px;text-align:center}
html[data-theme] body.web-ui.pwa-auth .auth-main {padding-top:20px!important;padding-bottom:20px!important}
@media(max-height:700px) {
 html[data-theme] body.web-ui.pwa-auth .auth-main {padding-top:8px!important;padding-bottom:8px!important}
}
body.web-ui.pwa-view[data-page="/reels"]>.app-footer {display:none}
/* All app writing and selection controls, including dialogs and validation states. */
html[data-theme] body.web-ui:is(.pwa-view,.pwa-auth) :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]) {border:0!important;border-style:none!important}
html[data-theme] body.web-ui.pwa-view fieldset.feedback-kind-picker,
html[data-theme] body.web-ui.pwa-view fieldset.feedback-kind-picker>legend,
html[data-theme] body.web-ui.pwa-view .feedback-kind-picker label>span,
html[data-theme] body.web-ui.pwa-view .feedback-kind-picker input:checked+span,
html[data-theme] body.web-ui.pwa-view :is(.app-media-entry,.app-media-entry-icon) {border:0!important;border-style:none!important}
html[data-theme] body.web-ui.pwa-view .app-birthday-person {gap:12px;min-height:48px}
html[data-theme] body.web-ui.pwa-view .app-birthday-person>.avatar {width:48px;height:48px;font-size:18px}
html[data-theme] body.web-ui.pwa-view .app-birthday-person strong {font-size:18px!important;line-height:1.4;font-weight:600}
html[data-theme] body.web-ui:is(.pwa-view,.pwa-auth) dialog.unsaved-dialog {border:0!important;border-style:none!important}
html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth) .app-notification-drawer {background:var(--panel);color:var(--text);width:min(480px,100vw);padding:24px;box-shadow:-12px 0 32px #0002}
html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth) .app-notification-drawer>header h2 {font-size:22px!important;margin:0!important}
html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth) .app-notification-drawer>header {align-items:flex-start}
html[data-theme] body.web-ui.app-notifications-open:not(.pwa-view):not(.pwa-auth) .site-header {z-index:50}
html[data-theme] body.web-ui.app-notifications-open:not(.pwa-view):not(.pwa-auth) .account-menu[open] .account-menu-content {z-index:51;box-shadow:0 12px 32px #0003!important}
html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth) .account-menu-content {background:#353535!important;color:#fff!important;border:0!important;border-style:none!important}
html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth) .account-menu-content::before {content:"";position:absolute;left:0;right:0;top:-16px;height:16px;background:transparent;pointer-events:auto}
html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth) .account-menu-content :is(a,button,a:hover,button:hover,span,.ui-icon) {color:#fff!important}
html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth) .account-menu-content :is(a,button):is(:hover,:focus,:active) {background:transparent!important;color:#fff!important}
html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth) .account-menu-content .account-menu-label {color:#ddd!important}
html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth) .account-menu-content .account-menu-divider {background:#ffffff30!important}
html[data-theme] body.web-ui .badge.role-badge {display:inline-flex;align-items:center;background:#555!important;color:#fff!important;border:0!important;border-radius:2px!important;padding:6px 10px!important;font-size:14px!important;font-weight:500;line-height:1.5;max-width:100%;white-space:normal;overflow-wrap:anywhere}
html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth) .header-account .account-menu-content :is(a,button) {transition:color .16s ease}
html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth) .header-account .account-menu-content :is(a,button):is(:hover,:focus-visible) {background:transparent!important;color:#ccc!important;font-weight:650!important}
html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth) .header-account .account-menu-content :is(a,button):is(:hover,:focus-visible) :is(span,.ui-icon) {color:#ccc!important}
html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth) .site-header .notification-bell {color:#222!important;transition:color .16s ease}
html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth) .site-header .notification-bell>.ui-icon {width:28px!important;height:28px!important;color:inherit!important;stroke:currentColor;stroke-width:2}
html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth) .site-header .notification-bell:is(:hover,:focus-visible) {color:#777!important}
html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth) .site-header .web-menu-toggle {transition:color .16s ease}
html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth) .site-header .web-menu-toggle>span {color:inherit!important}
html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth) .site-header .web-menu-toggle:is(:hover,:focus-visible) {color:#777!important}
html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth) .app-notification-drawer>header button {align-self:flex-start;align-items:flex-start;padding-top:0!important}
html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth) .app-notification-drawer>header button {background:transparent!important;color:var(--text)!important;border:0!important;width:48px;min-width:48px;height:48px;min-height:48px;padding:0!important;font-size:36px!important;line-height:1!important;flex:0 0 48px;align-items:flex-start;justify-content:center}
html[data-theme] body.web-ui.pwa-view .profile-photo-section {padding:20px!important;border:0!important;min-width:0}
html[data-theme] body.web-ui.pwa-view .profile-photo-section>legend {padding:0 8px;font-size:18px;font-weight:600}
html[data-theme] body.web-ui.pwa-view .profile-photo-section .profile-avatar-editor {display:grid;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:20px;padding:0!important;margin:0!important;background:transparent!important}
html[data-theme] body.web-ui.pwa-view .profile-photo-preview {display:flex;align-items:center;justify-content:center;min-width:0}
html[data-theme] body.web-ui.pwa-view .profile-photo-preview .avatar {width:104px;height:104px;max-width:104px;object-fit:cover;font-size:32px}
html[data-theme] body.web-ui.pwa-view .profile-photo-controls {min-width:0}
html[data-theme] body.web-ui.pwa-view .profile-photo-controls .field {width:100%;max-width:none;margin:0 0 12px;gap:8px}
html[data-theme] body.web-ui.pwa-view .profile-photo-controls input[type=file] {width:100%;max-width:100%;height:auto!important;min-height:48px!important;padding:8px!important;font-size:14px!important;background:var(--panel-soft)!important}
html[data-theme] body.web-ui.pwa-view .profile-photo-controls input[type=file]::file-selector-button {border:0;padding:8px 12px;margin-right:10px;background:var(--text);color:var(--bg);font:inherit;cursor:pointer}
html[data-theme] body.web-ui.pwa-view .profile-photo-controls .field-hint {margin:0!important}
html[data-theme] body.web-ui.pwa-view .profile-photo-controls .avatar-remove {gap:10px;margin:16px 0 0;align-items:center}
html[data-theme] body.web-ui:is(.pwa-view,.pwa-auth) input:is(:autofill,:-webkit-autofill) {-webkit-box-shadow:0 0 0 1000px #f2f2f2 inset!important;box-shadow:0 0 0 1000px #f2f2f2 inset!important;background-color:#f2f2f2!important;-webkit-text-fill-color:#222!important;caret-color:#222!important}
@media(max-width:480px) {
 html[data-theme] body.web-ui.pwa-view .profile-photo-section .profile-avatar-editor {grid-template-columns:minmax(0,1fr);gap:20px}
 html[data-theme] body.web-ui.pwa-view .profile-photo-preview {justify-content:flex-start}
}

/* Consistent borderless content sections and forms across website and app. */
html[data-theme] body.web-ui main :is(.panel,.section-layout,.filter-disclosure,.optional-fields,.advanced-disclosure,.finance-disclosure,.cash-maintenance,.opening-summary,.penalty-summary,.event-detail-layout,.profile-avatar-editor,.empty-state,fieldset,form) {border:0!important;border-style:none!important;box-shadow:none!important}
html[data-theme] body.web-ui main :is(.cash-actions>a,.cash-maintenance>nav>.button,.cash-manage-heading>.button,.cash-visibility-settings,.cash-visibility-toggle) {border:0!important;border-style:none!important;box-shadow:none!important}
html[data-theme] body.web-ui main :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]) {border:0!important;border-style:none!important}

/* Website dropdowns share a clear monochrome border on every page. */
html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth) :is(main#main,dialog) select {border:2px solid #b5b5b5!important;border-radius:2px!important;box-sizing:border-box;transition:border-color .16s ease}
html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth) :is(main#main,dialog) select:hover {border-color:#888!important}
html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth) :is(main#main,dialog) select:focus {border-color:#555!important}

/* App action buttons fill the available width, including their outer margins. */
/* Borderless form sections align with their containing content column. */
html[data-theme] body.web-ui:is(.member-area,.admin-area) main :is(form,fieldset,.section-layout,.section-layout>.panel,.cash-manage-columns .panel) {padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important;min-width:0}
html[data-theme] body.web-ui main fieldset>legend {padding-left:0!important;padding-right:0!important}
html[data-theme] body.web-ui:is(.member-area,.admin-area) main details:not(.reels-info)>:is(summary,.disclosure-content) {padding-left:0!important;padding-right:0!important}
html[data-theme] body.web-ui main :is(.form-grid,.filter-grid) {width:100%;max-width:none;margin-left:0!important;margin-right:0!important}
html[data-theme] body.web-ui main .field {width:100%;max-width:none}
html[data-theme] body.web-ui main .field :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]) {width:100%!important;max-width:100%!important}
html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth) main .form-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
html[data-theme] body.web-ui main :is(.form-grid,.filter-grid) {gap:20px 24px}
html[data-theme] body.web-ui main :is(.form-grid,.filter-grid)>.field {margin-bottom:0!important}
html[data-theme] body.web-ui main fieldset:not(.feedback-kind-picker):not(.profile-photo-section) {padding-top:16px;padding-bottom:16px;margin-top:0;margin-bottom:24px}
html[data-theme] body.web-ui main :is(.cash-contributions form+form,.cash-contributions .rate-history,.cash-maintenance) {margin-top:24px;padding-top:0}
html[data-theme] body.web-ui main details:not(.reels-info)>summary {padding-top:12px!important;padding-bottom:12px!important}
html[data-theme] body.web-ui main details:not(.reels-info)>.disclosure-content {padding-top:20px!important;padding-bottom:24px!important}
html[data-theme] body.web-ui main .cash-manage-settings {gap:24px}
html[data-theme] body.web-ui[data-page="/manage"] .cash-contributions .rate-history {margin-top:12px!important;margin-bottom:0!important;padding-top:0!important;padding-bottom:0!important}
html[data-theme] body.web-ui[data-page="/manage"] .cash-contributions {padding-bottom:0!important;margin-bottom:0!important}
html[data-theme] body.web-ui[data-page="/manage"] .cash-manage-columns {margin-bottom:0!important}
html[data-theme] body.web-ui[data-page="/manage"] .cash-audit {padding-top:0!important;padding-bottom:0!important;margin-top:0!important}
html[data-theme] body.web-ui[data-page="/manage"] :is(.rate-history,.cash-audit .advanced-disclosure)>summary {padding-top:8px!important;padding-bottom:8px!important;min-height:44px}
html[data-theme] body.web-ui[data-page="/manage"] :is(.rate-history,.cash-audit .advanced-disclosure)>.disclosure-content {padding-top:12px!important;padding-bottom:8px!important}
html[data-theme] body.web-ui[data-page="/manage"] .cash-contributions .rate-history>.disclosure-content {padding-bottom:0!important}
html[data-theme] body.web-ui[data-page="/manage"] .rate-history .table-wrap {margin-bottom:0!important}
@media(max-width:600px) {
 html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth) main .form-grid {grid-template-columns:minmax(0,1fr)}
}

html[data-theme] body.web-ui:is(.pwa-view,.pwa-auth) :is(main,dialog,.app-notification-content) :is(button,.button):not(:where(.reels-stage *,.reels-comments-head *,.reels-social *,.reels-filter *,.reels-comment-actions *,.reels-comment-like,.quantity-controls *,.calendar-nav,[data-upload-close],dialog>header button,[data-gallery-close],[data-gallery-prev],[data-gallery-next])) {width:100%!important;width:stretch!important;max-width:100%;min-width:0;flex:0 1 auto;align-self:stretch;justify-self:stretch;justify-content:center!important;text-align:center!important;box-sizing:border-box}
html[data-theme] body.web-ui.pwa-view .reels-comments-panel .reels-comment-like:not([aria-pressed=true]) .ui-icon {color:#fff!important;stroke:#fff!important;fill:none!important}
html[data-theme] body.web-ui.pwa-view .reels-comments-panel .reels-comment-actions button {width:auto!important;justify-content:flex-start!important;text-align:left!important;align-self:flex-start}
html[data-theme] body.web-ui.pwa-view .reels-comments-panel {border:0!important;border-style:none!important}
html[data-theme] body.web-ui.pwa-view .reels-stage .reels-status {bottom:auto!important;height:auto!important;min-height:0!important;padding:8px 12px!important;margin:0!important;font-size:14px!important;line-height:1.4!important}
html[data-theme] body.web-ui.pwa-view :is(.web-tooltip,.reels-status) {border:0!important;border-style:none!important}
html[data-theme] body.web-ui.pwa-view[data-page="/reels"] .reels-caption {gap:10px;min-height:44px}
html[data-theme] body.web-ui.pwa-view[data-page="/reels"] .reels-uploader-avatar .avatar {width:44px;height:44px;font-size:17px;border-radius:50%!important}
html[data-theme] body.web-ui.pwa-view[data-page="/reels"] [data-reels-uploader] {font-size:18px!important;font-weight:600;line-height:1.4}
html[data-theme] body.web-ui.pwa-view .reels-filter button,
html[data-theme] body.web-ui.pwa-view .reels-filter button:is([aria-pressed=true],:hover,:focus,:active),
html[data-theme] body.web-ui.pwa-view .reels-switch :is(button,.button) {border:0!important;border-style:none!important}
body.web-ui .reels-comment[hidden] {display:none!important}
html[data-theme] body.web-ui .reels-comments-panel .reels-comment-removed.is-dismissed {padding:0!important;border:0!important;background:transparent!important}
html[data-theme] body.web-ui.pwa-view dialog.reel-upload-dialog {border:0!important;border-style:none!important}
html[data-theme] body.web-ui.pwa-view .reel-upload-dialog>header button[data-upload-close] {width:44px!important;min-width:44px!important;max-width:44px!important;height:44px!important;min-height:44px!important;flex:0 0 44px;align-self:center;padding:10px!important;border:0!important;background:transparent!important;justify-content:center!important}
html[data-theme] body.web-ui.pwa-view .reel-upload-dialog>header button[data-upload-close] .ui-icon {width:24px;height:24px}
html[data-theme] body.web-ui:is(.pwa-view,.pwa-auth) :is(.form-actions,.actions,.app-download-buttons,.reel-upload-choices,.camera-actions) {display:flex;flex-direction:column;align-items:stretch;min-width:0}

@media(max-width:760px) {
 html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth) .header-top {display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important}
 html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth) .header-top>.brand {grid-column:2;grid-row:1;justify-self:center}
 html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth) .header-top>.header-account {grid-column:3;grid-row:1;justify-self:end}
 html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth)>.footer {justify-content:center;text-align:center}
 html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth)>.footer .footer-brand {width:100%;justify-content:center}
 html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth)>.footer .footer-brand>img,
 html[data-theme] body.web-ui:not(.pwa-view):not(.pwa-auth)>.footer .web-back-top {display:none!important}
}

@media print {
 body.web-ui {--ui-border-width:1px;--ui-rule-width:1px}
 html[data-theme] body.web-ui {padding-top:0!important}
}
@media(prefers-reduced-motion:reduce) {
 html[data-theme] body.web-ui:is(.web-content-pulling,.web-content-settling)>main {transition:none}
 html[data-theme] body.web-ui :is(.site-header,.app-header) {transition:none}
}
