:root{--series-ascend: #2768fc;--series-mmm: #0b8a7a;--series-mta: #2768fc;--series-last-touch: #a87b16;--series-spend: #7c4fc9;--primary: #2768fc;--primary-dark: #1b4fd1;--goldenrod: #dbb75d;--highlight: #fff101;--ink: #15213b;--muted: #5c6780;--line: #d9deea;--surface: #ffffff;--background: #f4f6fb;--error: #b3261e;--error-bg: #fdecea;--success: #17693b;--success-bg: #e7f5ed;--radius: 10px;--body-font: "proxima-nova", "Helvetica Neue", Arial, sans-serif;--heading-font: "itc-avant-garde-gothic-pro", "proxima-nova", "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--ink);font-family:var(--body-font);font-size:16px;line-height:1.45}h1,h2,h3{font-family:var(--heading-font);font-weight:600;line-height:1.2;margin:0 0 8px}h1{font-size:28px}h2{font-size:19px}h3{font-size:16px}p{margin:0 0 10px}ul{list-style:none;margin:0;padding:0}a{color:var(--primary)}:focus-visible{outline:3px solid var(--goldenrod);outline-offset:2px}.muted{color:var(--muted)}.hint{color:var(--muted);font-size:14px;margin:5px 0 0}.topbar{align-items:center;background:var(--primary);color:#fff;display:flex;flex-wrap:wrap;gap:10px 28px;padding:10px 24px}.brand{align-items:center;color:#fff;display:flex;font-family:var(--heading-font);font-size:20px;font-weight:600;gap:10px;text-decoration:none}.brand img{height:28px;width:auto}.topnav{display:flex;flex:1;gap:6px}.topnav a{border-radius:6px;color:#fff;padding:6px 12px;text-decoration:none}.topnav a:hover{background:#ffffff29}.topnav a.active{background:#ffffff38;font-weight:600}.topbar-user{align-items:center;display:flex;gap:14px}.user-text{display:flex;flex-direction:column;line-height:1.2;text-align:right}.page{margin:0 auto;max-width:1180px;padding:28px 24px 56px}.page-head{align-items:flex-start;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;margin-bottom:20px}.actions{display:flex;flex-wrap:wrap;gap:8px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.button{align-items:center;background:var(--primary);border:1px solid var(--primary);border-radius:7px;color:#fff;cursor:pointer;display:inline-flex;font:inherit;font-weight:600;justify-content:center;min-height:42px;padding:8px 16px;text-decoration:none}.button:hover:not(:disabled){background:var(--primary-dark);border-color:var(--primary-dark)}.button:disabled{cursor:not-allowed;opacity:.45}.button.secondary{background:#fff;color:var(--primary)}.button.secondary:hover:not(:disabled){background:#eef3ff;color:var(--primary-dark)}.button.ghost-light{background:transparent;border-color:#ffffffb3;color:#fff;min-height:36px}.button.ghost-light:hover{background:#ffffff29;border-color:#fff}.button.text{background:none;border-color:transparent;color:var(--error);font-weight:400;min-height:36px;padding:4px 8px}.button.text:hover:not(:disabled){background:var(--error-bg);border-color:transparent}.button.small{min-height:36px;padding:5px 12px}.badge{border-radius:999px;display:inline-block;font-size:12px;font-weight:600;padding:2px 9px}.badge.live{background:#e4ecff;color:var(--primary-dark)}.badge.draft{background:#faf0d4;color:#6d5413}.badge.off{background:var(--error-bg);color:var(--error)}.center-screen{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:24px 16px}.narrow{max-width:460px;text-align:center;width:100%}.login-logo{height:52px;margin-bottom:12px;width:auto}.google-button{display:flex;justify-content:center;margin:8px 0}.google-button:empty{display:none}.dev-login{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.dev-list{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin-top:12px}.client-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.client-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);display:flex;flex-direction:column;gap:10px;height:100%;min-height:190px;padding:16px;text-decoration:none;transition:border-color .15s,box-shadow .15s}.client-card:hover{border-color:var(--primary);box-shadow:0 4px 16px #2768fc21}.client-logo{align-items:center;display:flex;height:84px;justify-content:center}.client-logo img{max-height:100%;max-width:100%;object-fit:contain}.client-logo.small{flex:none;height:54px;width:80px}.logo-fallback{align-items:center;background:#e4ecff;border-radius:50%;color:var(--primary);display:flex;font-family:var(--heading-font);font-size:24px;font-weight:600;height:54px;justify-content:center;width:54px}.client-meta{align-items:center;color:var(--muted);display:flex;justify-content:space-between;margin-top:auto}.add-card{align-items:center;border:2px dashed #9db8f8;color:var(--primary);justify-content:center}.add-icon{font-size:38px;font-weight:300;line-height:1}.empty{text-align:center}.workspace-title{align-items:center;display:flex;gap:14px}.tabs{border-bottom:2px solid var(--line);display:flex;gap:2px;margin-bottom:20px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.tabs a{border-bottom:3px solid transparent;color:var(--muted);flex:none;padding:10px 14px;text-decoration:none}.tabs a:hover{color:var(--primary)}.tabs a.active{border-color:var(--primary);color:var(--ink);font-weight:600}.tabs.sub{border-bottom-width:1px;margin-top:-12px}.tabs.sub a{font-size:15px;padding:7px 12px}.tabs.sub a.active{border-color:var(--goldenrod)}.coming-soon{border-left:5px solid var(--goldenrod)}.client-form{max-width:960px}.form-section{margin-bottom:18px}.form-section summary{cursor:pointer;font-family:var(--heading-font);font-size:19px;font-weight:600;margin-bottom:8px}.form-grid{display:grid;gap:16px 20px;grid-template-columns:repeat(2,minmax(0,1fr));margin:12px 0}.field{min-width:0}.field.wide{grid-column:1 / -1}.field.grow{flex:1}.field>label,.client-checks legend{display:block;font-weight:600;margin-bottom:4px}input:not([type=checkbox]):not([type=file]),select,textarea{background:#fff;border:1px solid #aeb7ca;border-radius:6px;color:var(--ink);font:inherit;min-height:42px;padding:8px 10px;width:100%}input:disabled{background:#eef0f5;color:var(--muted)}.check{align-items:center;display:flex;font-weight:600;gap:8px;min-height:28px}.check input{height:18px;width:18px}.checks .hint{margin:0 0 10px 26px}.logo-picker{align-items:center;display:flex;gap:12px}.logo-picker img{flex:none;height:42px;max-width:90px;object-fit:contain}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 14px}.chips li{align-items:center;background:#e4ecff;border-radius:999px;display:flex;gap:6px;padding:4px 6px 4px 12px}.chips button{background:none;border:none;color:var(--primary-dark);cursor:pointer;font-size:18px;height:28px;line-height:1;width:28px}.nested-card{border:1px solid var(--line);border-radius:var(--radius);margin:12px 0;padding:14px}.nested-head{align-items:center;display:flex;justify-content:space-between}.event-group{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.event-group:first-of-type{border-top:none;margin-top:0;padding-top:0}.event-group>.button{margin-top:10px}.event-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.event-row .field:not(.grow){width:160px}.form-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.file-button{position:relative}.file-button input{cursor:pointer;top:0;right:0;bottom:0;left:0;opacity:0;position:absolute;width:100%}.file-button:focus-within{outline:3px solid var(--goldenrod);outline-offset:2px}.error,.error-text{color:var(--error)}.error-box{background:var(--error-bg);border:1px solid #f0b6b1;border-radius:var(--radius);color:var(--error);margin-bottom:16px;padding:12px 16px}.error-box ul{list-style:disc;margin-top:6px;padding-left:20px}.success{background:var(--success-bg);border-radius:var(--radius);color:var(--success);padding:10px 14px}.success-text{color:var(--success)}.add-user{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}.add-user .button{margin-top:27px}.user-list,.persona-list{display:grid;gap:14px}.user-head{align-items:flex-start;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.user-head h2{margin:0}.user-head p{margin:2px 0 0}.badges{display:flex;gap:6px}.client-checks{border:none;display:grid;gap:2px 14px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));margin:0 0 12px;padding:0}.client-checks .check{font-weight:400}.client-checks[disabled]{opacity:.8}.persona-list li{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.add-row{margin-top:10px}.run-head{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.readiness{border-left:5px solid var(--goldenrod);margin-bottom:16px}.readiness.blocked,.readiness.failed{border-left-color:var(--error)}.readiness.ready{border-left-color:var(--success)}.stats{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:16px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}.stat small{color:var(--muted);display:block;font-size:13px}.stat strong{font-family:var(--heading-font);font-size:19px}.issue-group{margin-bottom:16px}.issue-group h2{margin-bottom:10px}.issue{border-top:1px solid var(--line);padding:12px 0}.issue:first-of-type{border-top:none;padding-top:0}.issue p{margin-bottom:4px}.fix-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:8px}.fix-row .fix-name{flex:1 1 200px;font-weight:600;overflow-wrap:anywhere}.fix-row select{flex:0 1 200px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;min-width:620px;width:100%}th,td{border-bottom:1px solid var(--line);font-size:15px;padding:8px 10px;text-align:left;white-space:nowrap}th{color:var(--muted);font-weight:600}td.number,th.number{font-variant-numeric:tabular-nums;text-align:right}.section-gap{margin-bottom:16px}.legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin:8px 0 14px}.legend span{align-items:center;color:var(--muted);display:inline-flex;font-size:14px;gap:6px}.legend i{border-radius:3px;height:11px;width:11px}.share-chart{position:relative}.share-row{align-items:center;border-radius:6px;display:grid;gap:10px;grid-template-columns:110px minmax(0,1fr);padding:7px 4px}.share-row:hover,.share-row:focus-visible{background:#f4f6fb}.share-label{font-size:14px;line-height:1.15}.share-bars{border-left:1px solid var(--line);display:grid;gap:2px}.share-bar{border-radius:0 4px 4px 0;height:9px;min-width:2px}.share-tip{background:var(--ink);border-radius:7px;color:#fff;font-size:13px;line-height:1.35;padding:7px 10px;pointer-events:none;position:absolute;right:4px;z-index:2}.share-tip strong{display:block}.share-axis{color:var(--muted);display:flex;font-size:12px;justify-content:space-between;margin-left:124px}.health-grid{display:grid;gap:6px 20px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin:10px 0 0}.health-grid div{display:flex;gap:10px;justify-content:space-between}.health-grid dt{color:var(--muted)}.health-grid dd{font-weight:600;margin:0;text-align:right}.note-list{list-style:disc;margin:8px 0 0;padding-left:20px}.note-list li{margin-bottom:5px}.value-list{margin-top:8px}.value-list li{display:flex;flex-wrap:wrap;font-size:14px;gap:4px 14px;justify-content:space-between;padding:3px 0}.line-chart{display:block;height:auto;width:100%}.line-chart text{fill:var(--muted);font-size:12px}.line-wrap{position:relative}.line-tip{background:var(--ink);border-radius:7px;color:#fff;font-size:13px;line-height:1.35;padding:7px 10px;pointer-events:none;position:absolute;top:8px;white-space:nowrap}.line-tip strong{display:block}.weekday-chart{display:grid;gap:6px;margin-top:10px;max-width:560px}.weekday-row{align-items:center;display:grid;font-size:14px;gap:10px;grid-template-columns:38px minmax(0,1fr) 40px}.weekday-track{height:16px;position:relative}.weekday-bar{background:var(--primary);border-radius:0 4px 4px 0;display:block;height:100%}.weekday-average{background:var(--ink);bottom:-3px;position:absolute;top:-3px;width:1px}.weekday-value{font-variant-numeric:tabular-nums;text-align:right}.section-intro{background:var(--background);border-radius:8px;display:grid;font-size:14px;gap:4px;margin:6px 0 12px;padding:9px 12px}.section-intro p{margin:0}.range-track-group{display:grid;gap:12px;margin:8px 0 16px}.range-row{align-items:center;display:grid;gap:12px;grid-template-columns:170px minmax(0,1fr)}.range-label{font-size:14px;line-height:1.2}.range-track{background:var(--line);border-radius:4px;height:8px;position:relative}.range-band{border-radius:4px;height:100%;opacity:.35;position:absolute}.range-band.input{background:var(--series-spend)}.range-band.result{background:var(--series-mmm)}.range-dot{border:2px solid var(--surface);border-radius:50%;height:14px;position:absolute;top:-3px;transform:translate(-50%);width:14px}.range-dot.input{background:var(--series-spend)}.range-dot.result{background:var(--series-mmm)}.range-axis{color:var(--muted);font-size:12px;height:16px;position:relative}.range-axis span{position:absolute;transform:translate(-50%)}.range-axis span:first-child{transform:none}.range-axis span:last-child{transform:translate(-100%)}.range-readouts{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.range-readouts .stat span{display:block;font-size:14px}.spike-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));margin-top:8px}.spike-card{border:1px solid var(--line);border-radius:8px;font-size:14px;margin:0;padding:10px 12px}.spike-week{display:grid;gap:4px;grid-template-columns:repeat(7,minmax(0,1fr));margin-top:8px}.spike-day{display:grid;gap:2px;grid-template-rows:16px 90px 16px;text-align:center}.spike-value{font-size:12px;white-space:nowrap}.spike-plot{align-items:flex-end;border-bottom:1px solid var(--line);display:flex;justify-content:center;position:relative}.spike-bar{background:#aeb7ca;border-radius:4px 4px 0 0;display:block;min-height:1px;width:70%}.spike-bar.high{background:var(--primary)}.spike-expected{background:var(--ink);height:2px;left:4%;position:absolute;right:4%}.spike-label{color:var(--muted);font-size:12px}.pacing-plot{border-bottom:1px solid var(--line);display:flex;gap:8px;height:170px;margin-top:26px;position:relative}.pacing-column{align-items:flex-end;display:flex;flex:1;justify-content:center;position:relative}.pacing-bar{background:var(--primary);border-radius:4px 4px 0 0;display:block;max-width:24px;min-height:1px;width:100%}.pacing-bar.estimated{background:repeating-linear-gradient(45deg,var(--primary),var(--primary) 3px,#a9c2fd 3px,#a9c2fd 6px)}.pacing-value{font-size:12px;left:0;margin-bottom:2px;position:absolute;right:0;text-align:center}.pacing-reference{border-top:1px solid var(--ink);left:0;position:absolute;right:0;z-index:1}.pacing-labels{display:flex;gap:8px;margin:6px 0 4px}.pacing-labels span{flex:1;font-size:12px;line-height:1.15;min-width:0;overflow-wrap:anywhere;text-align:center}.health-grid dd.health-good{color:var(--success)}.legend-note{margin-left:auto}.share-chart.with-notes .share-row{grid-template-columns:110px minmax(0,1fr) 78px}.share-note{font-size:13px;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.share-chart.with-notes+.share-axis{margin-right:88px}td.wrap{line-height:1.3;min-width:260px;white-space:normal}.reason-table td:last-child.wrap{min-width:150px}.week-calendar{display:grid;gap:4px;min-width:720px}.week-months,.week-year{align-items:center;display:grid;gap:8px;grid-template-columns:40px minmax(0,1fr)}.week-month-labels{color:var(--muted);display:grid;font-size:12px;grid-template-columns:repeat(12,minmax(0,1fr))}.week-year>span{font-size:13px}.week-cells{display:grid;gap:2px;grid-template-columns:repeat(53,minmax(0,1fr))}.week-cell{background:#eef0f5;border-radius:2px;height:18px}.week-cell.outside{background:transparent}.week-cell.promo{background:var(--primary)}.week-cell.event{background:var(--series-last-touch)}.week-cell.spike{background:var(--series-spend)}.week-legend i.base{background:#eef0f5}.ascend-summary p:last-child{margin-bottom:0}.review-flag{color:var(--error);font-weight:600}@media (max-width: 720px){.share-chart.with-notes .share-row{grid-template-columns:80px minmax(0,1fr) 64px}.legend-note{margin-left:0}.range-row{grid-template-columns:minmax(0,1fr);gap:6px}.topbar{padding:10px 16px}.topnav{flex-basis:100%;order:3}.topbar-user{margin-left:auto}.page{padding:20px 16px 40px}h1{font-size:24px}.form-grid{grid-template-columns:minmax(0,1fr)}.event-row .field:not(.grow){flex:1 1 130px;width:auto}.event-row .field.grow{flex-basis:100%}}.insights-summary p{font-size:17px;line-height:1.55}.insights-head{align-items:center;display:flex;flex-wrap:wrap;gap:8px 14px;justify-content:space-between;margin-bottom:8px}.state-pill{background:#fbf4e1;border-radius:999px;color:var(--ink);font-size:14px;padding:4px 12px}.state-pill.not_ready{background:var(--error-bg);color:var(--error)}.state-pill.actionable{background:var(--success-bg);color:var(--success)}.insight-row{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.insight-row>.card{margin:0;min-width:0}.insight-row table{min-width:0;width:100%}.journey{list-style:none;margin:12px 0;padding:0}.journey li{border-left:3px solid var(--line);margin-bottom:14px;padding-left:12px}.journey h3{font-size:15px;margin:0 0 6px}.journey h3 small{color:var(--muted);display:block;font-family:var(--body-font);font-size:13px;font-weight:400}.journey-row{align-items:center;display:grid;font-size:14px;gap:8px;grid-template-columns:104px 1fr 52px;padding:3px 0}.journey-track{background:var(--background);border-radius:0 4px 4px 0;display:block;height:14px}.journey-track i{background:var(--series-ascend);border-radius:0 4px 4px 0;display:block;height:100%;min-width:2px}.review-panel .field{margin-bottom:12px}.preview-label{font-size:16px;margin:18px 0 10px}.planner-inputs{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.locked-channels{border:0;display:flex;flex-wrap:wrap;gap:6px 16px;margin:14px 0;padding:0}.locked-channels legend{font-weight:600;margin-bottom:6px;padding:0}.locked-channels label{align-items:center;display:inline-flex;gap:5px}.plan-table input[type=range],#plan-slider{accent-color:var(--primary);border:0;padding:0}.plan-cell{align-items:center;display:flex;gap:10px;min-width:240px}.plan-cell input{flex:1;min-width:110px}.plan-cell .number{min-width:84px;text-align:right}.save-scenario{align-items:flex-end;display:flex;flex-wrap:wrap;gap:12px}.dictionary dt{font-weight:600;margin-top:12px}.dictionary dd{margin:2px 0 0}.dictionary ol,.dictionary ul{padding-left:20px}.dictionary li{margin-bottom:6px}@media (max-width: 860px){.insight-row{grid-template-columns:minmax(0,1fr)}}
