:root{--canvas: #ffffff;--surface-1: #fafafa;--surface-2: #f4f4f5;--border: #e4e4e7;--border-strong: #d4d4d8;--ink: #18181b;--ink-secondary: #71717a;--ink-muted: #a1a1aa;--accent: #2563eb;--accent-hover: #1d4ed8;--semantic-error: #dc2626;--semantic-warning: #d97706;--semantic-success: #16a34a;--sidebar-bg: #18181b;--sidebar-ink: #fafafa;--font-family: Inter, -apple-system, system-ui, sans-serif;--font-mono: "SF Mono", "JetBrains Mono", monospace;--text-caption: 12px;--text-body: 14px;--text-body-weight: 400;--text-button: 14px;--text-button-weight: 500;--text-title: 16px;--text-title-weight: 500;--text-title-tracking: -.2px;--text-mono: 13px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--shadow-dropdown: 0 4px 12px rgba(0, 0, 0, .08), 0 2px 4px rgba(0, 0, 0, .04);--sidebar-width: 240px;--header-height: 48px;--transition-fast: .15s ease}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-family:var(--font-family);font-size:16px;line-height:1.6;color:var(--ink);background-color:var(--canvas);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font:inherit;color:inherit}input,select,textarea{font:inherit;color:inherit}.text-title{font-size:var(--text-title);font-weight:var(--text-title-weight);letter-spacing:var(--text-title-tracking)}.text-body{font-size:var(--text-body);font-weight:var(--text-body-weight)}.text-caption{font-size:var(--text-caption);font-weight:400}.text-button{font-size:var(--text-button);font-weight:var(--text-button-weight)}.text-mono{font-size:var(--text-mono);font-family:var(--font-mono)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.card{background:var(--canvas);border-radius:var(--radius-md);padding:var(--sp-4);border:1px solid var(--border);transition:border-color var(--transition-fast)}.card-title{font-size:var(--text-title);font-weight:500;color:var(--ink);margin-bottom:var(--sp-4);display:flex;align-items:center;gap:var(--sp-2)}.card-title-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-md);flex-shrink:0}.status-badge{display:inline-flex;align-items:center;gap:var(--sp-1);padding:3px var(--sp-3);border-radius:var(--radius-sm);font-size:var(--text-caption);font-weight:500}.status-badge--success{background:#f0fdf4;color:var(--semantic-success)}.status-badge--error{background:#fef2f2;color:var(--semantic-error)}.status-badge--warning{background:#fffbeb;color:#92400e}.status-badge--info{background:#2563eb14;color:var(--accent)}.status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.status-dot--success{background:var(--semantic-success)}.status-dot--error{background:var(--semantic-error)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);border-radius:var(--radius-lg);font-weight:500;transition:background-color var(--transition-fast),opacity var(--transition-fast)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;padding:var(--sp-3) var(--sp-4);font-size:var(--text-body);font-weight:500}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:var(--border);color:var(--ink-secondary);padding:var(--sp-2) var(--sp-4);font-size:var(--text-body)}.btn-secondary:hover:not(:disabled){background:var(--border-strong)}.spinner{border-radius:50%;animation:spin .6s linear infinite}.spinner--sm{width:14px;height:14px;border:2px solid var(--border-strong);border-top-color:var(--accent)}.spinner--md{width:32px;height:32px;border:3px solid var(--border-strong);border-top-color:var(--accent)}.spinner--btn{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff}.loading-text{text-align:center;color:var(--ink-muted);font-size:var(--text-body);padding:var(--sp-5) 0}.period-tabs{display:flex;gap:var(--sp-2);margin-bottom:var(--sp-4)}.tab{padding:var(--sp-1) var(--sp-3);border-radius:var(--radius-md);font-size:var(--text-caption);font-weight:500;background:var(--surface-1);color:var(--ink-secondary);transition:background-color var(--transition-fast),color var(--transition-fast)}.tab:hover:not(:disabled){background:var(--border)}.tab--active{background:var(--accent);color:#fff}.tab--active:hover:not(:disabled){background:var(--accent-hover)}.tab:disabled{opacity:.5;cursor:not-allowed}.error-container{text-align:center;padding:var(--sp-4) 0}.error-text{color:var(--semantic-error);font-size:var(--text-body);margin-bottom:var(--sp-2)}.retry-btn{padding:var(--sp-1) var(--sp-3);border-radius:var(--radius-md);font-size:var(--text-caption);font-weight:500;background:var(--border);color:var(--ink-secondary);transition:background-color var(--transition-fast)}.retry-btn:hover{background:var(--border-strong)}.empty-container{text-align:center;padding:var(--sp-5) 0}.empty-text{color:var(--ink-muted);font-size:var(--text-body)}.toast-container{position:fixed;bottom:var(--sp-4);left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:var(--sp-2);z-index:1000;width:calc(100% - var(--sp-6));max-width:960px;pointer-events:none}.toast{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-dropdown);font-size:var(--text-body);pointer-events:auto;animation:toast-in .25s ease-out}.toast--error{background:#fef2f2;color:var(--semantic-error);border:1px solid var(--semantic-error)}.toast--success{background:#f0fdf4;color:var(--semantic-success);border:1px solid #c6f6d5}.toast--warning{background:#fffbeb;color:#92400e;border:1px solid var(--semantic-warning)}.toast-message{flex:1;line-height:1.4}.toast-close{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:10px;opacity:.6;transition:opacity var(--transition-fast);cursor:pointer}.toast-close:hover{opacity:1}.chart-container{position:relative;width:100%;max-height:300px}.partial-error-banner{background:#fffbeb;border:1px solid var(--semantic-warning);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-lg);margin-bottom:var(--sp-4);color:#92400e;font-size:var(--text-body)}@media(max-width:480px){.card{padding:var(--sp-4);border-radius:var(--radius-lg)}}.sidebar.svelte-129hoe0{width:var(--sidebar-width);min-width:var(--sidebar-width);height:100vh;background:var(--sidebar-bg);display:flex;flex-direction:column;overflow-y:auto}.sidebar-logo.svelte-129hoe0{display:flex;align-items:center;gap:8px;padding:var(--sp-4) var(--sp-4) var(--sp-4)}.brand-mark.svelte-129hoe0{width:22px;height:22px;border-radius:4px;background:#facc15;display:grid;place-items:center;color:#1a1300;font-size:13px;font-weight:800;font-style:italic;letter-spacing:-.06em;flex-shrink:0}.logo-text.svelte-129hoe0{font-size:15px;font-weight:800;letter-spacing:-.03em;color:var(--sidebar-ink)}.sidebar-nav.svelte-129hoe0{flex:1;display:flex;flex-direction:column;padding:0 var(--sp-3)}.nav-label.svelte-129hoe0{font-size:10px;font-weight:600;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.05em;padding:var(--sp-3) var(--sp-3) var(--sp-2)}.nav-item.svelte-129hoe0{display:flex;align-items:center;gap:9px;padding:7px 12px;border-radius:5px;font-size:12.5px;font-weight:500;color:var(--ink-muted);transition:background var(--transition-fast),color var(--transition-fast);text-align:left;width:100%}.nav-item.svelte-129hoe0:hover{background:#ffffff0f;color:var(--sidebar-ink)}.nav-item.active.svelte-129hoe0{background:var(--sidebar-ink);color:var(--sidebar-bg);font-weight:600}.nav-svg.svelte-129hoe0{flex-shrink:0;color:inherit}.nav-text.svelte-129hoe0{flex:1;color:inherit}.pro-label.svelte-129hoe0{margin-left:auto;font-size:9.5px;padding:1px 5px;border-radius:2px;background:#ffffff0f;color:var(--ink-muted);font-weight:700;letter-spacing:.02em;border:1px solid rgba(255,255,255,.1)}.sidebar-footer.svelte-129hoe0{margin-top:auto;padding:10px 12px 16px;border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:8px}.tier-toggle.svelte-129hoe0{font-size:9.5px;padding:1px 6px;border-radius:2px;background:#ffffff0f;color:var(--ink-muted);font-weight:700;letter-spacing:.02em;border:1px solid rgba(255,255,255,.1);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.tier-toggle.svelte-129hoe0:hover:not(:disabled){color:#facc15;background:#ffffff1f}.tier-toggle.svelte-129hoe0:disabled{opacity:.5;cursor:wait}.tier-label-btn.svelte-129hoe0{font-size:11.5px;color:var(--ink-muted);background:none;border:none;cursor:pointer;padding:0;transition:color var(--transition-fast)}.tier-label-btn.svelte-129hoe0:hover{color:var(--sidebar-ink)}.sidebar-backdrop.svelte-129hoe0{display:none}@media(max-width:768px){.sidebar.svelte-129hoe0{position:fixed;top:0;left:0;z-index:200;transform:translate(-100%);transition:transform .25s ease;box-shadow:none}.sidebar--mobile-open.svelte-129hoe0{transform:translate(0);box-shadow:4px 0 24px #00000026}.sidebar-backdrop.svelte-129hoe0{display:block;position:fixed;inset:0;z-index:199;background:#00000059;animation:svelte-129hoe0-fadeIn .2s ease}}@keyframes svelte-129hoe0-fadeIn{0%{opacity:0}to{opacity:1}}.shop-dropdown-wrapper.svelte-1x118gn{display:flex;align-items:center;gap:var(--sp-2);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-1) var(--sp-3)}.shop-icon-svg.svelte-1x118gn{flex-shrink:0}.shop-select.svelte-1x118gn{border:none;background:transparent;font-size:var(--text-body);color:var(--ink);cursor:pointer;outline:none;padding:var(--sp-1) 0;min-width:140px}.shop-select.svelte-1x118gn:disabled{opacity:.6;cursor:wait}.app-header.svelte-isll26{height:var(--header-height);min-height:var(--header-height);border-bottom:1px solid var(--border);padding:0 var(--sp-5);display:flex;align-items:center;justify-content:space-between;background:var(--canvas);gap:var(--sp-4)}.header-left.svelte-isll26{display:flex;align-items:center;gap:var(--sp-4);flex:1;min-width:0}.header-right.svelte-isll26{display:flex;align-items:center;gap:var(--sp-3);flex-shrink:0}.sync-status.svelte-isll26{display:flex;align-items:center;gap:var(--sp-1);font-size:var(--text-caption)}.sync-status.idle.svelte-isll26{color:var(--ink-muted)}.sync-status.pending.svelte-isll26{color:var(--semantic-warning, #d97706)}.sync-status.syncing.svelte-isll26{color:var(--accent)}.sync-prog.svelte-isll26{display:flex;flex-direction:column;gap:3px;min-width:150px;max-width:230px}.sync-prog-top.svelte-isll26{display:flex;align-items:center;justify-content:space-between;gap:8px;line-height:1.1}.sync-prog-label.svelte-isll26{font-size:var(--text-caption);color:var(--accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sync-prog-pct.svelte-isll26{font-size:var(--text-caption);font-weight:700;color:var(--accent);flex-shrink:0}.sync-bar.svelte-isll26{height:4px;border-radius:999px;background:color-mix(in srgb,var(--accent) 18%,transparent);overflow:hidden}.sync-bar-fill.svelte-isll26{height:100%;border-radius:999px;background:var(--accent);transition:width .4s ease}.sync-icon-svg.svelte-isll26{flex-shrink:0}.sync-icon-svg.spinning.svelte-isll26{animation:svelte-isll26-spin 1s linear infinite}.header-divider.svelte-isll26{width:1px;height:24px;background:var(--border-strong)}.user-info.svelte-isll26{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--text-body);color:var(--ink-secondary)}.user-avatar-svg.svelte-isll26{flex-shrink:0}.user-name.svelte-isll26{font-weight:500;white-space:nowrap}@keyframes svelte-isll26-spin{to{transform:rotate(360deg)}}.hamburger.svelte-isll26{display:none;place-items:center;width:32px;height:32px;border-radius:6px;background:none;border:none;color:var(--ink-secondary);cursor:pointer;flex-shrink:0}.hamburger.svelte-isll26:hover{background:#0000000d;color:var(--ink)}@media(max-width:768px){.hamburger.svelte-isll26{display:grid}.header-right.svelte-isll26{display:none}.app-header.svelte-isll26{padding:0 var(--sp-4)}}.app-shell.svelte-12qhfyh{display:flex;height:100vh;background:var(--canvas)}.main-area.svelte-12qhfyh{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.content-area.svelte-12qhfyh{flex:1;overflow:auto;padding:var(--sp-5)}@media(max-width:768px){.content-area.svelte-12qhfyh{padding:var(--sp-4)}}
