:root {
  --zoomifi-shell-release: "1.25.4";
  --zoomifi-font-sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --zoomifi-ink: #172033;
  --zoomifi-muted: #667085;
  --zoomifi-line: rgba(23, 32, 51, 0.12);
  --zoomifi-canvas: #f3f5f7;
  --zoomifi-panel: #fff;
  --zoomifi-shell: #111827;
  --zoomifi-shell-ink: #fff;
  --zoomifi-shell-muted: #b8c1cf;
  --zoomifi-shell-line: rgba(255, 255, 255, 0.14);
  --zoomifi-shell-hover: rgba(255, 255, 255, 0.08);
  --zoomifi-shell-active: rgba(255, 255, 255, 0.12);
  --zoomifi-shell-active-ink: #fff;
  --zoomifi-shell-accent: #4f8fe8;
  --zoomifi-action: #315fa8;
  --zoomifi-action-dark: #244a83;
  --zoomifi-action-soft: #eaf0fb;
  --zoomifi-success: #117a49;
  --zoomifi-success-dark: #0d6038;
  --zoomifi-disabled-action: #667085;
  --zoomifi-clover: #0e7f49;
  --zoomifi-clover-dark: #0b6339;
  --zoomifi-danger: #a33b32;
}

body.zoomifi-app { min-height: 100vh; margin: 0; color: var(--zoomifi-ink); background: var(--zoomifi-canvas); font-family: var(--zoomifi-font-sans); -webkit-font-smoothing: antialiased; }
.zoomifi-shell, .zoomifi-shell *, .zoomifi-login-page, .zoomifi-login-page *, .zoomifi-public-status-page, .zoomifi-public-status-page * { box-sizing: border-box; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
[data-clover-shell-root][data-clover-shell-pending] { min-height: 100vh; background: linear-gradient(90deg, var(--zoomifi-shell) 0 259px, var(--zoomifi-shell-line) 259px 260px, transparent 260px), linear-gradient(100deg, transparent 35%, rgba(255,255,255,.75) 48%, transparent 61%) var(--zoomifi-canvas); background-size: auto, 200% 100%; animation: zoomifi-shell-pending 1.2s ease-in-out infinite; }
@keyframes zoomifi-shell-pending { to { background-position: 0 0, -200% 0; } }
.zoomifi-shell { display: flex; min-height: 100vh; }
.zoomifi-shell-sidebar { position: sticky; top: 0; z-index: 30; width: 260px; height: 100vh; display: flex; flex: 0 0 auto; flex-direction: column; padding: 24px 16px 16px; border-right: 1px solid var(--zoomifi-shell-line); color: var(--zoomifi-shell-ink); background: var(--zoomifi-shell); transition: width 220ms ease, padding 220ms ease; }
.zoomifi-shell-brand { display: flex; align-items: center; gap: 12px; min-height: 52px; padding: 0 4px 20px; border-bottom: 1px solid var(--zoomifi-shell-line); }
.zoomifi-shell-brand-mark { display: grid; width: 42px; height: 42px; flex: 0 0 42px; place-items: center; overflow: hidden; border-radius: 12px; }
.zoomifi-shell-brand-mark img { width: 100%; height: 100%; display: block; }
.zoomifi-shell-brand-copy { min-width: 0; display: grid; }
.zoomifi-shell-brand-copy strong { color: #fff; font-size: 16px; line-height: 1.2; white-space: nowrap; }
.zoomifi-shell-sidebar .zoomifi-shell-brand-copy small { margin-top: 3px; color: #fff !important; font-size: 11px; }
.zoomifi-shell-nav { display: grid; gap: 6px; margin-top: 22px; }
.zoomifi-shell-nav-group { display: grid; gap: 4px; }
.zoomifi-shell-nav-children { display: grid; gap: 3px; padding-left: 31px; }
.zoomifi-shell-nav-child { min-height: 36px; padding-block: 7px; font-size: 12px; }
.zoomifi-shell-nav-item.is-current-parent { color: var(--zoomifi-shell-active-ink); }
.zoomifi-shell-nav-item { position: relative; min-height: 44px; display: flex; align-items: center; gap: 13px; padding: 10px 12px; border: 0; border-radius: 10px; color: var(--zoomifi-shell-muted); background: transparent; font-size: 14px; font-weight: 600; text-align: left; text-decoration: none; white-space: nowrap; }
.zoomifi-shell-nav-item:hover, .zoomifi-shell-nav-item:focus { color: var(--zoomifi-shell-ink); background: var(--zoomifi-shell-hover); text-decoration: none; }
.zoomifi-shell-nav-item.is-active { color: var(--zoomifi-shell-active-ink); background: var(--zoomifi-shell-active); text-decoration: none; }
.zoomifi-shell-nav-item.is-active::before { position: absolute; inset: 0 auto 0 0; width: 3px; border-radius: 10px 0 0 10px; background: var(--zoomifi-shell-accent); content: ""; }
.zoomifi-shell-nav-icon { width: 18px; flex: 0 0 18px; color: var(--zoomifi-shell-muted); text-align: center; }
.zoomifi-shell-nav-item.is-active .zoomifi-shell-nav-icon { color: var(--zoomifi-shell-active-ink); }
.zoomifi-shell-control-icon, .zoomifi-shell-collapse-icon { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.zoomifi-shell-spacer { flex: 1 1 auto; min-height: 30px; }
.zoomifi-shell-assistance { display: grid; gap: 4px; }
.zoomifi-shell-divider { margin: 2px 8px 10px; border-top: 1px solid var(--zoomifi-shell-line); }
.zoomifi-shell-collapse { position: relative; width: 42px; height: 44px; display: grid; align-self: flex-start; place-items: center; margin: 4px 0 2px; padding: 0; border: 0; border-radius: 10px; color: var(--zoomifi-shell-muted); background: transparent; }
.zoomifi-shell-collapse:hover, .zoomifi-shell-collapse:focus { color: var(--zoomifi-shell-ink); background: var(--zoomifi-shell-hover); }
.zoomifi-shell-control-tooltip { position: absolute; z-index: 40; top: 50%; left: calc(100% + 8px); width: max-content; max-width: 190px; padding: 7px 9px; border: 1px solid rgba(255,255,255,.14); border-radius: 7px; color: #fff; background: #0b1220; box-shadow: 0 8px 22px rgba(0,0,0,.22); font-size: 12px; font-weight: 650; line-height: 1.25; opacity: 0; pointer-events: none; transform: translateY(-50%) translateX(-3px); transition: opacity 120ms ease, transform 120ms ease; white-space: nowrap; }
.zoomifi-shell-collapse:hover .zoomifi-shell-control-tooltip, .zoomifi-shell-collapse:focus .zoomifi-shell-control-tooltip { opacity: 1; transform: translateY(-50%) translateX(0); }
.zoomifi-shell-account { display: flex; align-items: center; gap: 10px; min-height: 58px; padding: 10px; border: 0; border-radius: 11px; background: transparent; }
.zoomifi-shell-account[href] { color: inherit; text-decoration: none; }
.zoomifi-shell-account[href]:hover, .zoomifi-shell-account[href]:focus-visible { color: inherit; background: var(--zoomifi-shell-hover); text-decoration: none; }
.zoomifi-shell-avatar { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; border-radius: 9px; color: #fff; background: var(--zoomifi-action); font-size: 11px; font-weight: 800; }
.zoomifi-shell-account-copy { min-width: 0; display: grid; gap: 3px; }
.zoomifi-shell-account-name { overflow: hidden; color: var(--zoomifi-shell-ink); font-size: 13px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.zoomifi-shell-account-label { color: var(--zoomifi-shell-muted); font-size: 11px; line-height: 1.2; }
.zoomifi-shell-signout-form { margin: 4px 0 0; }
.zoomifi-shell-signout { width: 100%; color: var(--zoomifi-danger); }
.zoomifi-shell-signout:hover, .zoomifi-shell-signout:focus { color: var(--zoomifi-danger); }
.zoomifi-shell-signout:hover, .zoomifi-shell-signout:focus { color: #ffd5cf; background: rgba(163,59,50,.18); }
.zoomifi-shell-main { position: relative; min-width: 0; overflow-x: hidden; flex: 1 1 auto; }
.zoomifi-shell-main.is-page-loading { min-height: 180px; overflow: hidden; }
.zoomifi-shell-page-state { position: absolute; z-index: 24; inset: 0; display: grid; place-items: center; padding: 24px; background: rgba(243,245,247,.82); backdrop-filter: blur(2px); }
.zoomifi-shell-page-state-card { display: inline-flex; align-items: center; gap: 10px; padding: 11px 15px; border: 1px solid var(--zoomifi-line); border-radius: 10px; color: var(--zoomifi-muted); background: #fff; box-shadow: 0 10px 30px rgba(23,32,51,.1); font-size: 13px; font-weight: 700; }
.zoomifi-shell-page-state-spinner { width: 18px; height: 18px; border: 2px solid var(--zoomifi-action-soft); border-top-color: var(--zoomifi-action); border-radius: 50%; animation: zoomifi-shell-page-spin 720ms linear infinite; }
@keyframes zoomifi-shell-page-spin { to { transform: rotate(360deg); } }
.zoomifi-mobile-header, .zoomifi-mobile-close, .zoomifi-shell-scrim { display: none; }
.zoomifi-shell-content.container-fluid { width: 100%; max-width: 1600px; margin: 0 auto; padding: 34px clamp(24px, 4vw, 56px) 56px; }
.zoomifi-shell-content > .row { margin: 0 -15px; }
.zoomifi-shell-main h1 { margin-top: 0; color: var(--zoomifi-ink); font-family: inherit; font-size: clamp(32px, 4vw, 48px); font-weight: 750; letter-spacing: -.035em; text-transform: none; }
.zoomifi-shell-main h2, .zoomifi-shell-main h3, .zoomifi-shell-main label, .zoomifi-shell-main p, .zoomifi-shell-main input, .zoomifi-shell-main select, .zoomifi-shell-main textarea, .zoomifi-shell-main button { font-family: inherit; }
.zoomifi-shell-main .btn-primary { border-color: var(--zoomifi-action); color: #fff; background: var(--zoomifi-action); }
.zoomifi-shell-main .btn-primary:hover, .zoomifi-shell-main .btn-primary:focus { border-color: var(--zoomifi-action-dark); color: #fff; background: var(--zoomifi-action-dark); }
.zoomifi-shell-main .alert-success, .zoomifi-shell-main .label-success { border-color: #bfe1cc; color: #12683c; background: #edf8f1; }
.zoomifi-shell-main .form-control:focus { border-color: var(--zoomifi-action); box-shadow: 0 0 0 3px rgba(49,95,168,.14); }
.zoomifi-shell-main .table { border-color: var(--zoomifi-line); border-radius: 10px; background: #fff; }
.zoomifi-shell-main .table th { border-color: var(--zoomifi-line); color: #475467; background: #f7f8fa; font-family: inherit; font-size: 12px; font-weight: 750; text-transform: none; }
.zoomifi-shell-main .table td { border-color: #edf0f3; }
.zoomifi-shell.is-collapsed .zoomifi-shell-sidebar { width: 72px; padding-inline: 12px; }
.zoomifi-shell.is-collapsed .zoomifi-shell-brand { justify-content: center; padding-inline: 0; }
.zoomifi-shell.is-collapsed .zoomifi-shell-brand-copy, .zoomifi-shell.is-collapsed .zoomifi-shell-nav-text, .zoomifi-shell.is-collapsed .zoomifi-shell-account-name, .zoomifi-shell.is-collapsed .zoomifi-shell-account-label { position: absolute; max-width: 0; opacity: 0; pointer-events: none; }
.zoomifi-shell.is-collapsed .zoomifi-shell-nav-item { justify-content: center; padding-inline: 0; }
.zoomifi-shell.is-collapsed .zoomifi-shell-nav-children { display: none; }
.zoomifi-shell.is-collapsed .zoomifi-shell-account { justify-content: center; padding-inline: 0; }
.zoomifi-shell.is-collapsed .zoomifi-shell-collapse { width: 48px; }
.zoomifi-shell.is-collapsed .zoomifi-shell-collapse-icon { transform: rotate(180deg); }
.zoomifi-shell.is-collapsed .zoomifi-shell-control-tooltip { left: calc(100% + 12px); transform: translateY(-50%) translateX(-3px); }
.zoomifi-shell.is-collapsed .zoomifi-shell-collapse:hover .zoomifi-shell-control-tooltip, .zoomifi-shell.is-collapsed .zoomifi-shell-collapse:focus .zoomifi-shell-control-tooltip { transform: translateY(-50%) translateX(0); }
.zoomifi-login-page { min-height: 100vh; display: grid; place-items: center; padding: 32px; background: radial-gradient(circle at 50% 8%, rgba(49,95,168,.11), transparent 34%), linear-gradient(180deg, #fbfcfd, #edf1f7); }
.zoomifi-login-card { width: min(540px, 100%); padding: clamp(32px, 5vw, 48px); border: 1px solid var(--zoomifi-line); border-radius: 22px; background: rgba(255,255,255,.96); box-shadow: 0 28px 80px rgba(23,32,51,.12); text-align: center; }
.zoomifi-login-brand { width: 58px; height: 58px; display: grid; place-items: center; margin: 0 auto 18px; overflow: hidden; border-radius: 16px; }
.zoomifi-login-brand img { width: 100%; height: 100%; display: block; }
.zoomifi-login-eyebrow { margin: 0 0 8px; color: var(--zoomifi-action-dark); font-size: 12px; font-weight: 800; letter-spacing: .02em; }
.zoomifi-login-card h1 { margin: 0; color: var(--zoomifi-ink); font-size: clamp(30px, 6vw, 44px); font-weight: 760; letter-spacing: -.04em; line-height: 1.08; }
[data-shell-login-focus]:focus { outline: none; }
.zoomifi-login-description { max-width: 430px; margin: 16px auto 24px; color: var(--zoomifi-muted); font-size: 15px; line-height: 1.6; }
.zoomifi-login-message { margin: 0 0 18px; padding: 11px 13px; border: 1px solid #edcbc6; border-radius: 9px; color: #8f3028; background: #fff5f3; font-size: 13px; text-align: left; }
.zoomifi-login-button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 11px 18px; border: 1px solid var(--zoomifi-clover-dark); border-radius: 10px; color: #fff; background: var(--zoomifi-clover); box-shadow: 0 10px 24px rgba(14,127,73,.22); font-size: 15px; font-weight: 750; text-decoration: none; }
.zoomifi-login-button:hover, .zoomifi-login-button:focus { color: #fff; background: var(--zoomifi-clover-dark); text-decoration: none; }
.zoomifi-login-button:focus-visible { outline: 3px solid rgba(14,127,73,.28); outline-offset: 3px; }
.zoomifi-login-clover-mark { width: 24px; height: 24px; flex: 0 0 24px; border-radius: 6px; background: #fff url("./assets/clover-logo.png") center / 18px 18px no-repeat; }
.zoomifi-login-trust { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 18px; margin-top: 18px; color: #748096; font-size: 11px; }
.zoomifi-login-card footer { display: flex; justify-content: center; gap: 18px; margin-top: 30px; padding-top: 20px; border-top: 1px solid var(--zoomifi-line); }
.zoomifi-login-card footer a { color: #5f6c80; font-size: 11px; }
.zoomifi-login-state-title { margin: 0 0 10px; color: var(--zoomifi-ink); font-size: 19px; font-weight: 750; }
.zoomifi-login-status { margin: 20px 0; color: var(--zoomifi-muted); font-size: 14px; }
.zoomifi-public-status-page { min-height: 100vh; display: grid; place-items: center; padding: clamp(24px, 6vw, 72px); background: linear-gradient(180deg, #fbfcfd, var(--zoomifi-canvas)); }
.zoomifi-public-status-card { width: min(100%, 560px); padding: clamp(28px, 5vw, 48px); border: 1px solid var(--zoomifi-line); border-radius: 22px; background: rgba(255,255,255,.98); box-shadow: 0 24px 70px rgba(23,32,51,.1); text-align: center; }
.zoomifi-public-status-identity { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 28px; color: var(--zoomifi-ink); font-size: 15px; font-weight: 750; }
.zoomifi-public-status-identity img { width: 42px; height: 42px; display: block; border-radius: 11px; object-fit: contain; }
.zoomifi-public-status-icon { width: 56px; height: 56px; display: grid; place-items: center; margin: 0 auto 20px; border-radius: 50%; color: #fff; background: var(--zoomifi-action); font-size: 28px; font-weight: 800; line-height: 1; }
.zoomifi-public-status-card[data-public-status="success"] .zoomifi-public-status-icon { background: var(--zoomifi-success); }
.zoomifi-public-status-card[data-public-status="warning"] .zoomifi-public-status-icon { color: #7a4b00; background: #fff0d7; }
.zoomifi-public-status-card[data-public-status="error"] .zoomifi-public-status-icon, .zoomifi-public-status-card[data-public-status="expired"] .zoomifi-public-status-icon { color: var(--zoomifi-danger); background: #fff1ef; }
.zoomifi-public-status-card h1 { margin: 0; color: var(--zoomifi-ink); font-size: clamp(26px, 5vw, 38px); font-weight: 800; letter-spacing: -.035em; line-height: 1.1; }
.zoomifi-public-status-card p { max-width: 450px; margin: 14px auto 0; color: var(--zoomifi-muted); font-size: 15px; line-height: 1.6; }
.zoomifi-public-status-notice { max-width: 450px; margin: 22px auto 0 !important; padding: 12px 14px; border: 1px solid #e8cf94; border-radius: 10px; color: #7a4b00 !important; background: #fffaf0; font-size: 13px !important; text-align: left; }
.zoomifi-public-status-card[data-public-status="success"] .zoomifi-public-status-notice { border-color: #bddfcb; color: #12683c !important; background: #edf8f1; }
.zoomifi-public-status-action { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; margin-top: 24px; padding: 10px 16px; border: 1px solid var(--zoomifi-action); border-radius: 9px; color: #fff; background: var(--zoomifi-action); font-size: 14px; font-weight: 750; text-decoration: none; }
.zoomifi-public-status-action:hover, .zoomifi-public-status-action:focus { border-color: var(--zoomifi-action-dark); color: #fff; background: var(--zoomifi-action-dark); text-decoration: none; }
.zoomifi-public-status-action:focus-visible { outline: 3px solid rgba(49,95,168,.2); outline-offset: 3px; }
.zoomifi-public-status-footer { margin: 30px 0 0; padding-top: 18px; border-top: 1px solid var(--zoomifi-line); color: #7b8596; font-size: 11px; }
@media (max-width: 520px) {
  .zoomifi-public-status-page { padding: 18px; }
  .zoomifi-public-status-card { padding: 30px 24px; border-radius: 18px; }
  .zoomifi-public-status-action { width: 100%; }
}
.zoomifi-login-card-unified { width: min(620px, 100%); }
.zoomifi-login-card-unified [data-shell-login-tabs] { display: grid; grid-template-columns: minmax(0, 1fr); overflow: hidden; border: 1px solid var(--zoomifi-line); border-radius: 14px; text-align: left; }
.zoomifi-login-card-unified .zoomifi-tabs { grid-row: 1; justify-content: center; padding: 0; background: transparent; }
.zoomifi-login-card-unified .zoomifi-tab { width: min(190px, 50%); flex: 1 1 0; justify-content: center; margin: 0; border: 0; border-bottom: 3px solid transparent; border-radius: 0; background: transparent; text-align: center; text-transform: none; }
.zoomifi-login-card-unified .zoomifi-tab:hover, .zoomifi-login-card-unified .zoomifi-tab:focus { background: transparent; }
.zoomifi-login-card-unified .zoomifi-tab.is-active { border: 0; border-bottom: 3px solid var(--zoomifi-action); background: transparent; }
.zoomifi-login-card-unified .zoomifi-tab-panel { grid-row: 2; grid-column: 1; }
.zoomifi-login-card-unified .zoomifi-tab-panel[hidden] { display: block !important; visibility: hidden; pointer-events: none; }
.zoomifi-login-panel { min-height: 330px; display: flex; flex-direction: column; text-align: left; }
.zoomifi-login-merchant-content { min-height: 0; display: grid; flex: 1 1 auto; place-items: center; padding: 14px 18px 20px; text-align: center; }
.zoomifi-login-marketing-copy { max-width: 330px; margin: 0; color: var(--zoomifi-ink); font-size: clamp(20px, 4vw, 24px); font-weight: 720; letter-spacing: -.025em; line-height: 1.3; text-wrap: balance; }
.zoomifi-login-merchant-content .zoomifi-login-message, .zoomifi-login-merchant-content .zoomifi-login-status { width: 100%; margin: 0; }
.zoomifi-login-panel .zoomifi-login-button { width: 100%; margin-top: auto; }
.zoomifi-login-panel .zoomifi-login-trust { min-height: 18px; align-items: center; margin-top: 14px; }
.zoomifi-customer-login-form { display: grid; gap: 16px; margin-top: auto; }
.zoomifi-login-field { display: grid; gap: 7px; }
.zoomifi-login-field label { color: var(--zoomifi-ink); font-size: 13px; font-weight: 700; }
.zoomifi-login-field input { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #cfd6df; border-radius: 9px; color: var(--zoomifi-ink); background: #fff; font: inherit; font-size: 15px; }
.zoomifi-login-field input:focus { border-color: var(--zoomifi-action); outline: 3px solid rgba(49,95,168,.14); outline-offset: 0; }
.zoomifi-customer-login-button { min-height: 48px; border: 1px solid var(--zoomifi-action); border-radius: 9px; color: #fff; background: var(--zoomifi-action); font: inherit; font-size: 15px; font-weight: 750; cursor: pointer; }
.zoomifi-customer-login-button:hover, .zoomifi-customer-login-button:focus { background: var(--zoomifi-action-dark); }
.zoomifi-customer-login-button:focus-visible { outline: 3px solid rgba(49,95,168,.24); outline-offset: 3px; }
.zoomifi-login-customer-links { min-height: 18px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 16px; margin-top: 14px; }
.zoomifi-login-customer-links a { color: var(--zoomifi-action-dark); font-size: 12px; font-weight: 650; }
.zoomifi-shell-failure { width: min(560px, calc(100% - 32px)); margin: clamp(48px, 12vh, 120px) auto; padding: 30px; border: 1px solid var(--zoomifi-line); border-radius: 16px; background: #fff; box-shadow: 0 18px 60px rgba(23,32,51,.1); text-align: center; }
.zoomifi-shell-failure h1 { margin: 0; color: var(--zoomifi-ink); font-size: 28px; }
.zoomifi-shell-failure p { margin: 12px 0; color: var(--zoomifi-muted); }
.zoomifi-shell-failure code { display: inline-block; padding: 6px 9px; border-radius: 7px; color: #344054; background: #f1f4f8; font-size: 12px; }
.zoomifi-shell-access { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 22px clamp(18px, 3vw, 48px) 0; padding: 16px 18px; border: 1px solid #e7d3a5; border-radius: 12px; color: #664d17; background: #fff9e8; }
.zoomifi-shell-access.is-inactive, .zoomifi-shell-access.is-cancelled { border-color: #e5c3bf; color: #8f3028; background: #fff5f3; }
.zoomifi-shell-access.is-unavailable { border-color: #cfd8e4; color: #46546a; background: #f6f8fb; }
.zoomifi-shell-access h2 { margin: 0; color: inherit; font-size: 16px; font-weight: 750; letter-spacing: -.01em; line-height: 1.3; }
.zoomifi-shell-access p { margin: 4px 0 0; color: inherit; font-size: 12px; line-height: 1.5; }
.zoomifi-shell-access .zoomifi-button { flex: 0 0 auto; color: inherit; background: rgba(255,255,255,.72); }
.zoomifi-shell-nav-item.is-disabled { opacity: .48; pointer-events: none; }
.zoomifi-shell-public-signout { color: var(--zoomifi-shell-muted); }

/* Shared merchant-workspace primitives. These classes deliberately outrank
   legacy Bootstrap app styles so adapters can modernize one screen at a time. */
.zoomifi-page { display: grid; gap: 22px; }
.zoomifi-page > * { min-width: 0; }
.zoomifi-page-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; }
.zoomifi-page-heading { min-width: 0; }
.zoomifi-page-header h1 { margin: 0; font-size: clamp(30px, 3.2vw, 44px); line-height: 1.05; }
.zoomifi-page-header p { max-width: 720px; margin: 9px 0 0; color: var(--zoomifi-muted); font-size: 14px; line-height: 1.55; }
.zoomifi-card { min-width: 0; overflow: hidden; border: 1px solid var(--zoomifi-line) !important; border-radius: 14px !important; background: var(--zoomifi-panel); box-shadow: 0 10px 34px rgba(23,32,51,.055); }
.zoomifi-page-card { margin-top: 24px; }
.zoomifi-card-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 20px 24px; border-bottom: 1px solid var(--zoomifi-line); }
.zoomifi-card-header h2 { margin: 0; color: var(--zoomifi-ink); font-size: 18px; font-weight: 750; letter-spacing: -.02em; line-height: 1.25; }
.zoomifi-card-header p { margin: 5px 0 0; color: var(--zoomifi-muted); font-size: 12px; line-height: 1.5; }
.zoomifi-card-body { padding: 24px; }
.zoomifi-card-section { padding: 20px 24px; }
.zoomifi-card-section + .zoomifi-card-section { border-top: 1px solid var(--zoomifi-line); }
.zoomifi-form-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 18px; }
.zoomifi-field { grid-column: span 4; min-width: 0; margin: 0 !important; }
.zoomifi-field.is-half { grid-column: span 6; }
.zoomifi-field.is-compact { grid-column: span 3; }
.zoomifi-field.is-wide { grid-column: span 8; }
.zoomifi-field.is-full { grid-column: 1 / -1; }
.zoomifi-field label, .zoomifi-field-label { display: block; margin: 0 0 7px; color: #344054; font-size: 12px !important; font-weight: 700 !important; letter-spacing: 0; line-height: 1.35; text-transform: none !important; }
.zoomifi-field-hint { display: block; margin-top: 7px; color: var(--zoomifi-muted); font-size: 11px; line-height: 1.5; }
.zoomifi-control, .zoomifi-field .form-control, .zoomifi-field input:not([type="checkbox"]):not([type="radio"]), .zoomifi-field select, .zoomifi-field textarea { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid #cfd6df !important; border-radius: 9px !important; color: var(--zoomifi-ink); background: #fff; font: inherit; font-size: 14px; line-height: 1.4; box-shadow: none; }
.zoomifi-field textarea { min-height: 78px; resize: vertical; }
.zoomifi-control:focus, .zoomifi-field .form-control:focus, .zoomifi-field input:focus, .zoomifi-field select:focus, .zoomifi-field textarea:focus { border-color: var(--zoomifi-action) !important; outline: 3px solid rgba(49,95,168,.14) !important; outline-offset: 0; box-shadow: none !important; }
.zoomifi-money-field { position: relative; min-width: 0; }
.zoomifi-money-field .zoomifi-money-field-input { padding-inline-start: 42px !important; font-variant-numeric: tabular-nums; }
.zoomifi-money-field[data-shell-money-currency-width="medium"] .zoomifi-money-field-input { padding-inline-start: 50px !important; }
.zoomifi-money-field[data-shell-money-currency-width="wide"] .zoomifi-money-field-input { padding-inline-start: 62px !important; }
.zoomifi-money-field-currency { position: absolute; z-index: 1; inset-block-start: 50%; inset-inline-start: 14px; color: #4f5d72; font-size: 15px; font-weight: 750; line-height: 1; white-space: nowrap; pointer-events: none; transform: translateY(-50%); }
.zoomifi-field-action-row { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: stretch; gap: 8px; }
.zoomifi-field-action-row > :first-child { min-width: 0; }
.zoomifi-field-action-row > .zoomifi-button { min-width: 88px; }
.zoomifi-check { display: flex; align-items: flex-start; gap: 9px; color: #344054; font-size: 13px; line-height: 1.5; }
.zoomifi-check input { width: 17px; height: 17px; flex: 0 0 17px; margin: 1px 0 0 !important; accent-color: var(--zoomifi-action); }
.zoomifi-shell-main label.zoomifi-toggle { position: relative; width: max-content !important; min-height: 44px !important; display: inline-flex !important; align-items: center !important; gap: 0 !important; margin: 0 !important; padding: 0 !important; color: #344054; cursor: pointer; }
.zoomifi-shell-main label.zoomifi-toggle > input[type="checkbox"][role="switch"] { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; opacity: 0 !important; pointer-events: none !important; }
.zoomifi-shell-main label.zoomifi-toggle > span.zoomifi-toggle-track { position: relative !important; width: 48px !important; height: 28px !important; display: inline-block !important; flex: 0 0 48px !important; box-sizing: border-box !important; margin: 0 !important; padding: 0 !important; border: 1px solid #98a2b3 !important; border-radius: 999px !important; background: #98a2b3 !important; box-shadow: inset 0 0 0 1px rgba(23,32,51,.06); transition: border-color 140ms ease, background-color 140ms ease; }
.zoomifi-shell-main label.zoomifi-toggle span.zoomifi-toggle-thumb { position: absolute !important; top: 2px !important; left: 2px !important; width: 22px !important; height: 22px !important; display: block !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 50% !important; background: #fff !important; box-shadow: 0 1px 3px rgba(23,32,51,.32); transition: transform 140ms ease; }
.zoomifi-shell-main label.zoomifi-toggle > .zoomifi-toggle-state { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; }
.zoomifi-shell-main label.zoomifi-toggle > input:checked + span.zoomifi-toggle-track { border-color: var(--zoomifi-clover) !important; background: var(--zoomifi-clover) !important; }
.zoomifi-shell-main label.zoomifi-toggle > input:checked + span.zoomifi-toggle-track span.zoomifi-toggle-thumb { transform: translateX(20px); }
.zoomifi-shell-main label.zoomifi-toggle > input:focus-visible + span.zoomifi-toggle-track { outline: 3px solid rgba(14,127,73,.24); outline-offset: 2px; }
.zoomifi-shell-main label.zoomifi-toggle > input:disabled + span.zoomifi-toggle-track { opacity: .48; cursor: not-allowed; }
.zoomifi-settings-list { display: grid; grid-column: 1 / -1; border-top: 1px solid var(--zoomifi-line); border-bottom: 1px solid var(--zoomifi-line); }
.zoomifi-setting-row { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 18px; margin: 0; padding: 16px 0; border-bottom: 1px solid var(--zoomifi-line); }
.zoomifi-setting-row:last-child { border-bottom: 0; }
.zoomifi-setting-row-content { min-width: 0; }
.zoomifi-setting-row-content .zoomifi-check { margin: 0; }
.zoomifi-setting-row-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }
.zoomifi-range-presets { display: flex; flex-wrap: wrap; gap: 8px; }
.zoomifi-tabs { display: flex; gap: 4px; margin: 0; padding: 6px 6px 0; overflow-x: auto; border-bottom: 1px solid var(--zoomifi-line); background: #fbfcfd; scrollbar-width: thin; }
.zoomifi-tab { min-height: 42px; flex: 0 0 auto; margin: 0 0 -1px; padding: 9px 13px; border: 1px solid transparent; border-bottom-color: var(--zoomifi-line); border-radius: 8px 8px 0 0; color: var(--zoomifi-muted); background: transparent; font-size: 13px; font-weight: 700; line-height: 1.2; }
.zoomifi-tab:hover, .zoomifi-tab:focus { color: var(--zoomifi-ink); background: #f3f6fa; }
.zoomifi-tab:focus-visible { outline: 2px solid var(--zoomifi-action); outline-offset: -2px; }
.zoomifi-tab.is-active { border-color: var(--zoomifi-line); border-bottom-color: #fff; color: var(--zoomifi-action-dark); background: #fff; }
.zoomifi-tab-panel { padding: 24px; }
[data-clover-shell-tabs] [hidden] { display: none !important; }
.zoomifi-form-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; padding-top: 2px; }
.zoomifi-button, .zoomifi-shell-main .zoomifi-button { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 9px 15px; border: 1px solid #d4dae2 !important; border-radius: 9px !important; color: #344054; background: #fff; font-size: 13px; font-weight: 700; line-height: 1.2; text-decoration: none; }
.zoomifi-button:hover, .zoomifi-button:focus { color: var(--zoomifi-ink); background: #f7f8fa; text-decoration: none; }
.zoomifi-button:focus-visible { outline: 2px solid var(--zoomifi-action); outline-offset: 2px; }
.zoomifi-button.is-primary, .zoomifi-shell-main .zoomifi-button.is-primary { border-color: var(--zoomifi-action) !important; color: #fff; background: var(--zoomifi-action); }
.zoomifi-button.is-primary:hover, .zoomifi-button.is-primary:focus { border-color: var(--zoomifi-action-dark) !important; color: #fff; background: var(--zoomifi-action-dark); }
.zoomifi-button.is-save, .zoomifi-shell-main .zoomifi-button.is-save, .zoomifi-shell-main .btn-success { border-color: var(--zoomifi-success) !important; color: #fff; background: var(--zoomifi-success); }
.zoomifi-button.is-save:hover, .zoomifi-button.is-save:focus, .zoomifi-shell-main .btn-success:hover, .zoomifi-shell-main .btn-success:focus { border-color: var(--zoomifi-success-dark) !important; color: #fff; background: var(--zoomifi-success-dark); }
.zoomifi-button.is-save[disabled], .zoomifi-shell-main .zoomifi-button.is-save[disabled], .zoomifi-shell-main .btn-success[disabled] { border-color: var(--zoomifi-disabled-action) !important; color: #fff; background: var(--zoomifi-disabled-action); opacity: 1; }
.zoomifi-button.is-save:focus-visible { outline-color: var(--zoomifi-success); }
.zoomifi-button.is-danger { border-color: #e5c3bf !important; color: #8f3028; background: #fff8f7; }
.zoomifi-button[disabled], .zoomifi-button.is-disabled { opacity: .48; cursor: not-allowed; }
@media (prefers-reduced-motion: reduce) {
  .zoomifi-toggle-track, .zoomifi-toggle-thumb { transition: none; }
}
.zoomifi-table-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 16px 20px; border-bottom: 1px solid var(--zoomifi-line); }
.zoomifi-table-toolbar-start, .zoomifi-table-toolbar-end { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.zoomifi-search { position: relative; min-width: min(360px, 100%); }
.zoomifi-search .form-control { min-height: 42px; padding-left: 38px; border: 1px solid #d4dae2 !important; border-radius: 9px !important; font-size: 13px; }
.zoomifi-search::before { position: absolute; z-index: 1; top: 50%; left: 14px; color: #7c8798; content: "\f002"; font-family: FontAwesome; transform: translateY(-50%); }
.zoomifi-table-scroll { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.zoomifi-data-table, .zoomifi-shell-main table.zoomifi-data-table { width: 100% !important; margin: 0 !important; border: 0 !important; border-collapse: collapse; border-radius: 0 !important; table-layout: auto; }
.zoomifi-data-table thead th, .zoomifi-shell-main table.zoomifi-data-table thead th { padding: 12px 14px !important; border: 0 !important; border-bottom: 1px solid var(--zoomifi-line) !important; color: #556173; background: #f8f9fb; font-size: 11px !important; font-weight: 750; letter-spacing: .01em; text-transform: none; white-space: nowrap; }
.zoomifi-data-table tbody td, .zoomifi-shell-main table.zoomifi-data-table tbody td { max-width: 320px; padding: 14px !important; border: 0 !important; border-bottom: 1px solid #edf0f3 !important; color: #344054; font-size: 13px; line-height: 1.45; vertical-align: middle; }
.zoomifi-data-table tbody tr:last-child td { border-bottom: 0 !important; }
.zoomifi-data-table tbody tr:hover td { background: #fafbfc; }
.zoomifi-data-table textarea { min-width: 220px; min-height: 54px; padding: 8px 10px; border: 1px solid #dbe0e7 !important; border-radius: 8px !important; color: #536075; background: #fbfcfd; font: inherit; font-size: 11px; resize: none; }
.zoomifi-data-table .zoomifi-table-control { width: min(140px, 100%); min-height: 42px; padding: 9px 11px; border: 1px solid #cfd6df !important; border-radius: 9px !important; color: var(--zoomifi-ink); background: #fff; font: inherit; font-size: 13px; line-height: 1.4; box-shadow: none; }
.zoomifi-data-table .zoomifi-table-control:focus { border-color: var(--zoomifi-action) !important; outline: 3px solid rgba(49,95,168,.14); outline-offset: 0; }
.zoomifi-data-table .zoomifi-table-actions { display: flex; flex-wrap: nowrap; align-items: center; gap: 7px; white-space: nowrap; }
.zoomifi-data-table .zoomifi-table-actions .zoomifi-button { min-height: 36px; padding: 7px 10px; }
.zoomifi-status-pill { display: inline-flex; align-items: center; gap: 6px; min-height: 26px; padding: 4px 9px; border: 1px solid #cfd8e4 !important; border-radius: 999px !important; color: #46546a; background: #f6f8fb; font-size: 11px; font-weight: 750; white-space: nowrap; }
.zoomifi-status-pill.is-active { border-color: #bddfcb !important; color: #12683c; background: #edf8f1; }
.zoomifi-status-pill.is-inactive { border-color: #e5c3bf !important; color: #8f3028; background: #fff5f3; }
.zoomifi-feedback { min-height: 18px; margin: 0; color: var(--zoomifi-muted); font-size: 13px; line-height: 1.45; }
.zoomifi-feedback:not([hidden]) { padding: 11px 12px; border: 1px solid var(--zoomifi-line); border-radius: 8px; background: #f8fafc; }
.zoomifi-feedback.is-success { border-color: #bddfcb; color: #12683c; background: #edf8f1; }
.zoomifi-feedback.is-error { border-color: #e5c3bf; color: var(--zoomifi-danger); background: #fff7f6; }
.zoomifi-shell-feedback { width: min(100%, 720px); margin: 0 0 18px; padding: 12px 14px; border: 1px solid var(--zoomifi-line); border-inline-start: 4px solid var(--zoomifi-action); border-radius: 9px; color: var(--zoomifi-ink); background: #fff; box-shadow: 0 5px 18px rgba(23,32,51,.06); font-size: 14px; line-height: 1.45; }
.zoomifi-shell-feedback[data-feedback-kind="success"] { border-color: #bddfcb; border-inline-start-color: var(--zoomifi-success); background: #edf8f1; }
.zoomifi-shell-feedback[data-feedback-kind="validation"] { border-color: #e8cf94; border-inline-start-color: #9a6200; background: #fffaf0; }
.zoomifi-shell-feedback[data-feedback-kind="warning"] { border-color: #e8cf94; border-inline-start-color: #9a6200; background: #fffaf0; }
.zoomifi-shell-feedback[data-feedback-kind="failure"] { border-color: #e5c3bf; border-inline-start-color: var(--zoomifi-danger); background: #fff7f6; }
.zoomifi-shell-feedback-copy { margin: 0; }
.zoomifi-shell-feedback-reference { display: block; margin-top: 6px; color: var(--zoomifi-muted); font-size: 12px; }
.zoomifi-shell-feedback-dismiss { float: inline-end; min-width: 36px; min-height: 36px; margin: -5px -6px 0 10px; border: 0; border-radius: 6px; color: inherit; background: transparent; font: inherit; font-weight: 700; cursor: pointer; }
.zoomifi-shell-feedback-dismiss:hover { background: rgba(23,32,51,.08); }
.zoomifi-shell-feedback-dismiss:focus-visible { outline: 3px solid var(--zoomifi-focus); outline-offset: 2px; }
.zoomifi-page-state { min-height: 360px; display: grid; place-items: center; padding: 32px; }
.zoomifi-page-state-card { width: min(100%, 560px); padding: 34px; border: 1px solid var(--zoomifi-line); border-radius: 14px; background: #fff; box-shadow: 0 12px 36px rgba(23,32,51,.06); text-align: center; }
.zoomifi-page-state-icon { width: 42px; height: 42px; display: grid; place-items: center; margin: 0 auto 18px; border-radius: 50%; color: var(--zoomifi-danger); background: #fff1ef; font-size: 22px; font-weight: 800; }
.zoomifi-page-state h1 { margin: 0; color: var(--zoomifi-ink); font-size: clamp(26px, 3vw, 36px); font-weight: 800; letter-spacing: -.035em; line-height: 1.1; }
.zoomifi-page-state p { max-width: 460px; margin: 12px auto 0; color: var(--zoomifi-muted); font-size: 14px; line-height: 1.55; }
.zoomifi-page-state .zoomifi-button { margin-top: 22px; }
.zoomifi-empty-state { padding: 54px 24px; color: var(--zoomifi-muted); font-size: 13px; text-align: center; }
[data-clover-shell-table] [hidden] { display: none !important; }
.zoomifi-shell-table-toolbar .zoomifi-table-toolbar-start { min-width: 0; flex: 1 1 auto; }
.zoomifi-shell-table-search { width: min(520px, 100%); flex: 1 1 420px; }
.zoomifi-shell-table-result-count { color: var(--zoomifi-muted); font-size: 12px; white-space: nowrap; }
.zoomifi-shell-table-filter-icon { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.zoomifi-shell-table-filter-count { min-width: 20px; padding: 2px 6px; border-radius: 999px; color: #fff; background: var(--zoomifi-action); font-size: 10px; line-height: 1.4; }
.zoomifi-shell-table-filters { display: grid; grid-template-columns: repeat(3, minmax(160px, 1fr)) auto; gap: 14px; align-items: end; padding: 16px 20px; border-bottom: 1px solid var(--zoomifi-line); background: #fbfcfd; }
.zoomifi-shell-table-filters .zoomifi-field { grid-column: auto; }
.zoomifi-shell-table-filters select, .zoomifi-shell-table-filters input { width: 100%; min-height: 42px; padding: 9px 11px; border: 1px solid #cfd6df; border-radius: 9px; color: var(--zoomifi-ink); background: #fff; font: inherit; font-size: 13px; }
.zoomifi-shell-table-filters select:focus, .zoomifi-shell-table-filters input:focus { border-color: var(--zoomifi-action); outline: 3px solid rgba(49,95,168,.14); outline-offset: 0; }
[data-clover-shell-table] .zoomifi-data-table { width: 100% !important; min-width: var(--zoomifi-table-min-width, 100%) !important; }
[data-clover-shell-table] .zoomifi-data-table[data-shell-table-fixed-columns="true"] { table-layout: fixed; }
[data-clover-shell-table] .zoomifi-data-table[data-shell-table-fixed-columns="true"] th[data-shell-table-column-type="text"],
[data-clover-shell-table] .zoomifi-data-table[data-shell-table-fixed-columns="true"] td[data-shell-table-column-type="text"] { width: 220px; min-width: 160px; }
[data-clover-shell-table] .zoomifi-data-table[data-shell-table-fixed-columns="true"] th[data-shell-table-column-type="integer"],
[data-clover-shell-table] .zoomifi-data-table[data-shell-table-fixed-columns="true"] td[data-shell-table-column-type="integer"] { width: 120px; min-width: 120px; max-width: 120px; }
[data-clover-shell-table] .zoomifi-data-table[data-shell-table-fixed-columns="true"] th[data-shell-table-column-type="decimal"],
[data-clover-shell-table] .zoomifi-data-table[data-shell-table-fixed-columns="true"] td[data-shell-table-column-type="decimal"] { width: 140px; min-width: 140px; max-width: 140px; }
[data-clover-shell-table] .zoomifi-data-table[data-shell-table-fixed-columns="true"] th[data-shell-table-column-type="status"],
[data-clover-shell-table] .zoomifi-data-table[data-shell-table-fixed-columns="true"] td[data-shell-table-column-type="status"] { width: 112px; min-width: 112px; max-width: 112px; }
[data-clover-shell-table] .zoomifi-data-table[data-shell-table-fixed-columns="true"] th[data-shell-table-column-type="actions"],
[data-clover-shell-table] .zoomifi-data-table[data-shell-table-fixed-columns="true"] td[data-shell-table-column-type="actions"] { width: var(--zoomifi-table-column-width, 132px); min-width: var(--zoomifi-table-column-width, 132px); max-width: var(--zoomifi-table-column-width, 132px); }
[data-clover-shell-table] .zoomifi-data-table[data-shell-table-fixed-columns="true"] td[data-shell-table-column-type="text"] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
[data-clover-shell-table] .zoomifi-data-table[data-shell-table-fixed-columns="true"] td[data-shell-table-column-type="text"] > a,
[data-clover-shell-table] .zoomifi-data-table[data-shell-table-fixed-columns="true"] td[data-shell-table-column-type="text"] > span:not(.zoomifi-status-pill) { display: block; overflow: hidden; text-overflow: ellipsis; white-space: inherit; }
[data-clover-shell-table] .zoomifi-data-table [data-shell-table-align="start"] { text-align: start; }
[data-clover-shell-table] .zoomifi-data-table [data-shell-table-align="center"] { text-align: center; }
[data-clover-shell-table] .zoomifi-data-table [data-shell-table-align="end"] { text-align: end; }
[data-clover-shell-table] .zoomifi-data-table td[data-shell-table-align="center"] .zoomifi-table-actions { justify-content: center; }
[data-clover-shell-table] .zoomifi-data-table td[data-shell-table-align="end"] .zoomifi-table-actions { justify-content: flex-end; }
.zoomifi-shell-table-sort { width: 100%; min-height: 34px; display: inline-flex; align-items: center; justify-content: space-between; gap: 8px; padding: 0; border: 0; color: inherit; background: transparent; font: inherit; text-align: start; }
.zoomifi-shell-table-copy-status { margin-inline-start: 6px; color: var(--zoomifi-success); font-size: 11px; font-weight: 750; }
.zoomifi-shell-table-sort:hover, .zoomifi-shell-table-sort:focus { color: var(--zoomifi-action-dark); }
.zoomifi-shell-table-sort:focus-visible { outline: 2px solid var(--zoomifi-action); outline-offset: 3px; }
.zoomifi-shell-table-empty h3 { margin: 0; color: var(--zoomifi-ink); font-size: 15px; font-weight: 750; }
.zoomifi-shell-table-empty p { margin: 6px 0 0; }
.zoomifi-shell-table-pagination { min-height: 62px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 18px; padding: 10px 18px; border-top: 1px solid var(--zoomifi-line); color: var(--zoomifi-muted); font-size: 11px; }
.zoomifi-shell-table-page-size, .zoomifi-shell-table-page-buttons { display: flex; align-items: center; gap: 10px; }
.zoomifi-shell-table-page-size select { min-height: 38px; padding-block: 7px; padding-inline: 10px 28px; border: 1px solid #d4dae2; border-radius: 8px; color: #344054; background: #fff; }
.zoomifi-shell-table-page-buttons { justify-content: flex-end; }
body.zoomifi-app .modal-content,
body.zoomifi-app .modal-title,
body.zoomifi-app .modal-body,
body.zoomifi-app .modal-footer,
body.zoomifi-app .modal-content label,
body.zoomifi-app .modal-content p,
body.zoomifi-app .modal-content input,
body.zoomifi-app .modal-content select,
body.zoomifi-app .modal-content textarea,
body.zoomifi-app .modal-content button { font-family: var(--zoomifi-font-sans) !important; }
.zoomifi-shell-main .modal-content { overflow: hidden; border: 1px solid var(--zoomifi-line) !important; border-radius: 14px !important; background: #fff; box-shadow: 0 24px 70px rgba(23,32,51,.18) !important; }
.zoomifi-shell-main .modal-header, .zoomifi-shell-main .modal-footer { padding: 16px 20px; border-color: var(--zoomifi-line); background: #fff; }
.zoomifi-shell-main .modal-title { color: var(--zoomifi-ink); font-size: 17px; font-weight: 750; }
.zoomifi-shell-main .modal-body { padding: 20px; color: #344054; }
.zoomifi-shell-main .modal-footer .btn { min-height: 40px; padding: 8px 14px; border-radius: 9px !important; font-family: inherit; font-size: 13px; font-weight: 700; }
.zoomifi-shell-nav-icon { height: 18px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
body.zoomifi-shell-request-open { overflow: hidden; }
.zoomifi-shell-request-root { display: none; position: fixed; z-index: 1000; inset: 0; }
.zoomifi-shell-request-root, .zoomifi-shell-request-root * { box-sizing: border-box; }
.zoomifi-shell-request-root [hidden] { display: none !important; }
.zoomifi-shell-request-root.is-open { display: grid; place-items: center; padding: 24px; }
.zoomifi-shell-request-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: rgba(12,18,30,.58); cursor: default; backdrop-filter: blur(3px); }
.zoomifi-shell-request-dialog { position: relative; z-index: 1; width: min(620px, 100%); max-height: calc(100dvh - 48px); overflow-y: auto; padding: 28px; border: 1px solid var(--zoomifi-line); border-radius: 16px; background: #fff; box-shadow: 0 28px 80px rgba(12,18,30,.3); }
.zoomifi-shell-request-dialog h2 { margin: 0; color: var(--zoomifi-ink); font-size: 25px; font-weight: 750; letter-spacing: -.025em; line-height: 1.2; }
.zoomifi-shell-request-description { margin: 8px 40px 22px 0; color: var(--zoomifi-muted); font-size: 14px; line-height: 1.55; }
.zoomifi-shell-request-close { position: absolute; top: 16px; right: 16px; width: 38px; height: 38px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 9px; color: #667085; background: #f1f4f8; font-size: 24px; line-height: 1; }
.zoomifi-shell-request-close:hover, .zoomifi-shell-request-close:focus { color: var(--zoomifi-ink); background: #e7ebf1; }
.zoomifi-shell-request-dialog form { display: grid; gap: 15px; }
.zoomifi-shell-request-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.zoomifi-shell-request-field { display: grid; gap: 7px; }
.zoomifi-shell-request-field label { margin: 0; color: #344054; font-size: 12px; font-weight: 700; line-height: 1.35; text-transform: none; }
.zoomifi-shell-request-field input, .zoomifi-shell-request-field textarea { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid #cfd6df; border-radius: 9px; color: var(--zoomifi-ink); background: #fff; font: inherit; font-size: 14px; line-height: 1.45; box-shadow: none; }
.zoomifi-shell-request-field textarea { min-height: 126px; resize: vertical; }
.zoomifi-shell-request-field input:focus, .zoomifi-shell-request-field textarea:focus { border-color: var(--zoomifi-action); outline: 3px solid rgba(49,95,168,.14); outline-offset: 0; }
.zoomifi-shell-request-field input:disabled, .zoomifi-shell-request-field textarea:disabled { color: #7a8496; background: #f6f7f9; }
.zoomifi-shell-request-context { margin: 0; color: #748096; font-size: 11px; line-height: 1.5; }
.zoomifi-shell-request-feedback { min-height: 18px; color: var(--zoomifi-muted); font-size: 13px; line-height: 1.45; }
.zoomifi-shell-request-feedback.is-error { padding: 11px 12px; border: 1px solid #e5c3bf; border-radius: 8px; color: var(--zoomifi-danger); background: #fff7f6; }
.zoomifi-shell-request-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; padding-top: 2px; }
.zoomifi-shell-request-success { display: grid; justify-items: center; gap: 12px; padding: 24px 8px 8px; text-align: center; }
.zoomifi-shell-request-success-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 999px; color: #fff; background: var(--zoomifi-success); font-size: 24px; font-weight: 800; }
.zoomifi-shell-request-success h2 { margin: 2px 0 0; }
.zoomifi-shell-request-success h2:focus { outline: none; }
.zoomifi-shell-request-success p { margin: 0; color: var(--zoomifi-muted); font-size: 14px; line-height: 1.5; }
.zoomifi-shell-request-success strong { min-width: 132px; margin: 2px 0 8px; padding: 9px 12px; border: 1px solid #bddfcb; border-radius: 9px; color: #12683c; background: #edf8f1; font-size: 16px; letter-spacing: .03em; }
.zoomifi-shell-main .dataTables_wrapper { padding: 0; }
.zoomifi-shell-main .dataTables_wrapper > .row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 0; padding: 14px 20px; border-bottom: 1px solid var(--zoomifi-line); }
.zoomifi-shell-main .dataTables_wrapper > .row:last-child { justify-content: space-between; border-top: 1px solid var(--zoomifi-line); border-bottom: 0; }
.zoomifi-shell-main .dataTables_wrapper > .row > [class*="col-"] { width: auto; flex: 1 1 auto; float: none; padding: 0; }
.zoomifi-shell-main .dataTables_filter { text-align: right; }
.zoomifi-shell-main .dataTables_filter label, .zoomifi-shell-main .dataTables_length label { margin: 0; color: var(--zoomifi-muted); font-size: 12px; font-weight: 600; text-transform: none; }
.zoomifi-shell-main .dataTables_filter input, .zoomifi-shell-main .dataTables_length select { min-height: 38px; margin-left: 8px; padding: 8px 10px; border: 1px solid #d4dae2 !important; border-radius: 8px !important; background: #fff; font: inherit; font-size: 12px; }
.zoomifi-shell-main .dataTables_info { padding: 0; color: var(--zoomifi-muted); font-size: 12px; }
.zoomifi-shell-main .pagination { margin: 0; }
.zoomifi-shell-main .pagination > li > a, .zoomifi-shell-main .pagination > li > span { min-width: 34px; padding: 7px 10px; border-color: #dbe0e7; color: #46546a; font-size: 12px; text-align: center; }
.zoomifi-shell-main .pagination > .active > a, .zoomifi-shell-main .pagination > .active > span { border-color: var(--zoomifi-action); color: #fff; background: var(--zoomifi-action); }
.zoomifi-dashboard { display: grid; gap: 22px; }
.zoomifi-dashboard-header { min-height: 72px; }
.zoomifi-dashboard-header .zoomifi-button { flex: 0 0 auto; }
.zoomifi-dashboard-context { min-height: 72px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 18px; padding: 13px 14px 13px 16px; border: 1px solid #cbd8ec; border-radius: 12px; background: #f8faff; }
.zoomifi-dashboard-context.is-warning { grid-template-columns: auto minmax(0, 1fr) auto; gap: 12px; border-color: #f0cba9; background: #fffaf3; }
.zoomifi-dashboard-progress { display: grid; gap: 2px; padding-inline-end: 18px; border-inline-end: 1px solid #d9e2ef; white-space: nowrap; }
.zoomifi-dashboard-progress strong { color: #244a83; font-size: 14px; font-weight: 780; }
.zoomifi-dashboard-progress span { color: var(--zoomifi-muted); font-size: 10px; }
.zoomifi-dashboard-warning-marker { width: 10px; height: 10px; border-radius: 999px; background: #b54708; box-shadow: 0 0 0 5px #fff0d7; }
.zoomifi-dashboard-context-copy h2 { margin: 0; color: var(--zoomifi-ink); font-size: 14px; font-weight: 750; letter-spacing: -.015em; }
.zoomifi-dashboard-context-copy > p { margin: 3px 0 0; color: var(--zoomifi-muted); font-size: 11px; line-height: 1.45; }
.zoomifi-dashboard-context-feedback:empty { display: none; }
.zoomifi-dashboard-context-copy > .zoomifi-dashboard-context-feedback.is-error { margin-top: 7px; color: var(--zoomifi-danger); font-weight: 650; }
.zoomifi-dashboard-dismiss { width: 34px; height: 34px; display: grid; place-items: center; border: 0; border-radius: 8px; color: #667085; background: transparent; font: inherit; font-size: 20px; line-height: 1; }
.zoomifi-dashboard-dismiss:hover, .zoomifi-dashboard-dismiss:focus-visible { color: var(--zoomifi-ink); background: #edf2f8; }
.zoomifi-dashboard-dismiss:focus-visible { outline: 3px solid rgba(49,95,168,.18); }
.zoomifi-dashboard-dismiss[aria-busy="true"] { color: #98a2b3; cursor: wait; }
.zoomifi-dashboard-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.zoomifi-dashboard-metric { min-width: 0; min-height: 122px; display: grid; align-content: center; justify-items: stretch; gap: 5px; padding: 17px 18px; border: 1px solid var(--zoomifi-line); border-radius: 12px; color: var(--zoomifi-ink); background: #fff; box-shadow: 0 6px 20px rgba(23,32,51,.035); font: inherit; text-align: start; }
button.zoomifi-dashboard-metric { cursor: pointer; transition: border-color 140ms ease, box-shadow 140ms ease, transform 100ms ease-out; }
button.zoomifi-dashboard-metric:hover, button.zoomifi-dashboard-metric:focus-visible { border-color: #b8c7dc; box-shadow: 0 9px 25px rgba(23,32,51,.065); transform: translateY(-1px); }
button.zoomifi-dashboard-metric:focus-visible { outline: 3px solid rgba(49,95,168,.16); outline-offset: 2px; }
button.zoomifi-dashboard-metric:active { transform: scale(.99); }
.zoomifi-dashboard-metric > span { color: var(--zoomifi-muted); font-size: 11px; font-weight: 650; }
.zoomifi-dashboard-metric > strong { overflow-wrap: anywhere; color: var(--zoomifi-ink); font-size: 27px; font-weight: 770; letter-spacing: -.025em; line-height: 1.08; }
.zoomifi-dashboard-metric > small { color: #7b8596; font-size: 10px; line-height: 1.4; }
.zoomifi-dashboard-activity { overflow: hidden; box-shadow: 0 8px 28px rgba(23,32,51,.045); }
.zoomifi-dashboard-activity-header { align-items: center; }
.zoomifi-dashboard-text-button, .zoomifi-dashboard-row-action { padding: 0; border: 0; color: var(--zoomifi-action); background: transparent; font: inherit; font-weight: 700; text-align: start; }
.zoomifi-dashboard-text-button:hover, .zoomifi-dashboard-text-button:focus-visible, .zoomifi-dashboard-row-action:hover, .zoomifi-dashboard-row-action:focus-visible { color: var(--zoomifi-action-dark); text-decoration: underline; }
.zoomifi-dashboard-text-button:focus-visible, .zoomifi-dashboard-row-action:focus-visible { outline: 2px solid var(--zoomifi-action); outline-offset: 3px; }
.zoomifi-dashboard-activity .zoomifi-data-table { min-width: 680px; }
.zoomifi-dashboard-activity .zoomifi-data-table th.is-end, .zoomifi-dashboard-activity .zoomifi-data-table td.is-end, .zoomifi-dashboard-activity .zoomifi-data-table th:last-child, .zoomifi-dashboard-activity .zoomifi-data-table td:last-child { text-align: end; }
.zoomifi-dashboard-cell-muted { color: var(--zoomifi-muted); }
.zoomifi-dashboard-state { min-height: 180px; display: grid; place-content: center; justify-items: center; gap: 8px; padding: 30px; color: var(--zoomifi-muted); text-align: center; }
.zoomifi-dashboard-state strong { color: var(--zoomifi-ink); font-size: 15px; }
.zoomifi-dashboard-state p { max-width: 440px; margin: 0; font-size: 13px; line-height: 1.5; }
.zoomifi-dashboard-state .zoomifi-button { margin-top: 6px; }
.zoomifi-report { min-width: 0; display: grid; gap: 22px; }
.zoomifi-report-header h1 { margin: 0; color: var(--zoomifi-ink); font-size: clamp(30px, 3.2vw, 44px); font-weight: 800; letter-spacing: -.045em; line-height: 1.05; }
.zoomifi-report-header p { max-width: 720px; margin: 9px 0 0; color: var(--zoomifi-muted); font-size: 14px; line-height: 1.55; }
.zoomifi-report-grid { min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.zoomifi-report-group { min-width: 0; }
.zoomifi-report-group:first-child:nth-last-child(3) { grid-column: 1 / -1; }
.zoomifi-report-group-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 20px 22px; border-bottom: 1px solid var(--zoomifi-line); }
.zoomifi-report-group-header > div:first-child { min-width: 0; }
.zoomifi-report-group-header h2 { margin: 0; color: var(--zoomifi-ink); font-size: 18px; font-weight: 750; letter-spacing: -.02em; line-height: 1.25; }
.zoomifi-report-group-header p { max-width: 560px; margin: 5px 0 0; color: var(--zoomifi-muted); font-size: 12px; line-height: 1.5; }
.zoomifi-report-periods { flex: 0 0 auto; display: inline-flex; align-items: center; padding: 3px; border: 1px solid #d8dee7; border-radius: 10px; background: #f6f8fb; }
.zoomifi-report-periods button { min-height: 34px; padding: 7px 12px; border: 0 !important; border-radius: 7px !important; color: #5e6878; background: transparent; font: inherit; font-size: 12px; font-weight: 700; }
.zoomifi-report-periods button:hover { color: var(--zoomifi-ink); background: rgba(255,255,255,.7); }
.zoomifi-report-periods button.is-active { color: #244e8d; background: #fff; box-shadow: 0 1px 3px rgba(23,32,51,.12); }
.zoomifi-report-periods button:focus-visible { outline: 3px solid rgba(49,95,168,.2); outline-offset: 2px; }
.zoomifi-report-panel { min-width: 0; padding: 22px; }
.zoomifi-report-summary { display: flex; align-items: baseline; gap: 10px; margin-bottom: 14px; }
.zoomifi-report-summary strong { color: var(--zoomifi-ink); font-size: clamp(26px, 3vw, 36px); font-weight: 800; letter-spacing: -.04em; line-height: 1; }
.zoomifi-report-summary span { color: var(--zoomifi-muted); font-size: 12px; font-weight: 650; }
.zoomifi-report-chart { min-width: 0; overflow: hidden; }
.zoomifi-report-chart svg { width: 100%; height: auto; aspect-ratio: 720 / 230; display: block; overflow: visible; }
.zoomifi-report-gridline { stroke: #edf0f4; stroke-width: 1; vector-effect: non-scaling-stroke; }
.zoomifi-report-baseline { stroke: #d7dde6; stroke-width: 1; vector-effect: non-scaling-stroke; }
.zoomifi-report-area { fill: rgba(49,95,168,.09); }
.zoomifi-report-line { fill: none; stroke: var(--zoomifi-action); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.zoomifi-report-dot { fill: #fff; stroke: var(--zoomifi-action); stroke-width: 3; vector-effect: non-scaling-stroke; }
.zoomifi-report-bar { fill: #5b7fba; }
.zoomifi-report-axis-label { fill: #7b8493; font-family: var(--zoomifi-font-sans); font-size: 11px; }
.zoomifi-report-empty { min-height: 220px; display: grid; place-content: center; justify-items: center; padding: 24px; border: 1px dashed #d9dee6; border-radius: 12px; color: var(--zoomifi-muted); text-align: center; }
.zoomifi-report-empty strong { color: var(--zoomifi-ink); font-size: 15px; }
.zoomifi-report-empty p { max-width: 360px; margin: 6px 0 0; font-size: 12px; line-height: 1.5; }
@media (max-width: 1120px) {
  .zoomifi-dashboard-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .zoomifi-report-grid { grid-template-columns: 1fr; }
  .zoomifi-report-group:first-child:nth-last-child(3) { grid-column: auto; }
}
@media (max-width: 800px) {
  [data-clover-shell-root][data-clover-shell-pending] { background: linear-gradient(180deg, var(--zoomifi-shell) 0 64px, transparent 64px), var(--zoomifi-canvas); animation: none; }
  .zoomifi-shell { display: block; }
  .zoomifi-shell-sidebar { position: fixed; inset: 0 auto 0 0; z-index: 40; width: min(300px, 86vw); height: 100vh; height: 100dvh; min-height: 0; padding: 24px 16px 16px; overflow-y: auto; transform: translateX(-104%); transition: transform 220ms cubic-bezier(.22,1,.36,1); }
  .zoomifi-shell.is-mobile-navigation-open .zoomifi-shell-sidebar { transform: translateX(0); }
  .zoomifi-shell-scrim { position: fixed; z-index: 35; inset: 0; border: 0; background: rgba(12,18,30,.5); opacity: 0; pointer-events: none; transition: opacity 180ms ease; backdrop-filter: blur(2px); }
  .zoomifi-shell.is-mobile-navigation-open .zoomifi-shell-scrim { display: block; opacity: 1; pointer-events: auto; }
  .zoomifi-mobile-close { display: grid; position: absolute; top: 12px; right: 12px; z-index: 4; width: 38px; height: 38px; place-items: center; border: 0; border-radius: 10px; color: var(--zoomifi-shell-ink); background: var(--zoomifi-shell-hover); }
  .zoomifi-shell-brand { padding-right: 42px; }
  .zoomifi-mobile-header { position: sticky; top: 0; z-index: 25; min-height: 62px; display: grid; grid-template-columns: 42px 1fr 42px; align-items: center; gap: 10px; padding: 10px 14px; border-bottom: 1px solid var(--zoomifi-line); background: rgba(255,255,255,.96); }
  .zoomifi-mobile-menu { width: 42px; height: 42px; border: 0; border-radius: 10px; color: var(--zoomifi-ink); background: #edf1f7; }
  .zoomifi-mobile-identity { display: flex; align-items: center; justify-content: center; gap: 8px; }
  .zoomifi-mobile-identity img { width: 32px; height: 32px; border-radius: 9px; }
  .zoomifi-mobile-identity strong { font-size: 14px; }
  .zoomifi-shell-main { width: 100%; }
  .zoomifi-shell-content.container-fluid { padding: 24px 14px 48px; }
  .zoomifi-shell-access { align-items: flex-start; flex-direction: column; margin: 14px 14px 0; }
  .zoomifi-shell-spacer { min-height: 16px; }
  .zoomifi-shell-collapse { display: none; }
  .zoomifi-shell.is-collapsed .zoomifi-shell-sidebar { width: min(300px, 86vw); padding: 24px 16px 16px; }
  .zoomifi-shell.is-collapsed .zoomifi-shell-brand-copy, .zoomifi-shell.is-collapsed .zoomifi-shell-nav-text, .zoomifi-shell.is-collapsed .zoomifi-shell-account-name { position: static; max-width: none; opacity: 1; pointer-events: auto; }
  .zoomifi-shell.is-collapsed .zoomifi-shell-nav-item, .zoomifi-shell.is-collapsed .zoomifi-shell-account { justify-content: flex-start; padding-inline: 12px; }
  .zoomifi-page { gap: 16px; }
  .zoomifi-page-header { align-items: flex-start; flex-direction: column; }
  .zoomifi-card-header, .zoomifi-card-body, .zoomifi-card-section { padding: 18px; }
  .zoomifi-tabs { padding-inline: 4px; }
  .zoomifi-tab { min-height: 44px; padding-inline: 12px; }
  .zoomifi-tab-panel { padding: 18px; }
  .zoomifi-form-grid { grid-template-columns: 1fr; gap: 15px; }
  .zoomifi-field, .zoomifi-field.is-half, .zoomifi-field.is-compact, .zoomifi-field.is-wide, .zoomifi-field.is-full { grid-column: 1; }
  .zoomifi-setting-row { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .zoomifi-setting-row-actions { justify-content: stretch; }
  .zoomifi-setting-row-actions .zoomifi-button { flex: 1 1 auto; }
  .zoomifi-form-actions { justify-content: stretch; }
  .zoomifi-form-actions .zoomifi-button { flex: 1 1 auto; }
  .zoomifi-table-toolbar { align-items: stretch; flex-direction: column; }
  .zoomifi-table-toolbar-start, .zoomifi-table-toolbar-end { width: 100%; }
  .zoomifi-search { width: 100%; min-width: 0; }
  .zoomifi-shell-table-filters { grid-template-columns: 1fr; }
  .zoomifi-shell-table-pagination { grid-template-columns: 1fr; gap: 10px; }
  .zoomifi-shell-table-page-buttons { justify-content: flex-start; flex-wrap: wrap; }
  [data-clover-shell-table-presentation="responsive-cards"] .zoomifi-table-scroll { overflow: visible; }
  [data-clover-shell-table-presentation="responsive-cards"] .zoomifi-data-table,
  [data-clover-shell-table-presentation="responsive-cards"] .zoomifi-data-table[data-shell-table-fixed-columns="true"] { width: 100% !important; min-width: 0 !important; display: block; table-layout: auto; }
  [data-clover-shell-table-presentation="responsive-cards"] .zoomifi-data-table thead { display: none; }
  [data-clover-shell-table-presentation="responsive-cards"] .zoomifi-data-table tbody { display: grid; gap: 12px; padding: 14px; }
  [data-clover-shell-table-presentation="responsive-cards"] .zoomifi-data-table tbody tr { display: block; overflow: hidden; border: 1px solid var(--zoomifi-line); border-radius: 12px; background: #fff; box-shadow: 0 4px 14px rgba(23,32,51,.04); }
  [data-clover-shell-table-presentation="responsive-cards"] .zoomifi-data-table tbody td,
  [data-clover-shell-table-presentation="responsive-cards"] .zoomifi-data-table[data-shell-table-fixed-columns="true"] tbody td { width: auto !important; min-width: 0 !important; max-width: none !important; display: grid; grid-template-columns: minmax(92px, 34%) minmax(0, 1fr); align-items: center; gap: 12px; padding: 10px 12px !important; border-bottom: 1px solid #edf0f3 !important; overflow: visible; text-align: start; text-overflow: clip; white-space: normal; }
  [data-clover-shell-table-presentation="responsive-cards"] .zoomifi-data-table tbody td:last-child { border-bottom: 0 !important; }
  [data-clover-shell-table-presentation="responsive-cards"] .zoomifi-data-table tbody td::before { color: #6b7687; content: attr(data-label); font-size: 11px; font-weight: 750; line-height: 1.3; }
  [data-clover-shell-table-presentation="responsive-cards"] .zoomifi-data-table td[data-shell-table-column-type="status"] .zoomifi-status-pill { width: 100%; min-height: 36px; justify-content: center; padding: 7px 12px; box-sizing: border-box; text-align: center; }
  [data-clover-shell-table-presentation="responsive-cards"] .zoomifi-data-table .zoomifi-table-actions { min-width: 0; flex-wrap: wrap; }
  [data-clover-shell-table][data-clover-shell-table-presentation="responsive-cards"] .zoomifi-data-table td[data-shell-table-align] .zoomifi-table-actions { justify-content: flex-start; }
  [data-clover-shell-table-presentation="responsive-cards"] .zoomifi-data-table .zoomifi-table-actions .zoomifi-button { min-width: 0; flex: 1 1 calc(50% - 4px); }
  .zoomifi-shell-main .dataTables_wrapper > .row { align-items: stretch; flex-direction: column; }
  .zoomifi-shell-main .dataTables_filter { text-align: left; }
  .zoomifi-shell-main .dataTables_filter label { width: 100%; }
  .zoomifi-shell-main .dataTables_filter input { width: 100%; margin: 7px 0 0; }
  .zoomifi-shell-request-root.is-open { align-items: end; padding: 0; }
  .zoomifi-shell-request-dialog { width: 100%; max-height: 92dvh; padding: 24px 18px calc(20px + env(safe-area-inset-bottom)); border-radius: 16px 16px 0 0; }
  .zoomifi-shell-request-grid { grid-template-columns: 1fr; }
  .zoomifi-shell-request-actions .zoomifi-button { flex: 1 1 auto; }
  .zoomifi-dashboard { gap: 16px; }
  .zoomifi-dashboard-header .zoomifi-button { width: 100%; }
  .zoomifi-dashboard-context { gap: 12px; }
  .zoomifi-dashboard-activity-header { align-items: flex-start; flex-direction: row; }
  .zoomifi-report { gap: 16px; }
  .zoomifi-report-group-header { flex-direction: column; }
  .zoomifi-report-periods { width: 100%; }
  .zoomifi-report-periods button { flex: 1 1 0; }
  .zoomifi-report-panel { padding: 18px 14px; }
  .zoomifi-report { gap: 16px; }
  .zoomifi-report-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .zoomifi-report-group:first-child:nth-last-child(3) { grid-column: auto; }
  .zoomifi-report-group-header { align-items: stretch; flex-direction: column; padding: 18px; }
  .zoomifi-report-periods { align-self: flex-start; }
  .zoomifi-report-panel { padding: 18px; }
  .zoomifi-report-empty { min-height: 190px; }
}
@media (max-width: 520px) {
  .zoomifi-login-page { align-items: start; padding: 14px; }
  .zoomifi-login-card { padding: 26px 18px; border-radius: 16px; }
  .zoomifi-login-card-unified .zoomifi-tab { width: auto; padding-inline: 8px; }
  .zoomifi-login-panel { min-height: 0; padding: 18px 14px; }
  .zoomifi-login-card footer { flex-wrap: wrap; gap: 10px 16px; margin-top: 24px; }
  .zoomifi-shell-feedback { margin-bottom: 14px; padding: 11px 12px; }
  .zoomifi-dashboard-context { grid-template-columns: minmax(0, 1fr) auto; }
  .zoomifi-dashboard-progress { grid-column: 1; grid-row: 1; padding-inline-end: 0; border-inline-end: 0; }
  .zoomifi-dashboard-context-copy { grid-column: 1 / -1; }
  .zoomifi-dashboard-context > .zoomifi-button { grid-column: 1; justify-self: start; }
  .zoomifi-dashboard-dismiss { grid-column: 2; grid-row: 1; }
  .zoomifi-dashboard-context.is-warning { grid-template-columns: auto minmax(0, 1fr); }
  .zoomifi-dashboard-context.is-warning > .zoomifi-button { grid-column: 2; }
  .zoomifi-dashboard-metrics { gap: 10px; }
  .zoomifi-dashboard-metric { min-height: 108px; padding: 14px; }
  .zoomifi-dashboard-metric > strong { font-size: 23px; }
  .zoomifi-dashboard-activity-header { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  .zoomifi-shell-page-state-spinner { animation: none; }
  .zoomifi-dashboard * { transition: none !important; }
  .zoomifi-report * { transition: none !important; }
  .zoomifi-shell-feedback { transition: none !important; }
}
