:root{
  --ink:#14202b;
  --muted:#5b6874;
  --line:#dbe4eb;
  --panel:#ffffff;
  --soft:#f5f8fa;
  --brand:#008da3;
  --brand-dark:#067385;
  --cyan:#23d6ed;
  --warn-bg:#fff4df;
  --shadow:0 18px 44px rgba(20,32,43,.10);
  --radius:8px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;min-height:100%}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;font-family:Arial,Helvetica,sans-serif;background:var(--soft);color:var(--ink)}
header{background:#101b24;color:#fff;border-bottom:1px solid rgba(255,255,255,.12)}
.topbar{max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 20px}
.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-weight:700;font-size:20px;letter-spacing:.2px}
.brand-mark{width:46px;height:46px;flex:0 0 46px;border-radius:50%;display:block;overflow:hidden;background:#fff;box-shadow:0 0 0 1px rgba(35,214,237,.45),0 4px 12px rgba(0,0,0,.24)}
.brand-mark img{display:block;width:100%;height:100%;object-fit:cover}
.menu{display:flex;gap:4px;align-items:center;overflow-x:auto;scrollbar-width:none}
.menu a{color:#d8e7ed;text-decoration:none;padding:12px 13px;border-bottom:3px solid transparent;font-size:14px;white-space:nowrap}
.menu a:hover,.menu a:focus,.menu a.active{color:#fff;border-bottom-color:var(--cyan);outline:none}
.hero{background:linear-gradient(180deg,#101b24 0,#152432 72%,var(--soft) 72%);color:#fff}
.hero-inner{max-width:1180px;margin:0 auto;padding:54px 20px 76px}
h1{font-size:48px;line-height:1.04;margin:0 0 16px;letter-spacing:0}
.lead{font-size:18px;line-height:1.6;max-width:760px;margin:0;color:#d8e7ed}
main{width:100%;max-width:1180px;margin:-42px auto 0;padding:0 20px 46px;flex:1}
.overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.category-title{grid-column:1/-1;margin:12px 0 -4px;padding:12px 0 4px;border-bottom:1px solid var(--line);color:var(--brand-dark);font-weight:700;font-size:18px}
.tile{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;color:var(--ink);text-decoration:none;min-height:150px;box-shadow:0 8px 24px rgba(20,32,43,.06);transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.tile:hover,.tile:focus{border-color:var(--brand);box-shadow:0 14px 32px rgba(20,32,43,.12);transform:translateY(-2px);outline:none}
.tile h2,.tile h3{margin:0 0 8px;font-size:21px}
.tile p{margin:0;color:var(--muted);line-height:1.5}
.calc-section{background:var(--panel);border:1px solid var(--line);border-left:10px solid var(--brand);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}
.section-head{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:start;margin-bottom:20px}
h2{margin:0 0 6px;font-size:28px;line-height:1.15;color:var(--ink)}
.section-head p{margin:0;color:var(--muted);line-height:1.5}
.formula{font-family:Consolas,Monaco,monospace;color:var(--brand-dark);font-weight:700;background:#edf9fb;border:1px solid #c7edf3;border-radius:6px;padding:10px 12px;white-space:nowrap}
form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:end}
.calc-group{grid-column:1/-1;min-width:0;margin:0;padding:16px;border:1px solid var(--line);border-radius:8px;background:#fbfdfe;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:end}
.calc-group legend{padding:0 8px;color:var(--brand-dark);font-size:15px;font-weight:700}
.network-chain{grid-column:1/-1;display:flex;align-items:center;gap:7px;overflow-x:auto;padding:12px;border:1px solid #cfe0e6;border-radius:8px;background:linear-gradient(145deg,#f8fcfd,#edf7f9);color:var(--ink)}
.network-chain-node{min-width:max-content;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:12px;font-weight:700}
.network-chain-arrow{color:var(--brand);font-weight:800}
.field{min-width:0}
label{display:block;margin:0 0 7px;font-size:13px;font-weight:700;color:var(--ink)}
.label-note{font-weight:400;color:var(--muted)}
input,select,textarea{width:100%;height:46px;border:1px solid #c7d3dc;border-radius:6px;padding:0 12px;background:#fff;color:var(--ink);font-size:16px}
textarea{height:auto;min-height:160px;padding:12px;resize:vertical;line-height:1.45}
input:focus,select:focus,textarea:focus{border-color:var(--brand);outline:3px solid rgba(0,141,163,.16)}
.check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:stretch}
.check-grid label{display:flex;align-items:center;gap:9px;margin:0;padding:8px 10px;min-height:40px;border:1px solid var(--line);border-radius:6px;background:#fff;font-weight:400;line-height:1.25}
.check-grid input{appearance:auto;width:16px;height:16px;min-width:16px;margin:0;padding:0;border:0;border-radius:0;accent-color:var(--brand)}
.trade-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.trade-row{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(120px,.65fr);gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:6px;background:#fff}
.trade-row label{display:flex;align-items:center;gap:9px;margin:0;font-weight:400;line-height:1.25}
.trade-row input[type="checkbox"]{appearance:auto;width:16px;height:16px;min-width:16px;margin:0;padding:0;border:0;border-radius:0;accent-color:var(--brand)}
.trade-row input[type="number"]{height:40px}
.unit{font-size:12px;color:var(--muted);margin-top:5px}
.actions{display:flex;gap:10px;flex-wrap:wrap}
button,.button{height:46px;border:0;border-radius:6px;padding:0 18px;background:var(--brand);color:#fff;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
button:hover,.button:hover{background:var(--brand-dark)}
button.secondary,.button.secondary{background:#fff;color:var(--brand-dark);border:1px solid var(--brand)}
button:disabled{opacity:.5;cursor:not-allowed}
button:disabled:hover{background:var(--brand)}
button.secondary:disabled:hover{background:#fff}
.result{align-self:stretch;background:#f8fbfd;border:1px solid var(--line);border-radius:var(--radius);padding:16px;min-height:116px}
.result strong{display:block;color:var(--brand-dark);font-size:14px;margin-bottom:10px}
pre{margin:0;white-space:pre-wrap;font-family:Arial,Helvetica,sans-serif;line-height:1.55;color:var(--ink)}
.result-table{width:100%;min-width:760px;border-collapse:collapse;margin:8px 0 14px;background:#fff}
.result-table th,.result-table td{padding:9px 10px;border-bottom:1px solid var(--line);font-size:13px;vertical-align:top;text-align:left}
.result-table th{background:#edf9fb;color:var(--ink);font-weight:700}
.result-table td.num,.result-table th.num{text-align:right;white-space:nowrap}
.result-table tfoot td{background:#e6f8ed;font-weight:700}
.result-table .hint-row td{background:#fff8e8;color:#7a4a00;font-size:12px;line-height:1.35}
.table-wrap tr.selected-row td{background:#e6f8ed;font-weight:700}
.result-scroll{overflow-x:auto;margin:4px 0 12px}
.parallel-highlight{display:inline-block;width:100%;padding:5px 8px;margin:2px 0;border-left:4px solid var(--brand);border-radius:6px;background:#dff7ee;color:#0e5039;font-weight:700}
.result-warning-small{display:block;margin-top:10px;color:#b42318;font-size:13px;line-height:1.35}
.result-note-small{display:block;margin-top:10px;color:var(--muted);font-size:12px;line-height:1.45}
.pv-result-grid{display:grid;gap:12px;white-space:normal}
.pv-result-grid .result-scroll{margin:0}
.pv-result-grid .result-table{margin:0}
.pv-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.pv-kpis>div{display:grid;gap:5px;padding:12px;border:1px solid #cfe0e6;border-radius:6px;background:#fff}
.pv-kpis span{color:var(--muted);font-size:12px;line-height:1.3}
.pv-kpis strong{margin:0;color:var(--ink);font-size:18px;line-height:1.2}
.pv-check{display:inline-flex;align-items:center;justify-content:center;min-width:62px;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700}
.pv-check.pass{background:#dff7ee;color:#0e5039}
.pv-check.fail{background:#fff0f0;color:#7b1f1f}
.result-details{margin-top:8px}
.result-details summary{cursor:pointer;color:var(--brand-dark);font-size:13px;font-weight:700}
.network-component-table{min-width:460px}
.wide{grid-column:span 2}
.full{grid-column:1/-1}
.note{margin-top:16px;color:#5c420e;background:var(--warn-bg);border:1px solid #f0cd91;border-radius:6px;padding:11px 13px;font-size:13px;line-height:1.45}
.seo-note{margin-top:16px;color:#2c3a45;background:#fff;border:1px solid var(--line);border-radius:6px;padding:11px 13px;font-size:13px;line-height:1.45}
.seo-note summary{cursor:pointer;font-weight:700;color:var(--brand-dark)}
.seo-note p{margin:8px 0 0}
.calc-info[open] summary{margin-bottom:12px}
.calc-info-grid{display:grid;grid-template-columns:minmax(180px,250px) minmax(0,1fr);gap:18px;align-items:start}
.calc-info-graphic{margin:0;padding:12px;border:1px solid #cfe0e6;border-radius:8px;background:linear-gradient(145deg,#f8fcfd,#edf7f9);color:#233746}
.calc-info-svg{display:block;width:100%;height:auto;max-height:150px}
.calc-info-svg text{font:600 12px Arial,Helvetica,sans-serif;fill:#233746;stroke:none}
.calc-info-graphic figcaption{margin-top:7px;color:var(--muted);font-size:11px;line-height:1.35;text-align:center}
.calc-info-copy>p:first-child{margin-top:0}
.calc-info-formula{display:grid;gap:4px;padding:9px 11px;border-left:4px solid var(--brand);border-radius:4px;background:#edf9fb}
.calc-info-formula strong,.calc-info-norms>strong{color:var(--brand-dark)}
.calc-info-formula span{font-family:Consolas,"Courier New",monospace;font-size:13px;color:var(--ink)}
.calc-info-norms{margin-top:11px;padding-top:10px;border-top:1px solid var(--line)}
.calc-info-norms ul{margin:6px 0 0;padding-left:20px}
.calc-info-norms li+li{margin-top:3px}
.seo-note .calc-info-disclaimer{margin-top:12px;padding-top:10px;border-top:1px dashed #c7d7dd;color:var(--muted);font-size:11px;line-height:1.45}
.status{grid-column:1/-1;border-radius:6px;padding:12px 14px;line-height:1.45}
.status.ok{background:#dff7ee;border:1px solid #91d8b4;color:#0e5039}
.status.error{background:#fff0f0;border:1px solid #e6a0a0;color:#7b1f1f}
.hp-field{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.table-wrap{grid-column:1/-1;overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.hoai-group-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;min-width:0}
.hoai-group-row{display:grid;grid-template-columns:minmax(260px,1.6fr) minmax(150px,.75fr) minmax(150px,.65fr);gap:10px;align-items:center;min-width:0;width:100%;padding:10px;border:1px solid var(--line);border-radius:6px;background:#fff}
.hoai-group-row>label{margin:0;font-weight:400;line-height:1.3}
.hoai-group-row input,.hoai-group-row select{height:40px;min-width:0}
.hoai-cost-table input{min-width:120px;height:40px}
.hoai-cost-table th:first-child,.hoai-cost-table td:first-child{min-width:260px}
.calc-section+.calc-section{margin-top:20px}
.field[hidden]{display:none}
.helper-text{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.4}
.jump-links{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}
.jump-links a{color:var(--brand-dark);background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 11px;text-decoration:none;font-size:13px}
.jump-links a:hover,.jump-links a:focus{border-color:var(--brand);outline:none}
table{width:100%;border-collapse:collapse;min-width:520px}
th,td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}
th{background:#f0f6f8;color:var(--ink)}
tr.is-selected td{background:#e6f8ed;font-weight:700}
footer{background:#101b24;color:#c7d3dc;margin-top:28px}
footer .inner{max-width:1180px;margin:0 auto;padding:22px 20px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:13px}
footer a{color:#d8e7ed}
@media (max-width:980px){
  .overview{grid-template-columns:repeat(2,minmax(0,1fr))}
  form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .calc-group{grid-template-columns:repeat(2,minmax(0,1fr))}
  .check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trade-grid{grid-template-columns:1fr}
  .result{grid-column:1/-1}
  .pv-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hoai-group-row{grid-template-columns:minmax(220px,1.35fr) minmax(130px,.75fr) minmax(135px,.65fr)}
}
@media (max-width:640px){
  .topbar{align-items:flex-start;flex-direction:column;padding:12px 16px}
  .menu{width:100%;padding-bottom:2px}
  .menu a{padding:10px 9px}
  .hero{background:linear-gradient(180deg,#101b24 0,#152432 76%,var(--soft) 76%)}
  .hero-inner{padding:34px 16px 62px}
  h1{font-size:34px}
  .lead{font-size:16px}
  main{margin-top:-34px;padding:0 12px 30px}
  .overview{grid-template-columns:1fr}
  .calc-section{padding:18px 14px;border-left-width:7px}
  .section-head{grid-template-columns:1fr}
  h2{font-size:23px}
  .formula{white-space:normal}
  form{grid-template-columns:minmax(0,1fr);gap:13px}
  .calc-group{grid-template-columns:minmax(0,1fr);padding:13px}
  .check-grid{grid-template-columns:1fr}
  .trade-row{grid-template-columns:1fr}
  .hoai-group-row{grid-template-columns:1fr}
  .calc-info-grid{grid-template-columns:1fr}
  .calc-info-graphic{max-width:320px;width:100%;margin-inline:auto}
  .pv-kpis{grid-template-columns:1fr}
  .wide{grid-column:auto}
  .actions button,.actions .button{width:100%}
  footer .inner{display:block}
}
@media print{
  .hoai-page header,.hoai-page .hero,.hoai-page .actions,.hoai-page .note,.hoai-page .seo-note,.hoai-page .jump-links,.hoai-page footer{display:none!important}
  .hoai-page,.hoai-page main{background:#fff}
  .hoai-page main{margin:0;max-width:none;padding:0}
  .hoai-page .calc-section{border:0;box-shadow:none;padding:0}
  .hoai-page .result{border:0;padding:0}
  .hoai-page form>.field,.hoai-page form>.table-wrap{display:none}
  .hoai-page form{display:block}
  .hoai-page .result-table{min-width:0}
}
