/* Approved curve-card v2 composition; all numeric values remain data driven. */
.gr-recommendations{font-family:var(--dc-font,inherit);color:#202126}
.gr-priorities{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.gw-active .gr-curve-card{position:relative;isolation:isolate;overflow:hidden;min-width:0;width:100%;box-sizing:border-box;aspect-ratio:1.62;border-radius:28px;background:linear-gradient(125deg,#fcfcfd,#f7f8fa);box-shadow:inset 0 0 0 1px #ffffff,0 14px 35px -24px #65717b3d;--curve-start:#ffad89;--curve-end:#e56da9;--curve-dot:#e482a7}
.gr-curve-card[data-dimension=voiceShare]{--curve-start:#c48ff2;--curve-end:#7d8df6;--curve-dot:#ac8ceb}
.gr-curve-card[data-dimension=recommendation]{--curve-start:#b4d985;--curve-end:#58c6bf;--curve-dot:#68c693}
.gr-curve-card[data-dimension=officialCitation]{--curve-start:#8eb8f5;--curve-end:#64c6e6;--curve-dot:#78acf1}
.gw-active .gr-curve-content{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;border:0;border-radius:inherit;background:transparent;color:#202126;cursor:default;text-align:left;font-family:var(--dc-font,inherit)}
.gw-active .gr-curve-content :is(strong,span){font-family:var(--dc-font,inherit)!important;font-style:normal}
.gr-curve-tabs{position:absolute;z-index:3;top:22px;left:24px;width:45%;max-width:270px;display:flex;gap:2px;padding:3px;background:#edeef0;border-radius:10px;box-shadow:inset 0 1px 2px #252c3810}
.gw-active .gr-curve-tabs>button{flex:1;padding:8px 12px;border:0;border-radius:8px;background:transparent;color:#767984;font:500 14px/1.4 var(--dc-font,inherit);cursor:pointer;min-height:30px}
.gw-active .gr-curve-tabs>button[aria-pressed=true]{background:#fff;color:#25272b;box-shadow:0 3px 8px #26313c12}
.gr-curve-value{position:absolute;top:25px;right:25px;display:flex;align-items:flex-end;flex-direction:column;gap:4px}
.gw-active .gr-curve-value>strong{font-size:clamp(31px,2.1vw,40px);font-weight:500;line-height:1.1;letter-spacing:-.035em;color:#111318;font-variant-numeric:tabular-nums}
.gr-curve-value>span{font-size:12px;color:#7d808a}
.gr-curve-heading{position:absolute;top:96px;left:24px;right:20px;display:flex;flex-direction:column;gap:7px}
.gw-active .gr-curve-heading>strong{font-size:clamp(18px,1.3vw,24px);line-height:1.4;font-weight:600;color:#202126}
.gr-curve-heading>span{font-size:clamp(12px,.95vw,18px);line-height:1.6;color:#7d808a;white-space:nowrap}
.gr-curve-chart{position:absolute;inset:auto 0 0;height:54%;display:block}
.gr-curve-svg{display:block;width:100%;height:100%;overflow:visible}.gr-gradient-start{stop-color:var(--curve-start)}.gr-gradient-end{stop-color:var(--curve-end)}.gr-curve-point{fill:var(--curve-dot);stroke:#fff;stroke-width:2}
.gr-curve-guide{position:absolute;left:var(--bubble-x);top:var(--bubble-top);bottom:45px;width:1px;background:#22252d}
.gr-curve-bubble{position:absolute;left:var(--bubble-x);top:var(--bubble-top);transform:translate(-50%,-50%);padding:4px 11px;border-radius:20px;background:#111;color:white;font-size:20px;line-height:1.25;font-weight:400;box-shadow:0 4px 9px #242a3324;white-space:nowrap;font-variant-numeric:tabular-nums}
.gr-curve-timeline{position:absolute;inset:auto 12px 14px;display:grid;grid-template-columns:repeat(var(--months,6),minmax(0,1fr));align-items:center;font-size:14px;color:#8a8d97;text-align:center}
.gw-active .gr-curve-timeline>button{pointer-events:auto;padding:6px 0;min-width:0;min-height:28px;border:0;background:transparent;color:inherit;font:inherit;white-space:nowrap;border-radius:8px;cursor:pointer}.gw-active .gr-curve-timeline>button[aria-pressed=true]{background:#fff;color:#17191e;font-weight:600;box-shadow:0 5px 13px #303a4812}.gr-curve-timeline>button:focus-visible{outline:2px solid #526da5;outline-offset:-2px}
.gr-curve-empty{position:absolute;inset:25% 20px auto;color:#8a8d97;font-size:12px;text-align:center}
.gw-active .gr-curve-tabs>button:focus-visible{outline:2px solid #526da5;outline-offset:-4px}
.gw-active .gr-curve-card:hover{background:linear-gradient(125deg,#ffffff,#f5f7fa)}
.gr-estimate-range{font-size:12px;color:#777f8b;line-height:1.4;font-weight:400}
.gw-active .gw-plan-main{display:flex;flex-direction:column;gap:48px;padding-bottom:64px}
.gw-active[data-workspace-route=geo-plan]>.gd-content{position:relative;isolation:isolate;z-index:0}
.plane-page:has(.gw-active){scroll-padding-block:80px 48px}
.gw-active .ge-effectiveness{padding:0}.gw-active .gw-overall{margin:0}.gw-active .gw-graph-section{padding:0;border-bottom:0}.gw-active .gw-map-scroll{padding:16px 0 32px}
.gw-active .gw-map{isolation:isolate}.gw-active .gw-map-lines{z-index:0}.gw-active .gw-map :is(.cs-goal-card,.cs-phase-card,.cs-module-card){z-index:1}.gw-active .gw-map :is(.cs-phase-card,.cs-module-card):is(:hover,:focus-visible){z-index:2}
.gw-active .gw-map{min-height:594px}.gw-active .gw-map-phases{gap:20px}.gw-active .gw-map-streams{gap:20px}
.gw-active .gw-map :is(.cs-goal-card,.cs-phase-card,.cs-module-card){width:90%;justify-self:center;box-sizing:border-box}
.gw-active .gw-map .cs-phase-card{padding:6.5px 18px;min-height:122.4px}
.gw-active .gw-map .cs-module-card{padding:6.85px 18px;min-height:128.7px;gap:6px}
.gw-active .gw-map .cs-goal-card{padding:19px 20px;align-self:center}.gw-active .cs-goal-card .cs-goal-subtitle{margin-bottom:16px}.gw-active .cs-goal-card .cs-goal-inset{margin-top:16px;padding-block:12px}.gw-active .cs-goal-card .cs-goal-caption{margin-top:12px}
.gw-active .gr-curve-card{aspect-ratio:auto;height:260px;border-radius:22px}
.gr-curve-tabs{top:16px;left:16px;width:32%;padding:2px}
.gw-active .gr-curve-tabs>button{padding:5px 3px;font-size:12px;min-height:28px}
.gr-curve-value{top:17px;right:16px;gap:3px}
.gw-active .gr-curve-value>strong{font-size:28px}
.gr-curve-value>span{font-size:12px}
.gr-curve-heading{top:92px;left:16px;right:16px;gap:5px}
.gw-active .gr-curve-heading>strong{font-size:18px}
.gr-curve-heading>span{font-size:12px}
.gr-curve-chart{height:43%;z-index:1;pointer-events:none}
.gr-curve-bubble{font-size:14px;padding:3px 8px}
.gr-curve-timeline{inset:auto 6px 10px;font-size:12px}
.gr-curve-guide{bottom:38px}
@media(min-width:701px) and (max-width:1100px){.gr-priorities{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.gr-priorities{grid-template-columns:1fr;gap:20px}.gw-active .gr-curve-card{aspect-ratio:1.3;min-height:280px}.gw-active .gw-plan-main{gap:32px}.gr-curve-value>strong{font-size:28px}.gr-curve-heading{top:92px}.gr-curve-heading>span{font-size:12px}.gr-curve-chart{height:43%}.gr-curve-bubble{font-size:15px}.gr-curve-timeline{font-size:12px;inset:auto 8px 12px}.gr-curve-tabs{top:17px;left:17px}.gw-active .gr-curve-tabs>button{font-size:12px;padding:5px 7px}.gw-active .gw-map{min-height:0;padding:8px 0;gap:24px}.gw-active .gw-map .cs-phase-card{min-height:117px}.gw-active .gw-map .cs-module-card{min-height:135px}}
.gr-task-advice{padding:16px 0 24px;color:#273540}.gd-drawer-main .gr-task-advice h3{font-size:15px;margin:22px 0 10px}.gd-drawer-main .gr-task-advice>h3:first-child{margin-top:0}.gr-task-advice :is(p,li,dd){font-size:13px;line-height:1.9;overflow-wrap:anywhere}.gr-task-advice dl{display:grid;gap:15px}.gr-task-advice dt{font-size:12px;color:#566575;margin-bottom:3px}.gr-task-advice dd{margin:0}.gr-scenarios{margin:20px 0;padding:16px;background:#f1f6f4;border-radius:12px}.gr-scenarios>div+div{margin-top:14px}.gr-scenarios strong{font-size:15px;font-weight:600}.gr-task-advice .gr-scenarios p{color:#4c625b;font-size:12px}.gr-task-advice .gr-scenarios>p{margin-top:14px}.gr-task-advice details{border-block:1px solid #e3e7eb;padding:13px 0;margin-top:22px}.gr-task-advice summary{cursor:pointer;font-size:12px;color:#355969}.gr-task-advice summary:focus-visible{outline:2px solid #49748a;outline-offset:4px}.gr-task-advice blockquote{margin:15px 0;padding:0 0 15px;border:0;border-bottom:1px solid #e5e8ec}.gr-task-advice blockquote strong{font-size:13px}.gr-task-advice small,.gr-task-advice .gr-origin{font-size:12px;color:#566575}.ga-observation-option{display:flex;align-items:center;gap:7px;font-size:12px;color:#526475;margin:16px 0 8px}.ga-observation-option input{width:auto}
.dark .gw-active .gr-task-advice :is(h3,strong){color:#273540}.dark .gw-active .gr-task-advice :is(p,li,dt,dd,small){color:#4c5f70}.dark .gw-active .gr-scenarios :is(p,strong){color:#324e45}

.gw-active .gw-metric-linked{outline:2px solid var(--cs-accent,var(--gw-accent));outline-offset:3px;scroll-margin:80px 20px}
.gw-active .gw-map :is(.cs-phase-card,.cs-module-card):focus-visible{outline:2px solid var(--cs-accent,var(--gw-accent));outline-offset:3px}
.gw-active .gw-metric-pulse{animation:gw-metric-pulse .8s ease-in-out 3}
@keyframes gw-metric-pulse{0%,100%{outline-color:var(--cs-accent,var(--gw-accent))}50%{outline-color:transparent}}
@media(prefers-reduced-motion:reduce){.gw-active .gw-metric-pulse{animation:none}}

.gw-active .gw-map .cs-phase-card[aria-pressed=true]{padding-block:5px}

.gr-number-rolling{display:inline-flex;align-items:flex-start;height:1.1em}.gr-number-digit{display:inline-block;width:.62em;height:1.1em;overflow:hidden}.gr-number-track{display:flex;flex-direction:column;line-height:1.1em}.gr-number-track>span{display:block;flex:none;height:1.1em;line-height:1.1em}

/* Keep the plot and value bubble above a separate, sparse month axis. */
.gr-curve-plot{position:absolute;inset:-16px var(--curve-axis-inset,36px) 16px}
.gr-curve-plot .gr-curve-guide{bottom:calc(var(--curve-axis-bottom,10px) + 12px)}
.gr-curve-timeline{font-size:12px}

/* A shared horizontal coordinate system centers the bubble, guide and month. */
.gr-curve-card{--curve-axis-inset:36px;--curve-axis-bottom:10px}
.gr-curve-timeline{left:var(--curve-axis-inset);right:var(--curve-axis-inset);bottom:var(--curve-axis-bottom)}
.gw-active .gr-curve-timeline>button{width:32px;height:28px;line-height:16px;justify-self:center}
.gr-curve-guide{transform:translateX(-50%)}

@media(max-width:700px){.gr-curve-card{--curve-axis-bottom:12px}}
.gw-plan-main{container-name:geo-plan-main;container-type:inline-size}
@container geo-plan-main (max-width:1000px){.gr-priorities{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container geo-plan-main (max-width:480px){.gr-priorities{grid-template-columns:1fr}}
