.ds-date-picker{position:relative;display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.ds-date-picker__pills{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.ds-date-picker__pill{display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-weight:500;white-space:nowrap;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.ds-date-picker__pill:hover{border-color:var(--border-strong);color:var(--fg-primary)}.ds-date-picker__pill--active{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:600}.ds-date-picker__pill--active:hover{color:#fff;border-color:var(--primary)}.ds-date-picker__trigger{display:none;align-items:center;gap:6px;font-size:12px;padding:7px 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--fg-primary);font-weight:600;cursor:pointer}.ds-date-picker__comparison{font-family:var(--font-body);font-size:12px;padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--fg-secondary);cursor:pointer}.ds-date-picker__comparison:hover{border-color:var(--border-strong);color:var(--fg-primary)}@media (max-width: 1024px){.ds-date-picker__pills{display:none}.ds-date-picker__trigger{display:inline-flex}}.ds-date-picker__popover{position:absolute;top:calc(100% + 6px);left:0;display:flex;background:var(--bg-raised);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:30;overflow:hidden;max-width:calc(100vw - 32px)}.ds-date-picker__rail{width:140px;border-right:1px solid var(--border-subtle);padding:8px 6px;display:flex;flex-direction:column;gap:1px;background:var(--bg-base)}.ds-date-picker__rail-item{font-size:12px;padding:7px 10px;border-radius:6px;text-align:left;color:var(--fg-secondary);cursor:pointer;white-space:nowrap}.ds-date-picker__rail-item:hover{background:var(--accent-brand-bg);color:var(--fg-primary)}.ds-date-picker__rail-item--active{background:var(--accent-brand-bg);color:var(--accent-brand-fg);font-weight:600}.ds-date-picker__calendars{display:flex;flex-direction:column;padding:12px 14px 10px;min-width:0}.ds-date-picker__cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.ds-date-picker__cal-title{font-size:13px;font-weight:600;color:var(--fg-primary);font-variant-numeric:tabular-nums}.ds-date-picker__cal-nav{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:var(--fg-secondary);cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}.ds-date-picker__cal-nav:hover{background:var(--border-subtle);color:var(--fg-primary)}.ds-date-picker__months{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media (max-width: 720px){.ds-date-picker__months{grid-template-columns:1fr}.ds-date-picker__month--second{display:none}.ds-date-picker__rail{width:100px}}.ds-date-picker__weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;font-size:10px;color:var(--fg-tertiary);text-align:center;padding:0 2px 4px;letter-spacing:.06em;text-transform:uppercase}.ds-date-picker__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.ds-date-picker__cell{width:30px;height:28px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-variant-numeric:tabular-nums;border-radius:4px;color:var(--fg-secondary);cursor:pointer;background:transparent;transition:background var(--duration-fast) var(--ease-out)}.ds-date-picker__cell--blank{cursor:default;pointer-events:none}.ds-date-picker__cell:hover:not(.ds-date-picker__cell--blank){background:var(--accent-brand-bg);color:var(--accent-brand-fg)}.ds-date-picker__cell--in-range{background:var(--accent-brand-bg);color:var(--accent-brand-fg);border-radius:0}.ds-date-picker__cell--start,.ds-date-picker__cell--end{background:var(--accent-brand);color:#fff;font-weight:600}.ds-date-picker__cell--start:hover,.ds-date-picker__cell--end:hover{background:var(--accent-brand);color:#fff}.ds-date-picker__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:10px;margin-top:8px;border-top:1px solid var(--border-subtle)}.ds-date-picker__footer-summary{font-size:12px;color:var(--fg-secondary)}.ds-date-picker__apply{font-size:12px;font-weight:600;padding:7px 14px;border-radius:6px;background:var(--primary);color:#fff;cursor:pointer;transition:opacity var(--duration-fast) var(--ease-out)}.ds-date-picker__apply:disabled{opacity:.4;cursor:not-allowed}.ds-client-switcher{position:relative}.ds-client-switcher__trigger{display:flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--border);border-radius:8px;font-size:12px;font-weight:600;color:var(--text);background:var(--surface);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.ds-client-switcher__trigger:hover{border-color:var(--border-strong);color:var(--fg-primary)}.ds-client-switcher__popover{position:absolute;top:calc(100% + 4px);right:0;background:var(--bg-raised);border:1px solid var(--border-default);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);min-width:240px;max-width:320px;padding:6px;z-index:30;animation:ds-cs-fade .12s var(--ease-out)}@keyframes ds-cs-fade{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.ds-client-switcher__search{position:relative;display:flex;align-items:center;gap:6px;padding:6px 8px 6px 28px;border:1px solid var(--border-default);border-radius:6px;background:var(--bg-input)}.ds-client-switcher__search-icon{position:absolute;left:8px;color:var(--fg-tertiary)}.ds-client-switcher__input{flex:1;border:none;outline:none;background:transparent;font-size:12.5px;color:var(--fg-primary);font-family:var(--font-body)}.ds-client-switcher__input::placeholder{color:var(--fg-tertiary)}.ds-client-switcher__list{list-style:none;margin:6px 0 0;padding:0;max-height:280px;overflow-y:auto;display:flex;flex-direction:column;gap:1px}.ds-client-switcher__empty{padding:12px 10px;font-size:12px;color:var(--fg-tertiary);text-align:center}.ds-client-switcher__item{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:7px 10px;border-radius:4px;font-size:12.5px;color:var(--fg-secondary);cursor:pointer;text-align:left;background:transparent}.ds-client-switcher__item--highlighted{background:var(--accent-brand-bg);color:var(--fg-primary)}.ds-client-switcher__item--active{color:var(--accent-brand-fg);font-weight:600}.ds-client-switcher__name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ds-user-menu{position:relative}.ds-user-menu__trigger{display:inline-flex;align-items:center;gap:6px;padding:2px 6px 2px 2px;height:32px;border:1px solid transparent;border-radius:999px;background:transparent;cursor:pointer;color:var(--fg-secondary);transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.ds-user-menu__trigger:hover,.ds-user-menu__trigger--open{background:var(--bg-overlay);border-color:var(--border-default);color:var(--fg-primary)}.ds-user-menu__avatar{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--accent-brand-bg);color:var(--accent-brand-fg);flex-shrink:0}.ds-user-menu__chevron{color:var(--fg-tertiary);transition:transform var(--duration-fast) var(--ease-out)}.ds-user-menu__trigger--open .ds-user-menu__chevron{transform:rotate(180deg)}.ds-user-menu__dropdown{position:absolute;top:calc(100% + 4px);right:0;min-width:220px;background:var(--bg-raised);border:1px solid var(--border-default);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:4px;z-index:30;animation:ds-user-menu-fade .14s var(--ease-out)}@keyframes ds-user-menu-fade{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.ds-user-menu__email{padding:8px 12px 6px;font-size:12px;color:var(--fg-secondary);font-weight:500;word-break:break-all}.ds-user-menu__divider{height:1px;background:var(--border-default);margin:4px 0}.ds-user-menu__item{display:flex;align-items:center;gap:10px;width:100%;height:36px;padding:8px 12px;border-radius:4px;background:transparent;color:var(--fg-secondary);font-size:13px;font-weight:500;cursor:pointer;text-align:left;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.ds-user-menu__item:hover,.ds-user-menu__item:focus-visible{background:var(--bg-overlay);color:var(--fg-primary);outline:none}.ds-topbar{display:flex;align-items:center;gap:10px;padding:0 20px;background:var(--surface);border-bottom:1px solid var(--border);height:var(--topbar-height);position:sticky;top:0;z-index:10}.ds-topbar__spacer{flex:1;min-width:0}.ds-topbar__client-name{font-size:12px;font-weight:600;color:var(--fg-secondary);padding:4px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}@media (max-width: 640px){.ds-topbar{padding:0 12px;gap:6px}.ds-topbar__client-name{display:none}}.ds-topbar__sidebar-toggle{width:36px;height:36px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--fg-secondary);border:1px solid var(--border-default);background:var(--bg-raised);flex-shrink:0;cursor:pointer;transition:color .15s var(--ease-out),border-color .15s var(--ease-out),background .15s var(--ease-out)}.ds-topbar__sidebar-toggle:hover,.ds-topbar__sidebar-toggle:focus-visible{color:var(--accent-brand-fg);border-color:var(--accent-brand);background:var(--accent-brand-bg);outline:none}.ds-app-shell{display:grid;grid-template-columns:var(--sidebar-width) 1fr;height:100vh;overflow:hidden;transition:grid-template-columns .22s var(--ease-out)}.ds-app-shell[data-collapsed=true]{grid-template-columns:0px 1fr}.ds-app-shell[data-collapsed=true]>.g2-sidebar{overflow:hidden;border-right-color:transparent}.ds-app-shell__main{display:flex;flex-direction:column;min-width:0;min-height:0}.ds-app-shell__content{flex:1;min-width:0;min-height:0;overflow:auto;padding:clamp(16px,2.4vw,32px) clamp(16px,2.6vw,32px)}.ds-app-shell__page{animation:ds-page-fade .15s var(--ease-out)}@keyframes ds-page-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.ds-app-shell__page{animation:none}}@media (max-width: 768px){.ds-app-shell,.ds-app-shell[data-collapsed=true]{grid-template-columns:1fr;height:auto;min-height:100vh;overflow:visible}.ds-app-shell[data-collapsed=true]>.g2-sidebar{overflow:visible;border-right-color:var(--border)}.ds-app-shell__content{overflow:visible;min-height:0}}.ds-app-shell__spine{position:fixed;top:0;left:0;bottom:0;width:4px;border:none;padding:0;background:var(--accent-brand);opacity:.6;z-index:30;cursor:pointer;transition:width .15s var(--ease-out),opacity .15s var(--ease-out)}.ds-app-shell__spine:hover,.ds-app-shell__spine:focus-visible{opacity:1;width:8px;outline:none}@media (max-width: 768px){.ds-app-shell__spine{display:none}}.ds-toast{background:var(--bg-raised)!important;border:1px solid var(--border-default)!important;color:var(--fg-primary)!important;box-shadow:var(--shadow-md)!important;border-radius:var(--radius-sm)!important;font-family:var(--font-body)!important}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:Inter,system-ui,-apple-system,sans-serif;font-size:14px;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,select,textarea{font-family:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600}p{margin:0}ul{margin:0;padding:0;list-style:none}:root{--primary: #7FD858;--primary-tint: rgba(127, 216, 88, .1);--primary-dark: #5BB63A;--accent-brand: var(--primary);--accent-brand-bg: var(--primary-tint);--accent-brand-border: rgba(127, 216, 88, .2);--accent-brand-fg: var(--primary);--nav-active-fg: var(--primary);--bg: #f5f6f8;--surface: #ffffff;--border: #e6e8ec;--border-strong: #d7dae0;--text: #1a1d23;--text-muted: #6b7280;--text-subtle: #9ca3af;--positive: #16a34a;--negative: #dc2626;--bg-base: #f5f6f8;--bg-raised: #ffffff;--bg-overlay: rgba(255, 255, 255, .92);--bg-input: #ffffff;--fg-primary: #0f172a;--fg-secondary: #475569;--fg-tertiary: #94a3b8;--fg-disabled: #cbd5e1;--border-subtle: #eef0f3;--border-default: #e2e6eb;--accent-positive: #10b981;--accent-positive-bg: rgba(16, 185, 129, .1);--accent-positive-border: rgba(16, 185, 129, .2);--accent-positive-fg: #059669;--accent-negative: #f43f5e;--accent-negative-bg: rgba(244, 63, 94, .1);--accent-negative-border: rgba(244, 63, 94, .2);--accent-negative-fg: #e11d48;--accent-neutral: #64748b;--accent-neutral-bg: rgba(100, 116, 139, .1);--accent-neutral-border: rgba(100, 116, 139, .2);--accent-neutral-fg: #475569;--accent-info: #5A95A8;--accent-info-bg: rgba(90, 149, 168, .1);--accent-info-border: rgba(90, 149, 168, .2);--accent-info-fg: #43768A;--accent-warn: #f59e0b;--accent-warn-bg: rgba(245, 158, 11, .1);--accent-warn-border: rgba(245, 158, 11, .2);--accent-warn-fg: #d97706;--font-display: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius: var(--radius-lg);--shadow-sm: 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 4px 12px rgba(15, 23, 42, .06), 0 2px 4px rgba(15, 23, 42, .04);--shadow-card: 0 1px 3px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04);--shadow-glow: 0 0 0 1px rgba(15, 23, 42, .06), 0 8px 32px -8px rgba(15, 23, 42, .12);--ease-out: cubic-bezier(.22, 1, .36, 1);--duration-fast: .15s;--duration-base: .3s;--sidebar-width: clamp(200px, 16vw, 260px);--topbar-height: 58px}body[data-theme=dark],[data-theme=dark]{--bg: #0f1114;--surface: #181b20;--border: #272a30;--border-strong: #343842;--text: #f3f4f6;--text-muted: #9ca3af;--text-subtle: #6b7280;--nav-active-fg: var(--text);--shadow-card: 0 1px 3px rgba(0, 0, 0, .35), 0 1px 2px rgba(0, 0, 0, .25);--bg-base: #0a0a0b;--bg-raised: #131316;--bg-overlay: rgba(19, 19, 22, .92);--bg-input: #1a1a1f;--fg-primary: #fafafa;--fg-secondary: #a1a1aa;--fg-tertiary: #71717a;--fg-disabled: #3f3f46;--border-subtle: #1f1f23;--border-default: #27272b;--accent-positive-fg: #34d399;--accent-negative-fg: #fb7185;--accent-neutral-fg: #94a3b8;--accent-info-fg: #8CB6C5;--accent-warn-fg: #fbbf24;--accent-positive-bg: rgba(16, 185, 129, .12);--accent-positive-border: rgba(16, 185, 129, .25);--accent-negative-bg: rgba(244, 63, 94, .12);--accent-negative-border: rgba(244, 63, 94, .25);--accent-neutral-bg: rgba(148, 163, 184, .1);--accent-neutral-border: rgba(148, 163, 184, .2);--accent-info-bg: rgba(140, 182, 197, .12);--accent-info-border: rgba(140, 182, 197, .25);--accent-warn-bg: rgba(251, 191, 36, .12);--accent-warn-border: rgba(251, 191, 36, .25);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4), 0 2px 4px rgba(0, 0, 0, .3);--shadow-glow: 0 0 0 1px rgba(255, 255, 255, .06), 0 8px 32px -8px rgba(0, 0, 0, .6)}[data-theme=light]{--bg: #f5f6f8;--surface: #ffffff;--border: #e6e8ec;--border-strong: #d7dae0;--text: #1a1d23;--text-muted: #6b7280;--text-subtle: #9ca3af;--nav-active-fg: var(--primary);--shadow-card: 0 1px 3px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04);--bg-base: #f5f6f8;--bg-raised: #ffffff;--bg-overlay: rgba(255, 255, 255, .92);--bg-input: #ffffff;--fg-primary: #0f172a;--fg-secondary: #475569;--fg-tertiary: #94a3b8;--fg-disabled: #cbd5e1;--border-subtle: #eef0f3;--border-default: #e2e6eb;--accent-positive-fg: #059669;--accent-negative-fg: #e11d48;--accent-neutral-fg: #475569;--accent-info-fg: #43768A;--accent-warn-fg: #d97706;--accent-positive-bg: rgba(16, 185, 129, .1);--accent-positive-border: rgba(16, 185, 129, .2);--accent-negative-bg: rgba(244, 63, 94, .1);--accent-negative-border: rgba(244, 63, 94, .2);--accent-neutral-bg: rgba(100, 116, 139, .1);--accent-neutral-border: rgba(100, 116, 139, .2);--accent-info-bg: rgba(90, 149, 168, .1);--accent-info-border: rgba(90, 149, 168, .2);--accent-warn-bg: rgba(245, 158, 11, .1);--accent-warn-border: rgba(245, 158, 11, .2);--shadow-sm: 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 4px 12px rgba(15, 23, 42, .06), 0 2px 4px rgba(15, 23, 42, .04);--shadow-glow: 0 0 0 1px rgba(15, 23, 42, .06), 0 8px 32px -8px rgba(15, 23, 42, .12)}.mono{font-family:var(--font-mono)}.tabular{font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums}.app-shell{display:grid;grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh}.app-main{display:flex;flex-direction:column;min-width:0}.app-content{flex:1;padding:24px 28px;min-width:0;overflow-x:auto}.g2-nav-row{transition:background-color .15s ease,color .15s ease}.g2-nav-row:hover{background:#0f172a0a;color:var(--text)}body[data-theme=dark] .g2-nav-row:hover{background:#ffffff0d}.g2-mobile-only{display:none}@media (max-width: 768px){.app-shell{grid-template-columns:1fr!important}.app-content{padding:18px 16px!important}.g2-sidebar{position:fixed!important;top:0;left:0;bottom:0;width:260px!important;transform:translate(-100%);transition:transform .22s ease;z-index:60;box-shadow:0 12px 32px #0f172a40}.g2-sidebar--open{transform:translate(0)}.g2-sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;z-index:55;animation:g2-fade-in .16s ease}.g2-mobile-only{display:inline-flex}.g2-desktop-only{display:none!important}}.g2-audience-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,280px);gap:14px;margin-bottom:14px}@media (max-width: 720px){.g2-audience-row{grid-template-columns:1fr}}@keyframes g2-fade-in{0%{opacity:0}to{opacity:1}}@keyframes g2-spin{to{transform:rotate(360deg)}}.g2-skeleton{background:linear-gradient(90deg,var(--border) 0%,var(--border-strong) 50%,var(--border) 100%);background-size:200% 100%;animation:g2-shimmer 1.4s ease-in-out infinite}@keyframes g2-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:8px}::-webkit-scrollbar-track{background:transparent}
