:root{--primary: #0d8a78;--primary-dark: #0a6b5d;--primary-light: #e3f4f1;--accent: #1f6fb2;--bg: #f3f6f5;--card: #ffffff;--text: #1d2b28;--text-soft: #5b6f6a;--border: #dde6e3;--warning-bg: #fdf3e3;--warning-border: #e9b75a;--warning-text: #8a5d0a;--critical-bg: #fdeaea;--critical-border: #d96a6a;--critical-text: #8f1f1f;--ok: #1d9b4e;--radius: 12px;--shadow: 0 1px 3px rgba(16, 42, 37, .08), 0 4px 16px rgba(16, 42, 37, .05)}*{box-sizing:border-box}html,body{margin:0;padding:0;max-width:100%;background:var(--bg);color:var(--text);font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.45;overflow-x:hidden}#root{min-height:100vh}img,svg{max-width:100%}button,input,select,textarea{max-width:100%}.app-shell{max-width:1180px;margin:0 auto;padding:16px 20px 80px}.app-header{display:flex;align-items:center;gap:14px;padding:10px 0 16px}.app-header img{height:44px}.app-header h1{font-size:19px;margin:0;font-weight:600}.app-header .subtitle{color:var(--text-soft);font-size:13px}.stepper{display:flex;gap:8px;margin-bottom:20px;background:var(--card);border-radius:var(--radius);padding:10px 14px;box-shadow:var(--shadow)}.stepper .step{flex:1;display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;border:none;background:transparent;font:inherit;text-align:left;color:var(--text-soft)}.stepper .step:disabled{cursor:not-allowed;opacity:.55}.stepper .step.active{background:var(--primary-light);color:var(--primary-dark);font-weight:600}.stepper .step .num{width:28px;height:28px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;background:var(--border);font-weight:600;font-size:13px}.stepper .step.active .num{background:var(--primary);color:#fff}.stepper .step.done .num{background:var(--ok);color:#fff}.card{position:relative;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px;margin-bottom:16px}.card h2{margin:0 0 14px;font-size:16px;font-weight:600;display:flex;align-items:center;gap:8px}.card h2:before{content:"";width:4px;height:18px;background:var(--primary);border-radius:2px;display:inline-block}.card h3{margin:14px 0 8px;font-size:14px}.card.brand-card{border:2px solid var(--brand-color);padding-top:16px}.card.brand-card h2:before{background:var(--brand-color)}.card.brand-card h2,.card.brand-card .subsection:first-child h3{padding-right:90px}.card.brand-card .subsection h3{display:flex;align-items:center;gap:8px}.card.brand-card .subsection h3:before{content:"";width:4px;height:16px;background:var(--brand-color);border-radius:2px;display:inline-block}.brand-badge{position:absolute;top:16px;right:20px;display:flex;align-items:center;height:22px}.brand-badge img{height:100%;width:auto;display:block}.card.brand-aero{--brand-color: #00a2ff}.card.brand-aqua{--brand-color: #1d4187}.card.brand-nova{--brand-color: #dade00}.subsection h3{margin:0 0 12px;font-size:14px;font-weight:600}.subsection+.subsection{border-top:1px solid var(--border);margin-top:18px;padding-top:18px}.grid{display:grid;gap:12px}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-4{grid-template-columns:repeat(4,1fr)}@media(max-width:860px){.grid.cols-3,.grid.cols-4{grid-template-columns:repeat(2,1fr)}}.field{display:flex;flex-direction:column;gap:4px}.field label{font-size:12.5px;color:var(--text-soft);font-weight:600}.field input,.field select,.field textarea{padding:8px 10px;border:1px solid var(--border);border-radius:8px;font:inherit;background:#fff;color:var(--text)}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--primary-light);border-color:var(--primary)}.field input.invalid{border-color:var(--critical-border);background:var(--critical-bg)}.field .error-text{color:var(--critical-text);font-size:12px}.field .hint{color:var(--text-soft);font-size:12px}.checkbox-row{display:flex;align-items:center;gap:8px;padding:6px 0}.checkbox-row input{width:17px;height:17px;accent-color:var(--primary)}.checkbox-row label{font-weight:600;font-size:14px;cursor:pointer}.btn{padding:10px 22px;border-radius:8px;border:none;cursor:pointer;font:inherit;font-weight:600}.btn.primary{background:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-dark)}.btn.secondary{background:#fff;color:var(--primary-dark);border:1px solid var(--primary)}.btn.ghost{background:transparent;color:var(--text-soft);border:1px solid var(--border)}.btn:disabled{opacity:.5;cursor:not-allowed}.wizard-nav{display:flex;justify-content:space-between;margin-top:20px}.kpi{background:var(--primary-light);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}.kpi .kpi-value{font-size:20px;font-weight:700;color:var(--primary-dark)}.kpi .kpi-label{font-size:12px;color:var(--text-soft)}.kpi.neutral{background:#eef2f6}.kpi.neutral .kpi-value{color:var(--accent)}.warning-list{display:flex;flex-direction:column;gap:6px;margin:8px 0}.warning{background:var(--warning-bg);border-left:4px solid var(--warning-border);color:var(--warning-text);padding:7px 10px;border-radius:6px;font-size:13px}.warning.critical{background:var(--critical-bg);border-left-color:var(--critical-border);color:var(--critical-text);font-weight:600}.product-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}@media(max-width:900px){.product-cards{grid-template-columns:1fr}}.product-card{border:2px solid var(--border);border-radius:var(--radius);padding:14px;background:#fff;cursor:pointer;position:relative;display:flex;flex-direction:column;gap:8px;transition:border-color .15s,box-shadow .15s}.product-card:hover{border-color:var(--primary)}.product-card.selected{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.product-card .badge{position:absolute;top:10px;right:10px;background:var(--primary);color:#fff;font-size:11px;font-weight:700;border-radius:999px;padding:3px 9px}.product-card img.product-photo{height:110px;object-fit:contain;align-self:center;max-width:100%}.product-card .photo-placeholder{height:110px;display:flex;align-items:center;justify-content:center;color:var(--text-soft);background:var(--bg);border-radius:8px;font-size:12px}.product-card .pname{font-weight:700;font-size:14.5px}.product-card .pmeta{font-size:12.5px;color:var(--text-soft);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.phase-chip{display:inline-block;font-size:11px;font-weight:800;border-radius:6px;padding:2px 8px;letter-spacing:.2px;white-space:nowrap}.phase-chip.p1{background:#e8f2fb;color:#17578c;border:1px solid #1f6fb2}.phase-chip.p3{background:#e9f6f2;color:#0a6b5d;border:1px solid #0d8a78}.system-visual{position:relative;margin-bottom:14px;break-inside:avoid}.system-visual img{display:block;width:100%;border-radius:10px}.sv-callout{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:5px;background:#fffffff0;border:1px solid var(--primary);border-radius:999px;padding:3px 9px 3px 6px;box-shadow:0 1px 4px #00000040;white-space:nowrap;pointer-events:none}.sv-dot{width:8px;height:8px;border-radius:50%;background:var(--primary);flex:0 0 auto}.sv-text{display:flex;flex-direction:column;line-height:1.15}.sv-text b{font-size:9.5px;color:var(--text-soft);font-weight:700;text-transform:uppercase;letter-spacing:.2px}.sv-text{font-size:10.5px;font-weight:600;color:var(--text)}@media(max-width:700px){.sv-text b{font-size:8px}.sv-text{font-size:8.5px}.sv-callout{padding:2px 6px 2px 4px}}.phase-toggle{display:flex;gap:8px}.phase-btn{flex:1;padding:9px 10px;font-size:13.5px;font-weight:700;border:2px solid var(--border);border-radius:8px;background:#fff;cursor:pointer;transition:border-color .15s,background .15s}.phase-btn:hover{border-color:var(--primary)}.phase-btn.active{border-color:var(--primary);background:var(--primary);color:#fff}.spec-row{display:flex;justify-content:space-between;font-size:12.5px;padding:2px 0;border-bottom:1px dashed var(--border)}.spec-row span:last-child{font-weight:600}.why-list{margin:4px 0 0;padding-left:18px;font-size:12.5px;color:var(--text)}.why-list li{margin-bottom:2px}details.calc-details{margin-top:6px;font-size:12.5px}details.calc-details summary{cursor:pointer;color:var(--accent);font-weight:600}.calc-table{width:100%;border-collapse:collapse;margin-top:6px;font-size:12px}.calc-table th,.calc-table td{border:1px solid var(--border);padding:4px 7px;text-align:left}.calc-table th{background:var(--bg)}.calc-table td.num{text-align:right;font-variant-numeric:tabular-nums}.pipeline-list{display:flex;flex-direction:column;gap:6px}.pipeline-step{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;background:var(--bg);font-size:14px}.pipeline-step .state-icon{width:22px;text-align:center;flex:none}.pipeline-step.running{background:var(--primary-light);font-weight:600}.pipeline-step.done .state-icon{color:var(--ok)}.pipeline-step.skipped{opacity:.55}@keyframes spin{to{transform:rotate(360deg)}}.spinner{display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid var(--primary);border-top-color:transparent;animation:spin .7s linear infinite}.tabs{display:flex;gap:6px;margin-bottom:12px}.tabs button{padding:7px 16px;border-radius:999px;border:1px solid var(--border);background:#fff;cursor:pointer;font:inherit;font-weight:600;color:var(--text-soft)}.tabs button.active{background:var(--primary);border-color:var(--primary);color:#fff}.data-table{width:100%;border-collapse:collapse;font-size:13.5px}.data-table th,.data-table td{border-bottom:1px solid var(--border);padding:8px 10px;text-align:left}.data-table th{background:var(--bg);font-size:12.5px}.data-table td.num,.data-table th.num{text-align:right;font-variant-numeric:tabular-nums}.data-table tr.total-row td{font-weight:700;border-top:2px solid var(--text)}.data-table .missing{color:var(--critical-text);font-style:italic}.live-summary{position:sticky;bottom:0;z-index:5;background:var(--primary-dark);color:#fff;border-radius:var(--radius);padding:12px 20px;display:flex;gap:30px;align-items:center;box-shadow:0 -2px 14px #0000002e}.live-summary .ls-item{display:flex;flex-direction:column}.live-summary .ls-value{font-size:18px;font-weight:700}.live-summary .ls-label{font-size:11.5px;opacity:.85}.report{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:28px 34px}.report-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:3px solid var(--primary);padding-bottom:14px;margin-bottom:20px}.report-header img{height:50px}.report-header h1{font-size:22px;margin:0 0 4px}.report-header .meta{color:var(--text-soft);font-size:13px}.report section{margin-bottom:26px}.report section>h2{font-size:16px;border-left:4px solid var(--primary);padding-left:10px;margin:0 0 12px}.report-footer{border-top:1px solid var(--border);margin-top:30px;padding-top:12px;display:flex;justify-content:space-between;align-items:center;color:var(--text-soft);font-size:12.5px}.report-footer img{height:30px}.icon-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.icon-card{text-align:center;padding:18px 10px;border-radius:10px;background:var(--primary-light)}.icon-card .icon{font-size:30px}.icon-card .value{font-size:21px;font-weight:700;color:var(--primary-dark)}.icon-card .label{font-size:12.5px;color:var(--text-soft)}.chart-box{width:100%;height:260px}.chart-title{font-size:13.5px;font-weight:600;margin:10px 0 4px}@media(max-width:700px){html,body{font-size:14px}.app-shell{width:100%;padding:8px 10px calc(72px + env(safe-area-inset-bottom))}.app-header{align-items:flex-start;gap:10px;padding:8px 2px 12px;flex-wrap:wrap}.app-header img{height:36px}.app-header h1{font-size:16px;line-height:1.25}.app-header .subtitle{font-size:12px;line-height:1.3}.app-header>div{min-width:0}.app-header>.tabs{width:100%}.stepper{gap:4px;padding:6px;margin-bottom:12px;overflow:hidden}.stepper .step{min-width:0;min-height:44px;justify-content:center;gap:5px;padding:6px 4px;text-align:center;font-size:11px;line-height:1.15}.stepper .step .num{width:25px;height:25px;font-size:12px}.card{padding:14px 12px;margin-bottom:10px;border-radius:10px}.card h2{font-size:15px;line-height:1.3}.card h2:before{flex:0 0 4px}.card p{overflow-wrap:anywhere}.card .grid,.card .checkbox-row{margin-left:0!important}.card.brand-card h2,.card.brand-card .subsection:first-child h3{padding-right:72px}.brand-badge{top:15px;right:12px;max-width:68px;height:18px}.grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:minmax(0,1fr)}.grid{gap:10px}.field{min-width:0}.field input,.field select,.field textarea{width:100%;min-height:44px;padding:9px 10px;font-size:16px}.checkbox-row{min-height:44px;align-items:flex-start;padding:9px 0}.checkbox-row input{width:20px;height:20px;flex:0 0 auto}.checkbox-row label{line-height:1.35}.btn{min-height:44px;padding:10px 16px;touch-action:manipulation}.wizard-nav{position:sticky;bottom:max(8px,env(safe-area-inset-bottom));z-index:8;gap:10px;margin:14px -2px 0;padding:8px;border:1px solid var(--border);border-radius:12px;background:#fffffff5;box-shadow:0 4px 18px #102a2529;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.wizard-nav .btn{flex:1}.kpi{min-width:0;padding:11px 12px}.kpi .kpi-value{font-size:18px;overflow-wrap:anywhere}.product-cards{gap:10px}.product-card{min-width:0;padding:12px}.product-card img.product-photo,.product-card .photo-placeholder{height:96px}.product-card .pname{padding-right:56px;overflow-wrap:anywhere}.phase-toggle{flex-wrap:wrap}.phase-btn{min-width:120px;min-height:44px}.spec-row{gap:12px;flex-wrap:wrap}.spec-row span:last-child{margin-left:auto;text-align:right}details.calc-details{max-width:100%;overflow:hidden}details.calc-details summary{min-height:44px;display:flex;align-items:center}.data-table,.calc-table{display:block;width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;white-space:nowrap}.data-table th,.data-table td{padding:8px}.tabs{max-width:100%;overflow-x:auto;padding-bottom:3px;overscroll-behavior-inline:contain;scrollbar-width:thin}.tabs button{flex:0 0 auto;min-height:40px;padding:7px 14px}.pipeline-step{align-items:flex-start;padding:9px 10px;overflow-wrap:anywhere}.live-summary{bottom:calc(76px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;padding:10px 12px;border-radius:10px}.live-summary .ls-item{min-width:0;margin-left:0!important}.live-summary .ls-value{font-size:16px;overflow-wrap:anywhere}.live-summary .ls-item:last-child{grid-column:1 / -1}.report{padding:16px 12px;border-radius:10px}.report-header{flex-direction:column-reverse;gap:12px;padding-bottom:12px;margin-bottom:16px}.report-header img{height:38px;align-self:flex-end}.report-header h1{font-size:18px;line-height:1.25}.report section{margin-bottom:20px;min-width:0}.report section>h2{font-size:15px;line-height:1.3}.report-footer{flex-direction:column;gap:10px;text-align:center}.report-footer img{order:-1}.icon-cards{grid-template-columns:minmax(0,1fr);gap:10px}.icon-card{padding:13px 10px}.icon-card .icon{font-size:25px}.icon-card .value{font-size:18px}.chart-box{min-width:0;height:230px;margin-inline:-4px;width:calc(100% + 8px)}.system-visual{display:flex;flex-direction:column;gap:6px}.system-visual img{margin-bottom:4px}.sv-callout{position:static!important;transform:none;width:100%;min-height:38px;border-radius:8px;padding:5px 8px;white-space:normal;box-shadow:none}.sv-text,.sv-text b{font-size:10.5px}}@media(max-width:440px){.stepper .step>span:last-child{display:none}.stepper .step{padding-inline:2px}.card.brand-card h2,.card.brand-card .subsection:first-child h3{padding-right:0;padding-top:28px}.brand-badge{left:12px;right:auto}.phase-btn{min-width:0}.warning{padding:8px 9px;overflow-wrap:anywhere}}@media print{body{background:#fff}.app-shell{max-width:none;padding:0}.no-print{display:none!important}.report{box-shadow:none;border-radius:0;padding:0}.card{box-shadow:none;border:1px solid var(--border);break-inside:avoid}.report section{break-inside:avoid}@page{size:A4;margin:14mm}}
