{"id":147,"date":"2026-05-17T20:04:58","date_gmt":"2026-05-17T18:04:58","guid":{"rendered":"https:\/\/nelorail.pl\/?page_id=147"},"modified":"2026-05-20T10:55:59","modified_gmt":"2026-05-20T08:55:59","slug":"karta-proby-hamulca-kolejowego","status":"publish","type":"page","link":"https:\/\/nelorail.pl\/?page_id=147","title":{"rendered":"Karta Pr\u00f3by Hamulca kolejowego"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"147\" class=\"elementor elementor-147\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ef2fb67 e-flex e-con-boxed e-con e-parent\" data-id=\"ef2fb67\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7ed5bf0 e-flex e-con-boxed e-con e-parent\" data-id=\"7ed5bf0\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8fdda12 e-flex e-con-boxed e-con e-parent\" data-id=\"8fdda12\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-39f70de elementor-widget elementor-widget-html\" data-id=\"39f70de\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n<style>\n*{box-sizing:border-box;margin:0;padding:0}\n.app{padding:0.75rem 0;font-family:var(--font-sans)}\n.topbar{display:flex;align-items:center;gap:14px;padding:0.9rem 1.25rem;background:#1a1a1a;border-radius:var(--border-radius-lg);margin-bottom:1rem}\n.topbar-logo{height:32px;width:auto;display:block;flex-shrink:0}\n.topbar-divider{width:1px;height:32px;background:rgba(255,255,255,0.15);flex-shrink:0}\n.topbar-title{font-size:14px;font-weight:500;color:#fff;line-height:1.2}\n.topbar-sub{font-size:11px;color:rgba(255,255,255,0.5);margin-top:2px}\n.topbar-badge{margin-left:auto;font-size:11px;font-weight:500;padding:4px 11px;border-radius:20px;background:rgba(230,90,0,0.25);color:#ff8040;border:0.5px solid rgba(230,90,0,0.4);flex-shrink:0}\n\n.nav{display:flex;gap:0;background:var(--color-background-secondary);border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);overflow:hidden;margin-bottom:1rem;padding:3px}\n.nav-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;font-size:11px;color:var(--color-text-secondary);background:none;border:none;cursor:pointer;border-radius:calc(var(--border-radius-lg) - 3px);transition:background 0.12s,color 0.12s}\n.nav-btn i{font-size:18px}\n.nav-btn.active{background:var(--color-background-primary);color:#d45a00;border:0.5px solid var(--color-border-tertiary)}\n\n.panel{display:none}.panel.active{display:block}\n\n.card{background:var(--color-background-primary);border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);padding:1rem 1.25rem;margin-bottom:0.75rem}\n.card-head{display:flex;align-items:center;gap:8px;margin-bottom:0.85rem;padding-bottom:0.6rem;border-bottom:0.5px solid var(--color-border-tertiary)}\n.card-head-icon{width:28px;height:28px;border-radius:var(--border-radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}\n.card-head-icon.org{background:rgba(230,90,0,0.12)}.card-head-icon.org i{color:#d45a00}\n.card-head-icon.gray{background:#F1EFE8}.card-head-icon.gray i{color:#5F5E5A}\n.card-head-icon.teal{background:#E1F5EE}.card-head-icon.teal i{color:#0F6E56}\n.card-head-icon.blue{background:#E6F1FB}.card-head-icon.blue i{color:#185FA5}\n.card-head-icon.purple{background:#EEEDFE}.card-head-icon.purple i{color:#534AB7}\n.card-title{font-size:13px;font-weight:500;color:var(--color-text-primary)}\n.card-sub{font-size:11px;color:var(--color-text-tertiary)}\n\n.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}\n.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}\n.field{display:flex;flex-direction:column;gap:3px}\n.field label{font-size:11px;font-weight:500;color:var(--color-text-secondary);letter-spacing:0.03em}\n.field input,.field select{padding:6px 9px;font-size:13px;border:0.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);background:var(--color-background-primary);color:var(--color-text-primary);width:100%}\n.field input:focus,.field select:focus{outline:none;border-color:#d45a00}\n.field .hint{font-size:10px;color:var(--color-text-tertiary)}\n\n.formula{background:var(--color-background-secondary);border-left:2px solid #d45a00;padding:6px 10px;font-size:12px;font-family:var(--font-mono);color:var(--color-text-secondary);margin:8px 0}\n\n.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:0.75rem}\n.metric-grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:0.75rem}\n.metric{background:var(--color-background-secondary);border-radius:var(--border-radius-md);padding:10px 12px}\n.metric-lbl{font-size:10px;color:var(--color-text-tertiary);font-weight:500;letter-spacing:0.04em;margin-bottom:3px}\n.metric-val{font-size:19px;font-weight:500;color:var(--color-text-primary)}\n.metric-unit{font-size:12px;color:var(--color-text-tertiary);margin-left:3px;font-weight:400}\n.metric.ok .metric-val{color:#0F6E56}\n.metric.fail .metric-val{color:#A32D2D}\n.metric.info .metric-val{color:#d45a00}\n.metric.blue-m .metric-val{color:#185FA5}\n\n.verdict{border-radius:var(--border-radius-md);padding:10px 14px;font-size:13px;font-weight:500;text-align:center;margin-top:10px;display:flex;align-items:center;justify-content:center;gap:8px}\n.verdict.ok{background:#E1F5EE;color:#085041}\n.verdict.fail{background:#FCEBEB;color:#791F1F}\n.verdict.neutral{background:var(--color-background-secondary);color:var(--color-text-secondary)}\n\n.prog-wrap{margin-top:10px}\n.prog-labels{display:flex;justify-content:space-between;font-size:11px;color:var(--color-text-tertiary);margin-bottom:4px}\n.prog-track{height:8px;background:var(--color-background-secondary);border-radius:4px;overflow:hidden;border:0.5px solid var(--color-border-tertiary)}\n.prog-fill{height:100%;border-radius:4px;transition:width 0.4s}\n.prog-fill.ok{background:#1D9E75}\n.prog-fill.warn{background:#EF9F27}\n.prog-fill.fail{background:#E24B4A}\n\n\/* train length visual bar *\/\n.train-bar-wrap{margin-top:10px}\n.train-bar-track{height:10px;background:var(--color-background-secondary);border-radius:5px;overflow:hidden;border:0.5px solid var(--color-border-tertiary);position:relative}\n.train-bar-fill{height:100%;border-radius:5px;background:#185FA5;transition:width 0.4s}\n.train-bar-limit{position:absolute;top:0;bottom:0;width:2px;background:#E24B4A;z-index:2}\n\n.wagon-table{width:100%;border-collapse:collapse;font-size:12px;table-layout:fixed}\n.wagon-table th{font-size:10px;font-weight:500;color:var(--color-text-tertiary);letter-spacing:0.04em;padding:0 4px 6px;text-align:left;border-bottom:0.5px solid var(--color-border-tertiary)}\n.wagon-table td{padding:4px;vertical-align:middle;border-bottom:0.5px solid var(--color-border-tertiary)}\n.wagon-table tr:last-child td{border-bottom:none}\n.wagon-table input{padding:5px 6px;font-size:12px;border:0.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);background:var(--color-background-primary);color:var(--color-text-primary);width:100%}\n.wagon-table input:focus{outline:none;border-color:#d45a00}\n.type-badge{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:500;padding:2px 6px;border-radius:10px;white-space:nowrap}\n.type-badge.lok{background:rgba(230,90,0,0.12);color:#994200}\n.type-badge.wag{background:#F1EFE8;color:#444441}\n.type-badge.wag-lad{background:#FAEEDA;color:#633806}\n.del-btn{background:none;border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);padding:4px 7px;cursor:pointer;color:var(--color-text-tertiary);font-size:13px;width:28px;height:28px;display:flex;align-items:center;justify-content:center}\n.del-btn:hover{background:#FCEBEB;color:#A32D2D;border-color:#F09595}\n.add-row{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}\n.add-btn{display:flex;align-items:center;gap:5px;padding:6px 12px;font-size:12px;background:var(--color-background-secondary);border:0.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);cursor:pointer;color:var(--color-text-primary)}\n.add-btn:hover{background:rgba(230,90,0,0.08);border-color:#d45a00;color:#d45a00}\n.add-btn i{font-size:14px}\n\n.sum-bar{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:10px}\n.sum-cell{background:rgba(230,90,0,0.08);border:0.5px solid rgba(230,90,0,0.2);border-radius:var(--border-radius-md);padding:7px 8px;text-align:center}\n.sum-cell.blue-s{background:#E6F1FB;border-color:#85B7EB}\n.sum-cell-lbl{font-size:9px;color:#994200;font-weight:500;line-height:1.2}\n.sum-cell.blue-s .sum-cell-lbl{color:#185FA5}\n.sum-cell-val{font-size:15px;font-weight:500;color:#7a3300;margin-top:2px}\n.sum-cell.blue-s .sum-cell-val{color:#0C447C}\n\n.karta-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;border-bottom:0.5px solid var(--color-border-tertiary);font-size:13px}\n.karta-row:last-child{border-bottom:none}\n.karta-row span:first-child{color:var(--color-text-secondary);font-size:12px}\n.karta-row span:last-child{font-weight:500;color:var(--color-text-primary)}\n.sign-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}\n.sign-box{border-top:0.5px solid var(--color-border-secondary);padding-top:6px}\n.sign-lbl{font-size:11px;color:var(--color-text-tertiary)}\n.karta-logo-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-bottom:0.75rem;border-bottom:2px solid #d45a00}\n<\/style>\n\n<div class=\"app\">\n<div class=\"topbar\">\n  <img decoding=\"async\" class=\"topbar-logo\" src=\"data:image\/jpeg;base64,\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7\/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7\/wAARCADdA3EDASIAAhEBAxEB\/8QAHAABAAMBAQEBAQAAAAAAAAAAAAYHCAUEAwIB\/8QAVhAAAQMCAgIIEQgHBwIHAQAAAAECAwQFBhEHIRIWMUFRc3TRCBMXIjU2N1VhcYGRlKGxsrMUFTJSU1ST0iNCcnWSwcJGVmKChKLDRPAkJTM0Q2Ph8f\/EABsBAQADAQEBAQAAAAAAAAAAAAAFBgcEAwIB\/8QAPhEAAQMBAwYLBgYCAwEAAAAAAAECAwQFBhEhMVFxkbESFjM0NUFTYXKB0RMUFSLB4TJSYpKh8COyQoKi8f\/aAAwDAQACEQMRAD8AxkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASnRZYKHE2NKW0XFZkppWSOcsTka7NrFVNaou+h5zSthjdI7MiYntTwPqJWxMzuVETzIsDSPUSwb9rdfSG\/lHUSwb9rdfSG\/lIXjHR9+ws3Ey0v07fsZuBYumDR0uEZYq+2LNPaZsmK6RUV0MnA5URNS7y+Tgzrol6apjqY0kjXFFK7W0U1FMsMyYOT+5AAD3OUAAAAAAAluibDtvxRjCO1XJZkp3QyPVYnI12aJq1qilydRLBv2t19Ib+Ui6y16ekk9nJjjnzE7Z13qy0YfbQ4YY4ZVM3A0j1EsG\/a3X0hv5TxX\/Q5hKhsVwrYZLmstPSySs2U7VTZNaqpn1vgOZt4aNyoiY7Dtfc+0WNVy8HJ3\/Yz2ACdKqAC6NFmjHDeJsF0t3uL69KmV8jXJFMjW5NeqJqVq7yHJWVsdHH7STNjgSFm2bNaMqxQ4YomOX+95S4NI9RLBv2t19Ib+UdRLBv2t19Ib+UjOMdH37Cc4mWl+nb9jNwNI9RLBv2t19Ib+UdRLBv2t19Ib+UcY6Pv2DiZaX6dv2M3A0j1EsG\/a3X0hv5R1EsG\/a3X0hv5Rxjo+\/YOJlpfp2\/YzcDSPUSwb9rdfSG\/lHUSwb9rdfSG\/lHGOj79g4mWl+nb9jNwNI9RLBv2t19Ib+UdRLBv2t19Ib+UcY6Pv2DiZaX6dv2M3AsTTXgy0YPqrZFaXVTm1TJHSdPkR2tqtyyyROFSuyXpqhlTEkrMyldraOSindBL+JNGrEAF\/4V0QYTueGLVcqmS5JPV0UM8mwnajdk9iOXJNjuZqeNbXxUTUdLjl0HTZlk1FpPcyDDFMuVcCgAaR6iWDftbr6Q38o6iWDftbr6Q38pHcY6Pv2EzxMtL9O37GbgTLS\/hq3YUxY212t06wLSsl\/TPRztkquRdaInAhDSZgmbPGkjcylaqqZ9LM6GTO1cFAAPU8AAAAAAAAAAAAAASLCmCsS4mcjrVbJXwZ5LUSdZEn+Zd3xJmp8SSsibwnrgneesMEk70ZE1XLoTKR0F32LQOmxa++31c\/1oqOPc8T3flJbQ6HcDU7USahqqxeGaqeir\/ArSGlvDRRrgiq7UnrgWOnuhaUyYuajda+mJmMGrU0Y4Ey7XoPxZPzHkrNEmA6hF2Nokp3L+tFVSexXKnqPBLzUqrla7+PU6nXIr0TI9q+a+hl0F9XvQTbZGudZr1VU791GVLEkavgzbsVT1la4t0b4rw2x89VQfKqRmtamlXpjEThVMtk1PCqIhI01rUlQuDH5dC5CHrbv2hRorpI8U0plT+M3mQ8AEkQoAAAAAAAJVg2wUN3oZpqpZkcyXYpsHIiZZIvAARUFj7SrP9aq\/ETmG0qz\/WqvxE5gCuAWPtKs\/wBaq\/ETmG0qz\/WqvxE5gCuAWM7BNoVqoklW1eFJE5jmV+BZGtV1DWo9fqSty9acwBDAem4UFZb5uk1lO+J29mmpfEu4p5gAAAAAAAAAAAAAAWBb8F291FC6rdUJOrEWRGvREReDcAK\/B3sZWSOz1UK0yvdTyt1K9c1Rybqew4IAAAAAAAAAAAOxhG2091uq0tUr0jSJXdYuS5oqc4BxwT66YRtVNbKqpjdU7OKF725vTLNGqqbxAQAAAAAT614RtVTbKWpkdU7OWFj3ZPTLNWoq7wBAQdbFdup7Xd3UtMr1jRjXdeua5qckAAAAAAAAAAAAAAAAE+0Ad0+g4qb4biAk+0Ad0+g4qb4bjitLmkvhXcSdjdIQeJu9DT4AMxNyPLdrfR3W21Fur4Gz01QxWSMdvp\/Jd9F3lMp6SMIVmDsQPoZtlJSS5vpJ8tUjOBf8Sbip5dxUNbHAx5hahxbh+W11nWSfTp50TNYZN53hTeVN9POS9kWmtFLg78C5\/Urt4rEbacGLOUbmXT3L\/ci+ZkEHvv8Aaa6x3eotVyhWKpp37F6by8Cou+iprReBTwGhNcjkRzVyKY89jmOVrkwVAAD6PkAAAsXod+6TDyWX2IaYMz9Dv3SYeSy+xDTBQ7yc8TUn1NXuX0cviXcgOVjDtSvHIJ\/huOqcrGHaleOQT\/DcQkPKN1oWip5F+pdxjcAGrmAA0\/oA7mFBxs3xHGYDT+gDuYUHGzfEcV68vNE8SblLhcnpB3hXehPgAUU1UAAAAAAAAAAAAoropP8A39h4qb2sKXLo6KT\/AN\/YeKm9rClzRrD5hH571MZvR0rN5f6oDYOj\/tDw\/wDuum+E0x8bB0f9oeH\/AN103wmkZejko9a7ibuLziXUm87gAKYaWZu6JHuhR8gi955WZZnRI90KPkEXvPKzNLsrmcepDEbe6Sm8SgAEgRAAAAAAAAAAPZZrXcLzcYrfbKWSqqpVybGxPWvAib6rqQ++GLHccR3mC02yHplRKu6q5NY1N1zl3kQ1Jo+wZa8HWpKajaktXIifKapzeulX+TU3k9q6yJtS1WULcEyvXMn1UsFhWBLaj8V+WNM6\/RO\/cRDR9odtdqbHXYk6Xcq7dSDdgjXxL9NfHq8G+WnGxkUbY42NYxqZNa1MkROBEP0Ch1VXNVP4crsf71GsUNnU1DH7OBuCfyutQADmO0AAAAAAr3H+iqxYjZJVUDGWu5Lr6bEzKORf8bE1eVMl4czPWKcPXbDV0dbrvSuglTWx26yRv1mrvp\/2psc4+LsN2rFFofbbrBs2LrjkTU+J2WpzV3l9S75PWZbktMqMl+Zn8pq9Cp23daCuRZIERsn8Lr9dpjoHfx3hW44Rvj7bXJs2L11PO1qo2ZnCnh4U3l8inAL1HI2ViPYuKKZXNDJBIsciYOTOgAB9nkCwNGfYmp4\/+lCvywNGfYmp4\/8ApQA6mLLrNZ7dHUwRxyOdMkao\/PLJUVd7xEX283D7nS\/7uc6+kvsFBypvuuK8AJZt5uH3Ol\/3c4283D7nS\/7uciYAJZt5uH3Ol\/3c4283D7nS\/wC7nImACYw47qEcnTbfE5N\/YyKnOd6z4otlxe2LZrTzLqRkupFXwLuFYAAuSuo6aupnU9VE2WN28u94U4FK3xTh+azzdMjVZKR65MfvtX6q\/wDes6mDsTvikZb7jIronKjYpXLrYvAq8Hh3vFuTaspoaylkpqhiPikbk5ACmQe6+W6W13KWjkXPYrmx31mruKeEAAAAAAAAAA7mCrf8vvsSvbnFB+lf5NxPPl6yznOa3LZORua5Jmu6pHsAW\/5HZUqHtylql2a\/s\/q\/zXynN0hXWSGrpKOmerXwuSdyp9b9X+a+VADu4vt\/zjY5mNbnLF+lj8ab3lTNCqy47bVx11BBVx\/RlYjsuBd9PIpWWLLf823ueFrconr0yPV+qu95FzTyAHJAAAAAAAAAJLo57YHcQ72oRokujntgdxDvagBOb\/2CuHJZPdUqEt6\/9grhyWT3VKhAAAABb1g7BW\/ksfuoVCW9YOwVv5LH7qAED0hdsb+KYR0kWkLtjfxTCOgAAAAAAAAAAAAAAAAn2gDun0HFTfDcQEn2gDun0HFTfDccVpc0l8K7iTsbpCDxN3oafABmJuQAABX+mXAbMV2j5bQRtS8UjF6Uu505m6sa\/wAuBfGpmSRj45HRyMcx7VVrmuTJUVN1FQ22Unp9wBs0lxbZ4euTXcIWJup9qie95+EtFg2r7NUppVyLmXR3FEvZYPtWrWwJ8yfiTSmnWnX3aijgAXMzUAAAsXod+6TDyWX2IaYMz9Dv3SYeSy+xDTBQ7yc8TUn1NXuX0cviXcgOVjDtSvHIJ\/huOqcrGHaleOQT\/DcQkPKN1oWip5F+pdxjcAGrmAA0\/oA7mFBxs3xHGYDT+gDuYUHGzfEcV68vNE8SblLhcnpB3hXehPgAUU1UqLojb7ebL8w\/NFzqqHp3yjpvSJFbs8ulZZ5buWa+cqLb1jL+8119JcWZ0U\/9nP8AVf8ACUgX+xKeJ9CxXNRVy9Xepkd56ueO1JWseqJ8uZV\/KhI9vWMv7zXX0lw29Yy\/vNdfSXEcBK+6wfkTYhAe\/VXaO2qSPb1jL+8119JcNvWMv7zXX0lxHAPdYPyJsQe\/VXaO2qSPb1jL+8119JcNvWMv7zXX0lxHAPdYPyJsQe\/VXaO2qdC9Xu73p0TrtcqqudEipGs8iu2KLu5Z+JDngHq1rWJg1MEOd73SO4T1xXvBsHR\/2h4f\/ddN8Jpj42Do\/wC0PD\/7rpvhNKzejko9a7i8XF5xLqTedwAFMNLM3dEj3Qo+QRe88rMszoke6FHyCL3nlZml2VzOPUhiNvdJTeJQACQIgAAAAAH7hjkmmZDCx0kj3I1jGpmrlXUiInCfgtvoc8KNuF4mxLWRbKnoHbCmRyanTKmtf8AKip5XJwHLWVTaWF0rived1m0L6+pZAzr\/hOtSztEuCocIWBqTMa66VTUfVybuxXejReBPWua8BNADM553zyLI9cVU2+lpY6WFsMSYNQH5lkjhidLK9scbEVznOXJERN1VUzZpf0j1GJ6uS1WqV8Nlidlmiqi1Sp+s7\/DwN8q69SddnWdJXScFuREzroOC2LYhsuHhvyuXMmn7aVJzjjTVbrfI+jw1TsuU7c0WplzSBq+BE1v8AUnAqlWXnSVjW6SOdJfqmmaq6mUi9JRvlbkvnVSIgvNLZNLTJ8rcV0rlX+6jK668FfWuVXSKiaEyJ9\/M6q4kxEq5rf7r6ZJznTtOkHGdse11PiKukRP1aiTpzcuDJ+fqIuDsdTQvTBzEXyQjmVtRGvCZIqLrUvPBmnCOWRlLiqibBnq+WUqKrU\/aZrXyoq+IuOgrKWvo46yiqIqinlbsmSRuRzXJ4FQxSTPRhj2vwdckaqvqLVM7\/AMRTZ7n+NnA727i7ypXrSu\/G9qvpkwXR1L6bi4WLe+WN6RVq8Jv5utNelP51mqgee2V1JcrfBX0M7Z6adiPjkbuORf8AvcPQUxUVFwU0trkciKi5FI5pDwpR4vw9LbqhGx1Dc30s6prik3l8S7ipweFEMnXOhqrbcai31sLoamnkWORi7yobUKS6JLCqKyDFlHF1yK2CtyTdTcY9fdX\/AClku9aCxSe7vX5XZu5fvvKVfCx0nh98jT5m5+9PtuKPABdjMAWBoz7E1PH\/ANKFflgaM+xNTx\/9KAH70l9goOVN91xXhYekvsFBypvuuK8AAAAAAAAAABZeBbotwtPSZXbKemyY5V3Vb+qv8vIVoSPR7UrDiBsOfWzxuaqeFE2SexfOAd7SNQJPbI69idfTuyd4Wtqyy79fOVfxcN3gSqtVVO5PPPYnE9OPL+8DsYPtb7rdIIE6wj7J\/1fDz5IVvV1m6gpaKBcsjJHSJ9ZNXryTxFYp3pKuqJFHG12bGMb0rUTLJE86b5J9J9pu+oq68qbuSSR7uqe5WoioiJ+qnqQpiqvSnpqifL9hGr+H8K+dOEqM2xhWWxKuvVpEzfgviU8nTWpUpluNs5F3SAAWq0AAAAASrRzgq44yu6QQI6GhiVFqapU1Rp4E4XLvJ7BO0WORWuTBVgVTGucqNa1VVQ9FNTw08CQQsRjGprQ7GNrRR2yFkKJFExGIctSnjXfNqACsGnG2tILdflmtWmfEopMsjWp+qmW8m+i6ibfS8K6jCuFi2+x1lQ3aL1pLu5Ga1ZEq8bV1Lm5GpxMzXd8\/NrLb0W2dYqCGqfA2oSWRzmK12bVbgibqb2osgBU7VXWW7SWaqqqGkqpIl2LpHxNcrVTcVFUi0d8S5JWGzf2Lx7nD3pMqVjY3RqrI0dg7NFVF4NWveeQAFQNPKuNf4sfP\/AKp5ygABCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB\/\/2Q==\" alt=\"NELORAIL\" onerror=\"this.style.display='none'\">\n  <div class=\"topbar-divider\"><\/div>\n  <div>\n    <div class=\"topbar-title\">Karta pr\u00f3by hamulca kolejowego<\/div>\n    <div class=\"topbar-sub\">Obliczenia wg PKP PLK Ir-1 \u00b7 \u00a718\u201321<\/div>\n  <\/div>\n  <div class=\"topbar-badge\">Ir-1<\/div>\n<\/div>\n\n<div class=\"nav\">\n  <button class=\"nav-btn active\" onclick=\"switchPanel('dane',this)\"><i class=\"ti ti-clipboard-data\" aria-hidden=\"true\"><\/i>Dane poci\u0105gu<\/button>\n  <button class=\"nav-btn\" onclick=\"switchPanel('sklad',this)\"><i class=\"ti ti-list-details\" aria-hidden=\"true\"><\/i>Wykaz pojazd\u00f3w<\/button>\n  <button class=\"nav-btn\" onclick=\"switchPanel('wyniki',this)\"><i class=\"ti ti-calculator\" aria-hidden=\"true\"><\/i>Obliczenia<\/button>\n  <button class=\"nav-btn\" onclick=\"switchPanel('karta',this)\"><i class=\"ti ti-file-certificate\" aria-hidden=\"true\"><\/i>Karta pr\u00f3by<\/button>\n<\/div>\n\n<!-- DANE -->\n<div id=\"p-dane\" class=\"panel active\">\n  <div class=\"card\">\n    <div class=\"card-head\">\n      <div class=\"card-head-icon org\"><i class=\"ti ti-train\" aria-hidden=\"true\" style=\"font-size:15px\"><\/i><\/div>\n      <div><div class=\"card-title\">Identyfikacja poci\u0105gu<\/div><div class=\"card-sub\">\u00a714 Ir-1 \u2014 przygotowanie do jazdy<\/div><\/div>\n    <\/div>\n    <div class=\"grid2\">\n      <div class=\"field\"><label>Nr poci\u0105gu<\/label><input type=\"text\" id=\"nr_poc\" placeholder=\"np. 4521\" oninput=\"update()\"><\/div>\n      <div class=\"field\"><label>Stacja wystawienia<\/label><input type=\"text\" id=\"stacja\" placeholder=\"np. Warszawa Centralna\" oninput=\"update()\"><\/div>\n      <div class=\"field\"><label>Data pr\u00f3by<\/label><input type=\"date\" id=\"data_pr\" oninput=\"update()\"><\/div>\n      <div class=\"field\"><label>Rodzaj pr\u00f3by (\u00a718 Ir-1)<\/label>\n        <select id=\"rodz_pr\" onchange=\"update()\">\n          <option value=\"szcz\">Szczeg\u00f3\u0142owa<\/option>\n          <option value=\"upros\">Uproszczona<\/option>\n        <\/select>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"card\">\n    <div class=\"card-head\">\n      <div class=\"card-head-icon teal\"><i class=\"ti ti-weight\" aria-hidden=\"true\" style=\"font-size:15px\"><\/i><\/div>\n      <div><div class=\"card-title\">Parametry hamowania<\/div><div class=\"card-sub\">\u00a720\u201321 Ir-1<\/div><\/div>\n    <\/div>\n    <div class=\"grid2\">\n      <div class=\"field\"><label>Masa og\u00f3lna poci\u0105gu Mo [t]<\/label><input type=\"number\" id=\"mo\" placeholder=\"0\" min=\"0\" step=\"1\" oninput=\"update()\"><div class=\"hint\">masa sk\u0142adu + lok + \u0142adunek<\/div><\/div>\n      <div class=\"field\"><label>Masa og\u00f3lna sk\u0142adu [t]<\/label><input type=\"number\" id=\"ms\" placeholder=\"0\" min=\"0\" step=\"1\" oninput=\"update()\"><\/div>\n      <div class=\"field\"><label>Pr\u0119dko\u015b\u0107 maks. V [km\/h]<\/label><input type=\"number\" id=\"vmax\" placeholder=\"0\" min=\"0\" max=\"300\" oninput=\"update()\"><\/div>\n      <div class=\"field\"><label>Pochylenie miarodajne [\u2030]<\/label><input type=\"number\" id=\"poch\" placeholder=\"0\" min=\"0\" max=\"40\" step=\"0.1\" oninput=\"update()\"><div class=\"hint\">najwi\u0119ksze na odcinku 1000 m<\/div><\/div>\n      <div class=\"field\"><label>Spos\u00f3b hamowania<\/label>\n        <select id=\"spos\" onchange=\"update()\">\n          <option value=\"I\">I \u2014 szybkodzia\u0142aj\u0105cy (G\/P)<\/option>\n          <option value=\"II\">II \u2014 wolnodzia\u0142aj\u0105cy (G)<\/option>\n          <option value=\"R\">R\u0119czny<\/option>\n        <\/select>\n      <\/div>\n      <div class=\"field\"><label>Wymagany % masy ham. Pw [%]<\/label><input type=\"number\" id=\"pw\" placeholder=\"np. 65\" min=\"0\" max=\"200\" step=\"1\" oninput=\"update()\"><div class=\"hint\">z rozk\u0142adu jazdy lub tablic Ir-1<\/div><\/div>\n      <div class=\"field\"><label>d\u0142ug. poci\u0105gu [m]<\/label><input type=\"number\" id=\"max_dl\" placeholder=\"np. 650\" min=\"0\" step=\"1\" oninput=\"update()\"><div class=\"hint\">limit z rozk\u0142adu \/ infrastruktury<\/div><\/div>\n    <\/div>\n    <div class=\"formula\">Mhw = Mo \u00d7 (Pw \u00f7 100) \u2014 wynik zaokr\u0105gla si\u0119 wzwy\u017c do ca\u0142ej tony<\/div>\n    <div class=\"formula\">Pr = (Mhr \u00f7 Mo) \u00d7 100 \u2014 rzeczywisty procent masy hamuj\u0105cej<\/div>\n  <\/div>\n\n  <div class=\"card\">\n    <div class=\"card-head\">\n      <div class=\"card-head-icon org\"><i class=\"ti ti-gauge\" aria-hidden=\"true\" style=\"font-size:15px\"><\/i><\/div>\n      <div><div class=\"card-title\">Ci\u015bnienie powietrza<\/div><div class=\"card-sub\">stan przed pr\u00f3b\u0105<\/div><\/div>\n    <\/div>\n    <div class=\"grid3\">\n      <div class=\"field\"><label>Przew\u00f3d g\u0142\u00f3wny [bar]<\/label><input type=\"number\" id=\"cg\" placeholder=\"5.0\" step=\"0.1\" oninput=\"update()\"><\/div>\n      <div class=\"field\"><label>Hamulca [bar]<\/label><input type=\"number\" id=\"ch\" placeholder=\"3.8\" step=\"0.1\" oninput=\"update()\"><\/div>\n      <div class=\"field\"><label>Spr\u0119\u017conego powietrza [bar]<\/label><input type=\"number\" id=\"cs\" placeholder=\"8.0\" step=\"0.1\" oninput=\"update()\"><\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<!-- SK\u0141AD -->\n<div id=\"p-sklad\" class=\"panel\">\n  <div class=\"card\">\n    <div class=\"card-head\">\n      <div class=\"card-head-icon gray\"><i class=\"ti ti-list-numbers\" aria-hidden=\"true\" style=\"font-size:15px\"><\/i><\/div>\n      <div><div class=\"card-title\">Wykaz pojazd\u00f3w w sk\u0142adzie<\/div><div class=\"card-sub\">\u00a720 Ir-1 \u2014 masy i d\u0142ugo\u015bci<\/div><\/div>\n    <\/div>\n    <div style=\"overflow-x:auto\">\n    <table class=\"wagon-table\" style=\"min-width:640px\">\n      <colgroup>\n        <col style=\"width:18%\"><col style=\"width:12%\"><col style=\"width:9%\"><col style=\"width:9%\"><col style=\"width:9%\"><col style=\"width:9%\"><col style=\"width:9%\"><col style=\"width:7%\"><col style=\"width:6%\">\n      <\/colgroup>\n      <thead>\n        <tr>\n          <th>Seria \/ oznaczenie<\/th>\n          <th>Typ<\/th>\n          <th>Tara [t]<\/th>\n          <th>\u0141adunek [t]<\/th>\n          <th>Brutto [t]<\/th>\n          <th>M.ham. [t]<\/th>\n          <th>D\u0142ug. [m]<\/th>\n          <th>Czynny<\/th>\n          <th><\/th>\n        <\/tr>\n      <\/thead>\n      <tbody id=\"tbody\"><\/tbody>\n    <\/table>\n    <\/div>\n\n    <div class=\"add-row\">\n      <button class=\"add-btn\" onclick=\"addRow('lok')\"><i class=\"ti ti-plus\" aria-hidden=\"true\"><\/i>Lokomotywa<\/button>\n      <button class=\"add-btn\" onclick=\"addRow('wag')\"><i class=\"ti ti-plus\" aria-hidden=\"true\"><\/i>Wagon pr\u00f3\u017cny<\/button>\n      <button class=\"add-btn\" onclick=\"addRow('wag-lad')\"><i class=\"ti ti-plus\" aria-hidden=\"true\"><\/i>Wagon \u0142adowny<\/button>\n    <\/div>\n\n    <div class=\"sum-bar\">\n      <div class=\"sum-cell\"><div class=\"sum-cell-lbl\">Tara \u0142\u0105cznie<\/div><div class=\"sum-cell-val\" id=\"s-tara\">0 t<\/div><\/div>\n      <div class=\"sum-cell\"><div class=\"sum-cell-lbl\">\u0141adunek \u0142\u0105cznie<\/div><div class=\"sum-cell-val\" id=\"s-lad\">0 t<\/div><\/div>\n      <div class=\"sum-cell\"><div class=\"sum-cell-lbl\">Masa og\u00f3lna (brutto)<\/div><div class=\"sum-cell-val\" id=\"s-brt\">0 t<\/div><\/div>\n      <div class=\"sum-cell\"><div class=\"sum-cell-lbl\">Masa ham. Mhr<\/div><div class=\"sum-cell-val\" id=\"s-mhr\">0 t<\/div><\/div>\n      <div class=\"sum-cell blue-s\"><div class=\"sum-cell-lbl\">D\u0142ugo\u015b\u0107 poci\u0105gu<\/div><div class=\"sum-cell-val\" id=\"s-dl\">0 m<\/div><\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<!-- WYNIKI -->\n<div id=\"p-wyniki\" class=\"panel\">\n  <div class=\"card\">\n    <div class=\"card-head\">\n      <div class=\"card-head-icon org\"><i class=\"ti ti-math-function\" aria-hidden=\"true\" style=\"font-size:15px\"><\/i><\/div>\n      <div><div class=\"card-title\">Wyniki oblicze\u0144 \u2014 hamowanie<\/div><div class=\"card-sub\">\u00a721 Ir-1<\/div><\/div>\n    <\/div>\n    <div class=\"metric-grid\">\n      <div class=\"metric info\"><div class=\"metric-lbl\">Masa og\u00f3lna Mo<\/div><div class=\"metric-val\" id=\"r-mo\">\u2014<span class=\"metric-unit\">t<\/span><\/div><\/div>\n      <div class=\"metric info\"><div class=\"metric-lbl\">Wymagany % Pw<\/div><div class=\"metric-val\" id=\"r-pw\">\u2014<span class=\"metric-unit\">%<\/span><\/div><\/div>\n      <div class=\"metric\" id=\"rc-mhw\"><div class=\"metric-lbl\">Wymagana masa ham. Mhw<\/div><div class=\"metric-val\" id=\"r-mhw\">\u2014<span class=\"metric-unit\">t<\/span><\/div><\/div>\n      <div class=\"metric\" id=\"rc-mhr\"><div class=\"metric-lbl\">Rzeczywista masa ham. Mhr<\/div><div class=\"metric-val\" id=\"r-mhr\">\u2014<span class=\"metric-unit\">t<\/span><\/div><\/div>\n      <div class=\"metric\" id=\"rc-pr\"><div class=\"metric-lbl\">Rzeczywisty % Pr<\/div><div class=\"metric-val\" id=\"r-pr\">\u2014<span class=\"metric-unit\">%<\/span><\/div><\/div>\n      <div class=\"metric\" id=\"rc-delta\"><div class=\"metric-lbl\">Nadmiar \/ niedob\u00f3r<\/div><div class=\"metric-val\" id=\"r-delta\">\u2014<span class=\"metric-unit\">t<\/span><\/div><\/div>\n    <\/div>\n    <div class=\"prog-wrap\">\n      <div class=\"prog-labels\"><span>Wype\u0142nienie wymogu hamowania<\/span><span id=\"prog-pct\">\u2014<\/span><\/div>\n      <div class=\"prog-track\"><div class=\"prog-fill\" id=\"prog-fill\" style=\"width:0%\"><\/div><\/div>\n    <\/div>\n    <div class=\"verdict neutral\" id=\"verdict\"><i class=\"ti ti-info-circle\" aria-hidden=\"true\"><\/i> Wprowad\u017a dane w zak\u0142adkach powy\u017cej<\/div>\n  <\/div>\n\n  <div class=\"card\">\n    <div class=\"card-head\">\n      <div class=\"card-head-icon blue\"><i class=\"ti ti-arrows-horizontal\" aria-hidden=\"true\" style=\"font-size:15px\"><\/i><\/div>\n      <div><div class=\"card-title\">D\u0142ugo\u015b\u0107 poci\u0105gu<\/div><div class=\"card-sub\">suma d\u0142ugo\u015bci wszystkich pojazd\u00f3w w sk\u0142adzie<\/div><\/div>\n    <\/div>\n    <div class=\"metric-grid3\">\n      <div class=\"metric blue-m\"><div class=\"metric-lbl\">Liczba pojazd\u00f3w<\/div><div class=\"metric-val\" id=\"r-cnt\">\u2014<span class=\"metric-unit\">szt.<\/span><\/div><\/div>\n      <div class=\"metric blue-m\"><div class=\"metric-lbl\">D\u0142ugo\u015b\u0107 poci\u0105gu<\/div><div class=\"metric-val\" id=\"r-dl\">\u2014<span class=\"metric-unit\">m<\/span><\/div><\/div>\n      <div class=\"metric\" id=\"rc-dl\"><div class=\"metric-lbl\">Limit \/ nadmiar<\/div><div class=\"metric-val\" id=\"r-dl-delta\">\u2014<\/div><\/div>\n    <\/div>\n    <div class=\"train-bar-wrap\" id=\"train-bar-wrap\" style=\"display:none\">\n      <div class=\"prog-labels\"><span>Wykorzystanie limitu d\u0142ugo\u015bci<\/span><span id=\"train-bar-pct\">\u2014<\/span><\/div>\n      <div class=\"train-bar-track\">\n        <div class=\"train-bar-fill\" id=\"train-bar-fill\" style=\"width:0%\"><\/div>\n      <\/div>\n    <\/div>\n    <div class=\"verdict neutral\" id=\"verdict-dl\"><i class=\"ti ti-info-circle\" aria-hidden=\"true\"><\/i> Podaj d\u0142ugo\u015bci pojazd\u00f3w i opcjonalny limit<\/div>\n  <\/div>\n\n  <div class=\"card\" id=\"card-momax\" style=\"display:none\">\n    <div class=\"card-head\">\n      <div class=\"card-head-icon org\"><i class=\"ti ti-alert-triangle\" aria-hidden=\"true\" style=\"font-size:15px\"><\/i><\/div>\n      <div><div class=\"card-title\">Niedob\u00f3r \u2014 dzia\u0142ania koryguj\u0105ce<\/div><div class=\"card-sub\">\u00a721 ust. 9 Ir-1<\/div><\/div>\n    <\/div>\n    <div class=\"metric-grid\">\n      <div class=\"metric\"><div class=\"metric-lbl\">Maks. dopuszczalna masa Mo_max<\/div><div class=\"metric-val\" id=\"r-momax\">\u2014<span class=\"metric-unit\">t<\/span><\/div><\/div>\n      <div class=\"metric\"><div class=\"metric-lbl\">Wymagane odci\u0105\u017cenie<\/div><div class=\"metric-val\" id=\"r-odciaz\">\u2014<span class=\"metric-unit\">t<\/span><\/div><\/div>\n    <\/div>\n    <div class=\"formula\">Mo_max = Mhr \u00f7 (Pw \u00f7 100)<\/div>\n  <\/div>\n<\/div>\n\n<!-- KARTA -->\n<div id=\"p-karta\" class=\"panel\">\n  <div class=\"card\">\n    <div class=\"karta-logo-bar\">\n      <img decoding=\"async\" src=\"data:image\/jpeg;base64,\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7\/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7\/wAARCADdA3EDASIAAhEBAxEB\/8QAHAABAAMBAQEBAQAAAAAAAAAAAAYHCAUEAwIB\/8QAVhAAAQMCAgIIEQgHBwIHAQAAAAECAwQFBhEHIRIWMUFRc3TRCBMXIjU2N1VhcYGRlKGxsrMUFTJSU1ST0iNCcnWSwcJGVmKChKLDRPAkJTM0Q2Ph8f\/EABsBAQADAQEBAQAAAAAAAAAAAAAFBgcEAwIB\/8QAPhEAAQMBAwYLBgYCAwEAAAAAAAECAwQFBhEhMVFxkbESFjM0NUFTYXKB0RMUFSLB4TJSYpKh8COyQoKi8f\/aAAwDAQACEQMRAD8AxkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASnRZYKHE2NKW0XFZkppWSOcsTka7NrFVNaou+h5zSthjdI7MiYntTwPqJWxMzuVETzIsDSPUSwb9rdfSG\/lHUSwb9rdfSG\/lIXjHR9+ws3Ey0v07fsZuBYumDR0uEZYq+2LNPaZsmK6RUV0MnA5URNS7y+Tgzrol6apjqY0kjXFFK7W0U1FMsMyYOT+5AAD3OUAAAAAAAluibDtvxRjCO1XJZkp3QyPVYnI12aJq1qilydRLBv2t19Ib+Ui6y16ekk9nJjjnzE7Z13qy0YfbQ4YY4ZVM3A0j1EsG\/a3X0hv5TxX\/Q5hKhsVwrYZLmstPSySs2U7VTZNaqpn1vgOZt4aNyoiY7Dtfc+0WNVy8HJ3\/Yz2ACdKqAC6NFmjHDeJsF0t3uL69KmV8jXJFMjW5NeqJqVq7yHJWVsdHH7STNjgSFm2bNaMqxQ4YomOX+95S4NI9RLBv2t19Ib+UdRLBv2t19Ib+UjOMdH37Cc4mWl+nb9jNwNI9RLBv2t19Ib+UdRLBv2t19Ib+UcY6Pv2DiZaX6dv2M3A0j1EsG\/a3X0hv5R1EsG\/a3X0hv5Rxjo+\/YOJlpfp2\/YzcDSPUSwb9rdfSG\/lHUSwb9rdfSG\/lHGOj79g4mWl+nb9jNwNI9RLBv2t19Ib+UdRLBv2t19Ib+UcY6Pv2DiZaX6dv2M3AsTTXgy0YPqrZFaXVTm1TJHSdPkR2tqtyyyROFSuyXpqhlTEkrMyldraOSindBL+JNGrEAF\/4V0QYTueGLVcqmS5JPV0UM8mwnajdk9iOXJNjuZqeNbXxUTUdLjl0HTZlk1FpPcyDDFMuVcCgAaR6iWDftbr6Q38o6iWDftbr6Q38pHcY6Pv2EzxMtL9O37GbgTLS\/hq3YUxY212t06wLSsl\/TPRztkquRdaInAhDSZgmbPGkjcylaqqZ9LM6GTO1cFAAPU8AAAAAAAAAAAAAASLCmCsS4mcjrVbJXwZ5LUSdZEn+Zd3xJmp8SSsibwnrgneesMEk70ZE1XLoTKR0F32LQOmxa++31c\/1oqOPc8T3flJbQ6HcDU7USahqqxeGaqeir\/ArSGlvDRRrgiq7UnrgWOnuhaUyYuajda+mJmMGrU0Y4Ey7XoPxZPzHkrNEmA6hF2Nokp3L+tFVSexXKnqPBLzUqrla7+PU6nXIr0TI9q+a+hl0F9XvQTbZGudZr1VU791GVLEkavgzbsVT1la4t0b4rw2x89VQfKqRmtamlXpjEThVMtk1PCqIhI01rUlQuDH5dC5CHrbv2hRorpI8U0plT+M3mQ8AEkQoAAAAAAAJVg2wUN3oZpqpZkcyXYpsHIiZZIvAARUFj7SrP9aq\/ETmG0qz\/WqvxE5gCuAWPtKs\/wBaq\/ETmG0qz\/WqvxE5gCuAWM7BNoVqoklW1eFJE5jmV+BZGtV1DWo9fqSty9acwBDAem4UFZb5uk1lO+J29mmpfEu4p5gAAAAAAAAAAAAAAWBb8F291FC6rdUJOrEWRGvREReDcAK\/B3sZWSOz1UK0yvdTyt1K9c1Rybqew4IAAAAAAAAAAAOxhG2091uq0tUr0jSJXdYuS5oqc4BxwT66YRtVNbKqpjdU7OKF725vTLNGqqbxAQAAAAAT614RtVTbKWpkdU7OWFj3ZPTLNWoq7wBAQdbFdup7Xd3UtMr1jRjXdeua5qckAAAAAAAAAAAAAAAAE+0Ad0+g4qb4biAk+0Ad0+g4qb4bjitLmkvhXcSdjdIQeJu9DT4AMxNyPLdrfR3W21Fur4Gz01QxWSMdvp\/Jd9F3lMp6SMIVmDsQPoZtlJSS5vpJ8tUjOBf8Sbip5dxUNbHAx5hahxbh+W11nWSfTp50TNYZN53hTeVN9POS9kWmtFLg78C5\/Urt4rEbacGLOUbmXT3L\/ci+ZkEHvv8Aaa6x3eotVyhWKpp37F6by8Cou+iprReBTwGhNcjkRzVyKY89jmOVrkwVAAD6PkAAAsXod+6TDyWX2IaYMz9Dv3SYeSy+xDTBQ7yc8TUn1NXuX0cviXcgOVjDtSvHIJ\/huOqcrGHaleOQT\/DcQkPKN1oWip5F+pdxjcAGrmAA0\/oA7mFBxs3xHGYDT+gDuYUHGzfEcV68vNE8SblLhcnpB3hXehPgAUU1UAAAAAAAAAAAAoropP8A39h4qb2sKXLo6KT\/AN\/YeKm9rClzRrD5hH571MZvR0rN5f6oDYOj\/tDw\/wDuum+E0x8bB0f9oeH\/AN103wmkZejko9a7ibuLziXUm87gAKYaWZu6JHuhR8gi955WZZnRI90KPkEXvPKzNLsrmcepDEbe6Sm8SgAEgRAAAAAAAAAAPZZrXcLzcYrfbKWSqqpVybGxPWvAib6rqQ++GLHccR3mC02yHplRKu6q5NY1N1zl3kQ1Jo+wZa8HWpKajaktXIifKapzeulX+TU3k9q6yJtS1WULcEyvXMn1UsFhWBLaj8V+WNM6\/RO\/cRDR9odtdqbHXYk6Xcq7dSDdgjXxL9NfHq8G+WnGxkUbY42NYxqZNa1MkROBEP0Ch1VXNVP4crsf71GsUNnU1DH7OBuCfyutQADmO0AAAAAAr3H+iqxYjZJVUDGWu5Lr6bEzKORf8bE1eVMl4czPWKcPXbDV0dbrvSuglTWx26yRv1mrvp\/2psc4+LsN2rFFofbbrBs2LrjkTU+J2WpzV3l9S75PWZbktMqMl+Zn8pq9Cp23daCuRZIERsn8Lr9dpjoHfx3hW44Rvj7bXJs2L11PO1qo2ZnCnh4U3l8inAL1HI2ViPYuKKZXNDJBIsciYOTOgAB9nkCwNGfYmp4\/+lCvywNGfYmp4\/8ApQA6mLLrNZ7dHUwRxyOdMkao\/PLJUVd7xEX283D7nS\/7uc6+kvsFBypvuuK8AJZt5uH3Ol\/3c4283D7nS\/7uciYAJZt5uH3Ol\/3c4283D7nS\/wC7nImACYw47qEcnTbfE5N\/YyKnOd6z4otlxe2LZrTzLqRkupFXwLuFYAAuSuo6aupnU9VE2WN28u94U4FK3xTh+azzdMjVZKR65MfvtX6q\/wDes6mDsTvikZb7jIronKjYpXLrYvAq8Hh3vFuTaspoaylkpqhiPikbk5ACmQe6+W6W13KWjkXPYrmx31mruKeEAAAAAAAAAA7mCrf8vvsSvbnFB+lf5NxPPl6yznOa3LZORua5Jmu6pHsAW\/5HZUqHtylql2a\/s\/q\/zXynN0hXWSGrpKOmerXwuSdyp9b9X+a+VADu4vt\/zjY5mNbnLF+lj8ab3lTNCqy47bVx11BBVx\/RlYjsuBd9PIpWWLLf823ueFrconr0yPV+qu95FzTyAHJAAAAAAAAAJLo57YHcQ72oRokujntgdxDvagBOb\/2CuHJZPdUqEt6\/9grhyWT3VKhAAAABb1g7BW\/ksfuoVCW9YOwVv5LH7qAED0hdsb+KYR0kWkLtjfxTCOgAAAAAAAAAAAAAAAAn2gDun0HFTfDcQEn2gDun0HFTfDccVpc0l8K7iTsbpCDxN3oafABmJuQAABX+mXAbMV2j5bQRtS8UjF6Uu505m6sa\/wAuBfGpmSRj45HRyMcx7VVrmuTJUVN1FQ22Unp9wBs0lxbZ4euTXcIWJup9qie95+EtFg2r7NUppVyLmXR3FEvZYPtWrWwJ8yfiTSmnWnX3aijgAXMzUAAAsXod+6TDyWX2IaYMz9Dv3SYeSy+xDTBQ7yc8TUn1NXuX0cviXcgOVjDtSvHIJ\/huOqcrGHaleOQT\/DcQkPKN1oWip5F+pdxjcAGrmAA0\/oA7mFBxs3xHGYDT+gDuYUHGzfEcV68vNE8SblLhcnpB3hXehPgAUU1UqLojb7ebL8w\/NFzqqHp3yjpvSJFbs8ulZZ5buWa+cqLb1jL+8119JcWZ0U\/9nP8AVf8ACUgX+xKeJ9CxXNRVy9Xepkd56ueO1JWseqJ8uZV\/KhI9vWMv7zXX0lw29Yy\/vNdfSXEcBK+6wfkTYhAe\/VXaO2qSPb1jL+8119JcNvWMv7zXX0lxHAPdYPyJsQe\/VXaO2qSPb1jL+8119JcNvWMv7zXX0lxHAPdYPyJsQe\/VXaO2qdC9Xu73p0TrtcqqudEipGs8iu2KLu5Z+JDngHq1rWJg1MEOd73SO4T1xXvBsHR\/2h4f\/ddN8Jpj42Do\/wC0PD\/7rpvhNKzejko9a7i8XF5xLqTedwAFMNLM3dEj3Qo+QRe88rMszoke6FHyCL3nlZml2VzOPUhiNvdJTeJQACQIgAAAAAH7hjkmmZDCx0kj3I1jGpmrlXUiInCfgtvoc8KNuF4mxLWRbKnoHbCmRyanTKmtf8AKip5XJwHLWVTaWF0rived1m0L6+pZAzr\/hOtSztEuCocIWBqTMa66VTUfVybuxXejReBPWua8BNADM553zyLI9cVU2+lpY6WFsMSYNQH5lkjhidLK9scbEVznOXJERN1VUzZpf0j1GJ6uS1WqV8Nlidlmiqi1Sp+s7\/DwN8q69SddnWdJXScFuREzroOC2LYhsuHhvyuXMmn7aVJzjjTVbrfI+jw1TsuU7c0WplzSBq+BE1v8AUnAqlWXnSVjW6SOdJfqmmaq6mUi9JRvlbkvnVSIgvNLZNLTJ8rcV0rlX+6jK668FfWuVXSKiaEyJ9\/M6q4kxEq5rf7r6ZJznTtOkHGdse11PiKukRP1aiTpzcuDJ+fqIuDsdTQvTBzEXyQjmVtRGvCZIqLrUvPBmnCOWRlLiqibBnq+WUqKrU\/aZrXyoq+IuOgrKWvo46yiqIqinlbsmSRuRzXJ4FQxSTPRhj2vwdckaqvqLVM7\/AMRTZ7n+NnA727i7ypXrSu\/G9qvpkwXR1L6bi4WLe+WN6RVq8Jv5utNelP51mqgee2V1JcrfBX0M7Z6adiPjkbuORf8AvcPQUxUVFwU0trkciKi5FI5pDwpR4vw9LbqhGx1Dc30s6prik3l8S7ipweFEMnXOhqrbcai31sLoamnkWORi7yobUKS6JLCqKyDFlHF1yK2CtyTdTcY9fdX\/AClku9aCxSe7vX5XZu5fvvKVfCx0nh98jT5m5+9PtuKPABdjMAWBoz7E1PH\/ANKFflgaM+xNTx\/9KAH70l9goOVN91xXhYekvsFBypvuuK8AAAAAAAAAABZeBbotwtPSZXbKemyY5V3Vb+qv8vIVoSPR7UrDiBsOfWzxuaqeFE2SexfOAd7SNQJPbI69idfTuyd4Wtqyy79fOVfxcN3gSqtVVO5PPPYnE9OPL+8DsYPtb7rdIIE6wj7J\/1fDz5IVvV1m6gpaKBcsjJHSJ9ZNXryTxFYp3pKuqJFHG12bGMb0rUTLJE86b5J9J9pu+oq68qbuSSR7uqe5WoioiJ+qnqQpiqvSnpqifL9hGr+H8K+dOEqM2xhWWxKuvVpEzfgviU8nTWpUpluNs5F3SAAWq0AAAAASrRzgq44yu6QQI6GhiVFqapU1Rp4E4XLvJ7BO0WORWuTBVgVTGucqNa1VVQ9FNTw08CQQsRjGprQ7GNrRR2yFkKJFExGIctSnjXfNqACsGnG2tILdflmtWmfEopMsjWp+qmW8m+i6ibfS8K6jCuFi2+x1lQ3aL1pLu5Ga1ZEq8bV1Lm5GpxMzXd8\/NrLb0W2dYqCGqfA2oSWRzmK12bVbgibqb2osgBU7VXWW7SWaqqqGkqpIl2LpHxNcrVTcVFUi0d8S5JWGzf2Lx7nD3pMqVjY3RqrI0dg7NFVF4NWveeQAFQNPKuNf4sfP\/AKp5ygABCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB\/\/2Q==\" alt=\"NELORAIL\" style=\"height:22px\" onerror=\"this.style.display='none'\">\n      <div style=\"font-size:10px;color:var(--color-text-tertiary);text-align:right\">\n        <div style=\"font-weight:500\">PKP POLSKIE LINIE KOLEJOWE S.A.<\/div>\n        <div>Karta pr\u00f3by hamulca \u00b7 Wz\u00f3r 3 \u00b7 Ir-1<\/div>\n      <\/div>\n    <\/div>\n    <div style=\"display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:0.75rem\">\n      <div style=\"font-size:15px;font-weight:500;color:var(--color-text-primary)\">Karta pr\u00f3by hamulca i urz\u0105dze\u0144 pneumatycznych poci\u0105gu<\/div>\n      <div style=\"background:rgba(230,90,0,0.1);border:0.5px solid rgba(230,90,0,0.3);border-radius:var(--border-radius-md);padding:6px 12px;text-align:center;flex-shrink:0;margin-left:10px\">\n        <div style=\"font-size:10px;color:#994200;font-weight:500\">Nr poci\u0105gu<\/div>\n        <div style=\"font-size:18px;font-weight:500;color:#7a3300\" id=\"k-nr-poc\">\u2014<\/div>\n      <\/div>\n    <\/div>\n    <div class=\"karta-row\"><span>Stacja wystawienia<\/span><span id=\"k-stacja\">\u2014<\/span><\/div>\n    <div class=\"karta-row\"><span>Data pr\u00f3by<\/span><span id=\"k-data\">\u2014<\/span><\/div>\n    <div class=\"karta-row\"><span>Rodzaj pr\u00f3by<\/span><span id=\"k-rodz\">\u2014<\/span><\/div>\n  <\/div>\n\n  <div class=\"card\">\n    <div class=\"card-head\">\n      <div class=\"card-head-icon teal\"><i class=\"ti ti-weight\" aria-hidden=\"true\" style=\"font-size:15px\"><\/i><\/div>\n      <div><div class=\"card-title\">Dane o masach i d\u0142ugo\u015bci poci\u0105gu<\/div><\/div>\n    <\/div>\n    <div class=\"karta-row\"><span>Masa og\u00f3lna poci\u0105gu (Mo)<\/span><span id=\"k-mo\">\u2014<\/span><\/div>\n    <div class=\"karta-row\"><span>Masa og\u00f3lna sk\u0142adu<\/span><span id=\"k-ms\">\u2014<\/span><\/div>\n    <div class=\"karta-row\"><span>Wymagana masa hamuj\u0105ca (Mhw)<\/span><span id=\"k-mhw\">\u2014<\/span><\/div>\n    <div class=\"karta-row\"><span>Rzeczywista masa hamuj\u0105ca (Mhr)<\/span><span id=\"k-mhr\">\u2014<\/span><\/div>\n    <div class=\"karta-row\"><span>Wymagany procent masy hamuj\u0105cej (Pw)<\/span><span id=\"k-pw\">\u2014<\/span><\/div>\n    <div class=\"karta-row\"><span>Rzeczywisty procent masy hamuj\u0105cej (Pr)<\/span><span id=\"k-pr\">\u2014<\/span><\/div>\n    <div class=\"karta-row\"><span>Spos\u00f3b hamowania<\/span><span id=\"k-spos\">\u2014<\/span><\/div>\n    <div class=\"karta-row\"><span>Pr\u0119dko\u015b\u0107 maksymalna<\/span><span id=\"k-vmax\">\u2014<\/span><\/div>\n    <div class=\"karta-row\"><span>Pochylenie miarodajne<\/span><span id=\"k-poch\">\u2014<\/span><\/div>\n    <div class=\"karta-row\"><span>Liczba pojazd\u00f3w w sk\u0142adzie<\/span><span id=\"k-cnt\">\u2014<\/span><\/div>\n    <div class=\"karta-row\"><span>D\u0142ugo\u015b\u0107 poci\u0105gu<\/span><span id=\"k-dl\">\u2014<\/span><\/div>\n  <\/div>\n\n  <div class=\"card\">\n    <div class=\"card-head\">\n      <div class=\"card-head-icon org\"><i class=\"ti ti-gauge\" aria-hidden=\"true\" style=\"font-size:15px\"><\/i><\/div>\n      <div><div class=\"card-title\">Ci\u015bnienie powietrza<\/div><\/div>\n    <\/div>\n    <div class=\"karta-row\"><span>Przew\u00f3d g\u0142\u00f3wny<\/span><span id=\"k-cg\">\u2014<\/span><\/div>\n    <div class=\"karta-row\"><span>Hamulca<\/span><span id=\"k-ch\">\u2014<\/span><\/div>\n    <div class=\"karta-row\"><span>Spr\u0119\u017conego powietrza<\/span><span id=\"k-cs\">\u2014<\/span><\/div>\n  <\/div>\n\n  <div class=\"card\">\n    <div class=\"card-head\">\n      <div class=\"card-head-icon purple\"><i class=\"ti ti-clipboard-check\" aria-hidden=\"true\" style=\"font-size:15px\"><\/i><\/div>\n      <div><div class=\"card-title\">Wynik pr\u00f3by hamulca<\/div><\/div>\n    <\/div>\n    <div class=\"verdict neutral\" id=\"k-verdict\"><i class=\"ti ti-info-circle\" aria-hidden=\"true\"><\/i> Brak danych<\/div>\n    <div class=\"sign-grid\">\n      <div class=\"sign-box\"><div class=\"sign-lbl\">Rewident taboru \/ kierownik poci\u0105gu<\/div><div style=\"height:32px\"><\/div><\/div>\n      <div class=\"sign-box\"><div class=\"sign-lbl\">Maszynista (podpis i piecz\u0105tka)<\/div><div style=\"height:32px\"><\/div><\/div>\n    <\/div>\n    <div style=\"font-size:10px;color:var(--color-text-tertiary);margin-top:8px\">Dokument pr\u00f3by hamulca wg \u00a718 Instrukcji Ir-1 PKP PLK S.A.<\/div>\n  <\/div>\n<\/div>\n\n<script>\nlet rows=[], rid=0;\nfunction switchPanel(id,btn){\n  document.querySelectorAll('.panel').forEach(p=>p.classList.remove('active'));\n  document.querySelectorAll('.nav-btn').forEach(b=>b.classList.remove('active'));\n  document.getElementById('p-'+id).classList.add('active');\n  btn.classList.add('active');\n  updateKarta();\n}\nconst g=id=>document.getElementById(id);\nconst gv=id=>{const el=g(id);return el?el.value:'';}\n\nfunction addRow(type){\n  const id=rid++;\n  const D={lok:{ser:'ET22',tara:80,lad:0,mh:48,dl:16.5},wag:{ser:'Fals',tara:22,lad:0,mh:14,dl:14.0},'wag-lad':{ser:'Eaos',tara:22,lad:52,mh:14,dl:14.0}};\n  const d=D[type]||D.wag;\n  rows.push({id,type,ser:d.ser,tara:d.tara,lad:d.lad,mh:d.mh,dl:d.dl,czynny:true});\n  renderTable(); update();\n}\nfunction delRow(id){rows=rows.filter(r=>r.id!==id);renderTable();update();}\n\nfunction renderTable(){\n  const tb=g('tbody'); tb.innerHTML='';\n  rows.forEach(r=>{\n    const brutto=+(r.tara||0)+ +(r.lad||0);\n    const badge=r.type==='lok'\n      ?'<span class=\"type-badge lok\"><i class=\"ti ti-engine-off\" style=\"font-size:10px\"><\/i> Lok<\/span>'\n      :r.lad>0\n        ?'<span class=\"type-badge wag-lad\"><i class=\"ti ti-package\" style=\"font-size:10px\"><\/i> \u0141adowny<\/span>'\n        :'<span class=\"type-badge wag\"><i class=\"ti ti-box\" style=\"font-size:10px\"><\/i> Pr\u00f3\u017cny<\/span>';\n    const tr=document.createElement('tr');\n    tr.innerHTML=`\n      <td><input type=\"text\" value=\"${r.ser}\" placeholder=\"seria\" onchange=\"setRow(${r.id},'ser',this.value)\"><\/td>\n      <td>${badge}<\/td>\n      <td><input type=\"number\" value=\"${r.tara||''}\" placeholder=\"0\" min=\"0\" step=\"0.1\" onchange=\"setRow(${r.id},'tara',+this.value)\" style=\"text-align:right\"><\/td>\n      <td><input type=\"number\" value=\"${r.lad||''}\" placeholder=\"0\" min=\"0\" step=\"0.1\" onchange=\"setRow(${r.id},'lad',+this.value)\" style=\"text-align:right\"><\/td>\n      <td style=\"font-size:12px;font-weight:500;color:var(--color-text-primary);text-align:right;padding-right:8px\">${Math.round(brutto*10)\/10}<\/td>\n      <td><input type=\"number\" value=\"${r.mh||''}\" placeholder=\"0\" min=\"0\" step=\"0.1\" onchange=\"setRow(${r.id},'mh',+this.value)\" style=\"text-align:right\"><\/td>\n      <td><input type=\"number\" value=\"${r.dl||''}\" placeholder=\"0\" min=\"0\" step=\"0.1\" onchange=\"setRow(${r.id},'dl',+this.value)\" style=\"text-align:right\"><\/td>\n      <td style=\"text-align:center\"><input type=\"checkbox\" ${r.czynny?'checked':''} onchange=\"setRow(${r.id},'czynny',this.checked)\" style=\"width:auto;cursor:pointer\"><\/td>\n      <td><button class=\"del-btn\" onclick=\"delRow(${r.id})\"><i class=\"ti ti-trash\" aria-hidden=\"true\"><\/i><\/button><\/td>`;\n    tb.appendChild(tr);\n  });\n}\nfunction setRow(id,key,val){const r=rows.find(r=>r.id===id);if(r){r[key]=val;}renderTable();update();}\n\nconst calcMhr=()=>rows.reduce((a,r)=>a+(r.czynny?(+r.mh||0):0),0);\nconst calcTara=()=>rows.reduce((a,r)=>a+(+r.tara||0),0);\nconst calcLad=()=>rows.reduce((a,r)=>a+(+r.lad||0),0);\nconst calcBrt=()=>rows.reduce((a,r)=>a+(+r.tara||0)+(+r.lad||0),0);\nconst calcDl=()=>rows.reduce((a,r)=>a+(+r.dl||0),0);\n\nfunction update(){\n  const mhr=calcMhr(), sumDl=calcDl();\n  g('s-tara').textContent=Math.round(calcTara()*10)\/10+' t';\n  g('s-lad').textContent=Math.round(calcLad()*10)\/10+' t';\n  g('s-brt').textContent=Math.round(calcBrt()*10)\/10+' t';\n  g('s-mhr').textContent=Math.round(mhr*10)\/10+' t';\n  g('s-dl').textContent=Math.round(sumDl*10)\/10+' m';\n\n  const mo=parseFloat(gv('mo'))||0, pw=parseFloat(gv('pw'))||0;\n  const maxDl=parseFloat(gv('max_dl'))||0;\n\n  \/* --- d\u0142ugo\u015b\u0107 --- *\/\n  g('r-cnt').innerHTML=rows.length+'<span class=\"metric-unit\">szt.<\/span>';\n  g('r-dl').innerHTML=Math.round(sumDl*10)\/10+'<span class=\"metric-unit\">m<\/span>';\n\n  const vdl=g('verdict-dl');\n  if(sumDl>0){\n    if(maxDl>0){\n      g('train-bar-wrap').style.display='block';\n      const pDl=Math.min(sumDl\/maxDl*100,120);\n      const bf=g('train-bar-fill');\n      bf.style.width=Math.min(pDl,100)+'%';\n      bf.style.background=pDl<=100?'#185FA5':'#E24B4A';\n      g('train-bar-pct').textContent=Math.round(pDl)+'%';\n      const delta=Math.round((sumDl-maxDl)*10)\/10;\n      if(delta<=0){\n        g('r-dl-delta').innerHTML='<span style=\"color:#0F6E56\">+'+(Math.abs(delta))+' m rezerwy<\/span>';\n        g('rc-dl').className='metric';\n        vdl.className='verdict ok';vdl.innerHTML='<i class=\"ti ti-circle-check\" aria-hidden=\"true\"><\/i> D\u0142ugo\u015b\u0107 OK \u2014 '+Math.round(sumDl*10)\/10+' m \u2264 '+maxDl+' m';\n      } else {\n        g('r-dl-delta').innerHTML='<span style=\"color:#A32D2D\">+'+delta+' m przekr.<\/span>';\n        g('rc-dl').className='metric fail';\n        vdl.className='verdict fail';vdl.innerHTML='<i class=\"ti ti-alert-circle\" aria-hidden=\"true\"><\/i> PRZEKROCZENIE \u2014 poci\u0105g za d\u0142ugi o '+delta+' m!';\n      }\n    } else {\n      g('train-bar-wrap').style.display='none';\n      g('r-dl-delta').innerHTML='<span style=\"color:var(--color-text-tertiary)\">brak limitu<\/span>';\n      g('rc-dl').className='metric';\n      vdl.className='verdict neutral';vdl.innerHTML='<i class=\"ti ti-arrows-horizontal\" aria-hidden=\"true\"><\/i> D\u0142ugo\u015b\u0107 poci\u0105gu: '+Math.round(sumDl*10)\/10+' m (brak zdefiniowanego limitu)';\n    }\n  } else {\n    g('train-bar-wrap').style.display='none';\n    g('r-dl-delta').innerHTML='\u2014';\n    g('rc-dl').className='metric';\n    vdl.className='verdict neutral';vdl.innerHTML='<i class=\"ti ti-info-circle\" aria-hidden=\"true\"><\/i> Podaj d\u0142ugo\u015bci pojazd\u00f3w w wykazie';\n  }\n\n  \/* --- hamowanie --- *\/\n  if(!mo||!pw){\n    ['r-mo','r-mhw','r-mhr','r-delta'].forEach(id=>g(id).innerHTML='\u2014<span class=\"metric-unit\">t<\/span>');\n    g('r-pw').innerHTML='\u2014<span class=\"metric-unit\">%<\/span>';\n    g('r-pr').innerHTML='\u2014<span class=\"metric-unit\">%<\/span>';\n    g('verdict').className='verdict neutral';g('verdict').innerHTML='<i class=\"ti ti-info-circle\" aria-hidden=\"true\"><\/i> Wprowad\u017a mas\u0119 og\u00f3ln\u0105 Mo i wymagany % Pw';\n    g('card-momax').style.display='none';\n    g('prog-fill').style.width='0%';g('prog-pct').textContent='\u2014';\n    updateKarta(); return;\n  }\n  const mhw=Math.ceil(mo*pw\/100), pr=mo>0?mhr\/mo*100:0, delta=mhr-mhw;\n  const pct=mhw>0?Math.min(mhr\/mhw*100,120):0;\n  g('r-mo').innerHTML=mo+'<span class=\"metric-unit\">t<\/span>';\n  g('r-pw').innerHTML=pw+'<span class=\"metric-unit\">%<\/span>';\n  g('r-mhw').innerHTML=mhw+'<span class=\"metric-unit\">t<\/span>';\n  g('r-mhr').innerHTML=Math.round(mhr*10)\/10+'<span class=\"metric-unit\">t<\/span>';\n  g('r-pr').innerHTML=pr.toFixed(1)+'<span class=\"metric-unit\">%<\/span>';\n  g('r-delta').innerHTML=(delta>=0?'+':'')+Math.round(delta*10)\/10+'<span class=\"metric-unit\">t<\/span>';\n  const pf=g('prog-fill');\n  pf.style.width=Math.min(pct,100)+'%';\n  pf.className='prog-fill '+(pct>=100?'ok':pct>=75?'warn':'fail');\n  g('prog-pct').textContent=Math.round(pct)+'%';\n  const v=g('verdict'), kv=g('k-verdict');\n  if(delta>=0){\n    v.className='verdict ok';v.innerHTML='<i class=\"ti ti-circle-check\" aria-hidden=\"true\"><\/i> Pr\u00f3ba POZYTYWNA \u2014 Mhr \u2265 Mhw ('+Math.round(mhr*10)\/10+' t \u2265 '+mhw+' t)';\n    kv.className='verdict ok';kv.innerHTML='<i class=\"ti ti-circle-check\" aria-hidden=\"true\"><\/i> Pr\u00f3ba POZYTYWNA \u2014 warunek hamowania spe\u0142niony';\n    g('rc-mhw').className='metric';g('rc-mhr').className='metric ok';g('rc-pr').className='metric ok';g('rc-delta').className='metric ok';\n    g('card-momax').style.display='none';\n  } else {\n    v.className='verdict fail';v.innerHTML='<i class=\"ti ti-alert-circle\" aria-hidden=\"true\"><\/i> Pr\u00f3ba NEGATYWNA \u2014 niedob\u00f3r '+Math.abs(Math.round(delta*10)\/10)+' t';\n    kv.className='verdict fail';kv.innerHTML='<i class=\"ti ti-alert-circle\" aria-hidden=\"true\"><\/i> Pr\u00f3ba NEGATYWNA \u2014 niedob\u00f3r: '+Math.abs(Math.round(delta*10)\/10)+' t';\n    g('rc-mhw').className='metric';g('rc-mhr').className='metric fail';g('rc-pr').className='metric fail';g('rc-delta').className='metric fail';\n    const moMax=pw>0?Math.floor(mhr\/(pw\/100)):0;\n    g('r-momax').innerHTML=moMax+'<span class=\"metric-unit\">t<\/span>';\n    g('r-odciaz').innerHTML=Math.ceil(mo-moMax)+'<span class=\"metric-unit\">t<\/span>';\n    g('card-momax').style.display='block';\n  }\n  updateKarta();\n}\n\nfunction updateKarta(){\n  const mo=parseFloat(gv('mo'))||0, pw=parseFloat(gv('pw'))||0;\n  const mhr=calcMhr(), mhw=mo&&pw?Math.ceil(mo*pw\/100):0, pr=mo>0?mhr\/mo*100:0;\n  const sumDl=calcDl();\n  const spMap={'I':'I \u2014 szybkodzia\u0142aj\u0105cy','II':'II \u2014 wolnodzia\u0142aj\u0105cy','R':'R\u0119czny'};\n  const rMap={'szcz':'Szczeg\u00f3\u0142owa','upros':'Uproszczona'};\n  const dt=gv('data_pr');\n  g('k-nr-poc').textContent=gv('nr_poc')||'\u2014';\n  g('k-stacja').textContent=gv('stacja')||'\u2014';\n  g('k-data').textContent=dt?new Date(dt).toLocaleDateString('pl-PL'):'\u2014';\n  g('k-rodz').textContent=rMap[gv('rodz_pr')]||'\u2014';\n  g('k-mo').textContent=mo?mo+' t':'\u2014';\n  g('k-ms').textContent=gv('ms')?gv('ms')+' t':'\u2014';\n  g('k-mhw').textContent=mhw?mhw+' t':'\u2014';\n  g('k-mhr').textContent=mhr?Math.round(mhr*10)\/10+' t':'\u2014';\n  g('k-pw').textContent=pw?pw+' %':'\u2014';\n  g('k-pr').textContent=mo?pr.toFixed(1)+' %':'\u2014';\n  g('k-spos').textContent=spMap[gv('spos')]||'\u2014';\n  g('k-vmax').textContent=gv('vmax')?gv('vmax')+' km\/h':'\u2014';\n  g('k-poch').textContent=gv('poch')?gv('poch')+' \u2030':'\u2014';\n  g('k-cnt').textContent=rows.length?rows.length+' szt.':'\u2014';\n  g('k-dl').textContent=sumDl?Math.round(sumDl*10)\/10+' m':'\u2014';\n  g('k-cg').textContent=gv('cg')?gv('cg')+' bar':'\u2014';\n  g('k-ch').textContent=gv('ch')?gv('ch')+' bar':'\u2014';\n  g('k-cs').textContent=gv('cs')?gv('cs')+' bar':'\u2014';\n}\n\ng('data_pr').valueAsDate=new Date();\naddRow('lok'); addRow('wag'); addRow('wag-lad');\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Karta pr\u00f3by hamulca kolejowego Obliczenia wg PKP PLK Ir-1 \u00b7 \u00a718\u201321 Ir-1 Dane poci\u0105gu Wykaz pojazd\u00f3w Obliczenia Karta pr\u00f3by Identyfikacja [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-147","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/nelorail.pl\/index.php?rest_route=\/wp\/v2\/pages\/147","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nelorail.pl\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/nelorail.pl\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/nelorail.pl\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nelorail.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=147"}],"version-history":[{"count":16,"href":"https:\/\/nelorail.pl\/index.php?rest_route=\/wp\/v2\/pages\/147\/revisions"}],"predecessor-version":[{"id":164,"href":"https:\/\/nelorail.pl\/index.php?rest_route=\/wp\/v2\/pages\/147\/revisions\/164"}],"wp:attachment":[{"href":"https:\/\/nelorail.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=147"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}