*{box-sizing:border-box}:root{--bg: #fbf5ea;--bg-soft: #fffaf1;--card: #fffdf8;--card-2: #fff7e8;--line: #ead9bd;--line-soft: #f2e4ce;--text: #3c2c1c;--muted: #8b7355;--muted-2: #a98d68;--primary: #a86412;--primary-dark: #7a4108;--primary-soft: #f5d8a7;--amber: #d89425;--green: #5d8b3b;--green-soft: #eaf3df;--red: #d76045;--red-soft: #fae7e0;--shadow: 0 18px 40px rgba(103, 66, 22, .08);--radius-lg: 18px;--radius-md: 12px;--radius-sm: 8px}body{margin:0;background:radial-gradient(circle at top left,rgba(222,170,82,.16),transparent 34%),linear-gradient(135deg,#fffaf2 0%,var(--bg) 48%,#fff8ea 100%);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}button,input,select{font:inherit}button{border:1px solid var(--line);background:var(--card);color:var(--text);padding:9px 13px;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}button.primary{background:var(--primary);border-color:var(--primary);color:#fff}button:hover:not(:disabled){border-color:var(--primary-soft);background:var(--card-2);color:var(--primary-dark);box-shadow:0 6px 14px #67421614}button.primary:hover:not(:disabled){border-color:var(--primary-dark);background:var(--primary-dark);color:#fff}button.small{padding:6px 9px;border-radius:999px;font-size:12px;white-space:nowrap}button:disabled{cursor:not-allowed;opacity:.55}input,select{border:1px solid var(--line);border-radius:var(--radius-sm);padding:9px 10px;background:var(--card);color:var(--text);min-width:120px}input:focus,select:focus{border-color:var(--primary-soft);outline:2px solid rgba(168,100,18,.16);outline-offset:1px}.shell{min-height:100vh}.save-toast{position:fixed;top:18px;left:50%;z-index:50;transform:translate(-50%);padding:9px 14px;border:1px solid var(--line);border-radius:999px;background:var(--green-soft);box-shadow:var(--shadow);color:var(--green);font-size:13px;font-weight:700}.topbar{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:18px 32px;background:#fffaf1eb;border-bottom:1px solid var(--line-soft);box-shadow:0 12px 34px #6742160f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.topbar-brand{display:flex;align-items:center;gap:18px;min-width:0}.topbar-logo{width:92px;height:92px;flex:0 0 auto;object-fit:contain}h1,h2,h3,p{margin:0}h1{font-size:28px;font-weight:700}h2{font-size:18px}.topbar p{margin-top:8px;color:var(--muted)}.controls{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding:16px 22px;background:transparent;border-bottom:1px solid var(--line-soft)}.metric{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--radius-md);padding:16px 18px;box-shadow:0 8px 22px #6742160d}.metric span{display:block;color:var(--muted);font-size:13px}.metric strong{display:block;margin-top:7px;font-size:26px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:18px;padding:22px}.planning-panel,.source-panel,.intake-panel,.purchase-overview-panel{margin:22px 22px 0;overflow:hidden}.panel{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px;border-bottom:1px solid var(--line-soft);background:#fffaf1b8}.panel-head h2{display:flex;align-items:center;gap:8px}.panel-head h2:before{content:"";width:22px;height:22px;flex:0 0 auto;background:url(/tudou-logo.png) center / contain no-repeat}.panel-head p{margin-top:6px;color:var(--muted);font-size:13px}.panel-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.lowfreq-panel.collapsed>:not(.panel-head){display:none!important}.lowfreq-panel.collapsed .panel-head{border-bottom:0}.purchase-overview-toolbar{display:grid;grid-template-columns:180px 150px minmax(220px,1fr) auto;gap:10px;align-items:end;padding:12px 16px;border-bottom:1px solid var(--line-soft);background:#fffaf0}.purchase-overview-toolbar label,.purchase-overview-inputs label{display:grid;gap:5px;color:#617068;font-size:12px;font-weight:800}.purchase-overview-toolbar select,.purchase-overview-toolbar input,.purchase-overview-inputs input{width:100%;min-width:0;padding:8px 10px;border:1px solid #cbd5cd;border-radius:10px;background:#fff;color:var(--text);font:inherit}.purchase-overview-toolbar .inline-check{display:inline-flex;align-items:center;gap:7px;align-self:center;white-space:nowrap}.purchase-overview-toolbar .inline-check input{width:auto}.purchase-overview-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:12px 16px;border-bottom:1px solid var(--line-soft);background:#fffdf7}.purchase-overview-summary article{padding:10px 12px;border:1px solid #eadfc9;border-radius:12px;background:#fffaf1}.purchase-overview-summary span,.purchase-overview-summary small{display:block;color:var(--muted);font-size:12px}.purchase-overview-summary strong{display:block;margin:4px 0;font-size:20px;color:#4b3524}.purchase-overview-summary strong.positive{color:#126245}.purchase-overview-summary strong.negative{color:#9a371e}.purchase-overview-inputs{display:flex;flex-wrap:wrap;align-items:end;gap:10px;padding:10px 16px;border-bottom:1px solid var(--line-soft);background:#fbfcfa}.purchase-overview-inputs label{min-width:130px}.purchase-overview-inputs label:first-child{grid-template-columns:1fr}.purchase-overview-inputs small{color:#77837b;font-size:12px}.purchase-overview-table{max-height:520px;overflow:auto;border-radius:0}.purchase-overview-table table{width:100%;min-width:1380px;border-collapse:separate;border-spacing:0;table-layout:fixed}.purchase-overview-table th,.purchase-overview-table td{padding:8px 9px;border-bottom:1px solid #edf0ed;border-right:1px solid #edf0ed;background:#fffdfa;font-size:12px;text-align:left;vertical-align:middle}.purchase-overview-table th{position:sticky;top:0;z-index:2;background:#eef5ef;color:#405046;font-weight:900}.purchase-overview-table td:first-child strong,.purchase-overview-table td:first-child small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.purchase-overview-table td:first-child small{color:var(--muted);font-size:11px}.purchase-overview-table .num{text-align:left;font-variant-numeric:tabular-nums}.color-planning-panel{margin:22px 22px 0;overflow:hidden}.color-planning-toolbar{display:grid;grid-template-columns:160px 190px 170px minmax(220px,1fr);gap:10px;align-items:end;padding:12px 16px;border-bottom:1px solid var(--line-soft);background:#f4fbf6}.color-planning-toolbar label{display:grid;gap:5px;color:#617068;font-size:12px;font-weight:800}.color-planning-toolbar select,.color-planning-toolbar input{width:100%;min-width:0;padding:8px 10px;border:1px solid #cbd5cd;border-radius:10px;background:#fff;color:var(--text);font:inherit}.color-planning-toolbar-pivot{grid-template-columns:160px 170px minmax(240px,1fr) 96px}.color-planning-reset{height:37px;align-self:end}.color-planning-summary article{background:#f8fff9}.color-slicer-board{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:10px;padding:12px 16px;border-bottom:1px solid var(--line-soft);background:#fffdf8}.color-slicer{min-width:0;border:1px solid #dfe8e2;border-radius:8px;background:#f8fff9;overflow:hidden}.color-slicer header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-bottom:1px solid #dfe8e2;color:#26473a}.color-slicer header strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.color-slicer header button{height:24px;min-width:42px;padding:0 8px;border:1px solid #bfd4c7;border-radius:999px;background:#fff;color:#126245;font-size:11px;font-weight:900;cursor:pointer}.color-slicer header button:disabled{cursor:default;opacity:.42}.color-slicer-options{display:flex;flex-wrap:wrap;gap:6px;max-height:138px;overflow:auto;padding:8px}.color-slicer-options button{display:inline-flex;align-items:center;gap:5px;max-width:100%;min-height:26px;padding:3px 8px;border:1px solid #d5e2d8;border-radius:999px;background:#fff;color:#334d3f;font-size:12px;font-weight:800;cursor:pointer}.color-slicer-options button.active{border-color:#157a55;background:#e2f4e9;color:#0b5c3f}.color-slicer-options span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.color-slicer-options small{color:#6f7e74;font-size:10px;font-variant-numeric:tabular-nums}.inline-loading{padding:14px 16px;border-bottom:1px solid var(--line-soft);color:#4e6258;font-size:13px;font-weight:800}.color-matrix-wrap{padding:12px 16px;border-bottom:1px solid var(--line-soft);overflow:auto;background:#fffdf8}.color-matrix-table{width:max-content;min-width:980px;border-collapse:separate;border-spacing:0}.color-matrix-table th,.color-matrix-table td{min-width:96px;max-width:150px;padding:8px 10px;border-right:1px solid #e6ece8;border-bottom:1px solid #e6ece8;text-align:left;font-size:12px}.color-matrix-table thead th{position:sticky;top:0;z-index:2;background:#eaf5ef;color:#26473a;font-weight:900}.color-matrix-table tbody th{position:sticky;left:0;z-index:1;min-width:170px;background:#f7fbf8;color:#26382f}.color-matrix-table th strong,.color-matrix-table th small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.color-matrix-table th small{color:var(--muted);font-size:11px}.color-matrix-table td{height:42px;font-weight:900;font-variant-numeric:tabular-nums}.color-planning-table{max-height:520px;overflow:auto;border-radius:0}.color-planning-table table{width:100%;min-width:1520px;border-collapse:separate;border-spacing:0;table-layout:fixed}.color-planning-table th,.color-planning-table td{padding:8px 9px;border-bottom:1px solid #edf0ed;border-right:1px solid #edf0ed;background:#fffdfa;font-size:12px;text-align:left;vertical-align:middle}.color-planning-table th{position:sticky;top:0;z-index:2;background:#eef5ef;color:#405046;font-weight:900}.color-planning-table td:first-child strong,.color-planning-table td:first-child small,.color-planning-table td:nth-child(2) strong,.color-planning-table td:nth-child(2) small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.color-planning-table td:first-child small,.color-planning-table td:nth-child(2) small{color:var(--muted);font-size:11px}.color-planning-table .num{text-align:left;font-variant-numeric:tabular-nums}.color-pivot-table th:nth-child(1),.color-pivot-table td:nth-child(1){width:210px}.color-pivot-table th:nth-child(2),.color-pivot-table td:nth-child(2){width:130px}.color-plan-strong{font-weight:900;color:#126245}.color-plan-input{width:100%;min-width:0;height:30px;padding:4px 6px;border:1px solid #d5e2d8;border-radius:6px;background:#fff;color:var(--text);font:inherit;font-variant-numeric:tabular-nums}.color-plan-input:focus{border-color:#157a55;outline:2px solid rgba(21,122,85,.18)}.color-plan-mode{display:inline-flex;align-items:center;justify-content:center;min-width:58px;padding:4px 7px;border-radius:999px;border:1px solid #d8e4dc;background:#fff;color:#667085;font-size:11px;font-weight:900;white-space:nowrap}.color-plan-mode.share,.color-plan-mode.amount{border-color:#8ecab2;background:#e9f8ef;color:#126245}.overview-type-pill{display:inline-flex;align-items:center;justify-content:center;min-width:46px;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:900}.overview-type-pill.new{border:1px solid #8ecab2;background:#e9f8ef;color:#126245}.overview-type-pill.replenishment{border:1px solid #e5c785;background:#fff7da;color:#775819}.intake-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px 14px;background:var(--bg-soft);border-bottom:1px solid var(--line-soft)}.intake-steps span{padding:9px 12px;background:var(--card);border:1px solid var(--line-soft);border-radius:999px;color:var(--muted);font-size:13px;font-weight:700}.intake-steps span.active{background:var(--green-soft);color:var(--green);border-color:#5d8b3b47}.intake-path-box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end;padding:16px;border-bottom:1px solid var(--line-soft);background:linear-gradient(135deg,#fffdf8f0,#fff7e8db)}.intake-path-box label,.mapping-head label,.mapping-grid label{display:grid;gap:6px;color:#617068;font-size:12px;font-weight:700}.intake-path-box textarea{width:100%;min-width:0;resize:vertical;border:1px solid #c8d0c8;border-radius:8px;padding:10px 12px;font:inherit;color:#17211c}.intake-actions,.mapping-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}.current-folder-hint{max-width:520px;color:#6a786f;font-size:12px;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.intake-run-status{flex-basis:100%;color:#1f7a5c;font-size:12px;font-weight:700;text-align:right}.intake-run-status.busy{color:#8a6424}.intake-alert{display:grid;gap:6px;margin:12px 16px;padding:11px 13px;border-radius:10px;font-size:13px}.intake-alert span{display:block}.intake-alert.ok,.check-card.ok{border:1px solid #b7d2c4;background:#edf8f1;color:#1f7a5c}.intake-alert.warn,.check-card.warn{border:1px solid #ead4a8;background:#fff7e8;color:#79531d}.intake-alert.bad,.check-card.bad{border:1px solid #efc2b3;background:#fff0eb;color:#a74d2a}.intake-source-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:1px;background:#e4e8e4;border-bottom:1px solid #e4e8e4}.intake-source-card,.mapping-card{display:grid;gap:10px;padding:13px 14px;background:#fbfcfa}.intake-source-head,.section-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.intake-source-head strong,.intake-source-head small,.section-title h3,.section-title p{display:block}.intake-source-head small,.intake-source-card p,.section-title p,.mapping-card p{color:#68766d;font-size:12px;line-height:1.45}.intake-mapping-panel{display:grid;gap:12px;padding:16px;border-bottom:1px solid #e4e8e4;background:#fff}.mapping-card{border:1px solid #dfe7df;border-radius:10px}.mapping-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.mapping-grid label{padding:9px;border:1px solid #edf0ed;border-radius:8px;background:#fff}.mapping-grid label.core{border-color:#b7d2c4;background:#f5fbf7}.mapping-grid label span{display:flex;justify-content:space-between;gap:8px;color:#17211c}.mapping-grid small,.mapping-grid em{color:#738078;font-size:11px;font-style:normal;font-weight:500}.mapping-grid select,.mapping-head select{min-width:0;padding:7px 28px 7px 9px}.intake-validation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#e4e8e4;border-bottom:1px solid #e4e8e4}.intake-validation-grid section{display:grid;gap:8px;align-content:start;padding:14px;background:#fbfcfa}.check-card{display:grid;grid-template-columns:minmax(120px,auto) auto minmax(0,1fr);gap:8px;align-items:center;padding:9px 10px;border-radius:8px}.check-card p{color:inherit;font-size:12px;line-height:1.45}.check-card span{justify-self:start;padding:3px 7px;border-radius:999px;background:#ffffffa6;font-size:11px;font-weight:700}.source-body{display:grid;gap:14px;padding:16px;background:linear-gradient(135deg,#fbfcfa,#eef5ef);border-bottom:1px solid #e4e8e4}.source-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.source-meta div,.source-card{background:#ffffffc7;border:1px solid #dfe7df;border-radius:8px;padding:12px 14px}.source-meta span,.source-card span{display:block;color:#68766d;font-size:12px}.source-meta strong,.source-card strong{display:block;margin-top:6px;color:#17211c;font-size:15px}.source-cards{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.source-card strong{font-size:21px}.source-periods{display:flex;flex-wrap:wrap;gap:8px}.period-pill{padding:6px 10px;border-radius:999px;background:#fff;color:#405046;border:1px solid #dfe7df;font-size:12px}.source-warnings{display:grid;gap:8px}.source-warnings p{padding:10px 12px;border-radius:8px;background:#fff7e8;color:#79531d;border:1px solid #ead4a8;font-size:13px}.source-table{max-height:260px}.stage-pill{display:inline-flex;align-items:center;min-height:32px;padding:6px 12px;border-radius:999px;background:#e4f1ea;color:#1f7a5c;font-weight:700;font-size:12px;white-space:nowrap}.forecast-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;padding:22px 22px 0}.forecast-panel,.hierarchy-panel{overflow:hidden}.forecast-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.compact{align-items:flex-start}.scenario-grid,.assumption-grid{display:grid;gap:12px;padding:16px;border-bottom:1px solid #e4e8e4;background:#fbfcfa}.scenario-grid{grid-template-columns:repeat(6,minmax(120px,1fr))}.assumption-grid{grid-template-columns:repeat(5,minmax(130px,1fr))}.scenario-grid label,.assumption-grid label{display:grid;gap:6px;color:#617068;font-size:12px}.scenario-grid input,.scenario-grid select,.assumption-grid input{min-width:0}.forecast-cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:#dce4dd;border-bottom:1px solid #dce4dd}.forecast-card{padding:16px;background:#fff}.forecast-card span{display:block;color:#738078;font-size:12px}.forecast-card strong{display:block;margin-top:8px;font-size:23px}.forecast-cards.explainable{grid-template-columns:repeat(3,minmax(0,1fr))}.forecast-card small,.forecast-card em{display:block;margin-top:8px;color:#617068;font-size:12px;line-height:1.45}.forecast-card em{color:#2f493a;font-style:normal;font-weight:700}.definition-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#e4e8e4;border-bottom:1px solid #e4e8e4}.definition-strip article{padding:13px 16px;background:#fbfcfa}.definition-strip span,.assumption-grid small{display:block;color:#738078;font-size:12px}.definition-strip strong{display:block;margin-top:5px;font-size:14px}.reference-status{display:flex;flex-wrap:wrap;gap:8px;padding:10px 16px;border-bottom:1px solid #e4e8e4;background:#eef5ef}.reference-status span{padding:5px 9px;border-radius:999px;background:#fff;color:#405046;border:1px solid #d9e5dc;font-size:12px}.reference-fact-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:1px;background:#e4e8e4;border-bottom:1px solid #e4e8e4}.reference-fact-card{display:grid;gap:4px;min-width:0;padding:10px 12px;background:#fff}.reference-fact-card span{color:#617068;font-size:11px;font-weight:700}.reference-fact-card strong{color:#17211c;font-size:18px;line-height:1.15}.reference-fact-card small,.reference-fact-card em{overflow:hidden;color:#738078;font-size:11px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.reference-fact-card em{color:#405046;font-style:normal;font-weight:700}.assumption-grid small{line-height:1.35}.adjustment-board{border-bottom:1px solid #e4e8e4;background:#fbfcfa}.adjustment-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #e4e8e4}.adjustment-head h3{margin:0;font-size:15px}.adjustment-head p{margin-top:5px;color:#617068;font-size:12px;line-height:1.45}.adjustment-card-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:1px;background:#e4e8e4}.forecast-control-grid{display:grid;grid-template-columns:repeat(4,minmax(190px,1fr));gap:1px;background:#e4e8e4}.adjustment-card{display:grid;position:relative;gap:8px;min-width:0;padding:11px 12px;background:#fbfcfa}.control-card-head{display:flex;justify-content:space-between;gap:8px;min-height:40px}.control-card-head strong,.control-card-head small,.adjustment-card-baseline span,.adjustment-card-baseline strong,.adjustment-card label{display:block}.control-card-head small{margin-top:4px;color:#738078;font-size:11px;line-height:1.35}.control-card-actions{display:inline-flex;flex-shrink:0;gap:4px}.control-card-values{display:grid;grid-template-columns:minmax(0,1fr) minmax(92px,.9fr);gap:8px;align-items:end}.adjustment-card-baseline{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 10px;border:1px solid #ead4a8;border-radius:8px;background:#fffaf0}.adjustment-card-baseline span,.adjustment-card label,.derived-value span,.control-card-values span{color:#617068;font-size:12px}.adjustment-card-baseline strong,.derived-value strong,.control-card-values strong{color:#79531d;font-size:13px}.adjustment-card input,.adjustment-card textarea{width:100%;min-width:0;margin-top:5px}.adjustment-card textarea{resize:vertical;border:1px solid #c8d0c8;border-radius:6px;padding:8px 10px;font:inherit;color:#17211c}.control-card-formula{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#486054;cursor:help;font-size:11px;line-height:1.35}.control-card-formula.expanded{overflow:visible;white-space:normal;padding:6px 8px;border:1px solid #d9e5dc;border-radius:6px;background:#fff;box-shadow:0 8px 20px #17211c1f}.forecast-compare-chip{display:inline-flex;justify-content:space-between;gap:8px;align-items:center;padding:5px 8px;border:1px solid #d9e5dc;border-radius:999px;background:#fff;color:#607166;font-size:11px;line-height:1.1}.forecast-compare-chip strong{font-size:12px}.forecast-compare-chip.trend-up{border-color:#bfdcca;background:#eef8f2}.forecast-compare-chip.trend-down{border-color:#efd0bf;background:#fff4ee}.forecast-compare-chip.trend-flat{border-color:#d9ded9;background:#f7f9f7}.comparison-note{display:block;margin-top:-3px;color:#7a8b81;font-size:10px;line-height:1.3}.baseline-value{color:#79531d;font-weight:700}.system-baseline{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px;border-bottom:1px solid #e4e8e4;background:#fffaf0}.system-baseline span{padding:6px 10px;border-radius:999px;background:#fff;border:1px solid #ead4a8;color:#79531d;font-size:12px}.definition-note{padding:13px 16px;border-top:1px solid #e4e8e4;background:#fff7e8}.definition-note p{color:#79531d;font-size:13px;line-height:1.6}.hierarchy-panel{margin:22px 0 0;overflow:visible;border-right:0;border-left:0;border-radius:0;box-shadow:none}.hierarchy-config{display:grid;grid-template-columns:repeat(6,minmax(140px,1fr));gap:1px;background:#e4e8e4;border-bottom:1px solid #e4e8e4}.hierarchy-card{display:grid;gap:9px;padding:14px;background:#fbfcfa}.hierarchy-card[draggable=true]{cursor:grab}.hierarchy-card.disabled{opacity:.55}.hierarchy-card.dragging,.column-setting-row.dragging{opacity:.45;outline:2px dashed #1f7a5c;outline-offset:-3px}.hierarchy-card-head{display:flex;justify-content:space-between;gap:10px;align-items:center;color:#617068;font-size:12px}.hierarchy-card-head label{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.hierarchy-move{display:flex;gap:6px}.hierarchy-card input{min-width:auto}.hierarchy-card select{min-width:0}.hierarchy-card small{min-height:48px;color:#738078;font-size:12px;line-height:1.45}.dimension-switcher{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 16px;background:#eef5ef;border-bottom:1px solid #e4e8e4}.dimension-switcher strong,.dimension-switcher span{display:block}.dimension-switcher span{margin-top:4px;color:#617068;font-size:13px}.dimension-switcher label{display:grid;gap:5px;color:#617068;font-size:12px;min-width:220px}.tree-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;background:#eef5ef;border-bottom:1px solid #e4e8e4}.planning-cycle-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;background:#f7faf7;border-bottom:1px solid #e2e8e2}.planning-cycle-bar label{display:inline-flex;align-items:center;gap:8px;color:#51645a;font-size:12px;font-weight:800}.planning-cycle-bar select{min-width:260px;padding:6px 28px 6px 9px}.planning-cycle-bar .cycle-meta,.planning-cycle-bar em{color:#6e7d74;font-size:12px;font-style:normal}.danger-soft{border-color:#e1a9a9;background:#fff5f5;color:#9f3434}.icon-soft{min-width:32px;border-color:#cad7cf;background:#f7fbf8;color:#1f7a5c;font-size:16px;font-weight:800}.tree-toolbar-actions{display:flex;flex-wrap:wrap;gap:8px}.column-menu-trigger{border-color:#1f7a5c;background:#f4fbf6;color:#1f7a5c;font-weight:900}.column-menu-trigger.active{background:#1f7a5c;color:#fff}.tree-filter-clear-all{border-color:#d7a64a;background:#fff8df;color:#8a6516;font-weight:900}.tree-toolbar label{display:inline-flex;align-items:center;gap:8px;color:#617068;font-size:12px}.tree-toolbar select{padding:6px 28px 6px 9px;min-width:120px}.column-settings{display:grid;grid-template-columns:1fr;background:#e4e8e4;border-bottom:1px solid #e4e8e4}.column-settings section{padding:10px 12px 8px;background:#fbfcfa}.column-settings-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid #edf0ed}.column-settings h3{margin:0;font-size:13px;line-height:1.2}.column-settings-head small{color:#738078;font-size:11px;line-height:1.35}.column-group-controls{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 10px}.column-group-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;align-items:center;min-width:170px;padding:5px 7px;border:1px solid var(--group-border, #d6ddd8);border-radius:10px;background:var(--group-bg, #f2f3f2);color:var(--group-text, #405046)}.column-group-control.collapsed{filter:grayscale(.25);opacity:.72}.column-group-main{display:grid;gap:1px;min-width:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.column-group-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.15}.column-group-main small{color:inherit;font-size:10px;opacity:.72}.group-action-row{display:inline-flex;gap:3px}.text-mini{padding:2px 4px;border:1px solid rgba(64,80,70,.18);border-radius:6px;background:#ffffffb3;color:inherit;font-size:10px;font-weight:800;line-height:1.1;cursor:pointer}.column-setting-row{position:relative;display:grid;grid-template-columns:auto minmax(150px,max-content) auto auto auto auto minmax(0,1fr) auto;gap:6px;align-items:center;min-height:30px;padding:4px 0;border-top:1px solid #edf0ed;cursor:grab}.column-setting-row:first-of-type{border-top:0}.column-setting-row.drop-before:before,.column-setting-row.drop-after:after{content:"";position:absolute;right:0;left:0;z-index:3;height:3px;border-radius:999px;background:#1f7a5c;box-shadow:0 0 0 2px #1f7a5c1f}.column-setting-row.drop-before:before{top:-2px}.column-setting-row.drop-after:after{bottom:-2px}.column-setting-row label{display:inline-flex;align-items:center;gap:5px;color:#405046;font-size:12px;font-weight:700;line-height:1.2;min-width:0;white-space:nowrap}.column-setting-row input[type=checkbox]{width:14px;height:14px;min-width:14px}.column-setting-row label span{display:inline-block;white-space:nowrap}.column-width-control{display:inline-flex;align-items:center;gap:4px;color:#617068;font-size:11px;white-space:nowrap}.column-width-control input{width:58px;min-width:58px;padding:3px 5px;font-size:11px}.drag-handle{display:inline-grid;place-items:center;width:24px;height:22px;border-radius:6px;background:#edf5ef;color:#617068;font-size:11px;font-weight:700;-webkit-user-select:none;user-select:none}.column-group-badge{display:inline-flex;align-items:center;justify-content:center;min-width:58px;padding:3px 7px;border-radius:999px;background:#edf5ef;color:#1f7a5c;font-size:11px;font-weight:700;white-space:nowrap}.column-group-badge[class*=group-tone]{border:1px solid var(--group-border);background:var(--group-bg);color:var(--group-text)}.metric-legend{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px 12px;border-bottom:1px solid #e4e8e4;background:#fbfcfa}.legend-chip{display:inline-flex;align-items:center;gap:5px;min-height:24px;padding:4px 8px;border:1px solid var(--metric-accent, #d9e0da);border-radius:999px;background:var(--metric-bg, #fff);color:var(--metric-text, #405046);font-size:11px;font-weight:800;white-space:nowrap}.legend-chip i{width:6px;height:14px;border-radius:999px;background:var(--metric-accent, #aab4ad)}.legend-chip small{color:#738078;font-weight:600}.legend-chip.role-chip{border-color:#d8dfda;background:#fff;color:#526157}.legend-chip.role-chip.data-role-ai{border-style:solid;background:#f1fbf5;color:#1f7a5c}.legend-chip.role-chip.data-role-manual{border-style:dashed;background:#fffaf1;color:#8a6516}.legend-chip.role-chip.data-role-final{background:#f3f6f4;color:#17211c}.legend-chip.pinned-summary{border-color:#bdd5c7;background:#edf8f1;color:#1f7a5c}.legend-chip.warning{border-color:#eadba0;background:#fff8dc;color:#8a6516}.collapsed-group-strip{display:flex;flex-wrap:wrap;gap:6px;padding:8px 12px;border-bottom:1px solid #e4e8e4;background:#f7f9f7}.collapsed-group-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border:1px solid var(--group-border, #d6ddd8);border-radius:999px;background:var(--group-bg, #fff);color:var(--group-text, #405046);font-size:12px;font-weight:900}.collapsed-group-chip small{color:inherit;font-size:10px;opacity:.72}.tree-loading-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"copy pct" "bar bar";gap:10px 14px;align-items:center;padding:13px 16px;border-bottom:1px solid #dbe4dd;background:linear-gradient(135deg,#f7fbf8,#eef6f1);color:#17211c}.tree-loading-copy{grid-area:copy;display:grid;gap:3px}.tree-loading-copy strong{font-size:13px}.tree-loading-copy span{color:#617068;font-size:12px}.tree-loading-panel em{grid-area:pct;color:#1f7a5c;font-size:18px;font-style:normal;font-weight:900}.tree-loading-track{grid-area:bar;display:block;overflow:hidden;height:8px;border-radius:999px;background:#dde6df}.tree-loading-track b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1f7a5c,#78b891);transition:width .22s ease}.column-type-badge,.column-role-badge{display:inline-flex;align-items:center;justify-content:center;min-width:46px;padding:3px 7px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}.column-type-badge{border:1px solid var(--metric-accent, #d5ddd8);background:var(--metric-bg, #f5f7f5);color:var(--metric-text, #405046)}.column-role-badge{border:1px solid #d8dfda;background:#fff;color:#617068}.column-role-badge.data-role-ai{border-color:#bdd5c7;background:#edf8f1;color:#1f7a5c}.column-role-badge.data-role-manual{border-style:dashed;border-color:#e3c992;background:#fff8df;color:#8a6516}.column-role-badge.data-role-final{background:#f3f6f4;color:#17211c}.pin-toggle.active{border-color:#1f7a5c;background:#e4f1ea;color:#1f7a5c;font-weight:800}.column-description{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#738078;cursor:help;font-size:11px;line-height:1.25}.column-description.expanded{position:relative;z-index:5;overflow:visible;white-space:normal;text-overflow:clip;color:#33483c;line-height:1.45;padding:6px 8px;border:1px solid #d9e5dc;border-radius:6px;background:#fff;box-shadow:0 8px 20px #17211c1f}.column-move{display:flex;gap:4px;justify-content:flex-end}.column-move .small{padding:4px 7px;font-size:11px;line-height:1.1}.column-settings-foot{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px;padding-top:8px;border-top:1px solid #edf0ed}.tree-table{--tree-group-header-height: 34px;--tree-metric-header-height: 132px}.table-wrap.tree-table{width:100%;min-width:100%;max-width:100%;height:max(820px,calc(100vh - 24px));max-height:none;overflow:auto;border-radius:0;overscroll-behavior:contain}.tree-table table{border-collapse:separate;border-spacing:0;min-width:100%;table-layout:fixed}.tree-table.is-column-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.tree-table.is-column-resizing .column-resize-handle:after{background:#1f7a5c8c}.metric-type-business{--metric-bg: #f0faf3;--metric-bg-strong: #e1f4e8;--metric-accent: #2f9e64;--metric-text: #17603a}.metric-type-cost{--metric-bg: #fff5e8;--metric-bg-strong: #ffe8c8;--metric-accent: #d98025;--metric-text: #8a4a0f}.metric-type-margin{--metric-bg: #edf9f7;--metric-bg-strong: #d9f0ec;--metric-accent: #2b9b93;--metric-text: #17635e}.metric-type-share{--metric-bg: #f1f5fb;--metric-bg-strong: #dde7f4;--metric-accent: #607da8;--metric-text: #344f76}.metric-type-growth{--metric-bg: #fffdf9;--metric-bg-strong: #f4eee4;--metric-accent: #9c6b3a;--metric-text: #5f4935}.metric-type-stock{--metric-bg: #fff9e7;--metric-bg-strong: #ffedb6;--metric-accent: #c99724;--metric-text: #725b18}.metric-type-rule{--metric-bg: #f4f5f4;--metric-bg-strong: #e6e9e6;--metric-accent: #8a968d;--metric-text: #405046}.data-role-ai{--role-ring: rgba(31, 122, 92, .2)}.data-role-manual{--role-ring: rgba(127, 93, 36, .22)}.data-role-final{--role-ring: rgba(23, 33, 28, .18)}.group-tone-forecast{--group-bg: #e8f5ec;--group-border: #b8dec7;--group-text: #1f7a5c}.group-tone-same-period{--group-bg: #edf4ff;--group-border: #c6d8f2;--group-text: #315f94}.group-tone-current-signal{--group-bg: #eaf8f6;--group-border: #bfe3dd;--group-text: #23736d}.group-tone-signal-base{--group-bg: #eff4f1;--group-border: #cddbd2;--group-text: #526157}.group-tone-trend{--group-bg: #fff1ec;--group-border: #efc7b8;--group-text: #a64a20}.group-tone-tracking{--group-bg: #edf7ff;--group-border: #bdd9ef;--group-text: #28648a}.group-tone-inventory-target{--group-bg: #fff6da;--group-border: #e4cf82;--group-text: #7d6414}.group-tone-purchase{--group-bg: #fff0e5;--group-border: #e4bb91;--group-text: #8f511f}.group-tone-stock{--group-bg: #fff8df;--group-border: #e8d89a;--group-text: #806416}.group-tone-initial-stock{--group-bg: #f3efff;--group-border: #cec2f2;--group-text: #5c4a91}.group-tone-rule{--group-bg: #f2f3f2;--group-border: #d6ddd8;--group-text: #405046}.tree-table th,.tree-table td{padding:5px 6px;font-size:12px;line-height:1.25}.tree-table tbody tr:hover td{background:#fff7e8;box-shadow:inset 0 1px #a8641238,inset 0 -1px #a8641238}.tree-table tbody tr:hover td:first-child{box-shadow:inset 4px 0 0 var(--primary),inset 0 1px #a8641238,inset 0 -1px #a8641238}.tree-table td:last-child{min-width:auto;white-space:nowrap}.tree-table td.metric-data-cell{position:relative;border-left:3px solid var(--metric-accent, transparent);background:var(--metric-bg, #fff)}.tree-table tbody tr:hover td.metric-data-cell{background:linear-gradient(0deg,#f5d8a770,#f5d8a770),var(--metric-bg, #fff7e8)}.tree-table td.data-role-fact{color:#66736a}.tree-table td.data-role-ai{background:linear-gradient(90deg,rgba(31,122,92,.08),transparent 64%),var(--metric-bg, #fff);box-shadow:inset 0 0 0 1px var(--role-ring, transparent)}.tree-table td.data-role-manual{border-left-style:dashed;background:linear-gradient(90deg,rgba(138,101,22,.06),transparent 66%),var(--metric-bg, #fff)}.tree-table td.data-role-final{background:linear-gradient(90deg,rgba(23,33,28,.05),transparent 72%),var(--metric-bg, #fff);color:#17211c}.tree-table .column-group-row th{position:sticky;top:0!important;z-index:14;height:var(--tree-group-header-height);padding:4px 6px;border-bottom:1px solid #dfe7df;vertical-align:middle}.tree-table .metric-header-row th{position:sticky;top:var(--tree-group-header-height)!important;z-index:13;height:var(--tree-metric-header-height);min-height:0;padding:8px 6px 7px;vertical-align:top}.tree-table th.metric-group-th{border-right:1px solid var(--group-border);border-left:1px solid var(--group-border);background:var(--group-bg);color:var(--group-text);text-align:center}.metric-group-th span{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:900;white-space:nowrap}.metric-group-toggle{display:inline-grid;place-items:center;width:18px;height:18px;margin-right:4px;border:1px solid var(--group-border);border-radius:999px;background:#ffffffb3;color:var(--group-text);font-size:12px;font-weight:900;line-height:1;cursor:pointer}.metric-group-th small{display:inline-block;margin:0 0 0 5px;color:inherit;font-size:10px;opacity:.72;white-space:nowrap}.tree-table th.metric-th{position:sticky;top:var(--tree-group-header-height)!important;z-index:13;overflow:visible;white-space:normal;cursor:grab;-webkit-user-select:none;user-select:none;border-left:3px solid var(--metric-accent, transparent);background:linear-gradient(180deg,var(--metric-bg, #f7f9f7),#f7f9f7)}.tree-table th.metric-th:hover{background:#eef5ef}.tree-table th.metric-th:focus{outline:2px solid rgba(31,122,92,.24);outline-offset:-2px}.tree-table th.metric-th:active{cursor:grabbing}.tree-table th.metric-th.dragging{opacity:.55}.tree-table th.metric-th.drop-before:before,.tree-table th.metric-th.drop-after:after{content:"";position:absolute;top:4px;bottom:4px;z-index:35;width:3px;border-radius:999px;background:#1f7a5c;box-shadow:0 0 0 2px #1f7a5c24}.tree-table th.metric-th.drop-before:before{left:1px}.tree-table th.metric-th.drop-after:after{right:1px}.tree-table .is-pinned{min-width:var(--pin-width, auto)}.tree-table .pin-left,.tree-table .pin-right{position:sticky;z-index:9;box-shadow:12px 0 22px #17211c14,-12px 0 22px #17211c0d}.tree-table .pin-left{left:var(--pin-left)}.tree-table .pin-right{right:var(--pin-right)}.tree-table th.metric-th.pin-left,.tree-table th.metric-th.pin-right{position:sticky;top:var(--tree-group-header-height)!important;z-index:15}.tree-table td.pin-left,.tree-table td.pin-right{z-index:10}.tree-table .pin-normal{box-shadow:inset 0 0 0 1px #1f7a5c29}.node-col{position:sticky;left:0;z-index:6;width:300px;min-width:300px;max-width:300px;background:#fff}.node-column-col{width:300px;min-width:300px;max-width:300px}th.node-col{z-index:7;background:#f7f9f7}.tree-table th.group-node-col{position:sticky;left:0;top:0!important;z-index:16;height:calc(var(--tree-group-header-height) + var(--tree-metric-header-height));vertical-align:middle}.tree-table tbody tr:first-child td{border-top:1px solid #dfe7df}.node-head-line{position:relative;display:inline-flex;align-items:center;gap:8px}.tree-node{display:flex;align-items:center;gap:5px;min-height:26px}.tree-node-main{display:inline-flex;align-items:center;gap:5px;min-width:0;cursor:pointer}.tree-node strong{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-node small{color:#738078;font-size:11px}.filter-path-badge{display:inline-flex;align-items:center;height:18px;padding:0 6px;border:1px solid #dfc580;border-radius:999px;background:#fff8df;color:#8a6516;font-size:10px;font-style:normal;font-weight:900;white-space:nowrap}.tree-table tbody tr.filter-path-row td{background:#fffaf0;color:#8a6516}.tree-table tbody tr.filter-path-row td.metric-data-cell{background:linear-gradient(0deg,#fff8dfad,#fff8dfad),var(--metric-bg, #fffaf0);color:#8a6516}.tree-table tbody tr.filter-match-row td.node-col{box-shadow:inset 4px 0 #1f7a5c}.tiny,.tiny-placeholder{width:21px;min-width:21px;height:21px}button.tiny{display:inline-grid;place-items:center;padding:0;border-radius:50%;font-weight:700}.tiny-placeholder{display:inline-block}.rules-panel{margin:0 22px 22px;overflow:hidden}.rule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#e4e8e4}.rule-grid article{padding:16px;background:#fbfcfa}.rule-grid h3{margin:0 0 10px;font-size:15px}.rule-grid p{margin:8px 0;color:#405046;font-size:13px;line-height:1.55}.method-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#e4e8e4;border-bottom:1px solid #e4e8e4}.method-card{padding:16px;background:#fff}.method-card h3{margin:0 0 8px;font-size:15px}.method-card p{color:#617068;font-size:13px;line-height:1.55}.allocation-table{max-height:380px}.allocation-groups{display:grid;gap:16px;padding:16px;background:#fbfcfa}.allocation-group{overflow:hidden;border:1px solid #dfe7df;border-radius:10px;background:#fff}.allocation-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:14px 16px;border-bottom:1px solid #e4e8e4;background:linear-gradient(135deg,#fff,#f0f6f1)}.allocation-head h3{margin:0;font-size:16px}.allocation-head p{margin-top:6px;color:#617068;font-size:13px}.allocation-summary{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.allocation-summary span{padding:6px 9px;border-radius:999px;background:#fff;border:1px solid #d9e5dc;color:#405046;font-size:12px;white-space:nowrap}.inline-number{width:84px;min-width:84px;padding:6px 8px;text-align:right;-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.inline-number::-webkit-outer-spin-button,.inline-number::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}.compact-number{width:54px;min-width:34px;max-width:100%;padding:4px 5px}.node-adjust-compact{position:relative;display:inline-flex;align-items:center;gap:2px;width:100%;min-width:0;white-space:nowrap}.growth-input-row{display:inline-flex;align-items:center;gap:2px;justify-content:flex-start;width:100%;min-width:0}.growth-input-row span,.node-adjust-compact small{color:#738078;font-size:11px}.node-adjust-compact.manual-saved .inline-number{border-color:#7dc89b;background:#f0fff6;box-shadow:inset 0 0 0 1px #1f7a5c2e}.node-adjust-compact.linked-saved .inline-number{border-color:#1f7a5c75;background-color:#fffdf8;background-image:linear-gradient(45deg,rgba(31,122,92,.16) 25%,transparent 25%,transparent 75%,rgba(31,122,92,.16) 75%),linear-gradient(45deg,rgba(31,122,92,.16) 25%,transparent 25%,transparent 75%,rgba(31,122,92,.16) 75%);background-position:0 0,9px 9px;background-size:18px 18px;box-shadow:inset 0 0 0 1px #1f7a5c1f}.node-adjust-compact.draft-dirty .inline-number{border-color:#e2bd4a;background:#fffbea;box-shadow:inset 0 0 0 1px #b884142e}.node-adjust-compact.draft-invalid .inline-number,.node-adjust-compact.save-error .inline-number{border-color:#dc6b6b;background:#fff0f0;box-shadow:inset 0 0 0 1px #b93c3c33}.node-adjust-compact.save-pending .inline-number{border-color:#d9b55b;background:#fff7dd}.node-adjust-compact.needs-review .inline-number{border-color:#d5944a;background:#fff3e4}.original-chip{max-width:48px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.save-state-chip{max-width:52px;padding:1px 5px;border-radius:999px;background:#edf2f7;color:#637084}.save-state-chip.saving{background:#fff7d6;color:#8a6516}.save-state-chip.saved{background:#e7f8ed;color:#167346}.save-state-chip.error{background:#ffe8e8;color:#a33131}.save-state-chip.needs_review{background:#fff0d7;color:#a35b10}.icon-button{display:inline-grid;place-items:center;width:20px;min-width:20px;height:20px;padding:0;border-radius:50%;color:#66736a;font-size:12px;line-height:1}.icon-button.active{border-color:#1f7a5c;background:#e4f1ea;color:#1f7a5c;font-weight:700}.icon-button:disabled{cursor:not-allowed}.reason-popover{position:absolute;right:0;top:calc(100% + 6px);z-index:12;display:grid;gap:8px;width:260px;padding:10px;border:1px solid #cbd7cf;border-radius:10px;background:#fff;box-shadow:0 14px 34px #17211c2e;color:#17211c;text-align:left;white-space:normal}.reason-popover strong{font-size:13px}.reason-popover textarea{width:100%;min-width:0;resize:vertical;border:1px solid #c8d0c8;border-radius:6px;padding:8px 10px;font:inherit;font-size:12px;color:#17211c}.reason-actions{display:flex;justify-content:flex-end;gap:6px}.adjustment-cell-popover{display:none!important}.global-floating-popover{position:fixed;z-index:100000;display:grid;gap:5px;width:260px;padding:10px;border:1px solid #cbd7cf;border-radius:10px;background:#fff;box-shadow:0 14px 34px #17211c2e;color:#17211c;text-align:left;white-space:normal}.global-floating-popover strong{font-size:13px}.global-floating-popover p{margin:0;color:#5f6f66;font-size:12px;line-height:1.35}.global-floating-popover span{color:#617068;font-size:12px;font-weight:600}.global-floating-popover .small.active{border-color:#1f7a5c;background:#e4f1ea;color:#1f7a5c}.adjustment-reason-edit{display:grid;gap:7px}.adjustment-reason-edit textarea{width:100%;min-width:0;resize:vertical;border:1px solid #c8d0c8;border-radius:6px;padding:8px 10px;font:inherit;font-size:12px;color:#17211c}.forecast-reason-popover{top:34px}.inline-reason{width:150px;min-width:150px;padding:5px 7px;font-size:12px}.muted{color:#6a786f}.trend-up{color:#1f7a5c;font-weight:700}.trend-down{color:#a74d2a;font-weight:700}.trend-flat{color:#607166}.risk-pill{display:inline-flex;justify-content:center;min-width:44px;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:700}.purchase-status-pill{min-width:72px;white-space:nowrap}.risk-high{background:#fff0e8;color:#a64a20;border:1px solid #f0c6ae}.risk-mid{background:#fff8dc;color:#8a6516;border:1px solid #eadba0}.risk-low{background:#eaf5ee;color:#1f7a5c;border:1px solid #c8e2d1}.risk-pending{background:#f0f2f0;color:#66736a;border:1px solid #d9ded9}.file-actions{display:flex;gap:6px}.path-cell{max-width:520px;white-space:normal;color:#607166;font-size:12px}.planning-controls{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:12px;padding:16px;border-bottom:1px solid #e4e8e4;background:#fbfcfa}.planning-controls label{display:grid;gap:6px;color:#617068;font-size:12px}.planning-controls input{min-width:0}.planning-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:#e4e8e4;border-bottom:1px solid #e4e8e4}.planning-metric{padding:14px 16px;background:#fff}.planning-metric span{display:block;color:#738078;font-size:12px}.planning-metric strong{display:block;margin-top:6px;font-size:22px}.filters{display:flex;flex-wrap:wrap;gap:10px;padding:14px 16px;border-bottom:1px solid #e4e8e4}.table-wrap{overflow:auto;max-height:calc(100vh - 300px)}.planning-table{max-height:360px}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid #edf0ed;vertical-align:top;white-space:nowrap}td:last-child{min-width:360px;white-space:normal}.num{text-align:right}.strong{font-weight:700}th{position:sticky;top:0;background:#f7f9f7;z-index:1;color:#526157}th small{display:block;margin-top:4px;color:#738078;font-size:11px;font-weight:400}.metric-head-line{display:grid;grid-template-columns:4px minmax(0,1fr) auto auto;gap:4px;align-items:start;width:100%;max-width:100%;white-space:normal}.metric-head-line span{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word;line-height:1.25}.metric-head-line .tree-filter-button{align-self:start}.tree-filter-button{display:inline-grid;place-items:center;width:18px;min-width:18px;height:18px;padding:0;border:1px solid transparent;border-radius:6px;background:#f6f8f7;color:#9ba8a0;font-size:12px;font-weight:900;line-height:1;cursor:pointer}.tree-filter-button:hover,.tree-filter-button.active{border-color:#1f7a5c;background:#e4f1ea;color:#1f7a5c}.tree-filter-popover{position:absolute;left:8px;top:calc(100% + 8px);z-index:70;display:grid;gap:8px;width:292px;padding:10px;border:1px solid #cbd7cf;border-radius:12px;background:#fff;box-shadow:0 18px 42px #17211c33;color:#17211c;text-align:left;white-space:normal}.node-filter-popover{left:12px;top:52px;width:340px}.tree-filter-popover strong{font-size:13px;line-height:1.2}.tree-filter-field{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:8px;color:#5f6f66;font-size:12px}.tree-filter-field.compact{grid-template-columns:72px minmax(0,1fr) 18px}.tree-filter-field span{font-weight:700}.tree-filter-field em{color:#7b897f;font-style:normal}.tree-filter-field select,.tree-filter-field input[type=number],.tree-filter-popover input[type=search]{width:100%;min-width:0;padding:7px 9px;border:1px solid #cdd8d0;border-radius:8px;font-size:12px}.tree-filter-hint{margin:-2px 0 0;color:#718078;font-size:12px;line-height:1.35}.tree-filter-bulk-actions{display:flex;align-items:center;gap:6px}.tree-filter-bulk-actions small{margin-left:auto;color:#6c7a72;font-size:11px;font-weight:700}.tree-filter-options{display:grid;gap:4px;max-height:220px;overflow:auto;padding:4px;border:1px solid #edf0ed;border-radius:9px;background:#fbfcfa}.tree-filter-options label{display:grid;grid-template-columns:18px minmax(0,1fr);gap:6px;align-items:center;min-height:24px;color:#405046;font-size:12px;cursor:pointer}.tree-filter-node-options label{padding-left:calc(var(--node-filter-depth, 0) * 14px)}.tree-filter-options span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-filter-options span small{display:block;overflow:hidden;color:#7d8a82;font-size:10px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.tree-filter-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.tree-filter-hide-column{margin-right:auto;border-color:#ead4a8;background:#fff8df;color:#79531d}.metric-type-dot{width:4px;min-width:4px;height:18px;border-radius:999px;background:var(--metric-accent, #9ba8a0)}.metric-head-badge,.pin-head-button{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:999px;font-style:normal;font-size:9px;font-weight:900;line-height:1;white-space:nowrap}.metric-head-badge{border:1px solid #bdd5c7;background:#edf8f1;color:#1f7a5c}.metric-head-badge.manual{border-color:#e3c992;background:#fff8df;color:#8a6516}.pin-head-button{border:1px solid #cdd8d0;background:#fff;color:#738078;cursor:pointer}.pin-head-button.active{border-color:#1f7a5c;background:#e4f1ea;color:#1f7a5c}.column-resize-handle{position:absolute;top:0;right:-4px;bottom:0;z-index:40;width:8px;cursor:col-resize;touch-action:none}.column-resize-handle:after{content:"";position:absolute;top:8px;right:3px;bottom:8px;width:2px;border-radius:999px;background:transparent}.column-resize-handle:hover:after{background:#1f7a5c73}.metric-period{display:block;max-width:100%;margin-top:6px;color:#7a8b81;white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.15;font-size:10px}.column-drop-hint{position:absolute;left:8px;top:calc(100% + 6px);z-index:40;padding:5px 8px;border:1px solid #b7d2c4;border-radius:999px;background:#edf8f1;box-shadow:0 8px 20px #17211c24;color:#1f7a5c;font-size:11px;font-weight:800;white-space:nowrap}.metric-help-button{display:inline-grid;place-items:center;width:17px;min-width:17px;height:17px;padding:0;border-radius:50%;color:#6a786f;font-size:10px;font-weight:800;line-height:1}.metric-help-button.active,.metric-help-button:hover{border-color:#1f7a5c;background:#e4f1ea;color:#1f7a5c}.metric-help-popover{position:absolute;left:8px;top:calc(100% + 6px);z-index:30;display:none;gap:6px;width:260px;padding:10px;border:1px solid #cbd7cf;border-radius:10px;background:#fff;box-shadow:0 14px 34px #17211c2e;color:#17211c;font-size:12px;line-height:1.5;text-align:left;white-space:normal}.tree-table th.metric-th:hover .metric-help-popover,.tree-table th.metric-th:focus .metric-help-popover,.metric-help-popover.active{display:grid}.metric-help-popover strong{font-size:13px}.metric-help-popover span{color:#617068;font-weight:600}.metric-help-popover p{color:#405046}.metric-cell{position:relative;display:inline-flex;justify-content:flex-end;align-items:center;gap:3px;width:100%;min-width:0;max-width:100%;box-sizing:border-box;padding:2px 5px;overflow:hidden;border-radius:6px;border:1px solid rgba(255,255,255,.4);background:#ffffff75;color:var(--metric-text, inherit)}.metric-cell.metric-cell-value{justify-content:center;width:auto;min-width:32px;max-width:none;padding:2px 4px;overflow:visible}.metric-cell.metric-cell-long{width:100%}.metric-cell.metric-cell-plain{min-width:auto}.metric-cell.metric-type-margin{min-width:58px;justify-content:center;border-color:#2b9b933d;border-radius:999px;background:var(--metric-bg-strong);font-weight:800}.metric-cell.metric-type-growth{gap:1px;border-color:#9c6b3a2e;background:#fff}.metric-cell.data-role-ai{border-color:#bdd5c7;background:#f4fbf6}.metric-cell.data-role-final{border-color:#17211c14;background:#ffffff9e;font-weight:900}.purchase-progress-cell{position:relative;display:inline-flex;align-items:center;justify-content:flex-start;width:100%;min-width:0;height:28px;box-sizing:border-box;overflow:hidden;border:1px solid rgba(31,122,92,.24);border-radius:999px;background:#ffffffbd;color:#126245;font-weight:900}.purchase-progress-bar{position:absolute;inset:3px auto 3px 3px;max-width:calc(100% - 6px);border-radius:inherit;background:#1f7a5c2e;z-index:1}.purchase-progress-base{position:absolute;top:3px;right:3px;bottom:3px;left:3px;display:none;border-radius:inherit}.purchase-progress-text{position:relative;z-index:2;min-width:0;max-width:100%;padding:0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.purchase-progress-remaining{border-color:#1f7a5c47;color:#126245}.purchase-progress-remaining .purchase-progress-bar{background:#1f7a5c33}.purchase-progress-balanced{border-color:#60716638;color:#526158}.purchase-progress-balanced .purchase-progress-bar{width:0!important;background:#6071661f}.purchase-progress-over{border-color:#a74d2a47;color:#9a371e;background:#fff8f4d6}.purchase-progress-over .purchase-progress-base{display:block;background:#a74d2a1f}.purchase-progress-over .purchase-progress-bar{background:linear-gradient(90deg,#a74d2a9e,#a74d2a5c);box-shadow:0 0 0 1px #a74d2a14 inset}.purchase-progress-over-soft{border-color:#cb77484d;color:#9a4a20}.purchase-progress-over-soft .purchase-progress-bar{background:linear-gradient(90deg,#e0875485,#e0875447)}.purchase-progress-over-mid{border-color:#bc543261;color:#9a371e}.purchase-progress-over-mid .purchase-progress-bar{background:linear-gradient(90deg,#bc5432ad,#bc543266)}.purchase-progress-over-high{border-color:#9a2f1b75;color:#8f2b19}.purchase-progress-over-high .purchase-progress-bar{background:linear-gradient(90deg,#9a2f1bd1,#9a2f1b85)}.metric-bar{position:absolute;inset:2px auto 2px 2px;max-width:calc(100% - 4px);border-radius:999px;background:linear-gradient(90deg,var(--metric-bg-strong, rgba(31, 122, 92, .18)),rgba(255,255,255,.08))}.metric-cell.trend-up .metric-bar{background:linear-gradient(90deg,#1f7a5c3d,#1f7a5c14)}.metric-cell.trend-down .metric-bar{background:linear-gradient(90deg,#a74d2a38,#a74d2a12)}.metric-cell.trend-flat .metric-bar{background:linear-gradient(90deg,#60716629,#6071660d)}.metric-text{position:relative;z-index:1;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metric-cell-value .metric-text{flex:0 0 auto;min-width:max-content;max-width:none;overflow:visible;text-overflow:clip;white-space:nowrap}.cell-role-badge{position:relative;z-index:1;display:inline-grid;place-items:center;height:15px;min-width:18px;padding:0 4px;border-radius:999px;background:#1f7a5c;color:#fff;font-size:9px;font-weight:900;line-height:1}.trend-arrow{position:relative;z-index:1;flex:0 0 15px;display:inline-grid;place-items:center;width:15px;height:15px;border-radius:999px;background:#9c6b3a1f;font-size:12px;font-weight:900;line-height:1}.metric-cell-value .trend-arrow{margin-left:-1px}.badge{display:inline-block;min-width:32px;text-align:center;padding:3px 7px;border-radius:999px;background:#e4f1ea;color:#1f7a5c;font-weight:700}.side{display:grid;gap:18px;align-content:start}.chart-panel,.side .panel{padding:16px}.chart{height:260px;width:100%}.diagnostic-input{display:flex;gap:10px;margin-top:14px}.diagnostic-input input{flex:1;min-width:0}.diagnostic{margin-top:16px;display:grid;gap:10px;color:#3e4b43}.diagnostic h3{font-size:16px;color:#17211c}.diagnostic ul{margin:0;padding-left:18px}.diagnostic li{margin:8px 0}.intake-path-box label,.mapping-head label,.mapping-grid label,.scenario-grid label,.assumption-grid label,.hierarchy-card-head,.adjustment-card label,.derived-value span,.control-card-values span{color:var(--muted)}.intake-path-box textarea,.adjustment-card textarea{border-color:var(--line);background:var(--card);color:var(--text)}.current-folder-hint,.intake-source-head small,.intake-source-card p,.section-title p,.mapping-card p,.mapping-grid small,.mapping-grid em,.source-meta span,.source-card span,.forecast-card span,.forecast-card small,.definition-strip span,.assumption-grid small,.reference-fact-card span,.reference-fact-card small,.comparison-note,.adjustment-head p,.hierarchy-card small,.diagnostic{color:var(--muted)}.intake-run-status{color:var(--green)}.intake-run-status.busy{color:var(--primary-dark)}.intake-alert.ok,.check-card.ok,.forecast-compare-chip.trend-up{border-color:#5d8b3b47;background:var(--green-soft);color:var(--green)}.intake-alert.warn,.check-card.warn,.source-warnings p,.definition-note,.system-baseline,.adjustment-card-baseline{border-color:var(--line);background:var(--card-2);color:var(--primary-dark)}.intake-alert.bad,.check-card.bad,.forecast-compare-chip.trend-down{border-color:#d7604547;background:var(--red-soft);color:var(--red)}.intake-source-grid,.intake-validation-grid,.forecast-cards,.definition-strip,.reference-fact-grid,.adjustment-card-grid,.forecast-control-grid,.hierarchy-config{gap:10px;padding:14px;background:var(--bg-soft);border-bottom-color:var(--line-soft)}.intake-source-card,.mapping-card,.intake-validation-grid section,.forecast-card,.definition-strip article,.reference-fact-card,.adjustment-card,.hierarchy-card,.source-meta div,.source-card{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--radius-md);box-shadow:0 8px 22px #6742160d}.intake-mapping-panel,.source-body,.scenario-grid,.assumption-grid,.reference-status,.adjustment-board,.adjustment-head{background:#fffaf1b3;border-bottom-color:var(--line-soft)}.source-body{background:radial-gradient(circle at top right,rgba(216,148,37,.12),transparent 32%),linear-gradient(135deg,#fffdf8eb,#fff7e8db)}.period-pill,.stage-pill,.reference-status span,.system-baseline span,.forecast-compare-chip,.badge{border-color:var(--line);background:var(--card);color:var(--primary-dark)}.stage-pill{background:var(--green-soft);border:1px solid rgba(93,139,59,.28);color:var(--green)}.source-meta strong,.source-card strong,.reference-fact-card strong,.definition-strip strong,.forecast-card strong,.adjustment-card-baseline strong,.derived-value strong,.control-card-values strong,.diagnostic h3{color:var(--text)}.baseline-value,.definition-note p,.control-card-formula{color:var(--primary-dark)}.control-card-formula.expanded{border-color:var(--line);background:var(--card);box-shadow:var(--shadow)}.hierarchy-card.dragging,.column-setting-row.dragging{outline-color:var(--primary)}@media(max-width:1100px){.summary-grid,.source-meta,.source-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.forecast-layout{grid-template-columns:1fr}.scenario-grid,.assumption-grid,.forecast-cards,.reference-fact-grid,.definition-strip,.hierarchy-config,.adjustment-card-grid,.forecast-control-grid,.rule-grid,.method-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dimension-switcher{align-items:stretch;flex-direction:column}.column-setting-row{grid-template-columns:1fr}.allocation-head{flex-direction:column}.allocation-summary{justify-content:flex-start}.planning-controls,.planning-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.workspace{grid-template-columns:1fr}}@media(max-width:720px){.topbar{align-items:stretch;flex-direction:column;padding:20px}.topbar-logo{width:72px;height:72px}.controls{justify-content:flex-start}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.planning-panel,.source-panel{margin:12px 12px 0}.source-meta,.source-cards{grid-template-columns:1fr}.forecast-layout{padding:12px 12px 0}.hierarchy-panel{margin:12px}.scenario-grid,.assumption-grid,.forecast-cards,.reference-fact-grid,.definition-strip,.hierarchy-config,.adjustment-card-grid,.forecast-control-grid,.column-settings,.rule-grid,.method-grid{grid-template-columns:1fr}.tree-toolbar,.tree-toolbar-actions,.adjustment-head{align-items:stretch;flex-direction:column}.planning-controls,.planning-metrics{grid-template-columns:1fr}.workspace{padding:12px}}.first-allocation-node-button{margin-left:8px;border-color:#d8bd86;color:#8c5b18;background:#fffaf0}.first-allocation-node-button.active{border-color:#0f8a4b;color:#0f7a43;background:#e8f8ee}.first-allocation-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9600;display:flex;justify-content:flex-end;background:#0f172a29}.first-allocation-drawer{width:min(1180px,96vw);height:100%;overflow:auto;padding:24px;background:#fffaf2;box-shadow:-20px 0 50px #2f1f0e38}.first-allocation-drawer header,.first-allocation-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.first-allocation-drawer h2{margin:4px 0;font-size:28px;color:#302113}.first-allocation-drawer p{margin:0;color:#7c6a55}.first-allocation-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}.first-allocation-form-grid.compact{grid-template-columns:repeat(5,minmax(120px,1fr))}.first-allocation-form-grid label{display:grid;gap:6px;font-weight:800;color:#432}.first-allocation-form-grid label.wide{grid-column:1 / -1}.first-allocation-form-grid input,.first-allocation-form-grid textarea{width:100%;border:1px solid #e0cda8;border-radius:12px;padding:10px 12px;background:#fffdf8;color:#2f2418;font:inherit}.first-allocation-actions{margin:18px 0;padding:14px;border:1px solid #ead8b5;border-radius:14px;background:#fff7e7}.first-allocation-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.first-allocation-summary article{padding:14px;border:1px solid #e6d4b5;border-radius:14px;background:#fffdf8}.first-allocation-summary article.over{border-color:#fecaca;background:#fff1f2}.first-allocation-summary article.remaining{border-color:#bbf7d0;background:#f0fdf4}.first-allocation-summary article.balanced{border-color:#bfdbfe;background:#eff6ff}.first-allocation-summary span{display:block;color:#877158;font-size:13px;font-weight:800}.first-allocation-summary strong{display:block;margin-top:6px;color:#11673d;font-size:24px}.first-allocation-summary small{display:block;margin-top:4px;color:#7c6a55;font-weight:800}.first-allocation-linked{border:1px solid #e7d6b7;border-radius:14px;background:#fffdf8;overflow:auto;margin-top:14px}.first-allocation-linked h3{margin:0;padding:14px 16px;border-bottom:1px solid #ead8b5}.first-allocation-linked table{width:100%;min-width:980px;border-collapse:collapse}.first-allocation-linked th,.first-allocation-linked td{padding:10px 12px;border-bottom:1px solid #f0e2c8;text-align:left}.first-allocation-linked .muted{padding:16px}.first-allocation-linked.secondary{opacity:.92}.slot-ledger input{width:100%;min-width:74px;border:1px solid #e0cda8;border-radius:8px;padding:6px 8px;background:#fffdf8;color:#2f2418;font:inherit}.slot-ledger th:nth-child(7),.slot-ledger th:nth-child(8),.slot-ledger td:nth-child(7),.slot-ledger td:nth-child(8){min-width:160px}.slot-status{display:inline-flex;align-items:center;justify-content:center;min-width:56px;border-radius:999px;padding:3px 8px;background:#fef3c7;color:#92400e;font-size:12px;font-weight:900}.slot-status.linked{background:#dcfce7;color:#166534}.slot-status.empty{background:#f1f5f9;color:#475569}
