@font-face{font-family:geistSans;src:url(../media/Geist_Variable-s.p.142kz3f7gseln.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:geistSans Fallback;src:local(Arial);ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.0%;size-adjust:106.28%}.geistsans_832276dd-module__zOLrCW__className{font-family:geistSans,geistSans Fallback}.geistsans_832276dd-module__zOLrCW__variable{--font-geist-sans:"geistSans", "geistSans Fallback"}
@font-face{font-family:geistMono;src:url(../media/GeistMono_Variable-s.p.074yowjdp83r3.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:geistMono Fallback;src:local(Arial);ascent-override:76.43%;descent-override:22.43%;line-gap-override:0.0%;size-adjust:131.49%}.geistmono_cf677a47-module__jHiRgq__className{font-family:geistMono,geistMono Fallback}.geistmono_cf677a47-module__jHiRgq__variable{--font-geist-mono:"geistMono", "geistMono Fallback"}
@font-face{font-family:notoSansArabic;src:url(../media/NotoSansArabic_Variable-s.p.30bz475acv3ru.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:notoSansArabic Fallback;src:local(Arial);ascent-override:137.4%;descent-override:73.8%;line-gap-override:0.0%;size-adjust:100.0%}.notosansarabic_f82760b2-module__fZ1mhG__className{font-family:notoSansArabic,notoSansArabic Fallback}.notosansarabic_f82760b2-module__fZ1mhG__variable{--font-arabic:"notoSansArabic", "notoSansArabic Fallback"}
:root{--font-size-root:15px;--font-size-root-medium:13px;--bg-primary:#0a0a0b;--bg-secondary:#121214;--bg-tertiary:#ffffff08;--text-primary:#fff;--text-secondary:#a1a1aa;--accent-primary:#ff3b30;--accent-hover:#ff453a;--accent-solid:#d70015;--accent-solid-hover:#b5000f;--accent-glow:#ff3b3066;--color-success:#32d74b;--on-status:#0b0b0f;--color-error:#ff453a;--color-warning:#ff9f0a;--color-info:#0a84ff;--color-success-rgb:50, 215, 75;--color-error-rgb:255, 69, 58;--color-warning-rgb:255, 159, 10;--color-info-rgb:10, 132, 255;--border-color:#ffffff14;--glass-bg:#12121499;--glass-border:#ffffff1a;--input-bg:#ffffff0a;--input-border:#ffffff26;--radius-sm:8px;--radius-md:12px;--radius-lg:24px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--text-xs:.75rem;--text-sm:.85rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.6rem;--text-2xl:2rem;--elevation-1:0 2px 8px #0000002e;--elevation-2:0 8px 24px #00000047;--elevation-3:0 24px 48px #00000073;--motion-fast:.15s;--motion-base:.2s;--motion-slow:.25s;--ease-standard:cubic-bezier(.4, 0, .2, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--z-sticky:50;--z-bottom-nav:800;--z-cart:900;--z-sidebar:1000;--z-dropdown:1100;--z-drawer:1200;--z-modal:9999;--z-modal-priority:10100;--z-palette:10200;--z-toast:10300;--focus-ring-color:#4da3ff;--focus-ring:0 0 0 2px var(--bg-primary), 0 0 0 4px var(--focus-ring-color);--status-active:var(--color-success);--status-expiring:var(--color-warning);--status-expired:var(--color-error);--status-frozen:var(--color-info);--status-suspended:var(--text-secondary);--sidebar-width:272px;--sidebar-rail-width:76px;--bottom-nav-height:64px;--shadow-glow:0 0 40px var(--accent-glow);--hover-bg:#ffffff0a;--hover-bg-strong:#ffffff14;--overlay-bg:#000000a6;--overlay-blur-bg:#0009;--shadow-heavy:#0006;--shadow-dropdown:#00000059;--row-border:#ffffff08;--navbar-bg:linear-gradient(135deg, #ffffff0f 0%, #ffffff05 100%);--navbar-shadow:0 8px 32px #00000059, inset 0 1px 0 #ffffff0f;--navbar-version-bg:#ffffff0a;--live-scan-bg:#1c1c1e;--live-scan-text:white;--live-scan-muted:#8e8e93}[data-theme=light]{--bg-primary:#f5f5f7;--bg-secondary:#fff;--bg-tertiary:#00000008;--text-primary:#1d1d1f;--text-secondary:#5c5c61;--accent-primary:#c4000f;--accent-hover:#a3000c;--accent-glow:#ff3b3040;--color-success:#1a6e2e;--on-status:#fff;--color-error:#b3000e;--color-warning:#964300;--color-info:#0057b8;--color-success-rgb:26, 110, 46;--color-error-rgb:179, 0, 14;--color-warning-rgb:150, 67, 0;--color-info-rgb:0, 87, 184;--border-color:#0000001a;--glass-bg:#ffffffb3;--glass-border:#00000014;--input-bg:#fff;--input-border:#00000026;--shadow-glow:0 0 40px var(--accent-glow);--hover-bg:#0000000a;--hover-bg-strong:#00000014;--overlay-bg:#0006;--overlay-blur-bg:#00000059;--shadow-heavy:#0000001f;--shadow-dropdown:#0000001a;--row-border:#0000000d;--navbar-bg:linear-gradient(135deg, #ffffffe6 0%, #ffffffb3 100%);--navbar-shadow:0 4px 20px #00000014, inset 0 1px 0 #ffffff80;--navbar-version-bg:#0000000d;--live-scan-bg:#fff;--live-scan-text:#1d1d1f;--live-scan-muted:#5c5c61;--focus-ring-color:#0057b8;--elevation-1:0 2px 8px #0000000f;--elevation-2:0 8px 24px #0000001a;--elevation-3:0 24px 48px #00000029}[data-color-blind=true]{--color-success:#409cff;--on-status:#0b0b0f;--color-error:#ff9f0a;--color-warning:#ffd60a;--color-info:#bf5af2;--color-success-rgb:64, 156, 255;--color-error-rgb:255, 159, 10;--color-warning-rgb:255, 214, 10;--color-info-rgb:191, 90, 242;--accent-primary:#0a84ff;--accent-hover:#007aff;--accent-solid:#0060df;--accent-solid-hover:#004fb8;--accent-glow:#0a84ff66}[data-theme=light][data-color-blind=true]{--color-success:#0057b8;--on-status:#fff;--color-error:#964300;--color-warning:#7a6000;--color-info:#7b3fa0;--color-success-rgb:0, 87, 184;--color-error-rgb:150, 67, 0;--color-warning-rgb:122, 96, 0;--color-info-rgb:123, 63, 160;--accent-primary:#0057b8;--accent-hover:#004a9e;--accent-solid:#0060df;--accent-solid-hover:#004fb8;--accent-glow:#007aff40}
[dir=rtl] body{font-family:var(--font-arabic), "Inter", sans-serif}[dir=rtl] h1,[dir=rtl] h2,[dir=rtl] h3,[dir=rtl] h4,[dir=rtl] h5,[dir=rtl] h6,[dir=rtl] .btn{font-family:var(--font-arabic), "Outfit", sans-serif}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--border-color) transparent;margin:0;padding:0}html{font-size:var(--font-size-root)}@media (min-width:769px) and (max-width:1599px){html{font-size:var(--font-size-root-medium)}}body{background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100vh;font-family:Inter,sans-serif;line-height:1.6;display:flex}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;font-family:Outfit,sans-serif;font-weight:600}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--hover-bg-strong)}
.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:0 8px 32px var(--shadow-heavy)}.btn{border-radius:var(--radius-md);cursor:pointer;border:none;outline:none;justify-content:center;align-items:center;padding:12px 24px;font-family:Outfit,sans-serif;font-size:1rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-primary{background-color:var(--accent-solid);color:#fff;box-shadow:0 4px 14px var(--accent-glow)}.btn-primary:hover{background-color:var(--accent-solid-hover);box-shadow:0 6px 20px rgba(var(--color-error-rgb), .6);transform:translateY(-2px)}.btn-secondary{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background-color:var(--hover-bg-strong);transform:translateY(-2px)}.input-field{background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md);width:100%;color:var(--text-primary);padding:14px 16px;font-family:Inter,sans-serif;transition:all .2s}.input-field option{background-color:var(--bg-secondary);color:var(--text-primary)}.input-field:focus,.input-field:focus-visible{border-color:var(--focus-ring-color);box-shadow:0 0 0 2px var(--focus-ring-color);outline:none}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.animate-in{animation:.6s cubic-bezier(.16,1,.3,1) forwards fadeInScale}@keyframes rowPulseExpired{0%{background-color:rgba(var(--color-error-rgb), .05)}50%{background-color:rgba(var(--color-error-rgb), .2)}to{background-color:rgba(var(--color-error-rgb), .05)}}.row-expired-pulse{animation:2s ease-in-out infinite rowPulseExpired}.activity-log{margin:0;padding:0;list-style:none}.activity-log__item{border-bottom:1px solid var(--border-color);padding:12px 0}.activity-log__item:last-child{border-bottom:none}.activity-log__what{color:var(--text-primary);font-weight:500}.activity-log__reason{color:var(--text-primary);margin-top:4px;font-size:.9rem}.activity-log__meta{color:var(--text-secondary);margin-top:4px;font-size:.8rem}.member-portal{max-width:960px;margin:0 auto}.member-portal__grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:16px;display:grid}.member-portal__heading{margin:0 0 12px;font-size:1.1rem}.member-portal__facts{gap:8px;margin:0;display:grid}.member-portal__facts>div{justify-content:space-between;gap:12px;display:flex}.member-portal__facts dt{color:var(--text-secondary)}.member-portal__facts dd{margin:0;font-weight:600}.member-portal__list{margin:0;padding:0;list-style:none}.member-portal__class,.member-portal__row{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.member-portal__class:last-child,.member-portal__row:last-child{border-bottom:none}.member-portal__class .btn{flex:none}
.layout-container{min-height:100dvh;display:flex;position:relative}@media (min-width:769px){.layout-container:before{content:"";width:var(--sidebar-width);background:var(--bg-secondary);border-inline-end:1px solid var(--border-color);pointer-events:none;position:absolute;inset-block:0;inset-inline-start:0}.layout--sidebar-collapsed:before{width:var(--sidebar-rail-width)}}.sidebar{width:var(--sidebar-width);background:var(--bg-secondary);border-inline-end:1px solid var(--border-color);padding:var(--space-5) var(--space-4);gap:var(--space-5);transition:transform var(--motion-slow) var(--ease-standard), width var(--motion-base) var(--ease-standard);z-index:var(--z-sidebar);flex-direction:column;flex-shrink:0;display:flex;position:relative}.sidebar__header{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.sidebar__identity{align-items:center;gap:var(--space-3);min-width:0;display:flex}.sidebar__logo{border-radius:var(--radius-md);background:var(--accent-solid);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-family:Outfit,sans-serif;font-size:1.1rem;font-weight:700;display:inline-flex}.sidebar__identity-text{min-width:0}.sidebar__brand{color:var(--accent-primary);margin:0;font-family:Outfit,sans-serif;font-size:1.1rem;font-weight:700;line-height:1.2}.sidebar__gym-name{color:var(--text-secondary);font-size:var(--text-xs);white-space:nowrap;text-overflow:ellipsis;margin:2px 0 0;overflow:hidden}.sidebar__close{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-tertiary);width:40px;height:40px;color:var(--text-primary);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;display:none}.sidebar__nav{gap:var(--space-4);margin-inline:calc(-1 * var(--space-2));padding-inline:var(--space-2);-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;display:flex;overflow-y:auto}.sidebar__group{flex-direction:column;gap:2px;display:flex}.sidebar__group-label{padding-inline:var(--space-3)}.sidebar__nav-btn{align-items:center;gap:var(--space-3);text-align:start;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:background var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard);background:0 0;border:none;min-height:40px;font-family:inherit;font-size:.9rem;font-weight:500;display:flex;position:relative}.sidebar__nav-icon{flex-shrink:0}.sidebar__nav-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sidebar__nav-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.sidebar__nav-btn--active{background:rgba(var(--color-error-rgb), .1);color:var(--text-primary);font-weight:600}.sidebar__nav-btn--active:before{content:"";border-radius:var(--radius-pill);background:var(--accent-primary);width:3px;position:absolute;inset-block:8px;inset-inline-start:0}.sidebar__nav-btn--active .sidebar__nav-icon{color:var(--accent-primary)}[data-color-blind=true] .sidebar__nav-btn--active{background:rgba(var(--color-success-rgb), .12)}@media (min-width:769px){.sidebar--rail{width:var(--sidebar-rail-width);padding-inline:var(--space-3);align-items:center}.sidebar--rail .sidebar__header{flex-direction:column}.sidebar--rail .sidebar__identity-text,.sidebar--rail .sidebar__group-label,.sidebar--rail .sidebar__nav-label{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sidebar--rail .sidebar__nav{gap:var(--space-3);margin-inline:0;padding-inline:0;overflow:visible}.sidebar--rail .sidebar__group+.sidebar__group{border-block-start:1px solid var(--border-color);padding-block-start:var(--space-3)}.sidebar--rail .sidebar__nav-btn{justify-content:center;width:44px;height:44px;padding:0}}.main-content{padding:var(--space-6) var(--space-7) var(--space-7);flex:1;width:100%;min-width:0;position:relative;overflow-y:auto}.menu-toggle{display:none}.table-wrapper{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.mobile-only{display:none!important}.desktop-only{display:block!important}.sidebar__collapse{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:8px;transition:all .2s;display:flex}.sidebar__collapse:hover{color:var(--text-primary);background:var(--hover-bg-strong)}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;display:grid}.form-grid-2{grid-template-columns:1fr 1fr;gap:24px;display:grid}.form-grid-auto{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.page-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-bottom:24px;display:flex}.page-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.page-toolbar .input-field{flex:240px;min-width:0;max-width:400px}.page-toolbar .input-field[type=search]{appearance:none}.page-toolbar .members-search{flex:320px;min-width:0}.page-toolbar .members-search .input-field{width:100%;max-width:none}.members-search__fields{gap:16px;display:flex}.members-search__field{flex:1;min-width:0}@media (min-width:769px){.sidebar{height:100vh;position:sticky;top:0}}
.admin-table{border-collapse:collapse;table-layout:fixed;text-align:start;width:100%}.admin-table th,.admin-table td{vertical-align:middle;text-align:start;padding:12px 12px 12px 0}.logs-table th,.logs-table td{padding:8px 8px 8px 0;font-size:.8rem}.admin-table thead th{color:var(--text-secondary);border-bottom:1px solid var(--border-color);padding-bottom:12px;font-size:.85rem;font-weight:500}.admin-table tbody tr{border-bottom:1px solid var(--row-border);transition:background-color .2s}.admin-table tbody tr:hover{background-color:var(--hover-bg)}.logs-table th:first-child,.logs-table td:first-child{width:8%}.logs-table th:nth-child(2),.logs-table td:nth-child(2){width:13%}.logs-table th:nth-child(3),.logs-table td:nth-child(3){width:5%}.logs-table th:nth-child(4),.logs-table td:nth-child(4){width:8%}.logs-table th:nth-child(5),.logs-table td:nth-child(5){width:9%}.logs-table th:nth-child(6),.logs-table td:nth-child(6),.logs-table th:nth-child(7),.logs-table td:nth-child(7),.logs-table th:nth-child(8),.logs-table td:nth-child(8){width:8%}.logs-table th:nth-child(9),.logs-table td:nth-child(9){width:10%}.logs-table th:nth-child(10),.logs-table td:nth-child(10){width:8%}.logs-table th:nth-child(11),.logs-table td:nth-child(11){width:15%}.logs-table--unpaid-hidden th:first-child,.logs-table--unpaid-hidden td:first-child{width:8%}.logs-table--unpaid-hidden th:nth-child(2),.logs-table--unpaid-hidden td:nth-child(2){width:15%}.logs-table--unpaid-hidden th:nth-child(3),.logs-table--unpaid-hidden td:nth-child(3){width:6%}.logs-table--unpaid-hidden th:nth-child(4),.logs-table--unpaid-hidden td:nth-child(4){width:9%}.logs-table--unpaid-hidden th:nth-child(5),.logs-table--unpaid-hidden td:nth-child(5),.logs-table--unpaid-hidden th:nth-child(6),.logs-table--unpaid-hidden td:nth-child(6){width:10%}.logs-table--unpaid-hidden th:nth-child(7),.logs-table--unpaid-hidden td:nth-child(7){width:12%}.logs-table--unpaid-hidden th:nth-child(8),.logs-table--unpaid-hidden td:nth-child(8){width:10%}.logs-table--unpaid-hidden th:nth-child(9),.logs-table--unpaid-hidden td:nth-child(9){width:20%}.devices-table th:first-child,.devices-table td:first-child,.devices-table th:nth-child(2),.devices-table td:nth-child(2){width:14%}.devices-table th:nth-child(3),.devices-table td:nth-child(3),.devices-table th:nth-child(4),.devices-table td:nth-child(4){width:22%}.devices-table th:nth-child(5),.devices-table td:nth-child(5){width:10%}.devices-table th:nth-child(6),.devices-table td:nth-child(6){text-align:end;width:18%}.products-table{min-width:1080px}.products-table th:first-child,.products-table td:first-child{width:22%}.products-table th:nth-child(2),.products-table td:nth-child(2){width:10%}.products-table th:nth-child(3),.products-table td:nth-child(3){width:16%}.products-table th:nth-child(4),.products-table td:nth-child(4){width:10%}.products-table th:nth-child(5),.products-table td:nth-child(5){text-align:end;width:42%}.super-admin-whatsapp-table{min-width:720px}.super-admin-whatsapp-table th:first-child,.super-admin-whatsapp-table td:first-child{width:46%}.super-admin-whatsapp-table th:nth-child(2),.super-admin-whatsapp-table td:nth-child(2){width:16%}.super-admin-whatsapp-table th:nth-child(3),.super-admin-whatsapp-table td:nth-child(3),.super-admin-whatsapp-table th:nth-child(4),.super-admin-whatsapp-table td:nth-child(4){text-align:end;width:19%}.super-admin-gyms-table{min-width:1000px}.super-admin-gyms-table th:first-child,.super-admin-gyms-table td:first-child{width:18%}.super-admin-gyms-table th:nth-child(2),.super-admin-gyms-table td:nth-child(2){width:22%}.super-admin-gyms-table th:nth-child(3),.super-admin-gyms-table td:nth-child(3){width:13%}.super-admin-gyms-table th:nth-child(4),.super-admin-gyms-table td:nth-child(4){width:10%}.super-admin-gyms-table th:nth-child(5),.super-admin-gyms-table td:nth-child(5){text-align:end;width:37%}.super-admin-gyms-table td:nth-child(5){white-space:normal;overflow:visible}.super-admin-gyms-table td:nth-child(5) .table-actions{flex-wrap:wrap}.super-admin-whatsapp-table th,.super-admin-whatsapp-table td,.super-admin-gyms-table th,.super-admin-gyms-table td{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.table-actions{white-space:nowrap;justify-content:flex-end;gap:8px;display:flex}.btn-table-action{min-height:auto;padding:6px 12px;font-size:.85rem}.btn-table-action--danger{color:var(--color-error);border-color:var(--color-error)}.admin-table th.cell--end,.admin-table td.cell--end{text-align:end}
.logs-filters,.manual-log-form{border-bottom:1px solid var(--border-color);margin-bottom:24px;padding-bottom:24px}.manual-log-form__header{margin-bottom:16px}.manual-log-form__title{margin:0;font-size:1rem;line-height:1.4}.manual-log-form__description{color:var(--text-secondary);margin:4px 0 0;font-size:.85rem}.manual-log-form__fields{align-items:flex-end;gap:16px;display:flex}.manual-log-form__submit{white-space:nowrap;flex:none;min-height:48px}.logs-filters__row{flex-wrap:nowrap;align-items:flex-end;gap:16px;display:flex}.logs-filters__field{flex:1 1 0;min-width:0}.logs-filters__field--narrow{flex:0 200px;max-width:220px}.logs-filters__label{color:var(--text-secondary);margin-bottom:8px;font-size:.85rem;font-weight:500;display:block}.logs-filters__footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;display:flex}.logs-filters__count{color:var(--text-secondary);font-size:.9rem}.logs-filters__actions{align-items:center;gap:12px;display:flex}.logs-visibility-toggle{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-tertiary);width:44px;height:44px;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;padding:0;display:inline-flex}.logs-visibility-toggle:hover{border-color:var(--accent-color);color:var(--accent-color)}.logs-visit-badge{background:var(--hover-bg-strong);min-width:28px;color:var(--text-primary);border-radius:999px;justify-content:center;align-items:center;padding:4px 10px;font-size:.85rem;font-weight:600;display:inline-flex}.logs-visit-badge--multiple{background:rgba(var(--color-warning-rgb), .15);color:var(--color-warning);border:1px solid rgba(var(--color-warning-rgb), .35)}.log-group-modal{max-width:560px}.log-group-modal__subtitle{color:var(--text-secondary);margin:6px 0 0;font-size:.9rem;font-weight:400}.log-group-modal__item .member-logs-list__main{align-items:center}.log-group-modal__delete{color:var(--color-error);border:1px solid rgba(var(--color-error-rgb), .5);background:0 0;margin-inline-start:auto;padding:6px 12px;font-size:.8rem}.log-group-modal__delete:hover{background:rgba(var(--color-error-rgb), .1)}.log-group-modal__grant{background:rgba(var(--color-success-rgb), .1);color:var(--color-success);border:1px solid rgba(var(--color-success-rgb), .5);margin-inline-start:auto;padding:6px 12px;font-size:.8rem}.log-group-modal__grant:hover{background:rgba(var(--color-success-rgb), .18)}.log-group-modal__grant+.log-group-modal__delete{margin-inline-start:8px}
.finances-tab{flex-direction:column;gap:24px;display:flex}.finances-segment,.settings-segment{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-wrap:wrap;gap:8px;width:fit-content;padding:6px;display:inline-flex}.settings-segment{flex-wrap:nowrap;width:100%;display:flex}.finances-segment__btn,.settings-segment__btn{color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;padding:10px 18px;font-size:.9rem;font-weight:600;transition:background .15s,color .15s}.settings-segment__btn{text-align:center;white-space:nowrap;flex:1}.finances-segment__btn--active,.settings-segment__btn--active{background:var(--accent-solid);color:#fff}.settings-tab{flex-direction:column;gap:24px;max-width:960px;display:flex}@media (max-width:1024px){.settings-segment{flex-wrap:wrap}.settings-segment__btn{flex:calc(33.333% - 8px)}}.finances-filters{padding:24px}.finances-filters__row-secondary{margin-top:16px}.finances-filters__actions{flex-wrap:wrap;gap:8px;display:flex}.finances-summary-grid{margin-bottom:0}.finances-summary-card{padding:20px 24px}.finances-summary-card__label{color:var(--text-secondary);margin:0 0 8px;font-size:.85rem}.finances-summary-card__value{color:var(--text-primary);margin:0;font-size:1.6rem;font-weight:700;line-height:1.3}.finances-summary-card__value--accent{color:var(--accent-primary)}.finances-summary-card__meta{color:var(--text-secondary);margin:8px 0 0;font-size:.85rem}.finance-totals-list{flex-direction:column;gap:4px;font-size:1rem;font-weight:600;display:flex}.finance-totals-list__empty{color:var(--text-secondary)}.finance-type-badge{border-radius:4px;padding:4px 8px;font-size:.8rem;font-weight:600}.finance-type-badge[data-variant=custom]{background:rgba(var(--color-warning-rgb), .1);color:var(--color-warning)}.finance-type-badge[data-variant=renewal]{background:rgba(var(--color-success-rgb), .1);color:var(--color-success)}.finance-type-badge[data-variant=refund]{background:rgba(var(--color-error-rgb), .1);color:var(--color-error)}.finance-type-badge[data-variant=default]{background:rgba(var(--color-info-rgb), .1);color:var(--color-info)}.finances-reports__header h2{margin:0 0 8px;font-size:1.4rem}.finances-reports__header p{color:var(--text-secondary);margin:0;font-size:.95rem}.finances-reports__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.finance-report-card{padding:24px}.finance-report-card__title{color:var(--accent-primary);margin:0 0 16px;font-size:1.05rem}.finance-report-card__empty{text-align:center;color:var(--text-secondary);margin:0;padding:24px 0}.finance-report-table th:last-child,.finance-report-table td:last-child{width:38%}@media (max-width:1024px){.finances-reports__grid{grid-template-columns:1fr}}.finance-txn-action{min-height:32px;margin-inline-start:6px;padding:4px 10px;font-size:.8rem}.finance-refunded-note{color:var(--color-error);font-size:.75rem;font-weight:500}
.analytics-page{gap:22px;display:grid}.analytics-toolbar{justify-content:space-between;align-items:end;gap:24px;padding:22px;display:flex}.analytics-toolbar h2{margin-bottom:5px;font-size:1.3rem}.analytics-toolbar p,.analytics-card-heading p{color:var(--text-secondary);font-size:.86rem}.analytics-toolbar__controls{flex-wrap:wrap;justify-content:flex-end;align-items:end;gap:10px;display:flex}.analytics-toolbar label{color:var(--text-secondary);gap:6px;min-width:108px;font-size:.78rem;display:grid}.analytics-toolbar select{min-width:108px}.analytics-icon-button{justify-content:center;align-items:center;gap:7px;min-height:42px;display:inline-flex}.analytics-spin{animation:.8s linear infinite analytics-spin}@keyframes analytics-spin{to{transform:rotate(360deg)}}.analytics-error{border:1px solid rgba(var(--color-error-rgb), .35);background:rgba(var(--color-error-rgb), .08);color:var(--color-error);border-radius:12px;padding:14px 18px}.analytics-loading{text-align:center;color:var(--text-secondary);padding:60px}.analytics-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.analytics-metric{min-width:0;padding:19px}.analytics-metric__top{justify-content:space-between;align-items:center;display:flex}.analytics-metric__icon{color:var(--accent-primary);background:rgba(var(--color-error-rgb), .08);border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.analytics-metric p{color:var(--text-secondary);margin:17px 0 7px;font-size:.84rem}.analytics-metric strong{overflow-wrap:anywhere;font-size:clamp(1.25rem,2vw,1.8rem);display:block}.analytics-metric small{color:var(--text-secondary);margin-top:6px;display:block}.analytics-change{border-radius:999px;align-items:center;gap:3px;padding:4px 7px;font-size:.72rem;font-weight:700;display:inline-flex}.analytics-change--up{color:var(--color-success);background:rgba(var(--color-success-rgb), .1)}.analytics-change--down{color:var(--color-error);background:rgba(var(--color-error-rgb), .1)}.analytics-change--neutral{color:var(--text-secondary);background:var(--bg-tertiary)}.analytics-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.analytics-chart-grid>:first-child{grid-column:1/-1}.analytics-chart-card{min-width:0;padding:21px}.analytics-card-heading{justify-content:space-between;align-items:start;gap:12px;margin-bottom:20px;display:flex}.analytics-card-heading h3,.analytics-breakdown h3,.analytics-heatmap-card h3,.analytics-weekday-card h3{font-size:1rem}.analytics-legend{color:var(--text-secondary);gap:12px;font-size:.75rem;display:flex}.analytics-legend span{align-items:center;gap:5px;display:flex}.analytics-legend__dot{border-radius:50%;width:8px;height:8px}.analytics-legend__dot--primary{background:var(--accent-primary)}.analytics-legend__dot--comparison{background:var(--text-secondary);opacity:.45}.analytics-month-chart{grid-template-columns:repeat(12,minmax(32px,1fr));align-items:end;gap:7px;height:230px;padding-top:15px;display:grid}.analytics-month-chart__column{text-align:center;height:100%;color:var(--text-secondary);grid-template-rows:1fr auto;align-items:end;gap:9px;font-size:.7rem;display:grid}.analytics-month-chart__bars{border-bottom:1px solid var(--border-color);justify-content:center;align-items:end;gap:3px;height:100%;display:flex}.analytics-month-chart__bar-target{cursor:help;border-radius:5px 5px 1px 1px;outline:none;width:min(14px,38%);min-height:1px;transition:height .25s,filter .15s;position:relative}.analytics-month-chart__bar-target:hover,.analytics-month-chart__bar-target:focus-visible{filter:brightness(1.2);z-index:20}.analytics-month-chart__bar{border-radius:inherit;width:100%;height:100%;min-height:1px}.analytics-month-chart__bar--primary{background:linear-gradient(180deg, var(--accent-primary), rgba(var(--color-error-rgb), .55))}.analytics-month-chart__bar--comparison{background:var(--text-secondary);opacity:.32}.analytics-chart-tooltip{inset-inline-start:50%;background:var(--bg-secondary);border:1px solid var(--border-color);width:230px;color:var(--text-primary);text-align:start;opacity:0;visibility:hidden;pointer-events:none;border-radius:11px;padding:13px;transition:opacity .14s,transform .14s,visibility .14s;position:absolute;bottom:calc(100% + 10px);transform:translate(-50%)translateY(5px);box-shadow:0 16px 42px #00000073}[dir=rtl] .analytics-chart-tooltip{transform:translate(50%)translateY(5px)}.analytics-month-chart__bar-target:hover .analytics-chart-tooltip,.analytics-month-chart__bar-target:focus-visible .analytics-chart-tooltip{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}[dir=rtl] .analytics-month-chart__bar-target:hover .analytics-chart-tooltip,[dir=rtl] .analytics-month-chart__bar-target:focus-visible .analytics-chart-tooltip{transform:translate(50%)translateY(0)}.analytics-chart-tooltip:after{content:"";top:100%;border:6px solid #0000;border-top-color:var(--border-color);position:absolute;inset-inline-start:50%;transform:translate(-50%)}.analytics-chart-tooltip>strong{border-bottom:1px solid var(--border-color);margin-bottom:7px;padding-bottom:9px;font-size:.84rem;display:block}.analytics-chart-tooltip__rows{gap:7px;display:grid}.analytics-chart-tooltip__row{justify-content:space-between;gap:12px;font-size:.74rem;display:flex}.analytics-chart-tooltip__row span{color:var(--text-secondary)}.analytics-chart-tooltip__row b{white-space:nowrap;font-size:.75rem}.analytics-chart-tooltip__row--emphasized span,.analytics-chart-tooltip__row--emphasized b{color:var(--accent-primary);font-weight:700}.analytics-current-state{background:linear-gradient(120deg, rgba(var(--color-success-rgb), .07), transparent);border:1px solid var(--border-color);border-radius:14px;padding:21px}.analytics-current-state__grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.analytics-current-state__grid div{background:var(--bg-secondary);border-radius:10px;padding:13px}.analytics-current-state__grid strong,.analytics-current-state__grid span{display:block}.analytics-current-state__grid strong{margin-bottom:5px;font-size:1.25rem}.analytics-current-state__grid span{color:var(--text-secondary);font-size:.75rem}.analytics-breakdown-grid,.analytics-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.analytics-breakdown,.analytics-heatmap-card,.analytics-weekday-card{min-width:0;padding:21px}.analytics-breakdown h3,.analytics-heatmap-card h3,.analytics-weekday-card h3{margin-bottom:18px}.analytics-empty{color:var(--text-secondary);text-align:center;padding:30px 0;font-size:.84rem}.analytics-breakdown__list{gap:14px;display:grid}.analytics-breakdown__row{grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:5px 8px;display:grid}.analytics-breakdown__row>div:first-child{justify-content:space-between;gap:8px;min-width:0;font-size:.78rem;display:flex}.analytics-breakdown__row span{text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary);overflow:hidden}.analytics-breakdown__row strong{white-space:nowrap;font-size:.78rem}.analytics-breakdown__row small{text-align:end;color:var(--text-secondary);grid-area:1/2/span 2}.analytics-progress{background:var(--bg-tertiary);border-radius:99px;height:5px;overflow:hidden}.analytics-progress i,.analytics-weekday-row i{border-radius:inherit;background:var(--accent-primary);height:100%;display:block}.analytics-hour-grid{grid-template-columns:repeat(6,1fr);gap:6px;display:grid}.analytics-hour-grid div{aspect-ratio:1;background:color-mix(in srgb, var(--accent-primary) calc(var(--heat) * 75%), var(--bg-tertiary));border-radius:7px;place-items:center;font-size:.66rem;display:grid}.analytics-hour-grid i{font-style:normal;font-weight:700}.analytics-hour-grid span{color:var(--text-secondary);background:var(--bg-secondary);border-radius:4px;padding:0 4px}.analytics-weekday-card{align-content:start;display:grid}.analytics-weekday-row{grid-template-columns:65px minmax(0,1fr) 34px;align-items:center;gap:8px;margin-bottom:12px;font-size:.75rem;display:grid}.analytics-weekday-row>div{background:var(--bg-tertiary);border-radius:99px;height:7px;overflow:hidden}.analytics-weekday-row strong{text-align:end}@media (max-width:1024px){.analytics-toolbar{flex-direction:column;align-items:start}.analytics-toolbar__controls{justify-content:start;width:100%}.analytics-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-current-state__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.analytics-breakdown-grid,.analytics-detail-grid{grid-template-columns:1fr 1fr}}@media (max-width:640px){.analytics-metrics,.analytics-chart-grid,.analytics-breakdown-grid,.analytics-detail-grid{grid-template-columns:1fr}.analytics-chart-grid>:first-child{grid-column:auto}.analytics-current-state__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-toolbar__controls label{flex:1;min-width:120px}.analytics-icon-button{flex:1}.analytics-month-chart{min-width:560px}.analytics-chart-card{overflow-x:auto}}
.expiry-calendar{gap:20px;padding:28px;display:grid}.expiry-calendar__header{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:20px;display:flex}.expiry-calendar__heading{align-items:start;gap:12px;min-width:0;display:flex}.expiry-calendar__heading-icon{color:var(--accent-primary);background:rgba(var(--color-error-rgb), .08);border-radius:10px;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}.expiry-calendar__heading h2{margin-bottom:6px;font-size:1.25rem}.expiry-calendar__heading p{color:var(--text-secondary);font-size:.9rem}.expiry-calendar__nav{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.expiry-calendar__nav-button{background:var(--bg-tertiary);border:1px solid var(--border-color);width:34px;height:34px;color:var(--text-primary);cursor:pointer;border-radius:9px;place-items:center;transition:background .15s,border-color .15s;display:grid}.expiry-calendar__nav-button:hover{background:var(--hover-bg-strong);border-color:var(--input-border)}.expiry-calendar__month{text-align:center;min-width:150px;font-size:.95rem}.expiry-calendar__today-button{min-height:34px;padding:7px 14px;font-size:.82rem}.expiry-calendar__today-button:disabled{opacity:.45;cursor:default}.expiry-calendar__summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.expiry-calendar__count{color:var(--text-secondary);font-size:.82rem}.expiry-calendar__legend{flex-wrap:wrap;gap:14px;margin:0;padding:0;list-style:none;display:flex}.expiry-calendar__legend li{color:var(--text-secondary);align-items:center;gap:6px;font-size:.75rem;display:flex}.expiry-calendar__dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:block}.expiry-calendar__dot--overdue{background:var(--color-error)}.expiry-calendar__dot--imminent{background:var(--color-warning)}.expiry-calendar__dot--upcoming{background:var(--color-info)}.expiry-calendar__grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.expiry-calendar__row{display:contents}.expiry-calendar__weekday{text-align:center;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;padding-bottom:6px;font-size:.74rem;font-weight:600}.expiry-calendar__day{background:var(--bg-tertiary);border:1px solid #0000;border-radius:10px;min-height:62px;display:flex;position:relative}.expiry-calendar__day--muted{opacity:.75}.expiry-calendar__day--today{border-color:var(--accent-primary)}.expiry-calendar__day--overdue{background:rgba(var(--color-error-rgb), .1)}.expiry-calendar__day--imminent{background:rgba(var(--color-warning-rgb), .12)}.expiry-calendar__day--upcoming{background:rgba(var(--color-info-rgb), .1)}.expiry-calendar__day--open{z-index:30}.expiry-calendar__day-number{color:var(--text-primary);text-align:start;padding:8px;font-size:.84rem;display:block}.expiry-calendar__day-trigger{cursor:pointer;border-radius:inherit;color:inherit;font:inherit;background:0 0;border:none;flex-direction:column;flex:1;justify-content:space-between;align-items:stretch;padding:0;display:flex}.expiry-calendar__day-trigger:hover,.expiry-calendar__day-trigger:focus-visible{background:var(--hover-bg);outline:none}.expiry-calendar__day-trigger:focus-visible{box-shadow:0 0 0 2px var(--accent-primary)}.expiry-calendar__day-marker{align-items:center;gap:5px;padding:0 8px 8px;display:flex}.expiry-calendar__day-count{color:var(--text-secondary);font-size:.7rem;font-weight:700}.expiry-calendar__popover{z-index:40;background:var(--bg-secondary);border:1px solid var(--border-color);width:max(210px,100%);max-width:280px;box-shadow:0 16px 42px var(--shadow-heavy);text-align:start;border-radius:12px;padding:12px;position:absolute;top:calc(100% + 8px)}.expiry-calendar__popover--start{inset-inline-start:0}.expiry-calendar__popover--end{inset-inline-end:0}.expiry-calendar__popover--center{inset-inline-start:50%;transform:translate(-50%)}[dir=rtl] .expiry-calendar__popover--center{transform:translate(50%)}.expiry-calendar__popover-header{border-bottom:1px solid var(--border-color);flex-direction:column;gap:3px;margin-bottom:8px;padding-bottom:9px;display:flex}.expiry-calendar__popover-header strong{font-size:.82rem}.expiry-calendar__popover-header span{color:var(--text-secondary);font-size:.72rem}.expiry-calendar__popover-list{gap:4px;max-height:220px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.expiry-calendar__member{cursor:pointer;text-align:start;width:100%;color:var(--text-primary);font:inherit;background:0 0;border:none;border-radius:8px;flex-direction:column;gap:2px;padding:7px 8px;display:flex}.expiry-calendar__member:hover,.expiry-calendar__member:focus-visible{background:var(--hover-bg-strong);outline:none}.expiry-calendar__member-name{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:600;overflow:hidden}.expiry-calendar__member-note{font-size:.71rem}.expiry-calendar__member-note--overdue{color:var(--color-error)}.expiry-calendar__member-note--imminent{color:var(--color-warning)}.expiry-calendar__member-note--upcoming{color:var(--color-info)}.expiry-calendar__popover-hint{color:var(--text-secondary);border-top:1px solid var(--border-color);margin-top:9px;padding-top:8px;font-size:.68rem}.expiry-calendar__empty{color:var(--text-secondary);text-align:center;padding:4px 0 2px;font-size:.84rem}@media (max-width:768px){.expiry-calendar{gap:16px;padding:18px}.expiry-calendar__nav{justify-content:space-between;width:100%}.expiry-calendar__month{flex:1;min-width:0}.expiry-calendar__grid{gap:4px}.expiry-calendar__day{min-height:48px}.expiry-calendar__day-number{padding:5px 6px;font-size:.78rem}.expiry-calendar__day-marker{padding:0 6px 5px}.expiry-calendar__weekday{font-size:.64rem}.expiry-calendar__popover,[dir=rtl] .expiry-calendar__popover{width:min(260px,74vw);max-width:none;inset-inline:0 auto;transform:none}}@media (prefers-reduced-motion:reduce){.expiry-calendar__nav-button{transition:none}}
.module-form__grid{grid-template-columns:1fr 1fr;gap:12px 16px;display:grid}.module-form__wide{grid-column:1/-1}.module-form__check{cursor:pointer;align-items:center;gap:10px;padding:4px 0;display:flex}.module-form__check input{flex-shrink:0;width:18px;height:18px}.module-form__checklist{border:1px solid var(--border-color);border-radius:var(--radius-md);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:4px 16px;padding:12px 16px;display:grid}.module-form__checklist legend{padding:0 6px}.module-form__hint{color:var(--text-secondary);margin:4px 0 0;font-size:.8rem}.module-form__error{color:var(--color-error);margin:16px 0 0}.module-form__actions{justify-content:flex-end;gap:12px;margin-top:20px;display:flex}.module-empty{text-align:center;color:var(--text-secondary);padding:24px 0}.module-table__caption{text-align:start;color:var(--text-secondary);padding-bottom:12px}.module-actions{flex-wrap:wrap;justify-content:flex-end}.module-stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;margin-bottom:24px;display:grid}.module-stat{flex-direction:column;gap:6px;padding:18px 20px;display:flex}.module-stat__label{color:var(--text-secondary);font-size:.85rem}.module-stat__value{font-size:1.5rem}.module-stat--good .module-stat__value{color:var(--color-success)}.module-stat--warn .module-stat__value{color:var(--color-warning)}.module-stat--bad .module-stat__value{color:var(--color-error)}.module-badge{background:var(--bg-tertiary);color:var(--text-primary);border-radius:999px;padding:2px 10px;font-size:.8rem;display:inline-block}.module-badge--good{color:var(--color-success)}.module-badge--warn{color:var(--color-warning)}.module-badge--bad{color:var(--color-error)}.module-section{margin-bottom:24px;padding:24px}.module-section h3{margin-top:0}.module-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.module-toolbar .input-field{width:auto;min-width:160px}.module-section__action{gap:var(--space-2);margin-block-start:var(--space-2)}.inline-setting{align-items:center;gap:var(--space-2);display:inline-flex}.inline-setting .input-label{white-space:nowrap;margin:0}.inline-setting .input-field{width:96px;min-height:44px;padding-block:10px}.inline-setting .btn{min-height:44px}.module-subtabs{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.feature-switches{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px 24px;display:grid}.feature-switches h4{color:var(--accent-primary);grid-column:1/-1;margin:16px 0 4px}@media (max-width:640px){.module-form__grid{grid-template-columns:1fr}.module-toolbar .input-field{width:100%}}.overview-alerts{gap:10px;margin:0;padding:0;list-style:none;display:grid}.overview-alerts__item{background:var(--surface-secondary,#ffffff0a);border-inline-start:4px solid var(--accent-primary);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.overview-alerts__item p{color:var(--text-secondary);margin:4px 0 0;font-size:.9rem}.overview-alerts__item--warn{border-inline-start-color:var(--color-warning,#b45309)}.overview-alerts__item--bad{border-inline-start-color:var(--color-error)}.discount-picker__applied{background:rgba(var(--color-success-rgb), .1);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.module-chips{gap:8px;margin:16px 0 0;padding:0;list-style:none;display:grid}.module-chips li{background:var(--surface-secondary,#ffffff0a);border-radius:8px;align-items:center;gap:8px;padding:8px 12px;display:flex}.module-chips li span{flex:1}.invoice-lines{grid-template-columns:auto 1fr;gap:6px 16px;margin:16px 0 0;display:grid}.invoice-lines dt{color:var(--text-secondary)}.invoice-lines dd{text-align:end;margin:0}.module-intro{color:var(--text-secondary);margin-top:0}.document-text{white-space:pre-wrap;border:1px solid var(--border-color);border-radius:8px;max-height:40vh;margin-bottom:12px;padding:12px;line-height:1.5;overflow-y:auto}.module-steps{padding-inline-start:20px;line-height:1.7}.signup-link{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.signup-link code{background:var(--bg-secondary,#7f7f7f1f);overflow-wrap:anywhere;border-radius:8px;padding:8px 12px}.module-checklist{border:0;flex-wrap:wrap;gap:8px 16px;margin:12px 0;padding:0;display:flex}.module-checklist legend{width:100%}.retention__bars{gap:8px;max-width:520px;display:grid}.retention__bar{grid-template-columns:140px 1fr 40px;align-items:center;gap:8px;display:grid}.retention h3{margin-block:var(--space-6) var(--space-2)}.retention__bar meter{appearance:none;border-radius:var(--radius-pill);background:var(--hover-bg-strong);border:0;width:100%;height:8px;overflow:hidden}.retention__bar meter::-webkit-meter-bar{border-radius:var(--radius-pill);background:var(--hover-bg-strong);border:0;height:8px}.retention__bar meter::-webkit-meter-optimum-value{border-radius:var(--radius-pill);background:var(--color-info)}.retention__bar meter::-webkit-meter-suboptimum-value{border-radius:var(--radius-pill);background:var(--color-info)}.retention__bar meter::-webkit-meter-even-less-good-value{border-radius:var(--radius-pill);background:var(--color-info)}.retention__bar meter::-moz-meter-bar{border-radius:var(--radius-pill);background:var(--color-info)}.retention__heatmap{border-collapse:separate;border-spacing:3px;font-size:.7rem}.retention__heatmap th{color:var(--text-secondary);font-weight:500}.retention__heatmap thead th{height:20px}.retention__heatmap tbody th{text-align:start;padding-inline-end:var(--space-2)}.retention__cell{background:var(--hover-bg-strong);min-width:26px;height:26px;color:var(--text-primary);font-variant-numeric:tabular-nums;text-align:center;border-radius:5px;display:table-cell}.retention__cell--l1{background:rgba(var(--color-info-rgb), .25)}.retention__cell--l2{background:rgba(var(--color-info-rgb), .45)}.retention__cell--l3{background:rgba(var(--color-info-rgb), .7);color:#fff}.retention__cell--l4{background:rgb(var(--color-info-rgb));color:#fff}.retention__legend{color:var(--text-secondary);align-items:center;gap:4px;margin-block-start:var(--space-2);font-size:.7rem;display:flex}.retention__legend span:first-child{margin-inline-end:4px}.retention__legend span:last-child{margin-inline-start:4px}.retention__legend .retention__cell{border-radius:3px;width:14px;min-width:14px;height:14px;display:inline-block}.rota{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;display:grid}.rota__day{border:1px solid var(--border-color);border-radius:8px;min-height:80px;padding:8px}.rota__day--today{border-color:var(--color-info,#3b82f6)}.rota__day h4{margin:0 0 6px;font-size:.85rem}.rota__shift{border-top:1px solid var(--border-color);flex-direction:column;gap:2px;padding:6px 0;font-size:.85rem;display:flex}.rota__shift .btn{align-self:flex-start}.clock-widget{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.module-facts{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:0 0 16px;display:grid}.module-facts dt{color:var(--text-secondary);font-size:.85rem}.module-facts dd{margin:4px 0 0;font-weight:600}.member-photo{flex-direction:column;align-items:center;gap:8px;display:flex}.member-photo__img{object-fit:cover;border-radius:50%}.member-photo__empty{background:var(--bg-tertiary,#ffffff14);color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;font-size:2rem;font-weight:600;display:flex}.member-photo__actions{gap:6px;display:flex}.module-row-actions{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.module-row-actions .btn-table-action,.module-row-actions .input-field--sm{min-height:34px;font-size:.85rem}.module-row-actions .input-field--sm{padding-block:4px}
.searchable-select{position:relative}.searchable-select__input{width:100%}.searchable-select__list{z-index:50;top:calc(100% + 4px);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);max-height:240px;box-shadow:0 8px 24px var(--shadow-dropdown);margin:0;padding:6px;list-style:none;position:absolute;inset-inline:0;overflow-y:auto}.searchable-select__option{border-radius:var(--radius-sm);width:100%;color:var(--text-primary);text-align:start;cursor:pointer;background:0 0;border:none;padding:10px 12px;font-size:.95rem;display:block}.searchable-select__option:hover,.searchable-select__option--active{background:var(--hover-bg-strong)}.searchable-select__empty{color:var(--text-secondary);padding:10px 12px;font-size:.9rem}.searchable-select__hint{color:var(--text-secondary);border-top:1px solid var(--border-color);margin-top:4px;padding:8px 12px;font-size:.8rem}
.mobile-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-direction:column;gap:8px;margin-bottom:12px;padding:16px;display:flex}.mobile-card-row{justify-content:space-between;align-items:center;font-size:.8rem;display:flex}.mobile-card-label{color:var(--text-secondary);font-weight:500}.mobile-card-value{color:var(--text-primary);text-align:end}.mobile-card-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.mobile-card-actions .btn{min-height:40px;padding:8px 14px;font-size:.85rem}.mobile-tab-bar{display:none}@media (max-width:768px){.mobile-only{display:block!important}.desktop-only{display:none!important}.layout-container{flex-direction:column}.sidebar{inset-inline-start:0;width:min(88vw,320px);height:100dvh;padding:20px 16px;padding-top:max(20px, env(safe-area-inset-top));padding-bottom:max(20px, env(safe-area-inset-bottom));box-shadow:8px 0 32px var(--shadow-dropdown);position:fixed;top:0;transform:translate(-110%)}[dir=rtl] .sidebar{box-shadow:-8px 0 32px var(--shadow-dropdown);transform:translate(110%)}.sidebar.open{transform:translate(0)}.sidebar__close{display:inline-flex}.sidebar-overlay{background:var(--overlay-blur-bg);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:999;display:none;position:fixed;inset:0}.sidebar-overlay.open{display:block}.main-content{padding:12px 14px;padding-bottom:calc(var(--bottom-nav-height) + 32px + env(safe-area-inset-bottom))}.stat-grid{grid-template-columns:repeat(2,1fr);gap:10px}.stat-grid .glass-panel{border-radius:var(--radius-md);padding:16px!important}.stat-grid .glass-panel p{margin-bottom:4px!important;font-size:.75rem!important}.stat-grid .glass-panel h2{font-size:1.65rem!important}.form-grid-2,.form-grid-auto{grid-template-columns:1fr!important;gap:16px!important}.page-actions{justify-content:stretch}.page-actions .btn{flex:1;min-height:48px}.page-toolbar{flex-direction:column;align-items:stretch}.page-toolbar .members-search{flex:none}.members-search__fields{flex-direction:column;gap:12px}.page-toolbar .input-field{width:100%;max-width:none;height:48px;min-height:unset;flex:none;max-height:48px;padding:0 16px;line-height:1.4}.page-toolbar .input-field[type=search]::-webkit-search-cancel-button{margin-inline-end:4px}.page-toolbar .btn{width:100%;min-height:48px}.glass-panel{border-radius:var(--radius-md);padding:18px!important}.input-field,.input-field select{min-height:48px;font-size:16px}.btn{min-height:44px}.mobile-card{padding:14px}.mobile-card-row{gap:12px;font-size:.85rem}.mobile-card-actions{justify-content:stretch}.mobile-card-actions .btn{flex:calc(50% - 4px);justify-content:center}.mobile-tab-bar{-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-snap-type:x proximity;gap:8px;margin:-8px 0 16px;padding:4px 2px 14px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 32px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 32px),#0000)}[dir=rtl] .mobile-tab-bar{-webkit-mask-image:linear-gradient(270deg,#000 calc(100% - 32px),#0000);mask-image:linear-gradient(270deg,#000 calc(100% - 32px),#0000)}.mobile-tab-bar::-webkit-scrollbar{display:none}.mobile-tab-bar__item{scroll-snap-align:start;border:1px solid var(--border-color);background:var(--bg-tertiary);min-height:44px;color:var(--text-secondary);white-space:nowrap;cursor:pointer;border-radius:999px;flex:none;padding:10px 16px;font-family:Outfit,sans-serif;font-size:.85rem;font-weight:600;transition:all .15s}.mobile-tab-bar__item--active{background:var(--accent-solid);border-color:var(--accent-solid);color:#fff;box-shadow:0 2px 12px var(--accent-glow)}.manual-log-form__fields{flex-direction:column;align-items:stretch}.manual-log-form__submit{width:100%}.logs-filters__row{flex-direction:column;align-items:stretch}.logs-filters__field--narrow{flex:auto;max-width:none}}@media (max-width:480px){.stat-grid{grid-template-columns:1fr}}
.modal-overlay{background:var(--overlay-bg);z-index:9999;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-overlay--priority{z-index:10100}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;max-width:480px;padding:24px;box-shadow:0 24px 48px #00000080}.modal-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.modal-header h2{font-size:1.25rem}.btn-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:4px;font-size:1.2rem;line-height:1}.btn-close:hover{color:var(--text-primary)}@media (max-width:768px){.modal-overlay{align-items:flex-end;padding:12px}.modal-content{border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:92dvh;padding:20px 16px;padding-bottom:max(20px, env(safe-area-inset-bottom));overflow-y:auto}}@media print{body:has(.receipt-print) *{visibility:hidden}:is(body:has(.receipt-print) .receipt-print,body:has(.receipt-print) .receipt-print *){visibility:visible;color:#000!important}body:has(.receipt-print) .receipt-print{background:#fff;width:80mm;padding:4mm;position:absolute;inset:0 auto auto 0}.modal-overlay:has(>.receipt-modal){-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:0 0!important}}.modal-content--sm{max-width:420px}.modal-content--md{max-width:560px}.modal-content--lg{max-width:760px}.modal-content--xl{max-width:980px}.modal-content--sm,.modal-content--md,.modal-content--lg,.modal-content--xl{flex-direction:column;max-height:min(92dvh,900px);padding:0;display:flex;overflow:hidden}.modal-content--sm>.modal-header,.modal-content--md>.modal-header,.modal-content--lg>.modal-header,.modal-content--xl>.modal-header{padding:var(--space-5) var(--space-5) var(--space-3);gap:var(--space-3);margin:0}.modal-header .btn-close.icon-btn{flex-shrink:0;margin-inline-end:calc(var(--space-2) * -1)}.modal-body{padding:var(--space-2) var(--space-5) var(--space-5);flex:auto;line-height:1.5;overflow-y:auto}.modal-footer{justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-color);background:var(--bg-secondary);flex-wrap:wrap;display:flex}@media (max-width:768px){.modal-content--sm,.modal-content--md,.modal-content--lg,.modal-content--xl{padding:0}.modal-footer{padding-bottom:max(var(--space-4), env(safe-area-inset-bottom))}.modal-footer>.btn{flex:auto}}@media (max-width:480px){:is(.modal-overlay:has(>.modal-content--md),.modal-overlay:has(>.modal-content--lg),.modal-overlay:has(>.modal-content--xl)){padding:0}.modal-content--md,.modal-content--lg,.modal-content--xl{border:none;border-radius:0;max-width:none;height:100dvh;max-height:100dvh}}.modal-text{margin:0 0 var(--space-4);line-height:1.5}.modal-warning{color:var(--color-error);margin-block-start:var(--space-3);display:block}.modal-error{margin:var(--space-2) 0 0;color:var(--color-error);font-size:var(--text-sm)}.modal-subtitle{margin:0 0 var(--space-4);color:var(--text-secondary);font-size:var(--text-sm)}.modal-muted{color:var(--text-secondary);font-size:var(--text-sm)}.modal-empty{padding-block:var(--space-5);color:var(--text-secondary);text-align:center}.modal-field{margin-block-end:var(--space-4)}.modal-grid-2{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (max-width:480px){.modal-grid-2{grid-template-columns:1fr}}.modal-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.modal-actions{justify-content:flex-end;gap:var(--space-3);flex-wrap:wrap;margin-block-start:var(--space-4);display:flex}.modal-textarea{resize:vertical;min-height:64px}.modal-code-label{margin:var(--space-3) 0 var(--space-1);color:var(--text-secondary);font-size:var(--text-sm)}.modal-code{padding:var(--space-2);border-radius:var(--radius-sm);background:var(--bg-tertiary);border:1px solid var(--border-color);font-size:var(--text-sm);word-break:break-all;-webkit-user-select:all;user-select:all;text-align:start;direction:ltr;display:block}.modal-summary{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--bg-tertiary);border:1px solid var(--border-color);margin-block-end:var(--space-4)}.modal-summary__row{justify-content:space-between;gap:var(--space-3);padding-block:var(--space-1);display:flex}.modal-stack{gap:var(--space-4);flex-direction:column;display:flex}.popup-modal .modal-body{min-height:300px}.receipt-modal__gym{margin:0 0 var(--space-1)}.receipt-modal__email{margin:0 0 var(--space-4);text-align:start}.receipt-modal__value{text-align:end}.receipt-modal__total{border-top:1px solid var(--border-color);margin-block-start:var(--space-2);padding-block-start:var(--space-2)}.receipt-modal__note{margin:var(--space-2) 0 0}.receipt-modal__thanks{margin:var(--space-4) 0 0;text-align:center}.modal-hint-end{text-align:end;margin-block-start:var(--space-1)}.modal-callout{padding:var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);border-inline-start:4px solid;margin:0}.modal-callout--warning{color:var(--color-warning);background:rgba(var(--color-warning-rgb), .1)}.modal-preview{padding:var(--space-3);border-radius:var(--radius-sm);background:var(--bg-tertiary);border:1px solid var(--border-color);white-space:pre-wrap;font-size:var(--text-sm)}.modal-stack>p{margin:0}.modal-check-row{align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-sm);background:var(--bg-tertiary);display:flex}.modal-check-row input[type=checkbox]{width:18px;height:18px}.modal-check-row label{cursor:pointer;font-weight:500}.modal-section-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-block-end:var(--space-3);display:flex}.modal-section-head .input-label{margin:0}.class-schedule-row{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-sm);background:var(--bg-tertiary);grid-template-columns:2fr 1fr 1fr auto;align-items:center;margin-block-end:var(--space-2);display:grid}@media (max-width:480px){.class-schedule-row{grid-template-columns:1fr 1fr auto}.class-schedule-row__day{grid-column:1/-1}}.attendees-enroll{align-items:flex-end;gap:var(--space-3);display:flex}.attendees-enroll__fields{gap:var(--space-2);flex-direction:column;flex:1;min-width:0;display:flex}.attendees-enroll__search{gap:var(--space-2);display:flex}@media (max-width:480px){.attendees-enroll,.attendees-enroll__search{flex-direction:column;align-items:stretch}}.attendees-list{border-top:1px solid var(--border-color);padding-block-start:var(--space-4)}.attendees-list__title{margin:0 0 var(--space-3);font-size:var(--text-md)}.attendees-list__items{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.attendees-list__item{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--bg-tertiary);border:1px solid var(--border-color);display:flex}.attendees-list__name{font-weight:500}.receipt-modal__lines{white-space:pre-line}.modal-field-top{margin-block-start:var(--space-4)}.delete-gym-modal .modal-header h2{color:var(--color-error)}.unpaid-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.unpaid-list__item{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-sm);background:var(--bg-tertiary);grid-template-columns:1fr 1.5fr auto;align-items:center;display:grid}.unpaid-list__date{color:var(--text-secondary);font-size:var(--text-sm);margin-block-start:var(--space-1)}.unpaid-list__amount{color:var(--color-error);text-align:end}.unpaid-list__amount--total{font-size:1.1rem}.unpaid-list__total{justify-content:space-between;align-items:center;gap:var(--space-4);border-top:1px solid var(--border-color);margin-block-start:var(--space-4);padding-block-start:var(--space-4);display:flex}.unpaid-list__totals{justify-content:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}@media (max-width:480px){.unpaid-list__item{grid-template-columns:1fr auto}.unpaid-list__item>.modal-muted{grid-area:2/1/auto/-1}}.profile-summary{align-items:flex-start;gap:var(--space-4);display:flex}.profile-summary__facts{gap:var(--space-3) var(--space-4);min-width:0;color:var(--text-secondary);overflow-wrap:anywhere;flex-wrap:wrap;flex:1;display:flex}.profile-summary__visits{gap:var(--space-2)}.profile-summary__remaining{font-size:var(--text-xs);color:var(--text-secondary)}.profile-actions{margin-block:var(--space-4)}.profile-section-head{justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--border-color);flex-wrap:wrap;margin-block-end:var(--space-4);padding-block-end:var(--space-4);display:flex}.profile-section-head__title{color:var(--accent-primary);margin:0}.profile-inline-form{align-items:flex-end;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-sm);background:var(--bg-tertiary);flex-wrap:wrap;margin-block-end:var(--space-4);display:flex}.profile-inline-form--edit{background:rgba(var(--color-info-rgb), .05);border:1px solid rgba(var(--color-info-rgb), .3)}.profile-inline-form__grow{flex:1;min-width:150px}.profile-inline-form__amount{width:120px}.profile-inline-form__currency{width:100px}.profile-inline-form__method{width:150px}.profile-inline-form__btn{height:42px}.profile-inline-form__btn--tab{background:var(--color-warning);color:#000}.profile-inline-form__btn--info{background:var(--color-info)}@media (max-width:480px){.profile-summary{flex-direction:column}.profile-inline-form>div{width:100%}}.profile-txn-table th{color:var(--text-secondary);text-align:start;padding-block-end:var(--space-3);padding-inline-end:var(--space-5);font-weight:500}.profile-txn-table td{padding-block:var(--space-3);padding-inline-end:var(--space-5)}.profile-txn-table tr>:last-child{padding-inline-end:0}.profile-txn-table tbody tr{border-bottom:1px solid var(--border-color)}.profile-txn-table .profile-txn-table__end{text-align:end}.profile-txn-table__amount{font-weight:600}.profile-txn-link{color:var(--text-primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem}.profile-txn-link:not(:last-child){margin-inline-end:var(--space-3)}.profile-txn-link--warning{color:var(--color-warning)}.profile-txn-link--info{color:var(--color-info)}.profile-txn-link--danger{color:var(--color-error)}.profile-txn-card-actions{justify-content:flex-end;gap:var(--space-2);border-top:1px solid var(--border-color);margin-block-start:var(--space-3);padding-block-start:var(--space-3)}.member-form__sections{gap:var(--space-5)}.member-form__section-title{margin:0 0 var(--space-4);border-bottom:1px solid var(--border-color);color:var(--accent-primary);padding-block-end:var(--space-2)}.member-form__wide{grid-column:1/-1}.member-form__readonly{opacity:.7;cursor:not-allowed}.profile-extra-visits__prompt{display:block}
.live-scan-backdrop{z-index:10050;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;position:fixed;inset:0}.live-scan-center{z-index:10051;padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.live-scan-modal{--scan-rgb:var(--color-success-rgb);--scan-color:var(--color-success);pointer-events:auto;background:var(--live-scan-bg);border:1px solid rgba(var(--scan-rgb), .45);border-radius:20px;flex-direction:column;gap:20px;width:min(520px,100%);max-height:92dvh;padding-bottom:24px;display:flex;overflow-y:auto;box-shadow:0 24px 64px #00000073}.live-scan-modal--denied{--scan-rgb:var(--color-error-rgb);--scan-color:var(--color-error)}.live-scan-modal__status{background:rgba(var(--scan-rgb), .14);color:var(--scan-color);border-bottom:1px solid rgba(var(--scan-rgb), .25);align-items:center;gap:14px;padding:20px 20px 20px 24px;display:flex}.live-scan-modal__status-icon{flex-shrink:0}.live-scan-modal__status-text{flex-direction:column;flex:1;gap:2px;min-width:0;font-size:1.4rem;font-weight:700;line-height:1.25;display:flex}.live-scan-modal__status-reason{color:var(--live-scan-text);opacity:.85;font-size:1rem;font-weight:500}.live-scan-modal__close{color:var(--live-scan-muted);background:0 0;border-color:#0000}.live-scan-modal__close:hover{color:var(--live-scan-text)}.live-scan-member{align-items:center;gap:16px;padding:0 24px;display:flex}.live-scan-member__text{flex-direction:column;gap:8px;min-width:0;display:flex}.live-scan-modal__title{color:var(--live-scan-text);word-break:break-word;margin:0;font-size:1.6rem;line-height:1.2}.live-scan-member__plan{color:var(--live-scan-muted);flex-wrap:wrap;align-items:center;gap:8px 10px;font-size:1rem;display:flex}.live-scan-facts{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:0;padding:0 24px;display:grid}.live-scan-facts__item{border-radius:var(--radius-sm);background:var(--hover-bg);padding:12px 14px}.live-scan-facts dt{color:var(--live-scan-muted);margin-bottom:4px;font-size:.85rem}.live-scan-facts dd{color:var(--live-scan-text);flex-direction:column;gap:2px;margin:0;font-size:1.1rem;font-weight:600;display:flex}.live-scan-facts__hint{color:var(--live-scan-muted);font-size:.85rem;font-weight:500}.live-scan-facts__hint--warn,.live-scan-facts__value--warn{color:var(--color-warning)}.live-scan-alert{border-radius:var(--radius-sm);align-items:center;gap:10px;margin:0 24px;padding:12px 14px;font-size:.95rem;font-weight:600;line-height:1.4;display:flex}.live-scan-alert--warning{background:rgba(var(--color-warning-rgb), .12);border:1px solid rgba(var(--color-warning-rgb), .35);color:var(--color-warning)}.live-scan-alert--debt{background:rgba(var(--color-error-rgb), .08);border:1px solid rgba(var(--color-error-rgb), .3);color:var(--color-error);flex-direction:column;align-items:stretch}.live-scan-alert__head{align-items:center;gap:10px;font-size:1.05rem;display:flex}.live-scan-unpaid__list{flex-direction:column;max-height:200px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.live-scan-unpaid__item{border-top:1px solid rgba(var(--color-error-rgb), .18);justify-content:space-between;align-items:center;gap:16px;padding:8px 0;display:flex}.live-scan-unpaid__desc{min-width:0;color:var(--live-scan-text);word-break:break-word;flex-direction:column;gap:2px;font-size:.95rem;font-weight:500;display:flex}.live-scan-unpaid__type{color:var(--live-scan-muted);font-size:.8rem;font-weight:400}.live-scan-unpaid__amount{color:var(--color-error);white-space:nowrap;font-weight:700}@media (max-width:768px){.live-scan-modal__status-text{font-size:1.25rem}.live-scan-modal__title{font-size:1.35rem}.live-scan-member,.live-scan-facts{padding:0 18px}.live-scan-alert{margin:0 18px}}
.member-logs-modal{max-width:520px}.member-logs-list{flex-direction:column;gap:8px;max-height:60dvh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.member-logs-list__item{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:12px 14px}.member-logs-list__main{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.member-logs-list__status{border-radius:4px;padding:3px 8px;font-size:.8rem;font-weight:600}.member-logs-list__status--granted{background:rgba(var(--color-success-rgb), .15);color:var(--color-success)}.member-logs-list__status--denied{background:rgba(var(--color-error-rgb), .15);color:var(--color-error)}.member-logs-list__time{color:var(--text-secondary);font-size:.85rem}.member-logs-list__reason{color:var(--text-secondary);margin-top:6px;font-size:.8rem;display:block}
.members-filters{margin-bottom:20px;padding:16px}@media (min-width:769px) and (max-width:1920px){.members-tab{font-size:.875rem}.members-tab .page-toolbar{gap:12px;margin-bottom:16px}.members-tab .page-toolbar .btn{padding:8px 16px;font-size:.875rem}.members-tab .input-field{padding:10px 12px;font-size:.875rem}.members-tab .input-label{color:var(--text-secondary);margin-bottom:4px;font-size:.75rem;display:block}.members-tab .members-filters{margin-bottom:16px;padding:12px}.members-tab .members-filters .btn{padding:8px 14px;font-size:.8rem}.members-tab .form-grid-auto{gap:12px}.members-tab .data-table th,.members-tab .data-table td,.members-tab table th,.members-tab table td{font-size:.8rem}}.members-toolbar__buttons{gap:var(--space-3);flex-wrap:wrap;display:flex}.members-filters__grid{align-items:end}.members-chips{margin-block-end:var(--space-4)}.members-list{padding:var(--space-4) var(--space-5)}.members-table{border-collapse:separate;border-spacing:0;text-align:start;width:100%;min-width:860px}.members-table thead th{z-index:1;padding:var(--space-3) var(--space-3) var(--space-3) 0;background:var(--bg-secondary);border-block-end:1px solid var(--border-color);color:var(--text-secondary);font-weight:500;font-size:var(--text-sm);text-align:start;white-space:nowrap;position:sticky;inset-block-start:0}.members-table td{padding:var(--space-3) var(--space-3) var(--space-3) 0;border-block-end:1px solid var(--row-border);vertical-align:middle}[dir=rtl] .members-table thead th,[dir=rtl] .members-table td{padding:var(--space-3) 0 var(--space-3) var(--space-3)}.members-table tbody tr{transition:background-color var(--motion-fast) var(--ease-standard)}.members-table tbody tr:hover{background:var(--hover-bg)}.members-table tbody tr.is-selected{background:var(--hover-bg-strong)}.members-table__check{width:40px}.members-table__check input{width:20px;height:20px}.members-table__name{font-weight:600}.members-table__contact{color:var(--text-secondary);font-size:var(--text-sm)}.members-table__date{color:var(--text-secondary);white-space:nowrap}.members-table__actions-head{text-align:end!important}.members-table__actions{white-space:nowrap;text-align:end}.members-table__actions>*+*{margin-inline-start:var(--space-2)}.members-table__actions .overflow-menu{vertical-align:middle}.th-sort{align-items:center;gap:var(--space-1);color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;padding:4px 0;display:inline-flex}.th-sort:hover{color:var(--text-primary)}.th-sort__idle{opacity:.45}.plan-tag{border-radius:var(--radius-sm);background:var(--bg-tertiary);border:1px solid var(--border-color);font-size:var(--text-sm);padding:3px 8px;display:inline-block}.wa-status{font-weight:500}.wa-status--yes{color:var(--color-success)}.wa-status--no{color:var(--color-error)}.wa-status--unknown{color:var(--text-secondary)}.members-list__footer{justify-content:center;align-items:center;gap:var(--space-4);color:var(--text-secondary);font-size:var(--text-sm);flex-wrap:wrap;margin-block-start:var(--space-4);display:flex}.members-list__page-size{align-items:center;gap:var(--space-2);display:inline-flex}.input-field--sm{width:auto;min-height:36px;padding:6px 10px}.bulk-bar{inset-block-end:var(--space-6);z-index:var(--z-cart);align-items:center;gap:var(--space-3);max-inline-size:calc(100vw - 32px);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border:1px solid var(--border-color);border-radius:var(--radius-pill);background:var(--bg-secondary);box-shadow:var(--elevation-3);animation:bulk-bar-in .18s var(--ease-standard,ease-out);display:flex;position:fixed;left:50%;transform:translate(-50%)}[dir=rtl] .bulk-bar{padding:var(--space-2) var(--space-4) var(--space-2) var(--space-2)}@keyframes bulk-bar-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.bulk-bar{animation:none}}@media (max-width:768px){.bulk-bar{inset-block-end:calc(var(--bottom-nav-height) + var(--space-3) + env(safe-area-inset-bottom,0px))}}.members-list--with-bar{margin-block-end:88px}.bulk-bar__count{white-space:nowrap;margin-inline-end:var(--space-2);font-weight:600}.members-cards{gap:var(--space-3);flex-direction:column;display:flex}.member-card{gap:var(--space-1);padding:var(--space-3) var(--space-4);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-tertiary);flex-direction:column;display:flex}.member-card__top{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.member-card__name{font-size:var(--text-md);overflow-wrap:anywhere;min-width:0;margin:0;font-family:inherit;font-weight:600}.member-card__meta{color:var(--text-secondary);font-size:var(--text-sm);margin:0}[dir=rtl] .member-card__meta.ltr-value{text-align:end}.member-card__actions{gap:var(--space-2);margin-block-start:var(--space-2);display:flex}.member-card__actions .btn{min-height:44px;font-size:var(--text-sm);flex:1;padding:8px 14px}.member-card__actions .icon-btn{width:44px;height:44px}.mobile-only-flex{display:none!important}.desktop-only-flex{display:inline-flex!important}@media (max-width:768px){.mobile-only-flex{display:inline-flex!important}.desktop-only-flex{display:none!important}.members-list{padding:var(--space-3);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none}.members-toolbar__buttons{grid-template-columns:auto 1fr;display:grid}.members-filters-btn{gap:var(--space-2)}.members-sheet__fields{gap:var(--space-3);display:grid}}.confirm-dialog{max-width:440px}.confirm-dialog__body{gap:var(--space-4);align-items:flex-start;margin-block-end:var(--space-5);display:flex}.confirm-dialog__icon{background:rgba(var(--color-error-rgb), .12);width:44px;height:44px;color:var(--color-error);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.confirm-dialog__title{margin:0 0 var(--space-2);font-size:var(--text-lg)}.confirm-dialog__message{color:var(--text-secondary);margin:0;line-height:1.55}.confirm-dialog__actions{justify-content:flex-end;gap:var(--space-3);display:flex}@media (max-width:768px){.confirm-dialog__actions .btn{flex:1}}.members-list .table-wrapper{max-height:max(420px,100vh - 240px);overflow:auto}
.app-navbar{z-index:var(--z-sticky);margin-bottom:24px}.app-navbar--dashboard{padding-top:max(0px, env(safe-area-inset-top));margin-bottom:16px;position:sticky;top:0}.app-navbar__inner{background:var(--navbar-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--navbar-shadow);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.app-navbar--auth .app-navbar__inner{padding:12px 16px}.app-navbar--auth{top:max(12px, env(safe-area-inset-top));margin-inline:auto;z-index:100;max-width:1100px;margin-bottom:0;position:fixed;inset-inline:12px}.app-navbar--minimal{margin-bottom:16px}.app-navbar--minimal .app-navbar__inner{padding:12px 14px}.app-navbar__start{flex:1;align-items:center;gap:14px;min-width:0;display:flex}.app-navbar__actions{flex-shrink:0;align-items:center;gap:12px;display:flex}.app-navbar__version{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--navbar-version-bg);height:30px;color:var(--text-secondary);font-family:var(--font-geist-mono), monospace;white-space:nowrap;align-items:center;padding:0 10px;font-size:.75rem;font-weight:600;display:inline-flex}.app-navbar__environment{border-radius:var(--radius-sm);background:rgba(var(--color-warning-rgb), .12);color:var(--color-warning);border:1px solid #ffb34080;padding:6px 9px;font-size:.72rem;font-weight:700}.app-navbar__brand{align-items:center;gap:10px;display:flex}.app-navbar__brand-icon{background:var(--accent-primary);width:10px;height:10px;box-shadow:0 0 12px var(--accent-glow);border-radius:50%;flex-shrink:0}.app-navbar__brand-text{letter-spacing:-.02em;color:var(--text-primary);font-family:Outfit,sans-serif;font-size:1.05rem;font-weight:700}.app-navbar__menu-btn{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-tertiary);width:44px;height:44px;color:var(--text-primary);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s;display:none}.app-navbar__menu-btn:hover{background:var(--hover-bg-strong)}.app-navbar__menu-btn:active{transform:scale(.96)}.app-navbar__titles{min-width:0}.app-navbar__badge{text-transform:uppercase;letter-spacing:.08em;color:var(--accent-primary);margin-bottom:4px;font-size:.7rem;font-weight:600;display:inline-block}.app-navbar__title{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.5rem;line-height:1.2;overflow:hidden}.app-navbar__title--solo{font-size:1.25rem}.app-navbar__subtitle{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin:4px 0 0;font-size:.875rem;overflow:hidden}.app-navbar__logout{border-radius:var(--radius-md);border:1px solid rgba(var(--color-error-rgb), .35);background:rgba(var(--color-error-rgb), .08);color:var(--color-error);cursor:pointer;white-space:nowrap;align-items:center;gap:8px;padding:10px 16px;font-family:Outfit,sans-serif;font-size:.875rem;font-weight:600;transition:all .2s;display:inline-flex}.app-navbar__logout:hover{background:rgba(var(--color-error-rgb), .16);border-color:rgba(var(--color-error-rgb), .55);transform:translateY(-1px)}.app-navbar__logout svg{flex-shrink:0}.theme-toggle{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-tertiary);width:38px;height:38px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;padding:0;transition:all .2s;display:inline-flex}.theme-toggle:hover{background:var(--hover-bg-strong);color:var(--text-primary);transform:translateY(-1px)}.theme-toggle svg{transition:transform .3s}.theme-toggle:hover svg{transform:rotate(15deg)}.lang-segment{border:1px solid var(--border-color);border-radius:var(--radius-md);background:#00000059;align-items:center;gap:4px;padding:4px;display:inline-flex}[data-theme=light] .lang-segment{background:#0000000f}.lang-segment--pending{opacity:.65;pointer-events:none}.lang-segment__label{color:var(--text-secondary);white-space:nowrap;padding-inline:8px;font-size:.75rem}.lang-segment__btn{border-radius:calc(var(--radius-md) - 2px);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:8px 14px;font-family:Outfit,sans-serif;font-size:.8rem;font-weight:600;transition:all .2s}.lang-segment__btn:hover:not(.lang-segment__btn--active){color:var(--text-primary);background:var(--hover-bg)}.lang-segment__btn--active{background:var(--accent-solid);color:#fff;box-shadow:0 2px 10px var(--accent-glow)}@media (max-width:768px){.app-navbar__inner{gap:10px;padding:10px 12px}.app-navbar--auth{inset-inline:10px}.app-navbar__menu-btn{display:inline-flex}.app-navbar__start{gap:10px;min-width:0}.app-navbar__subtitle{display:none}.app-navbar__badge{text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-bottom:2px;font-size:.65rem;display:block;overflow:hidden}.app-navbar__title{font-size:1.05rem;line-height:1.25}.app-navbar__actions{gap:8px}.app-navbar__actions>.app-navbar__version,.app-navbar__logout-label{display:none}.app-navbar__logout{justify-content:center;width:44px;height:44px;padding:0}.lang-segment{padding:3px}.lang-segment__btn{min-height:38px;padding:8px 10px;font-size:.7rem}}@media (max-width:480px){.app-navbar--dashboard:not(.app-navbar--compact-phone) .app-navbar__inner{flex-wrap:wrap;row-gap:8px}.app-navbar--dashboard:not(.app-navbar--compact-phone) .app-navbar__start{flex:100%}.app-navbar--dashboard:not(.app-navbar--compact-phone) .app-navbar__actions{flex-wrap:wrap;flex:100%;justify-content:flex-end}}
.purchase-cart-panel{z-index:var(--z-cart);width:400px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 120px);box-shadow:var(--elevation-3);animation:fade-in var(--motion-base) var(--ease-standard);flex-direction:column;padding:20px;display:flex;position:fixed;inset-block-start:96px;inset-inline-end:24px;overflow-y:auto}.purchase-cart-panel__header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.purchase-cart-panel__lines{flex-direction:column;gap:12px;margin-bottom:14px;display:flex}.purchase-cart-line{border:1px solid var(--border-color);border-radius:8px;flex-direction:column;gap:8px;padding:10px;display:flex}.purchase-cart-line__top{justify-content:space-between;align-items:center;display:flex}.purchase-cart-line__name{font-weight:600}.purchase-cart-line__remove{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-size:.9rem}.purchase-cart-line__controls{align-items:center;gap:8px;display:flex}.purchase-cart-line__qty{width:64px}.purchase-cart-line__price{color:var(--accent-primary);flex:1;font-weight:600}.purchase-cart-panel__bulk{border-top:1px solid var(--border-color);flex-direction:column;gap:10px;padding:12px 0;display:flex}.purchase-cart-panel__total{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:12px 0;display:flex}.purchase-cart-panel__actions{justify-content:flex-end;gap:12px;margin-top:8px;display:flex}@media (max-width:768px){.purchase-cart-panel{width:auto;max-width:none;max-height:calc(100dvh - var(--bottom-nav-height) - 96px);inset-block-start:auto;inset-block-end:calc(var(--bottom-nav-height) + 12px + env(safe-area-inset-bottom));inset-inline:8px}}
.kiosk{text-align:center;background:var(--bg-primary);min-height:100vh;color:var(--text-primary);flex-direction:column;justify-content:center;align-items:center;gap:24px;padding:24px 16px;display:flex}.kiosk__gym{margin:0;font-size:clamp(1.6rem,4vw,2.6rem)}.kiosk__form{flex-direction:column;gap:16px;width:min(480px,100%);display:flex}.kiosk__prompt{font-size:1.3rem}.kiosk__input{border:2px solid var(--border-color);background:var(--bg-secondary,transparent);color:inherit;text-align:center;border-radius:12px;padding:16px;font-size:1.8rem}.kiosk__button{padding:16px;font-size:1.3rem}.kiosk__video{border-radius:12px;width:100%}.kiosk__result{border-radius:20px;width:min(560px,100%);padding:40px 24px;font-size:1.3rem}.kiosk__result--ok{background:var(--color-success);color:var(--on-status)}.kiosk__result--no{background:var(--color-error);color:var(--on-status)}.kiosk__icon{font-size:4rem;line-height:1}.kiosk__headline{margin:12px 0;font-size:2rem;font-weight:700}.kiosk__error{color:var(--color-error)}.join-page{justify-content:center;padding:24px 16px;display:flex}.join-page__card{width:min(560px,100%);padding:24px}.join-page__form{flex-direction:column;gap:8px;display:flex}.join-page__intro{color:var(--text-secondary);white-space:pre-wrap}.join-page__done{font-size:1.2rem}.join-page__trap{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.member-portal__badge{background:var(--color-info,#3b82f6);color:var(--on-status);vertical-align:middle;border-radius:999px;margin-inline-start:8px;padding:2px 8px;font-size:.75rem}.member-portal__message{border-bottom:1px solid var(--border-color);padding:12px 0}.rate-class{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.rate-class__star{cursor:pointer;color:var(--text-secondary);background:0 0;border:0;min-width:44px;min-height:44px;font-size:1.5rem}.rate-class__star--on{color:var(--color-warning,#f59e0b)}
.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}:where(a,button,input,select,textarea,summary,[tabindex],[role=tab],[role=option],[role=menuitem]):focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}:where(input[type=checkbox]){appearance:none;border:1.5px solid var(--text-secondary);background:var(--bg-secondary);cursor:pointer;vertical-align:middle;border-radius:5px;flex-shrink:0;place-content:center;block-size:18px;inline-size:18px;margin:0;transition:background-color .15s,border-color .15s;display:inline-grid}:where(input[type=checkbox]):before{content:"";clip-path:polygon(14% 44%,0 65%,40% 100%,100% 23%,84% 8%,38% 68%);background:#fff;block-size:10px;inline-size:10px;transition:transform .12s ease-out;transform:scale(0)}:where(input[type=checkbox]):hover:not(:disabled){border-color:var(--text-primary)}:where(input[type=checkbox]):checked{background:var(--accent-solid);border-color:var(--accent-solid)}:where(input[type=checkbox]):checked:before{transform:scale(1)}:where(input[type=checkbox]):checked:hover:not(:disabled){background:var(--accent-solid-hover);border-color:var(--accent-solid-hover)}:where(input[type=checkbox]):disabled{opacity:.45;cursor:not-allowed}@media (forced-colors:active){:where(input[type=checkbox]){border-color:canvastext}:where(input[type=checkbox]):checked{background:highlight;border-color:highlight}:where(input[type=checkbox]):before{background:highlighttext}}@media (prefers-reduced-motion:reduce){:where(input[type=checkbox]),:where(input[type=checkbox]):before{transition:none}}.skip-link{z-index:var(--z-toast);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--accent-solid);color:#fff;transition:transform var(--motion-fast) var(--ease-standard);font-weight:600;position:fixed;inset-block-start:var(--space-3);inset-inline-start:var(--space-3);transform:translateY(-200%)}.skip-link:focus,.skip-link:focus-visible{transform:none}.main-content:focus{outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}[dir=rtl] .icon-mirror{transform:scaleX(-1)}.kbd{border:1px solid var(--border-color);background:var(--bg-tertiary);min-width:22px;height:22px;color:var(--text-secondary);font-family:var(--font-geist-mono), ui-monospace, monospace;font-size:var(--text-xs);white-space:nowrap;border-bottom-width:2px;border-radius:6px;align-items:center;padding:0 6px;font-weight:600;line-height:1;display:inline-flex}.ltr-value{direction:ltr;unicode-bidi:isolate}[dir=rtl] .ltr-value:not(input):not(textarea){text-align:right}.icon-btn{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-tertiary);width:40px;height:40px;color:var(--text-primary);cursor:pointer;transition:background var(--motion-fast) var(--ease-standard);flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:hover{background:var(--hover-bg-strong)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.btn-sm{font-size:var(--text-sm);border-radius:var(--radius-sm);min-height:36px;padding:6px 12px}.btn-ghost{color:var(--text-primary);background:0 0;border:1px solid #0000}.btn-ghost:hover{background:var(--hover-bg)}.btn-danger{color:var(--color-error);border:1px solid rgba(var(--color-error-rgb), .45);background:0 0}.btn-danger:hover{background:rgba(var(--color-error-rgb), .1)}.btn-danger-solid{background:var(--color-error);color:var(--on-status);border:1px solid var(--color-error)}.btn-danger-solid:hover{filter:brightness(.92)}.btn-success{background:rgba(var(--color-success-rgb), .12);color:var(--color-success);border:1px solid rgba(var(--color-success-rgb), .4)}.btn-success:hover{background:rgba(var(--color-success-rgb), .2)}.btn .spinner,.spinner{border:2px solid;width:16px;height:16px;border-inline-end-color:#0000;border-radius:50%;margin-inline-end:var(--space-2);animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app-navbar__prefs{align-items:center;gap:var(--space-3);display:flex}.navbar-action{align-items:center;gap:var(--space-2);height:40px;padding:0 var(--space-3);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-tertiary);color:var(--text-primary);font-family:Outfit,sans-serif;font-weight:600;font-size:var(--text-sm);cursor:pointer;white-space:nowrap;transition:background var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard);display:inline-flex;position:relative}.navbar-action:hover{background:var(--hover-bg-strong)}.navbar-action--search{color:var(--text-secondary);min-width:180px}.navbar-action--search .navbar-action__kbd{margin-inline-start:auto}.navbar-action--icon{justify-content:center;width:40px;padding:0}.navbar-action--cart{border-color:rgba(var(--color-error-rgb), .35)}.navbar-action--pressed{background:var(--accent-solid);border-color:var(--accent-solid);color:#fff}.navbar-action__badge{border-radius:var(--radius-pill);background:var(--accent-solid);color:#fff;min-width:20px;height:20px;font-size:var(--text-xs);justify-content:center;align-items:center;padding:0 6px;display:inline-flex}.navbar-action--pressed .navbar-action__badge{background:#ffffff40}.navbar-action--active{background:var(--hover-bg-strong);border-color:var(--text-secondary)}.navbar-action--cart .navbar-action__badge{position:absolute;inset-block-start:-6px;inset-inline-end:-6px}.navbar-action[data-tooltip]:hover:after,.navbar-action[data-tooltip]:focus-visible:after{left:50%;right:auto;inset-block-start:calc(100% + 8px);transform:translate(-50%)}.navbar-settings{position:relative}.navbar-settings__panel{z-index:var(--z-dropdown);gap:var(--space-1);inline-size:min(320px,100vw - 32px);padding:var(--space-2);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);box-shadow:var(--elevation-3);flex-direction:column;display:flex;position:absolute;inset-block-start:calc(100% + 8px);inset-inline-end:0}.navbar-settings__row{justify-content:space-between;align-items:center;gap:var(--space-3);min-block-size:44px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-sm);font-weight:500;display:flex}.navbar-settings__row--check,.navbar-settings__link{cursor:pointer}.navbar-settings__link{text-align:start;background:0 0;border:0;inline-size:100%;font-family:inherit}.navbar-settings__row--check:hover,.navbar-settings__link:hover{background:var(--hover-bg-strong)}.navbar-settings__link svg{color:var(--text-secondary)}.navbar-settings__footer{padding:var(--space-2) var(--space-2) var(--space-1);border-block-start:1px solid var(--border-color);justify-content:flex-end;display:flex}.theme-toggle--on{color:var(--color-info);border-color:rgba(var(--color-info-rgb), .5)}@media (max-width:1280px){.navbar-action--search{min-width:0}.navbar-action--search .navbar-action__kbd,.navbar-action--search .navbar-action__label{display:none}.navbar-action--search{justify-content:center;width:40px;padding:0}}@media (max-width:768px){.app-navbar--compact-phone .app-navbar__prefs{display:none}.navbar-action{height:44px}.navbar-action--search,.navbar-action--cart{width:44px}}.bottom-nav{display:none}@media (max-width:768px){.bottom-nav{z-index:var(--z-bottom-nav);gap:var(--space-1);padding:var(--space-1) var(--space-2);padding-bottom:max(var(--space-1), env(safe-area-inset-bottom));background:var(--bg-secondary);border-block-start:1px solid var(--border-color);box-shadow:0 -8px 24px var(--shadow-dropdown);grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;inset-block-end:0;inset-inline:0}.bottom-nav__item{min-width:0;min-height:56px;padding:var(--space-1) 2px;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-family:inherit;font-size:.7rem;font-weight:600;display:flex;position:relative}.bottom-nav__label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.bottom-nav__item--active{color:var(--accent-primary);background:rgba(var(--color-error-rgb), .1)}[data-color-blind=true] .bottom-nav__item--active{background:rgba(var(--color-success-rgb), .12)}.bottom-nav__dot{background:var(--accent-primary);border-radius:50%;width:6px;height:6px;position:absolute;inset-block-start:8px;inset-inline-end:calc(50% - 16px)}}.sheet-overlay{z-index:var(--z-drawer);background:var(--overlay-blur-bg);animation:fade-in var(--motion-base) var(--ease-standard);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:640px;max-height:88dvh;box-shadow:var(--elevation-3);padding-bottom:env(safe-area-inset-bottom);animation:sheet-up var(--motion-slow) var(--ease-out);flex-direction:column;display:flex}.sheet__handle{width:40px;height:4px;margin:var(--space-2) auto 0;border-radius:var(--radius-pill);background:var(--border-color)}.sheet__header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-block-end:1px solid var(--border-color);display:flex}.sheet__title{font-size:var(--text-lg)}.sheet__body{padding:var(--space-3) var(--space-4) var(--space-5);gap:var(--space-4);flex-direction:column;display:flex;overflow-y:auto}.sheet__footer{gap:var(--space-3);padding:var(--space-3) var(--space-4);border-block-start:1px solid var(--border-color);background:var(--bg-secondary);display:flex;position:sticky;inset-block-end:0}.sheet__footer .btn{flex:1}.more-sheet__group-label,.sidebar__group-label{margin:0 0 var(--space-2);color:var(--text-secondary);font-family:inherit;font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:600}[dir=rtl] .more-sheet__group-label,[dir=rtl] .sidebar__group-label{letter-spacing:0}.more-sheet__grid{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(96px,1fr));display:grid}.more-sheet__item{justify-content:center;align-items:center;gap:var(--space-1);min-height:76px;padding:var(--space-2);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-tertiary);color:var(--text-primary);font-family:inherit;font-size:var(--text-sm);text-align:center;cursor:pointer;flex-direction:column;font-weight:500;display:flex}.more-sheet__item--active{border-color:var(--accent-primary);color:var(--accent-primary)}.more-sheet__prefs{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}@keyframes sheet-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.toast-stack{z-index:var(--z-toast);align-items:flex-end;gap:var(--space-2);width:min(420px, calc(100vw - 2 * var(--space-4)));pointer-events:none;flex-direction:column;display:flex;position:fixed;inset-block-end:var(--space-5);inset-inline-end:var(--space-5)}.app-toast{pointer-events:auto;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);border:1px solid var(--border-color);border-inline-start:4px solid var(--toast-color,var(--color-info));border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);box-shadow:var(--elevation-2);animation:toast-in var(--motion-base) var(--ease-out);font-weight:500;display:flex}[dir=rtl] .app-toast{padding:var(--space-3) var(--space-4) var(--space-3) var(--space-3)}.app-toast--success{--toast-color:var(--color-success)}.app-toast--error{--toast-color:var(--color-error)}.app-toast--warning{--toast-color:var(--color-warning)}.app-toast--info{--toast-color:var(--color-info)}.app-toast__icon{color:var(--toast-color);flex-shrink:0}.app-toast__message{overflow-wrap:anywhere;flex:1;min-width:0}.app-toast__action{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-tertiary);min-height:32px;color:var(--text-primary);cursor:pointer;flex-shrink:0;padding:4px 10px;font-family:inherit;font-weight:600}.app-toast__close{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.app-toast__close:hover{background:var(--hover-bg-strong);color:var(--text-primary)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (max-width:768px){.toast-stack{inset-inline:var(--space-3);align-items:stretch;width:auto;inset-block-end:calc(var(--bottom-nav-height) + var(--space-3) + env(safe-area-inset-bottom))}}.overflow-menu{display:inline-flex;position:relative}.overflow-menu__list{z-index:var(--z-dropdown);min-width:200px;padding:var(--space-1);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);box-shadow:var(--elevation-2);animation:fade-in var(--motion-fast) var(--ease-standard);flex-direction:column;display:flex;position:absolute;inset-block-start:calc(100% + 4px);inset-inline-end:0}.overflow-menu__list--up{inset-block:auto calc(100% + 4px)}.overflow-menu__item{align-items:center;gap:var(--space-2);min-height:40px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:var(--text-sm);text-align:start;cursor:pointer;background:0 0;border:none;display:flex}.overflow-menu__item:hover,.overflow-menu__item:focus-visible{background:var(--hover-bg-strong)}.overflow-menu__item--danger{color:var(--color-error);border-block-start:1px solid var(--border-color);border-radius:0 0 var(--radius-sm) var(--radius-sm);margin-block-start:var(--space-1)}.palette-overlay{z-index:var(--z-palette);padding:12vh var(--space-4) var(--space-4);background:var(--overlay-blur-bg);animation:fade-in var(--motion-fast) var(--ease-standard);justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0}.palette{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-secondary);width:100%;max-width:640px;max-height:70vh;box-shadow:var(--elevation-3);flex-direction:column;display:flex;overflow:hidden}.palette__search{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-block-end:1px solid var(--border-color);color:var(--text-secondary);display:flex}.palette__input{min-width:0;height:44px;color:var(--text-primary);font:inherit;font-size:var(--text-md);background:0 0;border:none;flex:1}.palette__input:focus,.palette__input:focus-visible{outline:none}.palette__results{padding:var(--space-2);overflow-y:auto}.palette__heading{margin:var(--space-2) var(--space-2) var(--space-1);color:var(--text-secondary);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.palette__item{align-items:center;gap:var(--space-3);min-height:44px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;display:flex}.palette__item--active{background:var(--hover-bg-strong)}.palette__label{white-space:nowrap;font-weight:500}.palette__hint{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-secondary);font-size:var(--text-sm);overflow:hidden}.palette__enter{color:var(--text-secondary);flex-shrink:0;margin-inline-start:auto}.palette__empty{padding:var(--space-5) var(--space-3);color:var(--text-secondary);text-align:center}.palette__footer{padding:var(--space-2) var(--space-4);border-block-start:1px solid var(--border-color);color:var(--text-secondary);font-size:var(--text-xs)}@media (max-width:768px){.palette-overlay{padding:var(--space-3)}.palette{max-height:calc(100dvh - 24px)}.palette__footer{display:none}}.shortcut-list{gap:var(--space-2);flex-direction:column;margin:0;display:flex}.shortcut-list__row{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-2) 0;border-block-end:1px solid var(--border-color);display:flex}.shortcut-list__row dd{gap:var(--space-1);margin:0;display:flex}.shortcut-list__note{color:var(--text-secondary);font-size:var(--text-sm);margin-block-start:var(--space-4)}.status-pill{border-radius:var(--radius-pill);border:1px solid rgba(var(--pill-rgb), .35);background:rgba(var(--pill-rgb), .12);color:var(--pill-color);font-size:var(--text-sm);white-space:nowrap;align-items:center;gap:6px;padding:3px 10px;font-weight:600;line-height:1.4;display:inline-flex}.status-pill--active{--pill-rgb:var(--color-success-rgb);--pill-color:var(--status-active)}.status-pill--expiring{--pill-rgb:var(--color-warning-rgb);--pill-color:var(--status-expiring)}.status-pill--expired{--pill-rgb:var(--color-error-rgb);--pill-color:var(--status-expired)}.status-pill--frozen{--pill-rgb:var(--color-info-rgb);--pill-color:var(--status-frozen)}.status-pill--suspended{--pill-rgb:142, 142, 147;--pill-color:var(--status-suspended)}.empty-state{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);text-align:center;color:var(--text-secondary);flex-direction:column;display:flex}.empty-state--compact{padding:var(--space-5) var(--space-3)}.empty-state__icon{background:var(--bg-tertiary);border:1px solid var(--border-color);width:56px;height:56px;color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.empty-state--compact .empty-state__icon{width:44px;height:44px}.empty-state__title{color:var(--text-primary);margin:0;font-weight:600}.empty-state__text{max-width:44ch;font-size:var(--text-sm);margin:0}.empty-state__action{gap:var(--space-2);flex-wrap:wrap;justify-content:center;margin-block-start:var(--space-2);display:flex}.skeleton{gap:var(--space-4);padding:var(--space-2) 0;flex-direction:column;display:flex}.skeleton__cards{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.skeleton__lines{gap:var(--space-3);padding:var(--space-5);border:1px solid var(--glass-border);border-radius:var(--radius-lg);flex-direction:column;display:flex}.skeleton__block{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--bg-tertiary) 0%, var(--hover-bg-strong) 50%, var(--bg-tertiary) 100%);background-size:200% 100%;animation:1.4s ease-in-out infinite shimmer}.skeleton__card{border-radius:var(--radius-lg);height:112px}.skeleton__heading{width:40%;height:20px}.skeleton__line{height:14px}.skeleton__line:nth-child(odd){width:85%}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.page-loading{padding:var(--space-7);width:100%;max-width:1200px;margin:0 auto}.page-loading__text{color:var(--text-secondary);margin-block-end:var(--space-4)}.page-narrow{padding:var(--space-7) var(--space-5);max-width:560px;margin:0 auto}.page-narrow__text{color:var(--text-secondary);text-align:center;margin-block-start:var(--space-4)}.blocked-notice{min-height:100dvh;padding:var(--space-5);justify-content:center;align-items:center;display:flex}.blocked-notice__card{max-width:480px;padding:var(--space-6);align-items:center;gap:var(--space-4);text-align:center;flex-direction:column;display:flex}.blocked-notice__icon{background:rgba(var(--color-error-rgb), .12);width:56px;height:56px;color:var(--color-error);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.blocked-notice__title{font-size:var(--text-xl)}.blocked-notice__text{color:var(--text-secondary)}.popup-menu-btn{z-index:10;position:absolute;inset-block-start:var(--space-4);inset-inline-start:var(--space-4)}[data-tooltip]{position:relative}[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after{content:attr(data-tooltip);z-index:var(--z-dropdown);border-radius:var(--radius-sm);background:var(--text-primary);color:var(--bg-primary);font-size:var(--text-sm);white-space:nowrap;pointer-events:none;box-shadow:var(--elevation-1);padding:6px 10px;font-weight:500;position:absolute;inset-block-start:50%;inset-inline-start:calc(100% + 10px);transform:translateY(-50%)}.filter-chips{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.filter-chip{border:1px solid var(--border-color);border-radius:var(--radius-pill);background:var(--bg-tertiary);min-height:32px;color:var(--text-primary);font-family:inherit;font-size:var(--text-sm);cursor:pointer;align-items:center;gap:6px;padding:4px 6px 4px 12px;display:inline-flex}[dir=rtl] .filter-chip{padding:4px 12px 4px 6px}.filter-chip svg{color:var(--text-secondary)}.filter-chip:hover{background:var(--hover-bg-strong)}.count-badge{border-radius:var(--radius-pill);background:var(--accent-solid);color:#fff;min-width:20px;height:20px;font-size:var(--text-xs);justify-content:center;align-items:center;margin-inline-start:var(--space-2);padding:0 6px;display:inline-flex}@media print{.sidebar,.bottom-nav,.app-navbar,.toast-stack,.skip-link,.purchase-cart-panel{display:none!important}}.section-title{margin:0 0 var(--space-1);font-size:var(--text-lg)}.section-subtitle{margin:0 0 var(--space-5);color:var(--text-secondary);font-size:var(--text-sm)}.overview{gap:var(--space-5);display:grid}.stat-card{align-items:flex-start;gap:var(--space-1);padding:var(--space-5);text-align:start;width:100%;min-height:120px;color:var(--text-primary);font:inherit;flex-direction:column;display:flex}.stat-card--action{cursor:pointer;transition:transform var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard)}.stat-card--action:hover{border-color:var(--border-color);background:var(--hover-bg-strong);transform:translateY(-2px)}.stat-card__label{color:var(--text-secondary);font-size:var(--text-sm)}.stat-card__value{font-family:Outfit,sans-serif;font-size:2.4rem;font-weight:600;line-height:1.1}.stat-card__link{color:var(--text-secondary);font-size:var(--text-xs);align-items:center;gap:2px;margin-block-start:auto;font-weight:600;display:inline-flex}.stat-card--success{background:linear-gradient(135deg, rgba(var(--color-success-rgb), .1), rgba(var(--color-success-rgb), .05));border-color:rgba(var(--color-success-rgb), .25)}.stat-card--success .stat-card__label,.stat-card--success .stat-card__value{color:var(--color-success)}.weekly-chart{padding:var(--space-5) var(--space-5) var(--space-4);overflow-x:auto}.weekly-chart__bars{gap:var(--space-5);grid-template-columns:repeat(6,1fr);align-items:end;min-width:520px;height:260px;display:grid}.weekly-chart__day{grid-template-rows:1fr auto;align-items:end;gap:10px;height:100%;display:grid}.weekly-chart__col{justify-content:flex-end;align-items:center;gap:var(--space-2);flex-direction:column;height:100%;display:flex}.weekly-chart__bar{background:var(--bg-tertiary);width:min(64px,75%);transition:height var(--motion-slow) var(--ease-standard);border-radius:10px 10px 4px 4px}.weekly-chart__bar--on{background:linear-gradient(180deg, var(--accent-primary), rgba(var(--color-error-rgb), .55))}.weekly-chart__label{color:var(--text-secondary);text-align:center;font-size:var(--text-sm)}.today-panel{padding:var(--space-5)}.today-panel__grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));margin-block-start:var(--space-3);display:grid}.today-card{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-tertiary);flex-direction:column;min-width:0;display:flex}.today-card__title{align-items:center;gap:var(--space-2);font-family:inherit;font-size:var(--text-sm);color:var(--text-primary);margin:0;font-weight:600;display:flex}.today-card__title svg{color:var(--text-secondary)}.today-card__empty{color:var(--text-secondary);font-size:var(--text-sm);margin:0}.today-card__more{align-self:flex-start;margin-block-start:auto}.today-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.today-list__item{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-block-end:1px solid var(--row-border);display:flex}.today-list__item:last-child{border-block-end:none}.today-list__text{flex-direction:column;gap:2px;min-width:0;display:flex}.today-list__name{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.today-list__meta{align-items:center;gap:var(--space-1);color:var(--text-secondary);font-size:var(--text-xs);flex-wrap:wrap;display:flex}.today-list__meta .status-pill{font-size:var(--text-xs);padding:1px 8px}.today-list__money{color:var(--color-warning);font-weight:600}.scan-result{font-weight:600}.scan-result--ok{color:var(--color-success)}.scan-result--no{color:var(--color-error)}@media (max-width:768px){.stat-card{min-height:0;padding:var(--space-4)}.stat-card__value{font-size:1.65rem}.today-panel,.weekly-chart{padding:var(--space-4)}}.navbar-action__kbd:before{content:attr(data-keys)}

