.pwa-install-banner[data-v-2f6bbea1],.pwa-update-banner[data-v-2f6bbea1]{position:fixed;bottom:20px;left:20px;right:20px;z-index:1000;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000001f;border:1px solid #e5e7eb;animation:slideUp-2f6bbea1 .3s ease-out}@keyframes slideUp-2f6bbea1{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.pwa-install-content[data-v-2f6bbea1],.pwa-update-content[data-v-2f6bbea1]{display:flex;align-items:center;padding:16px;gap:12px}.pwa-install-icon[data-v-2f6bbea1]{flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#4f46e5}.pwa-install-text[data-v-2f6bbea1],.pwa-update-text[data-v-2f6bbea1]{flex:1;min-width:0}.pwa-install-text h3[data-v-2f6bbea1],.pwa-update-text h3[data-v-2f6bbea1]{margin:0 0 4px;font-size:16px;font-weight:600;color:#1f2937}.pwa-install-text p[data-v-2f6bbea1],.pwa-update-text p[data-v-2f6bbea1]{margin:0;font-size:14px;color:#6b7280}.pwa-install-actions[data-v-2f6bbea1],.pwa-update-actions[data-v-2f6bbea1]{display:flex;gap:8px;flex-shrink:0}.install-btn[data-v-2f6bbea1],.update-btn[data-v-2f6bbea1]{background:var(--fl-chart-1);color:#fff;border:none;padding:8px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.install-btn[data-v-2f6bbea1]:hover,.update-btn[data-v-2f6bbea1]:hover{background:#5a67d8}.dismiss-btn[data-v-2f6bbea1]{background:transparent;color:#6b7280;border:none;padding:8px;border-radius:6px;font-size:18px;cursor:pointer;transition:background-color .2s;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.dismiss-btn[data-v-2f6bbea1]:hover{background:#f3f4f6}.pwa-update-banner[data-v-2f6bbea1]{background:var(--fl-gradient-hero);color:#fff}.pwa-update-banner .pwa-update-text h3[data-v-2f6bbea1],.pwa-update-banner .pwa-update-text p[data-v-2f6bbea1]{color:#fff}.pwa-update-banner .update-btn[data-v-2f6bbea1]{background:#fff;color:var(--fl-chart-1)}.pwa-update-banner .update-btn[data-v-2f6bbea1]:hover{background:#f9fafb}.pwa-update-banner .dismiss-btn[data-v-2f6bbea1]{color:#fffc}.pwa-update-banner .dismiss-btn[data-v-2f6bbea1]:hover{background:#ffffff1a}@media (max-width: 640px){.pwa-install-banner[data-v-2f6bbea1],.pwa-update-banner[data-v-2f6bbea1]{left:10px;right:10px;bottom:10px}.pwa-install-content[data-v-2f6bbea1],.pwa-update-content[data-v-2f6bbea1]{padding:12px}}.mobile-bottom-nav[data-v-8149a2fe]{position:fixed;bottom:0;left:0;right:0;background:#ffffffe0;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(228,228,231,.8);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;justify-content:center;min-height:72px;padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px));z-index:100;box-shadow:0 -12px 34px #0f172a14}.mobile-nav-item[data-v-8149a2fe]{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:5px;min-height:56px;padding:6px 2px;text-decoration:none;color:#71717a;transition:color .2s ease-in-out,opacity .2s ease-in-out;border-radius:14px;min-width:0;width:100%;border:none;background:transparent;font:inherit;cursor:pointer;box-sizing:border-box}.salad-nav-icon[data-v-8149a2fe]{color:inherit}.mobile-nav-item[data-v-8149a2fe]:not(.mobile-nav-item--disabled):hover{color:var(--fl-brand-dark)}.mobile-nav-item.active[data-v-8149a2fe]{color:var(--fl-brand-dark)}.mobile-nav-item.active .mobile-nav-label[data-v-8149a2fe]{font-weight:700}.mobile-nav-item.active .mobile-nav-icon[data-v-8149a2fe]{stroke-width:2.4}.home-nav-item[data-v-8149a2fe]{position:relative;align-self:start;margin-top:-24px;color:#fff;background:transparent!important}.home-nav-button[data-v-8149a2fe]{display:inline-flex;align-items:center;justify-content:center;width:62px;height:62px;border-radius:999px;background:var(--fl-hero-glass-with-warm);color:#fff;box-shadow:0 16px 34px color-mix(in srgb,var(--fl-brand-2) 28%,transparent),0 8px 18px color-mix(in srgb,var(--fl-brand) 18%,transparent),inset 0 0 0 1px #ffffff47}.home-nav-item.active .home-nav-button[data-v-8149a2fe]{transform:translateY(-2px)}.home-nav-item .mobile-nav-label[data-v-8149a2fe]{color:var(--fl-brand-dark);font-weight:800;margin-top:-1px}.mobile-nav-icon[data-v-8149a2fe]{stroke-width:2;flex-shrink:0}.mobile-nav-label[data-v-8149a2fe]{display:block;font-size:.7rem;font-weight:600;text-align:center;line-height:1.05;letter-spacing:-.005em}.mobile-nav-item--disabled[data-v-8149a2fe]{opacity:.42;cursor:not-allowed;color:#a1a1aa}@media (max-width: 480px){.mobile-nav-label[data-v-8149a2fe]{font-size:.66rem}.home-nav-button[data-v-8149a2fe]{width:58px;height:58px}}.mobile-bottom-nav[data-v-c70b09d6]{position:fixed;bottom:0;left:0;right:0;background:#ffffffe0;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(228,228,231,.8);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;justify-content:center;min-height:72px;padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px));z-index:100;box-shadow:0 -12px 34px #0f172a14}.mobile-nav-item[data-v-c70b09d6]{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;min-height:54px;padding:6px 2px;text-decoration:none;color:#71717a;transition:all .2s ease-in-out;border-radius:16px;min-width:0;width:100%}.mobile-nav-item[data-v-c70b09d6]:hover{color:var(--fl-brand-dark);background:#fdf2f8b3}.mobile-nav-item.active[data-v-c70b09d6]{color:var(--fl-brand-dark);background:#fdf2f8d1}.home-nav-item[data-v-c70b09d6]{position:relative;align-self:start;margin-top:-24px;color:#fff;background:transparent!important}.home-nav-button[data-v-c70b09d6]{display:inline-flex;align-items:center;justify-content:center;width:62px;height:62px;border-radius:999px;background:var(--fl-hero-glass-with-warm);color:#fff;box-shadow:0 16px 34px color-mix(in srgb,var(--fl-brand-2) 28%,transparent),0 8px 18px color-mix(in srgb,var(--fl-brand) 18%,transparent),inset 0 0 0 1px #ffffff47}.home-nav-item.active .home-nav-button[data-v-c70b09d6]{transform:translateY(-2px);box-shadow:0 18px 38px color-mix(in srgb,var(--fl-brand-2) 34%,transparent),0 10px 22px color-mix(in srgb,var(--fl-brand) 22%,transparent),inset 0 0 0 1px #ffffff57}.home-nav-item .mobile-nav-label[data-v-c70b09d6]{color:var(--fl-brand-dark);font-weight:800;margin-top:-1px}.mobile-nav-icon[data-v-c70b09d6]{stroke-width:2}.mobile-nav-label[data-v-c70b09d6]{font-size:.64rem;font-weight:700;text-align:center;line-height:1}@media (max-width: 480px){.mobile-nav-label[data-v-c70b09d6]{font-size:.58rem}.mobile-nav-item[data-v-c70b09d6]{padding:var(--spacing-xs, 4px) 2px}.home-nav-button[data-v-c70b09d6]{width:58px;height:58px}}.design-feedback-overlay[data-v-46b36fc1]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1300;display:flex;align-items:flex-end;justify-content:center;padding:0;background:#09090b73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@media (min-width: 560px){.design-feedback-overlay[data-v-46b36fc1]{align-items:center;padding:20px}}.design-feedback-modal[data-v-46b36fc1]{width:100%;max-width:440px;max-height:min(92vh,640px);overflow-y:auto;padding:22px 20px 24px;border-radius:20px 20px 0 0;background:#fff;box-shadow:0 24px 48px #18181b2e}@media (min-width: 560px){.design-feedback-modal[data-v-46b36fc1]{border-radius:20px}}.design-feedback-header h2[data-v-46b36fc1]{margin:0 0 8px;font-size:clamp(20px,5.5vw,24px);font-weight:800;letter-spacing:-.04em;color:#09090b;line-height:1.15}.design-feedback-subtitle[data-v-46b36fc1]{margin:0 0 20px;font-size:14px;line-height:1.45;color:#71717a}.design-feedback-form[data-v-46b36fc1]{display:flex;flex-direction:column;gap:18px}.design-feedback-field label[data-v-46b36fc1]{font-size:14px;font-weight:600;color:#27272a}.design-feedback-label-row[data-v-46b36fc1]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.design-feedback-value[data-v-46b36fc1]{font-size:14px;font-weight:800;color:var(--fl-brand-dark, #831843);letter-spacing:-.02em}.design-feedback-range[data-v-46b36fc1]{width:100%;height:28px;margin:0;accent-color:var(--fl-brand, #ec4899);cursor:pointer}.design-feedback-range[data-v-46b36fc1]:disabled{opacity:.6;cursor:not-allowed}.design-feedback-scale[data-v-46b36fc1]{display:flex;justify-content:space-between;margin-top:4px;font-size:11px;color:#a1a1aa}.design-feedback-field textarea[data-v-46b36fc1]{width:100%;margin-top:8px;padding:12px;border:1px solid #e4e4e7;border-radius:12px;font:inherit;font-size:15px;resize:vertical;min-height:96px;box-sizing:border-box;outline:none}.design-feedback-field textarea[data-v-46b36fc1]:focus{border-color:color-mix(in srgb,var(--fl-brand) 50%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--fl-brand) 18%,transparent)}.design-feedback-error[data-v-46b36fc1]{font-size:13px;color:#dc2626;text-align:center}.design-feedback-actions[data-v-46b36fc1]{display:flex;flex-direction:column;gap:10px;margin-top:4px}.design-feedback-btn[data-v-46b36fc1]{width:100%;min-height:48px;border-radius:12px;font-size:15px;font-weight:600;border:none;cursor:pointer}.design-feedback-btn[data-v-46b36fc1]:disabled{opacity:.65;cursor:not-allowed}.design-feedback-btn--muted[data-v-46b36fc1]{background:#f4f4f5;color:#3f3f46;border:1px solid #e4e4e7}.design-feedback-btn--postpone[data-v-46b36fc1]{white-space:normal;line-height:1.35;padding:12px 14px;min-height:48px}.design-feedback-btn--primary[data-v-46b36fc1]{background:var(--fl-gradient-violet-pair, linear-gradient(135deg, #ec4899, #a855f7));color:#fff}.mobile-app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;overflow-x:clip}.design-mode-toggle{position:fixed;top:calc(env(safe-area-inset-top,0px) + 12px);right:12px;z-index:1300;min-height:40px;max-width:calc(100vw - 24px);padding:0 14px;border:1px solid color-mix(in srgb,var(--fl-brand-2) 22%,transparent);border-radius:999px;background:#ffffffeb;color:#09090b;box-shadow:0 12px 28px #0f172a1f;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);font:700 12px/1 Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:-.01em;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.design-mode-toggle:hover{border-color:color-mix(in srgb,var(--fl-brand-2) 42%,transparent);box-shadow:0 16px 34px color-mix(in srgb,var(--fl-brand-2) 18%,transparent);transform:translateY(-1px)}.design-mode-toggle:focus-visible{outline:3px solid color-mix(in srgb,var(--fl-brand-2) 28%,transparent);outline-offset:3px}.mobile-app[data-design=legacy] .design-mode-toggle{border-color:color-mix(in srgb,var(--fl-brand) 26%,transparent)}@media (max-width: 480px){.design-mode-toggle{top:calc(env(safe-area-inset-top,0px) + 8px);right:8px;min-height:36px;padding:0 12px;font-size:11px}}.mobile-app[data-design=v2] :is(button,a,[role=button],summary,[tabindex]):focus-visible{outline:2px solid color-mix(in srgb,var(--fl-brand) 70%,transparent);outline-offset:2px;border-radius:10px}.mobile-app[data-design=v2] :is(input,textarea,select):focus-visible{outline:2px solid color-mix(in srgb,var(--fl-brand) 70%,transparent);outline-offset:0}.mobile-app[data-design=v2] .search-input:focus-visible,.mobile-app[data-design=v2] .search-settings-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--fl-brand) 70%,transparent);outline-offset:2px}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2){--app-brand: var(--fl-brand);--app-brand-strong: var(--fl-brand-dark);--app-purple: var(--fl-brand-2);--app-ink: #09090b;--app-muted: #71717a;--app-subtle: #a1a1aa;--app-line: #e4e4e7;--app-soft: #fafafa;--app-panel: #ffffff;--app-success: #10b981;--app-warning: #f59e0b;--app-danger: #ef4444;--app-shadow-surface: 0 1px 0 rgba(24, 24, 27, .06);--app-select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");color:var(--app-ink);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-feature-settings:normal;letter-spacing:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.mobile-app[data-design=v2] .client-page-v2{min-height:100dvh;padding:14px 12px 108px;background:#f4f4f5;overflow-x:clip}.mobile-app[data-design=v2] .dashboard-container.client-page-v2{height:auto;overflow-y:visible;flex:none}.mobile-app[data-design=v2] .admin-shell-v2{--admin-shell-inline-pad: 12px;box-sizing:border-box;width:100%;max-width:100%;margin-top:0;padding:0 var(--admin-shell-inline-pad) 8px;background:transparent;overflow-x:clip}.mobile-app[data-design=v2] .mobile-main.admin-v2{padding-top:0;margin-top:0;background:linear-gradient(180deg,#fff7fb,#faf5ff 28%,#f4f4f5 72%,#f4f4f5)}.mobile-app[data-design=v2] .admin-shell-v2 .dashboard-container,.mobile-app[data-design=v2] .admin-shell-v2 .activity-log,.mobile-app[data-design=v2] .admin-shell-v2 .group-calendar{background:transparent;padding-top:0;margin-top:0;min-height:0;height:auto;overflow-x:visible}.mobile-app[data-design=v2] .admin-shell-v2 .dashboard-container{width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;padding-left:0!important;padding-right:0!important;overflow:visible!important}.mobile-app[data-design=v2] .admin-shell-v2 .group-calendar.group-calendar-legacy{min-height:0;max-width:none;padding:0}.mobile-app[data-design=v2] .admin-shell-v2 .group-calendar.group-calendar-legacy .calendar-header{margin-bottom:12px;padding:10px 12px;background:#fafafa;border:1px solid var(--app-line);border-radius:14px;box-shadow:none}.mobile-app[data-design=v2] .admin-shell-v2 .group-calendar.group-calendar-legacy .month-title{min-width:0;font-size:1.125rem;text-align:center;line-height:1.2;color:var(--app-ink)}.mobile-app[data-design=v2] .admin-shell-v2 .group-calendar.group-calendar-legacy .nav-button{background:#fff!important;color:var(--app-ink)!important;border:1px solid var(--app-line);box-shadow:var(--app-shadow-surface)}.mobile-app[data-design=v2] .admin-shell-v2 .activity-log{padding:0;max-width:100%;margin:0;display:flex;flex-direction:column;min-height:0}.mobile-app[data-design=v2] .admin-shell-v2 .activity-log-header{margin-bottom:12px;padding:14px 16px;border-bottom:none;border:1px solid var(--app-line);border-radius:16px;background:var(--app-panel);box-shadow:var(--app-shadow-surface)}.mobile-app[data-design=v2] .admin-shell-v2 .activity-log-header h2{font-size:clamp(18px,5vw,22px);font-weight:700;margin:0}.mobile-app[data-design=v2] .admin-shell-v2 .activity-log .back-btn,.mobile-app[data-design=v2] .admin-shell-v2 .activity-log .refresh-btn{border-radius:12px;border:1px solid color-mix(in srgb,var(--fl-brand) 22%,transparent);background:var(--fl-tint-bg);color:var(--app-brand-strong)}.mobile-app[data-design=v2] .admin-shell-v2 .activity-log .refresh-btn:disabled{opacity:.55;cursor:not-allowed}.mobile-app[data-design=v2] .admin-shell-v2 .activity-log .log-item{border-radius:16px;border:1px solid var(--app-line)!important;background:var(--app-panel);box-shadow:var(--app-shadow-surface)}.mobile-app[data-design=v2] .admin-shell-v2 .activity-log .empty-state{border-radius:16px;border:1px solid var(--app-line);background:var(--app-panel);box-shadow:var(--app-shadow-surface);padding:32px 20px}.mobile-app[data-design=v2] .admin-shell-v2 .activity-log .empty-state h3{color:var(--app-ink)}.mobile-app[data-design=v2] .admin-shell-v2 .activity-log .empty-state p{color:var(--app-muted)}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) h1,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) h2,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) h3,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) h4{color:var(--app-ink);letter-spacing:-.02em;font-feature-settings:"cv02","cv03","cv04","cv11"}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .client-shop-hero h1,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .client-progress-hero h1,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .client-nutrition-hero h1{color:#fff!important}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .client-shop-kicker,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .client-progress-kicker,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .client-nutrition-kicker{color:#ffffffc7!important}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .client-shop-subtitle,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .client-progress-subtitle,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .client-nutrition-subtitle{color:#ffffffc7!important}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .admin-v2-hero h1{color:#fff!important}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .admin-v2-kicker{color:#ffffffc7!important}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .admin-v2-hero-text p{color:#ffffffc7!important}.mobile-app[data-design=v2] .admin-shell-v2 .admin-v2-hero,.mobile-app[data-design=v2] .admin-shell-v2 .group-calendar.client-calendar-redesign .calendar-hero{flex-shrink:0;box-sizing:border-box;position:relative;left:auto;right:auto;width:calc(100% + 2 * var(--admin-shell-inline-pad));max-width:none;margin-top:0;margin-left:calc(-1 * var(--admin-shell-inline-pad));margin-right:calc(-1 * var(--admin-shell-inline-pad))}.mobile-app[data-design=v2] .admin-shell-v2 .search-section{padding-top:0}.mobile-app[data-design=v2] .admin-shell-v2 .admin-dashboard-v2 .admin-dashboard-v2-board{display:flex;flex-direction:column;gap:14px;margin-bottom:12px}.mobile-app[data-design=v2] .admin-shell-v2 .admin-dashboard-v2 .admin-dashboard-v2-section-title{margin:0 0 10px;padding:0;text-align:left;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--app-muted);line-height:1.2}.mobile-app[data-design=v2] .admin-shell-v2 .admin-dashboard-v2 .stats-section,.mobile-app[data-design=v2] .admin-shell-v2 .admin-dashboard-v2 .actions-section{margin-bottom:0;padding:0}.mobile-app[data-design=v2] .admin-shell-v2 .admin-dashboard-v2 .actions-section{border:0;background:transparent;box-shadow:none}.mobile-app[data-design=v2] .admin-shell-v2 .admin-dashboard-v2 .stats-grid:not(.calendar-weekday-grid):not(.calendar-day-grid),.mobile-app[data-design=v2] .admin-shell-v2 .admin-dashboard-v2 .actions-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}.mobile-app[data-design=v2] .admin-shell-v2 .admin-dashboard-v2 .stat-card{display:flex;flex-direction:row;align-items:center;gap:12px;min-height:0;padding:14px}.mobile-app[data-design=v2] .admin-shell-v2 .admin-dashboard-v2 .stat-icon,.mobile-app[data-design=v2] .admin-shell-v2 .admin-dashboard-v2 .action-icon{flex-shrink:0;margin:0;border-radius:12px;border:1px solid var(--app-line);background:var(--app-soft)!important;color:var(--app-ink)!important;box-shadow:none}.mobile-app[data-design=v2] .admin-shell-v2 .admin-dashboard-v2 .stat-icon{width:42px;height:42px}.mobile-app[data-design=v2] .admin-shell-v2 .admin-dashboard-v2 .stat-content{flex:1;min-width:0}.mobile-app[data-design=v2] .admin-shell-v2 .admin-dashboard-v2 .stat-label{margin-bottom:4px;font-size:10px;letter-spacing:.06em}.mobile-app[data-design=v2] .admin-shell-v2 .admin-dashboard-v2 .stat-number{font-size:clamp(20px,5.5vw,24px);line-height:1.05}.mobile-app[data-design=v2] .admin-shell-v2 .admin-dashboard-v2 .action-btn{flex-direction:row;justify-content:flex-start;align-items:center;gap:10px;min-height:52px;padding:12px 14px}.mobile-app[data-design=v2] .admin-shell-v2 .admin-dashboard-v2 .action-icon{width:34px;height:34px}.mobile-app[data-design=v2] .admin-shell-v2 .admin-dashboard-v2 .action-text{flex:1;min-width:0;text-align:left;font-size:12px;line-height:1.25;font-weight:600}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .search-section,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .stats-section,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .actions-section,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .nutrition-body{margin-bottom:12px;padding:0}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .search-section:first-child,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .mobile-page-header{margin-top:40px}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .search-container,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .mobile-card,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .stat-card,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .actions-section,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .date-filter-section,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .measurements-section.enhanced,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .plan-card,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .day-panel,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .telegram-connect-card,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .group-item,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .action-btn,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .subscription-item,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .transaction-item,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .catalog-card,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .meal-slot,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .empty-state{border:1px solid var(--app-line);border-radius:16px;background:var(--app-panel);box-shadow:var(--app-shadow-surface)}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .search-container{min-height:68px;padding:14px 16px;align-items:center}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .section-title,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .mobile-page-title,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .month-title{color:var(--app-ink);font-size:clamp(20px,6vw,28px);font-weight:700;line-height:1.12}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .search-icon,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .mobile-page-icon,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .nutrition-title-icon{color:var(--app-brand)}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .stats-grid,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .actions-grid{gap:10px}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .client-card-quick-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px;width:100%}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .stat-card{min-height:112px;padding:16px}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .stat-card:before{display:none}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .stat-card:hover,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .stat-card.disabled:hover{transform:none;box-shadow:var(--app-shadow-surface);border-color:var(--app-line)}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .stat-icon,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .action-icon,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .plan-card-icon,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .meal-thumb-placeholder,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .header-icon,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .client-avatar{border-radius:12px;background:var(--fl-tint-bg);color:var(--app-brand);box-shadow:none}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .stat-label,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .detail-label,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .filter-subtitle,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .mobile-card-subtitle,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .client-email,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .client-phone,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .group-trainer,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .transaction-date,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .balance-label,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .meal-kcal,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .replace-sheet-hint{color:var(--app-muted);letter-spacing:-.01em}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .stat-number,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .balance-amount,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .detail-value,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .group-name,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .subscription-name,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .transaction-description,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .plan-card-title,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .meal-name,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .filter-title,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .card-title{color:var(--app-ink);font-weight:600;letter-spacing:-.015em}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .search-input,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) textarea,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .replace-search-input,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .replace-filter-num{min-height:42px;padding:10px 14px;border:1px solid var(--app-line);border-radius:12px;background:#fff;color:var(--app-ink);font-size:16px;font-weight:400;line-height:1.35}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) select,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .date-filter-select{min-height:42px;padding:10px 38px 10px 14px;border:1px solid var(--app-line);border-radius:12px;background-color:#fff;background-image:var(--app-select-chevron);background-repeat:no-repeat;background-position:right 12px center;background-size:16px;color:var(--app-ink);font-size:16px;font-weight:400;line-height:1.35;-moz-appearance:none;appearance:none;-webkit-appearance:none}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .search-input:focus,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) input:focus,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) select:focus,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) textarea:focus{outline:2px solid color-mix(in srgb,var(--fl-brand) 22%,transparent);outline-offset:0;border-color:color-mix(in srgb,var(--fl-brand) 40%,transparent)}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) button,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .btn,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .mobile-btn,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .today-button,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .nav-button,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .section-action-btn,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .join-btn,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .leave-btn,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .adopt-btn,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .client-nutrition-add-plan-btn,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .sheet-option,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .sheet-cancel{min-height:44px;border-radius:12px;font-weight:600;letter-spacing:-.01em;box-shadow:none}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .mobile-btn-primary,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .btn-primary,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) button.primary,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .join-btn,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .adopt-btn,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .apply-filters-btn.enhanced,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .add-button.enhanced,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .empty-action-btn{border:0;background:#18181b;color:#fff!important;box-shadow:none}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .btn-primary *,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) button.primary *,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .join-btn *,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .adopt-btn *,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .apply-filters-btn.enhanced *,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .add-button.enhanced *,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .empty-action-btn *{color:inherit}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .mobile-btn-secondary,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .btn-secondary,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .section-action-btn,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .today-button,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .sheet-cancel{border:1px solid color-mix(in srgb,var(--fl-brand) 22%,transparent);background:var(--fl-tint-bg);color:var(--app-brand-strong)}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .leave-btn,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .btn-danger,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .meal-action-icon--danger{border-color:#ef444438;background:#ef444414;color:#b91c1c}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .status-badge,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .subscription-status,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .day-kcal-pill,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .badge-public,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .replace-chip,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .section-count{border-radius:999px;background:var(--fl-tint-bg);color:var(--app-brand-strong);font-weight:600}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .status-active,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .status-success,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .amount-positive{background:#10b9811f;color:#047857}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .status-cancelled,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .status-expired,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .amount-negative{background:#ef44441a;color:#b91c1c}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .calendar-header,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .month-navigation,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .filter-controls,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .detail-toolbar{gap:10px}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .day-panel,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .plan-card,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .group-item,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .action-btn{transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .day-panel:active,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .plan-card:active,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .group-item:active,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .action-btn:active{transform:none;opacity:.96}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .modal,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .mobile-modal,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .modal-content,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .sheet-panel{border:1px solid var(--app-line);border-radius:18px;background:#fff;box-shadow:0 1px 3px #18181b14}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .modal-overlay,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .mobile-modal-overlay,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .sheet-overlay{background:#09090b70;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .loading-spinner{border-color:var(--fl-pearl-pink);border-top-color:var(--app-brand)}@media (max-width: 560px){.mobile-app[data-design=v2] .client-page-v2{padding-inline:10px}.mobile-app[data-design=v2] .admin-shell-v2{--admin-shell-inline-pad: 10px;padding-inline:var(--admin-shell-inline-pad)}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .stats-grid:not(.calendar-weekday-grid):not(.calendar-day-grid),.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .actions-grid:not(.client-card-quick-actions){grid-template-columns:1fr!important}.mobile-app[data-design=v2] .admin-shell-v2 .admin-dashboard-v2 .stats-grid:not(.calendar-weekday-grid):not(.calendar-day-grid),.mobile-app[data-design=v2] .admin-shell-v2 .admin-dashboard-v2 .actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .section-header,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .calendar-header,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2) .filter-controls{align-items:stretch}}.mobile-app[data-design=v2] .client-calendar-page.group-calendar{background:transparent;padding:0;min-height:0;max-width:none}.mobile-app[data-design=v2] .client-calendar-page .calendar-header{margin-bottom:12px;padding:10px 12px;background:#fafafa;border:1px solid var(--app-line);border-radius:14px;box-shadow:none}.mobile-app[data-design=v2] .client-calendar-page .month-title{min-width:0;font-size:1.125rem;text-align:center;line-height:1.2}.mobile-app[data-design=v2] .client-calendar-page .calendar-filters-panel{padding:12px 14px;margin-bottom:12px;background:#fafafa;border:1px solid var(--app-line);border-radius:14px;box-shadow:none}.mobile-app[data-design=v2] .client-calendar-page .calendar-filters-heading.section-title{font-size:.9375rem;font-weight:600;line-height:1.2;margin-bottom:10px}.mobile-app[data-design=v2] .client-calendar-page .calendar-filters-heading-icon{color:var(--app-brand)}.mobile-app[data-design=v2] .client-calendar-page .calendar-filter-label{color:var(--app-muted);font-size:.75rem;font-weight:500}.mobile-app[data-design=v2] .client-calendar-page .calendar-filter-select{min-height:40px!important;padding:8px 36px 8px 12px!important;font-size:15px!important;font-weight:400!important;line-height:1.3!important}.mobile-app[data-design=v2] .client-calendar-page .calendar-filter-reset{min-height:40px;padding:0 14px;border-radius:12px;border:1px solid var(--app-line);background:#fff;color:var(--app-muted);font-size:14px;font-weight:500;letter-spacing:normal;box-shadow:none}.mobile-app[data-design=v2] .client-calendar-page .calendar-filter-reset:hover{background:#fafafa;color:var(--app-ink);border-color:var(--app-subtle)}.mobile-app[data-design=v2] .client-progress-page .date-filter-section{background:#fff;border:1px solid var(--app-line);border-radius:14px;box-shadow:var(--app-shadow-surface)}.mobile-app[data-design=v2] .client-progress-page .measurements-section.enhanced{background:#fff;border:1px solid var(--app-line);border-radius:16px;box-shadow:var(--app-shadow-surface);padding:14px 12px;margin-bottom:12px}.mobile-app[data-design=v2] .client-progress-page .section-title.enhanced,.mobile-app[data-design=v2] .client-progress-page .empty-state.enhanced h4{color:var(--app-ink);text-shadow:none}.mobile-app[data-design=v2] .client-progress-page .section-subtitle,.mobile-app[data-design=v2] .client-progress-page .empty-state.enhanced p{color:var(--app-muted)}.mobile-app[data-design=v2] .client-progress-page .header-icon{background:var(--fl-tint-bg);border:1px solid color-mix(in srgb,var(--fl-brand) 18%,transparent);-webkit-backdrop-filter:none;backdrop-filter:none}.mobile-app[data-design=v2] .client-progress-page .header-icon svg{color:var(--app-brand)}.mobile-app[data-design=v2] .client-progress-page .add-button.enhanced{background:var(--fl-tint-bg);color:var(--app-brand-strong);border:1px solid color-mix(in srgb,var(--fl-brand) 22%,transparent);-webkit-backdrop-filter:none;backdrop-filter:none;width:40px;height:40px;min-width:40px;min-height:40px!important;padding:0;border-radius:12px;display:inline-flex;align-items:center;justify-content:center}.mobile-app[data-design=v2] .client-progress-page .add-button.enhanced:hover{transform:none;box-shadow:none;opacity:.95}.mobile-app[data-design=v2] .client-progress-page .empty-state.enhanced{background:#fafafa;border:1px solid var(--app-line);-webkit-backdrop-filter:none;backdrop-filter:none}.mobile-app[data-design=v2] .client-progress-page .empty-icon{color:var(--app-brand)}.mobile-app[data-design=v2] .client-progress-page .empty-action-btn{background:#18181b;color:#fff;transform:none}.mobile-app[data-design=v2] .client-progress-page .empty-action-btn:hover{transform:none;box-shadow:none;opacity:.92}.mobile-app[data-design=v2] .client-progress-page .metric-toggles.enhanced,.mobile-app[data-design=v2] .client-progress-page .metric-toggle.enhanced{background:#fafafa;border:1px solid var(--app-line);-webkit-backdrop-filter:none;backdrop-filter:none}.mobile-app[data-design=v2] .client-progress-page .metric-toggle.enhanced.active{background:var(--fl-tint-bg);border-color:color-mix(in srgb,var(--fl-brand) 35%,transparent)}.mobile-app[data-design=v2] .client-progress-page .toggle-label{color:var(--app-ink)}.mobile-app[data-design=v2] .client-progress-page .chart-container.enhanced{box-shadow:var(--app-shadow-surface)}.mobile-app[data-design=v2] .client-progress-page .apply-filters-btn.enhanced{background:#18181b;color:#fff!important;border-radius:12px}.mobile-app[data-design=v2] .client-progress-page .filter-controls{flex-direction:column;align-items:stretch}@media (min-width: 480px){.mobile-app[data-design=v2] .client-progress-page .filter-controls{flex-direction:row;align-items:center;flex-wrap:wrap}}.client-calendar-page .calendar-board{width:100%;max-width:100%;padding:0;margin-bottom:12px}.client-calendar-page .calendar-weekday-grid,.client-calendar-page .calendar-day-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;width:100%!important;max-width:100%!important;gap:6px!important;box-sizing:border-box}.client-calendar-page .calendar-weekday-cell{min-height:0!important;padding:6px 2px!important}.client-calendar-page .calendar-day-grid .stat-card{min-height:0!important;width:auto!important;max-width:none!important;aspect-ratio:1;padding:6px 4px!important;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.mobile-app[data-design=v2] .client-calendar-page .calendar-weekday-grid,.mobile-app[data-design=v2] .client-calendar-page .calendar-day-grid{grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:6px!important}.mobile-app[data-design=v2] .client-calendar-page .calendar-weekday-cell,.mobile-app[data-design=v2] .client-calendar-page .calendar-day-grid .stat-card{min-height:0!important;box-shadow:var(--app-shadow-surface)}.mobile-app[data-design=v2]:has(.client-page-v2) .design-mode-toggle,.mobile-app[data-design=v2]:has(.admin-shell-v2) .design-mode-toggle{top:auto;bottom:calc(env(safe-area-inset-bottom,0px) + 58px);left:10px;right:auto;max-width:min(210px,calc(100vw - 100px));padding:0 10px;min-height:34px;font-size:10px;line-height:1.2;z-index:1201;box-shadow:0 1px #18181b0f;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.mobile-app[data-design=v2]:has(.client-page-v2) .design-mode-toggle:hover,.mobile-app[data-design=v2]:has(.admin-shell-v2) .design-mode-toggle:hover{box-shadow:0 1px #18181b1a;transform:none}.mobile-app:has(.mobile-bottom-nav) .pwa-install-banner,.mobile-app:has(.mobile-bottom-nav) .pwa-update-banner{bottom:calc(76px + env(safe-area-inset-bottom,0px))!important}html:has(.client-dashboard-v2),body:has(.client-dashboard-v2){height:auto!important;min-height:100dvh;overflow-y:auto!important}html:has(.mobile-main.admin-v2),body:has(.mobile-main.admin-v2){background:#fff7fb!important;overflow-x:hidden}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2).client-dashboard-v2{padding-top:0!important;padding-left:10px;padding-right:10px}.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2).client-dashboard-v2 .client-v2-visit-panel .visit-history-card,.mobile-app[data-design=v2] :is(.client-page-v2,.admin-shell-v2).client-dashboard-v2 .client-v2-balance-panel .transaction-item{border:0;border-radius:0;box-shadow:none;background:transparent}:root{--success-color: #22c55e;--danger-color: #ef4444}html,body{width:100%;height:100%;margin:0;padding:0;overflow-x:auto}.dashboard-container{min-height:100vh;width:100%;max-width:100%;margin:0;background:#fff;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;box-sizing:border-box;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}.search-settings-btn{background:none;border:none;border-radius:8px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:var(--fl-violet-mid);flex-shrink:0}.search-settings-btn:hover{background:var(--fl-badge-muted-bg);color:var(--fl-brand-2)}.search-section{margin-bottom:24px;padding:24px 4px 0}.search-container{position:relative;background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:14px 18px;display:flex;align-items:center;gap:12px;box-shadow:0 1px 3px #0000000d;margin:0}.search-icon{color:var(--fl-violet-mid);flex-shrink:0}.search-input{flex:1;border:none;background:transparent;font-size:16px;color:#1f2937;outline:none;font-weight:500;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0;padding:0}.search-input::placeholder{color:#9ca3af;font-weight:400}.mic-icon{color:var(--fl-violet-mid);cursor:pointer;flex-shrink:0}.search-results{margin-top:12px;background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px #00000014;max-height:300px;overflow-y:auto;-webkit-overflow-scrolling:touch}.search-result-item{display:flex;align-items:center;padding:14px 18px;cursor:pointer;transition:background-color .2s ease;border-bottom:1px solid #f1f5f9;min-height:60px;-webkit-tap-highlight-color:color-mix(in srgb,var(--fl-brand) 10%,transparent);user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.search-result-item:hover{background:#f8fafc}.search-result-item:active{background:color-mix(in srgb,var(--fl-brand) 10%,transparent);transform:scale(.98)}.search-result-item:last-child{border-bottom:none}.client-avatar{width:36px;height:36px;background:var(--fl-gradient-soft-violet);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:500;font-size:13px;margin-right:14px;flex-shrink:0}.client-info{flex:1}.client-name{font-weight:600;color:#1f2937;margin-bottom:2px;font-size:15px}.client-email{font-size:13px;color:#6b7280;font-weight:400}.client-arrow{color:var(--fl-violet-mid);font-size:16px;font-weight:500}.stats-section{margin-bottom:28px;padding:24px 4px 0}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.stat-card{background:var(--fl-gradient-pearl);border:1px solid #fbcfe8;border-radius:20px;padding:20px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px color-mix(in srgb,var(--fl-brand) 10%,transparent);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--fl-gradient-soft)}.stat-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px color-mix(in srgb,var(--fl-brand) 15%,transparent);border-color:#f9a8d4}.stat-card.disabled{opacity:.6;cursor:not-allowed}.stat-card.disabled:hover{transform:none;box-shadow:0 2px 8px color-mix(in srgb,var(--fl-brand) 10%,transparent)}.stat-icon{width:48px;height:48px;background:transparent;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--fl-icon);margin-bottom:14px}.stat-content{text-align:left}.stat-label{font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px}.stat-number{font-size:28px;font-weight:700;color:#1f2937;margin-bottom:0;line-height:1.1;letter-spacing:-.03em}.actions-section{margin-bottom:28px;padding:0 4px}.section-title{font-size:20px;font-weight:700;color:#1f2937;margin:0 0 20px;text-align:center;letter-spacing:-.02em;padding:0 4px}.actions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.action-btn{background:var(--fl-gradient-pearl);border:1px solid #fbcfe8;border-radius:18px;padding:18px 14px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px color-mix(in srgb,var(--fl-brand) 10%,transparent);display:flex;flex-direction:column;align-items:center;gap:12px;min-height:90px}.action-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px color-mix(in srgb,var(--fl-brand) 15%,transparent);border-color:#f9a8d4}.action-icon{width:36px;height:36px;background:transparent;border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--fl-icon)}.action-text{font-size:13px;font-weight:600;color:#1f2937;text-align:center;line-height:1.4;letter-spacing:.01em}.notification{position:fixed;top:20px;left:50%;transform:translate(-50%);background:#fff;color:#1f2937;padding:14px 18px;border-radius:14px;box-shadow:0 8px 25px #0000001f;z-index:10000;display:flex;align-items:center;gap:12px;border:1px solid #e2e8f0;max-width:90%;width:fit-content}.notification.success{border-left:3px solid var(--success-color)}.notification.error{border-left:3px solid var(--danger-color)}.notification-close{background:none;border:none;color:#6b7280;font-size:18px;cursor:pointer;padding:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.notification-close:hover{background:#f1f5f9}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:flex-end;justify-content:center;z-index:1000;padding:0}.modal{background:#fff;border-radius:20px 20px 0 0;width:100%;max-height:90vh;max-height:90dvh;overflow-y:auto;overscroll-behavior:contain;padding-bottom:env(safe-area-inset-bottom);animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:22px 22px 14px;border-bottom:1px solid #f1f5f9}.modal-header h3{font-size:18px;font-weight:600;color:#1f2937;margin:0;letter-spacing:-.01em}.close-btn{background:none;border:none;color:#6b7280;font-size:22px;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.close-btn:hover{background:#f1f5f9}.modal-form{padding:22px}.form-group{margin-bottom:18px}.form-group label{display:block;font-weight:500;color:#1f2937;margin-bottom:6px;font-size:13px;letter-spacing:.01em}.form-group input,.form-group select{width:100%;padding:14px;border:1px solid #d1d5db;border-radius:10px;font-size:15px;background:#fff;color:#1f2937;transition:all .2s ease;box-sizing:border-box;font-weight:400}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--fl-violet-mid);box-shadow:0 0 0 3px var(--fl-badge-muted-bg)}.form-group input:disabled,.form-group select:disabled{background:#f9fafb;opacity:.6}.form-actions{display:flex;gap:10px;margin-top:28px}.form-actions button{flex:1;padding:14px;border:none;border-radius:10px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease;letter-spacing:.01em}.form-actions button[type=button]{background:#f1f5f9;color:#6b7280;border:1px solid #e2e8f0}.form-actions button[type=button]:hover{background:#e2e8f0}.form-actions button.primary{background:var(--fl-gradient-soft-violet);color:#fff;box-shadow:0 2px 8px color-mix(in srgb,var(--fl-violet-mid) 25%,transparent)}.form-actions button.primary:hover{transform:translateY(-1px);box-shadow:0 4px 16px color-mix(in srgb,var(--fl-violet-mid) 35%,transparent)}.form-actions button:disabled{opacity:.6;cursor:not-allowed;transform:none}.client-selector{position:relative}.client-search-input{width:100%;padding:14px;border:1px solid #d1d5db;border-radius:10px;font-size:15px;background:#fff;color:#1f2937;transition:all .2s ease;box-sizing:border-box;font-weight:400}.client-search-input:focus{outline:none;border-color:var(--fl-violet-mid);box-shadow:0 0 0 3px var(--fl-badge-muted-bg)}.client-search-results{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 4px 20px #0000001f;z-index:1000;margin-top:6px;max-height:180px;overflow-y:auto}.client-search-item{padding:14px;cursor:pointer;border-bottom:1px solid #f1f5f9;transition:background-color .2s;display:flex;align-items:center;gap:10px}.client-search-item:hover{background:#f8fafc}.client-search-item:last-child{border-bottom:none}.client-search-avatar{width:28px;height:28px;background:var(--fl-gradient-soft-violet);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:500;font-size:11px;flex-shrink:0}.client-search-info{flex:1}.client-search-name{font-weight:500;color:#1f2937;margin-bottom:1px;font-size:13px}.client-search-email{font-size:11px;color:#6b7280;font-weight:400}.selected-client{display:flex;align-items:center;justify-content:space-between;padding:14px;background:color-mix(in srgb,var(--fl-violet-mid) 5%,transparent);border:1px solid var(--fl-violet-mid);border-radius:10px;margin-top:10px;color:#1f2937;font-weight:500;font-size:13px}.clear-client-btn{background:none;border:none;color:#ef4444;font-size:16px;cursor:pointer;padding:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.clear-client-btn:hover{background:#ef44441a}.settings-content{padding:22px}.settings-section{margin-bottom:20px}.settings-section-title{font-size:16px;font-weight:600;color:#1f2937;margin-bottom:14px;letter-spacing:-.01em}.settings-hint{font-size:14px;line-height:1.45;color:#64748b;margin:-6px 0 12px}.settings-btn-large{width:100%;padding:14px 18px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #0000000d;text-align:left;font-size:15px;font-weight:500;color:#1f2937}.settings-btn-large:hover{background:#f1f5f9;transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.settings-btn-large.danger{color:#ef4444;border-color:#ef4444}.settings-btn-large.danger:hover{background:#ef44441a;border-color:#dc2626;color:#dc2626}.settings-btn-arrow{color:var(--fl-violet-mid);font-size:16px;font-weight:500;margin-left:auto}.profile-content{padding:22px}.profile-info{display:flex;align-items:center;gap:20px;margin-bottom:20px}.profile-avatar{width:60px;height:60px;background:var(--fl-gradient-soft-violet);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:500;font-size:24px}.profile-details{flex:1}.profile-name{font-size:18px;font-weight:600;color:#1f2937;margin-bottom:6px}.profile-email,.profile-role{font-size:14px;color:#6b7280;font-weight:400}.profile-actions{display:flex;justify-content:space-between;gap:10px}.profile-action-btn{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:10px 14px;display:flex;align-items:center;gap:10px;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #0000000d;flex:1}.profile-action-btn:hover{background:#f1f5f9;transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}@media (max-width: 768px){.dashboard-container{padding:0;min-height:100vh;height:100vh;width:100%;max-width:100%}html,body{width:100vw;height:100vh;overflow-x:auto}}@media (max-width: 640px){.dashboard-container{padding:0;width:100%;height:100vh;min-height:100vh;max-width:100%;overflow-x:hidden}.stats-grid{gap:8px;width:100%;max-width:100%}.stat-card{padding:16px;width:100%;max-width:100%}.actions-grid{gap:8px;width:100%;max-width:100%}.action-btn{padding:16px 12px;min-height:80px;width:100%;max-width:100%}}@media (max-width: 480px){.dashboard-container{padding:0;width:100%;height:100vh;min-height:100vh;max-width:100%}.stats-grid,.actions-grid{grid-template-columns:repeat(2,1fr);gap:6px;width:100%;max-width:100%}.stat-card{padding:12px;width:100%;max-width:100%}.action-btn{padding:12px 8px;min-height:65px;width:100%;max-width:100%}.search-container{padding:12px 16px}.modal{width:100vw;max-width:100vw}.stat-icon{width:36px;height:36px;margin-bottom:8px}.stat-label{font-size:10px;margin-bottom:4px}.stat-number{font-size:22px}.action-icon{width:28px;height:28px}.action-text{font-size:12px}}@media (max-width: 360px){.dashboard-container{padding:8px}.stat-card{padding:10px}.action-btn{padding:10px 6px;min-height:60px}.action-text{font-size:11px}.stat-icon{width:32px;height:32px;margin-bottom:6px}.stat-label{font-size:9px;margin-bottom:3px}.stat-number{font-size:20px}.action-icon{width:24px;height:24px}}@media screen and (max-width: 768px){html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dashboard-container{position:relative;left:0;right:0;top:0;bottom:0;margin:0}}@media screen and (max-width: 768px){.dashboard-container{width:100vw;height:100vh;min-height:100vh;max-width:100vw;max-height:100vh;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;overflow-x:hidden;overflow-y:auto}@media (orientation: landscape){.dashboard-container{height:100vh;min-height:100vh}}@media (orientation: portrait){.dashboard-container{height:100vh;min-height:100vh}}}*{box-sizing:border-box}@media (max-width: 768px){.dashboard-container,.search-section,.stats-section:not(.calendar-board),.actions-section{width:100%;max-width:100%;margin-left:0;margin-right:0;padding-left:4px;padding-right:4px}.client-calendar-page .calendar-board{padding-left:0;padding-right:0}.client-calendar-page .calendar-day-grid .stat-card,.client-calendar-page .calendar-weekday-cell{width:auto!important;max-width:none!important}.search-section{padding-top:16px}.stats-section:not(.calendar-board){padding-top:16px}.stats-grid,.actions-grid,.stat-card,.action-btn{width:100%;max-width:100%}}.mobile-main{flex:1;display:flex;flex-direction:column;width:100%;min-height:0;background:#fff}.mobile-main.with-nav{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}.mobile-container{flex:1;display:flex;flex-direction:column;width:100%;max-width:100%;min-height:0}.search-loading{display:flex;align-items:center;justify-content:center;width:20px;height:20px}.spinner{width:16px;height:16px;border:2px solid #e5e7eb;border-top:2px solid var(--fl-brand);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.search-input{font-size:16px;line-height:1.2}.search-result-item{padding:16px 18px;min-height:70px}.search-results{max-height:250px}.search-input:focus{outline:none;border:none}.search-results{position:relative;z-index:1000;background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 8px 32px #0000001f}.search-input:focus{-webkit-tap-highlight-color:transparent}.search-settings-btn{min-height:44px;min-width:44px;-webkit-tap-highlight-color:color-mix(in srgb,var(--fl-brand) 10%,transparent);transition:all .2s ease}.search-settings-btn:active{transform:scale(.95);background:color-mix(in srgb,var(--fl-brand) 20%,transparent)!important}}.home[data-v-1144d355]{min-height:80vh}.hero-section[data-v-1144d355]{text-align:center;padding:4rem 0;background:var(--fl-gradient-hero);color:#fff;border-radius:8px;margin-bottom:4rem}.hero-title[data-v-1144d355]{font-size:3rem;margin-bottom:1rem;font-weight:700}.hero-description[data-v-1144d355]{font-size:1.2rem;margin-bottom:2rem;opacity:.9}.hero-buttons[data-v-1144d355]{display:flex;justify-content:center;gap:1rem}.btn[data-v-1144d355]{padding:1rem 2rem;border:none;border-radius:6px;text-decoration:none;font-weight:600;transition:all .3s;cursor:pointer}.btn-primary[data-v-1144d355]{background-color:#3498db;color:#fff}.btn-primary[data-v-1144d355]:hover{background-color:#2980b9;transform:translateY(-2px)}.section-title[data-v-1144d355]{text-align:center;font-size:2rem;margin-bottom:2rem;color:#2c3e50}.features-grid[data-v-1144d355]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:2rem}.feature-card[data-v-1144d355]{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 6px #0000001a;transition:transform .3s}.feature-card[data-v-1144d355]:hover{transform:translateY(-4px)}.feature-card h3[data-v-1144d355]{color:#2c3e50;margin-bottom:1rem}.feature-card p[data-v-1144d355]{color:#7f8c8d;line-height:1.6}.app-install-section[data-v-38238c71]{margin-top:20px;text-align:center}.install-app-btn[data-v-38238c71]{width:100%;padding:12px 20px;background:var(--fl-gradient-hero);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px}.install-app-btn[data-v-38238c71]:hover{transform:translateY(-2px);box-shadow:0 8px 25px color-mix(in srgb,var(--fl-chart-1) 30%,transparent)}.modal-overlay[data-v-38238c71]{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn-38238c71 .3s ease}@keyframes fadeIn-38238c71{0%{opacity:0}to{opacity:1}}.modal-content[data-v-38238c71]{background:#fff;border-radius:16px;max-width:560px;width:90%;max-height:80vh;overflow-y:auto;animation:slideUp-38238c71 .3s ease}@keyframes slideUp-38238c71{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header[data-v-38238c71]{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #e5e7eb}.modal-header h2[data-v-38238c71]{margin:0;font-size:20px;font-weight:600;color:#1f2937}.close-btn[data-v-38238c71]{background:none;border:none;font-size:24px;cursor:pointer;color:#6b7280;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background-color .2s}.close-btn[data-v-38238c71]:hover{background:#f3f4f6}.modal-body[data-v-38238c71]{padding:24px}.manual-steps[data-v-38238c71]{margin:0 0 20px;padding-left:1.25rem;color:#374151;line-height:1.6}.manual-steps li+li[data-v-38238c71]{margin-top:10px}.ios-actions[data-v-38238c71]{margin-top:8px;text-align:center}.ios-ok-btn[data-v-38238c71]{background:var(--fl-chart-1);color:#fff;border:none;padding:12px 32px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .2s}.ios-ok-btn[data-v-38238c71]:hover{background:#5a67d8}@media (max-width: 640px){.modal-content[data-v-38238c71]{width:95%;margin:10px}.modal-header[data-v-38238c71],.modal-body[data-v-38238c71]{padding:16px}}.login-container[data-v-b631df6f]{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);background-color:#f3f4f6}.login-card[data-v-b631df6f]{width:100%;max-width:400px;padding:var(--spacing-xl);background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.login-title[data-v-b631df6f]{text-align:center;margin-bottom:var(--spacing-lg);color:var(--text-primary);font-size:1.5rem}.login-form[data-v-b631df6f]{display:flex;flex-direction:column;gap:var(--spacing-md)}.form-group[data-v-b631df6f]{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group label[data-v-b631df6f]{color:var(--text-secondary);font-size:.875rem}.form-group input[data-v-b631df6f]{padding:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:border-color .2s}.form-group input[data-v-b631df6f]:focus{outline:none;border-color:var(--primary-color)}.form-group input[data-v-b631df6f]:disabled{background-color:#f9fafb;cursor:not-allowed}.password-input-wrapper[data-v-b631df6f]{position:relative;display:flex;align-items:center}.password-input-wrapper input[data-v-b631df6f]{flex:1;padding-right:40px}.password-toggle-btn[data-v-b631df6f]{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:4px;border-radius:var(--radius-sm);transition:background-color .2s;font-size:16px}.password-toggle-btn[data-v-b631df6f]:hover:not(:disabled){background-color:#f3f4f6}.password-toggle-btn[data-v-b631df6f]:disabled{opacity:.5;cursor:not-allowed}.error-message[data-v-b631df6f]{color:var(--danger-color);font-size:.875rem}.login-button[data-v-b631df6f]{margin-top:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-md);font-weight:500;transition:background-color .2s}.login-button[data-v-b631df6f]:hover:not(:disabled){background:var(--primary-color-dark)}.login-button[data-v-b631df6f]:disabled{opacity:.7;cursor:not-allowed}.forgot-password-link[data-v-b631df6f]{text-align:center;margin-top:var(--spacing-sm)}.forgot-password-button[data-v-b631df6f]{background:none;border:none;color:var(--primary-color);font-size:.875rem;text-decoration:underline;cursor:pointer;transition:color .2s}.forgot-password-button[data-v-b631df6f]:hover:not(:disabled){color:var(--primary-color-dark)}.forgot-password-button[data-v-b631df6f]:disabled{opacity:.5;cursor:not-allowed}.password-reset-unavailable[data-v-b631df6f]{text-align:center;margin-top:var(--spacing-sm)}.password-reset-unavailable small[data-v-b631df6f]{color:var(--text-secondary);font-size:.75rem}.wrong-password-overlay[data-v-b631df6f]{background:#0f172a85;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.wrong-password-modal[data-v-b631df6f]{position:relative;max-width:22rem;border-radius:calc(var(--radius-lg) + 4px);box-shadow:0 4px 6px -1px #00000014,0 22px 50px -12px #0f172a38;border:1px solid rgba(226,232,240,.9);overflow:hidden}.wrong-password-dismiss[data-v-b631df6f]{position:absolute;top:12px;right:12px;z-index:1;margin:0;padding:0;width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-sm);font-size:1.375rem;line-height:1;color:var(--text-secondary);background:#f8fafce6;cursor:pointer;transition:background-color .2s,color .2s}.wrong-password-dismiss[data-v-b631df6f]:hover{background:#f1f5f9;color:var(--text-primary)}.wrong-password-modal-inner[data-v-b631df6f]{padding:2rem 1.5rem 1.5rem;text-align:center}.wrong-password-modal-visual[data-v-b631df6f]{margin:0 auto 1rem;width:3.75rem;height:3.75rem;display:flex;align-items:center;justify-content:center;border-radius:50%;color:#c2410c;background:linear-gradient(155deg,#fff7ed,#ffedd5 55%,#fed7aa);box-shadow:inset 0 1px #ffffffbf}.wrong-password-modal-heading[data-v-b631df6f]{margin:0 0 1rem;font-size:1.125rem;font-weight:600;letter-spacing:-.02em;color:var(--text-primary);line-height:1.3}.wrong-password-modal-text[data-v-b631df6f]{margin:0 auto 1.25rem;max-width:18rem;padding:.875rem 1rem;text-align:left;font-size:.9375rem;line-height:1.5;color:#991b1b;background:linear-gradient(to bottom,#fef2f2,#fee2e2);border:1px solid #fecaca;border-radius:var(--radius-md);border-left:4px solid var(--danger-color, #ef4444);box-sizing:border-box}.wrong-password-modal-hint[data-v-b631df6f]{margin:-.5rem 0 1.25rem;padding:0 .25rem;font-size:.8125rem;line-height:1.45;color:var(--text-secondary)}.wrong-password-modal-actions[data-v-b631df6f]{display:flex;flex-direction:column;gap:.625rem;margin-top:0}.wrong-password-btn[data-v-b631df6f]{width:100%;padding:.75rem 1rem;font-size:.9375rem;font-weight:600;border-radius:var(--radius-md);cursor:pointer;transition:transform .12s ease,box-shadow .2s,background-color .2s,border-color .2s,color .2s}.wrong-password-btn[data-v-b631df6f]:active:not(:disabled){transform:scale(.98)}.wrong-password-btn[data-v-b631df6f]:disabled{opacity:.65;cursor:not-allowed}.wrong-password-btn--primary[data-v-b631df6f]{border:none;color:#fff;background:linear-gradient(180deg,var(--primary-color) 0%,var(--primary-color-dark, var(--primary-color)) 100%);box-shadow:0 1px 2px #0f172a1f}.wrong-password-btn--primary[data-v-b631df6f]:hover:not(:disabled){filter:brightness(1.06);box-shadow:0 2px 8px #0f172a2e}.wrong-password-btn--secondary[data-v-b631df6f]{border:1px solid var(--border-color);color:var(--text-primary);background:#f8fafc;font-weight:500}.wrong-password-btn--secondary[data-v-b631df6f]:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}.modal-overlay[data-v-b631df6f]{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md)}.modal-content[data-v-b631df6f]{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:400px;max-height:90vh;overflow-y:auto}.modal-header[data-v-b631df6f]{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-color)}.modal-header h2[data-v-b631df6f]{margin:0;color:var(--text-primary);font-size:1.25rem}.close-button[data-v-b631df6f]{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:background-color .2s,color .2s}.close-button[data-v-b631df6f]:hover{background-color:#f3f4f6;color:var(--text-primary)}.forgot-password-form[data-v-b631df6f]{padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.modal-actions[data-v-b631df6f]{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-md)}.cancel-button[data-v-b631df6f]{padding:var(--spacing-sm) var(--spacing-md);background:#f3f4f6;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:background-color .2s}.cancel-button[data-v-b631df6f]:hover:not(:disabled){background:#e5e7eb}.submit-button[data-v-b631df6f]{padding:var(--spacing-sm) var(--spacing-md);background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color .2s}.submit-button[data-v-b631df6f]:hover:not(:disabled){background:var(--primary-color-dark)}.cancel-button[data-v-b631df6f]:disabled,.submit-button[data-v-b631df6f]:disabled{opacity:.7;cursor:not-allowed}.success-message[data-v-b631df6f]{color:#10b981;font-size:.875rem;background-color:#d1fae5;padding:var(--spacing-sm);border-radius:var(--radius-md);border:1px solid #a7f3d0}.help-section[data-v-b631df6f]{margin-top:var(--spacing-md);text-align:center}.help-button[data-v-b631df6f]{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:#f8fafc;color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:background-color .2s,border-color .2s}.help-button[data-v-b631df6f]:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}.help-button[data-v-b631df6f]:disabled{opacity:.6;cursor:not-allowed}.help-unavailable-hint[data-v-b631df6f]{margin:var(--spacing-xs) 0 0;color:var(--text-secondary)}.help-modal-intro[data-v-b631df6f]{margin:0;font-size:.875rem;color:var(--text-secondary);line-height:1.45}.forgot-password-form textarea[data-v-b631df6f]{padding:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--radius-md);resize:vertical;min-height:96px;font-family:inherit;font-size:1rem;width:100%;box-sizing:border-box}.forgot-password-form textarea[data-v-b631df6f]:focus{outline:none;border-color:var(--primary-color)}.forgot-password-form textarea[data-v-b631df6f]:disabled{background-color:#f9fafb;cursor:not-allowed}@media (max-width: 480px){.login-card[data-v-b631df6f]{padding:var(--spacing-lg)}.login-title[data-v-b631df6f]{font-size:1.25rem}}.login-type-switcher[data-v-b631df6f]{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-xs)}.radio-option[data-v-b631df6f]{display:flex;align-items:center;gap:var(--spacing-xs);cursor:pointer;-webkit-user-select:none;user-select:none}.radio-option input[type=radio][data-v-b631df6f]{margin:0;width:auto}.radio-label[data-v-b631df6f]{color:var(--text-secondary);font-size:.875rem}.radio-option:hover .radio-label[data-v-b631df6f]{color:var(--text-primary)}.radio-option input[type=radio]:checked+.radio-label[data-v-b631df6f]{color:var(--primary-color);font-weight:500}.registration-section[data-v-b631df6f]{margin-top:var(--spacing-lg)}.divider[data-v-b631df6f]{position:relative;text-align:center;margin:var(--spacing-lg) 0}.divider[data-v-b631df6f]:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border-color)}.divider span[data-v-b631df6f]{background:#fff;padding:0 var(--spacing-md);color:var(--text-secondary);font-size:.875rem}.register-button[data-v-b631df6f]{width:100%;padding:var(--spacing-md);background:transparent;border:2px solid var(--primary-color);color:var(--primary-color);border-radius:var(--border-radius);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.register-button[data-v-b631df6f]:hover{background:var(--primary-color);color:#fff;transform:translateY(-1px)}.register-button[data-v-b631df6f]:active{transform:translateY(0)}
