:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172126;background:#f3f6f5;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #172126;--muted: #657278;--surface: #ffffff;--line: #dce5e2;--primary: #0f6f5c;--primary-dark: #0a5144;--primary-soft: #e5f3ef;--accent: #b7dfd3;--warning: #8c5c00;--warning-bg: #fff7df;--danger: #9f2f2f;--danger-bg: #fff0ef;--shadow: 0 20px 60px rgba(25, 50, 44, .09)}*{box-sizing:border-box}html{min-width:320px;background:#f3f6f5}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.page-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:42px 0 64px}.hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:end;padding:42px;color:#f7fbfa;background:radial-gradient(circle at 85% 20%,rgba(183,223,211,.23),transparent 34%),linear-gradient(135deg,#153d36,#0b6554 68%,#0d7a65);border-radius:28px;box-shadow:var(--shadow)}.hero h1{max-width:780px;margin:12px 0 16px;font-size:clamp(2rem,4.5vw,4.15rem);line-height:.98;letter-spacing:-.045em}.hero p{max-width:760px;margin:0;color:#f7fbfad1;font-size:1.05rem;line-height:1.65}.hero__badge{min-width:170px;padding:18px 20px;border:1px solid rgba(255,255,255,.22);border-radius:18px;background:#ffffff17;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-weight:700;text-align:center}.eyebrow{display:inline-block;color:inherit;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.calculator,.results{margin-top:24px}.form-section,.scenario-card,.chart-card{background:var(--surface);border:1px solid var(--line);border-radius:24px;box-shadow:0 12px 40px #1b38310d}.form-section{padding:32px}.form-section+.form-section{margin-top:16px}.section-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:26px}.section-heading>div{display:flex;gap:14px;align-items:center}.section-heading h2{margin:0;font-size:1.42rem}.section-heading p{margin:4px 0 0;color:var(--muted);font-size:.9rem}.section-index{display:grid;width:42px;height:42px;place-items:center;color:var(--primary-dark);background:var(--primary-soft);border-radius:14px;font-weight:800}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.field{display:grid;gap:8px}.field--wide{grid-column:span 2}.field>span{color:#334046;font-size:.9rem;font-weight:700}.field input,.field select{width:100%;min-height:50px;padding:0 14px;color:var(--ink);background:#fbfcfc;border:1px solid #cfdad7;border-radius:12px;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.field input::placeholder{color:#98a4a8}.field input:focus,.field select:focus{background:#fff;border-color:var(--primary);box-shadow:0 0 0 4px #0f6f5c1f}.form-section--advanced{padding:0;overflow:hidden}.advanced-toggle{display:flex;width:100%;min-height:88px;padding:22px 28px;justify-content:space-between;align-items:center;gap:18px;color:var(--ink);background:transparent;border:0;cursor:pointer;text-align:left}.advanced-toggle>span:first-child{display:grid;gap:4px}.advanced-toggle strong{font-size:1.04rem}.advanced-toggle small{color:var(--muted)}.advanced-toggle>span:last-child{display:grid;width:38px;height:38px;place-items:center;flex:0 0 auto;color:var(--primary-dark);background:var(--primary-soft);border-radius:12px;font-size:1.5rem}.advanced-content{padding:0 28px 28px;border-top:1px solid var(--line)}.advanced-content>.notice{margin:22px 0}.notice{padding:16px 18px;color:#3f4d52;background:#f1f5f4;border-left:4px solid #93aaa3;border-radius:10px;line-height:1.55}.notice p{margin:6px 0 0}.notice--warning{color:#674300;background:var(--warning-bg);border-left-color:#d7a83c}.notice--error{margin-top:16px;color:var(--danger);background:var(--danger-bg);border-left-color:#cf5d5d}.toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}.toggle-card{display:flex;gap:12px;align-items:flex-start;padding:16px;background:#fbfcfc;border:1px solid var(--line);border-radius:14px;cursor:pointer}.toggle-card input{width:18px;height:18px;margin-top:2px;accent-color:var(--primary)}.toggle-card span{display:grid;gap:4px}.toggle-card small{color:var(--muted);line-height:1.45}.form-actions{display:flex;gap:22px;align-items:center;margin-top:20px;padding:0 4px}.form-actions p{max-width:520px;margin:0;color:var(--muted);line-height:1.5}.button{display:inline-flex;min-height:46px;padding:0 18px;align-items:center;justify-content:center;gap:8px;border-radius:12px;border:1px solid transparent;font-weight:800;text-decoration:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{cursor:wait;opacity:.65}.button--primary{color:#fff;background:var(--primary);box-shadow:0 10px 24px #0f6f5c38}.button--primary:hover:not(:disabled){background:var(--primary-dark)}.button--secondary{color:var(--primary-dark);background:var(--primary-soft);border-color:var(--accent)}.button--ghost{color:var(--muted);background:transparent;border-color:var(--line)}.button--large{min-height:56px;padding:0 26px;font-size:1.02rem}.results{display:grid;gap:18px}.verdict{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;padding:30px 32px;border-radius:24px;color:#f7fbfa;background:linear-gradient(135deg,#153d36,#0f6f5c);box-shadow:var(--shadow)}.verdict--not_confirmed{background:linear-gradient(135deg,#4e3232,#7f3b3b)}.verdict--technical_or_data_confirmation,.verdict--conditionally_justified{background:linear-gradient(135deg,#4b4328,#7c6724)}.verdict h2{margin:6px 0 8px;font-size:clamp(1.65rem,3vw,2.5rem);line-height:1.08}.verdict p{margin:0;color:#fffc}.verdict__number{min-width:220px;padding:20px;text-align:right;background:#ffffff1a;border:1px solid rgba(255,255,255,.18);border-radius:18px}.verdict__number small{display:block;color:#ffffffad}.verdict__number strong{display:block;margin-top:4px;font-size:1.75rem}.scenario-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.scenario-card{padding:22px;min-width:0}.scenario-card__header{display:grid;gap:10px;margin-bottom:20px}.scenario-card h3{margin:0;font-size:1.24rem}.status{width:fit-content;padding:5px 9px;color:#33423e;background:#eef3f1;border-radius:999px;font-size:.74rem;font-weight:800;line-height:1.25}.status--economically_justified{color:#0a5a48;background:#dff3ec}.status--conditionally_justified,.status--technical_or_data_confirmation{color:#715000;background:#fff1c9}.status--not_confirmed{color:#8a2929;background:#ffe4e1}.metrics-grid{display:grid;gap:0;margin:0}.metrics-grid>div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-top:1px solid #edf1f0}.metrics-grid dt{color:var(--muted);font-size:.84rem}.metrics-grid dd{margin:0;max-width:58%;text-align:right;font-weight:800;font-size:.88rem}.details-block{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.details-block summary{color:var(--primary-dark);font-weight:800;cursor:pointer}.factor-list{display:grid;gap:10px;margin-top:14px}.factor-list>div{display:flex;justify-content:space-between;gap:14px;font-size:.82rem}.factor-list span{color:var(--muted)}.factor-list strong{text-align:right}.warning-list{margin:16px 0 0;padding-left:18px;color:var(--warning);font-size:.79rem;line-height:1.45}.chart-card{margin:0;padding:24px;overflow:hidden}.chart-card figcaption{display:flex;justify-content:space-between;gap:20px;margin-bottom:14px}.chart-card figcaption span{color:var(--muted);font-size:.86rem}.chart-card svg{display:block;width:100%;height:auto;overflow:visible}.chart-axis{stroke:#bfcac7;stroke-width:1;stroke-dasharray:5 5}.chart-line{stroke:var(--primary);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.chart-point{fill:#fff;stroke:var(--primary);stroke-width:2}.chart-label{fill:#728086;font-size:13px}.result-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:4px}.result-actions>span{margin-left:auto;color:var(--muted);font-size:.84rem}.footer-note{margin-top:26px;padding:0 6px;color:var(--muted);font-size:.85rem;line-height:1.55;text-align:center}.footer-note a{color:var(--primary-dark);font-weight:800}.notice--success{color:#0a5a48;background:#e3f5ef;border-left-color:var(--primary)}.admin-login-shell{display:grid;min-height:100vh;padding:24px;place-items:center;background:radial-gradient(circle at 20% 20%,rgba(183,223,211,.28),transparent 30%),linear-gradient(145deg,#edf5f2,#f7f9f8)}.admin-login-card{width:min(520px,100%);padding:42px;background:var(--surface);border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow)}.admin-login-card .eyebrow{margin-top:34px;color:var(--primary)}.admin-login-card h1{margin:12px 0;font-size:clamp(2rem,7vw,3.25rem);line-height:1;letter-spacing:-.04em}.admin-login-card>p{margin:0 0 28px;color:var(--muted);line-height:1.6}.admin-login-card form{display:grid;gap:18px}.admin-login-card .field input,.admin-session .field input{width:100%;min-height:50px;padding:0 14px;color:var(--ink);background:#fbfcfc;border:1px solid #cfdad7;border-radius:12px;outline:none}.admin-login-card .field input:focus,.admin-session .field input:focus{border-color:var(--primary);box-shadow:0 0 0 4px #0f6f5c1f}.admin-back-link{color:var(--primary-dark);font-size:.88rem;font-weight:800;text-decoration:none}.admin-back-link--light{display:inline-block;margin-bottom:30px;color:#ffffffc7}.admin-shell{width:min(1480px,calc(100% - 32px));margin:0 auto;padding:26px 0 64px}.admin-header{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:44px;padding:34px 38px;color:#f7fbfa;background:radial-gradient(circle at 82% 20%,rgba(183,223,211,.2),transparent 34%),linear-gradient(135deg,#153d36,#0b6554 68%,#0d7a65);border-radius:26px;box-shadow:var(--shadow)}.admin-header h1{margin:9px 0 8px;font-size:clamp(2.2rem,5vw,4rem);line-height:.98;letter-spacing:-.045em}.admin-header p{margin:0;color:#ffffffc2}.admin-session{display:grid;gap:12px;align-content:end}.admin-session .field>span{color:#fffc}.admin-session .button--ghost{color:#fff;border-color:#ffffff3d}.admin-tabs{display:flex;gap:8px;margin:22px 0 14px;padding:6px;background:#e6eeeb;border-radius:16px}.admin-tab{display:inline-flex;min-height:46px;padding:0 18px;align-items:center;gap:10px;color:var(--muted);background:transparent;border:0;border-radius:11px;font-weight:800;cursor:pointer}.admin-tab span{display:grid;min-width:24px;height:24px;padding:0 6px;place-items:center;background:#ffffffa6;border-radius:999px;font-size:.75rem}.admin-tab--active{color:var(--primary-dark);background:var(--surface);box-shadow:0 4px 16px #1b383114}.admin-workspace{display:grid;grid-template-columns:360px minmax(0,1fr);min-height:680px;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:24px;box-shadow:0 12px 40px #1b38310d}.version-panel{padding:24px;background:#f7f9f8;border-right:1px solid var(--line)}.version-panel__heading,.editor-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.version-panel h2,.editor-panel h2{margin:5px 0 0;font-size:1.3rem}.version-panel .eyebrow,.editor-panel .eyebrow{color:var(--primary);font-size:.7rem}.version-list{display:grid;gap:10px;margin-top:22px}.version-card{display:grid;width:100%;gap:7px;padding:16px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:14px;cursor:pointer;text-align:left}.version-card:hover,.version-card--active{border-color:var(--primary);box-shadow:0 7px 20px #0f6f5c17}.version-card--active{background:#f4fbf8}.version-card__title{display:flex;justify-content:space-between;gap:10px;align-items:center}.version-card>span:not(.version-card__title),.version-card small{overflow:hidden;color:var(--muted);font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.status--default{color:#0a5a48;background:#dff3ec}.editor-panel{min-width:0;padding:28px}.editor-mode-bar{display:flex;justify-content:space-between;gap:18px;margin-top:24px;padding:10px 12px;align-items:center;background:#f2f6f4;border:1px solid var(--line);border-radius:14px}.editor-mode-bar>small{max-width:520px;color:var(--muted);line-height:1.4;text-align:right}.editor-mode-switch{display:inline-flex;flex:0 0 auto;gap:4px;padding:4px;background:#dfe9e5;border-radius:10px}.editor-mode-button{min-height:36px;padding:0 13px;color:var(--muted);background:transparent;border:0;border-radius:7px;font-size:.8rem;font-weight:800;cursor:pointer}.editor-mode-button--active{color:var(--primary-dark);background:var(--surface);box-shadow:0 3px 10px #1b383117}.config-form{display:grid;gap:12px;margin-top:16px}.config-section{overflow:hidden;background:#fbfcfc;border:1px solid var(--line);border-radius:15px}.config-section>summary{display:flex;min-height:64px;padding:13px 18px;align-items:center;gap:6px;cursor:pointer;list-style:none}.config-section>summary::-webkit-details-marker{display:none}.config-section>summary:after{content:"+";margin-left:auto;color:var(--primary);font-size:1.4rem;font-weight:400}.config-section[open]>summary:after{content:"−"}.config-section>summary>span{color:#243d36;font-size:.95rem;font-weight:850}.config-section>summary>small{color:var(--muted);font-size:.76rem}.config-section[open]>summary{background:#f3f8f6;border-bottom:1px solid var(--line)}.config-section__body{padding:20px 18px}.config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.config-grid--compact{gap:12px}.config-field{display:grid;min-width:0;gap:7px;align-content:start}.config-field--wide,.config-grid>.config-field:first-child:nth-last-child(odd){grid-column:1 / -1}.config-field>span:first-child{color:#334b44;font-size:.78rem;font-weight:800}.config-field input,.config-field select,.config-field textarea,.coefficient-table input,.coefficient-table select{width:100%;min-height:43px;padding:0 11px;color:var(--ink);background:#fff;border:1px solid #cbd8d4;border-radius:9px;outline:none;font:inherit;font-size:.86rem}.config-field textarea{min-height:108px;padding-block:10px;resize:vertical;line-height:1.45}.config-field input:focus,.config-field select:focus,.config-field textarea:focus,.coefficient-table input:focus,.coefficient-table select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0f6f5c1a}.config-field input:disabled,.config-field select:disabled,.config-field textarea:disabled,.coefficient-table input:disabled,.coefficient-table select:disabled{color:#52635e;background:#f1f5f3;opacity:1;cursor:default}.config-field>small,.coefficient-group small,.config-check small{display:block;color:var(--muted);font-size:.7rem;line-height:1.4}.config-field__control{position:relative;display:block}.config-field__control input{padding-right:58px}.config-field__control b{position:absolute;top:50%;right:11px;color:#6d7d78;font-size:.7rem;transform:translateY(-50%);pointer-events:none}.config-check-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.config-check{display:flex;min-height:54px;padding:11px 12px;align-items:flex-start;gap:10px;background:#f4f8f6;border:1px solid var(--line);border-radius:10px;cursor:pointer}.config-check input{width:17px;height:17px;margin:2px 0 0;accent-color:var(--primary)}.config-check strong{display:block;color:#2d4840;font-size:.78rem}.coefficient-groups,.scenario-editor-grid{display:grid;gap:16px}.coefficient-group{min-width:0;padding:15px;background:#f6f9f8;border:1px solid var(--line);border-radius:12px}.coefficient-group__heading,.scenario-editor-card__heading{display:flex;justify-content:space-between;gap:14px;align-items:center}.coefficient-group__heading>div,.scenario-editor-card__heading>div{display:grid;gap:3px}.coefficient-group__heading strong{color:#25473d;font-size:.9rem}.button--small{min-height:34px;padding:0 10px;font-size:.72rem}.coefficient-table-wrap{overflow-x:auto;margin-top:12px}.coefficient-table{width:100%;min-width:690px;border-collapse:separate;border-spacing:5px}.coefficient-table th{padding:0 5px 2px;color:var(--muted);font-size:.67rem;text-align:left}.coefficient-table td{min-width:90px}.coefficient-table td:nth-child(2),.coefficient-table td:nth-child(4){min-width:115px}.coefficient-table input,.coefficient-table select{min-height:38px;font-size:.76rem}.coefficient-table td:last-child{min-width:38px}.icon-button{display:grid;width:34px;height:34px;padding:0;place-items:center;background:transparent;border:1px solid var(--line);border-radius:9px;font-size:1.25rem;cursor:pointer}.icon-button--danger{color:#a23b3b;background:#fff7f7;border-color:#efcccc}.scenario-editor-card{padding:16px;background:#f7faf9;border:1px solid var(--line);border-radius:13px}.scenario-editor-card__heading{margin-bottom:14px}.scenario-editor-card__heading span{color:var(--muted);font-family:SFMono-Regular,Consolas,monospace;font-size:.65rem}.scenario-editor-card__heading strong{color:#24463c;font-size:1rem}.scenario-add{min-height:52px;color:var(--primary-dark);background:#f0f8f5;border:1px dashed #92c1b3;border-radius:12px;font-weight:800;cursor:pointer}.json-editor{display:grid;gap:9px;margin-top:24px}.json-editor>span{color:#334046;font-size:.88rem;font-weight:800}.json-editor textarea{width:100%;min-height:520px;padding:18px;resize:vertical;color:#20312d;background:#f8faf9;border:1px solid #cfdad7;border-radius:14px;outline:none;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.82rem;line-height:1.55;-moz-tab-size:2;tab-size:2}.json-editor textarea:not([readonly]):focus{background:#fff;border-color:var(--primary);box-shadow:0 0 0 4px #0f6f5c1a}.json-editor textarea[readonly]{color:#596864;cursor:default}.editor-options{display:grid;grid-template-columns:minmax(300px,1fr) auto;gap:18px;align-items:center;margin-top:16px}.editor-options .toggle-card{margin:0}.editor-actions{display:flex;gap:9px;justify-content:flex-end;flex-wrap:wrap}.editor-panel>.notice,.validation-summary{margin-top:16px}.validation-summary{display:grid;gap:8px;padding:18px;color:#23433b;background:#edf7f3;border:1px solid #c9e6dc;border-radius:14px}.validation-summary>span{overflow-wrap:anywhere;color:var(--muted);font-family:SFMono-Regular,Consolas,monospace;font-size:.76rem}.validation-summary summary{color:var(--primary-dark);font-weight:800;cursor:pointer}.validation-summary ul{margin-bottom:0;padding-left:20px;color:var(--warning);line-height:1.5}.admin-empty{display:grid;min-height:560px;place-items:center;color:var(--muted)}@media(max-width:980px){.form-grid,.scenario-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.scenario-card:last-child{grid-column:span 2}.hero{grid-template-columns:1fr}.hero__badge{width:fit-content}.admin-header,.admin-workspace{grid-template-columns:1fr}.admin-session{grid-template-columns:minmax(0,1fr) auto;align-items:end}.version-panel{border-right:0;border-bottom:1px solid var(--line)}.version-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.page-shell{width:min(100% - 20px,1180px);padding:10px 0 38px}.hero,.form-section,.verdict,.scenario-card,.chart-card{border-radius:18px}.hero{padding:28px 22px}.hero h1{font-size:2.25rem}.form-section{padding:22px 18px}.section-heading,.form-actions,.verdict,.chart-card figcaption{display:grid;grid-template-columns:1fr}.section-heading p{margin-left:56px}.form-grid,.scenario-grid,.toggle-grid{grid-template-columns:1fr}.field--wide,.scenario-card:last-child{grid-column:auto}.advanced-toggle{padding:20px 18px}.advanced-content{padding:0 18px 20px}.button--large{width:100%}.verdict{padding:24px 20px}.verdict__number{min-width:0;text-align:left}.result-actions>*{width:100%}.result-actions>span{margin-left:0;text-align:center}.admin-login-shell{padding:10px}.admin-login-card{padding:28px 22px;border-radius:18px}.admin-shell{width:min(100% - 20px,1480px);padding:10px 0 38px}.admin-header{gap:28px;padding:28px 22px;border-radius:18px}.admin-session,.editor-options{grid-template-columns:1fr}.editor-mode-bar{display:grid}.editor-mode-bar>small{text-align:left}.editor-mode-switch{width:100%}.editor-mode-button{flex:1}.config-grid,.config-check-row{grid-template-columns:1fr}.config-field--wide,.config-grid>.config-field:first-child:nth-last-child(odd){grid-column:auto}.config-section>summary{display:grid;grid-template-columns:minmax(0,1fr) auto}.config-section>summary>small{grid-column:1}.config-section>summary:after{grid-column:2;grid-row:1 / span 2}.admin-tabs{overflow-x:auto}.admin-workspace{border-radius:18px}.version-panel,.editor-panel{padding:20px 16px}.version-panel__heading,.editor-toolbar{display:grid}.version-list{grid-template-columns:1fr}.json-editor textarea{min-height:420px;font-size:.76rem}.editor-actions>*{flex:1 1 100%}}
