@import url("https://fonts.googleapis.com/css2?family=Fraunces:wght@600;700&family=Space+Grotesk:wght@400;500;600&display=swap");:root{color-scheme:light;--bg:#f7efe5;--bg-accent:#f1dcc6;--ink:#1f1b16;--muted:#625a52;--accent:#f2693a;--accent-soft:#ffe6dc;--accent-ink:#8a3b1c;--card:#fffaf2;--stroke:#e7d7c4;--shadow:0 20px 50px rgba(52,38,26,.12)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{min-height:100vh;background:radial-gradient(1200px 600px at 10% -10%,#fbd8c5 0,transparent 60%),radial-gradient(900px 500px at 85% 5%,#cbeee6 0,transparent 55%),var(--bg);color:var(--ink);font-family:Space Grotesk,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:Fraunces,serif;font-weight:600;letter-spacing:-.02em;margin:0}h1{font-size:clamp(2.4rem,4vw,3.4rem)}h2{font-size:clamp(1.6rem,3vw,2.1rem)}.shell{max-width:960px;margin:0 auto;padding:56px 24px 80px}.shell.reports-shell-wide{max-width:1760px;padding-inline:18px}.hero{display:grid;grid-gap:14px;gap:14px;margin-bottom:32px;animation:fadeUp .6s ease}.eyebrow{text-transform:uppercase;letter-spacing:.3em;font-size:.7rem;font-weight:600}.eyebrow,.lede{color:var(--muted);margin:0}.lede{font-size:1.05rem;max-width:560px}.card{background:var(--card);border:1px solid var(--stroke);border-radius:18px;padding:28px;box-shadow:var(--shadow);animation:fadeUp .7s ease}.grid,.stack{display:grid;grid-gap:16px;gap:16px}.grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.field{display:grid;grid-gap:8px;gap:8px}.label{text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;color:var(--muted)}.label,.metric{font-weight:600}.metric{font-size:1.5rem;margin:0}.input{border:1px solid var(--stroke);border-radius:12px;padding:12px 14px;font-size:1rem;font-family:inherit;background:#fff}.input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}.actions{display:flex;flex-wrap:wrap;gap:12px}.table-wrap{overflow-x:auto}.table-wrap.trend-tooltip-wrap{padding-top:10px;margin-top:-10px}.admin-table{width:100%;border-collapse:collapse;font-size:.95rem;min-width:640px}.admin-table td,.admin-table th{text-align:left;padding:12px 10px;border-bottom:1px solid var(--stroke)}.admin-table th{text-transform:uppercase;letter-spacing:.18em;font-size:.65rem;color:var(--muted)}.campaign-table{min-width:0;table-layout:fixed;font-size:.82rem}.campaign-table td,.campaign-table th{padding:10px 8px;vertical-align:top}.campaign-table td{overflow-wrap:anywhere}.campaign-table td:nth-child(3),.campaign-table th:nth-child(3){width:20%}.campaign-table td:nth-child(2),.campaign-table td:nth-child(5),.campaign-table th:nth-child(2),.campaign-table th:nth-child(5){width:12%}.top-products-table{width:100%;min-width:0;table-layout:fixed;font-size:.86rem}.top-products-table td{vertical-align:top}.top-products-table td,.top-products-table th{padding:10px 8px}.top-products-table td:first-child,.top-products-table th:first-child{width:4%;white-space:nowrap}.top-products-table td:nth-child(2),.top-products-table th:nth-child(2){width:26%}.top-products-table td:nth-child(3),.top-products-table th:nth-child(3){width:15%}.top-products-table td:nth-child(4),.top-products-table th:nth-child(4){width:7%}.top-products-table td:nth-child(5),.top-products-table td:nth-child(6),.top-products-table td:nth-child(7),.top-products-table th:nth-child(5),.top-products-table th:nth-child(6),.top-products-table th:nth-child(7){width:8%}.top-products-table td:nth-child(8),.top-products-table th:nth-child(8){width:10%}.top-products-table td:nth-child(9),.top-products-table th:nth-child(9){width:14%}.top-products-table td:nth-child(2),.top-products-table td:nth-child(3){overflow-wrap:anywhere}.top-products-table td:nth-child(3) .status-pill{width:100%;justify-content:center}.th-sort{gap:8px}.sort-arrows,.th-sort{display:inline-flex;align-items:center}.sort-arrows{gap:2px}.sort-arrow-btn{border:1px solid #d8d1c6;background:#fff;color:#6c6559;border-radius:6px;width:20px;height:20px;line-height:1;font-size:.65rem;padding:0;cursor:pointer}.sort-arrow-btn:hover{border-color:#bcb39f;color:#2a2219}.sort-arrow-btn.active{border-color:#1e5b9c;color:#1e5b9c;background:#e9f2ff}.share-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:2px 8px;margin-left:6px;font-size:.65rem;font-weight:700;letter-spacing:.04em}.share-badge.red{background:#ffe6dd;color:#9a3a1b}.share-badge.yellow{background:#fff5de;color:#7a5a1d}.share-badge.gray{background:#efede8;color:#57514a}.doir-dot{display:inline-block;width:8px;height:8px;border-radius:999px;margin-right:6px}.doir-dot.red{background:#d6462f}.doir-dot.yellow{background:#d9a11e}.doir-dot.green{background:#2d8a4b}.doir-dot.gray{background:#8f8a82}.ai-indicator a{text-decoration:none}.reports-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.reports-title-row h3{margin:0}.status-pill{gap:6px;border:1px solid transparent;border-radius:999px;padding:4px 10px;font-size:.74rem;font-weight:600;line-height:1.2;white-space:nowrap}.status-pill,.trend-tooltip{display:inline-flex;align-items:center}.trend-tooltip{position:relative}.trend-tooltip .status-pill{cursor:help}.trend-tooltip[data-tooltip]:not([data-tooltip=""]):focus-within:after,.trend-tooltip[data-tooltip]:not([data-tooltip=""]):hover:after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);z-index:60;padding:6px 8px;border-radius:8px;background:#2f2a24;color:#fff;font-size:.72rem;line-height:1.2;white-space:nowrap;box-shadow:0 10px 18px rgba(0,0,0,.22);pointer-events:none}.trend-tooltip[data-tooltip]:not([data-tooltip=""]):focus-within:before,.trend-tooltip[data-tooltip]:not([data-tooltip=""]):hover:before{content:"";position:absolute;left:50%;bottom:calc(100% + 2px);transform:translateX(-50%);z-index:60;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #2f2a24;pointer-events:none}.status-pill.green{background:#ddf4e6;color:#1c6b3f;border-color:#b9dfca}.status-pill.red{background:#ffe6dd;color:#9a3a1b;border-color:#f5b8a2}.status-pill.gray{background:#efede8;color:#57514a;border-color:#ddd7ce}.status-pill.blue{background:#e7f0ff;color:#1d4f8f;border-color:#bfd6ff}.status-pill.yellow{background:#fff5de;color:#7a5a1d;border-color:#f1d58b}.channel-pill{display:inline-flex;align-items:center;border-radius:999px;border:1px solid transparent;padding:4px 10px;font-size:.7rem;font-weight:700;letter-spacing:.08em;line-height:1}.channel-pill.google_ads{background:#e7f0ff;color:#1d4f8f;border-color:#bfd6ff}.channel-pill.meta_ads{background:#e7f6ef;color:#1f6b4a;border-color:#bfe5d3}.sort-button{border:none;background:transparent;font:inherit;color:inherit;cursor:pointer;padding:0;display:inline-flex;align-items:center;gap:6px}.admin-filter-row th{padding-top:8px;padding-bottom:12px}.admin-filter{width:100%;padding:6px 10px;font-size:.85rem;border-radius:10px}.admin-link{color:var(--accent);font-weight:600}.admin-link:hover{color:var(--accent-ink)}.auth-top{justify-content:flex-end}.admin-top,.auth-top{display:flex;margin-bottom:24px}.admin-top{align-items:center;justify-content:space-between;gap:16px}.brand-link{gap:10px;font-weight:600;font-size:1rem}.brand-link,.brand-mark{display:inline-flex;align-items:center}.brand-mark{width:34px;height:34px;border-radius:50%;background:var(--accent);color:#fff;justify-content:center;font-weight:700;font-family:Fraunces,serif}.auth-panel{display:grid;grid-gap:18px;gap:18px}.auth-divider{display:flex;align-items:center;gap:12px;text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;font-weight:600;color:var(--muted)}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:var(--stroke)}.auth-provider-grid{display:grid;grid-gap:12px;gap:12px}.auth-hint{margin:0;font-size:.9rem;color:var(--muted)}.button{border:none;border-radius:999px;padding:12px 20px;font-weight:600;line-height:1;white-space:nowrap;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 12px 30px rgba(242,105,58,.3);transition:transform .2s ease,box-shadow .2s ease;cursor:pointer}.button:hover{transform:translateY(-1px);box-shadow:0 16px 32px rgba(242,105,58,.35)}.button.ghost{background:transparent;color:var(--ink);border:1px solid var(--stroke);box-shadow:none}.button.ghost.active-window{background:#111;color:#fff;border-color:#111}.button.full{width:100%}.button:disabled{cursor:not-allowed;opacity:.6;transform:none;box-shadow:none}.modal-backdrop{position:fixed;inset:0;z-index:80;background:rgba(24,18,12,.38);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;padding:20px}.modal-card{width:min(480px,100%);border-radius:16px;border:1px solid var(--stroke);background:var(--card);box-shadow:0 18px 48px rgba(38,28,20,.24);padding:20px;display:grid;grid-gap:10px;gap:10px}.modal-title{font-size:1.22rem;line-height:1.25}.modal-copy{margin:0;color:var(--muted)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.pill{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border-radius:999px;background:var(--accent-soft);color:var(--accent-ink);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;width:-moz-fit-content;width:fit-content}.muted{color:var(--muted);margin:0}.error{border-radius:12px;background:#ffe6dd;border:1px solid #f5b8a2;color:#9a3a1b}.admin-warning,.error{padding:10px 14px;font-size:.95rem}.admin-warning{border-radius:12px;background:#fff1d1;border:1px solid #f3c790;color:#7a4b12}.success{border-radius:12px;background:#dff6e8;border:1px solid #b4e5c9;color:#1f6b40;padding:10px 14px;font-size:.95rem}.source-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.source-card{display:grid;grid-gap:16px;gap:16px;padding:18px;border-radius:16px;border:1px solid var(--stroke);background:#fff}.status{display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;font-weight:700;line-height:1;width:-moz-fit-content;width:fit-content;white-space:nowrap;padding:6px 10px;border-radius:999px;background:#f3f1eb;color:var(--muted)}.status.connected{background:#d9f6e3;color:#1c6b3f}.status.pending{background:#fff1d1;color:#8a5b14}.status.not_connected{background:#f7e9e3;color:#a2462a}.status.trialing{background:#fff1d1;color:#8a5b14}.status.active{background:#d9f6e3;color:#1c6b3f}.status.past_due,.status.unpaid{background:#ffe6dd;color:#9a3a1b}.status.canceled,.status.incomplete,.status.incomplete_expired,.status.soon,.status.unset{background:#efeef1;color:#5d5965}.actions-board{display:grid;grid-gap:16px;gap:16px}.action-item{background:#fff;border:1px solid var(--stroke);border-radius:16px;padding:18px}.action-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.action-kicker{margin:0;text-transform:uppercase;letter-spacing:.18em;font-size:.65rem;font-weight:600;color:var(--muted)}.action-tag{margin:0;font-size:.8rem;font-weight:600;color:var(--accent-ink);background:var(--accent-soft);padding:6px 12px;border-radius:999px}.action-title{margin-top:10px}.action-steps{margin:0;padding-left:18px}.action-steps li{margin:6px 0}.trend-cell{display:grid;grid-gap:4px;gap:4px}.trend-pill{display:inline-flex;align-items:center;gap:6px;width:-moz-fit-content;width:fit-content;padding:4px 10px;border-radius:999px;border:1px solid transparent;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;line-height:1}.trend-pill-dot{width:7px;height:7px;border-radius:999px;background:currentColor;display:inline-block}.trend-pill-icon{font-size:.8rem;line-height:1;display:inline-flex;align-items:center}.trend-pill.positive{background:#ddf4e6;border-color:#b9dfca;color:#1c6b3f}.trend-pill.neutral{background:#efede8;border-color:#ddd7ce;color:#57514a}.trend-pill.negative{background:#ffe6dd;border-color:#f5b8a2;color:#9a3a1b}.trend-delta{font-size:.75rem;font-weight:600}.trend-delta.up{color:#1c6b3f}.trend-delta.down{color:#9a3a1b}.period-header-row th{text-transform:none;letter-spacing:normal;font-size:.78rem;font-weight:600;color:var(--ink);background:#f9f9f9;border-top:2px solid var(--stroke)}.admin-table.action-table{min-width:520px}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:720px){.shell{padding:40px 20px 64px}.card{padding:22px}}