/* Ads Planner only: no selectors outside #adsPlanner, except its title override. */
body.AdsPlanner .adsplan-hero { box-sizing:border-box; display:flex; align-items:center; gap:18px; width:100%; max-width:var(--content-max-wide); margin:0 auto 20px; padding:26px 30px; border:1px solid #eddef5; border-radius:22px; background:linear-gradient(115deg,#faf5ff,#fff 55%,#fff7ed); color:#271b3b; box-shadow:0 12px 35px rgba(77,36,138,.06); }
body.AdsPlanner .adsplan-hero-icon { flex:0 0 58px; height:58px; display:grid; place-items:center; border-radius:17px; background:linear-gradient(135deg,#9333ea,#f97316); color:#fff; box-shadow:0 9px 20px #9333ea35; }
body.AdsPlanner .adsplan-hero-icon svg { width:28px; height:28px; }
body.AdsPlanner .adsplan-hero h1 { margin:2px 0 5px; font-size:30px; line-height:1.1; letter-spacing:-.03em; }
body.AdsPlanner .adsplan-hero p { margin:0; font-size:14px; color:#725d80; }
body.AdsPlanner .adsplan-hero .adsplan-eyebrow { font-size:11px; text-transform:uppercase; letter-spacing:.1em; font-weight:800; color:#8551a7; }
#adsPlanner { color:#322644; font-size:14px; }
#adsPlanner *,#adsPlanner *::before,#adsPlanner *::after { box-sizing:border-box; }
#adsPlanner .adsplan-shell { max-width:var(--content-max-wide); margin:0 auto; padding-bottom:60px; }
#adsPlanner .adsplan-toolbar { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; margin-bottom:12px; padding:12px 16px; background:#fff; border:1px solid #eee6f4; border-radius:12px; }
#adsPlanner .adsplan-toolbar p { margin:0; color:#705d7c; font-size:12px; }
#adsPlanner .adsplan-toolbar label { display:flex; align-items:center; gap:8px; color:#6e5980; font-size:12px; font-weight:700; }
#adsPlanner .adsplan-toolbar select { max-width:260px; }
#adsPlanner input,#adsPlanner select { border:1px solid #ded2eb; border-radius:9px; padding:9px 10px; color:#35234a; background:#fff; font:inherit; min-width:0; }
#adsPlanner input:focus-visible,#adsPlanner select:focus-visible,#adsPlanner button:focus-visible,#adsPlanner a:focus-visible { outline:2px solid #9333ea; outline-offset:2px; }
#adsPlanner .adsplan-steps { position:sticky; top:0; z-index:5; display:flex; align-items:center; gap:6px; padding:12px 8px; margin:0 0 18px; background:#fcfafdF2; border-bottom:1px solid #eadff1; backdrop-filter:blur(10px); overflow-x:auto; }
#adsPlanner .adsplan-steps a { display:flex; align-items:center; flex:0 0 auto; gap:9px; padding:5px 7px; color:#846f94; font-size:12px; font-weight:700; text-decoration:none; border-radius:8px; }
#adsPlanner .adsplan-steps a:hover { background:#f3eafa; }
#adsPlanner .adsplan-steps a b { display:grid; place-items:center; width:33px; height:33px; flex:0 0 33px; border:2px solid #d8c6e6; border-radius:50%; background:#fff; font-size:12px; }
#adsPlanner .adsplan-steps a.is-current b { border-color:#9333ea; box-shadow:0 0 0 3px #9333ea25; color:#7932b1; }
#adsPlanner .adsplan-steps a.is-done b { border-color:#9333ea; background:linear-gradient(135deg,#9333ea,#f97316); color:#fff; }
#adsPlanner .adsplan-steps i { display:block; flex:1 0 17px; height:1px; background:#ded2ea; }
#adsPlanner .adsplan-card { scroll-margin-top:95px; margin:0 0 22px; padding:25px; background:#fff; border:1px solid #eae0f1; border-radius:17px; box-shadow:0 12px 32px #51278613; }
#adsPlanner .adsplan-card h2 { display:flex; align-items:center; gap:9px; margin:0; font-size:20px; line-height:1.3; color:#291e3d; }
#adsPlanner .adsplan-card h2 svg { width:20px; height:20px; color:#9333ea; }
#adsPlanner .adsplan-number { display:grid; place-items:center; flex:0 0 29px; height:29px; border-radius:9px; background:linear-gradient(135deg,#9333ea,#f97316); color:#fff; font-size:12px; }
#adsPlanner .adsplan-intro { margin:6px 0 19px; color:#766482; font-size:13px; line-height:1.5; }
#adsPlanner h3 { font-size:15px; margin:24px 0 11px; }
#adsPlanner .adsplan-field { display:flex; flex-direction:column; gap:8px; max-width:520px; font-weight:700; color:#433255; }
#adsPlanner .adsplan-product-note { margin-top:8px; color:#7a6785; font-size:12px; }
#adsPlanner .adsplan-goals { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
#adsPlanner .adsplan-goals button { display:grid; grid-template-columns:34px 1fr; gap:2px 12px; align-items:start; padding:15px; text-align:left; background:#fff; border:1px solid #e8dff0; border-radius:12px; cursor:pointer; color:#382848; }
#adsPlanner .adsplan-goals button:hover,#adsPlanner .adsplan-goals button.is-active { border-color:#ad65dc; background:linear-gradient(130deg,#faf5ff,#fff9f1); box-shadow:0 0 0 2px #9333ea16; }
#adsPlanner .adsplan-goal-icon { grid-row:span 2; display:grid; place-items:center; width:32px; height:32px; border-radius:9px; background:linear-gradient(135deg,#9333ea,#f97316); color:white; }
#adsPlanner .adsplan-goal-icon svg { width:17px; height:17px; }
#adsPlanner .adsplan-goals small { display:block; color:#7c698a; line-height:1.4; }
#adsPlanner .adsplan-next,#adsPlanner .adsplan-primary { display:inline-block; margin-top:20px; padding:11px 18px; border:0; border-radius:10px; background:linear-gradient(90deg,#9333ea,#f97316); color:#fff; text-decoration:none; font-weight:700; cursor:pointer; }
#adsPlanner .adsplan-next:hover,#adsPlanner .adsplan-primary:hover { filter:brightness(1.05); }
#adsPlanner .adsplan-primary:disabled { opacity:.45; cursor:not-allowed; }
#adsPlanner .adsplan-budget-grid { display:grid; grid-template-columns:minmax(220px, 1fr) minmax(280px,2fr); gap:16px; }
#adsPlanner .adsplan-dial { display:flex; flex-direction:column; justify-content:center; align-items:center; min-height:250px; padding:24px; border:1px solid #e8dfed; border-radius:15px; background:linear-gradient(135deg,#fbf7ff,#fff8f0); text-align:center; }
#adsPlanner .adsplan-eyebrow { text-transform:uppercase; letter-spacing:.08em; font-size:11px; font-weight:800; color:#7f6590; }
#adsPlanner .adsplan-dial-value { display:flex; align-items:center; margin:17px 0 8px; font-size:27px; font-weight:800; color:#342547; }
#adsPlanner .adsplan-dial-value input { width:155px; border:0; border-bottom:1px solid #ddd0ea; border-radius:0; padding:4px; background:transparent; font-size:27px; font-weight:800; text-align:center; }
#adsPlanner .adsplan-dial small { color:#736080; }
#adsPlanner .adsplan-presets,#adsPlanner .adsplan-style-presets { display:flex; gap:6px; margin-top:15px; flex-wrap:wrap; justify-content:center; }
#adsPlanner .adsplan-presets button,#adsPlanner .adsplan-style-presets button,#adsPlanner .adsplan-reset,#adsPlanner .adsplan-export,#adsPlanner .adsplan-delete { padding:8px 11px; border:1px solid #e4d6ee; border-radius:9px; background:#fff; color:#664982; font-size:12px; font-weight:700; cursor:pointer; }
#adsPlanner .adsplan-presets button:hover,#adsPlanner .adsplan-presets button.is-active,#adsPlanner .adsplan-style-presets button.is-active { border-color:#ad65dc; background:#f5eafb; }
#adsPlanner .adsplan-budget-options { display:grid; gap:15px; }
#adsPlanner .adsplan-panel { padding:18px; border:1px solid #e8dfed; border-radius:15px; }
#adsPlanner .adsplan-panel select { display:block; margin:10px 0; min-width:180px; }
#adsPlanner .adsplan-panel p { margin:10px 0 0; color:#776584; font-size:12px; }
#adsPlanner .adsplan-panel input[type=range] { display:block; width:100%; padding:0; margin:18px 0; accent-color:#9333ea; }
#adsPlanner .adsplan-panel input[type=date] { width:150px; }
#adsPlanner .adsplan-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:11px; margin-top:17px; }
#adsPlanner .adsplan-metrics div { padding:15px; border:1px solid #eee8f3; border-radius:12px; background:#faf8fc; }
#adsPlanner .adsplan-metrics strong,#adsPlanner .adsplan-metrics small { display:block; }
#adsPlanner .adsplan-metrics strong { font-size:19px; color:#3c2853; overflow-wrap:anywhere; }
#adsPlanner .adsplan-metrics small { margin-top:4px; color:#776587; }
#adsPlanner .adsplan-source { padding:12px 15px; border:1px solid #e5d4ee; border-radius:10px; background:#faf5ff; color:#57406d; line-height:1.5; }
#adsPlanner a { color:#7830ac; }
#adsPlanner .adsplan-next { color:#fff; }
#adsPlanner .adsplan-mix-toolbar { display:flex; justify-content:space-between; align-items:center; gap:10px; margin:16px 0; }
#adsPlanner .adsplan-remaining.is-error,#adsPlanner .adsplan-feedback.is-error { color:#b03857; }
#adsPlanner .adsplan-channel { display:grid; grid-template-columns:1fr auto; gap:8px 16px; padding:13px 0; border-bottom:1px solid #eee7f2; }
#adsPlanner .adsplan-channel strong,#adsPlanner .adsplan-channel small { display:block; }
#adsPlanner .adsplan-channel small { color:#83718f; margin-top:3px; }
#adsPlanner .adsplan-channel-edit { display:flex; align-items:center; gap:6px; }
#adsPlanner .adsplan-channel-edit input { width:65px; text-align:right; }
#adsPlanner .adsplan-channel-edit strong { width:115px; text-align:right; font-size:12px; }
#adsPlanner .adsplan-track { grid-column:1/-1; height:7px; background:#f2eaf5; border-radius:20px; overflow:hidden; }
#adsPlanner .adsplan-track span { display:block; height:100%; border-radius:20px; background:linear-gradient(90deg,#9333ea,#f97316); }
#adsPlanner .adsplan-footnote { color:#806f8a; font-size:12px; line-height:1.5; }
#adsPlanner .adsplan-heading-actions { display:flex; align-items:start; justify-content:space-between; gap:12px; }
#adsPlanner .adsplan-calendar-row { display:flex; align-items:center; gap:16px; padding:12px 14px; margin-bottom:10px; border:1px solid #eee5f2; border-radius:11px; }
#adsPlanner .adsplan-date { display:grid; place-items:center; min-width:63px; height:55px; border:1px solid #e5d6ef; border-radius:10px; color:#773c9d; font-weight:800; background:#faf5ff; }
#adsPlanner .adsplan-calendar-copy { flex:1; min-width:0; }
#adsPlanner .adsplan-calendar-copy strong,#adsPlanner .adsplan-calendar-copy small { display:block; }
#adsPlanner .adsplan-calendar-copy small { color:#7e6e89; margin-top:4px; }
#adsPlanner .adsplan-badge { padding:5px 8px; border-radius:20px; background:#f2e8fc; color:#7233a6; font-size:11px; font-weight:700; }
#adsPlanner .adsplan-review { border:1px solid #e5d9ed; border-radius:15px; padding:18px; background:linear-gradient(125deg,#faf5ff,#fff8f2); }
#adsPlanner .adsplan-review-title { display:flex; justify-content:space-between; gap:10px; font-size:17px; }
#adsPlanner .adsplan-review-title span { color:#815f94; font-size:13px; }
#adsPlanner .adsplan-forecast { margin:18px 0; padding:12px; border-radius:9px; background:#fff; color:#674f79; font-size:12px; line-height:1.5; }
#adsPlanner .adsplan-review-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
#adsPlanner .adsplan-review-list div { display:flex; justify-content:space-between; gap:10px; padding:9px 12px; border:1px solid #eee6f2; border-radius:9px; background:#fff; font-size:12px; }
#adsPlanner .adsplan-review-list span { overflow:hidden; text-overflow:ellipsis; }
#adsPlanner .adsplan-field { margin-top:18px; }
#adsPlanner .adsplan-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
#adsPlanner .adsplan-actions button { margin-top:12px; }
#adsPlanner .adsplan-delete { color:#a13956; }
#adsPlanner .adsplan-delete[hidden] { display:none; }
#adsPlanner .adsplan-feedback { min-height:20px; margin-top:10px; font-weight:600; color:#426a4e; }
@media(max-width:800px) { #adsPlanner .adsplan-budget-grid { grid-template-columns:1fr; } #adsPlanner .adsplan-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:620px) { body.AdsPlanner .adsplan-hero { padding:18px; } #adsPlanner .adsplan-card { padding:18px; } #adsPlanner .adsplan-goals,#adsPlanner .adsplan-review-list { grid-template-columns:1fr; } #adsPlanner .adsplan-steps a { font-size:11px; } #adsPlanner .adsplan-calendar-row { flex-wrap:wrap; } #adsPlanner .adsplan-calendar-copy { flex-basis:65%; } #adsPlanner .adsplan-badge { margin-left:auto; } #adsPlanner .adsplan-channel-edit strong { width:auto; } }

#adsPlanner .adsplan-product-select { margin:0 0 20px; padding:20px 24px; border:1px solid #eae0f1; border-radius:16px; background:#fff; box-shadow:0 8px 25px #51278610; }
#adsPlanner .adsplan-product-select h2 { margin:5px 0; font-size:19px; color:#291e3d; }
#adsPlanner .adsplan-product-select p { margin:0 0 14px; color:#766482; font-size:13px; }
#adsPlanner .adsplan-picker-mount { margin-top:12px; }
#adsPlanner .adsplan-flow.is-disabled { opacity:.52; pointer-events:none; }
#adsPlanner .adsplan-product-select .adsplan-product-note { margin-top:12px; }
#adsPlanner .adsplan-steps.is-disabled { pointer-events:none; opacity:.55; }
#adsPlanner .adsplan-product-top { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
#adsPlanner .adsplan-selected-product { display:flex; align-items:center; gap:14px; padding:14px; margin-top:15px; border:1px solid #e5d8ef; border-radius:12px; background:linear-gradient(120deg,#faf6ff,#fffaf5); }
#adsPlanner .adsplan-selected-product[hidden],#adsPlanner .adsplan-selected-image img[hidden],#adsPlanner .adsplan-selected-image svg[hidden],#adsPlanner .adsplan-selected-image i[hidden] { display:none; }
#adsPlanner .adsplan-selected-image { display:grid; place-items:center; flex:0 0 68px; width:68px; height:68px; overflow:hidden; border-radius:11px; background:#f1e7f8; color:#8e4dbb; }
#adsPlanner .adsplan-selected-image img { width:100%; height:100%; object-fit:cover; }
#adsPlanner .adsplan-selected-image svg { width:28px; height:28px; }
#adsPlanner .adsplan-selected-body { min-width:0; flex:1; }
#adsPlanner .adsplan-selected-body strong { display:block; margin:4px 0; font-size:16px; color:#362445; overflow-wrap:anywhere; }
#adsPlanner .adsplan-selected-body small { color:#786887; }
#adsPlanner .adsplan-change-product { padding:9px 12px; border:1px solid #dbc8eb; border-radius:9px; background:#fff; color:#763da3; font-size:12px; font-weight:700; cursor:pointer; }
@media(max-width:620px) { #adsPlanner .adsplan-selected-product { flex-wrap:wrap; } #adsPlanner .adsplan-change-product { margin-left:82px; } }

#adsPlanner .adsplan-predictive-source { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; margin:0 0 16px; padding:12px 14px; border:1px solid #e5d4ee; border-radius:10px; background:#faf5ff; color:#57406d; font-size:12px; }
#adsPlanner .adsplan-predictive-source[hidden] { display:none; }
#adsPlanner .adsplan-predictive-source button { flex:0 0 auto; }

#adsPlanner .adsplan-journey { margin:22px 0 40px; padding:22px; border:1px solid #e7dcf0; border-radius:17px; background:#fff; box-shadow:0 12px 30px #51278610; }
#adsPlanner .adsplan-journey h2 { margin:5px 0 7px; color:#321b4b; font-size:18px; }
#adsPlanner .adsplan-journey p { margin:0; color:#6e5b81; font-size:13px; }
#adsPlanner .adsplan-journey nav { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin-top:18px; }
#adsPlanner .adsplan-journey nav>a,#adsPlanner .adsplan-journey nav>span { display:flex; align-items:center; gap:9px; min-width:0; padding:12px; border:1px solid #ece4f1; border-radius:12px; background:#faf8fb; color:#322644; text-decoration:none; font-weight:700; }
#adsPlanner .adsplan-journey nav>a:hover,#adsPlanner .adsplan-journey nav>.is-current { border-color:#c799dd; background:#faf3ff; }
#adsPlanner .adsplan-journey nav>a[aria-disabled="true"] { pointer-events:none; opacity:.65; }
#adsPlanner .adsplan-journey nav b { display:grid; place-items:center; flex:0 0 27px; height:27px; border-radius:50%; background:#eadcf4; color:#8043a7; }
#adsPlanner .adsplan-journey nav>.is-current b { background:linear-gradient(135deg,#9333ea,#f97316); color:white; }
#adsPlanner .adsplan-journey nav small { display:block; margin-top:3px; color:#857289; font-size:11px; font-weight:400; }
@media(max-width:850px) { #adsPlanner .adsplan-journey nav { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:550px) { #adsPlanner .adsplan-journey nav { grid-template-columns:1fr; } }
