Vytvor mi jednoduchú offline kalkulačku ceny zákazky ako jeden súbor kalkulacka.html s vloženým CSS a JavaScriptom. Má sa otvárať dvojklikom v prehliadači cez file://, bez servera, účtu, API, CDN, externých fontov, analytiky a sieťových požiadaviek. Pri používaní nesmie potrebovať AI. Nevytváraj framework ani ďalšie funkcie.

Rozhranie po česky, mena EUR, všetky sumy bez DPH. Čitateľný svetlý vzhľad, systémové písmo, viditeľný fokus a ovládanie klávesnicou.

Vstupy: materiál a ostatné priame náklady, hodiny práce, interná nákladová hodinová sadzba, požadovaná marža v percentách. Vysvetli, že nákladová sadzba nie je predajná sadzba a marža nie je prirážka.

Náklady N = materiál + hodiny × nákladová sadzba.
Odporúčaná predajná cena P = N / (1 − marža / 100).
Suma nad zadanými nákladmi R = P − N.
R nikdy neoznač ako čistý zisk. Nezadaná réžia, dane a ďalšie náklady nie sú zahrnuté.

Pridaj tlačidlá na načítanie vymysleného príkladu, vymazanie vstupov, export kalkulácie ako JSON a import JSON. Formát JSON musí mať vlastný identifikátor a verziu. Neplatný import ani nepodporovaná verzia nesmú zmeniť rozpísané údaje. Kontroluj aj štruktúru, dátové typy a veľkosť súboru. Importované údaje nevykresľuj cez innerHTML, nepoužívaj eval. Kalkulácie sa nemajú automaticky ukladať. Pred zatvorením jasne upozorni na potrebu exportu; nespoliehaj sa na localStorage.

Prijímaj desatinnú čiarku aj bodku. Peniaze najviac na 2 desatinné miesta, hodiny a percentá na 4. Materiál od 0 do 1 miliardy €, hodiny od 0 do 1 milióna, sadzba od 0 do 1 milióna €/hod. Marža od 0 do menej než 100 %. Výsledok maximálne 1 bilión €. Prázdne vstupy, záporné čísla, nečíselné a príliš veľké hodnoty odmietni zrozumiteľnou chybou. Pri chybe odstráň zastaraný výsledok; po oprave ho obnov.

Počítaj presne s centmi. Najprv zaokrúhli náklad práce na centy, pripočítaj materiál, potom zaokrúhli predajnú cenu na centy. Presnú polovicu centu zaokrúhli nahor. R odvoď od zobrazených súm. Uveď, že zaokrúhlenie môže mierne zmeniť dosiahnutú maržu. Pri nulových nákladoch je cena 0 € a percentuálna marža pri nulovej cene nemá význam. Výpočty oddeľ do testovateľných funkcií.

Nepotrebujem zľavu, DPH, meny ani ďalšie rozšírenia.

Otestuj výsledný HTML súbor, nie iba izolovaný vzorec. Kontrola: materiál 400 €, 10 hodín × 30 €, marža 30 % → náklady 700 €, cena 1 000 €, suma nad nákladmi 300 €. Otestuj aj nulovú maržu, nulové náklady, desatinné hodnoty, neplatné vstupy a ich opravu, export → zatvorenie → nové otvorenie → import, chybný JSON a nepodporovanú verziu. Over fungovanie bez siete v oddelenom kontexte prehliadača; nevypínaj internet celému počítaču. Vypíš skutočne testovaný prehliadač a neoverené časti. Nakoniec mi ukáž výsledný súbor a krátky postup otvorenia a uloženia kalkulácie.
