/* Shadows match GEO curve cards: geo-recommendations.css, card-feedback.css and dark-theme overrides. */
/* Approved four-chart composition: neutral GEO surfaces with color in the charts. */
.td-chart-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:24px;--td-chart-paper:#fbfbfc;--td-chart-track:#eceef1;--td-chart-label:#596477}
.plane-shell .td-workspace .td-chart-card{position:relative;display:flex;flex-direction:column;isolation:isolate;min-width:0;box-sizing:border-box;--td-chart-height:clamp(260px,19.5vw,342px);height:var(--td-chart-height);padding:22px 20px 18px;border-radius:22px;background:linear-gradient(125deg,#fcfcfd,#f7f8fa);box-shadow:inset 0 0 0 1px #ffffff,0 14px 35px -24px #65717b3d;cursor:default;transition:box-shadow 140ms ease;transform:none!important;translate:none!important}
.td-chart-card[data-chart=progress]{--td-chart-accent:#ff83a7}.td-chart-card[data-chart=output]{--td-chart-accent:#a39aff}.td-chart-card[data-chart=pending]{--td-chart-accent:#85cab0}.td-chart-card[data-chart=attention]{--td-chart-accent:#95bffa}
.td-chart-card>header{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.plane-shell .td-workspace .td-chart-card h3{font-size:18px!important;font-weight:600!important;line-height:1.5!important;letter-spacing:-.02em;color:var(--td-text)!important;white-space:nowrap}
.td-chart-metric{display:flex;align-items:baseline;flex-shrink:0;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--td-text);letter-spacing:-.03em;line-height:1.05}
.td-chart-metric strong{font-size:36px;font-weight:600}.td-chart-metric>span{font-size:25px;font-weight:600;margin-left:3px}.td-chart-card[data-chart=progress] .td-chart-metric>span{font-size:34px;margin-left:0}
.plane-shell .td-workspace .td-chart-caption{margin:7px 0 0!important;font-size:13px!important;line-height:1.65!important;color:var(--td-chart-label)!important}
.td-chart-plot{position:relative;flex:none;min-height:0;margin-top:auto;display:flex;align-items:flex-end;aspect-ratio:300/180}
.td-progress-wide{width:100%;max-width:calc((var(--td-chart-height) - 116px)*1.6667);align-self:center}.td-progress-compact{display:none}
.td-chart-plot svg{display:block;width:100%;height:100%;overflow:visible}
.td-chart-axis{fill:var(--td-chart-label);font-size:12px}.td-chart-number{fill:var(--td-text);font-size:13px}.td-chart-guide{stroke:#d8dce2;stroke-width:.6;stroke-dasharray:2 2;opacity:.75}.td-chart-baseline{stroke:var(--td-chart-track);stroke-width:.7}
.td-chart-tooltip,.td-bar-tip{position:absolute;display:block;max-width:calc(100% - 20px);padding:5px 9px;border-radius:8px;background:#151a20;color:#fff;white-space:nowrap;font-size:12px;line-height:1.5;pointer-events:none;box-shadow:0 3px 6px #151a2012;z-index:3;transform:translate(-50%,-100%)}
.td-chart-tooltip:after,.td-bar-tip:after{content:"";position:absolute;bottom:-5px;left:50%;width:8px;height:8px;background:#151a20;transform:translateX(-50%) rotate(45deg);border-radius:1px}
.td-chart-default-tip{margin-top:-14px}.td-chart-hover-tip[hidden]{display:none}.has-chart-tooltip .td-chart-default-tip,.has-chart-tooltip .td-bar-tip{visibility:hidden}
.td-bar-tip{max-width:none;min-width:max-content;box-sizing:border-box}
.td-chart-zero{position:absolute;top:44%;left:0;width:100%;text-align:center;color:var(--td-chart-label);font-size:12px}.td-chart-empty{display:grid;place-content:center;flex:1;font-size:13px;color:var(--td-chart-label)}
.td-output-chart{display:flex;flex-direction:column;flex:1;min-height:0;margin-top:1px}.td-chart-range{display:block;text-align:right;color:var(--td-chart-label);font-size:12px;line-height:1.5;margin-bottom:43px}
.td-output-bars{display:flex;gap:12px;flex:1;min-height:0}.td-output-column{display:flex;flex-direction:column;align-items:center;min-width:0;flex:1}.td-output-bar-space{position:relative;display:flex;align-items:flex-end;width:100%;flex:1}.td-output-bar{width:100%;border-radius:5px 5px 4px 4px;background:linear-gradient(180deg,#d8d5ff,#cfcbf8);transform-origin:center bottom;transition:filter 140ms ease}.td-output-bar.is-today{background:linear-gradient(180deg,#766aff,#c8bdf9)}.td-output-column:hover .td-output-bar{filter:saturate(1.35)}
.td-bar-value{position:absolute;left:50%;transform:translateX(-50%);font-size:12px;line-height:1.6;color:var(--td-chart-label);padding-bottom:5px;font-variant-numeric:tabular-nums}.td-bar-tip{left:50%;transform:translateX(-50%);margin-bottom:15px}.td-bar-tip:before{content:"";position:absolute;left:50%;bottom:-22px;width:7px;height:7px;border-radius:50%;background:var(--td-chart-paper);border:2px solid #8173ff;transform:translateX(-50%)}.td-output-day{font-size:12px;line-height:1.5;color:var(--td-chart-label);margin-top:10px;white-space:nowrap}
.td-distribution{display:flex;flex-direction:column;justify-content:space-between;gap:15px;flex:1;margin-top:37px;padding-bottom:12px}.td-distribution-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:10px;color:var(--td-chart-label);font-size:13px;line-height:1.5}.td-distribution-row>b{font-size:14px;font-weight:500;min-width:12px;text-align:right;font-variant-numeric:tabular-nums}.td-distribution-track{height:17px;border-radius:7px;background:var(--td-chart-track);overflow:hidden}.td-distribution-track i{display:block;height:100%;border-radius:7px;background:linear-gradient(100deg,#65cba0,#38c6c7);opacity:var(--td-bar-opacity);transform-origin:left center}
.td-attention-chart{display:flex;align-items:center;gap:20px;flex:1;min-height:0;margin-top:28px;padding-bottom:9px}.td-donut{position:relative;width:51%;flex-shrink:0;max-width:min(200px,calc(var(--td-chart-height) - 156px));aspect-ratio:1}.td-donut svg{width:100%;height:100%;display:block}.td-donut-track{stroke:var(--td-chart-track)}.td-donut>span{position:absolute;inset:0;display:grid;place-content:center;font-size:13px;color:var(--td-chart-label);pointer-events:none}.td-donut-segment{transition:filter 140ms ease}.td-donut-segment:hover{filter:brightness(.94)}.td-donut-legend{display:flex;flex-direction:column;gap:19px;flex:1;min-width:0}.td-donut-legend>div{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:7px;font-size:13px;line-height:1.5;color:var(--td-chart-label)}.td-donut-legend i{width:10px;height:10px;border-radius:50%}.td-donut-legend b{font-size:15px;font-weight:500;color:var(--td-text);font-variant-numeric:tabular-nums}.td-donut-legend span{white-space:nowrap}
@media(hover:hover) and (pointer:fine){.plane-shell .td-workspace .td-chart-card:hover{box-shadow:inset 0 0 0 1px var(--td-chart-accent),0 22px 34px -24px #26374666,0 7px 14px -12px #26374630}}
html.dark .td-chart-grid{--td-chart-paper:#292c31;--td-chart-track:#3b4148;--td-chart-label:#b6c0ce}
html.dark .plane-shell .td-workspace .td-chart-card{background:linear-gradient(125deg,#2c2f35,#272b30);box-shadow:inset 0 0 0 1px #ffffff0d,0 12px 24px -18px #000a}
html.dark .plane-shell .td-workspace .td-chart-card:hover{box-shadow:inset 0 0 0 1px var(--cs-edge,#2c2e30),0 22px 34px -24px rgb(0 0 0 / .4),0 7px 14px -12px rgb(0 0 0 / .2)}
@media(max-width:1250px){.td-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.plane-shell .td-workspace .td-chart-card{--td-chart-height:286px}.td-chart-metric strong{font-size:38px}}
@media(max-width:700px){.td-chart-grid{gap:12px;margin-top:20px}.plane-shell .td-workspace .td-chart-card{--td-chart-height:263px;padding:17px 13px 14px;border-radius:18px}.plane-shell .td-workspace .td-chart-card h3{font-size:14px!important}.td-chart-metric strong{font-size:25px}.td-chart-metric>span{font-size:17px;margin-left:1px}.td-chart-card[data-chart=progress] .td-chart-metric>span{font-size:24px}.plane-shell .td-workspace .td-chart-caption{font-size:12px!important;min-height:40px}.td-output-bars{gap:6px}.td-chart-range{margin-bottom:37px}.td-output-day{font-size:12px;letter-spacing:-.03em}.td-distribution{margin-top:26px;gap:14px;padding-bottom:4px}.td-distribution-row{column-gap:6px;font-size:12px}.td-distribution-track{height:13px;border-radius:5px}.td-attention-chart{flex-direction:column;gap:8px;margin-top:7px;padding-bottom:0}.td-donut{width:80px;max-width:none}.td-donut>span{font-size:12px}.td-donut-legend{gap:5px;width:100%}.td-donut-legend>div{font-size:12px;gap:6px}.td-donut-legend b{font-size:12px}.td-chart-tooltip,.td-bar-tip{padding:4px 6px;font-size:12px}.td-chart-axis{font-size:16px}.td-chart-number{font-size:18px}.td-progress-plot{margin-top:10px}}
@media(prefers-reduced-motion:reduce){.td-chart-card,.td-output-bar,.td-donut-segment{transition:none!important}}
@media(min-width:701px){
 .plane-shell .td-workspace .td-chart-card h3{font-size:clamp(18px,1.35vw,24px)!important}
 .plane-shell .td-workspace .td-chart-caption{font-size:clamp(13px,.95vw,16px)!important}
 .td-chart-metric strong{font-size:40px}.td-chart-metric>span{font-size:28px}.td-chart-card[data-chart=progress] .td-chart-metric>span{font-size:37px}
 .td-distribution-row,.td-donut-legend>div{font-size:14px}.td-distribution-track{height:19px}.td-donut>span{font-size:14px}
}
@media(max-width:700px){
 .td-progress-wide{display:none}.td-progress-compact{display:flex;aspect-ratio:180/196;margin-top:auto;width:min(100%,145px);align-self:center}
 .td-output-day .td-day-suffix{display:none}.td-output-day{letter-spacing:0}
 .td-chart-axis{font-size:15px}.td-chart-number{font-size:16px}
}
@media(max-width:380px){.td-progress-compact .td-chart-axis,.td-progress-compact .td-chart-number{font-size:18px}}
