{"id":34151,"date":"2026-06-30T10:10:06","date_gmt":"2026-06-30T08:10:06","guid":{"rendered":"https:\/\/strate9y.com\/strategicke-nastroje\/swot-analyza-online\/"},"modified":"2026-07-06T13:53:26","modified_gmt":"2026-07-06T11:53:26","slug":"swot-analyza-online","status":"publish","type":"page","link":"https:\/\/strate9y.com\/sk\/strategicke-nastroje\/swot-analyza-online\/","title":{"rendered":"SWOT anal\u00fdza online"},"content":{"rendered":"\n<!-- STRATE9Y(R) N\u00c1STROJ: SWOT ANAL\u00ddZA + IFE\/EFE \/ WordPress safe build s diakritikou -->\n<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Manrope:wght@400;500;600;700;800;900&display=swap');\n.str9-swot,.str9-swot *{box-sizing:border-box;font-family:\"Manrope\",system-ui,sans-serif!important}\n.str9-swot{--black:#080808;--red:#E8080F;--red-dim:rgba(232,8,15,.08);--red-border:rgba(232,8,15,.25);--bg:#F7F7F7;--surface:#fff;--border:#E8E8E8;--text:#111;--muted:#777;--light:#bbb;--green:#15803d;--orange:#d97706;--blue:#2563eb;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;width:100%;overflow-x:hidden}\n.str9-swot a{text-decoration:none}\n.str9-swot-wrap{max-width:1180px;margin:0 auto}\n.str9-swot-hero{background:radial-gradient(circle at 78% 38%,rgba(232,8,15,.30),transparent 30%),linear-gradient(135deg,#050505 0%,#101014 52%,#050505 100%);color:#fff;padding:clamp(76px,8vw,120px) 24px}\n.str9-swot-kicker{color:var(--red);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:13px;margin-bottom:16px}\n.str9-swot-hero h1{max-width:930px;font-size:clamp(40px,5.5vw,72px);line-height:.98;margin:0 0 22px;letter-spacing:-.06em;font-weight:900;color:#fff!important}\n.str9-swot-hero h1 span{color:var(--red)!important}\n.str9-swot-hero p{max-width:780px;font-size:clamp(18px,2vw,22px);line-height:1.55;color:rgba(255,255,255,.82)!important;margin:0 0 32px}\n.str9-swot-actions{display:flex;gap:14px;flex-wrap:wrap}\n.str9-swot-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--red);color:#fff!important;padding:15px 24px;border-radius:12px;font-weight:900;box-shadow:0 16px 38px rgba(232,8,15,.28);border:0;cursor:pointer}\n.str9-swot-btn.secondary{background:rgba(255,255,255,.10);box-shadow:none;border:1px solid rgba(255,255,255,.18)}\n.str9-swot-section{padding:clamp(58px,7vw,88px) 24px;background:#fff}\n.str9-swot-section.soft{background:#f6f6f4}\n.str9-swot-title{max-width:820px;margin:0 auto 34px;text-align:center}\n.str9-swot-title h2{font-size:clamp(30px,4vw,48px);line-height:1.08;letter-spacing:-.05em;margin-bottom:14px;font-weight:900}\n.str9-swot-title p{color:var(--muted);font-size:17px;line-height:1.65}\n.str9-swot-two{display:grid;grid-template-columns:1fr 1fr;gap:28px}\n.str9-swot-card{background:#fff;border:1px solid rgba(0,0,0,.09);border-radius:24px;padding:30px;box-shadow:0 16px 42px rgba(0,0,0,.045)}\n.str9-swot-card h3{font-size:24px;line-height:1.15;letter-spacing:-.04em;margin-bottom:14px;font-weight:900}\n.str9-swot-card p,.str9-swot-card li{color:var(--muted);font-size:15px;line-height:1.65}\n.str9-swot-card ul{padding-left:20px;margin-top:12px}\n.str9-swot-link{color:var(--red);font-weight:900}\n.str9-swot-how{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}\n.str9-swot-how-card{background:#fff;border:1px solid rgba(0,0,0,.09);border-radius:22px;padding:24px;box-shadow:0 14px 36px rgba(0,0,0,.04)}\n.str9-swot-num{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font-weight:900;margin-bottom:14px}\n.str9-swot-how-card strong{display:block;font-size:17px;margin-bottom:8px}\n.str9-swot-how-card p{color:var(--muted);font-size:14px;line-height:1.55}\n.str9-swot-app-intro{background:#080808;color:#fff;padding:34px 24px;text-align:center}\n.str9-swot-app-intro h2{font-size:clamp(28px,4vw,44px);letter-spacing:-.05em;font-weight:900;margin-bottom:10px;color:#fff!important}\n.str9-swot-app-intro p{color:rgba(255,255,255,.72)!important;font-size:16px}\n.str9-swot-topbar{background:var(--black);padding:14px 32px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20}\n.str9-swot-top-left{display:flex;align-items:center;gap:20px}\n.str9-swot-back{color:#777;font-size:13px;font-weight:600}\n.str9-swot-top-title{color:#fff;font-size:14px;font-weight:800}\n.str9-swot-top-title span{color:var(--red)}\n.str9-swot-top-right{display:flex;align-items:center;gap:12px}\n.str9-swot-progress-wrap{width:140px;height:4px;background:#2A2A2A;border-radius:2px;overflow:hidden}\n.str9-swot-progress{height:100%;background:var(--red);width:0%;transition:.3s}\n.str9-swot-progress-text{color:#777;font-size:12px;font-weight:700;min-width:52px;text-align:right}\n.str9-swot-export{background:var(--red);color:#fff;border:0;padding:9px 18px;border-radius:6px;font-size:13px;font-weight:800;cursor:pointer}\n.str9-swot-export:disabled{opacity:.4;cursor:not-allowed}\n.str9-swot-app{display:grid;grid-template-columns:430px 1fr;min-height:820px}\n.str9-swot-sidebar{background:#fff;border-right:1px solid var(--border);min-height:820px}\n.str9-swot-side-head{padding:28px 28px 20px;border-bottom:1px solid var(--border)}\n.str9-swot-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(232,8,15,.1);border:1px solid var(--red-border);border-radius:100px;padding:3px 10px;font-size:11px;font-weight:800;color:var(--red);margin-bottom:10px}\n.str9-swot-side-head h2{font-size:20px;font-weight:900;letter-spacing:-.5px;margin-bottom:6px}\n.str9-swot-side-head p{color:var(--muted);font-size:13px;line-height:1.5}\n.str9-swot-tabs{padding:16px 20px;border-bottom:1px solid var(--border);display:grid;grid-template-columns:repeat(4,1fr);gap:7px}\n.str9-swot-tab{border:2px solid var(--border);background:#fff;border-radius:12px;padding:10px 6px;cursor:pointer;text-align:center}\n.str9-swot-tab.active{border-color:var(--red);background:var(--red-dim)}\n.str9-swot-tab-id{font-size:20px;font-weight:900;line-height:1}\n.str9-swot-tab-label{font-size:10px;font-weight:900;color:var(--muted);line-height:1.15;margin-top:3px}\n.str9-swot-tab-count{font-size:10px;color:var(--light);margin-top:2px}\n.str9-swot-panel{padding:28px}\n.str9-swot-q-eyebrow{font-size:10px;font-weight:900;letter-spacing:2px;text-transform:uppercase;color:var(--red);margin-bottom:8px}\n.str9-swot-q-title{font-size:18px;font-weight:900;letter-spacing:-.5px;margin-bottom:8px;line-height:1.35}\n.str9-swot-q-desc{color:var(--muted);font-size:13px;margin-bottom:18px;line-height:1.6}\n.str9-swot-add{background:#f7f7f7;border:1px solid var(--border);border-radius:16px;padding:16px;margin-bottom:16px}\n.str9-swot-add-row{display:flex;gap:8px}\n.str9-swot-input{flex:1;min-width:0;padding:12px 14px;border:2px solid var(--border);border-radius:9px;font-size:13px;outline:none;background:#fff}\n.str9-swot-input:focus{border-color:var(--red)}\n.str9-swot-add-btn{padding:12px 14px;background:#080808;color:#fff;border:0;border-radius:9px;font-weight:900;cursor:pointer}\n.str9-swot-chip-label{font-size:11px;font-weight:900;letter-spacing:.08em;color:var(--light);text-transform:uppercase;margin:14px 0 8px}\n.str9-swot-chips{display:flex;gap:7px;flex-wrap:wrap}\n.str9-swot-chip{border:1.5px solid var(--border);background:#fff;color:var(--muted);border-radius:100px;padding:6px 11px;font-size:11px;font-weight:800;cursor:pointer}\n.str9-swot-chip:hover{border-color:var(--red);color:var(--red);background:var(--red-dim)}\n.str9-swot-items{display:flex;flex-direction:column;gap:12px}\n.str9-swot-item{background:#fff;border:1px solid var(--border);border-left:5px solid var(--red);border-radius:14px;padding:16px;box-shadow:0 8px 22px rgba(0,0,0,.035)}\n.str9-swot-item-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px}\n.str9-swot-rank{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font-size:11px;font-weight:900;flex-shrink:0}\n.str9-swot-name{font-size:14px;font-weight:900;line-height:1.35;flex:1}\n.str9-swot-del{border:0;background:transparent;color:var(--light);font-size:20px;line-height:1;cursor:pointer}\n.str9-swot-del:hover{color:var(--red)}\n.str9-swot-score-grid{display:grid;grid-template-columns:1fr;gap:12px}\n.str9-swot-score{background:#f7f7f7;border:1px solid var(--border);border-radius:12px;padding:14px}\n.str9-swot-score-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}\n.str9-swot-score-head strong{font-size:13px;color:#111;font-weight:900}\n.str9-swot-score-head span{font-size:20px;line-height:1;font-weight:900;color:var(--red)}\n.str9-swot-help{font-size:11px;color:var(--muted);margin-bottom:9px}\n.str9-swot-rating{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}\n.str9-swot-rate{height:34px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--muted);font-size:12px;font-weight:900;cursor:pointer}\n.str9-swot-rate.selected{background:var(--red);border-color:var(--red);color:#fff}\n.str9-swot-empty{color:var(--light);font-size:12px;font-style:italic;text-align:center;padding:18px;border:1px dashed var(--border);border-radius:12px}\n.str9-swot-results{padding:28px;overflow-y:auto}\n.str9-swot-results-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}\n.str9-swot-results-title h3{font-size:13px;font-weight:800;color:var(--muted);letter-spacing:.5px;text-transform:uppercase}\n.str9-swot-fill-hint{font-size:12px;color:var(--light)}\n.str9-swot-summary{background:#080808;color:#fff;border-radius:18px;padding:26px;margin-bottom:20px}\n.str9-swot-summary-title{color:rgba(255,255,255,.45);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px}\n.str9-swot-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}\n.str9-swot-kpi{background:rgba(255,255,255,.06);border-radius:12px;padding:16px 12px;text-align:center}\n.str9-swot-kpi-num{font-size:34px;font-weight:900;line-height:1;color:var(--red);margin-bottom:6px}\n.str9-swot-kpi-label{font-size:10px;font-weight:900;color:rgba(255,255,255,.45);text-transform:uppercase;letter-spacing:.05em}\n.str9-swot-diagnosis{background:rgba(255,255,255,.045);border-left:3px solid var(--red);border-radius:10px;padding:16px;color:rgba(255,255,255,.72);font-size:14px;line-height:1.65}\n.str9-swot-matrix,.str9-swot-table-card,.str9-swot-strategy{background:#fff;border:1px solid var(--border);border-radius:18px;padding:24px;box-shadow:0 14px 36px rgba(0,0,0,.035);margin-bottom:20px}\n.str9-swot-matrix h4,.str9-swot-table-card h4,.str9-swot-strategy h4{font-size:18px;font-weight:900;margin-bottom:6px;letter-spacing:-.03em}\n.str9-swot-matrix p,.str9-swot-table-card p,.str9-swot-strategy p{color:var(--muted);font-size:12px;line-height:1.5;margin-bottom:16px}\n.str9-swot-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}\n.str9-swot-box{border:1px solid var(--border);border-radius:14px;background:#f7f7f7;padding:16px}\n.str9-swot-box-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}\n.str9-swot-box-id{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font-size:14px;font-weight:900}\n.str9-swot-box-title{font-size:14px;font-weight:900}\n.str9-swot-mini{padding:7px 0;border-top:1px solid var(--border);display:flex;gap:8px}\n.str9-swot-mini:first-of-type{border-top:0}\n.str9-swot-mini span:first-child{font-size:11px;font-weight:900;color:var(--red);width:18px}\n.str9-swot-mini strong{font-size:12px;line-height:1.35;flex:1}\n.str9-swot-mini small{font-size:11px;color:var(--muted);font-weight:800}\n.str9-swot-row{display:grid;grid-template-columns:42px 1fr 74px 74px 84px;gap:10px;align-items:center;background:#f7f7f7;border:1px solid var(--border);border-radius:12px;padding:10px 12px;font-size:12px;color:var(--muted);font-weight:700}\n.str9-swot-row.head{background:#080808;color:#fff;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}\n.str9-swot-row .name{color:#111;font-weight:900}\n.str9-swot-rec-list{display:grid;gap:10px}\n.str9-swot-rec{background:#f7f7f7;border-left:4px solid var(--red);border-radius:0 12px 12px 0;padding:14px}\n.str9-swot-rec strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--red);margin-bottom:5px}\n.str9-swot-rec p{margin:0;color:#555;font-size:13px;line-height:1.55}\n.str9-swot-export-big{width:100%;padding:16px;background:var(--red);color:#fff;border:0;border-radius:10px;font-size:16px;font-weight:800;cursor:pointer;margin-bottom:12px}\n.str9-swot-rec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}\n.str9-swot-next-card{background:#fff;border:1px solid rgba(0,0,0,.09);border-radius:22px;padding:24px}\n.str9-swot-next-card h3{font-size:20px;margin-bottom:10px;letter-spacing:-.03em;font-weight:900}\n.str9-swot-next-card p{color:var(--muted);line-height:1.6;margin-bottom:18px}\n.str9-swot-next-card a{color:var(--red);font-weight:900}\n.str9-swot-dark,.str9-swot-dark h2,.str9-swot-dark .str9-swot-kicker{color:#fff!important}\n.str9-swot-dark p{color:rgba(255,255,255,.78)!important}\n.str9-swot-faq{max-width:900px;margin:0 auto}\n.str9-swot-faq details{background:#fff;border:1px solid rgba(0,0,0,.09);border-radius:16px;padding:20px 22px;margin-bottom:12px}\n.str9-swot-faq summary{cursor:pointer;font-weight:900;font-size:17px}\n.str9-swot-faq p{color:var(--muted);line-height:1.6;margin:14px 0 0}\n.str9-swot button,.str9-swot input{pointer-events:auto!important}\n.str9-swot button{appearance:none;-webkit-appearance:none}\n.str9-swot-input{color:#111!important;background:#fff!important}\n@media(max-width:1180px){.str9-swot-app{grid-template-columns:1fr}.str9-swot-sidebar{min-height:auto}.str9-swot-two,.str9-swot-how,.str9-swot-rec-grid{grid-template-columns:1fr 1fr}}\n@media(max-width:760px){.str9-swot-actions{flex-direction:column}.str9-swot-btn{width:100%}.str9-swot-topbar{padding:12px 16px;flex-direction:column;align-items:flex-start;gap:10px}.str9-swot-top-left,.str9-swot-top-right{width:100%;justify-content:space-between}.str9-swot-progress-wrap{display:none}.str9-swot-results{padding:16px}.str9-swot-kpi-grid,.str9-swot-grid{grid-template-columns:1fr}.str9-swot-row,.str9-swot-row.head{grid-template-columns:34px 1fr 70px}.str9-swot-row span:nth-child(4),.str9-swot-row span:nth-child(5){display:none}.str9-swot-two,.str9-swot-how,.str9-swot-rec-grid{grid-template-columns:1fr}}\n<\/style>\n\n<div class=\"str9-swot\" id=\"str9-swot-tool\">\n\n  <section class=\"str9-swot-hero\">\n    <div class=\"str9-swot-wrap\">\n      <div class=\"str9-swot-kicker\">STRATE9Y\u00ae n\u00e1stroje \u00b7 SWOT anal\u00fdza online + IFE\/EFE<\/div>\n      <h1>Preme\u0148te SWOT z tabu\u013eky na <span>strategick\u00e9 rozhodnutie<\/span>.<\/h1>\n      <p>Zadajte faktory S, W, O a T. Pri ka\u017edom ur\u010dte v\u00e1hu a rating. V\u00fdsledkom je prioritizovan\u00e1 SWOT, IFE\/EFE sk\u00f3re, Paretova hranica a odpor\u00fa\u010dania SO\/WO\/ST\/WT.<\/p>\n      <div class=\"str9-swot-actions\">\n        <a class=\"str9-swot-btn\" href=\"#nastroj-swot\">Spusti\u0165 n\u00e1stroj \u2193<\/a>\n        <a class=\"str9-swot-btn secondary\" href=\"\/swot-analyza\/\">Pre\u010d\u00edta\u0165 n\u00e1vod<\/a>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"str9-swot-section\">\n    <div class=\"str9-swot-wrap\">\n      <div class=\"str9-swot-two\">\n        <div class=\"str9-swot-card\">\n          <h3>\u010co tento n\u00e1stroj rie\u0161i?<\/h3>\n          <p>Klasick\u00e1 SWOT \u010dasto skon\u010d\u00ed ako zoznam n\u00e1zorov. T\u00e1to verzia prid\u00e1va v\u00e1hu, rating, IFE\/EFE matice a Paretovo pravidlo, tak\u017ee okam\u017eite vid\u00edte, ktor\u00e9 faktory maj\u00fa najv\u00e4\u010d\u0161\u00ed strategick\u00fd vplyv.<\/p>\n          <p style=\"margin-top:14px;\">Potrebujete najsk\u00f4r te\u00f3riu a pr\u00edklady? <a class=\"str9-swot-link\" href=\"\/swot-analyza\/\">Pre\u010d\u00edtajte si \u010dl\u00e1nok o SWOT anal\u00fdze.<\/a><\/p>\n        <\/div>\n        <div class=\"str9-swot-card\">\n          <h3>Kedy ju pou\u017ei\u0165?<\/h3>\n          <ul>\n            <li>ke\u010f chcete prepoji\u0165 intern\u00fa a extern\u00fa anal\u00fdzu,<\/li>\n            <li>ke\u010f potrebujete ur\u010di\u0165 priority, nielen vytvori\u0165 zoznam faktorov,<\/li>\n            <li>ke\u010f chcete nadviaza\u0165 na PESTLE, VRIO alebo Porterov model,<\/li>\n            <li>ke\u010f pripravujete strategick\u00fd pl\u00e1n,<\/li>\n            <li>ke\u010f sa potrebujete rozhodn\u00fa\u0165 medzi strat\u00e9giami SO\/WO\/ST\/WT.<\/li>\n          <\/ul>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"str9-swot-section soft\">\n    <div class=\"str9-swot-wrap\">\n      <div class=\"str9-swot-title\">\n        <h2>Ako pracova\u0165 s n\u00e1strojom<\/h2>\n        <p>Najsk\u00f4r odde\u013ete intern\u00e9 faktory od extern\u00fdch. Siln\u00e9 a slab\u00e9 str\u00e1nky s\u00fa vo vn\u00fatri firmy. Pr\u00edle\u017eitosti a hrozby prich\u00e1dzaj\u00fa zvonka.<\/p>\n      <\/div>\n      <div class=\"str9-swot-how\">\n        <div class=\"str9-swot-how-card\"><div class=\"str9-swot-num\">1<\/div><strong>Zadajte faktory<\/strong><p>Vypl\u0148te S, W, O a T. Ka\u017ed\u00fd faktor by mal by\u0165 konkr\u00e9tny.<\/p><\/div>\n        <div class=\"str9-swot-how-card\"><div class=\"str9-swot-num\">2<\/div><strong>Nastavte v\u00e1hu<\/strong><p>V\u00e1ha vyjadruje relat\u00edvnu d\u00f4le\u017eitos\u0165 faktora.<\/p><\/div>\n        <div class=\"str9-swot-how-card\"><div class=\"str9-swot-num\">3<\/div><strong>Nastavte rating<\/strong><p>Rating vyjadruje silu faktora alebo schopnos\u0165 firmy reagova\u0165.<\/p><\/div>\n        <div class=\"str9-swot-how-card\"><div class=\"str9-swot-num\">4<\/div><strong>Vyberte strat\u00e9giu<\/strong><p>V\u00fdsledok uk\u00e1\u017ee, \u010di je vhodnej\u0161ia strat\u00e9gia SO, WO, ST alebo WT.<\/p><\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"str9-swot-app-intro\" id=\"nastroj-swot\">\n    <div class=\"str9-swot-wrap\">\n      <h2>Spustite SWOT anal\u00fdzu<\/h2>\n      <p>Pridajte faktory v\u013eavo. Vpravo sa automaticky vytvor\u00ed matica, IFE\/EFE sk\u00f3re a odpor\u00fa\u010dania.<\/p>\n    <\/div>\n  <\/section>\n\n  <div class=\"str9-swot-topbar\">\n    <div class=\"str9-swot-top-left\">\n      <a href=\"https:\/\/strate9y.com\/strategicke-nastroje\/\" class=\"str9-swot-back\">\u2190 N\u00e1stroje<\/a>\n      <span class=\"str9-swot-top-title\">STRATE<span>9<\/span>Y\u00ae \u00b7 SWOT online + IFE\/EFE<\/span>\n    <\/div>\n    <div class=\"str9-swot-top-right\">\n      <div class=\"str9-swot-progress-wrap\"><div class=\"str9-swot-progress\" data-progress><\/div><\/div>\n      <span class=\"str9-swot-progress-text\" data-progress-text>0 faktorov<\/span>\n      <button class=\"str9-swot-export\" data-export disabled>\u2193 PDF<\/button>\n    <\/div>\n  <\/div>\n\n  <div class=\"str9-swot-app\">\n    <div class=\"str9-swot-sidebar\">\n      <div class=\"str9-swot-side-head\">\n        <div class=\"str9-swot-badge\">\ud83e\udded Intern\u00e9 + extern\u00e9 faktory<\/div>\n        <h2>SWOT anal\u00fdza<\/h2>\n        <p>Pri ka\u017edom faktore nastavte v\u00e1hu a rating. V\u00fdsledn\u00e9 sk\u00f3re = v\u00e1ha \u00d7 rating.<\/p>\n      <\/div>\n      <div class=\"str9-swot-tabs\" data-tabs><\/div>\n      <div class=\"str9-swot-panel\" data-panel>\n        <div class=\"str9-swot-empty\">N\u00e1stroj sa na\u010d\u00edtava\u2026<\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"str9-swot-results\">\n      <div class=\"str9-swot-results-title\">\n        <h3>V\u00fdsledky SWOT anal\u00fdzy<\/h3>\n        <span class=\"str9-swot-fill-hint\" data-fill-hint>Pridajte prv\u00fd faktor v\u013eavo \u2192<\/span>\n      <\/div>\n\n      <div class=\"str9-swot-summary\">\n        <div class=\"str9-swot-summary-title\">Mana\u017e\u00e9rske zhrnutie<\/div>\n        <div class=\"str9-swot-kpi-grid\">\n          <div class=\"str9-swot-kpi\"><div class=\"str9-swot-kpi-num\" data-kpi-count>0<\/div><div class=\"str9-swot-kpi-label\">Faktorov<\/div><\/div>\n          <div class=\"str9-swot-kpi\"><div class=\"str9-swot-kpi-num\" data-kpi-ife>0.00<\/div><div class=\"str9-swot-kpi-label\">IFE sk\u00f3re<\/div><\/div>\n          <div class=\"str9-swot-kpi\"><div class=\"str9-swot-kpi-num\" data-kpi-efe>0.00<\/div><div class=\"str9-swot-kpi-label\">EFE sk\u00f3re<\/div><\/div>\n          <div class=\"str9-swot-kpi\"><div class=\"str9-swot-kpi-num\" data-kpi-pareto>0<\/div><div class=\"str9-swot-kpi-label\">Pareto TOP<\/div><\/div>\n        <\/div>\n        <div class=\"str9-swot-diagnosis\" data-diagnosis>Pridajte aspo\u0148 dva faktory na vyhodnotenie.<\/div>\n      <\/div>\n\n      <div class=\"str9-swot-matrix\">\n        <h4>SWOT matice<\/h4>\n        <p>Faktory s\u00fa v ka\u017edom kvadrante zoraden\u00e9 pod\u013ea strategick\u00e9ho vplyvu.<\/p>\n        <div class=\"str9-swot-grid\" data-matrix><\/div>\n      <\/div>\n\n      <div class=\"str9-swot-table-card\">\n        <h4>Priority pod\u013ea vplyvu<\/h4>\n        <p>Zoraden\u00e9 naprie\u010d celou SWOT. Paretova hranica ukazuje faktory tvoriace hlavn\u00fa \u010das\u0165 vplyvu.<\/p>\n        <div class=\"str9-swot-table\" data-table><\/div>\n      <\/div>\n\n      <div class=\"str9-swot-strategy\">\n        <h4>Strategick\u00e9 odpor\u00fa\u010dania<\/h4>\n        <p>Na z\u00e1klade IFE\/EFE sk\u00f3re a najsilnej\u0161\u00edch faktorov.<\/p>\n        <div class=\"str9-swot-rec-list\" data-recs><\/div>\n      <\/div>\n\n      <button class=\"str9-swot-export-big\" data-export-big style=\"display:none;\">\u2193 Stiahnu\u0165 SWOT anal\u00fdzu ako PDF<\/button>\n    <\/div>\n  <\/div>\n\n  <section class=\"str9-swot-section soft\">\n    <div class=\"str9-swot-wrap\">\n      <div class=\"str9-swot-title\"><h2>Odpor\u00fa\u010dan\u00fd \u010fal\u0161\u00ed krok<\/h2><p>SWOT je prep\u00e1jac\u00ed n\u00e1stroj. Nadv\u00e4zuje na intern\u00e9 aj extern\u00e9 anal\u00fdzy.<\/p><\/div>\n      <div class=\"str9-swot-rec-grid\">\n        <div class=\"str9-swot-next-card\"><h3>Ch\u00fdbaj\u00fa extern\u00e9 faktory?<\/h3><p>Dopl\u0148te pr\u00edle\u017eitosti a hrozby pomocou PESTLE anal\u00fdzy.<\/p><a href=\"https:\/\/strate9y.com\/sk\/od-pest-k-pestle-analyza-makroprostredi\/pestle-analyza\/\">Pokra\u010dova\u0165 na PESTLE \u2192<\/a><\/div>\n        <div class=\"str9-swot-next-card\"><h3>Ch\u00fdbaj\u00fa intern\u00e9 faktory?<\/h3><p>Overte siln\u00e9 str\u00e1nky pomocou VRIO alebo hodnotov\u00e9ho re\u0165azca.<\/p><a href=\"\/nastroje\/vrio-analyza\/\">Pokra\u010dova\u0165 na VRIO \u2192<\/a><\/div>\n        <div class=\"str9-swot-next-card\"><h3>Rie\u0161ite priority?<\/h3><p>Ak je faktorov ve\u013ea, pou\u017eite Paretovu anal\u00fdzu.<\/p><a href=\"\/nastroje\/paretova-analyza\/\">Pokra\u010dova\u0165 na Paretovu anal\u00fdzu \u2192<\/a><\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"str9-swot-section str9-swot-dark\" style=\"background:#080808;\">\n    <div class=\"str9-swot-wrap\">\n      <div class=\"str9-swot-title\">\n        <div class=\"str9-swot-kicker\">\u010co \u010falej?<\/div>\n        <h2>SWOT uk\u00e1\u017ee smer. Diagnostika uk\u00e1\u017ee, kde za\u010da\u0165.<\/h2>\n        <p>STRATE9Y\u00ae Biznis diagnostika pom\u00f4\u017ee premeni\u0165 siln\u00e9 a slab\u00e9 str\u00e1nky, pr\u00edle\u017eitosti a hrozby na konkr\u00e9tny ak\u010dn\u00fd pl\u00e1n.<\/p>\n        <div style=\"margin-top:28px;\"><a class=\"str9-swot-btn\" href=\"https:\/\/strate9y.com\/strate9y-byznys-diagnostika\/\">Chcem STRATE9Y\u00ae diagnostiku \u2192<\/a><\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"str9-swot-section soft\">\n    <div class=\"str9-swot-wrap\">\n      <div class=\"str9-swot-title\"><h2>FAQ<\/h2><\/div>\n      <div class=\"str9-swot-faq\">\n        <details><summary>\u010co patr\u00ed do internej \u010dasti SWOT?<\/summary><p>Siln\u00e9 a slab\u00e9 str\u00e1nky. Ide o faktory, ktor\u00e9 firma m\u00f4\u017ee priamo ovplyvni\u0165: zdroje, procesy, \u013eudia, zna\u010dka, know-how, financie.<\/p><\/details>\n        <details><summary>\u010co patr\u00ed do externej \u010dasti SWOT?<\/summary><p>Pr\u00edle\u017eitosti a hrozby. Ide o faktory mimo firmy: trh, konkurencia, legislat\u00edva, technol\u00f3gie, spr\u00e1vanie z\u00e1kazn\u00edkov, ekonomika.<\/p><\/details>\n        <details><summary>\u010co znamen\u00e1 IFE\/EFE?<\/summary><p>IFE hodnot\u00ed intern\u00e9 faktory, EFE extern\u00e9 faktory. Sk\u00f3re nad 2,5 zvy\u010dajne znamen\u00e1 lep\u0161iu poz\u00edciu alebo reakciu.<\/p><\/details>\n      <\/div>\n    <\/div>\n  <\/section>\n<\/div>\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/jspdf\/2.5.1\/jspdf.umd.min.js\"><\/script>\n\n<script>\n(function(){\n  function AND(a,b){ return a ? b : false; }\n\n  function startSwot(){\n    const root=document.getElementById('str9-swot-tool');\n    if(!root || root.dataset.initialized==='true') return;\n    root.dataset.initialized='true';\n\n    const CATS=[\n      {\n        id:'S',\n        label:'Siln\u00e9 str\u00e1nky',\n        subtitle:'\u010co rob\u00edte lep\u0161ie ako ostatn\u00ed?',\n        color:'#15803d',\n        hint:'Intern\u00fd pozit\u00edvny faktor. M\u00e1te ho pod kontrolou.',\n        ratingHint:'4 = v\u00fdrazn\u00e1 v\u00fdhoda',\n        examples:['Siln\u00e1 zna\u010dka','Know-how t\u00edmu','Vern\u00ed z\u00e1kazn\u00edci','N\u00edzke n\u00e1klady','R\u00fdchle dodanie']\n      },\n      {\n        id:'W',\n        label:'Slab\u00e9 str\u00e1nky',\n        subtitle:'\u010co v\u00e1s brzd\u00ed alebo stoj\u00ed viac?',\n        color:'#d97706',\n        hint:'Intern\u00fd negat\u00edvny faktor. Ide o slabinu vo vn\u00fatri firmy.',\n        ratingHint:'4 = kritick\u00e1 slabina',\n        examples:['N\u00edzka mar\u017ea','Z\u00e1vislos\u0165 od majite\u013ea','Slab\u00fd web','Ch\u00fdbaj\u00face CRM','\u00dazky mix']\n      },\n      {\n        id:'O',\n        label:'Pr\u00edle\u017eitosti',\n        subtitle:'\u010co pon\u00faka trh alebo prostredie?',\n        color:'#2563eb',\n        hint:'Extern\u00fd pozit\u00edvny faktor. Prich\u00e1dza z okolia firmy.',\n        ratingHint:'4 = ve\u013ek\u00e1 pr\u00edle\u017eitos\u0165',\n        examples:['Rast\u00faci dopyt','Nov\u00fd segment','Oslaben\u00e1 konkurencia','Technologick\u00fd trend','Grant']\n      },\n      {\n        id:'T',\n        label:'Hrozby',\n        subtitle:'\u010co v\u00e1s m\u00f4\u017ee ohrozi\u0165 zvonka?',\n        color:'#dc2626',\n        hint:'Extern\u00fd negat\u00edvny faktor. Prich\u00e1dza z okolia firmy.',\n        ratingHint:'4 = existen\u010dn\u00e1 hrozba',\n        examples:['Nov\u00e1 konkurencia','Zdra\u017eovanie vstupov','Regula\u010dn\u00e1 zmena','Substit\u00faty','Pokles k\u00fapnej sily']\n      }\n    ];\n\n    let active='S';\n    let nextId=1;\n    let factors={S:[],W:[],O:[],T:[]};\n\n    const tabs=root.querySelector('[data-tabs]');\n    const panel=root.querySelector('[data-panel]');\n    const progress=root.querySelector('[data-progress]');\n    const progressText=root.querySelector('[data-progress-text]');\n    const exportBtn=root.querySelector('[data-export]');\n    const exportBig=root.querySelector('[data-export-big]');\n    const fillHint=root.querySelector('[data-fill-hint]');\n\n    function esc(t){\n      const d=document.createElement('div');\n      d.textContent=t==null?'':String(t);\n      return d.innerHTML;\n    }\n\n    function cat(id){\n      return CATS.find(c=>c.id===id) || CATS[0];\n    }\n\n    function score(f){\n      return Math.round(Number(f.weight)*Number(f.rating)*100)\/100;\n    }\n\n    function sorted(id){\n      return factors[id].slice().sort((a,b)=>score(b)-score(a));\n    }\n\n    function allItems(){\n      return CATS.flatMap(c=>sorted(c.id).map(f=>({\n        ...f,\n        cat:c\n      }))).sort((a,b)=>score(b)-score(a));\n    }\n\n    function sum(list){\n      return Math.round(list.reduce((s,f)=>s+score(f),0)*100)\/100;\n    }\n\n    function totalCount(){\n      return Object.values(factors).reduce((s,list)=>s+list.length,0);\n    }\n\n    function ife(){\n      return sum(factors.S)+sum(factors.W);\n    }\n\n    function efe(){\n      return sum(factors.O)+sum(factors.T);\n    }\n\n    function paretoCount(items){\n      if(!items.length) return 0;\n      const total=items.reduce((s,f)=>s+score(f),0);\n      if(total<=0) return 0;\n      let cumulative=0;\n      for(let i=0;i<items.length;i++){\n        cumulative+=score(items[i]);\n        if(cumulative\/total>=0.8) return i+1;\n      }\n      return items.length;\n    }\n\n    function buildTabs(){\n      tabs.innerHTML='';\n      CATS.forEach(c=>{\n        const btn=document.createElement('button');\n        btn.type='button';\n        btn.className='str9-swot-tab'+(active===c.id?' active':'');\n        btn.innerHTML=\n          '<div class=\"str9-swot-tab-id\" style=\"color:'+c.color+'\">'+c.id+'<\/div>'+\n          '<div class=\"str9-swot-tab-label\">'+c.label+'<\/div>'+\n          '<div class=\"str9-swot-tab-count\">'+factors[c.id].length+' polo\u017eiek<\/div>';\n        btn.addEventListener('click',()=>{\n          active=c.id;\n          renderAll();\n        });\n        tabs.appendChild(btn);\n      });\n    }\n\n    function ratingButtons(f,key,values){\n      const wrap=document.createElement('div');\n      wrap.className='str9-swot-rating';\n\n      values.forEach(value=>{\n        const b=document.createElement('button');\n        b.type='button';\n        b.className='str9-swot-rate'+(Number(f[key])===Number(value)?' selected':'');\n        b.textContent=value;\n        b.addEventListener('click',()=>{\n          updateFactor(f.id,key,Number(value));\n        });\n        wrap.appendChild(b);\n      });\n\n      return wrap;\n    }\n\n    function renderPanel(){\n      const c=cat(active);\n      const list=sorted(active);\n      panel.innerHTML='';\n\n      const eyebrow=document.createElement('div');\n      eyebrow.className='str9-swot-q-eyebrow';\n      eyebrow.textContent=c.id+' \u00b7 '+c.label;\n\n      const title=document.createElement('div');\n      title.className='str9-swot-q-title';\n      title.textContent=c.subtitle;\n\n      const desc=document.createElement('div');\n      desc.className='str9-swot-q-desc';\n      desc.innerHTML='<strong style=\"color:'+c.color+'\">'+c.hint+'<\/strong> Naj\u010dastej\u0161ou chybou vo SWOT je mie\u0161anie intern\u00fdch a extern\u00fdch faktorov.';\n\n      const addBox=document.createElement('div');\n      addBox.className='str9-swot-add';\n\n      const addRow=document.createElement('div');\n      addRow.className='str9-swot-add-row';\n\n      const input=document.createElement('input');\n      input.className='str9-swot-input';\n      input.placeholder='Prida\u0165 faktor...';\n      input.addEventListener('keydown',e=>{\n        if(e.key==='Enter'){\n          e.preventDefault();\n          addFactor(input.value);\n        }\n      });\n\n      const addBtn=document.createElement('button');\n      addBtn.type='button';\n      addBtn.className='str9-swot-add-btn';\n      addBtn.textContent='+ Prida\u0165';\n      addBtn.addEventListener('click',()=>addFactor(input.value));\n\n      addRow.appendChild(input);\n      addRow.appendChild(addBtn);\n      addBox.appendChild(addRow);\n\n      const chipLabel=document.createElement('div');\n      chipLabel.className='str9-swot-chip-label';\n      chipLabel.textContent='R\u00fdchle pr\u00edklady';\n      addBox.appendChild(chipLabel);\n\n      const chips=document.createElement('div');\n      chips.className='str9-swot-chips';\n\n      c.examples.forEach(example=>{\n        const chip=document.createElement('button');\n        chip.type='button';\n        chip.className='str9-swot-chip';\n        chip.textContent=example;\n        chip.addEventListener('click',()=>addFactor(example));\n        chips.appendChild(chip);\n      });\n\n      addBox.appendChild(chips);\n\n      const items=document.createElement('div');\n      items.className='str9-swot-items';\n\n      if(!list.length){\n        const empty=document.createElement('div');\n        empty.className='str9-swot-empty';\n        empty.textContent='Zatia\u013e pr\u00e1zdne. Pridajte faktor alebo kliknite na pr\u00edklad.';\n        items.appendChild(empty);\n      }else{\n        list.forEach((f,i)=>{\n          const item=document.createElement('div');\n          item.className='str9-swot-item';\n          item.style.borderLeftColor=c.color;\n\n          const head=document.createElement('div');\n          head.className='str9-swot-item-head';\n\n          const rank=document.createElement('div');\n          rank.className='str9-swot-rank';\n          rank.style.background=c.color;\n          rank.textContent=i+1;\n\n          const name=document.createElement('div');\n          name.className='str9-swot-name';\n          name.textContent=f.name;\n\n          const del=document.createElement('button');\n          del.type='button';\n          del.className='str9-swot-del';\n          del.textContent='\u00d7';\n          del.addEventListener('click',()=>deleteFactor(f.id));\n\n          head.appendChild(rank);\n          head.appendChild(name);\n          head.appendChild(del);\n\n          const grid=document.createElement('div');\n          grid.className='str9-swot-score-grid';\n\n          const weight=document.createElement('div');\n          weight.className='str9-swot-score';\n          weight.innerHTML=\n            '<div class=\"str9-swot-score-head\"><strong>1) V\u00e1ha faktora<\/strong><span>'+f.weight+'<\/span><\/div>'+\n            '<div class=\"str9-swot-help\">Ak\u00fd d\u00f4le\u017eit\u00fd je faktor v celkovej strat\u00e9gii? 0.05 = n\u00edzka, 0.20 = ve\u013emi vysok\u00e1.<\/div>';\n          weight.appendChild(ratingButtons(f,'weight',[0.05,0.10,0.15,0.20]));\n\n          const rating=document.createElement('div');\n          rating.className='str9-swot-score';\n          rating.innerHTML=\n            '<div class=\"str9-swot-score-head\"><strong>2) Rating<\/strong><span>'+f.rating+'<\/span><\/div>'+\n            '<div class=\"str9-swot-help\">'+c.ratingHint+'. Pri S\/O vy\u0161\u0161ia hodnota znamen\u00e1 lep\u0161ie vyu\u017eitie, pri W\/T z\u00e1va\u017enej\u0161\u00ed vplyv.<\/div>';\n          rating.appendChild(ratingButtons(f,'rating',[1,2,3,4]));\n\n          grid.appendChild(weight);\n          grid.appendChild(rating);\n\n          item.appendChild(head);\n          item.appendChild(grid);\n          items.appendChild(item);\n        });\n      }\n\n      panel.appendChild(eyebrow);\n      panel.appendChild(title);\n      panel.appendChild(desc);\n      panel.appendChild(addBox);\n      panel.appendChild(items);\n    }\n\n    function addFactor(raw){\n      const name=(raw||'').trim();\n      if(!name) return;\n\n      const exists=factors[active].some(f=>f.name.toLowerCase()===name.toLowerCase());\n      if(exists) return;\n\n      factors[active].push({\n        id:nextId++,\n        name:name,\n        weight:0.10,\n        rating:(active==='S'||active==='O')?4:1\n      });\n\n      renderAll();\n    }\n\n    function updateFactor(id,key,value){\n      factors[active]=factors[active].map(f=>f.id===id?{...f,[key]:value}:f);\n      renderAll();\n    }\n\n    function deleteFactor(id){\n      factors[active]=factors[active].filter(f=>f.id!==id);\n      renderAll();\n    }\n\n    function recommendations(){\n      const I=ife();\n      const E=efe();\n      const s=sorted('S')[0];\n      const w=sorted('W')[0];\n      const o=sorted('O')[0];\n      const t=sorted('T')[0];\n      const rec=[];\n\n      if(AND(I>=2.5,E>=2.5)){\n        rec.push(['SO \u00b7 Strat\u00e9gia rastu',AND(s,o)?'Vyu\u017eite \u201e'+s.name+'\" na vyu\u017eitie pr\u00edle\u017eitosti \u201e'+o.name+'\".':'Siln\u00e1 poz\u00edcia \u2014 investujte do expanzie.']);\n      }else if(AND(I<2.5,E>=2.5)){\n        rec.push(['WO \u00b7 Strat\u00e9gia obratu',AND(w,o)?'Odstr\u00e1\u0148te \u201e'+w.name+'\", aby ste mohli vyu\u017ei\u0165 \u201e'+o.name+'\".':'Prostredie pon\u00faka pr\u00edle\u017eitosti, ale brzdia v\u00e1s intern\u00e9 slabiny.']);\n      }else if(AND(I>=2.5,E<2.5)){\n        rec.push(['ST \u00b7 Obrann\u00e1 strat\u00e9gia',AND(s,t)?'Pou\u017eite \u201e'+s.name+'\" ako obranu proti \u201e'+t.name+'\".':'Trhov\u00fa poz\u00edciu chr\u00e1nite svojimi siln\u00fdmi str\u00e1nkami.']);\n      }else{\n        rec.push(['WT \u00b7 Konsolid\u00e1cia',AND(w,t)?'Slabina \u201e'+w.name+'\" + hrozba \u201e'+t.name+'\" = kritick\u00e1 kombin\u00e1cia.':'Minimalizujte zranite\u013enos\u0165 a konsolidujte.']);\n      }\n\n      const items=allItems();\n      const p=paretoCount(items);\n      if(items.length>=3){\n        rec.push(['Pareto 80\/20',p+' z '+items.length+' faktorov tvor\u00ed hlavn\u00fa \u010das\u0165 strategick\u00e9ho vplyvu. Prioritizujte: '+items.slice(0,p).map(f=>f.name).join(', ')+'.']);\n      }\n\n      return rec;\n    }\n\n    function renderResults(){\n      const items=allItems();\n      const count=totalCount();\n      const I=ife();\n      const E=efe();\n      const p=paretoCount(items);\n\n      root.querySelector('[data-kpi-count]').textContent=count;\n      root.querySelector('[data-kpi-ife]').textContent=I.toFixed(2);\n      root.querySelector('[data-kpi-efe]').textContent=E.toFixed(2);\n      root.querySelector('[data-kpi-pareto]').textContent=p;\n\n      let diagnosis='Pridajte aspo\u0148 dva faktory na vyhodnotenie.';\n      if(count>=2){\n        if(AND(I>=2.5,E>=2.5)) diagnosis='Intern\u00e1 aj extern\u00e1 poz\u00edcia je nad hranicou 2,5. Vhodn\u00e1 je rastov\u00e1 strat\u00e9gia SO.';\n        else if(AND(I<2.5,E>=2.5)) diagnosis='V externom prostred\u00ed vid\u00edte pr\u00edle\u017eitosti, ale interne je potrebn\u00e9 odstr\u00e1ni\u0165 slabiny.';\n        else if(AND(I>=2.5,E<2.5)) diagnosis='Interne m\u00e1te siln\u00e9 faktory, ale prostredie je n\u00e1ro\u010dn\u00e9. Vhodn\u00e1 je obrann\u00e1 strat\u00e9gia ST.';\n        else diagnosis='Intern\u00e9 aj extern\u00e9 sk\u00f3re je pod hranicou 2,5. Zamerajte sa na konsolid\u00e1ciu a zn\u00ed\u017eenie riz\u00edk.';\n      }\n      root.querySelector('[data-diagnosis]').textContent=diagnosis;\n\n      const matrix=root.querySelector('[data-matrix]');\n      matrix.innerHTML='';\n\n      CATS.forEach(c=>{\n        const box=document.createElement('div');\n        box.className='str9-swot-box';\n        box.innerHTML=\n          '<div class=\"str9-swot-box-head\">'+\n            '<div class=\"str9-swot-box-id\" style=\"background:'+c.color+'\">'+c.id+'<\/div>'+\n            '<div><div class=\"str9-swot-box-title\">'+c.label+'<\/div><div style=\"font-size:11px;color:var(--muted)\">\u03a3 '+sum(factors[c.id]).toFixed(2)+'<\/div><\/div>'+\n          '<\/div>';\n\n        const list=sorted(c.id);\n        if(!list.length){\n          const empty=document.createElement('div');\n          empty.className='str9-swot-empty';\n          empty.textContent='\u017diadne faktory.';\n          box.appendChild(empty);\n        }else{\n          list.forEach((f,i)=>{\n            const row=document.createElement('div');\n            row.className='str9-swot-mini';\n            row.innerHTML=\n              '<span style=\"color:'+c.color+'\">'+(i+1)+'.<\/span>'+\n              '<strong>'+esc(f.name)+'<\/strong>'+\n              '<small>'+score(f).toFixed(2)+'<\/small>';\n            box.appendChild(row);\n          });\n        }\n\n        matrix.appendChild(box);\n      });\n\n      const table=root.querySelector('[data-table]');\n      if(!items.length){\n        table.innerHTML='<div class=\"str9-swot-empty\">Pridajte faktory na zobrazenie prior\u00edt.<\/div>';\n      }else{\n        table.innerHTML=\n          '<div class=\"str9-swot-row head\"><span>#<\/span><span>Faktor<\/span><span>Typ<\/span><span>V\u00e1ha<\/span><span>Sk\u00f3re<\/span><\/div>'+\n          items.map((f,i)=>\n            '<div class=\"str9-swot-row\">'+\n              '<span>'+(i+1)+'<\/span>'+\n              '<span class=\"name\">'+esc(f.name)+'<\/span>'+\n              '<span style=\"color:'+f.cat.color+';font-weight:900\">'+f.cat.id+'<\/span>'+\n              '<span>'+f.weight+'<\/span>'+\n              '<span>'+score(f).toFixed(2)+'<\/span>'+\n            '<\/div>'\n          ).join('');\n      }\n\n      const recBox=root.querySelector('[data-recs]');\n      recBox.innerHTML=recommendations().map(r=>\n        '<div class=\"str9-swot-rec\"><strong>'+r[0]+'<\/strong><p>'+esc(r[1])+'<\/p><\/div>'\n      ).join('');\n\n      progress.style.width=Math.min(100,Math.round(count\/12*100))+'%';\n      progressText.textContent=count+' faktorov';\n      exportBtn.disabled=count===0;\n      exportBig.style.display=count?'block':'none';\n      fillHint.textContent=count?count+' faktorov \u00b7 IFE '+I.toFixed(2)+' \u00b7 EFE '+E.toFixed(2):'Pridajte prv\u00fd faktor v\u013eavo \u2192';\n    }\n\n    function renderAll(){\n      buildTabs();\n      renderPanel();\n      renderResults();\n    }\n\n    function exportPDF(){\n      if(!window.jspdf||!window.jspdf.jsPDF){\n        if(!root.dataset.jspdfLoading){\n          root.dataset.jspdfLoading='true';\n          const s=document.createElement('script');\n          s.src='https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/jspdf\/2.5.1\/jspdf.umd.min.js';\n          s.onload=function(){\n            root.dataset.jspdfLoading='false';\n            exportPDF();\n          };\n          s.onerror=function(){\n            root.dataset.jspdfLoading='false';\n            alert('Kni\u017enica PDF sa nena\u010d\u00edtala. Skontrolujte, \u010di ju WordPress alebo bezpe\u010dnostn\u00fd plugin neblokuje.');\n          };\n          document.head.appendChild(s);\n        }\n        return;\n      }\n\n      const jsPDF=window.jspdf.jsPDF;\n      const doc=new jsPDF({orientation:'portrait',unit:'mm',format:'a4'});\n      const items=allItems();\n\n      function clean(text){\n        return (text||'')\n          .replace(\/[\u00e1\u00e0\u00e2\u00e4]\/g,'a').replace(\/[\u00c1\u00c0\u00c2\u00c4]\/g,'A')\n          .replace(\/[\u010d]\/g,'c').replace(\/[\u010c]\/g,'C')\n          .replace(\/[\u010f]\/g,'d').replace(\/[\u010e]\/g,'D')\n          .replace(\/[\u00e9\u011b\u00e8\u00ea\u00eb]\/g,'e').replace(\/[\u00c9\u011a\u00c8\u00ca\u00cb]\/g,'E')\n          .replace(\/[\u00ed\u00ec\u00ee\u00ef]\/g,'i').replace(\/[\u00cd\u00cc\u00ce\u00cf]\/g,'I')\n          .replace(\/[\u0148]\/g,'n').replace(\/[\u0147]\/g,'N')\n          .replace(\/[\u00f3\u00f2\u00f4\u00f6]\/g,'o').replace(\/[\u00d3\u00d2\u00d4\u00d6]\/g,'O')\n          .replace(\/[\u0159]\/g,'r').replace(\/[\u0158]\/g,'R')\n          .replace(\/[\u0161]\/g,'s').replace(\/[\u0160]\/g,'S')\n          .replace(\/[\u0165]\/g,'t').replace(\/[\u0164]\/g,'T')\n          .replace(\/[\u00fa\u016f\u00f9\u00fb\u00fc]\/g,'u').replace(\/[\u00da\u016e\u00d9\u00db\u00dc]\/g,'U')\n          .replace(\/[\u00fd\u00ff]\/g,'y').replace(\/[\u00dd\u0178]\/g,'Y')\n          .replace(\/[\u017e]\/g,'z').replace(\/[\u017d]\/g,'Z')\n          .replace(\/[\u2013\u2014]\/g,'-')\n          .replace(\/[\u201e\u201c]\/g,'\"')\n          .replace(\/[\u2019]\/g,\"'\");\n      }\n\n      doc.setFillColor(255,255,255);\n      doc.rect(0,0,210,297,'F');\n\n      doc.setFillColor(232,8,15);\n      doc.rect(0,0,210,18,'F');\n\n      doc.setTextColor(255,255,255);\n      doc.setFont('helvetica','bold');\n      doc.setFontSize(12);\n      doc.text('STRATE9Y | SWOT + IFE\/EFE',14,11.5);\n\n      doc.setTextColor(17,17,17);\n      doc.setFontSize(18);\n      doc.text('SWOT analyza',14,32);\n\n      doc.setFontSize(10);\n      doc.setFont('helvetica','normal');\n      doc.text('IFE: '+ife().toFixed(2)+'   EFE: '+efe().toFixed(2)+'   Pareto: '+paretoCount(items),14,42);\n\n      let y=56;\n      items.forEach((f,i)=>{\n        if(y>270){\n          doc.addPage();\n          y=20;\n        }\n        doc.setFont('helvetica','bold');\n        doc.setFontSize(9);\n        doc.text((i+1)+'. '+clean(f.name),14,y);\n        doc.setFont('helvetica','normal');\n        doc.setFontSize(8);\n        doc.text(clean(f.cat.label)+' | vaha '+f.weight+' | rating '+f.rating+' | skore '+score(f).toFixed(2),14,y+5);\n        y+=13;\n      });\n\n      doc.setFontSize(7);\n      doc.setTextColor(90,90,90);\n      doc.text('Vytvorene pomocou nastrojov STRATE9Y - strate9y.com\/strategicke-nastroje\/swot-analyza\/',105,290,{align:'center'});\n\n      doc.save('STRATE9Y-SWOT-analyza.pdf');\n    }\n\n    exportBtn.addEventListener('click',exportPDF);\n    exportBig.addEventListener('click',exportPDF);\n\n    renderAll();\n  }\n\n  if(document.readyState==='loading'){\n    document.addEventListener('DOMContentLoaded',startSwot);\n  }else{\n    startSwot();\n  }\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>STRATE9Y\u00ae n\u00e1stroje \u00b7 SWOT anal\u00fdza online + IFE\/EFE Preme\u0148te SWOT z tabu\u013eky na strategick\u00e9 rozhodnutie. Zadajte faktory S, W, O [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":9271,"parent":33986,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","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":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","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-34151","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"uagb_featured_image_src":{"full":["https:\/\/strate9y.com\/wp-content\/uploads\/swot-cz-diagram-strate9y.jpg",500,500,false],"thumbnail":["https:\/\/strate9y.com\/wp-content\/uploads\/swot-cz-diagram-strate9y-150x150.jpg",150,150,true],"medium":["https:\/\/strate9y.com\/wp-content\/uploads\/swot-cz-diagram-strate9y-300x300.jpg",300,300,true],"medium_large":["https:\/\/strate9y.com\/wp-content\/uploads\/swot-cz-diagram-strate9y.jpg",500,500,false],"large":["https:\/\/strate9y.com\/wp-content\/uploads\/swot-cz-diagram-strate9y.jpg",500,500,false],"1536x1536":["https:\/\/strate9y.com\/wp-content\/uploads\/swot-cz-diagram-strate9y.jpg",500,500,false],"2048x2048":["https:\/\/strate9y.com\/wp-content\/uploads\/swot-cz-diagram-strate9y.jpg",500,500,false]},"uagb_author_info":{"display_name":"Hana Krchov\u00e1","author_link":"https:\/\/strate9y.com\/sk\/autor\/admin\/"},"uagb_comment_info":0,"uagb_excerpt":"STRATE9Y\u00ae n\u00e1stroje \u00b7 SWOT anal\u00fdza online + IFE\/EFE Preme\u0148te SWOT z tabu\u013eky na strategick\u00e9 rozhodnutie. Zadajte faktory S, W, O [&hellip;]","_links":{"self":[{"href":"https:\/\/strate9y.com\/sk\/wp-json\/wp\/v2\/pages\/34151","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/strate9y.com\/sk\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/strate9y.com\/sk\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/strate9y.com\/sk\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/strate9y.com\/sk\/wp-json\/wp\/v2\/comments?post=34151"}],"version-history":[{"count":4,"href":"https:\/\/strate9y.com\/sk\/wp-json\/wp\/v2\/pages\/34151\/revisions"}],"predecessor-version":[{"id":34157,"href":"https:\/\/strate9y.com\/sk\/wp-json\/wp\/v2\/pages\/34151\/revisions\/34157"}],"up":[{"embeddable":true,"href":"https:\/\/strate9y.com\/sk\/wp-json\/wp\/v2\/pages\/33986"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/strate9y.com\/sk\/wp-json\/wp\/v2\/media\/9271"}],"wp:attachment":[{"href":"https:\/\/strate9y.com\/sk\/wp-json\/wp\/v2\/media?parent=34151"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}