.app-header[data-v-35e21345]{background:var(--bg-primary);box-shadow:0 1px 3px #0000000d;padding:.4rem 1.25rem;padding-top:max(.4rem,env(safe-area-inset-top));position:sticky;top:0;z-index:100;border-bottom:1px solid var(--border-color);transition:background-color .2s ease,border-color .2s ease}.header-content[data-v-35e21345]{display:flex;justify-content:space-between;align-items:center;max-width:100%;margin:0 auto}.header-left[data-v-35e21345]{display:flex;align-items:center;gap:1.5rem;flex:1;min-width:0}.logo-link[data-v-35e21345]{display:flex;align-items:center;text-decoration:none;transition:opacity .2s}.logo-link[data-v-35e21345]:hover{opacity:.8}.logo[data-v-35e21345]{width:32px;height:32px;object-fit:contain}.main-nav[data-v-35e21345]{display:flex;align-items:center;gap:.25rem}.nav-item[data-v-35e21345]{display:flex;align-items:center;gap:.4rem;padding:.4rem .75rem;color:var(--text-secondary);text-decoration:none;font-weight:600;font-size:.85rem;transition:all .2s;white-space:nowrap;position:relative;border-radius:8px}.nav-item svg[data-v-35e21345]{flex-shrink:0;width:16px;height:16px}.nav-item[data-v-35e21345]:hover{color:var(--text-primary);background:var(--bg-hover)}.nav-item.active[data-v-35e21345]{color:var(--color-primary);background:var(--bg-active);font-weight:700}.nav-item.active svg[data-v-35e21345]{stroke:var(--color-primary)}.header-right[data-v-35e21345]{display:flex;align-items:center;gap:.5rem}.user-menu[data-v-35e21345]{position:relative;display:flex;align-items:center;gap:.6rem;padding:.35rem .75rem;border-radius:8px;background:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;transition:all .2s;font-family:inherit;z-index:200}.user-menu[data-v-35e21345]:hover{background:var(--bg-hover);border-color:var(--border-color-dark)}.user-initial-badge[data-v-35e21345]{width:30px;height:30px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:800;flex-shrink:0}.user-info[data-v-35e21345]{display:flex;flex-direction:column;align-items:flex-start}.user-name[data-v-35e21345]{font-size:.875rem;font-weight:600;color:var(--text-primary);line-height:1.2}.dropdown-arrow[data-v-35e21345]{font-size:.625rem;color:var(--text-tertiary);margin-left:auto}.mobile-menu-btn[data-v-35e21345]{display:none;padding:.5rem;background:transparent;border:none;color:var(--text-primary);cursor:pointer}@media(max-width:1200px){.header-content[data-v-35e21345]{padding:0 1rem}.main-nav[data-v-35e21345]{position:fixed;top:70px;left:0;right:0;flex-direction:column;background:var(--bg-primary);border-bottom:1px solid var(--border-color);padding:1rem;gap:.5rem;transform:translateY(-100%);opacity:0;transition:all .3s ease-in-out;pointer-events:none;z-index:100}.main-nav.nav-open[data-v-35e21345]{transform:translateY(0);opacity:1;pointer-events:all}.nav-item[data-v-35e21345]{width:100%;justify-content:flex-start}.mobile-menu-btn[data-v-35e21345]{display:flex}}@media(min-width:1201px){.app-header[data-v-35e21345]{padding-left:2rem;padding-right:2rem}.logo[data-v-35e21345]{width:44px;height:44px}}@media(max-width:380px){.app-header[data-v-35e21345]{padding-left:1rem;padding-right:1rem}.logo[data-v-35e21345]{width:36px;height:36px}.user-avatar[data-v-35e21345]{width:32px;height:32px;padding:3px}.user-name[data-v-35e21345]{font-size:.8125rem}.header-left[data-v-35e21345]{gap:1rem}}.theme-toggle-btn[data-v-35e21345]{width:36px;height:36px;border-radius:8px;background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0}.theme-toggle-btn[data-v-35e21345]:hover{background:var(--bg-hover);border-color:var(--border-color-dark);color:var(--text-primary)}[data-theme=dark] .theme-toggle-btn[data-v-35e21345]{color:#fbbf24;border-color:#fbbf244d;background:#fbbf2414}[data-theme=dark] .theme-toggle-btn[data-v-35e21345]:hover{background:#fbbf2426;border-color:#fbbf2480}.bottom-nav[data-v-652f53d5]{position:fixed;bottom:0;left:0;right:0;background:var(--bg-primary);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:flex;justify-content:space-around;align-items:flex-end;padding:4px 8px max(6px,env(safe-area-inset-bottom));box-shadow:0 -2px 12px #0000000f;border-top:1px solid var(--border-color);z-index:100;height:56px;transition:background-color .2s ease,border-color .2s ease}[data-theme=dark] .bottom-nav[data-v-652f53d5]{box-shadow:0 -2px 12px #0006}.nav-item[data-v-652f53d5]{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:2px;padding:4px 0;color:var(--text-secondary);text-decoration:none;background:none;border:none;cursor:pointer;flex:1;max-width:72px;height:100%;position:relative;-webkit-tap-highlight-color:transparent}.nav-item svg[data-v-652f53d5]{width:22px;height:22px;transition:transform .15s ease}.nav-item[data-v-652f53d5]:active{transform:scale(.92)}.nav-item.active[data-v-652f53d5]{color:var(--color-primary)}.nav-item span[data-v-652f53d5]{font-size:.65rem;font-weight:500;letter-spacing:-.01em;white-space:nowrap}.nav-item.active span[data-v-652f53d5]{font-weight:700;color:var(--color-primary)}.nav-item-highlight[data-v-652f53d5]{overflow:visible}.highlight-badge[data-v-652f53d5]{width:44px;height:44px;min-width:44px;min-height:44px;flex-shrink:0;border-radius:50%;background:linear-gradient(135deg,#10b981,#059669);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 12px #10b98166;margin-top:-16px;margin-bottom:2px;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.highlight-badge svg[data-v-652f53d5]{width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important;flex-shrink:0!important;aspect-ratio:1 / 1!important}.nav-item-highlight.active .highlight-badge[data-v-652f53d5]{transform:scale(1.08);box-shadow:0 6px 14px #10b98180;background:linear-gradient(135deg,#059669,#047857)}.logout-item[data-v-652f53d5]{color:var(--color-danger)}.logout-item[data-v-652f53d5]:active{background:var(--color-danger-light)}.logout-item.active[data-v-652f53d5]{color:var(--color-danger-dark)}@media(min-width:1201px){.bottom-nav[data-v-652f53d5]{display:none}}.install-pwa[data-v-dfd9a925]{position:fixed;inset:0;z-index:9999;display:flex;align-items:flex-end;justify-content:center;padding:0}.install-backdrop[data-v-dfd9a925]{position:absolute;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.install-content[data-v-dfd9a925]{position:relative;background:linear-gradient(135deg,#fff,#f9fafb);border-radius:24px 24px 0 0;box-shadow:0 -10px 25px -5px #0000001a,0 -8px 10px -6px #0000001a;width:100%;max-width:480px;padding:0;margin:0}.install-header[data-v-dfd9a925]{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid var(--border-color)}.app-icon[data-v-dfd9a925]{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:16px;box-shadow:0 4px 12px #0000001a;padding:8px;overflow:hidden}.app-icon img[data-v-dfd9a925]{width:100%;height:100%;object-fit:contain}.dismiss-btn[data-v-dfd9a925]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:none;border-radius:50%;cursor:pointer;transition:all .2s ease;color:var(--text-secondary)}.dismiss-btn[data-v-dfd9a925]:hover{background:#e5e7eb;color:var(--text-primary)}.install-body[data-v-dfd9a925]{padding:1.5rem}.install-body h3[data-v-dfd9a925]{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0 0 .75rem}.install-body p[data-v-dfd9a925]{font-size:1rem;line-height:1.6;color:var(--text-secondary);margin:0 0 1.5rem}.features[data-v-dfd9a925]{display:flex;flex-direction:column;gap:.875rem}.feature[data-v-dfd9a925]{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#f0fdf4;border-radius:12px;border:1px solid #d1fae5}.feature svg[data-v-dfd9a925]{color:#10b981;flex-shrink:0}.feature span[data-v-dfd9a925]{font-size:.9375rem;font-weight:500;color:#065f46}.install-actions[data-v-dfd9a925]{padding:1.5rem;padding-top:0;display:flex;flex-direction:column;gap:.75rem}.install-btn[data-v-dfd9a925]{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:1rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #10b9814d}.install-btn[data-v-dfd9a925]:hover{transform:translateY(-2px);box-shadow:0 6px 20px #10b98166}.install-btn[data-v-dfd9a925]:active{transform:translateY(0)}.install-btn svg[data-v-dfd9a925]{flex-shrink:0}.later-btn[data-v-dfd9a925]{width:100%;padding:.875rem;background:transparent;color:var(--text-secondary);border:2px solid #e5e7eb;border-radius:12px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease}.later-btn[data-v-dfd9a925]:hover{background:var(--bg-secondary);border-color:#d1d5db;color:var(--text-primary)}.slide-up-enter-active[data-v-dfd9a925]{transition:all .3s ease-out}.slide-up-leave-active[data-v-dfd9a925]{transition:all .25s ease-in}.slide-up-enter-from[data-v-dfd9a925]{opacity:0}.slide-up-enter-from .install-content[data-v-dfd9a925]{transform:translateY(100%)}.slide-up-leave-to[data-v-dfd9a925]{opacity:0}.slide-up-leave-to .install-content[data-v-dfd9a925]{transform:translateY(100%)}@media(max-width:640px){.install-content[data-v-dfd9a925]{max-width:100%}.install-header[data-v-dfd9a925]{padding:1.25rem 1.25rem .875rem}.app-icon[data-v-dfd9a925]{width:56px;height:56px;padding:6px}.install-body[data-v-dfd9a925]{padding:1.25rem}.install-body h3[data-v-dfd9a925]{font-size:1.375rem}.install-body p[data-v-dfd9a925]{font-size:.9375rem}.install-actions[data-v-dfd9a925]{padding:1.25rem;padding-top:0}}@media(min-width:641px){.install-pwa[data-v-dfd9a925]{align-items:center;padding:1rem}.install-content[data-v-dfd9a925]{border-radius:24px}}[data-theme=dark] .install-pwa-modal[data-v-dfd9a925]{background:var(--bg-primary);border-color:var(--border-color)}[data-theme=dark] .install-header[data-v-dfd9a925]{background:var(--bg-secondary);border-bottom-color:var(--border-color)}.modal-overlay[data-v-c4640a95]{position:fixed;inset:0;z-index:9999;display:flex;align-items:flex-end;justify-content:center;padding:0}.modal-backdrop[data-v-c4640a95]{position:absolute;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content[data-v-c4640a95]{position:relative;background:linear-gradient(135deg,#fff,#f9fafb);border-radius:24px 24px 0 0;box-shadow:0 -10px 25px -5px #0000001a,0 -8px 10px -6px #0000001a;width:100%;max-width:480px;padding:0;margin:0}.modal-close[data-v-c4640a95]{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:2rem;cursor:pointer;color:var(--text-secondary);line-height:1;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.modal-close[data-v-c4640a95]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal-header[data-v-c4640a95]{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid var(--border-color)}.google-icon[data-v-c4640a95]{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#4285f4,#34a853 50%,#fbbc04,#ea4335);border-radius:14px;box-shadow:0 4px 12px #4285f440;color:#fff;font-size:1.75rem;font-weight:700}.modal-body[data-v-c4640a95]{padding:1.5rem}.modal-body h2[data-v-c4640a95]{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0 0 .75rem}.subtitle[data-v-c4640a95]{font-size:1rem;line-height:1.6;color:var(--text-secondary);margin:0 0 1.5rem}.benefits[data-v-c4640a95]{display:flex;flex-direction:column;gap:.875rem;margin-bottom:1.5rem}.benefit[data-v-c4640a95]{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#f0fdf4;border-radius:12px;border:1px solid #d1fae5}.benefit svg[data-v-c4640a95]{color:#10b981;flex-shrink:0}.benefit span[data-v-c4640a95]{font-size:.9375rem;font-weight:500;color:#065f46}.modal-actions[data-v-c4640a95]{padding:1.5rem;padding-top:0;display:flex;flex-direction:column;gap:.75rem}.actions[data-v-c4640a95]{display:flex;flex-direction:column;gap:.75rem}.btn-primary[data-v-c4640a95],.btn-secondary[data-v-c4640a95],.btn-text[data-v-c4640a95]{padding:.875rem 1.5rem;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;border:none;width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-primary[data-v-c4640a95]{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 4px 12px #10b9814d}.btn-primary[data-v-c4640a95]:hover{transform:translateY(-2px);box-shadow:0 6px 20px #10b98166}.btn-secondary[data-v-c4640a95]{background:transparent;color:var(--text-secondary);border:2px solid #e5e7eb}.btn-secondary[data-v-c4640a95]:hover{background:var(--bg-secondary);border-color:#d1d5db;color:var(--text-primary)}.btn-text[data-v-c4640a95]{background:none;color:var(--text-secondary);padding:.5rem}.btn-text[data-v-c4640a95]:hover{color:var(--text-primary);background:var(--bg-secondary)}.slide-up-enter-active[data-v-c4640a95]{transition:all .3s ease-out}.slide-up-leave-active[data-v-c4640a95]{transition:all .25s ease-in}.slide-up-enter-from[data-v-c4640a95]{opacity:0}.slide-up-enter-from .modal-content[data-v-c4640a95]{transform:translateY(100%)}.slide-up-leave-to[data-v-c4640a95]{opacity:0}.slide-up-leave-to .modal-content[data-v-c4640a95]{transform:translateY(100%)}@media(max-width:640px){.modal-content[data-v-c4640a95]{max-width:100%}.modal-header[data-v-c4640a95]{padding:1.25rem 1.25rem .875rem}.google-icon[data-v-c4640a95]{width:48px;height:48px;font-size:1.5rem}.modal-body[data-v-c4640a95]{padding:1.25rem}.modal-body h2[data-v-c4640a95]{font-size:1.375rem}.modal-actions[data-v-c4640a95]{padding:1.25rem;padding-top:0}}@media(min-width:641px){.modal-overlay[data-v-c4640a95]{align-items:center;padding:1rem}.modal-content[data-v-c4640a95]{border-radius:24px}}[data-theme=dark] .modal-backdrop[data-v-c4640a95]{background:#000000bf}[data-theme=dark] .review-modal[data-v-c4640a95]{background:var(--bg-primary);border-color:var(--border-color)}html[data-v-adecc658],body[data-v-adecc658]{margin:0;padding:0;width:100%;height:100%}#app[data-v-adecc658]{width:100%;height:100%;overflow:hidden;position:relative;background:var(--bg-app);touch-action:pan-y pan-x;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column}#app input[data-v-adecc658],#app textarea[data-v-adecc658],#app [contenteditable][data-v-adecc658]{-webkit-user-select:text;user-select:text}.drag-indicator[data-v-adecc658]{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;pointer-events:none;display:flex;align-items:center;justify-content:center}.drag-hint[data-v-adecc658]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:#fff;pointer-events:none;text-align:center;max-width:300px}.drag-hint svg[data-v-adecc658]{filter:drop-shadow(0 4px 12px rgba(255,255,255,.3));animation:pulse-adecc658 2s ease-in-out infinite}.drag-hint p[data-v-adecc658]{font-size:1rem;font-weight:600;margin:0;text-align:center;text-shadow:0 2px 8px rgba(0,0,0,.5)}@keyframes pulse-adecc658{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.main-content[data-v-adecc658]{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:auto}.main-content.no-header[data-v-adecc658]{padding-top:0;padding-left:0;padding-right:0}.main-content.with-bottom-nav[data-v-adecc658]{padding-bottom:90px}@media(max-width:1200px){.main-content[data-v-adecc658]{padding-top:0;padding-left:1rem;padding-right:1rem}.main-content.no-header[data-v-adecc658]{padding-left:0;padding-right:0}}@media(max-width:480px){.main-content[data-v-adecc658]{padding-left:.75rem;padding-right:.75rem}}.notifications-container[data-v-adecc658]{position:fixed;top:80px;right:20px;z-index:1000;display:flex;flex-direction:column;gap:.75rem;max-width:400px}@media(max-width:1200px){.notifications-container[data-v-adecc658]{top:70px;right:1rem;left:1rem;max-width:none}}@media(max-width:480px){.notifications-container[data-v-adecc658]{top:60px;right:.75rem;left:.75rem}}.notification[data-v-adecc658]{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:var(--bg-primary);border-radius:12px;box-shadow:var(--shadow-lg);font-size:.875rem;font-weight:500;color:var(--text-primary);border:1px solid var(--border-color)}@media(max-width:480px){.notification[data-v-adecc658]{padding:.875rem 1rem;font-size:.8125rem}}.notification.success[data-v-adecc658]{border-left:4px solid #10b981}.notification.success svg[data-v-adecc658]{color:#10b981;flex-shrink:0}.notification.error[data-v-adecc658]{border-left:4px solid #ef4444}.notification.error svg[data-v-adecc658]{color:#ef4444;flex-shrink:0}.notification.info[data-v-adecc658]{border-left:4px solid #3b82f6}.notification.info svg[data-v-adecc658]{color:#3b82f6;flex-shrink:0}.notification-close[data-v-adecc658]{margin-left:auto;background:none;border:none;color:var(--text-secondary);font-size:1.5rem;line-height:1;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:color .2s}.notification-close[data-v-adecc658]:hover{color:var(--text-primary)}.notification-list-enter-active[data-v-adecc658],.notification-list-leave-active[data-v-adecc658]{transition:all .3s ease}.notification-list-enter-from[data-v-adecc658],.notification-list-leave-to[data-v-adecc658]{opacity:0;transform:translate(100%)}:root{--font-family-base: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-display: "Plus Jakarta Sans", "Inter", -apple-system, sans-serif;--font-family: var(--font-family-base);--color-primary: #1F7D49;--color-primary-dark: #18663b;--color-primary-darker: #13522f;--color-primary-light: #a7f3d0;--color-primary-lighter: #f0fdf6;--color-primary-rgb: 31, 125, 73;--primary: #1f7d49;--primary-hover: #18663b;--primary-light: #e1f7eb;--color-primary-50: #f0fdf6;--color-primary-100: #e1f7eb;--color-primary-200: #b8eed0;--color-primary-300: #81e0ad;--color-primary-400: #42ca82;--color-primary-500: #1f7d49;--color-primary-600: #18663b;--color-primary-700: #145230;--color-primary-800: #104127;--color-primary-900: #0c331e;--color-success: #059669;--color-success-dark: #047857;--color-success-light: #d1fae5;--color-success-rgb: 5, 150, 105;--success: #1f7d49;--success-light: #e1f7eb;--color-danger: #dc2626;--color-danger-dark: #b91c1c;--color-danger-light: #fee2e2;--color-danger-rgb: 220, 38, 38;--danger: #ef4444;--danger-hover: #dc2626;--color-warning: #d97706;--color-warning-dark: #b45309;--color-warning-light: #fef3c7;--color-warning-rgb: 217, 119, 6;--warning: #f59e0b;--warning-light: #fef3c7;--color-info: #2563eb;--color-info-dark: #1d4ed8;--color-info-light: #dbeafe;--color-info-rgb: 37, 99, 235;--info: #3b82f6;--info-light: #dbeafe;--secondary: #6b7280;--secondary-hover: #4b5563;--color-gray-50: #f8fafc;--color-gray-100: #f1f5f9;--color-gray-200: #e2e8f0;--color-gray-300: #cbd5e1;--color-gray-400: #94a3b8;--color-gray-500: #64748b;--color-gray-600: #475569;--color-gray-700: #334155;--color-gray-800: #1e293b;--color-gray-900: #0f172a;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--text-primary: #111827;--text-secondary: #6b7280;--text-tertiary: #9ca3af;--text-inverse: #ffffff;--text-white: #ffffff;--text-brand: var(--color-primary);--bg-app: #f3f4f6;--bg-primary: #ffffff;--bg-secondary: #f9fafb;--bg-tertiary: #f3f4f6;--bg-hover: #f9fafb;--bg-active: #f0fdf6;--border-color: #e5e7eb;--border-color-light: #f3f4f6;--border-color-dark: #d1d5db;--border-focus: var(--color-primary);--border-radius: 12px;--border-radius-sm: 8px;--border-radius-lg: 16px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--transition: all .2s ease-in-out;--transition-fast: all .15s ease-in-out;--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--gradient-primary: linear-gradient(135deg, #1F7D49 0%, #18663b 100%);--gradient-primary-soft: linear-gradient(135deg, #f0fdf6 0%, #d1fae5 100%);--gradient-shimmer: linear-gradient(90deg, var(--gray-200) 25%, var(--gray-100) 50%, var(--gray-200) 75%)}[data-theme=dark]{--text-primary: #ffffff;--text-secondary: #adadad;--text-tertiary: #757575;--text-inverse: #121212;--text-white: #ffffff;--bg-app: #121212;--bg-primary: #1e1e1e;--bg-secondary: #252525;--bg-tertiary: #2c2c2c;--bg-hover: #333333;--bg-active: #1b3a2b;--border-color: #333333;--border-color-light: #262626;--border-color-dark: #444444;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .6);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .6);--shadow: 0 2px 4px rgba(0, 0, 0, .6);--shadow-md: 0 4px 8px rgba(0, 0, 0, .7);--shadow-lg: 0 8px 16px rgba(0, 0, 0, .8);--shadow-xl: 0 12px 24px rgba(0, 0, 0, .9);--gradient-primary-soft: #1b3a2b;--gradient-shimmer: linear-gradient(90deg, #1e1e1e 0%, #2c2c2c 50%, #1e1e1e 100%);--color-primary: #22c55e;--color-primary-dark: #16a34a;--color-primary-light: #4ade80;--color-primary-lighter: #1b3a2b;--primary: #22c55e;--primary-hover: #16a34a;--primary-light: #1b3a2b;--color-primary-50: #1b3a2b;--color-primary-100: #1b3a2b;--color-primary-200: #14522f;--color-success: #22c55e;--color-success-dark: #4ade80;--color-success-light: rgba(34, 197, 94, .15);--success: #22c55e;--success-light: rgba(34, 197, 94, .15);--color-warning: #f59e0b;--color-warning-dark: #fbbf24;--color-warning-light: rgba(245, 158, 11, .15);--warning: #f59e0b;--warning-light: rgba(245, 158, 11, .15);--color-danger: #ef4444;--color-danger-dark: #f87171;--color-danger-light: rgba(239, 68, 68, .15);--danger: #ef4444;--danger-hover: #f87171;--color-info: #3b82f6;--color-info-dark: #60a5fa;--color-info-light: rgba(59, 130, 246, .15);--info: #3b82f6;--info-light: rgba(59, 130, 246, .15);--gray-50: #1e1e1e;--gray-100: #252525;--gray-200: #2c2c2c;--gray-300: #333333;--gray-400: #757575;--gray-500: #adadad;--gray-600: #c0c0c0;--gray-700: #d4d4d4;--gray-800: #e8e8e8;--gray-900: #f5f5f5}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px}body{font-family:var(--font-family);background:var(--bg-app);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;transition:background-color .2s ease,color .2s ease}#app{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-display, "Plus Jakarta Sans", "Inter", sans-serif);font-weight:600;line-height:1.2;color:var(--text-primary)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}p{margin-bottom:1rem}button{border:none;cursor:pointer;font-family:inherit;font-size:var(--font-size-sm);font-weight:500;transition:var(--transition)}button:disabled{opacity:.5;cursor:not-allowed}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:var(--border-radius-sm);font-weight:500;transition:var(--transition);white-space:nowrap}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:var(--border-color)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--danger-hover)}.btn-sm{padding:.5rem 1rem;font-size:var(--font-size-xs)}.btn-lg{padding:.75rem 1.5rem;font-size:var(--font-size-base)}input,textarea,select{font-family:inherit;font-size:var(--font-size-sm);color:var(--text-primary);background:var(--bg-primary)}input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],textarea,select{width:100%;padding:.625rem 1rem;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--bg-primary);color:var(--text-primary);transition:var(--transition)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}[data-theme=dark] input,[data-theme=dark] textarea,[data-theme=dark] select,[data-theme=dark] input[type=date],[data-theme=dark] input[type=datetime-local],[data-theme=dark] input[type=time]{color:var(--text-primary)!important;background:var(--bg-secondary)!important;border-color:var(--border-color)!important;color-scheme:dark}.card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);transition:var(--transition)}.card:hover{box-shadow:var(--shadow-md)}a{text-decoration:none;color:inherit;transition:var(--transition)}a:hover{color:var(--primary)}.container{margin:0 auto;padding:0 var(--spacing-lg)}.page-wrapper{flex:1;padding:var(--spacing-xl) var(--spacing-lg);background:var(--bg-app)}.text-center{text-align:center}.text-muted{color:var(--text-secondary)}.text-primary-color{color:var(--primary)}.text-danger{color:var(--danger)}.text-success{color:var(--success)}.skeleton{background:var(--gradient-shimmer);background-size:200% 100%;animation:loading 1.5s ease-in-out infinite;border-radius:var(--border-radius-sm)}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}[data-theme=dark] ::-webkit-scrollbar{background:var(--bg-secondary)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--border-color-dark);border-radius:4px}*{-webkit-tap-highlight-color:rgba(0,0,0,.05);-webkit-touch-callout:none}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{overscroll-behavior-y:auto;-webkit-overflow-scrolling:touch}@media(max-width:768px){.stat-card{padding:1.25rem!important;margin-bottom:0!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box!important}.stats-grid{gap:1rem!important;padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important}.charts-grid,.achievements-grid{gap:.875rem!important}}button,.clickable{transition:all .2s cubic-bezier(.4,0,.2,1)}button:active{transform:scale(.97)}button:focus-visible,a:focus-visible{outline:2px solid #10b981;outline-offset:2px}@media(hover:none)and (pointer:coarse){button:active,.btn:active{opacity:.8}}@keyframes spin{to{transform:rotate(360deg)}}
