@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;700&family=Manrope:wght@400;600;700&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg-main:#eef4f9;--surface-main:#fdfefe;--surface-muted:#f5fafc;--surface-chart:#f7fbfd;--surface-border:#cddce5;--control-bg:#fff;--control-border:#b2c8d4;--text-primary:#102437;--text-secondary:#456277;--accent-teal:#0e87af;font-family:Manrope,sans-serif;font-size:max(14.4px,min(1.0542vw,2.1083vh));line-height:1.5}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-main:#091018;--surface-main:#111d29;--surface-muted:#142432;--surface-chart:#132330;--surface-border:#294257;--control-bg:#1a2b39;--control-border:#3e6078;--text-primary:#f2f8fc;--text-secondary:#b0c6d6;--accent-teal:#4cc6e9}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(circle at 18% 8%, #10a0cb38, #10a0cb00 35%), radial-gradient(circle at 88% 86%, #ffb7592e, #ffb75900 34%), var(--bg-main);color:var(--text-primary)}.page-shell{min-height:100vh;color:var(--text-primary);padding:.75rem;position:relative}.login-shell{justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.login-card{z-index:1;background:var(--surface-main);border:1px solid var(--surface-border);border-radius:24px;flex-direction:column;align-items:center;width:100%;max-width:380px;padding:2.5rem 2rem 2rem;animation:.42s cubic-bezier(.2,.8,.2,1) rise-in;display:flex;position:relative;box-shadow:0 24px 50px #03112421}.login-logo{background:var(--surface-muted);border:1px solid var(--surface-border);border-radius:16px;justify-content:center;align-items:center;width:60px;height:60px;margin-bottom:1.3rem;display:flex}.login-title{text-align:center;color:var(--text-primary);margin:0 0 .35rem;font-family:Space Grotesk,sans-serif;font-size:1.55rem;font-weight:700}.login-subtitle{color:var(--text-secondary);text-align:center;margin:0 0 1.6rem;font-size:.88rem}.login-divider{background:var(--surface-border);width:100%;height:1px;margin-bottom:1.5rem}.login-hint{color:var(--text-secondary);text-align:center;margin:0 0 1rem;font-size:.85rem}.google-signin-btn{border:1px solid var(--control-border);background:var(--control-bg);width:100%;color:var(--text-primary);font:inherit;cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:.7rem;margin-bottom:1.25rem;padding:.75rem 1.25rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:transform .12s,background .18s,border-color .18s,box-shadow .18s;display:flex}.google-signin-btn:hover{border-color:var(--accent-teal);transform:translateY(-1px);box-shadow:0 4px 14px #03112417}.login-theme-toggle{color:var(--text-secondary);font:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;align-items:center;gap:.35rem;padding:0;font-size:.8rem;transition:opacity .15s;display:inline-flex}.login-theme-toggle:hover{opacity:1}.user-menu-wrap{position:relative}.user-avatar-btn{border:1px solid var(--control-border);background:var(--control-bg);color:var(--text-primary);cursor:pointer;border-radius:14px;align-items:center;gap:.45rem;padding:.3rem .95rem;font-weight:600;transition:transform .12s,background .18s,border-color .18s;display:inline-flex}.user-avatar-btn:hover{border-color:var(--accent-teal);background:unset;transform:translateY(-1px)}.user-avatar-btn svg{transition:transform .2s}.user-avatar-img{object-fit:cover;border-radius:50%;width:30px;height:30px;display:block}.user-avatar-initials{background:var(--accent-teal);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:.75rem;font-weight:700;display:flex}.user-avatar-btn .chevron-open{transition:transform .2s;transform:rotate(180deg)}.user-dropdown{background:var(--surface-main);border:1px solid var(--surface-border);z-index:100;border-radius:16px;min-width:220px;animation:.18s cubic-bezier(.2,.8,.2,1) rise-in;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 12px 32px #03112424}.user-dropdown-info{flex-direction:column;gap:.2rem;padding:1rem 1rem .9rem;display:flex}.user-dropdown-name{color:var(--text-primary);font-size:.95rem;font-weight:700}.user-dropdown-email{color:var(--text-secondary);font-size:.82rem}.user-dropdown-role{background:color-mix(in oklab, var(--accent-teal) 15%, transparent);color:var(--accent-teal);border-radius:999px;align-self:flex-start;margin-top:.4rem;padding:.2rem .65rem;font-size:.78rem;font-weight:600;display:inline-block}.user-dropdown-divider{background:var(--surface-border);height:1px;margin:0}.user-dropdown-logout{text-align:left;width:100%;font:inherit;color:#de4b42;cursor:pointer;background:0 0;border:none;padding:.75rem 1rem;font-size:.9rem;font-weight:600;transition:background .15s;display:block}.user-dropdown-logout:hover{background:oklab(61.5742% .164028 .0849302/.1)}.ambient-shape{pointer-events:none;filter:blur();opacity:.26;z-index:0;border-radius:999px;position:fixed}.ambient-shape-left{background:radial-gradient(circle,#70d9ff 0%,#70d9ff00 70%);width:420px;height:420px;top:-170px;left:-120px}.ambient-shape-right{background:radial-gradient(circle,#ffd89d 0%,#ffd89d00 72%);width:460px;height:460px;bottom:-180px;right:-180px}.tracker-layout{z-index:1;background:var(--surface-main);border:1px solid var(--surface-border);border-radius:18px;max-width:1600px;margin:0 auto;padding:1.15rem;animation:.42s cubic-bezier(.2,.8,.2,1) rise-in;position:relative;box-shadow:0 24px 50px #03112424}.tracker-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-top:-.16rem;margin-bottom:.6rem;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.15em;color:var(--accent-teal);margin:0;font-size:.72rem;font-weight:700}h1{margin:0;font-family:Space Grotesk,sans-serif;font-size:clamp(1.65rem,2.6vw,2.35rem);line-height:1.05}.subtitle{max-width:700px;color:var(--text-secondary);margin:0}.header-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;margin-block:-.26rem;display:flex}.header-actions>.ghost-button{padding-block:.3rem}.header-actions>.theme-toggle-button{justify-content:center;width:38px;height:38px;padding:0}.ghost-button{border:1px solid var(--control-border);background:var(--control-bg);color:var(--text-primary);cursor:pointer;border-radius:14px;align-items:center;gap:.45rem;padding:.62rem .95rem;font-weight:600;transition:transform .12s,background .18s,border-color .18s;display:inline-flex}.ghost-button svg{flex:none;width:1rem;height:1rem}.ghost-button:disabled{opacity:.62;cursor:wait}.ghost-button:hover:not(:disabled){border-color:var(--accent-teal);transform:translateY(-1px)}.filters-panel{border:1px solid var(--surface-border);background:var(--surface-muted);border-radius:18px;margin-bottom:.7rem;padding:.75rem}.filter-grid{grid-template-columns:repeat(6,minmax(125px,1fr));gap:.6rem;display:grid}label{color:var(--text-secondary);flex-direction:column;gap:.3rem;font-size:.86rem;font-weight:600;display:flex}select,input[type=date]{border:1px solid var(--control-border);background:var(--control-bg);color:var(--text-primary);font:inherit;border-radius:11px;padding:.48rem .62rem}select:focus,input[type=date]:focus{outline:2px solid color-mix(in oklab, var(--accent-teal) 45%, transparent);border-color:var(--accent-teal)}select:disabled,input[type=date]:disabled{opacity:.66}.status-box{border:1px solid #0000;border-radius:12px;margin-bottom:.85rem;padding:.7rem .9rem;font-weight:600}.status-box.error{color:#781c1c;background:oklab(71.204% .15481 .0633283/.2);border-color:oklab(71.204% .15481 .0633283/.45)}.status-box.info{background:oklab(77.2555% -.0796197 -.0987263/.18);border-color:oklab(77.2555% -.0796197 -.0987263/.4)}.db-badge{border:1px solid color-mix(in oklab, var(--accent-teal) 45%, transparent);background:color-mix(in oklab, var(--accent-teal) 16%, transparent);border-radius:999px;align-items:center;gap:.35rem;padding:.25rem .68rem;font-size:.86rem;display:inline-flex}.chart-panel{border:1px solid var(--surface-border);background:var(--surface-chart);border-radius:20px;margin-bottom:.8rem;padding:.75rem}.chart-panel-empty .empty-state{margin:auto}.chart-toolbar{grid-template-columns:1fr auto 1fr;align-items:center;gap:.9rem;margin-bottom:.8rem;display:grid}.chart-toolbar-title{color:var(--text-secondary);flex-direction:column;gap:.2rem;font-size:.9rem;display:flex}.chart-summary{color:var(--text-secondary);text-align:center;font-size:.76rem}.chart-summary code{font-size:inherit}.chart-toggle-button{white-space:nowrap}.chart-actions{justify-self:end;align-items:center;gap:.5rem;display:flex}.daily-subscriptions{box-sizing:border-box;border:1px solid color-mix(in oklab, var(--accent-teal) 42%, var(--control-border));background:color-mix(in oklab, var(--accent-teal) 12%, var(--control-bg));min-height:34px;color:var(--text-primary);white-space:nowrap;border-radius:999px;align-items:center;gap:.55rem;padding:.28rem .68rem;display:inline-flex}.daily-subscriptions span{color:var(--text-secondary);font-size:.72rem;font-weight:600}.daily-subscriptions strong{color:var(--accent-teal);font-size:1rem;line-height:1}.daily-subscriptions.is-target-reached{background:color-mix(in oklab, #1ea768 16%, var(--control-bg));border-color:#1ea768}.daily-subscriptions.is-target-reached strong{color:#14714a}.chart-refresh-button{justify-content:center;padding:.62rem}.chart-refresh-button.is-active{color:var(--accent-teal);border-color:var(--accent-teal);background:color-mix(in oklab, var(--accent-teal) 16%, var(--control-bg));box-shadow:0 0 0 2px color-mix(in oklab, var(--accent-teal) 18%, transparent)}.chart-totals-button{z-index:3;margin-left:auto;position:absolute;top:0;right:0}.chart-display{grid-template-columns:minmax(0,1fr);display:grid;position:relative}.chart-display.has-totals{grid-template-columns:minmax(0,1fr) clamp(14.5rem,19vw,19rem);gap:.8rem}.chart-visualization{min-width:0}.funnel-visualization{padding-top:1.1rem}.semaphore-legend{flex-wrap:wrap;gap:.75rem;margin-bottom:.9rem;display:flex}.legend-item{color:var(--text-secondary);align-items:center;gap:.35rem;font-size:.9rem;display:inline-flex}.legend-dot{border:1px solid #0000;border-radius:999px;width:10px;height:10px;display:inline-block}.legend-dot-ok{background:#1ea768;border-color:#14714a}.legend-dot-below{background:#de4b42;border-color:#992e28}.legend-dot-no-data{background:#8b9aaa;border-color:#5e6f81}.chart-wrap{height:390px;position:relative}@media (width>=861px){.page-shell{min-height:100dvh}.tracker-layout{flex-direction:column;width:100%;max-width:none;min-height:calc(100dvh - 1.5rem);display:flex}.chart-panel{flex-direction:column;flex:1;min-height:0;margin-bottom:0;display:flex}.chart-display{flex:1;min-height:0}.line-chart-display{height:0}.chart-visualization:not(.funnel-visualization){flex-direction:column;min-height:0;display:flex}.chart-visualization:not(.funnel-visualization) .chart-wrap{flex:1;height:auto;min-height:0;overflow:hidden}.chart-visualization:not(.funnel-visualization) .chart-wrap>canvas{position:absolute;inset:0;width:100%!important;height:100%!important}.chart-display.has-totals .daily-totals-panel:not(.funnel-daily-totals){max-height:none}}.funnel-charts-pair{flex-direction:column;gap:1rem;display:flex}.funnel-sub-section{border:1px solid var(--surface-border);background:var(--surface-muted);border-radius:14px;padding:.9rem .9rem .5rem}.funnel-sub-header{color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase;margin-bottom:.6rem;font-size:.8rem;font-weight:700}.empty-state{color:var(--text-secondary);text-align:center;margin:0;padding:2.4rem .5rem}.cards-panel{gap:.9rem;display:grid}.daily-totals-panel{border:1px solid var(--surface-border);background:var(--surface-muted);scrollbar-width:thin;scrollbar-color:var(--control-border) transparent;border-radius:14px;align-self:start;max-height:390px;padding:.55rem;position:sticky;top:.75rem;overflow-y:auto}.daily-totals-panel::-webkit-scrollbar{width:6px}.daily-totals-panel::-webkit-scrollbar-thumb{background:var(--control-border);border-radius:999px}.chart-display.has-totals .daily-totals-panel:not(.funnel-daily-totals){margin-top:1.6rem}.line-chart-display.has-totals .daily-totals-panel:not(.funnel-daily-totals){height:var(--line-grid-height);max-height:var(--line-grid-height)}.funnel-daily-totals{z-index:1;width:auto;max-height:none;box-shadow:none;margin-top:3.25rem;position:sticky;top:.75rem;overflow:visible}.daily-totals-header{color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase;margin:0 0 .55rem;font-size:.72rem;font-weight:700}.daily-totals-panel .cards-panel{gap:.5rem}.daily-totals-panel .group-block{border-radius:11px;padding:.45rem}.daily-totals-panel .group-block h2{margin-bottom:.4rem;font-size:.78rem}.daily-totals-panel .cards-grid{flex-direction:column;gap:.35rem;display:flex}.daily-totals-panel .event-card{justify-content:space-between;align-items:center;gap:.5rem;padding:.38rem .45rem;display:flex}.daily-totals-panel .event-card p{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.65rem;overflow:hidden}.daily-totals-panel .event-card strong{flex:none;font-size:1rem}.group-block{border:1px solid var(--surface-border);border-radius:16px;padding:.7rem}.group-block h2{margin:0 0 .7rem;font-family:Space Grotesk,sans-serif;font-size:1.1rem}.group-landings{border-color:color-mix(in oklab, #14b8e4 35%, var(--surface-border));background:oklab(72.7475% -.0966906 -.0918229/.14)}.group-general{border-color:color-mix(in oklab, #7c8a95 30%, var(--surface-border));background:oklab(62.5789% -.0110877 -.0204757/.12)}.group-conversions{border-color:color-mix(in oklab, #2cb67d 35%, var(--surface-border));background:oklab(69.0749% -.134523 .0479496/.14)}.cards-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.65rem;display:grid}.event-card{border:1px solid var(--surface-border);background:color-mix(in oklab, var(--surface-main) 92%, transparent);border-radius:12px;padding:.55rem .65rem}.event-card p{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:.82rem}.event-card strong{font-family:Space Grotesk,sans-serif;font-size:1.55rem;line-height:1}.spin{animation:.8s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (width<=1180px){.filter-grid{grid-template-columns:repeat(3,minmax(140px,1fr))}}@media (width>=1051px){.line-chart-display.has-totals .daily-totals-panel:not(.funnel-daily-totals){height:auto;max-height:var(--line-grid-height)}}@media (width<=1050px){.chart-display.has-totals{grid-template-columns:1fr}.daily-totals-panel{max-height:300px;position:static}.funnel-daily-totals{margin-top:0;overflow-y:auto}}@media (width>=861px) and (width<=1050px){.line-chart-display{flex:none;height:auto}.line-chart-display .chart-visualization:not(.funnel-visualization) .chart-wrap{flex:none;width:100%;height:clamp(280px,55dvh,390px);min-height:clamp(280px,55dvh,390px)}}@media (width<=860px){.tracker-layout{border-radius:18px;padding:.85rem}.tracker-header{flex-direction:column}.header-actions{justify-content:flex-start;width:100%}.filter-grid{grid-template-columns:repeat(2,minmax(130px,1fr))}.info-strip{flex-direction:column;align-items:flex-start}.chart-toolbar{grid-template-columns:1fr;align-items:flex-start}.chart-summary,.chart-actions{text-align:left;justify-self:start}.chart-wrap{height:320px}}@media (width<=520px){.page-shell{padding:.35rem}.filter-grid,.cards-grid{grid-template-columns:1fr}}.ai-toggle-btn{z-index:1100;background:var(--accent-teal);color:#fff;cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;width:42px;height:42px;padding:0;font-family:inherit;font-size:.85rem;font-weight:600;transition:transform .13s,box-shadow .13s,opacity .13s;display:inline-flex;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 14px #00000038}.ai-toggle-btn:hover{transform:translateY(-2px);box-shadow:0 7px 20px #00000047}.ai-panel{z-index:1050;background:var(--surface-main);border-left:1px solid var(--surface-border);flex-direction:column;width:420px;height:100dvh;transition:transform .32s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-6px 0 32px #0000002e}.ai-panel--open{transform:translate(0)}.ai-panel-header{border-bottom:1px solid var(--surface-border);background:var(--surface-muted);flex-shrink:0;align-items:center;gap:8px;padding:11px 14px;display:flex}.ai-panel-icon{color:var(--accent-teal);flex-shrink:0}.ai-panel-title{color:var(--text-primary);flex-shrink:0;font-size:.85rem;font-weight:700}.ai-service-label{min-width:0;color:var(--accent-teal);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.78rem;font-weight:600;overflow:hidden}.ai-icon-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;padding:4px;transition:background .12s,color .12s;display:flex}.ai-icon-btn:hover:not(:disabled){background:color-mix(in oklab, var(--accent-teal) 14%, transparent);color:var(--accent-teal)}.ai-icon-btn:disabled{opacity:.4;cursor:not-allowed}.ai-panel-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.ai-analysis-section{border-bottom:1px solid var(--surface-border);flex-direction:column;flex-shrink:0;max-height:44vh;display:flex}.ai-section-header{flex-shrink:0;align-items:center;padding:4px 14px 4px 4px;display:flex}.ai-section-toggle{cursor:pointer;color:var(--text-secondary);text-align:left;background:0 0;border:none;border-radius:8px;flex:1;justify-content:space-between;align-items:center;gap:6px;padding:8px 10px;font-family:inherit;font-size:.78rem;font-weight:600;transition:background .12s;display:flex}.ai-section-toggle:hover{background:color-mix(in oklab, var(--accent-teal) 8%, transparent)}.ai-analysis-body{flex:1;padding:4px 16px 14px;overflow-y:auto}.ai-analysis-text{color:var(--text-primary);white-space:pre-wrap;margin:0;font-size:.81rem;line-height:1.65}.ai-muted{color:var(--text-secondary);margin:0;font-size:.8rem}.ai-muted--center{text-align:center;margin:auto;padding:1rem 0}.ai-chat-section{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.ai-chat-header{flex-shrink:0;justify-content:space-between;align-items:center;padding:6px 14px 4px;display:flex}.ai-chat-title{color:var(--text-secondary);font-size:.78rem;font-weight:600}.ai-chat-messages{flex-direction:column;flex:1;gap:8px;min-height:0;padding:12px 14px;display:flex;overflow-y:auto}.ai-msg{word-break:break-word;white-space:pre-wrap;border-radius:14px;max-width:90%;padding:9px 13px;font-size:.81rem;line-height:1.55}.ai-msg--user{background:var(--accent-teal);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.ai-msg--assistant{background:var(--surface-muted);border:1px solid var(--surface-border);color:var(--text-primary);border-bottom-left-radius:4px;align-self:flex-start}.ai-msg--loading{align-items:center;gap:5px;padding:10px 14px;display:flex}.ai-msg--loading span{background:var(--text-secondary);border-radius:50%;width:6px;height:6px;animation:1.3s ease-in-out infinite ai-dot-bounce}.ai-msg--loading span:nth-child(2){animation-delay:.2s}.ai-msg--loading span:nth-child(3){animation-delay:.4s}@keyframes ai-dot-bounce{0%,80%,to{opacity:.4;transform:scale(.7)}40%{opacity:1;transform:scale(1)}}.ai-input-row{border-top:1px solid var(--surface-border);flex-shrink:0;align-items:flex-end;gap:8px;padding:10px 14px;display:flex}.ai-input{resize:none;background:var(--control-bg);border:1px solid var(--control-border);color:var(--text-primary);border-radius:10px;flex:1;padding:8px 12px;font-family:inherit;font-size:.81rem;line-height:1.45;transition:border-color .15s}.ai-input:focus{border-color:var(--accent-teal);outline:none}.ai-input:disabled{opacity:.55}.ai-send-btn{background:var(--accent-teal);color:#fff;cursor:pointer;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;padding:9px;transition:opacity .13s;display:flex}.ai-send-btn:disabled{opacity:.38;cursor:not-allowed}.ai-send-btn:not(:disabled):hover{opacity:.85}.ai-spin{animation:1s linear infinite spin}@media (width<=520px){.ai-panel{width:100vw}}
