html { --mobile-accent: #047857; --mobile-accent-hover: #065f46; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
html[data-site-skin="ocean"] { --mobile-accent: #0369a1; --mobile-accent-hover: #075985; }
html[data-site-skin="warm"] { --mobile-accent: #b45309; --mobile-accent-hover: #92400e; }
html[data-site-skin="graphite"] { --mobile-accent: #374151; --mobile-accent-hover: #1f2937; }
html[data-site-skin="royal"] { --mobile-accent: #1d4ed8; --mobile-accent-hover: #1e40af; }
html[data-site-skin="burgundy"] { --mobile-accent: #9f1239; --mobile-accent-hover: #881337; }
html[data-site-skin="violet"] { --mobile-accent: #7c3aed; --mobile-accent-hover: #6d28d9; }
html[data-site-skin="teal"] { --mobile-accent: #0f766e; --mobile-accent-hover: #115e59; }
html[data-site-skin="sunrise"] { --mobile-accent: #ea580c; --mobile-accent-hover: #c2410c; }
html[data-site-skin="midnight"] { --mobile-accent: #2563eb; --mobile-accent-hover: #1d4ed8; }
body { padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); }
button, [role="button"], input, select, textarea, a { touch-action: manipulation; }
input, select, textarea { font-size: max(16px, 1em); }
img, video, canvas, svg { max-width: 100%; height: auto; }
table { max-width: 100%; }
.mobile-scroll, .fi-ta-content, .overflow-x-auto { -webkit-overflow-scrolling: touch; }
.global-skin-picker { display: none !important; }
.global-skin-picker__toggle { display: flex; align-items: center; gap: 7px; min-height: 46px; padding: 0 16px; border: 0; border-radius: 999px; color: white; background: var(--mobile-accent); box-shadow: 0 8px 28px rgba(15, 23, 42, .25); font-size: 14px; font-weight: 750; cursor: pointer; }
.global-skin-picker__toggle:hover { background: var(--mobile-accent-hover); }
.global-skin-picker__options { position: absolute; right: 0; bottom: 56px; width: 205px; padding: 12px; border: 1px solid #d7e1dd; border-radius: 16px; background: white; color: #1f2937; box-shadow: 0 16px 45px rgba(15, 23, 42, .2); }
.global-skin-picker__options[hidden] { display: none; }
.global-skin-picker__options strong { display: block; padding: 4px 7px 9px; font-size: 13px; }
.global-skin-picker__options button { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 42px; padding: 6px 8px; border: 0; border-radius: 10px; background: transparent; color: #1f2937; font-weight: 650; cursor: pointer; }
.global-skin-picker__options button:hover, .global-skin-picker__options button[aria-pressed="true"] { background: #eef5f2; }
.global-skin-picker__options i { width: 22px; height: 22px; border-radius: 50%; background: var(--skin-color); box-shadow: 0 0 0 2px white, 0 0 0 3px #b9c5c0; }
html[data-site-skin] .button--primary, html[data-site-skin] .auth-card button, html[data-site-skin] .fi-btn.fi-color-primary { background-color: var(--mobile-accent) !important; }
html[data-site-skin] .button--primary:hover, html[data-site-skin] .auth-card button:hover, html[data-site-skin] .fi-btn.fi-color-primary:hover { background-color: var(--mobile-accent-hover) !important; }
@media (max-width: 767px) {
  button, [role="button"], input:not([type="checkbox"]):not([type="radio"]), select { min-height: 44px; }
  .fi-main, main { max-width: 100vw; overflow-x: hidden; }
  .fi-ta-ctn, .fi-section, .registration-card, .auth-card { max-width: calc(100vw - 1rem); }
  .fi-ta-content { overflow-x: auto; }
  .fi-ta-table { min-width: 42rem; }
  .union-portal-quick-links { grid-template-columns: 1fr !important; }
  .global-skin-picker__toggle span { display: inline; }
}
@media (display-mode: standalone) {
  body { padding-top: env(safe-area-inset-top); padding-bottom: env(safe-area-inset-bottom); }
}
