@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;650;700&display=swap");:root{--petrol:#00313d;--petrol-deep:#002832;--mint:#94d2bd;--mint-deep:#5fae95;--ink:#0f1a1e;--ink-soft:#546069;--ink-faint:#8794a0;--line:#e5e9ec;--surface:#fff;--bg:#f5f7f7;--up:#1f7a63;--up-bg:#e6f2ee;--down:#b0432f;--down-bg:#f6ebe7;--radius:10px;--shadow:0 1px 2px rgba(0,49,61,.04),0 1px 3px rgba(0,49,61,.06)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--ink);line-height:1.5;font-feature-settings:"tnum" 1}.wrap{max-width:1120px;margin:0 auto;padding:0 24px}.topbar{background:var(--surface);border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:10}.topbar-inner{justify-content:space-between;height:64px}.brand,.topbar-inner{display:flex;align-items:center}.brand{gap:11px}.brand-logo{width:32px;height:32px;border-radius:7px;display:block}.brand-name{font-weight:600;font-size:15px;letter-spacing:-.01em;color:var(--petrol)}.brand-client{font-size:13px;color:var(--ink-faint);border-left:1px solid var(--line);padding-left:12px;margin-left:3px}.topbar-right{display:flex;align-items:center;gap:16px}.signout{font-size:13px;color:var(--ink-soft);text-decoration:none;background:none;border:none;cursor:pointer;font-family:inherit}.signout:hover{color:var(--petrol)}.pagehead{display:flex;align-items:flex-end;justify-content:space-between;padding:32px 0 20px;flex-wrap:wrap;gap:16px}.pagehead h1{font-size:22px;font-weight:650;letter-spacing:-.02em;color:var(--petrol)}.pagehead .sub{font-size:13px;color:var(--ink-faint);margin-top:3px}.periods{display:flex;gap:4px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:3px;flex-wrap:wrap}.period{border:none;background:none;font:inherit;font-size:13px;color:var(--ink-soft);padding:6px 12px;border-radius:6px;cursor:pointer;transition:.15s;white-space:nowrap}.period:hover{color:var(--petrol)}.period.active{background:var(--petrol);color:#fff;font-weight:500}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;margin-bottom:14px}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 18px 16px;box-shadow:var(--shadow)}.kpi-label{font-size:11px;color:var(--ink-faint);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.kpi-value{font-size:27px;font-weight:650;letter-spacing:-.03em;margin-top:9px;line-height:1.1}.kpi-value .cur{font-size:16px;font-weight:550;color:var(--ink-soft);margin-right:2px}.kpi-delta{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;margin-top:11px;padding:3px 8px;border-radius:20px}.kpi-delta.up{color:var(--up);background:var(--up-bg)}.kpi-delta.down{color:var(--down);background:var(--down-bg)}.kpi-delta.flat{color:var(--ink-faint);background:#eef0f2}.kpi-delta svg{width:12px;height:12px}.kpi-delta .prev{color:var(--ink-faint);font-weight:400;margin-left:2px}.kpi.primary{background:var(--petrol);border-color:var(--petrol)}.kpi.primary .kpi-label{color:var(--mint)}.kpi.primary .kpi-value{color:#fff}.kpi.primary .kpi-value .cur{color:var(--mint)}.kpi.primary .kpi-delta.up{background:rgba(148,210,189,.18);color:var(--mint)}.kpi.primary .kpi-delta.down{background:hsla(0,0%,100%,.14);color:#f0b3a8}.kpi.primary .kpi-delta.flat{background:hsla(0,0%,100%,.12);color:hsla(0,0%,100%,.6)}.kpi-sub{grid-template-columns:repeat(4,1fr)}.kpi.sm{padding:15px 16px}.kpi.sm .kpi-value{font-size:20px;margin-top:7px}.kpi.sm .kpi-delta{margin-top:9px}.muted-note{font-size:12px;color:var(--ink-faint);margin:2px 4px 34px;display:flex;align-items:center;gap:6px}.muted-note svg{width:13px;height:13px;flex-shrink:0}.sec-label{font-size:12px;font-weight:600;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em;margin:0 0 14px}.placeholder{background:var(--surface);border:1px dashed var(--line);border-radius:var(--radius);padding:40px;font-size:13px;margin-bottom:36px}.placeholder,footer{text-align:center;color:var(--ink-faint)}footer{padding:28px 0 40px;font-size:12px;border-top:1px solid var(--line);margin-top:20px}.state{max-width:1120px;margin:0 auto;padding:80px 24px;text-align:center;color:var(--ink-faint);font-size:14px}.spinner{width:26px;height:26px;border:3px solid var(--line);border-top-color:var(--petrol);border-radius:50%;margin:0 auto 16px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.login-page{min-height:100vh;display:grid;place-items:center;background:var(--petrol);padding:24px}.login-card{background:var(--surface);border-radius:14px;padding:40px 36px;width:100%;max-width:380px;box-shadow:0 10px 40px rgba(0,0,0,.2)}.login-logo{width:52px;height:52px;border-radius:11px;display:block;margin:0 auto 20px}.login-card h1{font-size:19px;font-weight:650;color:var(--petrol);text-align:center;letter-spacing:-.01em}.login-card .sub{font-size:13px;color:var(--ink-faint);text-align:center;margin-top:6px;margin-bottom:26px}.field{margin-bottom:14px}.field label{display:block;font-size:12px;font-weight:600;color:var(--ink-soft);margin-bottom:6px}.field input{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:14px;color:var(--ink);transition:.15s}.field input:focus{outline:none;border-color:var(--petrol);box-shadow:0 0 0 3px rgba(0,49,61,.08)}.btn{width:100%;padding:12px;background:var(--petrol);color:#fff;border:none;border-radius:8px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:.15s;margin-top:6px}.btn:hover{background:var(--petrol-deep)}.btn:disabled{opacity:.6;cursor:not-allowed}.login-error{background:var(--down-bg);color:var(--down);font-size:13px;padding:10px 12px;border-radius:8px;margin-bottom:14px;text-align:center}@media(max-width:880px){.kpi-grid,.kpi-sub{grid-template-columns:repeat(2,1fr)}.kpi-value{font-size:24px}}@media(max-width:480px){.kpi-grid,.kpi-sub{grid-template-columns:1fr 1fr}.pagehead h1{font-size:19px}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:20px;overflow-x:auto}.tab{background:none;font:inherit;font-size:13.5px;color:var(--ink-soft);padding:12px 16px;cursor:pointer;border:none;border-bottom:2px solid transparent;white-space:nowrap;transition:.15s;font-weight:500}.tab.active,.tab:hover{color:var(--petrol)}.tab.active{border-bottom-color:var(--petrol);font-weight:600}.block{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;box-shadow:var(--shadow);margin-bottom:16px}.block-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px;gap:12px}.block-title{font-size:14px;font-weight:650;color:var(--petrol);letter-spacing:-.01em}.block-sub{font-size:12px;color:var(--ink-faint)}.grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}@media(max-width:820px){.grid-2{grid-template-columns:1fr}}.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow-x:auto;margin-bottom:16px}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{text-align:left;padding:12px 14px;font-size:11px;font-weight:600;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--line);background:#fafbfb;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.data-table th:hover .sort-arrow{opacity:1}.sort-arrow{color:var(--petrol);font-weight:700}.data-table td{padding:12px 14px;border-bottom:1px solid var(--line);color:var(--ink);vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:#fafbfb}.table-empty{text-align:center;color:var(--ink-faint);padding:32px!important;font-size:13px}.cell-strong{font-weight:600;color:var(--petrol)}.cell-muted{color:var(--ink-faint)}.cell-name{max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.creative-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:16px;gap:16px;margin-bottom:16px}.creative{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}.creative-img{object-fit:cover;display:block}.creative-img,.creative-noimg{width:100%;aspect-ratio:1/1;background:#eef1f2}.creative-noimg{display:grid;place-items:center;color:var(--ink-faint);font-size:12px}.creative-body{padding:14px}.creative-headline{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35}.creative-metrics{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin-top:10px;padding-top:12px;border-top:1px solid var(--line)}.creative-metric .m-label{font-size:10px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.03em;font-weight:600}.creative-metric .m-value{font-size:15px;font-weight:650;color:var(--petrol);margin-top:2px}.pagehead.tight{padding-bottom:12px}.periods-wrap{position:relative}.period.custom{display:flex;align-items:center;gap:5px}.period.custom svg{width:13px;height:13px;opacity:.7}.period-pop{position:absolute;right:0;top:calc(100% + 6px);background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 6px 24px rgba(0,49,61,.14);padding:14px;z-index:20;min-width:250px}.period-pop-row{display:flex;gap:10px;margin-bottom:10px}.period-pop label{display:flex;flex-direction:column;font-size:11px;color:var(--ink-faint);font-weight:600;gap:4px;flex:1 1}.period-pop input{border:1px solid var(--line);border-radius:7px;padding:7px 9px;font:inherit;font-size:13px;color:var(--ink)}.period-pop input:focus{outline:none;border-color:var(--petrol)}.period-apply{width:100%;background:var(--petrol);color:#fff;border:none;border-radius:7px;padding:9px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.period-apply:disabled{opacity:.5;cursor:not-allowed}.subbar{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.select-native{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:8px 11px;font:inherit;font-size:13px;color:var(--ink);cursor:pointer}.select-native:focus{outline:none;border-color:var(--petrol)}.subbar-label{font-size:12px;color:var(--ink-faint);font-weight:600}.sortbtns{display:flex;gap:4px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:3px}.sortbtn{border:none;background:none;font:inherit;font-size:12.5px;color:var(--ink-soft);padding:6px 11px;border-radius:6px;cursor:pointer}.sortbtn.active{background:var(--petrol);color:#fff;font-weight:500}.creative-img{cursor:zoom-in;transition:opacity .15s}.creative-img:hover{opacity:.9}.lightbox{position:fixed;inset:0;background:rgba(0,20,25,.82);display:grid;place-items:center;z-index:100;padding:24px;animation:fadein .15s}@keyframes fadein{0%{opacity:0}to{opacity:1}}.lightbox-inner{position:relative;max-width:min(90vw,640px);max-height:90vh}.lightbox-inner img{width:100%;height:auto;border-radius:10px;display:block;max-height:90vh;object-fit:contain}.lightbox-close{position:absolute;top:-14px;right:-14px;width:34px;height:34px;border-radius:50%;background:#fff;border:none;font-size:22px;line-height:1;color:var(--ink);cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.3);display:grid;place-items:center}.stage-pills{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}.stage-pill{border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:7px 14px;font-size:13px;color:var(--ink-soft);cursor:pointer;display:flex;align-items:center;gap:7px}.stage-pill.active{background:var(--petrol);color:#fff;border-color:var(--petrol)}.stage-pill .cnt{font-weight:700;font-size:12px;background:rgba(0,0,0,.08);padding:1px 7px;border-radius:10px}.stage-pill.active .cnt{background:hsla(0,0%,100%,.2)}.event-feed{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.event-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line)}.event-item:last-child{border-bottom:none}.event-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.event-main{flex:1 1;min-width:0}.event-name{font-size:13.5px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-meta{font-size:12px;color:var(--ink-faint);margin-top:1px}.event-time{font-size:11.5px;color:var(--ink-faint)}.event-badge,.event-time{white-space:nowrap;flex-shrink:0}.event-badge{font-size:11px;font-weight:600;padding:2px 9px;border-radius:20px}.refresh-btn{display:inline-flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 13px;font:inherit;font-size:13px;color:var(--ink-soft);cursor:pointer}.refresh-btn:hover{border-color:var(--petrol);color:var(--petrol)}.refresh-btn svg{width:14px;height:14px}.data-table tfoot .table-total td{border-top:2px solid var(--petrol);background:#f0f5f4;font-weight:700;color:var(--petrol);font-size:13px}.pie-legend{display:flex;flex-direction:column;gap:8px;justify-content:center}.pie-legend-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink)}.pie-legend-dot{width:11px;height:11px;border-radius:3px;flex-shrink:0}.pie-legend-val{margin-left:auto;font-weight:600;color:var(--petrol)}.pie-wrap{display:grid;grid-template-columns:1fr 200px;grid-gap:20px;gap:20px;align-items:center}@media(max-width:680px){.pie-wrap{grid-template-columns:1fr}}.col-group-head{font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:700;padding:6px 14px 2px;color:var(--ink-faint)}.platform-col{background:rgba(0,49,61,.02)}.creative-adname{font-size:11px;color:var(--ink-faint);font-weight:600;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:16px;gap:16px;margin-top:8px}.client-card{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;cursor:pointer;transition:all .15s;box-shadow:var(--shadow)}.client-card:hover{border-color:var(--petrol);transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,49,61,.1)}.client-card-name{font-size:16px;font-weight:700;color:var(--petrol);margin-bottom:4px}.client-card-slug{font-size:12px;color:var(--ink-faint);font-family:monospace;margin-bottom:14px}.client-card-go{font-size:13px;font-weight:600;color:var(--mint-deep)}.access-denied{min-height:70vh;display:grid;place-items:center;padding:24px}.access-denied-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:36px;max-width:420px;text-align:center}.access-denied-card h2{color:var(--petrol);margin:0 0 10px;font-size:20px}.access-denied-card p{color:var(--ink-soft);font-size:14px;line-height:1.5;margin:0 0 20px}.btn-primary{background:var(--petrol);color:#fff;border:none;border-radius:8px;padding:11px 20px;font:inherit;font-size:14px;font-weight:600;cursor:pointer}.signout-link{background:none;border:none;color:var(--ink-faint);font:inherit;font-size:12px;cursor:pointer;margin-right:16px;text-decoration:none;opacity:.8}.signout-link:hover{color:var(--petrol);opacity:1;text-decoration:underline;text-underline-offset:3px}.cohort-note{display:flex;gap:10px;align-items:flex-start;background:#f0f5f4;border:1px solid var(--mint-deep,#5fae95);border-radius:10px;padding:12px 14px;margin-bottom:16px}.cohort-note svg{width:17px;height:17px;color:var(--petrol);flex-shrink:0;margin-top:1px}.cohort-note-text{font-size:12.5px;line-height:1.55;color:var(--ink-soft)}.cohort-note-text strong{color:var(--petrol)}.cohort-note-close{background:none;border:none;font-size:18px;line-height:1;color:var(--ink-faint);cursor:pointer;padding:0 2px;flex-shrink:0}.cohort-note-close:hover{color:var(--petrol)}.cohort-note-collapsed{display:inline-flex;align-items:center;gap:6px;background:none;border:1px dashed var(--line);border-radius:20px;padding:5px 12px;font:inherit;font-size:12px;color:var(--ink-faint);cursor:pointer;margin-bottom:16px}.cohort-note-collapsed svg{width:13px;height:13px}.cohort-note-collapsed:hover{color:var(--petrol);border-color:var(--petrol)}.wf-num-success{color:#1f7a4d;font-weight:600}.wf-num-error{color:#c0392b;font-weight:700}.wf-num-partial{color:#b8860b;font-weight:600}.wf-status{font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;white-space:nowrap;flex-shrink:0}.wf-status-success{background:#e3f4ea;color:#1f7a4d}.wf-status-error{background:#fbe4e1;color:#c0392b}.wf-status-partial{background:#fbf0d9;color:#96690a}.wf-status-running{background:#e3edf7;color:#2a5d8f}.wf-status-skipped{background:#eef0f2;color:#6b7680}.wf-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.wf-dot-success{background:#1f7a4d}.wf-dot-error{background:#c0392b}.wf-dot-partial{background:#c99a1f}.wf-dot-running{background:#2a5d8f}.wf-dot-skipped{background:#9aa3ac}.pager{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding:10px 4px;flex-wrap:wrap;gap:10px}.pager-info{font-size:12.5px;color:var(--ink-faint)}.pager-btns{display:flex;align-items:center;gap:10px}.pager-page{font-size:12.5px;color:var(--ink-soft);white-space:nowrap}.pager .sortbtn{border:1px solid var(--line);background:var(--surface)}.pager .sortbtn:disabled{opacity:.4;cursor:not-allowed}.pager .sortbtn:not(:disabled):hover{border-color:var(--petrol);color:var(--petrol)}.event-details{margin:0 0 10px 46px;padding:10px 14px;background:var(--surface);border:1px solid var(--line);border-radius:8px;font-size:12px;color:var(--ink-soft);display:flex;flex-direction:column;gap:4px}.event-details strong{color:var(--ink);font-weight:600;margin-right:4px}.ag-shell{display:flex;min-height:100vh;background:var(--bg)}.ag-side{width:224px;flex:0 0 224px;background:var(--petrol-deep);color:#fff;display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh}.ag-brand{display:flex;align-items:center;gap:10px;padding:20px 18px 22px}.ag-brand-logo{width:32px;height:32px;border-radius:50%}.ag-brand-name{font-weight:600;font-size:15px;line-height:1.1}.ag-brand-sub{font-size:11px;color:var(--mint);letter-spacing:.06em;text-transform:uppercase;margin-top:2px}.ag-nav{display:flex;flex-direction:column;gap:2px;padding:0 10px;flex:1 1}.ag-nav-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;color:hsla(0,0%,100%,.72);font-size:14px;text-decoration:none;transition:background .12s,color .12s}.ag-nav-item svg{width:17px;height:17px;flex:0 0 17px}.ag-nav-item:hover{background:hsla(0,0%,100%,.07);color:#fff}.ag-nav-item.active{background:var(--mint);color:var(--petrol-deep);font-weight:600}.ag-nav-item:focus-visible{outline:2px solid var(--mint);outline-offset:2px}.ag-side-foot{padding:14px 10px 18px;display:flex;flex-direction:column;gap:2px;border-top:1px solid hsla(0,0%,100%,.1)}.ag-side-link{background:none;border:0;text-align:left;padding:8px 12px;border-radius:8px;color:hsla(0,0%,100%,.6);font-size:13px;cursor:pointer}.ag-side-link:hover{background:hsla(0,0%,100%,.07);color:#fff}.ag-main{flex:1 1;min-width:0;padding:26px 30px 60px;max-width:1440px}.ag-quality{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:10px;gap:10px;margin-bottom:18px}.ag-quality-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;text-align:left;cursor:pointer;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:4px;transition:border-color .12s,transform .12s}.ag-quality-card:hover{border-color:var(--mint-deep);transform:translateY(-1px)}.ag-quality-card.is-empty{opacity:.5}.ag-quality-num{font-size:24px;font-weight:600;color:var(--down)}.ag-quality-card.is-ok .ag-quality-num{color:var(--up)}.ag-quality-card.is-empty .ag-quality-num{color:var(--ink-faint)}.ag-quality-label{font-size:12px;color:var(--ink-soft);line-height:1.3}.ag-toolbar{gap:12px;flex-wrap:wrap;margin-bottom:14px}.ag-search,.ag-toolbar{display:flex;align-items:center}.ag-search{gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:0 12px;flex:1 1;min-width:240px}.ag-search svg{width:16px;height:16px;color:var(--ink-faint);flex:0 0 16px}.ag-search input{border:0;outline:0;padding:10px 0;font-size:14px;width:100%;background:transparent;color:var(--ink)}.ag-toolbar-right{display:flex;gap:8px;align-items:center}.ag-viewtoggle{display:flex;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.ag-viewtoggle button{background:none;border:0;padding:9px 14px;font-size:13px;color:var(--ink-soft);cursor:pointer}.ag-viewtoggle button.active{background:var(--petrol);color:#fff;font-weight:600}.ag-filter-chip{display:inline-flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px 8px 6px 14px;font-size:13px;color:var(--ink-soft);margin-bottom:14px}.ag-filter-chip button{background:var(--bg);border:0;border-radius:999px;padding:4px 10px;font-size:12px;color:var(--ink-soft);cursor:pointer}.ag-filter-chip button:hover{background:var(--line)}.ag-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:12px;gap:12px}.ag-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;text-align:left;cursor:pointer;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px;transition:border-color .12s,transform .12s}.ag-card:hover{border-color:var(--mint-deep);transform:translateY(-1px)}.ag-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.ag-card-name{font-size:15px;font-weight:600;color:var(--ink)}.ag-card-slug{font-size:11px;color:var(--ink-faint);margin-top:2px}.ag-card-metrics{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px 8px;gap:10px 8px}.ag-card-metrics div{display:flex;flex-direction:column;gap:2px;min-width:0}.ag-card-metrics span{font-size:10px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.04em}.ag-card-metrics strong{font-size:14px;color:var(--ink);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ag-card-flags{display:flex;gap:6px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:11px}.ag-card-flags span{font-size:10px;padding:3px 8px;border-radius:999px;background:var(--bg);color:var(--ink-faint);border:1px solid var(--line)}.ag-card-flags span.on{background:var(--up-bg);color:var(--up);border-color:transparent}.ag-pill{font-size:10px;padding:4px 9px;border-radius:999px;white-space:nowrap;background:var(--bg);color:var(--ink-soft);border:1px solid var(--line)}.ag-pill.st-ok{background:var(--up-bg);color:var(--up);border-color:transparent}.ag-pill.st-attribution_conflict,.ag-pill.st-setup_pending{background:var(--down-bg);color:var(--down);border-color:transparent}.ag-link-cell{background:none;border:0;padding:0;font:inherit;color:var(--petrol);font-weight:600;cursor:pointer;text-align:left}.ag-link-cell:hover{text-decoration:underline}.ag-summary{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px}.ag-sum{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:10px 14px;cursor:pointer;display:flex;flex-direction:column;gap:2px;min-width:86px;transition:border-color .12s}.ag-sum:hover{border-color:var(--mint-deep)}.ag-sum.active{border-color:var(--petrol);box-shadow:inset 0 0 0 1px var(--petrol)}.ag-sum-num{font-size:19px;font-weight:600;color:var(--ink)}.ag-sum-label{font-size:11px;color:var(--ink-soft)}.ag-sum.h-ok .ag-sum-num{color:var(--up)}.ag-sum.h-warning .ag-sum-num{color:#8a6a1f}.ag-sum.h-error .ag-sum-num{color:var(--down)}.ag-sum.h-pending .ag-sum-num{color:var(--ink-soft)}.ag-sum-last,.ag-sum.h-info .ag-sum-num{color:var(--ink-faint)}.ag-sum-last{font-size:12px;margin-left:auto}.ag-health{font-size:10px;padding:3px 9px;border-radius:999px;white-space:nowrap;background:var(--bg);color:var(--ink-soft)}.ag-health.h-ok{background:var(--up-bg);color:var(--up)}.ag-health.h-warning{background:#f7f0dd;color:#8a6a1f}.ag-health.h-error{background:var(--down-bg);color:var(--down)}.ag-health.h-pending{background:var(--bg);color:var(--ink-soft)}.ag-health.h-info{background:var(--bg);color:var(--ink-faint)}.period-cutoff{font-size:11px;color:var(--ink-faint);text-align:right;margin-top:5px}.cohort-note.is-short{border-color:var(--mint-deep)}.cohort-note-warn{background:var(--up-bg);border-radius:8px;padding:9px 11px;margin-bottom:9px;color:var(--up);line-height:1.45}@media (max-width:900px){.ag-shell{flex-direction:column}.ag-side{width:100%;flex:0 0 auto;height:auto;position:static;flex-direction:row;align-items:center;gap:10px;overflow-x:auto}.ag-brand{padding:12px 14px}.ag-brand-sub{display:none}.ag-nav{flex-direction:row;padding:0;flex:1 1}.ag-nav-item{white-space:nowrap}.ag-side-foot{border-top:0;border-left:1px solid hsla(0,0%,100%,.1);flex-direction:row;padding:10px}.ag-main{padding:18px 16px 48px}.ag-card-metrics{grid-template-columns:repeat(2,1fr)}}@media (prefers-reduced-motion:reduce){.ag-card,.ag-quality-card{transition:none}.ag-card:hover,.ag-quality-card:hover{transform:none}}.ag-kpis{grid-template-columns:repeat(4,1fr)}.ag-kpis .kpi{min-height:108px;display:flex;flex-direction:column;justify-content:center;gap:6px}.ag-kpis .kpi .kpi-value{margin-top:0;font-size:28px}.ag-roas-pending{font-size:14px;font-weight:600;color:var(--ink-faint)}@media (max-width:720px){.ag-kpis{grid-template-columns:repeat(2,1fr)}}.ag-quality-card.is-active{border-color:var(--petrol);box-shadow:inset 0 0 0 1px var(--petrol)}.ag-track-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.ag-track{width:100%;border-collapse:collapse;table-layout:fixed;font-size:13px}.ag-track td,.ag-track th{padding:9px 10px;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ag-track thead th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-faint);background:var(--bg);border-bottom:1px solid var(--line);font-weight:600}.ag-track-steps-h{text-align:center!important}.ag-track-substeps th{padding-top:0;padding-bottom:7px;font-size:9px;text-align:center;color:var(--ink-faint);background:var(--bg)}.ag-track-evt{font-weight:600;color:var(--ink);width:15%}.ag-track-contact{color:var(--ink-soft);width:20%}.ag-track-step{width:5%;text-align:center!important;padding-left:2px!important;padding-right:2px!important}.ag-track-when{color:var(--ink-faint);width:12%;text-align:right}.ag-track-row{cursor:pointer;border-bottom:1px solid var(--line)}.ag-track-row:hover{background:var(--bg)}.ag-track-row:last-child{border-bottom:0}.ag-step{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-size:11px;font-weight:700}.ag-step-ok{background:var(--up-bg);color:var(--up)}.ag-step-bad{background:var(--down-bg);color:var(--down)}.ag-step-wait{background:#f7f0dd;color:#8a6a1f}.ag-step-na{background:var(--bg);color:var(--ink-faint)}.ag-mx-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.ag-mx{width:100%;border-collapse:collapse;table-layout:fixed}.ag-mx td,.ag-mx th{padding:11px 12px;text-align:left;border-bottom:1px solid var(--line)}.ag-mx thead th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-faint);background:var(--bg);font-weight:600}.ag-mx-cli-h{width:34%}.ag-mx-cli{font-weight:600;color:var(--ink);font-size:14px}.ag-mx-cell{padding:6px 8px!important}.ag-mx-cell.is-absent{text-align:center}.ag-mx-btn{width:100%;background:none;border:0;cursor:pointer;display:flex;flex-direction:column;gap:3px;align-items:flex-start;padding:6px 8px;border-radius:8px;text-align:left}.ag-mx-btn:hover{background:var(--bg)}.ag-mx-when{font-size:11px;color:var(--ink-faint)}.ag-mx tbody tr:last-child td{border-bottom:0}.ag-drawer-backdrop{position:fixed;inset:0;background:rgba(15,26,30,.42);display:flex;justify-content:flex-end;z-index:60;animation:agfade .12s ease}@keyframes agfade{0%{opacity:0}to{opacity:1}}.ag-drawer{width:min(480px,94vw);background:var(--surface);height:100vh;overflow-y:auto;padding:22px;box-shadow:-4px 0 24px rgba(0,49,61,.14);animation:agslide .16s ease}@keyframes agslide{0%{transform:translateX(24px)}to{transform:translateX(0)}}.ag-drawer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.ag-drawer-title{font-size:17px;font-weight:600;color:var(--ink)}.ag-drawer-sub{font-size:12px;color:var(--ink-faint);margin-top:3px}.ag-drawer-close{background:var(--bg);border:0;width:30px;height:30px;border-radius:8px;font-size:20px;line-height:1;color:var(--ink-soft);cursor:pointer;flex:0 0 30px}.ag-drawer-close:hover{background:var(--line)}.ag-drawer-overall{border-radius:var(--radius);padding:12px 14px;margin-bottom:18px;display:flex;flex-direction:column;gap:5px}.ag-drawer-overall.h-ok{background:var(--up-bg)}.ag-drawer-overall.h-error{background:var(--down-bg)}.ag-drawer-overall.h-warning{background:#f7f0dd}.ag-drawer-overall.h-info,.ag-drawer-overall.h-pending,.ag-drawer-overall.h-processing{background:var(--bg)}.ag-drawer-overall-badge{font-size:13px;font-weight:600;color:var(--ink)}.ag-drawer-overall-reason{font-size:13px;color:var(--ink-soft);line-height:1.45}.ag-drawer-section{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);font-weight:600;margin:18px 0 10px;display:flex;align-items:center;gap:8px}.ag-drawer-count{background:var(--petrol);color:#fff;border-radius:999px;padding:1px 8px;font-size:11px}.ag-drawer-steps{display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.ag-drawer-step{background:var(--surface);padding:10px 13px;display:grid;grid-template-columns:120px 1fr;grid-gap:10px;gap:10px;align-items:baseline}.ag-drawer-step-title{font-size:12px;color:var(--ink-faint)}.ag-drawer-step-val{font-size:13px;color:var(--ink);font-weight:500}.ag-drawer-code{color:var(--ink-faint);font-weight:400;font-size:11px}.ag-drawer-step-reason{grid-column:2;font-size:12px;color:var(--ink-soft);line-height:1.4;margin-top:2px}.ag-drawer-empty{background:var(--bg);border-radius:var(--radius);padding:14px;font-size:13px;color:var(--ink-soft)}.ag-drawer-kv{display:grid;grid-template-columns:1fr 1fr;grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.ag-drawer-kv>div{background:var(--surface);padding:9px 12px;display:flex;flex-direction:column;gap:2px}.ag-drawer-kv span{font-size:11px;color:var(--ink-faint)}.ag-drawer-kv b{font-size:13px;color:var(--ink);font-weight:600}.ag-jobs{display:flex;flex-direction:column;gap:10px}.ag-job{border:1px solid var(--line);border-radius:var(--radius);padding:12px}.ag-job.is-failed{border-color:var(--down);background:var(--down-bg)}.ag-job-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.ag-job-platform{font-size:13px;font-weight:600;color:var(--ink)}.ag-job-split{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin-bottom:10px}.ag-job-split>div{display:flex;flex-direction:column;gap:3px;border:1px solid var(--line);border-radius:8px;padding:8px 10px}.ag-job-split>div,.ag-job.is-failed .ag-job-split>div{background:var(--surface)}.ag-job-k{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-faint)}.ag-job-v{font-size:12px;color:var(--ink);line-height:1.35}.ag-job-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:7px 12px;gap:7px 12px}.ag-job-grid>div{display:flex;flex-direction:column;gap:1px}.ag-job-grid span{font-size:10px;color:var(--ink-faint)}.ag-job-grid b{font-size:12px;color:var(--ink-soft);font-weight:600}.ag-job-err{background:var(--petrol-deep);color:#e9f0ee;font-family:ui-monospace,monospace;font-size:11px;padding:9px 11px;border-radius:8px;margin-top:9px;word-break:break-word;line-height:1.4}@media (max-width:640px){.ag-track th:nth-child(2),.ag-track-contact,.ag-track-substeps th:nth-child(2){display:none}.ag-drawer-kv,.ag-drawer-step,.ag-job-grid,.ag-job-split{grid-template-columns:1fr}.ag-drawer-step-reason{grid-column:1}}