/* Дополнительные компоненты InvestValue. Базовые токены и каркас — в base.css. */
.toolbar-subtitle{margin:6px 0 0;color:var(--muted)}
.benefits-grid{grid-template-columns:230px minmax(0,1fr)}
.benefits-main{min-width:0}
.benefit-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.benefit-summary-grid article,.benefits-panel,.materials-card{border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(17,32,51,.04)}
.benefit-summary-grid article{padding:17px}
.benefit-summary-grid span,.benefit-summary-grid small{display:block;color:var(--muted);font-size:12px}
.benefit-summary-grid strong{display:block;margin:5px 0 3px;font-size:21px;letter-spacing:-.03em}
.benefits-notice{display:grid;gap:4px;margin-bottom:16px;padding:14px 16px;border:1px solid #b7dfcf;border-radius:12px;background:#effbf5;color:#176947;font-size:13px}
.benefits-panel,.materials-card{margin-bottom:16px;overflow:hidden}
.benefits-panel-toolbar,.materials-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:20px 22px;border-bottom:1px solid var(--line)}
.benefits-panel-toolbar h2,.materials-head h2{margin:0;font-size:20px}
.benefits-panel-toolbar p,.materials-head p{margin:4px 0 0;color:var(--muted);font-size:13px}
.benefit-toolbar-actions{display:flex;gap:8px;align-items:center;white-space:nowrap}
.benefit-card{margin:0 22px;border-bottom:1px solid var(--line)}
.benefit-card-header,.nonfinancial-card header{display:grid;grid-template-columns:34px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:16px 0}
.benefit-card-header strong,.nonfinancial-card header strong{display:block}
.benefit-card-header small,.nonfinancial-card header small{display:block;margin-top:2px;color:var(--muted);font-size:12px}
.benefit-card-header>b{font-size:15px;white-space:nowrap}
.benefit-number{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#edf4ff;color:var(--accent);font-size:12px;font-weight:800}
.benefit-status{padding:4px 8px;border-radius:99px;background:#fff2df;color:#955c10;font-size:11px;font-weight:700;white-space:nowrap}
.benefit-card-body{padding:0 0 20px}
.benefit-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.benefit-form-grid label{display:grid;gap:6px;color:var(--ink);font-size:12px;font-weight:700}
.benefit-form-grid .benefit-wide{grid-column:1/-1}
.benefit-form-grid input,.benefit-form-grid select,.benefit-form-grid textarea,.material-upload input,.material-upload select{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-size:13px;font-weight:400}
.benefit-form-grid textarea{resize:vertical}
.benefit-form-grid span{min-height:36px;padding:9px 0;color:var(--muted);font-weight:400}
.benefit-period-heading{display:flex;justify-content:space-between;gap:16px;margin-top:17px;padding:12px 0 9px;border-top:1px dashed var(--line);color:var(--muted);font-size:12px}
.benefit-period-heading strong{display:block;color:var(--ink)}
.benefit-period-scroll{overflow:auto;padding-bottom:5px}
.benefit-period-scroll table{border-collapse:separate;border-spacing:6px 0}
.benefit-period-scroll th{min-width:82px;padding-bottom:6px;color:var(--muted);font-size:11px}
.benefit-period-scroll td{min-width:82px}
.benefit-period-scroll input{width:100%;padding:8px;border:1px solid #eef1f5;border-radius:7px;background:#fbfcfe;text-align:right;font:inherit;font-size:12px}
.empty-benefits{display:grid;gap:4px;margin:20px 22px;padding:20px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);text-align:center}
.nonfinancial-card{margin:0 22px;padding-bottom:18px}
.nonfinancial-card>p{margin:0;padding:13px 15px;border-radius:9px;background:#f6f8fb;color:var(--muted);font-size:13px}
.nonfinancial-card>p strong{color:var(--ink)}
.materials-head>span{padding:5px 8px;border-radius:99px;background:#f1f5f9;color:var(--muted);font-size:12px;font-weight:700}
.material-upload{display:grid;grid-template-columns:1.2fr .8fr .9fr 1.3fr auto;gap:9px;padding:16px 22px;background:#f8fbff;border-bottom:1px solid var(--line)}
.material-upload input,.material-upload select{min-width:0}
.materials-list>div{display:flex;align-items:center;gap:11px;padding:13px 22px;border-bottom:1px solid #edf1f6}
.materials-list>div:last-child{border:0}
.material-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;background:#edf4ff;color:var(--accent)}
.materials-list span:nth-child(2){display:grid;gap:1px;flex:1;min-width:0}
.materials-list small{color:var(--muted);font-size:12px}
.materials-list a{color:var(--accent);font-size:13px;font-weight:700;text-decoration:none}
.materials-list>p{padding:0 22px 18px;color:var(--muted);font-size:13px}
.benefit-error{margin-bottom:16px}
@media(max-width:980px){.benefits-grid{grid-template-columns:210px minmax(0,1fr)}.benefit-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.material-upload{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.benefits-grid{grid-template-columns:1fr}.benefit-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.benefits-panel-toolbar,.materials-head{display:grid}.benefit-toolbar-actions{white-space:normal}.benefit-card-header,.nonfinancial-card header{grid-template-columns:30px 1fr}.benefit-card-header>b,.benefit-card-header .benefit-status,.nonfinancial-card .benefit-status{grid-column:2}.benefit-form-grid{grid-template-columns:1fr}.material-upload{grid-template-columns:1fr}.benefit-period-heading{display:grid}}

/* Экран выгод: геометрия и состояния карточек перенесены из согласованного прототипа. */
.container:has(.benefits-workspace){width:100%;max-width:none}.benefits-workspace{width:min(1580px,calc(100% - 36px));margin:0 auto}.benefits-grid{gap:18px}.benefit-summary-grid{gap:12px;margin-bottom:14px}.benefit-summary-grid article{padding:16px 18px;border-radius:12px;box-shadow:none}.benefit-summary-grid strong{margin:7px 0 4px;color:#17385f}.benefits-notice{display:flex;gap:12px;align-items:center;margin-bottom:14px;padding:11px 14px;border-color:#c7d7fe;border-radius:10px;background:#edf4ff;color:#244b82;font-size:12px}.benefits-notice strong{white-space:nowrap}.benefits-reference-shell{overflow:hidden;margin-bottom:14px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:none}.benefits-reference-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line)}.benefit-tabs{display:flex;gap:6px;padding:4px;border-radius:8px;background:#f2f5f8}.benefit-tab-toggle{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.benefit-tabs label{padding:8px 12px;border-radius:6px;background:transparent;color:var(--muted);font-size:inherit;font-weight:700;cursor:pointer}.benefit-tab-toggle:checked+label{background:#fff;color:var(--accent);box-shadow:0 1px 4px rgb(20 40 70 / 12%)}.benefit-tabs span{display:inline-flex;justify-content:center;min-width:20px;margin-left:5px;padding:1px 5px;border-radius:999px;background:#e8eef7;font-size:10px}.benefits-reference-shell:has(#financial-benefit-tab:checked)>form:nth-of-type(2),.benefits-reference-shell:has(#nonfinancial-benefit-tab:checked)>form:nth-of-type(1){display:none}.horizon-control{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px}.horizon-control select{height:36px;padding:6px 24px 6px 9px;border:1px solid #c8d4e2;border-radius:8px;background:#fff;color:#17385f;font:inherit;font-size:12px;font-weight:700}.benefits-reference-shell>.benefits-panel{margin:0;overflow:visible;border:0;border-radius:0;box-shadow:none}.benefits-reference-shell>.benefits-panel .benefits-panel-toolbar{display:none}.benefits-reference-shell>.benefits-panel{padding:14px;background:#f7f9fb}.benefit-card,.nonfinancial-card{overflow:hidden;margin:0 0 12px;border:1px solid #dbe4ef;border-radius:10px;background:#fff}.benefit-card:last-child,.nonfinancial-card:last-child{margin-bottom:0}.benefit-card-header{grid-template-columns:30px minmax(260px,1fr) auto auto 130px 18px;gap:12px;padding:14px 16px;background:#fff;color:var(--ink);border:0;cursor:pointer;list-style:none}.benefit-card-header::-webkit-details-marker{display:none}.benefit-card[open] .benefit-card-header{border-bottom:1px solid #dbe4ef;background:#fbfcfe}.benefit-card-header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.benefit-card-header small{font-size:12px}.benefit-chevron{font-style:normal;font-size:18px;transition:transform .18s ease}.benefit-card[open] .benefit-chevron{transform:rotate(180deg)}.benefit-number{width:26px;height:26px;background:#e9f1ff;color:#174ea6;font-size:11px}.benefit-status{padding:5px 8px;border-radius:999px;background:#fff0e9;color:#a54822;font-size:10px;font-weight:800}.benefit-card-body{padding:16px}.benefit-form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.benefit-form-grid label{gap:6px;color:#445463;font-size:11px}.benefit-form-grid .benefit-wide{grid-column:span 2}.benefit-form-grid input,.benefit-form-grid select,.benefit-form-grid textarea{min-height:34px;padding:7px 9px;border-color:#dce2e8;border-radius:6px;background:#fffaf0;font-size:12px}.benefit-form-grid input:focus,.benefit-form-grid select:focus,.benefit-form-grid textarea:focus{border-color:var(--accent);outline:0;background:#fff;box-shadow:0 0 0 2px rgb(21 94 239 / 10%)}.benefit-period-heading{margin:14px 0 8px;padding:0;border-top:0}.benefit-period-scroll{scrollbar-color:#6f7f8f #e4e9ee}.benefit-period-scroll table{min-width:5000px;border-collapse:collapse}.benefit-period-scroll th,.benefit-period-scroll td{width:82px;padding:5px;border:1px solid #e6ebf0;font-size:10px}.benefit-period-scroll th{background:#f4f6f8}.benefit-period-scroll input{padding:6px;border:1px solid transparent;border-radius:4px;background:#fffaf0}.nonfinancial-card{padding:16px}.nonfinancial-card header{grid-template-columns:30px minmax(0,1fr) auto;padding:0 0 12px}.nonfinancial-card .benefit-card-body{padding:0}.nonfinancial-card .benefit-card-body>p{margin:14px 0 0;padding:10px 12px;border-left:3px solid #805ad5;border-radius:0;background:#f7f3ff;color:#57456f;font-size:11px}.nonfinancial-card .benefit-card-body>p strong{color:#673ab7}.benefits-reference-shell+ .materials-card{margin-top:0}@media(max-width:980px){.benefits-workspace{width:min(100% - 32px,1580px)}.benefit-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.container:has(.benefits-workspace){width:100%}.benefits-workspace{width:min(100% - 28px,1580px)}.benefits-reference-toolbar{align-items:stretch;flex-direction:column}.benefit-toolbar-actions{justify-content:space-between}.benefit-card-header{grid-template-columns:30px minmax(0,1fr)}.benefit-card-header .benefit-status,.benefit-card-header>b{grid-column:2}.benefit-form-grid{grid-template-columns:1fr}.benefit-form-grid .benefit-wide{grid-column:auto}}
.benefit-status.status-confirmed{background:#eaf7ef;color:#237a43}.benefit-status.status-partially_confirmed{background:#fff4dd;color:#9a6200}.benefit-status.status-draft{background:#fff0e9;color:#a54822}

/* Материалы: перенос структуры экрана из согласованного прототипа. */
.container:has(.materials-workspace){width:100%;max-width:none}.materials-workspace{width:min(1460px,calc(100% - 42px));margin:0 auto}.materials-grid{gap:18px}.materials-toolbar{margin-bottom:16px}.materials-main{gap:16px}.materials-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.materials-summary-grid article{min-height:96px;padding:16px 18px;border-radius:12px;box-shadow:none}.materials-summary-grid strong{margin:6px 0 3px;font-size:21px}.materials-card{overflow:hidden;border:1px solid #dbe4ef;border-radius:12px;background:#fff}.materials-card-head{padding:18px 20px}.materials-card-head h2{margin:0;font-size:18px}.materials-card-head p{margin:3px 0 0;color:#8090a5;font-size:12px}.materials-top-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.85fr);gap:14px}.materials-upload-card .materials-card-head{padding-bottom:10px}.material-upload-prototype{grid-template-columns:1fr!important;display:grid;gap:14px;padding:0 20px 20px;background:#fff}.drop-zone{display:grid;justify-items:center;gap:4px;min-height:112px;padding:16px;border:1px dashed #a9caee;border-radius:10px;background:#f8fbff;text-align:center;cursor:pointer}.drop-zone input{position:absolute;inline-size:1px;block-size:1px;opacity:0}.drop-zone-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#1765d7;color:#fff;font-size:20px;font-weight:800}.drop-zone strong{font-size:14px}.drop-zone small{color:#8294ad;font-size:11px}.material-upload-fields{display:grid;grid-template-columns:1fr 1fr;gap:11px}.material-upload-fields label{display:grid;gap:5px;color:#617086;font-size:11px;font-weight:700}.material-upload-fields select,.material-upload-fields input{width:100%;height:36px;padding:7px 9px;border:1px solid #d7e0ea;border-radius:7px;background:#fff;color:var(--ink);font:inherit;font-size:12px}.material-upload-fields .material-description{grid-column:1/-1}.material-upload-prototype .primary-button{justify-self:start}.related-links-card .materials-card-head{position:relative}.related-links-card .materials-card-head>a{position:absolute;right:20px;top:18px;color:var(--accent);font-size:12px;font-weight:800;text-decoration:none}.reference-link{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:9px;align-items:center;margin:0 14px 10px;padding:10px;border-radius:8px;background:#f7f9fc}.reference-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:7px;background:#2c68ad;color:#fff;font-size:9px;font-weight:900}.reference-icon.opt{background:#6f47ac}.reference-icon.doc{background:#39876b}.reference-link strong,.reference-link small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reference-link strong{font-size:11px}.reference-link small{color:#8391a4;font-size:9px}.reference-link em{color:var(--accent);font-style:normal}.materials-table-head{display:flex;justify-content:space-between;gap:16px;align-items:center}.materials-filters{display:flex;gap:8px}.materials-filters input,.materials-filters select{width:174px;height:36px;padding:7px 9px;border:1px solid #d7e0ea;border-radius:7px;background:#fff;color:var(--ink);font:inherit;font-size:12px}.materials-table-wrap{overflow:auto}.materials-table-card table{width:100%;border-collapse:collapse;min-width:860px}.materials-table-card th{padding:10px 12px;background:#edf3f8;color:#60728a;text-align:left;font-size:10px;text-transform:uppercase}.materials-table-card td{padding:10px 12px;border-top:1px solid #e7edf3;color:#38506d;font-size:11px;vertical-align:middle}.materials-table-card td:first-child{display:flex;gap:9px;align-items:center;min-width:260px}.materials-table-card td strong,.materials-table-card td small{display:block}.materials-table-card td strong{color:var(--ink);font-size:11px}.materials-table-card td small{margin-top:2px;color:#8291a5;font-size:10px}.material-file-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:6px;background:#ebf2ff;color:#2561b1;font-size:9px;font-weight:900}.material-file-icon.type-commercial_offer{background:#ffe9e9;color:#b94a4a}.material-file-icon.type-architecture{background:#edf0ff;color:#5d61ba}.material-file-icon.type-minutes{background:#e7f0ff;color:#3869a8}.material-file-icon.type-calculation{background:#e5f5e9;color:#29834e}.material-type{display:inline-block;padding:4px 6px;border-radius:5px;background:#eef4fb;color:#4974a5;font-size:9px;font-weight:800}.material-download{display:grid;place-items:center;width:28px;height:28px;border-radius:6px;background:#f1f5f9;color:#316eaf;text-decoration:none;font-weight:800}.materials-empty-cell{padding:42px!important;text-align:center;color:#8291a5!important}.materials-readonly{padding:0 20px 20px;color:#8291a5;font-size:13px}@media(max-width:980px){.materials-workspace{width:min(100% - 32px,1460px)}.materials-top-grid{grid-template-columns:1fr}.materials-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.materials-workspace{width:min(100% - 28px,1460px)}.materials-summary-grid{grid-template-columns:1fr}.materials-top-grid{grid-template-columns:1fr}.material-upload-fields{grid-template-columns:1fr}.materials-table-head{display:grid}.materials-filters{display:grid;grid-template-columns:1fr}.materials-filters input,.materials-filters select{width:100%}}

/* Поля методики финансовой выгоды повторяют структуру исходного прототипа. */
.benefit-method-box{display:grid;grid-template-columns:1fr 1fr 1.6fr;gap:10px;margin:14px 0;padding:12px;border-radius:8px;background:#f3f7fc}.benefit-method-box label{display:flex;min-width:0;flex-direction:column;gap:6px}.benefit-method-box small{color:var(--muted);font-size:10px;font-weight:500}.benefit-method-values{display:grid;grid-template-columns:minmax(0,1fr) 84px;gap:6px;min-height:0;padding:0}.benefit-method-box input,.benefit-method-box select{min-height:31px;background:#fff}.benefit-form-grid input[readonly]{background:#f2f4f6;color:#596776;font-weight:700}.benefit-money{text-align:right;font-weight:700!important}@media(max-width:980px){.benefit-method-box{grid-column:1/-1}}@media(max-width:720px){.benefit-method-box{grid-template-columns:1fr}.benefit-method-values{grid-template-columns:minmax(0,1fr) 84px}}
.benefit-source{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;color:#445463;font-size:11px;font-weight:700}.benefit-source input{width:100%;min-height:34px;padding:7px 9px;border:1px solid #dce2e8;border-radius:6px;background:#fffaf0;color:var(--ink);font:inherit;font-size:12px}.benefit-source input:focus{border-color:var(--accent);outline:0;background:#fff;box-shadow:0 0 0 2px rgb(21 94 239 / 10%)}
.benefit-method-box{grid-template-columns:1fr 1fr 1.6fr}.benefit-method-box>div{display:flex;min-width:0;flex-direction:column;gap:4px}.benefit-method-box>div>span{color:var(--muted);font-size:10px}.benefit-method-box>div>strong{font-size:12px}.benefit-method-box .driver-label{font-size:10px}.benefit-method-box .driver-value-row{display:grid;grid-template-columns:minmax(0,1fr) 84px;gap:6px}.benefit-method-box .driver-value{text-align:right;font-weight:700}.benefit-method-box .driver-unit{color:#596776}.benefit-method-box .formula-result{gap:7px;padding-left:12px;border-left:1px solid #cbd8e7;color:#174ea6}.benefit-method-box .formula-result .formula-value{color:#174ea6;font-size:12px}.benefit-method-box .formula-result small{font-size:9px}.benefit-method-box .formula-result select{width:100%}@media(max-width:720px){.benefit-method-box .formula-result{padding-left:0;border-left:0;border-top:1px solid #cbd8e7;padding-top:10px}}

/* Компактная формульная полоса — точная визуальная иерархия прототипа. */
.benefit-card-body .benefit-method-box{grid-template-columns:1fr 1fr 1.6fr;gap:12px;margin:12px 0;padding:10px 12px;border-radius:8px;background:#f1f6fc}.benefit-card-body .benefit-method-box>div{gap:4px}.benefit-card-body .benefit-method-box>div>span,.benefit-card-body .benefit-method-box .driver-label{color:#60758f;font-size:9px;font-weight:500;line-height:1.2}.benefit-card-body .benefit-method-box input,.benefit-card-body .benefit-method-box select{box-sizing:border-box;min-height:29px;height:29px;padding:5px 8px;border:1px solid #cbd8e7;border-radius:5px;background:#fff;color:#17314e;font-size:10px;line-height:1.1;box-shadow:none}.benefit-card-body .benefit-method-box .driver-value-row{grid-template-columns:minmax(0,1fr) 72px;gap:6px}.benefit-card-body .benefit-method-box .driver-value{font-size:12px;font-weight:800}.benefit-card-body .benefit-method-box .driver-unit{color:#5e7188;font-size:11px}.benefit-card-body .benefit-method-box .formula-result{gap:6px;padding-left:14px;border-left:1px solid #c7d7e8}.benefit-card-body .benefit-method-box .formula-result select{font-size:12px}.benefit-card-body .benefit-method-box .formula-result .formula-value{font-size:11px;font-weight:800}.benefit-card-body .benefit-method-box .formula-result small{font-size:9px;line-height:1.25}.benefit-card-body .benefit-method-box input:focus,.benefit-card-body .benefit-method-box select:focus{border-color:#1f67dc;outline:0;box-shadow:0 0 0 2px rgb(31 103 220 / 10%)}@media(max-width:720px){.benefit-card-body .benefit-method-box{grid-template-columns:1fr}.benefit-card-body .benefit-method-box .formula-result{padding-left:0;border-top:1px solid #c7d7e8;border-left:0;padding-top:10px}}

/* Нефинансовый эффект: компактная карточка из экрана-прототипа. */
.nonfinancial-card{padding:0}.nonfinancial-card header{padding:14px 16px;border-bottom:1px solid #dbe4ef}.nonfinancial-card .benefit-card-body{padding:14px 16px}.nonfinancial-note{display:flex;align-items:center;gap:12px;margin:0 0 14px!important;padding:10px 12px;border-left:3px solid #8555d8;border-radius:0!important;background:#f7f3ff!important;color:#6a4c91!important;font-size:11px!important}.nonfinancial-note strong{flex:none;color:#6538bc!important}.nonfinancial-form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.nonfinancial-form-grid label{min-width:0}.nonfinancial-form-grid textarea{resize:vertical}.nonfinancial-form-grid .benefit-wide{grid-column:span 2}@media(max-width:980px){.nonfinancial-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.nonfinancial-note{align-items:flex-start;flex-direction:column;gap:4px}.nonfinancial-form-grid{grid-template-columns:1fr}.nonfinancial-form-grid .benefit-wide{grid-column:auto}}

.budget-workspace{width:min(1580px,calc(100% - 36px));margin:0 auto}.toolbar-subtitle{margin:5px 0 0;color:var(--muted);font-size:13px}.budget-project-toolbar{align-items:center}.budget-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:20px;align-items:start}.budget-steps{position:sticky;top:18px}.budget-main{min-width:0}.budget-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.budget-summary-grid article{padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 8px 24px rgba(17,32,51,.04)}.budget-summary-grid span,.budget-summary-grid strong,.budget-summary-grid small{display:block}.budget-summary-grid span,.budget-summary-grid small{color:var(--muted);font-size:12px}.budget-summary-grid strong{margin:6px 0 4px;font-size:21px;letter-spacing:-.025em}.budget-notice{display:flex;gap:12px;align-items:center;margin-bottom:14px;padding:11px 14px;border:1px solid #c7d7fe;border-radius:10px;background:#edf4ff;color:#244b82;font-size:12px}.budget-notice strong{white-space:nowrap}.budget-table-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(17,32,51,.04)}.budget-table-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border-bottom:1px solid var(--line)}.budget-table-heading h2{margin:0 0 4px;font-size:19px}.budget-table-heading p{margin:0;color:var(--muted);font-size:12px}.scroll-hint{color:var(--muted);font-size:11px;white-space:nowrap}.budget-table-scroll{overflow:auto;max-width:100%}.budget-entry-table{min-width:max-content;width:100%;border-collapse:separate;border-spacing:0;font-size:12px}.budget-entry-table th,.budget-entry-table td{padding:9px 10px;border-right:1px solid #edf1f5;border-bottom:1px solid #edf1f5;text-align:right;white-space:nowrap}.budget-entry-table th{position:sticky;top:0;z-index:2;background:#f7f9fc;color:var(--muted);font-size:11px;font-weight:700}.budget-entry-table th:nth-child(-n+5),.budget-entry-table td:nth-child(-n+5){position:sticky;z-index:1;background:#fff;text-align:left}.budget-entry-table th:nth-child(1),.budget-entry-table td:nth-child(1){left:0;min-width:78px}.budget-entry-table th:nth-child(2),.budget-entry-table td:nth-child(2){left:78px;min-width:170px}.budget-entry-table th:nth-child(3),.budget-entry-table td:nth-child(3){left:248px;min-width:195px}.budget-entry-table th:nth-child(4),.budget-entry-table td:nth-child(4){left:443px;min-width:76px}.budget-entry-table th:nth-child(5),.budget-entry-table td:nth-child(5){left:519px;min-width:105px;text-align:right;box-shadow:7px 0 10px -9px rgba(17,32,51,.55)}.budget-entry-table th:nth-child(-n+5){z-index:3;background:#f7f9fc}.budget-entry-table tbody tr:hover td{background:#f8fbff}.budget-entry-table tbody tr:hover td:nth-child(-n+5){background:#f8fbff}.budget-category{font-weight:700}.cost-type{display:inline-block;padding:3px 6px;border-radius:5px;font-size:10px;font-weight:800;letter-spacing:.04em}.cost-capex{background:#eaf0ff;color:#2557b7}.cost-opex{background:#e9f8f2;color:#087451}.inline-text,.budget-cell{width:100%;min-width:92px;border:1px solid transparent;border-radius:6px;background:transparent;padding:6px;font:inherit;font-size:12px}.inline-text{min-width:178px;text-align:left}.budget-cell{min-width:74px;text-align:right}.inline-text:hover,.budget-cell:hover,.inline-text:focus,.budget-cell:focus{border-color:var(--line);background:#fff;outline:0}.vat-locked{color:var(--muted)}.vat-locked b{font-size:10px}.money-total{font-weight:700;text-align:right!important}.budget-entry-table tfoot td{background:#f7f9fc!important;font-weight:700}.budget-subtotal td:first-child{color:#355a87}.budget-grand-total td{background:#eaf1ff!important;color:#163c70;font-weight:800}.budget-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;color:var(--muted);font-size:12px}@media (max-width:980px){.budget-layout{grid-template-columns:210px minmax(0,1fr)}.budget-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.budget-workspace{width:min(100% - 28px,1580px)}.budget-layout{grid-template-columns:1fr}.budget-steps{position:static}.budget-summary-grid{grid-template-columns:1fr}.budget-notice,.budget-table-heading,.budget-footer{align-items:flex-start;flex-direction:column}.scroll-hint{white-space:normal}.budget-entry-table th:nth-child(-n+5),.budget-entry-table td:nth-child(-n+5){position:static;box-shadow:none}.budget-entry-table th:nth-child(-n+5){background:#f7f9fc}.budget-footer{align-items:stretch}}
.horizon-selector{margin:0}.budget-heading-actions{display:flex;align-items:center;gap:16px}
.horizon-control--inherited strong{display:inline-flex;align-items:center;min-height:36px;padding:6px 10px;border:1px solid #c8d4e2;border-radius:8px;background:#f7f9fc;color:#17385f;font-size:12px}

/* Таблица бюджета: тот же плотный ввод, что в согласованном прототипе. */
.budget-inline-action{margin:0}.budget-inline-action .secondary-button{display:inline-flex;align-items:center;cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.budget-action-message{margin:-2px 0 14px;padding:10px 13px;border:1px solid #b9d6c5;border-radius:9px;background:#eefaf2;color:#17643b;font-size:12px}.budget-action-message--warning{border-color:#f3d396;background:#fff8e8;color:#8a5b00}.budget-heading-actions{flex-wrap:wrap;justify-content:flex-end}.budget-entry-table tbody tr{height:46px}.budget-entry-table td.budget-category{white-space:normal;overflow-wrap:anywhere;line-height:1.2}.budget-entry-table .inline-text,.budget-entry-table .budget-cell,.budget-entry-table .vat-select{font-variant-numeric:tabular-nums}.budget-entry-table .vat-select{width:100%;min-width:54px;min-height:30px;padding:5px 23px 5px 6px;border:1px solid transparent;border-radius:5px;background:#fffaf0;color:var(--ink);font:inherit;font-size:11px}.budget-entry-table .vat-select:focus{border-color:var(--accent);outline:0;background:#fff;box-shadow:0 0 0 2px rgb(21 94 239 / 10%)}

/* Точная геометрия экрана бюджета по согласованному прототипу. */
.container:has(.budget-workspace){width:100%;max-width:none}.budget-workspace{width:min(1580px,calc(100% - 36px))}.budget-layout{gap:18px}.budget-summary-grid article{box-shadow:none}.budget-summary-grid strong{margin:7px 0 4px}.budget-table-card{box-shadow:none}.budget-table-scroll{overflow-x:auto;overflow-y:visible;scrollbar-width:none}.budget-table-scroll::-webkit-scrollbar{width:0;height:0}.budget-top-scroll{position:sticky;top:0;z-index:12;height:19px;overflow-x:auto;overflow-y:hidden;border-bottom:1px solid var(--line);background:#f7f9fb;box-shadow:0 3px 7px rgb(27 39 51 / 12%);scrollbar-color:#6f7f8f #e4e9ee}.budget-top-scroll>div{height:1px}.budget-top-scroll::-webkit-scrollbar{height:14px}.budget-top-scroll::-webkit-scrollbar-track{background:#e4e9ee}.budget-top-scroll::-webkit-scrollbar-thumb{border:3px solid #e4e9ee;border-radius:999px;background:#6f7f8f}.budget-entry-table{min-width:3900px;table-layout:fixed;font-size:11px}.budget-entry-table th,.budget-entry-table td{padding:8px 9px;border-right:0;text-align:left;vertical-align:middle}.budget-entry-table th{font-size:10px;letter-spacing:.025em;text-transform:uppercase}.budget-entry-table th:nth-child(n+5),.budget-entry-table td:nth-child(n+5){text-align:right}.budget-entry-table th:nth-child(1){width:62px}.budget-entry-table th:nth-child(2){width:150px}.budget-entry-table th:nth-child(3){width:220px}.budget-entry-table th:nth-child(4){width:72px}.budget-entry-table th:nth-child(5){width:105px}.budget-entry-table th:nth-child(n+6){width:86px}.budget-entry-table th:nth-child(1),.budget-entry-table td:nth-child(1){left:0;min-width:62px}.budget-entry-table th:nth-child(2),.budget-entry-table td:nth-child(2){left:62px;min-width:150px}.budget-entry-table th:nth-child(3),.budget-entry-table td:nth-child(3){left:212px;min-width:220px}.budget-entry-table th:nth-child(4),.budget-entry-table td:nth-child(4){left:432px;min-width:72px}.budget-entry-table th:nth-child(5),.budget-entry-table td:nth-child(5){left:504px;min-width:105px;box-shadow:8px 0 10px -10px rgba(23,33,43,.75)}.cost-type{padding:4px 6px;font-size:9px}.cost-capex{background:#e9f1ff;color:#174ea6}.cost-opex{background:#f1ecff;color:#6638a6}.inline-text,.budget-cell{min-height:30px;padding:5px 6px;border-radius:5px;background:#fffaf0}.inline-text{min-width:0}.budget-cell{min-width:72px}.vat-locked{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:54px;min-height:30px;padding:5px 7px;border:1px solid #d7dde4;border-radius:5px;background:#eef1f4;color:#4f5b66;font-weight:700}.budget-entry-table tfoot td{background:#f2f6fb!important;color:#17395a}.budget-grand-total td{border-top:2px solid #315c8a;background:#e7eff9!important;color:#102e4a;font-size:11px}.budget-footer{padding:14px 20px;border-top:1px solid var(--line)}.budget-footer>span{color:#b54708}@media(max-width:720px){.container:has(.budget-workspace){width:100%}.budget-entry-table{min-width:3900px}.budget-entry-table th:nth-child(-n+5),.budget-entry-table td:nth-child(-n+5){position:sticky}.budget-top-scroll{position:static}}
