/* Demand-to-planting workspace: inherits the existing operating shell. */
.df-entry{display:flex;justify-content:flex-end;margin-bottom:12px}
.df-toolbar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:14px;margin:22px 0}
.df-toolbar label{min-width:150px;max-width:240px;flex:1}
.df-toolbar>button{margin-left:auto}
.df-horizons{display:flex;gap:4px;padding:4px;border:1px solid var(--line);background:var(--card);border-radius:999px}
.df-horizons button{border:0;border-radius:999px;background:transparent;min-height:40px;padding:8px 15px;font-weight:650}
.df-horizons button[aria-pressed=true]{background:var(--forest);color:white}
.df-empty{padding:30px;max-width:760px;margin-top:12px}
.df-empty p{max-width:65ch;margin:12px 0 20px;color:var(--mute)}
.df-source{font-size:.85rem;color:var(--mute);margin-top:22px}
.df-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:20px 0 22px;border-bottom:1px solid var(--line)}
.df-totals div{display:flex;flex-direction:column;gap:5px}
.df-totals span{font-size:.83rem;color:var(--mute)}
.df-totals b{font-size:1.65rem;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.df-chart{display:flex;align-items:stretch;gap:12px;height:200px;padding:22px 0 14px;margin-bottom:12px;overflow:hidden}
.df-bar{display:flex;flex:1;min-width:0;align-items:center;flex-direction:column;font-size:.74rem;font-variant-numeric:tabular-nums}
.df-bar>span{white-space:nowrap;color:var(--ink);font-weight:650}
.df-bar-track{width:100%;flex:1;min-height:0;display:flex;align-items:flex-end;justify-content:center;padding-top:8px}
.df-bar-track i{display:block;background:var(--forest);width:100%;max-width:48px;border-radius:5px 5px 0 0;min-height:2px}
.df-bar small{padding-top:6px;color:var(--mute)}
.df-editor{margin:24px 0;scroll-margin-top:170px}
.df-page .df-editor h2{font-size:1.2rem;margin-bottom:8px}
.df-page .df-editor .err{min-height:1.2em}
.df-page td{font-variant-numeric:tabular-nums}
.df-saved{margin-top:38px;display:flex;flex-direction:column;gap:14px}
.df-saved>h2{margin-bottom:0}
.df-saved-plan h3{font-size:1.05rem}
.df-saved-plan p{margin-top:10px}
.df-saved-plan[data-status=archived]{opacity:.8}
.df-method{margin-top:30px;font-size:.85rem;color:var(--mute)}
.df-method summary{font-weight:650;cursor:pointer;color:var(--ink)}
.df-method p{max-width:75ch;margin-top:12px}
@media(max-width:899px){.df-toolbar{gap:10px}.df-toolbar label{max-width:none;width:100%;flex-basis:100%}.df-horizons{flex:1}.df-horizons button{flex:1}.df-toolbar>button{margin-left:0}.df-totals{grid-template-columns:1fr 1fr;gap:20px}.df-totals b{font-size:1.3rem}.df-chart{gap:5px;height:180px}.df-bar>span{font-size:.65rem}.df-chart:has(.df-bar:nth-child(7)) .df-bar>span{writing-mode:vertical-rl;max-height:44px}.df-empty{padding:20px}.df-editor{scroll-margin-top:145px}.df-entry .btn{width:100%;justify-content:center}}

/* CSP-safe chart heights: never depend on inline styles. */
.df-height-1{height:1%}
.df-height-2{height:2%}
.df-height-3{height:3%}
.df-height-4{height:4%}
.df-height-5{height:5%}
.df-height-6{height:6%}
.df-height-7{height:7%}
.df-height-8{height:8%}
.df-height-9{height:9%}
.df-height-10{height:10%}
.df-height-11{height:11%}
.df-height-12{height:12%}
.df-height-13{height:13%}
.df-height-14{height:14%}
.df-height-15{height:15%}
.df-height-16{height:16%}
.df-height-17{height:17%}
.df-height-18{height:18%}
.df-height-19{height:19%}
.df-height-20{height:20%}
.df-height-21{height:21%}
.df-height-22{height:22%}
.df-height-23{height:23%}
.df-height-24{height:24%}
.df-height-25{height:25%}
.df-height-26{height:26%}
.df-height-27{height:27%}
.df-height-28{height:28%}
.df-height-29{height:29%}
.df-height-30{height:30%}
.df-height-31{height:31%}
.df-height-32{height:32%}
.df-height-33{height:33%}
.df-height-34{height:34%}
.df-height-35{height:35%}
.df-height-36{height:36%}
.df-height-37{height:37%}
.df-height-38{height:38%}
.df-height-39{height:39%}
.df-height-40{height:40%}
.df-height-41{height:41%}
.df-height-42{height:42%}
.df-height-43{height:43%}
.df-height-44{height:44%}
.df-height-45{height:45%}
.df-height-46{height:46%}
.df-height-47{height:47%}
.df-height-48{height:48%}
.df-height-49{height:49%}
.df-height-50{height:50%}
.df-height-51{height:51%}
.df-height-52{height:52%}
.df-height-53{height:53%}
.df-height-54{height:54%}
.df-height-55{height:55%}
.df-height-56{height:56%}
.df-height-57{height:57%}
.df-height-58{height:58%}
.df-height-59{height:59%}
.df-height-60{height:60%}
.df-height-61{height:61%}
.df-height-62{height:62%}
.df-height-63{height:63%}
.df-height-64{height:64%}
.df-height-65{height:65%}
.df-height-66{height:66%}
.df-height-67{height:67%}
.df-height-68{height:68%}
.df-height-69{height:69%}
.df-height-70{height:70%}
.df-height-71{height:71%}
.df-height-72{height:72%}
.df-height-73{height:73%}
.df-height-74{height:74%}
.df-height-75{height:75%}
.df-height-76{height:76%}
.df-height-77{height:77%}
.df-height-78{height:78%}
.df-height-79{height:79%}
.df-height-80{height:80%}
.df-height-81{height:81%}
.df-height-82{height:82%}
.df-height-83{height:83%}
.df-height-84{height:84%}
.df-height-85{height:85%}
.df-height-86{height:86%}
.df-height-87{height:87%}
.df-height-88{height:88%}
.df-height-89{height:89%}
.df-height-90{height:90%}
.df-height-91{height:91%}
.df-height-92{height:92%}
.df-height-93{height:93%}
.df-height-94{height:94%}
.df-height-95{height:95%}
.df-height-96{height:96%}
.df-height-97{height:97%}
.df-height-98{height:98%}
.df-height-99{height:99%}
.df-height-100{height:100%}
