{"id":2512,"date":"2026-03-22T08:11:39","date_gmt":"2026-03-22T08:11:39","guid":{"rendered":"https:\/\/kitech-recycling.com\/?page_id=2512"},"modified":"2026-03-22T08:12:50","modified_gmt":"2026-03-22T08:12:50","slug":"capacity-planner","status":"publish","type":"page","link":"https:\/\/kitech-recycling.com\/pt\/plastic-pelletizer\/capacity-planner\/","title":{"rendered":"Planejador Capacidade"},"content":{"rendered":"\n<div class=\"wp-block-stackable-columns alignfull stk-block-columns stk-block stk-b633368\" data-block-id=\"b633368\"><style>.stk-b633368 {margin-bottom:0px !important;}<\/style><div class=\"stk-row stk-inner-blocks stk-block-content stk-content-align stk-b633368-column alignfull\">\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-345185c\" data-v=\"4\" data-block-id=\"345185c\"><style>.stk-345185c-container{margin-top:var(--stk--preset--spacing--60, 2.25rem) !important;margin-right:var(--stk--preset--spacing--60, 2.25rem) !important;margin-bottom:var(--stk--preset--spacing--60, 2.25rem) !important;margin-left:var(--stk--preset--spacing--60, 2.25rem) !important;}<\/style><div class=\"stk-column-wrapper stk-block-column__content stk-container stk-345185c-container stk--no-background stk--no-padding\"><div class=\"has-text-align-center stk-block-content stk-inner-blocks stk-345185c-inner-blocks\"><div class=\"ct-breadcrumbs\" data-source=\"rankmath\" ><nav aria-label=\"breadcrumbs\" class=\"rank-math-breadcrumb\"><p><span class=\"last\">Home<\/span><\/p><\/nav><\/div><\/div><\/div><\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-stackable-columns alignfull stk-block-columns stk-block stk-978b11d\" data-block-id=\"978b11d\"><div class=\"stk-row stk-inner-blocks stk-block-content stk-content-align stk-978b11d-column alignfull\">\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-60ba17f\" data-v=\"4\" data-block-id=\"60ba17f\"><div class=\"stk-column-wrapper stk-block-column__content stk-container stk-60ba17f-container stk--no-background stk--no-padding\"><div class=\"stk-block-content stk-inner-blocks stk-60ba17f-inner-blocks\">\n<!-- Plastic Granulator Capacity Planning Calculator | Kitech -->\n<section id=\"bx-capacity-plan-v1\">\n<style>\n#bx-capacity-plan-v1{--cp-primary:#004878;--cp-accent:#003078;--cp-gray:#787878;--cp-light:#f4f7fa;--cp-green:#1a7a3a;--cp-orange:#c76800;--cp-border:#d0d7de;--cp-radius:8px;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif;color:#1e1e1e;max-width:900px;margin:0 auto;padding:0;line-height:1.6;box-sizing:border-box}\n#bx-capacity-plan-v1 *,#bx-capacity-plan-v1 *::before,#bx-capacity-plan-v1 *::after{box-sizing:border-box;margin:0;padding:0}\n#bx-capacity-plan-v1 h2{font-size:1.75rem;font-weight:700;color:var(--cp-primary);text-align:center;margin-bottom:.35rem}\n#bx-capacity-plan-v1 .cp-subtitle{text-align:center;color:var(--cp-gray);font-size:.97rem;margin-bottom:2rem}\n#bx-capacity-plan-v1 .cp-form{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 2rem;margin-bottom:2rem}\n#bx-capacity-plan-v1 .cp-field{display:flex;flex-direction:column;gap:.45rem}\n#bx-capacity-plan-v1 .cp-field.cp-full{grid-column:1\/-1}\n#bx-capacity-plan-v1 label.cp-label{font-size:.85rem;font-weight:600;color:var(--cp-accent);letter-spacing:.02em}\n#bx-capacity-plan-v1 input[type=\"number\"],#bx-capacity-plan-v1 select{height:44px;border:1.5px solid var(--cp-border);border-radius:var(--cp-radius);padding:0 14px;font-size:1rem;font-family:'IBM Plex Mono',ui-monospace,SFMono-Regular,monospace;color:#1e1e1e;background:#fff;transition:border-color .2s}\n#bx-capacity-plan-v1 input[type=\"number\"]:focus,#bx-capacity-plan-v1 select:focus{outline:none;border-color:var(--cp-primary);box-shadow:0 0 0 3px rgba(0,72,120,.12)}\n#bx-capacity-plan-v1 .cp-cards{display:flex;gap:.65rem;flex-wrap:wrap}\n#bx-capacity-plan-v1 .cp-card-radio{position:relative}\n#bx-capacity-plan-v1 .cp-card-radio input{position:absolute;opacity:0;width:0;height:0}\n#bx-capacity-plan-v1 .cp-card-radio .cp-card-label{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:100px;height:44px;padding:0 16px;border:1.5px solid var(--cp-border);border-radius:var(--cp-radius);font-size:.85rem;font-weight:500;color:var(--cp-gray);cursor:pointer;transition:all .2s;background:#fff;text-align:center;line-height:1.3}\n#bx-capacity-plan-v1 .cp-card-radio .cp-card-label .cp-card-sub{font-size:.7rem;color:#999;font-weight:400}\n#bx-capacity-plan-v1 .cp-card-radio input:checked+.cp-card-label{border-color:var(--cp-primary);background:rgba(0,72,120,.06);color:var(--cp-primary);font-weight:600;box-shadow:0 0 0 2px rgba(0,72,120,.10)}\n#bx-capacity-plan-v1 .cp-card-radio .cp-card-label:hover{border-color:var(--cp-primary);color:var(--cp-primary)}\n#bx-capacity-plan-v1 .cp-btn-calc{grid-column:1\/-1;height:48px;border:none;border-radius:var(--cp-radius);background:var(--cp-primary);color:#fff;font-size:1.05rem;font-weight:600;cursor:pointer;transition:background .2s,transform .1s;letter-spacing:.02em}\n#bx-capacity-plan-v1 .cp-btn-calc:hover{background:var(--cp-accent)}\n#bx-capacity-plan-v1 .cp-btn-calc:active{transform:scale(.985)}\n\n\/* Results area *\/\n#bx-capacity-plan-v1 .cp-results{display:none;animation:cpFadeIn .4s ease}\n@keyframes cpFadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}\n\n\/* Capacity bar *\/\n#bx-capacity-plan-v1 .cp-bar-section{margin-bottom:2rem}\n#bx-capacity-plan-v1 .cp-bar-title{font-size:.85rem;font-weight:600;color:var(--cp-accent);margin-bottom:.75rem}\n#bx-capacity-plan-v1 .cp-bar-wrap{position:relative;height:38px;background:#e8ecf0;border-radius:6px;overflow:visible;margin-bottom:.55rem}\n#bx-capacity-plan-v1 .cp-bar-fill{height:100%;border-radius:6px 0 0 6px;transition:width .6s ease}\n#bx-capacity-plan-v1 .cp-bar-target{position:absolute;top:-2px;bottom:-2px;width:3px;background:var(--cp-primary);border-radius:2px;transition:left .6s ease;z-index:2}\n#bx-capacity-plan-v1 .cp-bar-target::after{content:attr(data-label);position:absolute;top:-22px;left:50%;transform:translateX(-50%);font-size:.68rem;font-weight:600;color:var(--cp-primary);white-space:nowrap;font-family:'IBM Plex Mono',monospace}\n#bx-capacity-plan-v1 .cp-bar-buffered{position:absolute;top:-2px;bottom:-2px;width:3px;background:var(--cp-orange);border-radius:2px;transition:left .6s ease;z-index:2}\n#bx-capacity-plan-v1 .cp-bar-buffered::after{content:attr(data-label);position:absolute;top:-22px;left:50%;transform:translateX(-50%);font-size:.68rem;font-weight:600;color:var(--cp-orange);white-space:nowrap;font-family:'IBM Plex Mono',monospace}\n#bx-capacity-plan-v1 .cp-bar-legend{display:flex;gap:1.5rem;font-size:.75rem;color:var(--cp-gray);flex-wrap:wrap}\n#bx-capacity-plan-v1 .cp-bar-legend span::before{content:\"\";display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:middle}\n#bx-capacity-plan-v1 .cp-bar-legend .cp-leg-target::before{background:var(--cp-primary)}\n#bx-capacity-plan-v1 .cp-bar-legend .cp-leg-buffer::before{background:var(--cp-orange)}\n#bx-capacity-plan-v1 .cp-bar-legend .cp-leg-model::before{background:var(--cp-green)}\n\n\/* Recommendation cards *\/\n#bx-capacity-plan-v1 .cp-recs{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:2rem}\n#bx-capacity-plan-v1 .cp-rec-card{border:1.5px solid var(--cp-border);border-radius:var(--cp-radius);padding:1.25rem 1.35rem;background:#fff;position:relative}\n#bx-capacity-plan-v1 .cp-rec-card.cp-primary-rec{border-color:var(--cp-primary);background:linear-gradient(135deg,rgba(0,72,120,.03),rgba(0,48,120,.06))}\n#bx-capacity-plan-v1 .cp-rec-badge{display:inline-block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 10px;border-radius:4px;margin-bottom:.65rem}\n#bx-capacity-plan-v1 .cp-badge-primary{background:var(--cp-primary);color:#fff}\n#bx-capacity-plan-v1 .cp-badge-alt{background:#e8ecf0;color:var(--cp-gray)}\n#bx-capacity-plan-v1 .cp-rec-model{font-size:1.2rem;font-weight:700;color:var(--cp-primary);margin-bottom:.15rem}\n#bx-capacity-plan-v1 .cp-rec-series{font-size:.8rem;color:var(--cp-gray);margin-bottom:.75rem}\n#bx-capacity-plan-v1 .cp-rec-stats{display:flex;flex-direction:column;gap:.4rem}\n#bx-capacity-plan-v1 .cp-rec-stat{display:flex;justify-content:space-between;font-size:.85rem}\n#bx-capacity-plan-v1 .cp-rec-stat .cp-stat-label{color:var(--cp-gray)}\n#bx-capacity-plan-v1 .cp-rec-stat .cp-stat-val{font-family:'IBM Plex Mono',monospace;font-weight:600;color:#1e1e1e}\n#bx-capacity-plan-v1 .cp-rec-card.cp-primary-rec .cp-rec-stat .cp-stat-val{color:var(--cp-primary)}\n#bx-capacity-plan-v1 .cp-rec-fit{margin-top:.65rem;padding-top:.65rem;border-top:1px solid var(--cp-border);font-size:.82rem;font-weight:600}\n#bx-capacity-plan-v1 .cp-fit-good{color:var(--cp-green)}\n#bx-capacity-plan-v1 .cp-fit-over{color:var(--cp-orange)}\n\n\/* Production breakdown *\/\n#bx-capacity-plan-v1 .cp-breakdown{margin-bottom:2rem}\n#bx-capacity-plan-v1 .cp-breakdown-title{font-size:.95rem;font-weight:700;color:var(--cp-accent);margin-bottom:.75rem}\n#bx-capacity-plan-v1 .cp-breakdown-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}\n#bx-capacity-plan-v1 .cp-bk-card{background:var(--cp-light);border-radius:var(--cp-radius);padding:.85rem 1rem;text-align:center}\n#bx-capacity-plan-v1 .cp-bk-val{font-size:1.35rem;font-weight:700;color:var(--cp-primary);font-family:'IBM Plex Mono',monospace;line-height:1.2}\n#bx-capacity-plan-v1 .cp-bk-unit{font-size:.7rem;color:var(--cp-gray);margin-top:.2rem}\n\n\/* CTA *\/\n#bx-capacity-plan-v1 .cp-cta{text-align:center;margin-top:1.5rem}\n#bx-capacity-plan-v1 .cp-cta a{display:inline-block;height:48px;line-height:48px;padding:0 32px;background:var(--cp-primary);color:#fff;text-decoration:none;border-radius:var(--cp-radius);font-size:1rem;font-weight:600;transition:background .2s}\n#bx-capacity-plan-v1 .cp-cta a:hover{background:var(--cp-accent)}\n\n\/* Responsive *\/\n@media(max-width:860px){\n  #bx-capacity-plan-v1 .cp-form{grid-template-columns:1fr}\n  #bx-capacity-plan-v1 .cp-field.cp-full{grid-column:1}\n  #bx-capacity-plan-v1 .cp-recs{grid-template-columns:1fr}\n  #bx-capacity-plan-v1 .cp-breakdown-grid{grid-template-columns:1fr 1fr}\n  #bx-capacity-plan-v1 .cp-cards{gap:.5rem}\n  #bx-capacity-plan-v1 .cp-card-radio .cp-card-label{min-width:85px;padding:0 12px;font-size:.8rem}\n}\n@media(max-width:480px){\n  #bx-capacity-plan-v1 .cp-breakdown-grid{grid-template-columns:1fr 1fr}\n  #bx-capacity-plan-v1 h2{font-size:1.35rem}\n}\n<\/style>\n\n<h2>Capacity Planning Calculator<\/h2>\n<p class=\"cp-subtitle\">Determine the right granulator capacity for your production targets<\/p>\n\n<div class=\"cp-form\" id=\"cpForm\">\n  <!-- Daily production target -->\n  <div class=\"cp-field\">\n    <label class=\"cp-label\" for=\"cpDailyTarget\">Daily Production Target (kg\/day)<\/label>\n    <input type=\"number\" id=\"cpDailyTarget\" min=\"50\" max=\"100000\" step=\"50\" value=\"4000\">\n  <\/div>\n\n  <!-- Material type -->\n  <div class=\"cp-field\">\n    <label class=\"cp-label\" for=\"cpMaterial\">Material Type<\/label>\n    <select id=\"cpMaterial\">\n      <option value=\"film\">PE\/PP Film<\/option>\n      <option value=\"rigid\">Rigid Flakes<\/option>\n      <option value=\"pet\">PET<\/option>\n      <option value=\"mixed\">Mixed \/ Other<\/option>\n    <\/select>\n  <\/div>\n\n  <!-- Shift type -->\n  <div class=\"cp-field cp-full\">\n    <label class=\"cp-label\">Shift Type<\/label>\n    <div class=\"cp-cards\">\n      <label class=\"cp-card-radio\">\n        <input type=\"radio\" name=\"cpShift\" value=\"8\" checked>\n        <span class=\"cp-card-label\">Single Shift<span class=\"cp-card-sub\">8 hours<\/span><\/span>\n      <\/label>\n      <label class=\"cp-card-radio\">\n        <input type=\"radio\" name=\"cpShift\" value=\"16\">\n        <span class=\"cp-card-label\">Double Shift<span class=\"cp-card-sub\">16 hours<\/span><\/span>\n      <\/label>\n      <label class=\"cp-card-radio\">\n        <input type=\"radio\" name=\"cpShift\" value=\"24\">\n        <span class=\"cp-card-label\">24\/7 Operation<span class=\"cp-card-sub\">24 hours<\/span><\/span>\n      <\/label>\n    <\/div>\n  <\/div>\n\n  <!-- Growth buffer -->\n  <div class=\"cp-field cp-full\">\n    <label class=\"cp-label\">Growth Buffer<\/label>\n    <div class=\"cp-cards\">\n      <label class=\"cp-card-radio\">\n        <input type=\"radio\" name=\"cpBuffer\" value=\"0\">\n        <span class=\"cp-card-label\">None<span class=\"cp-card-sub\">0%<\/span><\/span>\n      <\/label>\n      <label class=\"cp-card-radio\">\n        <input type=\"radio\" name=\"cpBuffer\" value=\"0.20\" checked>\n        <span class=\"cp-card-label\">Conservative<span class=\"cp-card-sub\">+20%<\/span><\/span>\n      <\/label>\n      <label class=\"cp-card-radio\">\n        <input type=\"radio\" name=\"cpBuffer\" value=\"0.30\">\n        <span class=\"cp-card-label\">Aggressive<span class=\"cp-card-sub\">+30%<\/span><\/span>\n      <\/label>\n    <\/div>\n  <\/div>\n\n  <button type=\"button\" class=\"cp-btn-calc\" id=\"cpCalcBtn\">Calculate Required Capacity<\/button>\n<\/div>\n\n<!-- Results -->\n<div class=\"cp-results\" id=\"cpResults\">\n\n  <!-- Capacity bar -->\n  <div class=\"cp-bar-section\">\n    <div class=\"cp-bar-title\">Capacity Overview<\/div>\n    <div class=\"cp-bar-wrap\" id=\"cpBarWrap\">\n      <div class=\"cp-bar-fill\" id=\"cpBarFill\" style=\"width:0%;background:var(--cp-green);opacity:.25\"><\/div>\n      <div class=\"cp-bar-target\" id=\"cpBarTarget\" data-label=\"\" style=\"left:0%\"><\/div>\n      <div class=\"cp-bar-buffered\" id=\"cpBarBuffered\" data-label=\"\" style=\"left:0%\"><\/div>\n    <\/div>\n    <div class=\"cp-bar-legend\">\n      <span class=\"cp-leg-target\">Your base requirement<\/span>\n      <span class=\"cp-leg-buffer\">With growth buffer<\/span>\n      <span class=\"cp-leg-model\">Recommended model capacity<\/span>\n    <\/div>\n  <\/div>\n\n  <!-- Recommendation cards -->\n  <div class=\"cp-recs\" id=\"cpRecs\"><\/div>\n\n  <!-- Production breakdown -->\n  <div class=\"cp-breakdown\">\n    <div class=\"cp-breakdown-title\">Estimated Production at Recommended Capacity<\/div>\n    <div class=\"cp-breakdown-grid\" id=\"cpBreakdown\"><\/div>\n  <\/div>\n\n  <!-- CTA -->\n  <div class=\"cp-cta\">\n    <a href=\"#ct-popup-684\">Confirm Capacity with Kitech Engineering<\/a>\n  <\/div>\n<\/div>\n\n<script>\n(function(){\n  \"use strict\";\n\n  \/* \u2500\u2500 Model Database \u2500\u2500 *\/\n  var models = {\n    film: [\n      {name:\"KCP-400\",series:\"KCP Series\",capacity:150,power:37,desc:\"Compact film granulator\"},\n      {name:\"KCP-500\",series:\"KCP Series\",capacity:250,power:45,desc:\"Mid-range film granulator\"},\n      {name:\"KCP-600\",series:\"KCP Series\",capacity:400,power:55,desc:\"High-output film granulator\"},\n      {name:\"KCP-800\",series:\"KCP Series\",capacity:600,power:75,desc:\"Heavy-duty film granulator\"},\n      {name:\"KCP-1000\",series:\"KCP Series\",capacity:800,power:90,desc:\"Industrial film granulator\"},\n      {name:\"5G KCP Plus-600\",series:\"5G KCP Plus\",capacity:500,power:55,desc:\"Next-gen film granulator\"},\n      {name:\"5G KCP Plus-800\",series:\"5G KCP Plus\",capacity:700,power:75,desc:\"Next-gen high-output film granulator\"},\n      {name:\"5G KCP Plus-1000\",series:\"5G KCP Plus\",capacity:1000,power:110,desc:\"Next-gen industrial film granulator\"},\n      {name:\"5G KCP Plus-1200\",series:\"5G KCP Plus\",capacity:1500,power:132,desc:\"Max-capacity film granulator\"}\n    ],\n    rigid: [\n      {name:\"KSP-300\",series:\"KSP Series\",capacity:200,power:30,desc:\"Compact rigid granulator\"},\n      {name:\"KSP-400\",series:\"KSP Series\",capacity:350,power:45,desc:\"Mid-range rigid granulator\"},\n      {name:\"KSP-500\",series:\"KSP Series\",capacity:500,power:55,desc:\"High-output rigid granulator\"},\n      {name:\"KSP-600\",series:\"KSP Series\",capacity:700,power:75,desc:\"Heavy-duty rigid granulator\"},\n      {name:\"KSP-800\",series:\"KSP Series\",capacity:1000,power:90,desc:\"Industrial rigid granulator\"},\n      {name:\"KSP-1000\",series:\"KSP Series\",capacity:1500,power:132,desc:\"Max-capacity rigid granulator\"}\n    ],\n    pet: [\n      {name:\"TSK-400\",series:\"TSK Series\",capacity:200,power:37,desc:\"PET granulator\"},\n      {name:\"TSK-500\",series:\"TSK Series\",capacity:350,power:55,desc:\"Mid-range PET granulator\"},\n      {name:\"TSK-600\",series:\"TSK Series\",capacity:500,power:75,desc:\"High-output PET granulator\"},\n      {name:\"TSK-800\",series:\"TSK Series\",capacity:800,power:90,desc:\"Heavy-duty PET granulator\"},\n      {name:\"TSK-1000\",series:\"TSK Series\",capacity:1200,power:132,desc:\"Industrial PET granulator\"}\n    ],\n    mixed: [\n      {name:\"5G KCP Plus-500\",series:\"5G KCP Plus\",capacity:350,power:45,desc:\"Mixed-material granulator\"},\n      {name:\"5G KCP Plus-600\",series:\"5G KCP Plus\",capacity:500,power:55,desc:\"Mixed-material mid-range\"},\n      {name:\"5G KCP Plus-800\",series:\"5G KCP Plus\",capacity:700,power:75,desc:\"Mixed-material high-output\"},\n      {name:\"5G KCP Plus-1000\",series:\"5G KCP Plus\",capacity:1000,power:110,desc:\"Mixed-material industrial\"},\n      {name:\"5G KCP Plus-1200\",series:\"5G KCP Plus\",capacity:1500,power:132,desc:\"Mixed-material max-capacity\"}\n    ]\n  };\n\n  \/* \u2500\u2500 Helpers \u2500\u2500 *\/\n  function fmt(n){\n    if(n>=1000000) return (n\/1000000).toFixed(1).replace(\/\\.0$\/,\"\")+\"M\";\n    if(n>=10000) return (n\/1000).toFixed(1).replace(\/\\.0$\/,\"\")+\"k\";\n    return n.toLocaleString(\"en-US\");\n  }\n\n  function getShift(){\n    var radios=document.querySelectorAll('#bx-capacity-plan-v1 input[name=\"cpShift\"]');\n    for(var i=0;i<radios.length;i++){if(radios[i].checked) return parseFloat(radios[i].value);}\n    return 8;\n  }\n\n  function getBuffer(){\n    var radios=document.querySelectorAll('#bx-capacity-plan-v1 input[name=\"cpBuffer\"]');\n    for(var i=0;i<radios.length;i++){if(radios[i].checked) return parseFloat(radios[i].value);}\n    return 0.20;\n  }\n\n  function findModels(material, requiredKgh){\n    var pool=models[material]||models.film;\n    \/\/ Sort by capacity ascending\n    pool=pool.slice().sort(function(a,b){return a.capacity-b.capacity;});\n    var primary=null, alt=null;\n    for(var i=0;i<pool.length;i++){\n      if(pool[i].capacity>=requiredKgh){\n        primary=pool[i];\n        if(i+1<pool.length) alt=pool[i+1];\n        break;\n      }\n    }\n    \/\/ If nothing covers it, recommend largest + alt=null\n    if(!primary){\n      primary=pool[pool.length-1];\n      alt=null;\n    }\n    return {primary:primary, alt:alt};\n  }\n\n  function buildRecCard(model, requiredKgh, isPrimary){\n    var headroom=((model.capacity-requiredKgh)\/requiredKgh*100);\n    var fitClass=headroom>=0?\"cp-fit-good\":\"cp-fit-over\";\n    var fitText=headroom>=0\n      ? \"+\"+headroom.toFixed(0)+\"% headroom above requirement\"\n      : \"Warning: \"+Math.abs(headroom).toFixed(0)+\"% below requirement\";\n\n    return '<div class=\"cp-rec-card '+(isPrimary?'cp-primary-rec':'')+'\">'\n      +'<span class=\"cp-rec-badge '+(isPrimary?'cp-badge-primary':'cp-badge-alt')+'\">'\n      +(isPrimary?'Recommended':'Size-Up Alternative')+'<\/span>'\n      +'<div class=\"cp-rec-model\">'+model.name+'<\/div>'\n      +'<div class=\"cp-rec-series\">'+model.series+' &mdash; '+model.desc+'<\/div>'\n      +'<div class=\"cp-rec-stats\">'\n      +'<div class=\"cp-rec-stat\"><span class=\"cp-stat-label\">Max Capacity<\/span><span class=\"cp-stat-val\">'+model.capacity+' kg\/h<\/span><\/div>'\n      +'<div class=\"cp-rec-stat\"><span class=\"cp-stat-label\">Motor Power<\/span><span class=\"cp-stat-val\">'+model.power+' kW<\/span><\/div>'\n      +'<div class=\"cp-rec-stat\"><span class=\"cp-stat-label\">Your Requirement<\/span><span class=\"cp-stat-val\">'+requiredKgh.toFixed(0)+' kg\/h<\/span><\/div>'\n      +'<\/div>'\n      +'<div class=\"cp-rec-fit '+fitClass+'\">'+fitText+'<\/div>'\n      +'<\/div>';\n  }\n\n  \/* \u2500\u2500 Main Calculation \u2500\u2500 *\/\n  function calculate(){\n    var dailyTarget=parseFloat(document.getElementById(\"cpDailyTarget\").value)||4000;\n    var shiftHours=getShift();\n    var buffer=getBuffer();\n    var material=document.getElementById(\"cpMaterial\").value;\n\n    \/\/ Uptime factor\n    var uptimeFactor=(shiftHours===24)?0.90:0.95;\n    var effectiveHours=shiftHours*uptimeFactor;\n\n    \/\/ Required kg\/h\n    var baseKgh=dailyTarget\/effectiveHours;\n    var withBuffer=baseKgh*(1+buffer);\n\n    \/\/ Find models\n    var match=findModels(material, withBuffer);\n    var primary=match.primary;\n    var alt=match.alt;\n\n    \/\/ Show results\n    var resultsEl=document.getElementById(\"cpResults\");\n    resultsEl.style.display=\"block\";\n\n    \/\/ \u2500\u2500 Capacity bar \u2500\u2500\n    var modelCap=primary.capacity;\n    var barMax=alt?alt.capacity*1.15:modelCap*1.3;\n    var targetPct=Math.min((baseKgh\/barMax)*100,95);\n    var bufferPct=Math.min((withBuffer\/barMax)*100,95);\n    var fillPct=Math.min((modelCap\/barMax)*100,100);\n\n    document.getElementById(\"cpBarFill\").style.width=fillPct+\"%\";\n    var targetMarker=document.getElementById(\"cpBarTarget\");\n    targetMarker.style.left=targetPct+\"%\";\n    targetMarker.setAttribute(\"data-label\",baseKgh.toFixed(0)+\" kg\/h\");\n    var bufMarker=document.getElementById(\"cpBarBuffered\");\n    bufMarker.style.left=bufferPct+\"%\";\n    bufMarker.setAttribute(\"data-label\",withBuffer.toFixed(0)+\" kg\/h\");\n\n    \/\/ \u2500\u2500 Recommendation cards \u2500\u2500\n    var recsEl=document.getElementById(\"cpRecs\");\n    var html=buildRecCard(primary, withBuffer, true);\n    if(alt) html+=buildRecCard(alt, withBuffer, false);\n    recsEl.innerHTML=html;\n\n    \/\/ \u2500\u2500 Production breakdown (at recommended model capacity, respecting shift\/uptime) \u2500\u2500\n    var opKgh=Math.min(withBuffer, modelCap); \/\/ realistic running rate\n    var dailyProd=opKgh*effectiveHours;\n    var weeklyProd=dailyProd*(shiftHours===24?7:shiftHours===16?6:5);\n    var monthlyProd=weeklyProd*4.33;\n    var annualProd=dailyProd*(shiftHours===24?350:shiftHours===16?300:260);\n\n    var bkEl=document.getElementById(\"cpBreakdown\");\n    bkEl.innerHTML=\n      '<div class=\"cp-bk-card\"><div class=\"cp-bk-val\">'+fmt(Math.round(dailyProd))+'<\/div><div class=\"cp-bk-unit\">kg \/ day<\/div><\/div>'\n     +'<div class=\"cp-bk-card\"><div class=\"cp-bk-val\">'+fmt(Math.round(weeklyProd))+'<\/div><div class=\"cp-bk-unit\">kg \/ week<\/div><\/div>'\n     +'<div class=\"cp-bk-card\"><div class=\"cp-bk-val\">'+fmt(Math.round(monthlyProd))+'<\/div><div class=\"cp-bk-unit\">kg \/ month<\/div><\/div>'\n     +'<div class=\"cp-bk-card\"><div class=\"cp-bk-val\">'+fmt(Math.round(annualProd))+'<\/div><div class=\"cp-bk-unit\">kg \/ year<\/div><\/div>';\n\n    \/\/ Smooth scroll to results\n    resultsEl.scrollIntoView({behavior:\"smooth\",block:\"start\"});\n  }\n\n  \/* \u2500\u2500 Event binding \u2500\u2500 *\/\n  document.getElementById(\"cpCalcBtn\").addEventListener(\"click\",calculate);\n\n  \/\/ Allow Enter key in number input\n  document.getElementById(\"cpDailyTarget\").addEventListener(\"keydown\",function(e){\n    if(e.key===\"Enter\"){e.preventDefault();calculate();}\n  });\n\n})();\n<\/script>\n<\/section>\n<\/div><\/div><\/div>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Capacity Planning Calculator Determine the right granulator capacity for your production targets Daily Production Target (kg\/day) Material Type PE\/PP FilmRigid FlakesPETMixed \/ Other Shift Type Single Shift8 hours Double Shift16 hours 24\/7 Operation24 hours Growth Buffer None0% Conservative+20% Aggressive+30% Calculate Required Capacity Capacity Overview Your base requirement With growth buffer Recommended model capacity Estimated Production [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":1895,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_gspb_post_css":"","footnotes":""},"class_list":["post-2512","page","type-page","status-publish","hentry"],"blocksy_meta":{"has_hero_section":"disabled","styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":6}},"_links":{"self":[{"href":"https:\/\/kitech-recycling.com\/pt\/wp-json\/wp\/v2\/pages\/2512","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kitech-recycling.com\/pt\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/kitech-recycling.com\/pt\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/kitech-recycling.com\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kitech-recycling.com\/pt\/wp-json\/wp\/v2\/comments?post=2512"}],"version-history":[{"count":0,"href":"https:\/\/kitech-recycling.com\/pt\/wp-json\/wp\/v2\/pages\/2512\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/kitech-recycling.com\/pt\/wp-json\/wp\/v2\/pages\/1895"}],"wp:attachment":[{"href":"https:\/\/kitech-recycling.com\/pt\/wp-json\/wp\/v2\/media?parent=2512"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}