DESPRE NOI

IT construit pe experiență, nu pe promisiuni.

Din 2015, TNCS Pro Tech construiește și administrează infrastructuri IT pentru companii care vor să lucreze fără blocaje. Soluții stabile, eficiente și adaptate realității din teren, nu doar pe hârtie.

0+

ani experiență în IT

~0

angajați administrați

0+

contracte active

0

cel mai vechi client

CUM GÂNDIM

Patru direcții. Un singur obiectiv.
IT care funcționează.

Știm de ce, când și cum trebuie făcut. Iar experiența ne ajută să alegem soluția potrivită pentru fiecare situație.

VIZIUNE

IT-ul devine invizibil atunci când funcționează.

Construim infrastructuri în care tehnologia își face treaba fără să ceară permanent atenția. Scopul nostru este simplu: mai puține probleme, mai puține întreruperi și un partener pe care te poți baza la nevoie.

MISIUNE

IT care susține business-ul, nu îl încurcă

Credem într-un IT administrat proactiv. Monitorizăm, anticipăm și îmbunătățim constant infrastructura, astfel încât problemele să fie rezolvate, pe cât posibil, înainte să afecteze activitatea companiei.

ABORDARE

Soluția potrivită, nu soluția standard.

Începem prin a înțelege compania, oamenii și modul de lucru. Recomandăm doar ceea ce este necesar și adaptăm tehnologia realității din teren. Limbaj simplu, recomandări argumentate și fără target de vânzări.

SOLUȚII

Un singur partener pentru întreaga infrastructura IT.

De la suportul utilizatorilor și administrarea echipamentelor, până la rețea, servere, backup, Microsoft 365 și securitate. Integrăm toate componentele într-un sistem coerent, stabil și ușor de administrat.

ABORDAREA NOASTRĂ

Alegerile contează.

În IT, viteza, costul și fiabilitatea sunt deseori puse în balanță. Noi credem că lucrurile pot fi făcute mai bine. Un serviciu IT bine construit înseamnă răspuns rapid atunci când ai nevoie, costuri corecte și soluții pe care te poți baza.
De aceea, nu pornim de la compromisuri, ci de la obiectivul clientului.
Analizăm infrastructura, modul de lucru și nevoile reale ale companiei pentru a găsi soluția care le aduce împreună.
Pentru noi, întrebarea nu este „La ce poți renunța?”, ci „Cum facem să nu fie nevoie?”

Adevărata alegere nu este la ce renunți, ci cu cine lucrezi.

TU LA CE AI RENUNȚA?
Încearcă.
Alege ce contează pentru tine.
/* ========================================================= TNCS - TU LA CE AI RENUNTA? ========================================================= */ .tncs-choice-widget { width: 100%; box-sizing: border-box; padding: 24px; font-family: "Inter", Arial, sans-serif; background: rgba(5, 18, 38, 0.82); border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 22px; } /* ========================================================= TITLU ========================================================= */ .tncs-choice-title-wrap { width: 100%; margin: 0 0 24px 0; text-align: center; } .tncs-choice-title { margin: 0; font-size: 22px; line-height: 1.2; font-weight: 700; letter-spacing: 0.055em; color: #FFFFFF; } .tncs-choice-title span { color: #168CFF; } /* LINIE SUB TITLU */ .tncs-choice-title-line { width: 120px; height: 2px; margin: 11px auto 0 auto; background: linear-gradient( 90deg, transparent 0%, #168CFF 25%, #FFFFFF 50%, #168CFF 75%, transparent 100% ); box-shadow: 0 0 7px rgba(22, 140, 255, 0.45); } /* ========================================================= CONTAINER CARDURI ========================================================= */ .tncs-choice-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; width: 100%; } /* ========================================================= CARD ========================================================= */ .tncs-choice-card { position: relative; display: flex; flex-direction: column; width: 100%; min-width: 0; min-height: 164px; padding: 18px; box-sizing: border-box; text-align: left; font-family: "Inter", Arial, sans-serif; color: #FFFFFF; background: rgba(8, 24, 48, 0.78); border: 1px solid rgba(255, 255, 255, 0.13); border-radius: 15px; outline: none; cursor: pointer; appearance: none; -webkit-appearance: none; transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease, transform 0.20s ease; } /* ========================================================= HOVER ========================================================= */ .tncs-choice-card:hover { border-color: rgba(22, 140, 255, 0.55); background: rgba(10, 31, 61, 0.92); transform: translateY(-1px); } /* ========================================================= CARD ACTIV ========================================================= */ .tncs-choice-card.is-active { border-color: #168CFF; background: rgba(22, 140, 255, 0.105); box-shadow: 0 0 7px rgba(22, 140, 255, 0.32), inset 0 0 18px rgba(22, 140, 255, 0.09); } /* ========================================================= PARTEA DE SUS A CARDULUI ========================================================= */ .tncs-choice-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; width: 100%; } /* ========================================================= LABEL ========================================================= */ .tncs-choice-label { min-height: 42px; margin: 0; font-size: 16px; line-height: 1.25; font-weight: 700; letter-spacing: 0; color: #FFFFFF; } /* ========================================================= DESCRIERE ========================================================= */ .tncs-choice-desc { display: flex; align-items: flex-start; min-height: 60px; margin-top: 20px; font-size: 14px; line-height: 1.5; font-weight: 400; color: rgba(255, 255, 255, 0.55); transition: color 0.25s ease; } /* * Dupa ce sunt selectate doua optiuni, * intrebarea de pe cardul ramas OFF * devine alba si mai evidenta. */ .tncs-choice-card.is-focus-off .tncs-choice-desc { color: #FFFFFF; font-weight: 600; } /* ========================================================= SWITCH - OFF ========================================================= */ .tncs-switch { position: relative; display: block; flex: 0 0 auto; width: 48px; height: 28px; border-radius: 100px; background: linear-gradient( 180deg, #28374A, #101A28 ); box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.75), inset 0 0 0 1px rgba(255, 255, 255, 0.08); transition: background 0.25s ease, box-shadow 0.25s ease; } /* BULINA SWITCH */ .tncs-switch-knob { position: absolute; top: 4px; left: 4px; width: 20px; height: 20px; border-radius: 50%; background: linear-gradient( 180deg, #FFFFFF, #CBD4DF ); box-shadow: 0 2px 5px rgba(0, 0, 0, 0.50); transition: left 0.25s ease, background 0.25s ease, box-shadow 0.25s ease; } /* ========================================================= SWITCH - ON ========================================================= */ .tncs-choice-card.is-active .tncs-switch { background: #168CFF; box-shadow: 0 0 6px rgba(22, 140, 255, 0.80), 0 0 14px rgba(22, 140, 255, 0.32), inset 0 0 0 1px rgba(255, 255, 255, 0.18); } .tncs-choice-card.is-active .tncs-switch-knob { left: 24px; background: #FFFFFF; box-shadow: 0 0 5px rgba(255, 255, 255, 0.55); } /* ========================================================= ZONA MESAJ ========================================================= */ .tncs-choice-message { display: flex; flex-direction: column; justify-content: center; min-height: 168px; margin-top: 18px; padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, 0.12); } /* TITLU MESAJ */ .tncs-choice-message-title { margin: 0; font-size: 21px; line-height: 1.3; font-weight: 700; color: #FFFFFF; } /* TEXT MESAJ */ .tncs-choice-message-text { margin-top: 8px; font-size: 14px; line-height: 1.65; font-weight: 400; color: rgba(255, 255, 255, 0.66); } /* * Concluzia mesajului. * Rand separat, fara spatiu suplimentar, * albastru TNCS. */ .tncs-choice-message-text strong { font-weight: 700; color: #168CFF; } /* ========================================================= TABLETA ========================================================= */ @media only screen and (max-width: 1024px) { .tncs-choice-widget { padding: 20px; } .tncs-choice-card { padding: 16px; } .tncs-choice-label { font-size: 15px; } } /* ========================================================= MOBIL ========================================================= */ @media only screen and (max-width: 640px) { .tncs-choice-widget { padding: 16px; border-radius: 18px; } .tncs-choice-title-wrap { margin-bottom: 20px; } .tncs-choice-title { font-size: 19px; } .tncs-choice-title-line { width: 100px; margin-top: 9px; } .tncs-choice-cards { grid-template-columns: 1fr; gap: 10px; } .tncs-choice-card { min-height: 125px; padding: 16px; } .tncs-choice-label { min-height: auto; font-size: 16px; } .tncs-choice-desc { min-height: auto; margin-top: 15px; } .tncs-choice-message { min-height: 190px; margin-top: 16px; padding-top: 16px; } .tncs-choice-message-title { font-size: 20px; } } (function () { const widget = document.getElementById("tncs-choice-widget"); if ( !widget || widget.dataset.initialized === "true" ) { return; } widget.dataset.initialized = "true"; /* ===================================================== ELEMENTE ===================================================== */ const cards = Array.from( widget.querySelectorAll(".tncs-choice-card") ); const messageTitle = widget.querySelector( ".tncs-choice-message-title" ); const messageText = widget.querySelector( ".tncs-choice-message-text" ); /* ===================================================== ORDINEA SELECTIILOR Primul element = cea mai veche selectie ===================================================== */ const activeOrder = []; /* ===================================================== TEXTE NORMALE ===================================================== */ const defaultDescriptions = { rapid: "Timpul tău contează.", economic: "Costul corect contează.", calitate: "Rezultatul contează." }; /* ===================================================== TEXTE CARD RAMAS OFF ===================================================== */ const inactiveDescriptions = { rapid: "Ești dispus să aștepți?", economic: "Vrei să plătești mai mult?", calitate: "Ești sigur că vrei să riști?" }; /* ===================================================== MESAJE ===================================================== */ const messages = { /* ------------------------------------------------- RASPUNS RAPID ------------------------------------------------- */ rapid: { title: "Ești dispus să aștepți?", text: "Înseamnă că accepți să aștepți mai mult decât ar trebui. Pentru noi, timpul contează și credem că și timpul tău valorează la fel de mult.
La TNCS, răspunsul rapid nu e un avantaj. E standard." }, /* ------------------------------------------------- PRET CORECT ------------------------------------------------- */ economic: { title: "Vrei să plătești mai mult?", text: "De ce ai accepta un cost mai mare pentru același rezultat? Noi nu credem că trebuie să plătești în plus ca să primești ce ți se cuvine.
Un preț corect nu e un compromis. E normal!" }, /* ------------------------------------------------- SOLUTII FIABILE ------------------------------------------------- */ calitate: { title: "Ești sigur că vrei să riști?", text: "O soluție mai ieftină poate părea suficientă — până când apar problemele și blocajele. Pentru că, în IT, „e ok pentru banii ăștia” nu e suficient.
Un cost bine gestionat nu ar trebui să însemne o soluție slabă." } }; /* ===================================================== ACTUALIZARE INTERFATA ===================================================== */ function render() { const activeSet = new Set(activeOrder); /* ------------------------------------------------- CARDURI ------------------------------------------------- */ cards.forEach(function (card) { const key = card.dataset.key; const isActive = activeSet.has(key); const isFocusOff = activeOrder.length === 2 && !isActive; /* CARD ACTIV */ card.classList.toggle( "is-active", isActive ); /* CARD RAMAS OFF */ card.classList.toggle( "is-focus-off", isFocusOff ); const description = widget.querySelector( '[data-desc="' + key + '"]' ); /* * Dupa doua selectii, * cardul ramas OFF afiseaza intrebarea. */ if (isFocusOff) { description.textContent = inactiveDescriptions[key]; } else { description.textContent = defaultDescriptions[key]; } }); /* ------------------------------------------------- DOUA SELECTII ------------------------------------------------- */ if (activeOrder.length === 2) { const inactiveKey = cards .map(function (card) { return card.dataset.key; }) .find(function (key) { return !activeSet.has(key); }); messageTitle.textContent = messages[inactiveKey].title; messageText.innerHTML = messages[inactiveKey].text; return; } /* ------------------------------------------------- O SELECTIE ------------------------------------------------- */ if (activeOrder.length === 1) { messageTitle.textContent = "Mai alege una."; messageText.textContent = "Care este a doua ta prioritate?"; return; } /* ------------------------------------------------- ZERO SELECTII ------------------------------------------------- */ messageTitle.textContent = "Încearcă."; messageText.textContent = "Alege ce contează pentru tine."; } /* ===================================================== CLICK PE CARD ===================================================== */ cards.forEach(function (card) { card.addEventListener( "click", function () { const key = card.dataset.key; const existingIndex = activeOrder.indexOf(key); /* ----------------------------------------- CARDUL ESTE DEJA ACTIV ----------------------------------------- */ if (existingIndex !== -1) { /* * Avem deja doua optiuni active. * * NU permitem dezactivarea uneia dintre * ele si revenirea la o singura optiune. */ if (activeOrder.length === 2) { return; } /* * Daca avem doar una activa, * aceasta poate fi oprita. */ activeOrder.splice( existingIndex, 1 ); render(); return; } /* ----------------------------------------- CARDUL ESTE INACTIV ----------------------------------------- */ /* * Daca sunt deja doua optiuni active, * scoatem automat cea mai veche selectie. */ if (activeOrder.length === 2) { activeOrder.shift(); } /* * Activam noua optiune. */ activeOrder.push(key); render(); } ); }); /* ===================================================== STARE INITIALA ===================================================== */ render(); })();

CE FACEM DIFERIT

Nu vindem IT.
Rezolvam probleme.

Recomandăm ceea ce are nevoie compania ta, nu ceea ce avem noi interes să vindem. Combinăm experiența, tehnologia și parteneriatele cu furnizori de top pentru a livra soluții complete, eficiente și ușor de gestionat.

Fără target de vânzări

Recomandăm soluția potrivită pentru compania ta, indiferent de producător sau furnizor.

Punct comun de contact

Centralizăm infrastructura, serviciile și relația cu furnizorii într-un singur loc.

Intervenim, nu contorizăm

Rezolvăm problemele atunci când apar. Nu facem colecție de ticket-uri.

PRINCIPIILE NOASTRE

IT-ul se schimbă.
Principiile nu.

Ne ghidăm după câteva valori clare, care ne ajută să construim relații de lungă durată cu toți clienții noștri.

Onestitate

Spunem adevărul, chiar și atunci când nu e cel mai ușor.

Responsabilitate

Ne asumăm ceea ce facem și găsim soluții, nu scuze.

Simplitate

Comunicăm clar, pe înțelesul tuturor, fără jargon inutil.

Continuitate

Suntem alături de tine pe termen lung, nu doar când apare o problemă.

PROBLEMĂ COMPLEXĂ. SOLUȚIE SIMPLĂ.

Evoluția este inevitabilă, dar nu presupune să înlocuiești tot. Păstrăm ceea ce funcționează și îmbunătățim acolo unde este nevoie.