1import{u as jt,r as B,j as e,w as Y,K as J,N as Z,O as Ze,x as X,B as ft,k as Qe,$ as Ht,G as et,H as tt,J as at}from"./index-MoAbC8_9.js";import{O as Pt}from"./OwnersLayout-Cd0M3dw8.js";import{B as Ue}from"./badge-BHbYeRgi.js";import{T as ze,a as Se,b as z,c as T,d as Ge,e as m}from"./table-BNHSYido.js";import{T as ut,a as mt,c as $e,b as nt}from"./tabs-5EVsfllK.js";import{I as Me}from"./info-CZr0REZX.js";import{A as Bt,a as Ut}from"./arrow-up-D486G_0n.js";import{E as $t}from"./exceljs.min-Bp1_LhuQ.js";import{D as Kt}from"./download-DXQgHLv7.js";import{E as Mt}from"./euro-Cc6O9qjZ.js";import{T as Ft}from"./trending-up-Cg9WFJWB.js";import{T as Vt}from"./trending-down-EHPUNHPt.js";import{W as kt}from"./wrench-B4A_f5hE.js";import{F as Wt}from"./flame-wMx8KIS8.js";import{Z as It}from"./zap-D5DuRxrj.js";import{B as _t}from"./breadcrumb-CmKLwRya.js";import{R as Ve,C as st,X as ot,Y as We,T as Ie,L as _e,B as Te,a as Yt}from"./generateCategoricalChart-C2b_mvpD.js";import{B as yt}from"./BarChart-FFUEJ1QK.js";import{P as Jt,a as Zt}from"./PieChart-C9_Ud7Rw.js";import{C as Nt}from"./ComposedChart-DcPErJ04.js";import{L as pt}from"./Line-DFydwSLz.js";import{M as wt}from"./collapsible-BIxz44zB.js";import{F as Xt}from"./file-search-B2CpYcS_.js";import"./Header-CnJGZ8vQ.js";import"./mountain-BHfTfCFy.js";import"./user-Cvsz7Lm_.js";import"./separator-CQ84aZ0V.js";import"./skeleton-ClxqB572.js";import"./switch-BHj3-8MN.js";import"./index-D9-GACGG.js";import"./house-DjS1WMqx.js";import"./receipt-DnGXta2k.js";import"./building-crte1H4H.js";import"./file-text-Bif0RP8Y.js";import"./chart-column-Bo5i9GGE.js";import"./upload-BH1HltYO.js";import"./piggy-bank-DP-A2O0m.js";import"./landmark-C0TkBs1l.js";import"./users-xui-UtA1.js";import"./eye-DKrvAixa.js";import"./dialog-DrI7Oddz.js";import"./textarea-4z16PwID.js";import"./index-Dh4i1-J3.js";const Ot=[2021,2022,2023,2024,2025],re={caretaker:{cs:"Správce / domovnÃk",de:"Hausbesorger / Hausmeister",en:"Caretaker"},admin:{cs:"Správa a administrativa",de:"Verwaltung",en:"Administration"},energy:{cs:"Energie a infrastruktura",de:"Energie & Infrastruktur",en:"Energy & infrastru
1cture"},pool:{cs:"Krytý bazén",de:"Hallenbad",en:"Indoor pool"},maintenance:{cs:"Ãdržba a opravy",de:"Instandhaltung & Reparaturen",en:"Maintenance & repairs"},taxes:{cs:"DanÄ a pojiÅ¡tÄnÃ",de:"Steuern & Versicherung",en:"Taxes & insurance"},other:{cs:"OstatnÃ",de:"Sonstiges",en:"Other"}},Ye={caretaker:"hsl(var(--chart-1, 210 70% 45%))",admin:"hsl(var(--chart-2, 25 70% 50%))",energy:"hsl(var(--chart-3, 150 55% 40%))",pool:"hsl(var(--chart-4, 190 65% 45%))",maintenance:"hsl(var(--chart-5, 280 50% 55%))",taxes:"hsl(45 75% 45%)",other:"hsl(0 0% 55%)"},Ce=[{group:"caretaker",label:{cs:"Mzdy â Walter & Margit",de:"Löhne â Walter & Margit",en:"Wages â Walter & Margit"},values:{2021:35965.864,2022:35193.312,2023:37880.48,2024:36034.724,2025:38044.006}},{group:"caretaker",label:{cs:"Mzdové odvody",de:"Lohnabgaben / Pflichtbeiträge",en:"Payroll levies"},values:{2021:21934.935,2022:20075.407,2023:21481.889,2024:2276.923,2025:4425.773}},{group:"caretaker",label:{cs:"Sociálnà pojiÅ¡tÄnà správce",de:"Sozialvers. Hausbesorger",en:"Caretaker social insurance"},values:{2021:0,2022:0,2023:0,2024:18671.004,2025:17457.55}},{group:"caretaker",label:{cs:"Extra venkovnà údržba (Aussenanlagen)",de:"Extra Aussenanlagen",en:"Extra outdoor maintenance"},values:{2021:0,2022:0,2023:0,2024:4071.936,2025:5252.885},note:{cs:"Práce nad rámec mzdy, fakturováno samostatnÄ.",de:"Leistungen über den Lohn hinaus, gesondert verrechnet.",en:"Work beyond wages, invoiced separately."}},{group:"caretaker",label:{cs:"Extra ostatnà práce",de:"Extra sonstige Leistungen",en:"Extra other work"},values:{2021:420.882,2022:464.728,2023:437.096,2024:0,2025:206.679},note:{cs:"2023: Sonstige Kosten Hausbesorger · 2025: Hausmeister Strom Heizung",de:"2023: Sonstige Kosten Hausbesorger · 2025: Hausmeister Strom Heizung",en:"2023: caretaker misc. costs · 2025: caretaker electricity/heating"}},{group:"admin",label:{cs:"Externà správa domu (Hausverwaltung)",de:"Hausverwaltung",en:"External property management"},values:{2021:16195.74,2022:16650.48,2023:18084.66,2024:18306.42,2025:18636.024}},{group:"admin",label:{cs:"Telefon",de:"Telefon",en:"Telephone"},values:{2021:0,2022:0,2023:0,2024:668.998,2025:660}},{group:"admin",label:{cs:"Internet",de:"Internet",en:"Internet"},values:{2021:0,2022:845.823,2023:865.15,2024:610.093,2025:571.12}},{group:"admin",label:{cs:"PoÅ¡tovné",de:"Porto",en:"Postage"},values:{2021:0,2022:0,2023:29.964,2024:0,2025:0}},{group:"admin",label:{cs:"Ãroky a bankovnà poplatky",de:"Zinsen und Spesen",en:"Interest & bank fees"},values:{2021:656.183,2022:866.129,2023:1270.335,2024:141.647,2025:668.107}},{group:"energy",label:{cs:"Odvoz odpadu",de:"Müllabfuhr",en:"Waste collection"},values:{2021:3920.62,2022:5083.969,2023:4030.653,2024:5499.021,2025:6625.003}},{group:"energy",label:{cs:"Kanalizace",de:"Kanal",en:"Sewage"},values:{2021:5154.611,2022:7855.32,2023:7895.217,2024:9161.262,2025:13192.971}},{group:"energy",label:{cs:"ElektÅina â spoleÄné prostory",de:"Strom allgemein",en:"Electricity â common areas"},values:{2021:6089.446,2022:7830.636,2023:13214.047,2024:9748.838,2025:10156.135}},{group:"energy",label:{cs:"Výtah",de:"Aufzug",en:"Elevator"},values:{2021:2866.369,2022:2373.492,2023:4144.866,2024:5824.148,2025:3147.386}},{group:"energy",label:{cs:"ElektÅina schodiÅ¡tÄ",de:"Strom Stiegenhaus",en:"Electricity â staircase"},values:{2021:0,2022:0,2023:0,2024:112.552,2025:0}},{group:"pool",label:{cs:"Krytý bazén",de:"Hallenbad",en:"Indoor pool"},values:{2021:5005.231,2022:7093.438,2023:7040.286,2024:11372.02,2025:18102.788}},{group:"maintenance",label:{cs:"OdklÃzenà snÄhu",de:"Schneeräumung",en:"Snow removal"},values:{2021:1573.011,2022:1593.834,2023:1421.09,2024:3539.987,2025:3541.054}},{group:"maintenance",label:{cs:"Opravy a údržba",de:"Reparaturen & Erhaltungsaufwand",en:"Repairs & maintenance"},values:{2021:6242.907,2022:9337.46,2023:17127.88,2024:3148.31,2025:6626.873}},{group:"maintenance",label:{cs:"SpotÅebnà materiál",de:"Verbrauchsmaterial",en:"Consumables"},values:{2021:4406.886,2022:5538.324,2023:6739.601,2024:2502.291,2025:2275.614}},{group:"taxes",label:{cs:"DaÅ z nemovitosti",de:"Grundsteuer",en:"Property tax"},values:{2021:5813.731,2022:5813.731,2023:5813.731,2024:5813.731,2025:5725.72}},{group:"taxes",label:{cs:"PojiÅ¡tÄnà domu",de:"Hausversicherungen",en:"Building insurance"},values:{2021:7324.35,2022:8089.147,2023:8571.563,2024:5211.052,2025:9059.105}},{group:"other",label:{cs:"Ostatnà náklady",de:"Diverser Aufwand",en:"Miscellaneous"},values:{2021:2793.67,2022:270.292,2023:264,2024:1934.042,2025:5187.677}}
1,{group:"other",label:{cs:"PÅÃspÄvky",de:"Beiträge",en:"Contributions"},values:{2021:0,2022:0,2023:0,2024:0,2025:4730}},{group:"other",label:{cs:"Výnos z praÄky",de:"Erlöse Waschmaschine",en:"Laundry income"},values:{2021:0,2022:0,2023:0,2024:0,2025:-441.54},note:{cs:"Výnos snižuje náklady.",de:"Erlös reduziert die Kosten.",en:"Income reduces costs."}}],ie=[{label:{cs:"Voda / silnice / zimnà služba",de:"Wasser / StraÃe / Winterdienst",en:"Water / road / winter service"},vat:0,values:{2021:28556.8,2022:27948,2023:33368.08,2024:34933.56,2025:35400.13},note:{cs:"0 % DPH dle vyúÄtovánÃ",de:"0 % USt laut Abrechnung",en:"0% VAT per statement"}},{label:{cs:"VytápÄnÃ",de:"Heizung",en:"Heating"},vat:.2,values:{2021:29467.956,2022:45774.264,2023:68170.284,2024:51620.664,2025:58122.804},note:{cs:"Dle Techem Gesamtabrechnung (Heizkosten celkem za dům), vÄ. 20 % DPH â sjednoceno na brutto za vÅ¡echny roky.",de:"Laut Techem-Gesamtabrechnung (Heizkosten gesamt), inkl. 20 % USt â für alle Jahre einheitlich brutto.",en:"Per Techem total statement (total heating costs), incl. 20% VAT â all years shown gross."}},{label:{cs:"Teplá voda",de:"Warmwasser",en:"Hot water"},vat:.1,values:{2021:2174.414,2022:5265.634,2023:6286.632,2024:6587.02,2025:5931.475},note:{cs:"Dle Techem Gesamtabrechnung (Warmwasserkosten celkem za dům), vÄ. 10 % DPH â sjednoceno na brutto za vÅ¡echny roky.",de:"Laut Techem-Gesamtabrechnung (Warmwasserkosten gesamt), inkl. 10 % USt â für alle Jahre einheitlich brutto.",en:"Per Techem total statement (total hot water costs), incl. 10% VAT â all years shown gross."}},{label:{cs:"Výdaje rezervnÃho fondu",de:"Ausgaben Rücklage",en:"Reserve fund expenditure"},vat:null,values:{2021:96358.49,2022:104685.2,2023:41036.86,2024:69172.79,2025:63099.25},note:{cs:"SkuteÄné výdaje fondu vÄ. skuteÄné DPH (nelze paušálnÄ +10 %). Obsahuje úvÄry a mimoÅádné výdaje.",de:"Tatsächliche Ausgaben inkl. tatsächlicher USt. (kein pauschaler Aufschlag von 10 %). Enthält Kredite und Sonderausgaben.",en:"Actual expenditure incl. actual VAT (no flat 10 % mark-up). Includes loans and extraordinary spending."}}],bt=[{label:{cs:"Provoznà náklady (Betriebskosten allgemein)",de:"Betriebskosten allgemein",en:"Operating costs (general)"},net:{2021:114876.76,2022:122705.02,2023:142102.28,2024:131499.09,2025:158046.3},gross:{2021:126364.44,2022:134975.52,2023:156312.51,2024:144649,2025:173850.93},note:{cs:"+ 10 % USt dle vyúÄtovánÃ",de:"+ 10 % USt laut Abrechnung",en:"+ 10% VAT per statement"}},{label:{cs:"Výdaje rezervnÃho fondu",de:"Ausgaben Rücklage",en:"Reserve fund expenditure"},net:{2021:91143.44,2022:99759.59,2023:null,2024:66671.82,2025:61093.86},gross:{2021:96358.49,2022:104685.2,2023:41036.86,2024:69172.79,2025:63099.25},note:{cs:"DPH dle jednotlivých faktur (2024: 2 500,97 â¬, 2025: 2 005,39 â¬) â nikoli 10 % ploÅ¡nÄ.",de:"USt. je Rechnung (2024: 2.500,97 â¬, 2025: 2.005,39 â¬) â nicht pauschal 10 %.",en:"VAT per invoice (2024: EUR 2,500.97; 2025: EUR 2,005.39) â not a flat 10%."}}],Q=[{year:2021,liters:36074,costNet:21213.91,opening:null,delivered:null,closing:null},{year:2022,liters:36563,costNet:36623.52,opening:0,delivered:45563,closing:9e3},{year:2023,liters:50922,costNet:49882.88,opening:9e3,delivered:51922,closing:1e4},{year:2024,liters:39009,costNet:37470.36,opening:1e4,delivered:33009,closing:4e3},{year:2025,liters:47875,costNet:43107.95,opening:4e3,delivered:50975,closing:7100}],Je=r=>r.liters&&r.costNet?r.costNet/r.liters:null,P=(r,s)=>Ce.filter(a=>a.group===r).reduce((a,o)=>a+(o.values[s]||0),0),Ee=r=>Ce.reduce((s,a)=>s+(a.values[r]||0),0),Xe={2020:6978.21,2021:46060.19,2022:236.44,2023:18662.7,2024:9070.39,2025:15185.42},qt=2022,ct=[{unit:1,location:"1UG Top 50A",area:35,consumption:5509.201,cost:2100},{unit:2,location:"1UG Top 7",area:28,consumption:2567,cost:1085.94},{unit:3,location:"1UG Top 6",area:57,consumption:1086,cost:873.75},{unit:4,location:"1UG Top 5",area:57,consumption:3056,cost:1510.43},{unit:5,location:"1UG Top 4",area:28,consumption:9,cost:259.21},{unit:6,location:"1UG Top 3",area:28,consumption:837,cost:526.81},{unit:7,location:"1UG Top 2",area:57,consumption:6688.852,cost:2684.54},{unit:8,location:"1UG Top 1",area:57,consumption:2927,cost:1468.73},{unit:9,location:"2UG Top 14",area:57,consumption:5926.574,cost:2438.2},{unit:10,location:"2UG Top 13",area:57,consumption:1281,cost:936.76},{unit:11,location:"2UG Top 12",area:57,consumption:1661,cost:1059.59},{unit:12,location:"2UG Top 11",area:27,consumption:2069,cost:920.38},{unit:13,location:"2UG Top 10",area:28,consumption:2670,cost:1119.25},{unit:14,location:"2UG Top 9",area:57,consumption:654,cost:734.12},{unit:15,location:"2UG Top 8",area:57,consumption:1189.222,cost:907.11},{unit:16,location:"EG Top 22",area:36,consumption:786.456,cost:589.76},{unit:17,location:"EG Top 21",area:36,consumption:99.384,cost:367.72},{unit:18,location:"EG Top 20",area:39,consumption:497.819,cost:517.43},{unit:19,location:"EG Top 19",area:39,consumption:1465.605,cost:840.62}
1,{unit:20,location:"EG Top 15",area:28,consumption:0,cost:257.23},{unit:21,location:"EG Top 18",area:56,consumption:1472.635,cost:994.08},{unit:22,location:"EG Top 17",area:56,consumption:30,cost:527.85},{unit:23,location:"EG Top 16",area:65,consumption:1464,cost:1075.93},{unit:24,location:"1OG Top 30",area:36,consumption:2034.84,cost:993.25},{unit:25,location:"1OG Top 29",area:36,consumption:1837.894,cost:929.59},{unit:26,location:"1OG Top 28",area:36,consumption:1825.566,cost:925.6},{unit:27,location:"1OG Top 27",area:36,consumption:694.656,cost:560.11},{unit:28,location:"1OG Top 23",area:28,consumption:883,cost:542.62},{unit:29,location:"1OG Top 26",area:53,consumption:1838,cost:1078.96},{unit:30,location:"1OG Top 25",area:53,consumption:498,cost:645.9},{unit:31,location:"1OG Top 24",area:53,consumption:2622.327,cost:1332.46},{unit:32,location:"2OG Top 38",area:30,consumption:369,cost:473.25},{unit:33,location:"2OG Top 37",area:36,consumption:876,cost:618.7},{unit:34,location:"2OG Top 36",area:36,consumption:3042,cost:1318.75},{unit:35,location:"2OG Top 35",area:42,consumption:335.582,cost:497.52},{unit:36,location:"2OG Top 31",area:28,consumption:73,cost:280.82},{unit:37,location:"2OG Top 34",area:39,consumption:2860,cost:1427.69},{unit:38,location:"2OG Top 33",area:44,consumption:771,cost:752.56},{unit:39,location:"2OG Top 32",area:53,consumption:730,cost:720.88},{unit:40,location:"1DG Top 45",area:36,consumption:774,cost:577.93},{unit:41,location:"1DG Top 44",area:30,consumption:1536,cost:842.59},{unit:42,location:"1DG Top 43",area:36,consumption:4335,cost:1728.81},{unit:43,location:"1DG Top 42",area:36,consumption:8402,cost:3043.2},{unit:44,location:"1DG Top 41",area:53,consumption:1070,cost:830.76},{unit:45,location:"1DG Top 40",area:28,consumption:3702,cost:1699.82},{unit:46,location:"1DG Top 39",area:53,consumption:1415,cost:942.27},{unit:47,location:"1DG Top 46",area:18,consumption:339.5,cost:205.99},{unit:48,location:"1DG Top 47",area:18,consumption:339.5,cost:205.98},{unit:49,location:"1DG Top 48",area:18,consumption:1465,cost:636.67},{unit:50,location:"1DG Top 50",area:73,consumption:2405.523,cost:1448.82},{unit:51,location:"1DG Top 49",area:52,consumption:541,cost:653.34},{unit:52,location:"2DG Top 51",area:17,consumption:605,cost:354.58},{unit:53,location:"2DG Top 52",area:17,consumption:2842,cost:1077.55}],Qt=[{unit:1,location:"1UG Top 50A",area:35,consumption:3271,cost:1849.67},{unit:2,location:"1UG Top 7",area:28,consumption:2480,cost:1420.04},{unit:3,location:"1UG Top 6",area:57,consumption:394,cost:829.69},{unit:4,location:"1UG Top 5",area:57,consumption:3412,cost:2166.91},{unit:5,location:"1UG Top 4",area:28,consumption:7,cost:324.31},{unit:6,location:"1UG Top 3",area:28,consumption:3504,cost:1873.75},{unit:7,location:"1UG Top 2",area:57,consumption:857,cost:1034.86},{unit:8,location:"1UG Top 1",area:57,consumption:2422,cost:1728.29},{unit:9,location:"2UG Top 14",area:57,consumption:2412.91,cost:1724.23},{unit:10,location:"2UG Top 13",area:57,consumption:1744,cost:1427.86},{unit:11,location:"2UG Top 12",area:57,consumption:2082,cost:1577.62},{unit:12,location:"2UG Top 11",area:27,consumption:2209,cost:1294.19},{unit:13,location:"2UG Top 10",area:28,consumption:2008,cost:1210.91},{unit:14,location:"2UG Top 9",area:57,consumption:2278,cost:1664.49},{unit:15,location:"2UG Top 8",area:57,consumption:1571.1,cost:1351.25},{unit:16,location:"EG Top 22",area:36,consumption:950.876,cost:841.88},{unit:17,location:"EG Top 21",area:36,consumption:91,cost:460.91},{unit:18,location:"EG Top 20",area:39,consumption:576.179,cost:702.12},{unit:19,location:"EG Top 19",area:39,consumption:1222.64,cost:1001.24},{unit:20,location:"EG Top 15",area:28,consumption:465.39,cost:551.01},{unit:21,location:"EG Top 18",area:56,consumption:961.174,cost:1075.22},{unit:22,location:"EG Top 17",area:56,consumption:274,cost:770.78},{unit:23,location:"EG Top 16",area:65,consumption:1503,cost:1421.38},{unit:24,location:"1OG Top 30",area:36,consumption:883.169,cost:811.88},{unit:25,location:"1OG Top 29",area:36,consumption:1358.35,cost:1022.46},{unit:26,location:"1OG Top 28",area:36,consumption:1376,cost:1030.25},{unit:27,location:"1OG Top 27",area:36,consumption:854,cost:798.97},{unit:28,location:"1OG Top 23",area:28,consumption:955,cost:745.53},{unit:29,location:"1OG Top 26",area:53,consumption:2931,cost:1906.41},{unit:30,location:"1OG Top 25",area:53,consumption:530,cost:842.59},{unit:31,location:"1OG Top 24",area:53,consumption:2070.6,cost:1525.21},{unit:32,location:"2OG Top 38",area:36,consumption:9,cost:424.59},{unit:33,location:"2OG Top 37",area:36,consumption:597,cost:685.09},{unit:34,location:"2OG Top 36",area:36,consumption:3298,cost:188
11.85},{unit:35,location:"2OG Top 35",area:42,consumption:1706.88,cost:1243.87},{unit:36,location:"2OG Top 31",area:28,consumption:113,cost:372.43},{unit:37,location:"2OG Top 34",area:53,consumption:431,cost:798.73},{unit:38,location:"2OG Top 33",area:53,consumption:1418,cost:1236.05},{unit:39,location:"2OG Top 32",area:53,consumption:969,cost:1037.13},{unit:40,location:"1DG Top 45",area:36,consumption:861,cost:792.25},{unit:41,location:"1DG Top 44",area:36,consumption:1906,cost:1255.27},{unit:42,location:"1DG Top 43",area:36,consumption:2496,cost:1516.68},{unit:43,location:"1DG Top 42",area:36,consumption:3038,cost:1756.83},{unit:44,location:"1DG Top 41",area:53,consumption:827,cost:974.19},{unit:45,location:"1DG Top 40",area:53,consumption:2569,cost:1746.03},{unit:46,location:"1DG Top 39",area:53,consumption:181,cost:687.97},{unit:47,location:"1DG Top 46",area:18,consumption:497.5,cost:267.47},{unit:48,location:"1DG Top 47",area:18,consumption:497.5,cost:267.47},{unit:49,location:"1DG Top 48",area:18,consumption:1547,cost:889.95},{unit:50,location:"1DG Top 50",area:73,consumption:934.005,cost:1255.22},{unit:51,location:"1DG Top 49",area:52,consumption:443,cost:655.75},{unit:52,location:"2DG Top 51",area:17,consumption:1486,cost:880.17},{unit:53,location:"2DG Top 52",area:17,consumption:897,cost:596.75}],ea=[{unit:1,location:"1UG Top 50A",area:35,consumption:2879.656,cost:1665.49},{unit:2,location:"1UG Top 7",area:28,consumption:2171,cost:1297.41},{unit:3,location:"1UG Top 6",area:57,consumption:669,cost:948.25},{unit:4,location:"1UG Top 5",area:57,consumption:4302,cost:2545.
105},{unit:5,location:"1UG Top 4",area:28,consumption:4,cost:322.51},{unit:6,location:"1UG Top 3",area:28,consumption:3191,cost:1723.29},{unit:7,location:"1UG Top 2",area:57,consumption:6819.223,cost:3651.42},{unit:8,location:"1UG Top 1",area:57,consumption:2711,cost:1845.77},{unit:9,location:"2UG Top 14",area:57,consumption:3136.777,cost:2032.9},{unit:10,location:"2UG Top 13",area:57,consumption:1279,cost:1216.36},{unit:11,location:"2UG Top 12",area:57,consumption:2209,cost:1625.11},{unit:12,location:"2UG Top 11",area:27,consumption:1775,cost:1117.6},{unit:13,location:"2UG Top 10",area:28,consumption:2539,cost:1436.72},{unit:14,location:"2UG Top 9",area:57,consumption:1989,cost:1528.43},{unit:15,location:"2UG Top 8",area:57,consumption:841.744,cost:1024.17},{unit:16,location:"EG Top 22",area:36,consumption:1594.757,cost:1120.92},{unit:17,location:"EG Top 21",area:36,consumption:326.028,cost:563.28},{unit:18,location:"EG Top 20",area:39,consumption:728.29,cost:766.27},{unit:19,location:"EG Top 19",area:39,consumption:1419.696,cost:1082.88},{unit:20,location:"EG Top 15",area:28,consumption:1903.485,cost:1158.56},{unit:21,location:"EG Top 18",area:56,consumption:1283.896,cost:1212.75},{unit:22,location:"EG Top 17",area:56,consumption:68,cost:678.32},{unit:23,location:"EG Top 16",area:65,consumption:1279,cost:1316.51},{unit:24,location:"1OG Top 30",area:36,consumption:1027.406,cost:871.57},{unit:25,location:"1OG Top 29",area:36,consumption:1513.294,cost:1085.1},{unit:26,location:"1OG Top 28",area:36,consumption:1530.342,cost:1092.62},{unit:27,location:"1OG Top 27",area:36,consumption:842.009,cost:790.06},{unit:28,location:"1OG Top 23",area:28,consumption:924,cost:728.05},{unit:29,location:"1OG Top 26",area:53,consumption:5754,cost:3158.38},{unit:30,location:"1OG Top 25",area:53,consumption:435,cost:798.1},{unit:31,location:"1OG Top 24",area:53,consumption:1817.455,cost:1405.71},{unit:32,location:"2OG Top 38",area:36,consumption:77,cost:453.82},{unit:33,location:"2OG Top 37",area:36,consumption:1188,cost:942.14},{unit:34,location:"2OG Top 36",area:36,consumption:2569,cost:1549.13},{unit:35,location:"2OG Top 35",area:42,consumption:476.502,cost:696.33},{unit:36,location:"2OG Top 31",area:28,consumption:136,cost:381.68},{unit:37,location:"2OG Top 34",area:53,consumption:1334,cost:1193.23},{unit:38,location:"2OG Top 33",area:53,consumption:1481,cost:1257.85},{unit:39,location:"2OG Top 32",area:53,consumption:1021,cost:1055.65},{unit:40,location:"1DG Top 45",area:36,consumption:729,cost:730.61},{unit:41,location:"1DG Top 44",area:36,consumption:2646,cost:1573.17},{unit:42,location:"1DG Top 43",area:36,consumption:4647,cost:2452.68},{unit:43,location:"1DG Top 42",area:36,consumption:3965,cost:2152.92},{unit:44,location:"1DG Top 41",area:53,consumption:928,cost:1014.79},{unit:45,location:"1DG Top 40",area:53,consumption:1931,cost:1455.63},{unit:46,location:"1DG Top 39",area:53,consumption:172,cost:682.51},{unit:47,location:"1DG Top 46",area:18,consumption:912,cost:312.3},{unit:48,location:"1DG Top 47",area:18,consumption:912,cost:312.31},{unit:49,location:"1DG Top 48",area:18,consumption:560,cost:450.36},{unit:50,location:"1DG Top 50",area:73,consumption:1190.574,cost:1363.49},{unit:51,location:"1DG Top 49",area:52,consumption:992,cost:716.39},{unit:52,location:"2DG Top 51",area:17,consumption:1194,cost:723.83},{unit:53,location:"2DG Top 52",area:17,consumption:1308,cost:773.94}],Tt={2022:ct,2024:Qt,2025:ea},At=r=>r.replace(/^.*Top\s*/,""),ta=r=>parseInt(At(r),10)||0;ct.reduce((r,s)=>r+s.cost,0);ct.reduce((r,s)=>r+s.area,0);ct.reduce((r,s)=>r+s.consumption,0);const aa=[2021,2022,2023,2024,2025],na={cs:{title:"Detail vytápÄnà po bytech",desc:"Techem Gesamtabrechnung â spotÅeba a fakturovaná Äástka za každou jednotku (brutto vÄ. DPH)",unit:"Jednotka",location:"Poloha",area:"Plocha",consumption:"SpotÅeba (jednotky)",share:"PodÃl",cost:"Náklad",perM2:"â¬/m²",total:"Celkem",sort:"Åadit dle",empty:"Za tento rok nemáme kompletnà Gesamtabrechnung po jednotkách â k dispozici jsou pouze individuálnà vyúÄtovánà vlastnÃků.",privacy:"Ãdaje jsou uvedeny bez jmen vlastnÃků â pouze podle oznaÄenà jednotky (Top) dle vyúÄtovánà Techem. Sloužà pro internà kontrolu spoleÄenstvà vlastnÃků."},de:{title:"Heizungsdetail je Wohnung",desc:"Techem Gesamtabrechnung â Verbrauch und Rechnungsbetrag je Nutzeinheit (brutto inkl. USt.)",unit:"Einheit",location:"Lage",area:"Fläche",consumption:"Verbrauch (Einheiten)",share:"Anteil",cost:"Kosten",perM2:"â¬/m²",total:"Gesamt",sort:"Sortieren nach",empty:"Für dieses Jahr liegt keine vollständige Gesamtabrechnung je Einheit vor â nur die individuellen Abrechnungen der Eigentümer.",privacy:"Die Daten werden ohne Eigentümernamen ausgewiesen â nur nac
1h Einheitenbezeichnung (Top) laut Techem-Abrechnung. Dient der internen Kontrolle der Eigentümergemeinschaft."},en:{title:"Heating detail per apartment",desc:"Techem total statement â consumption and invoiced amount per unit (gross incl. VAT)",unit:"Unit",location:"Location",area:"Area",consumption:"Consumption (units)",share:"Share",cost:"Cost",perM2:"â¬/m²",total:"Total",sort:"Sort by",empty:"No complete per-unit statement is available for this year â only individual owner statements exist.",privacy:"Data is shown without owner names â only by unit label (Top) from the Techem statement. For internal review by the owners association."}},ht=r=>Math.round(r).toLocaleString("fr-FR").replace(/\u202f|\u00a0/g," ")+" â¬",xt=r=>Math.round(r).toLocaleString("fr-FR").replace(/\u202f|\u00a0/g," "),sa=()=>{const{language:r}=jt(),s=["cs","de","en"].includes(r)?r:"cs",a=na[s],[o,u]=B.useState("unit"),[k,N]=B.useState("asc"),[R,M]=B.useState(qt),O=Tt[R]??[],L=B.useMemo(()=>({cost:O.reduce((p,j)=>p+j.cost,0),area:O.reduce((p,j)=>p+j.area,0),consumption:O.reduce((p,j)=>p+j.consumption,0)}),[O]),h=B.useMemo(()=>{const j=O.map(S=>({...S,top:At(S.location),topNo:ta(S.location),perM2:S.area?S.cost/S.area:0,share:L.cost?S.cost/L.cost:0})).sort((S,w)=>o==="unit"?S.topNo-w.topNo||S.top.localeCompare(w.top):w[o]-S[o]);return k==="asc"&&o!=="unit"?j.reverse():j},[O,o,k,L.cost]),E=p=>{o===p?N(j=>j==="asc"?"desc":"asc"):(u(p),N(p==="unit"?"asc":"desc"))},be=[{key:"unit",label:a.unit},{key:"consumption",label:a.consumption},{key:"cost",label:a.cost},{key:"perM2",label:a.perM2}],U=({active:p,dir:j})=>p?j==="asc"?e.jsx(Bt,{className:"ml-1 h-3 w-3"}):e.jsx(Ut,{className:"ml-1 h-3 w-3"}):null;return e.jsxs(Y,{children:[e.jsxs(J,{className:"pb-3",children:[e.jsx(Z,{className:"font-serif text-base",children:`${a.title} (${R})`}),e.jsx(Ze,{className:"text-xs",children:a.desc})]}),e.jsxs(X,{className:"space-y-4",children:[e.jsx("div",{className:"flex flex-wrap items-center gap-1.5",children:aa.map(p=>{var S;const j=!!((S=Tt[p])!=null&&S.length);return e.jsx(ft,{size:"sm",variant:R===p?"default":"outline",className:`h-7 text-xs ${j?"":"opacity-50"}`,onClick:()=>M(p),children:p},p)})}),h.length===0?e.jsxs("div",{className:"flex gap-2 rounded-lg border border-border bg-muted/30 p-3 text-xs text-muted-foreground",children:[e.jsx(Me,{className:"mt-0.5 h-4 w-4 shrink-0"}),e.jsx("p",{children:a.empty})]}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsxs("span",{className:"text-xs text-muted-foreground",children:[a.sort,":"]}),be.map(p=>e.jsxs(ft,{size:"sm",variant:o===p.key?"default":"outline",className:"h-7 text-xs inline-flex items-center",onClick:()=>E(p.key),children:[p.label,e.jsx(U,{active:o===p.key,dir:k})]},p.key))]}),e.jsx("div",{className:"space-y-2 md:hidden",children:h.map(p=>e.jsxs("div",{className:"rounded-lg border border-border bg-muted/30 p-3",children:[e.jsxs("div",{className:"flex items-baseline justify-between gap-2",children:[e.jsxs("div",{className:"text-sm font-medium",children:["Top ",p.top,e.jsx("span",{className:"ml-2 text-xs text-muted-foreground",children:p.location})]}),e.jsx("div",{className:"text-sm font-semibold tabular-nums",children:ht(p.cost)})]}),e.jsxs("div",{className:"mt-1 grid grid-cols-3 gap-2 text-[11px] text-muted-foreground tabular-nums",children:[e.jsxs("span",{children:[p.area," m²"]}),e.jsx("span",{children:xt(p.consumption)}),e.jsxs("span",{children:[p.perM2.toFixed(1)," â¬/m²"]})]})]},p.unit))}),e.jsx("div",{className:"hidden md:block",children:e.jsxs(ze,{children:[e.jsx(Se,{children:e.jsxs(z,{className:"bg-muted/50",children:[e.jsx(T,{className:Qe("h-8 p-0 font-serif text-xs",o==="unit"&&"bg-muted/70"),children:e.jsxs("div",{className:"flex h-full w-full cursor-pointer items-center px-2 hover:bg-muted/70 transition-colors",onClick:()=>E("unit"),children:[a.unit,e.jsx(U,{active:o==="unit",dir:k})]})}),e.jsx(T,{className:"h-8 font-serif text-xs",children:a.location}),e.jsx(T,{className:"h-8 text-right font-serif text-xs",children:a.area}),e.jsx(T,{className:Qe("h-8 p-0 text-right font-serif text-xs",o==="consumption"&&"bg-muted/70"),children:e.jsxs("div",{className:"flex h-full w-full cursor-pointer items-center justify-end px-2 hover:bg-muted/70 transition-colors",onClick:()=>E("consumption"),children:[a.consumption,e.jsx(U,{active:o==="consumption",dir:k})]})}),e.jsx(T,{className:Qe("h-8 p-0 text-right font-serif text-xs",o==="cost"&&"bg-muted/70"),children:e.jsxs("div",{className:"flex h-full w-full cursor-pointer items-center justify-end px-2 hover:bg-muted/70 transition-colors",onClick:()=>
1E("cost"),children:[a.cost,e.jsx(U,{active:o==="cost",dir:k})]})}),e.jsx(T,{className:"h-8 text-right font-serif text-xs",children:a.share}),e.jsx(T,{className:Qe("h-8 p-0 text-right font-serif text-xs",o==="perM2"&&"bg-muted/70"),children:e.jsxs("div",{className:"flex h-full w-full cursor-pointer items-center justify-end px-2 hover:bg-muted/70 transition-colors",onClick:()=>E("perM2"),children:[a.perM2,e.jsx(U,{active:o==="perM2",dir:k})]})})]})}),e.jsxs(Ge,{children:[h.map(p=>e.jsxs(z,{className:"h-9",children:[e.jsxs(m,{className:"whitespace-nowrap py-1 text-xs font-medium",children:["Top ",p.top]}),e.jsx(m,{className:"whitespace-nowrap py-1 text-xs text-muted-foreground",children:p.location}),e.jsxs(m,{className:"py-1 text-right text-xs tabular-nums",children:[p.area," m²"]}),e.jsx(m,{className:"py-1 text-right text-xs tabular-nums",children:xt(p.consumption)}),e.jsx(m,{className:"py-1 text-right text-xs tabular-nums",children:ht(p.cost)}),e.jsxs(m,{className:"py-1 text-right text-xs tabular-nums",children:[(p.share*100).toFixed(1)," %"]}),e.jsx(m,{className:"py-1 text-right text-xs tabular-nums",children:p.perM2.toFixed(1)})]},p.unit)),e.jsxs(z,{className:"h-9 bg-muted/50 font-medium",children:[e.jsx(m,{className:"py-1 text-xs",colSpan:2,children:a.total}),e.jsxs(m,{className:"py-1 text-right text-xs tabular-nums",children:[L.area," m²"]}),e.jsx(m,{className:"py-1 text-right text-xs tabular-nums",children:xt(L.consumption)}),e.jsx(m,{className:"py-1 text-right text-xs tabular-nums",children:ht(L.cost)}),e.jsx(m,{className:"py-1 text-right text-xs tabular-nums",children:"100,0 %"}),e.jsx(m,{className:"py-1 text-right text-xs tabular-nums",children:(L.cost/L.area).toFixed(1)})]})]})]})})]}),e.jsxs("div",{className:"flex gap-2 rounded-lg border border-border bg-muted/30 p-3 text-xs text-muted-foreground",children:[e.jsx(Me,{className:"mt-0.5 h-4 w-4 shrink-0"}),e.jsx("div",{className:"space-y-1",children:e.jsx("p",{children:a.privacy})})]})]})]})},I={sheets:{overview:{cs:"PÅehled",de:"Ãberblick",en:"Overview"},groups:{cs:"Skupiny",de:"Gruppen",en:"Groups"},detail:{cs:"Detail položek",de:"Detailpositionen",en:"Detail items"}
1,circles:{cs:"Dalšà okruhy",de:"Weitere Kreise",en:"Other circles"},oil:{cs:"Topný olej",de:"Heizöl",en:"Heating oil"},manager:{cs:"Náklady správce",de:"Kosten Verwaltung",en:"Management costs"},reserve:{cs:"Rezervnà fond",de:"Rücklage",en:"Reserve fund"}},title:{cs:"Provoznà náklady domu â report",de:"Betriebskosten â Report",en:"Operating costs â report"},exported:{cs:"Datum exportu",de:"Exportdatum",en:"Export date"},vatNote:{cs:"VÅ¡echny Äástky jsou vÄetnÄ DPH (v EUR) â tj. Äástky skuteÄnÄ hrazené vlastnÃky.",de:"Alle Beträge inkl. USt. (in EUR) â also die von den Eigentümern tatsächlich bezahlten Beträge.",en:"All amounts incl. VAT (in EUR) â i.e. amounts actually paid by owners."},vatNoteManager:{cs:"VÅ¡echny Äástky vÄ. DPH (BK allg. + 10 % USt) â tj. Äástky skuteÄnÄ hrazené vlastnÃky.",de:"Alle Beträge inkl. USt. (BK allg. + 10 % USt) â tatsächlich von den Eigentümern bezahlt.",en:"All amounts incl. VAT (general operating costs + 10% VAT) â as actually paid by owners."},vatNoteOil:{cs:"Ceny oleje jsou NETTO dle Techem (bez DPH); brutto náklad na topenà je v listu âDalšà okruhyâ (vÄ. 20 % DPH).",de:"Ãlpreise sind NETTO laut Techem (ohne USt.); die Bruttoheizkosten stehen im Blatt âWeitere Kreiseâ (inkl. 20 % USt.).",en:"Oil prices are NET per Techem (excl. VAT); gross heating cost is on the âOther circlesâ sheet (incl. 20% VAT)."},year:{cs:"Rok",de:"Jahr",en:"Year"},group:{cs:"Skupina",de:"Gruppe",en:"Group"},item:{cs:"Položka",de:"Position",en:"Item"},note:{cs:"Poznámka",de:"Bemerkung",en:"Note"},bk:{cs:"Provoznà náklady (BK allg.)",de:"Betriebskosten allgemein",en:"Operating costs (general)"},heat:{cs:"Topenà + teplá voda",de:"Heizung + Warmwasser",en:"Heating + hot water"},water:{cs:"Voda / silnice / zimnà služba",de:"Wasser / StraÃe / Winterdienst",en:"Water / road / winter service"},running:{cs:"Provoz celkem (bez rezervy)",de:"Laufende Kosten gesamt (ohne Rücklage)",en:"Running costs total (excl. reserve)"},reserveExp:{cs:"Výdaje rezervnÃho fondu",de:"Ausgaben Rücklage",en:"Reserve fund expenditure"},reserveBal:{cs:"Stav rezervnÃho fondu k 31. 12.",de:"Rücklagenstand zum 31.12.",en:"Reserve fund balance at 31 Dec"},change:{cs:"ZmÄna vs. pÅedchozà rok",de:"Veränderung zum Vorjahr",en:"Change vs. previous year"},total:{cs:"CELKEM",de:"GESAMT",en:"TOTAL"},vat:{cs:"DPH",de:"USt.",en:"VAT"},net:{cs:"Netto dle vyúÄtovánÃ",de:"Netto laut Abrechnung",en:"Net per statement"},gross:{cs:"Brutto (hrazeno vlastnÃky)",de:"Brutto (von Eigentümern bezahlt)",en:"Gross (paid by owners)"},netGrossTitle:{cs:"Kontrola netto / brutto",de:"Kontrolle netto / brutto",en:"Net / gross check"},oilOpening:{cs:"Stav nádrže k 1. 1. (L)",de:"Bestand am 1.1. (L)",en:"Opening stock (L)"},oilDelivered:{cs:"Dodávky (L)",de:"Anlieferung (L)",en:"Deliveries (L)"},oilClosing:{cs:"Zbytek k 31. 12. (L)",de:"Restbestand am 31.12. (L)",en:"Closing stock (L)"},oilBurned:{cs:"Protopeno (L)",de:"Verbrauch (L)",en:"Burned (L)"},oilCost:{cs:"Náklad na olej (netto)",de:"Ãlkosten (netto)",en:"Oil
1cost (net)"},oilPrice:{cs:"Cena za litr (netto)",de:"Preis pro Liter (netto)",en:"Price per liter (net)"},na:{cs:"neuvedeno",de:"nicht angegeben",en:"not stated"},purpose:{cs:"Za co (úÄel)",de:"Wofür (Zweck)",en:"What for (purpose)"},shareRunning:{cs:"PodÃl na provozu (poslednà rok)",de:"Anteil an lauf. Kosten (letztes Jahr)",en:"Share of running costs (last year)"},managerTitle:{cs:"Náklady na správu domu â kdo, kolik a za co",de:"Verwaltungskosten â wer, wie viel und wofür",en:"Management costs â who, how much and what for"},recipient:{cs:"PÅÃjemce / role",de:"Empfänger / Rolle",en:"Recipient / role"},file:{cs:"provozni-naklady",de:"betriebskosten",en:"operating-costs"}},oa={"Mzdy â Walter & Margit":{cs:"Hrubé mzdy domovnického páru â dennà úklid domu a spoleÄných prostor, obsluha kotelny a bazénu, drobná údržba, kontrola objektu.",de:"Bruttolöhne des Hausbesorger-Ehepaars â tägliche Reinigung von Haus und Allgemeinflächen, Betreuung von Heizraum und Hallenbad, Kleininstandhaltung, Objektkontrolle.",en:"Gross wages of the caretaker couple â daily cleaning of the building and common areas, boiler room and pool operation, minor maintenance, site checks."},"Mzdové odvody":{cs:"Zákonné odvody a pÅÃspÄvky zamÄstnavatele ke mzdám domovnÃků (danÄ, fondy).",de:"Gesetzliche Lohnabgaben und Dienstgeberbeiträge zu den Hausbesorgerlöhnen.",en:"Statutory payroll levies and employer contributions on caretaker wages."},"Sociálnà pojiÅ¡tÄnà správce":{cs:"Sociálnà a zdravotnà pojiÅ¡tÄnà domovnÃků (ÃGK) â od 2024 vykazováno samostatnÄ.",de:"Sozialversicherung der Hausbesorger (ÃGK) â ab 2024 gesondert ausgewiesen.",en:"Caretaker social insurance (ÃGK) â reported separately since 2024."},"Extra venkovnà údržba (Aussenanlagen)":{cs:"Práce nad rámec mzdy â sekánà a údržba zelenÄ, okolà domu, parkoviÅ¡tÄ, chodnÃky.",de:"Leistungen über den Lohn hinaus â Grünflächenpflege, AuÃenanlagen, Parkplatz, Gehwege.",en:"Work beyond wages â green areas, outdoor grounds, parking, walkways."},"Extra ostatnà práce":{cs:"Jednorázové vyúÄtované práce a náklady domovnÃka (napÅ. elektÅina/topenà domovnického bytu).",de:"Einmalig verrechnete Leistungen und Kosten des Hausmeisters (z. B. Strom/Heizung Hausmeister).",en:"One-off invoiced caretaker services and costs (e.g. caretaker electricity/heating)."},"Externà správa domu (Hausverwaltung)":{cs:"OdmÄna profesionálnà externà správy domu (Hausverwaltung) â úÄetnictvà a roÄnà vyúÄtovánÃ, platby dodavatelům, smlouvy, pojistné události, pÅÃprava a vedenà shromáždÄnà vlastnÃků, právnà agenda. Netýká se domovnÃků.",de:"Honorar der professionellen externen Hausverwaltung â Buchhaltung und Jahresabrechnung, Zahlungsverkehr an Lieferanten, Verträge, Schadensfälle, Vorbereitung und Leitung der Eigentümerversammlung, rechtliche Agenden. Betrifft nicht die Hausbesorger.",en:"Fee of the professional external property management company â bookkeeping and annual statements, supplier payments, contracts, insurance claims, preparing and chairing the owners meeting, legal matters. Not related to the caretakers."},Telefon:{cs:"Telefonnà linka domovnÃka â provoznà komunikace s vlastnÃky, dodavateli a servisnÃmi firmami (náklad spojený s domovnÃkem, ne se správou).",de:"Telefonanschluss des Hausbesorgers â Betriebskommunikation mit Eigentümern, Lieferanten und Servicefirmen (Kosten des Hausbesorgers, nicht der Verwaltung).",en:"Caretaker phone line â operational communication with owners, suppliers and service companies (a caretaker-related cost, not a management fee)."},Internet:{cs:"Internetové pÅipojenà pro domovnÃka a techniku domu (výtah, kotelna, kamera, komunikace) â náklad spojený s domovnÃkem, ne se správou.",de:"Internetanschluss für den Hausbesorger und die Haustechnik (Aufzug, Heizraum, Kamera, Kommunikation) â Kosten des Hausbesorgers, nicht der Verwaltung.",en:"Internet connection for the caretaker and building technology (elevator, boiler room, camera, communication) â a caretaker-related cost, not a management fee."},PoÅ¡tovné:{cs:"PoÅ¡tovné za korespondenci se spoluvlastnÃky a úÅady (agenda správy).",de:"Porto für Korrespondenz mit Miteigentümern und Behörden (Verwaltungsagenda).",en:"Postage for correspondence with co-owners and authorities (management agenda)."}
1,"Ãroky a bankovnà poplatky":{cs:"Nenà odmÄna za správu ani náklad domovnÃka â jde o finanÄnà náklady spoleÄenstvÃ: vedenà bankovnÃho úÄtu, poplatky za platebnà styk a úroky (napÅ. z úvÄru / kontokorentu).",de:"Weder Verwaltungshonorar noch Hausbesorgerkosten â Finanzierungskosten der Eigentümergemeinschaft: Kontoführung, Spesen des Zahlungsverkehrs und Zinsen (z. B. Kredit / Ãberziehung).",en:"Neither a management fee nor a caretaker cost â financing costs of the owners association: bank account maintenance, transaction fees and interest (e.g. loan / overdraft)."}},zt={caretaker:{cs:"DomovnÃk (provoz)",de:"Hausbesorger (Betrieb)",en:"Caretaker (operations)"},manager:{cs:"Externà správa domu",de:"Externe Hausverwaltung",en:"External property management"},finance:{cs:"Bankovnà a finanÄnà náklady",de:"Bank- und Finanzierungskosten",en:"Bank & financing costs"}},ra={"Externà správa domu (Hausverwaltung)":"manager",PoÅ¡tovné:"manager",Telefon:"caretaker",Internet:"caretaker","Ãroky a bankovnà poplatky":"finance"},rt=["caretaker","manager","finance"],it=r=>ra[r.label.cs]||(r.group==="admin"?"manager":"caretaker"),ia=["caretaker","admin"],Re=["caretaker","admin","energy","pool","maintenance","taxes","other"],H='#,##0 â¬;(#,##0 â¬);"-"',St='#,##0;(#,##0);"-"',Gt="0.000 â¬",lt="FF16453A",la="FFEDF3F0",ca="FFD5DEDA",fe="Arial",_=r=>{let s="",a=r;for(;a>0;){const o=(a-1)%26;s=String.fromCharCode(65+o)+s,a=Math.floor((a-1)/26)}return s},me={style:"thin",color:{argb:ca}};function De(r,s,a,o,u){r.mergeCells(1,1,1,u);const k=r.getCell(1,1);k.value=s,k.font={name:fe,bold:!0,size:15,color:{argb:lt}},k.alignment={vertical:"middle"},r.getRow(1).height=26,r.mergeCells(2,1,2,u);const N=r.getCell(2,1);N.value=a,N.font={name:fe,size:9,color:{argb:"FF6B7C76"}},r.mergeCells(3,1,3,u);const R=r.getCell(3,1);R.value=o,R.font={name:fe,size:9,italic:!0,color:{argb:"FF6B7C76"}}}function ve(r,s,a,o=1){const u=r.getRow(s);u.height=28;for(let k=1;k<=a;k++){const N=u.getCell(k);N.font={name:fe,bold:!0,size:10,color:{argb:"FFFFFFFF"}},N.fill={type:"pattern",pattern:"solid",fgColor:{argb:lt}},N.alignment={horizontal:k<=o||k===a&&o>1?"left":"right",vertical:"middle",wrapText:!0},N.border={top:me,bottom:me,left:me,right:me}}}function oe(r,s,a,o,u=1,k=!0){for(let N=s;N<=a;N++){const R=r.getRow(N);k&&(R.height=17);for(let M=1;M<=o;M++){const O=R.getCell(M);O.font={name:fe,size:10},O.border={top:me,bottom:me,left:me,right:me},O.alignment={horizontal:M<=u?"left":"right",vertical:"middle"},(N-s)%2===1&&(O.fill={type:"pattern",pattern:"solid",fgColor:{argb:"FFF7FAF9"}})}}}function Oe(r,s,a){const o=r.getRow(s);o.height=20;for(let u=1;u<=a;u++){const k=o.getCell(u);k.font={name:fe,bold:!0,size:10,color:{argb:lt}},k.fill={type:"pattern",pattern:"solid",fgColor:{argb:la}},k.border={top:{style:"medium",color:{argb:lt}},bottom:me,left:me,right:me},k.alignment={horizontal:u===1?"left":"right",vertical:"middle"}}}function G(r,s,a,o,u,k){for(let N=s;N<=a;N++)for(let R=o;R<=u;R++)r.getCell(N,R).numFmt=k}function Ae(r,s){s.forEach((a,o)=>r.getColumn(o+1).width=a)}async function da(r="cs"){const s=n=>I[n][r],a=[...Ot],o=a.length,u=new $t.Workbook;u.creator="Hintermoos",u.created=new Date;const k=new Date().toLocaleDateString(r==="cs"?"cs-CZ":r==="de"?"de-AT":"en-GB"),N=`${s("exported")}: ${k}`,R=ie.find(n=>n.label.cs==="VytápÄnÃ"),M=ie.find(n=>n.label.cs==="Teplá voda"),O=ie.find(n=>n.label.cs==="Voda / silnice / zimnà služba"),L=ie.find(n=>n.label.cs==="Výdaje rezervnÃho fondu"),h=u.addWorksheet(I.sheets.overview[r],{views:[{state:"frozen",xSplit:1,ySplit:5}],pageSetup:{orientation:"landscape",fitToPage:!0,fitToWidth:1,fitToHeight:0}}),E=o+1;De(h,s("title"),N,s("vatNote"),E),Ae(h,[44,...a.map(()=>16)]),h.getRow(5).values=[s("year"),...a.map(n=>String(n))],ve(h,5,E);const be=6;h.getRow(6).values=[s("bk"),...a.map(n=>Ee(n))],h.getRow(7).values=[s("heat"),...a.map(n=>((R==null?void 0:R.values[n])||0)+((M==null?void 0:M.values[n])||0))],h.getRow(8).values=[s("water"),...a.map(n=>(O==null?void 0:O.values[n])||0)],oe(h,6,8,E),G(h,6,8,2,E,H);const U=9;h.getCell(U,1).value=s("running"),a.forEach((n,c)=>{const x=_(c+2);h.getCell(U,c+2).value={formula:`SUM(${x}${be}:${x}8)`}}),Oe(h,U,E),G(h,U,U,2,E,H);const p=10;
1h.getCell(p,1).value=s("change"),a.slice(1).forEach((n,c)=>{const x=_(c+3),W=_(c+2);h.getCell(p,c+3).value={formula:`(${x}${U}-${W}${U})/${W}${U}`}}),oe(h,p,p,E),G(h,p,p,2,E,'0.0%;-0.0%;"-"');const j=12;h.getCell(j,1).value=s("reserveExp"),a.forEach((n,c)=>h.getCell(j,c+2).value=(L==null?void 0:L.values[n])??null),h.getCell(j+1,1).value=s("reserveBal"),a.forEach((n,c)=>h.getCell(j+1,c+2).value=Xe[n]??null),oe(h,j,j+1,E),G(h,j,j+1,2,E,H);const S=j+3;h.getRow(S).values=[s("group"),...a.map(n=>String(n))],ve(h,S,E),Re.forEach((n,c)=>{h.getRow(S+1+c).values=[re[n][r],...a.map(x=>P(n,x))]}),oe(h,S+1,S+Re.length,E),G(h,S+1,S+Re.length,2,E,H);const w=S+Re.length+1;h.getCell(w,1).value=s("total"),a.forEach((n,c)=>{const x=_(c+2);h.getCell(w,c+2).value={formula:`SUM(${x}${S+1}:${x}${w-1})`}}),Oe(h,w,E),G(h,w,w,2,E,H);const y=u.addWorksheet(I.sheets.groups[r],{views:[{state:"frozen",xSplit:1,ySplit:5}],pageSetup:{orientation:"landscape",fitToPage:!0,fitToWidth:1,fitToHeight:0}}),ee=o+2;De(y,`${s("title")} â ${I.sheets.groups[r]}`,N,s("vatNote"),ee),Ae(y,[36,...a.map(()=>15),18]),y.getRow(5).values=[s("group"),...a.map(n=>String(n)),s("total")],ve(y,5,ee),Re.forEach((n,c)=>{const x=6+c;y.getRow(x).values=[re[n][r],...a.map(W=>P(n,W))],y.getCell(x,ee).value={formula:`SUM(B${x}:${_(o+1)}${x})`}});const Ne=5+Re.length;oe(y,6,Ne,ee),G(y,6,Ne,2,ee,H);const te=Ne+1;y.getCell(te,1).value=s("total");for(let n=2;n<=ee;n++){const c=_(n);y.getCell(te,n).value={formula:`SUM(${c}6:${c}${Ne})`}}Oe(y,te,ee),G(y,te,te,2,ee,H);const A=u.addWorksheet(I.sheets.detail[r],{views:[{state:"frozen",xSplit:2,ySplit:5}],pageSetup:{orientation:"landscape",fitToPage:!0,fitToWidth:1,fitToHeight:0}}),le=o+4;De(A,`${s("title")} â ${I.sheets.detail[r]}`,N,s("vatNote"),le),Ae(A,[24,42,...a.map(()=>14),16,60]),A.getRow(5).values=[s("group"),s("item"),...a.map(n=>String(n)),s("total"),s("note")],ve(A,5,le,2);const He=Re.flatMap(n=>Ce.filter(c=>c.group===n));He.forEach((n,c)=>{var W;const x=6+c;A.getRow(x).values=[re[n.group][r],n.label[r],...a.map(we=>n.values[we]||0)],A.getCell(x,o+3).value={formula:`SUM(C${x}:${_(o+2)}${x})`},A.getCell(x,o+4).value=((W=n.note)==null?void 0:W[r])||""});const pe=5+He.length;oe(A,6,pe,le,2,!1),G(A,6,pe,3,o+3,H);for(let n=6;n<=pe;n++)A.getCell(n,le).alignment={horizontal:"left",vertical:"middle",wrapText:!0},A.getCell(n,le).font={name:fe,size:9,color:{argb:"FF6B7C76"}};const je=pe+1;A.getCell(je,1).value=s("total");for(let n=3;n<=o+3;n++){const c=_(n);A.getCell(je,n).value={formula:`SUM(${c}6:${c}${pe})`}}Oe(A,je,le),G(A,je,je,3,o+3,H),A.autoFilter={from:{row:5,column:1}
1,to:{row:pe,column:le}};const C=u.addWorksheet(I.sheets.circles[r],{views:[{state:"frozen",xSplit:1,ySplit:5}],pageSetup:{orientation:"landscape",fitToPage:!0,fitToWidth:1,fitToHeight:0}}),F=o+3;De(C,`${s("title")} â ${I.sheets.circles[r]}`,N,s("vatNote"),F),Ae(C,[38,26,...a.map(()=>15),70]),C.getRow(5).values=[s("item"),s("vat"),...a.map(n=>String(n)),s("note")],ve(C,5,F,2),ie.forEach((n,c)=>{const x=6+c;C.getRow(x).values=[n.label[r],n.vat===null?s("na"):n.vat,...a.map(W=>n.values[W]??null)],C.getCell(x,F).value=n.note[r]});const Pe=5+ie.length;oe(C,6,Pe,F,2,!1),G(C,6,Pe,3,o+2,H);for(let n=6;n<=Pe;n++){const c=C.getCell(n,2);typeof c.value=="number"&&(c.numFmt="0%"),C.getCell(n,F).alignment={horizontal:"left",vertical:"middle",wrapText:!0},C.getCell(n,F).font={name:fe,size:9,color:{argb:"FF6B7C76"}}}const q=Pe+2;C.getRow(q).values=[s("netGrossTitle"),"",...a.map(n=>String(n))],ve(C,q,F,2);let he=q;bt.forEach(n=>{he+=1,C.getRow(he).values=[n.label[r],s("net"),...a.map(c=>n.net[c]??null)],C.getCell(he,F).value=n.note[r],he+=1,C.getRow(he).values=[n.label[r],s("gross"),...a.map(c=>n.gross[c]??null)]}),oe(C,q+1,he,F,2,!1),G(C,q+1,he,3,o+2,H);for(let n=q+1;n<=he;n++)C.getCell(n,F).alignment={horizontal:"left",vertical:"middle",wrapText:!0},C.getCell(n,F).font={name:fe,size:9,color:{argb:"FF6B7C76"}};const D=u.addWorksheet(I.sheets.oil[r],{views:[{state:"frozen",ySplit:5}],pageSetup:{orientation:"landscape",fitToPage:!0,fitToWidth:1,fitToHeight:0}});De(D,`${s("title")} â ${I.sheets.oil[r]}`,N,s("vatNoteOil"),7),Ae(D,[12,20,18,22,16,20,20]),D.getRow(5).values=[s("year"),s("oilOpening"),s("oilDelivered"),s("oilClosing"),s("oilBurned"),s("oilCost"),s("oilPrice")],ve(D,5,7),Q.forEach((n,c)=>{const x=6+c;D.getRow(x).values=[String(n.year),n.opening??null,n.delivered??null,n.closing??null,n.liters??null,n.costNet??null],n.liters&&n.costNet&&(D.getCell(x,7).value={formula:`F${x}/E${x}`})});const ae=5+Q.length;oe(D,6,ae,7),G(D,6,ae,2,5,St),G(D,6,ae,6,6,H),G(D,6,ae,7,7,Gt);const $=ae+1;D.getCell($,1).value=s("total"),D.getCell($,5).value={formula:`SUM(E6:E${ae})`},D.getCell($,6).value={formula:`SUM(F6:F${ae})`},D.getCell($,7).value={formula:`F${$}/E${$}`},Oe(D,$,7),G(D,$,$,5,5,St),G(D,$,$,6,6,H),G(D,$,$,7,7,Gt);const b=u.addWorksheet(I.sheets.manager[r],{views:[{state:"frozen",xSplit:2,ySplit:5}],pageSetup:{orientation:"landscape",fitToPage:!0,fitToWidth:1,fitToHeight:0}}),ne=o+5;De(b,s("managerTitle"),N,s("vatNoteManager"),ne),Ae(b,[26,40,...a.map(()=>14),16,14,70]),b.getRow(5).values=[s("recipient"),s("item"),...a.map(n=>String(n)),s("total"),s("shareRunning"),s("purpose")],ve(b,5,ne,2);const Be=ia.flatMap(n=>Ce.filter(c=>c.group===n)).sort((n,c)=>rt.indexOf(it(n))-rt.indexOf(it(c))),K=a[a.length-1],Fe=Ee(K)+((R==null?void 0:R.values[K])||0)+((M==null?void 0:M.values[K])||0)+((O==null?void 0:O.values[K])||0);Be.forEach((n,c)=>{var W,we;const x=6+c;b.getRow(x).values=[zt[it(n)][r],n.label[r],...a.map(dt=>n.values[dt]||0)],b.getCell(x,o+3).value={formula:`SUM(C${x}:${_(o+2)}${x})`},b.getCell(x,o+4).value=Fe?(n.values[K]||0)/Fe:null,b.getCell(x,ne).value=((W=oa[n.label.cs])==null?void 0:W[r])||((we=n.note)==null?void 0:we[r])||""});const ke=5+Be.length;oe(b,6,ke,ne,2,!1),G(b,6,ke,3,o+3,H),G(b,6,ke,o+4,o+4,'0.0%;-0.0%;"-"');for(let n=6;n<=ke;n++)b.getCell(n,ne).alignment={horizontal:"left",vertical:"top",wrapText:!0},b.getCell(n,ne).font={name:fe,size:9,color:{argb:"FF6B7C76"}};const ce=ke+1;b.getCell(ce,1).value=s("total");for(let n=3;n<=o+3;n++){const c=_(n);b.getCell(ce,n).value={formula:`SUM(${c}6:${c}${ke})`}}b.getCell(ce,o+4).value={formula:`SUM(${_(o+4)}6:${_(o+4)}${ke})`},Oe(b,ce,ne),G(b,ce,ce,3,o+3,H),G(b,ce,ce,o+4,o+4,'0.0%;-0.0%;"-"');const xe=ce+2;b.getRow(xe).values=[s("recipient"),"",...a.map(n=>String(n)),s("total")],ve(b,xe,o+3,2),rt.forEach((n,c)=>{const x=xe+1+c,W=Be.filter(we=>it(we)===n);b.getRow(x).values=[zt[n][r],"",...a.map(we=>W.reduce((dt,Lt)=>dt+(Lt.values[we]||0),0))],b.getCell(x,o+3).value={formula:`SUM(C${x}:${_(o+2)}${x})`}});const t=xe+rt.length;oe(b,xe+1,t,o+3,2),G(b,xe+1,t,3,o+3,H);const l=t+1;b.getCell(l,1).value=s("total");for(let n=3;n<=o+3;n++){const c=_(n);b.getCell(l,n).value={formula:`SUM(${c}${xe+1}:${c}${t})`}}Oe(b,l,o+3),G(b,l,l,3,o+3,H);const i=u.addWorksheet(I.sheets.reserve[r],{views:[{state:"frozen",ySplit:5}],pageSetup:{orientation:"portrait",fitToPage:!0,fitToWidth:1,fitToHeight:0}});De(i,`${s("title")} â ${I.sheets.reserve[r]}`,N,s("vatNote"),3),Ae(i,[12,32,36]),i.getRow(5).values=[s("year"),s("reserveExp"),s("reserveBal")],ve(i,5,3);const d=Object.keys(Xe).map(Number).sort((n,c)=>n-c);d.forEach((n,c)=>{i.getRow(6+c).values=[String(n),(L==null?void 0:L.values[n])??null,Xe[n]]});const g=5+d.length;oe(i,6,g,3),G(i,6,g,2,3,H);const f=new Date().toISOString().slice(0,10),se=await u.xlsx.writeBuffer(),V=new Blob([se],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}),ge=URL.createObjectURL(V),qe=document.createElement("a");qe.href=ge,qe.download=`${I.file[r]}-${a[0]}-${a[a.length-1]}-${f}.xlsx`,qe.click(),URL.revokeObjectURL(ge)}const Le={title:{cs:"Kontrola dokladů (Belegprüfung) â zjiÅ¡tÄnà vlastnÃků",de:"Belegprüfung â Feststellungen der Eigentümer",en:"Document review (Belegprüfung) â findings by owners"},performed:{cs:"ProbÄhla v kvÄtnu a Äervnu 2026 pÅed odeslánÃm vyúÄtovánà za rok 2025.",de:"Fand im Mai und Juni 2026 vor Versand der Abrechnung 2025 statt.",en:"Took place in May and June 2026 before the 2025 statement was sent."},participants:["Robert Neuhold","Winfried Kamp"],scope:{cs:"ProhlÃdka a kontrola dokladů k provoznÃm nákladům (Betriebskostenabrechnung 2025) a srovnánà s roky 2021â2024.",de:"Durchsicht und Prüfung der Belege für die Betriebskostenabrechnung 2025 sowie Vergleich mit den Jahren 2021â2024.",en:"Review and inspection of supporting documents for the 2025 operating cost statement and comparison with the years 2021â2024."},findings:{cs:"Provoznà náklady za poslednÃch pÄt let výraznÄ vzrostly. Podstatnou Äást nárůstu ale tvoÅà jednorázové vlivy roku 2025 â opravy bazénu, nová obecnà daÅ a odkup internetového hardware. Po jejich zohlednÄnà je růst zhruba na úrovni inflace a nenaÅ¡li jsme žádné neoprávnÄné ani nedoložené výdaje. Rezervnà fond nenà provoznà náklad â sloužà k investicÃm a velkým opravám a posuzuje se oddÄlenÄ.",de:"Die Betriebskosten sind in den letzten fünf Jahren deutlich gestiegen. Ein wesentlicher Teil des Anstiegs geht jedoch auf Sondereinflüsse des Jahres 2025 zurück â Schwimmbadreparaturen, die neue Gemeindeabgabe und den Rückkauf der Internet-Hardware. Bereinigt liegt der Anstieg etwa auf Inflationsniveau; unberechtigte oder nicht belegte Ausgaben wurden nicht festgestellt. Die Rücklage ist kein Betriebskostenaufwand â sie dient Investitionen und GroÃreparaturen und wird getrennt betrachtet.",en:"Operating costs have risen noticeably over the past five years. A substantial part of the increase stems from one-off effects in 2025 â pool repairs, the new municipal charge and the internet hardware buyback. Adjusted for these, the increase is roughly in line with inflation, and no unjustified or undocumented expenses were found. The reserve fund is not an operating cost â it funds investments and major repairs and is asse
1ssed separately."},openPoints:{cs:"Gemeindeabgabe za nezastavÄné pozemky / prázdné byty â bude projednáno na pÅÃÅ¡tÃm shromáždÄnà vlastnÃků.",de:"Gemeindeabgabe für unbebaute Grundstücke / leerstehende Wohnungen â wird auf der nächsten Eigentümerversammlung besprochen.",en:"Municipal charge for undeveloped plots / vacant apartments â to be discussed at the next owners meeting."},disclaimer:{cs:"Toto je souhrn zjiÅ¡tÄnà vlastnÃků Roberta Neuholda a Winfrieda Kampa z kontroly dokladů. Nejedná se o oficiálnà kontrolnà protokol, audit správy domu ani právnÄ závazné vyjádÅenÃ.",de:"Dies ist eine Zusammenfassung der Feststellungen der Eigentümer Robert Neuhold und Winfried Kamp aus der Belegprüfung. Es handelt sich nicht um ein offizielles Prüfprotokoll, einen Audit der Hausverwaltung oder eine rechtlich bindende Stellungnahme.",en:"This is a summary of findings by owners Robert Neuhold and Winfried Kamp from the document review. It is not an official inspection protocol, a management audit or a legally binding statement."}},ua=[{itemLabelCs:"Krytý bazén",year:2025,summary:{cs:"VÃce oprav bazénu v roce 2025.",de:"Mehrere Schwimmbad-Reparaturen 2025.",en:"More pool repairs in 2025."},text:{cs:"V roce 2025 bylo u krytého bazénu potÅeba vÃce malých i nÄkolik vÄtÅ¡Ãch oprav.",de:"Im Jahr 2025 waren beim Hallenbad mehrere kleine und einige gröÃere Reparaturen erforderlich.",en:"In 2025, the indoor pool required several minor repairs and a few larger ones."},role:"owner",author:"Robert Neuhold",status:"open",date:"2026-07-19"},{itemLabelCs:"PÅÃspÄvky",year:2025,summary:{cs:"Nová obecnà daÅ za nezastavÄné pozemky.",de:"Neue Gemeindeabgabe für unbebaute Grundstücke.",en:"New municipal charge for undeveloped plots."},text:{cs:"Obec Maria Alm zavedla od roku 2024 (vybÃráno 2025) dodateÄnou daÅ za nezastavÄné pozemky a prázdné byty. Týká se i naÅ¡eho pozemku, kde byl pÅed 50 lety plánován druhý dům. Téma bude na pÅÃÅ¡tÃm shromáždÄnà vlastnÃků.",de:"Die Gemeinde Maria Alm hat ab 2024 (verrechnet 2025) eine zusätzliche Abgabe für unbebaute Grundstücke und leerstehende Wohnungen eingeführt. Betrifft auch unseren Parkplatz, vor 50 Jahren war dort ein zweites Wohngebäude geplant. Wird auf der nächsten Eigentümerversammlung besprochen.",en:"The municipality of Maria Alm introduced an additional charge from 2024 (billed in 2025) for undeveloped plots and vacant apartments. It also affects our plot, where a second building was planned 50 years ago. Will be discussed at the next owners meeting."},role:"owner",author:"Robert Neuhold",status:"open",date:"2026-07-19"},{itemLabelCs:"Kanalizace",year:2025,summary:{cs:"Vyššà spotÅeba vody 2024 a zvýšenà akonta.",de:"Höherer Wasserverbrauch 2024 und erhöhte Akontozahlung.",en:"Higher water consumption in 2024 and increased advance payment."},text:{cs:"V roce 2024 byl vyššà spotÅeba vody, která se vyrovnala až s roÄnÃm vyúÄtovánÃm na zaÄátku roku 2025. S tÃm se souÄasnÄ zvýšila i akonta.",de:"Im Jahr 2024 lag ein höherer Wasserverbrauch vor, der erst mit der Jahresabrechnung Anfang 2025 ausgeglichen wurde. Damit wurde auch die Akontozahlung erhöht.",en:"In 2024, water consumption was higher and was only settled with the annual statement at the beginning of 2025. The advance payment was increased accordingly."},role:"owner",author:"Robert Neuhold",status:"open",date:"2026-07-19"},{itemLabelCs:"PojiÅ¡tÄnà domu",year:2025,summary:{cs:"PÅechod na kalendáÅnà rok a nové ocenÄnÃ.",de:"Umstellung auf Kalenderjahr und Neubewertung.",en:"Switch to calendar year and new valuation."},text:{cs:"Za ARIS bylo pojiÅ¡tÄnà platné od Äervna do kvÄtna následujÃcÃho roku. Nová správa (ARIS) pÅeÅ¡la na kalendáÅnà rok, proto se v roce 2024 platilo pouze 6 mÄsÃců. V roce 2025 byla splatná plná roÄnà prémie. NavÃc byl dům novÄ ocenÄn (vyššà náklady na obnovu), což zvýšilo pojistné.",de:"Bei A&P lief die Versicherung von Juni bis Mai des Folgejahres. Aris hat dies auf das Kalenderjahr umgestellt, daher wurden 2024 nur 6 Monate Prämie bezahlt. 2025 war die volle Jahresprämie fällig. AuÃerdem wurde das Haus neu bewertet (höhere Wiederherstellungskosten), was die Prämie erhöhte.",en:"Under A&P the insurance peri
1od ran from June to May of the following year. Aris switched to the calendar year, so only 6 months of premium were paid in 2024. In 2025 the full annual premium was due. The building was also revalued (higher reinstatement costs), increasing the premium."},role:"owner",author:"Robert Neuhold",status:"open",date:"2026-07-19"},{itemLabelCs:"Opravy a údržba",year:2025,summary:{cs:"DodateÄné úklidy po rekonstrukcÃch a vodnÃch Å¡kodách.",de:"Zusätzliche Reinigungen nach Umbauten und Wasserschäden.",en:"Additional cleaning after renovations and water damage."},text:{cs:"Zvýšené náklady v této položce byly způsobeny pÅedevÅ¡Ãm dodateÄnými úklidy po rekonstrukcÃch a vodnÃch Å¡kodách.",de:"Die zusätzlichen Kosten in dieser Position entstanden vorwiegend durch zusätzlich erforderliche Reinigungen nach Umbauten und Wasserschäden.",en:"The increased costs in this line were mainly caused by additional cleaning required after renovations and water damage."},role:"owner",author:"Robert Neuhold",status:"open",date:"2026-07-19"},{itemLabelCs:"Ostatnà náklady",year:2025,summary:{cs:"ZpÄtný odkup internetové hardware.",de:"Rückkauf Internet-Hardware.",en:"Buyback of internet hardware."},text:{cs:"V položce âOstatnà nákladyâ byl v roce 2025 zahrnut zpÄtný odkup internetové hardware (3 822 â¬) od Jana. Odkup probÄhl na základÄ rozhodnutà pÅijatého na shromáždÄnà vlastnÃků vÄtÅ¡inou majitelů.",de:"In der Position âDiverser Aufwandâ wurde 2025 der Rückkauf der Internet-Hardware (⬠3.822) von Jan verbucht. Der Rückkauf erfolgte auf Grundlage eines Beschlusses der Eigentümerversammlung, der von der Mehrheit der Eigentümer angenommen wurde.",en:"The âOther costsâ line for 2025 includes the buyback of internet hardware (⬠3,822) from Jan. The buyback was based on a decision adopted at the owners' meeting by a majority of owners."},role:"owner",author:"Robert Neuhold",status:"open",date:"2026-07-19"},{itemLabelCs:"Mzdové odvody",year:2025,summary:{cs:"Odložené mzdové náklady za dovolenkové zastupovánà 2024.",de:"Verschleppte Lohnkosten für Urlaubsvertretung 2024.",en:"Deferred wage costs for holiday cover 2024."},text:{cs:"ARIS nezaplatilo náklady za dovolenkové zastupovánà Waltera a Margit v roce 2024, proto tyto náklady dopadly až do roku 2025.",de:"Aris hat die Kosten für die Urlaubsvertretung von Walter und Margit 2024 nicht bezahlt, daher fielen diese Kosten erst 2025 an.",en:"Aris did not pay the costs for holiday cover of Walter and Margit in 2024, so those costs only fell due in 2025."},role:"owner",author:"Robert Neuhold",status:"open",date:"2026-07-19"},{itemLabelCs:"Extra venkovnà údržba (Aussenanlagen)",year:2025,summary:{cs:"MimoÅádné práce: stÅÃhánà stromů.",de:"AuÃerordentliche Arbeiten: Baumschnitt.",en:"Extraordinary work: tree trimming."},text:{cs:"V nákladech na venkovnà údržbu byly mimoÅádné práce â stÅÃhánà stromů nad hlavnÃm vchodem a v oblasti parkoviÅ¡tÄ.",de:"Bei den Aussenanlagen sind auÃerordentliche Arbeiten angefallen â Baumschnitt über dem Haupteingang und im Bereich des Parkplatzes.",en:"Extraordinary work was required for outdoor maintenance â tree trimming above the main entrance and in the parking area."},role:"owner",author:"Robert Neuhold",status:"open",date:"2026-07-19"},{itemLabelCs:"Odvoz odpadu",year:2025,summary:{cs:"Vysoké množstvà odpadu v 1. a 3. ÄtvrtletÃ.",de:"Hohe Müllmengen im 1. und 3. Quartal.",en:"High waste volumes in 1st and 3rd quarter."},text:{cs:"Poplatek za odvoz odpadu se skládá ze základnÃho poplatku a Äástky za kilogram odpadu. V prvnÃm a tÅetÃm Ätvrtletà byly velmi vysoké objemy, což zvyÅ¡uje náklady.",de:"Bei der Müllabfuhr werden sowohl eine Grundgebühr als auch ein Betrag je kg Müll verrechnet. Besonders die Abrechnung des 1. und 3. Quartals weisen sehr hohe Massen auf, was entsprechende Kosten verursacht.",en:"Waste collection charges consist of a base fee and a per-kilogram amount. The 1st and 3rd quarters showed very high volumes, causing higher costs."},role:"owner",author:"Robert Neuhold",status:"open",date:"2026-07-19"}],Et=(r,s)=>ua.filter(a=>a.itemLabelCs===r&&s===void 0),Ct=(r,s)=>({owner:{cs:"Beirat / vlastnÃk",de:"Beirat / Eigentümer",en:"Advisory board / owner"},management:{cs:"Správa domu",de:"Hausverwaltung",en:"Property management"}})[r][s],Rt=(r,s)=>
1({open:{cs:"otevÅeno / dosud nepotvrzeno správou",de:"offen / noch nicht von Hausverwaltung bestätigt",en:"open / not yet confirmed by management"},confirmed:{cs:"potvrzeno správou",de:"von Hausverwaltung bestätigt",en:"confirmed by management"}})[r][s],ma={cs:{total:"SkuteÄnÄ hrazeno vlastnÃky",perYear:"Vývoj podle let",structure:"Struktura nákladů",groups:"Skupiny nákladů",detail:"Detail položek",caretaker:"Správce / domovnÃk",caretakerDesc:"Jeden náklad domu â rozpad na mzdu a extra práce (skuteÄnÄ hrazené Äástky)",wage:"Mzda vÄ. odvodů a pojiÅ¡tÄnÃ",extraOut:"Extra venkovnà údržba",extraOther:"Extra ostatnà práce",share:"PodÃl na provoznÃch nákladech",change:"ZmÄna vs. pÅedchozà rok",group:"Skupina",item:"Položka",otherCircles:"Dalšà nákladové okruhy (mimo provoznà náklady)",vat:"DPH",note:"Poznámka",vatNote:"Zobrazujeme Äástky, které vlastnÃci skuteÄnÄ hradà â tedy vÄetnÄ DPH dle vyúÄtovánà (netto hodnoty jsou pouze v kontrolnÃm pÅehledu nÞe).",netRef:"Kontrolnà pÅehled: netto dle vyúÄtovánà vs. skuteÄnÄ hrazeno",netCol:"Netto dle vyúÄtovánÃ",grossCol:"SkuteÄnÄ hrazeno (vÄ. DPH)",groupDetail:"Detailnà pohled na skupinu nákladů",groupDetailDesc:"Vyberte skupinu â Åazeno od nejvÄtÅ¡Ãho nákladu (skuteÄnÄ hrazené Äástky)",tabGroups:"Skupiny",tabItems:"Položky",tabCaretaker:"Správce",na:"neuvedeno",audit:"Kontrola dokladů (Belegprüfung) â zjiÅ¡tÄnà vlastnÃků",auditDisclaimer:"UpozornÄnÃ",auditParticipants:"ÃÄastnÃci kontroly",auditScope:"Rozsah kontroly",auditFindings:"Hlavnà zjiÅ¡tÄnÃ",auditOpen:"OtevÅené body",auditBy:"od",auditStatus:"stav",auditExplanation:"VysvÄtlenÃ",auditNoNotes:"K této položce zatÃm nejsou zaznamenány žádné poznámky z kontroly.",withHeating:"VÄ. topenà a teplé vody",heating:"VytápÄnà (Techem)",hotwater:"Teplá voda (Techem)",heatingHint:"Topenà a teplá voda se úÄtujà samostatnÄ (Techem) a nejsou souÄástà provoznÃch nákladů.",heatGroup:"Topenà a teplá voda",oilTitle:"SpotÅeba topného oleje",oilDesc:"SkuteÄnÄ protopené množstvà oleje podle Techem Gesamtabrechnung (ne jen dodávky) â náklad a průmÄrná cena za litr (netto)",oilOpening:"Stav v nádrži k 1. 1.",oilDelivered:"Dodávky bÄhem roku",oilClosing:"Zbytek v nádrži k 31. 12.",oilCalc:"VýpoÄet spotÅeby 2025: poÄáteÄnà stav 4 000 L + dodávky 50 975 L â zbytek k 31. 12. 7 100 L = 47 875 L protopeno.",oilLiters:"Litry",oilCost:"Náklad na olej (netto)",oilPrice:"Cena za litr",oilChart:"Graf spotÅeby a ceny oleje",oilChartDesc:"Sloupce = spotÅeba v litrech, linie = průmÄrná cena za litr (netto)",oilAvgPrice:"PrůmÄrná cena za litr (5 let)",oilAvgLiters:"PrůmÄrná roÄnà spotÅeba",oilMax:"Nejvyššà spotÅeba",oilYoy:"ZmÄna vs. pÅedchozà rok",oilFlowChart:"Pohled na Äerpánà nádrže",oilFlowDesc:"Sloupce = stav k 1. 1. + dodávky (celkem k dispozici), linie = protopeno a zbytek k 31. 12.",oilBurned:"Protopeno",oilTabFlow:"Pohled na Äerpánà nádrže",oilTabChart:"Graf spotÅeby a ceny oleje",heatKpi:"Topenà + teplá voda",heatKpiSub:"VytápÄnà a teplá voda dle Techem 2025",heatKpiShare:"PodÃl na provozu bez rezervy",heatKpiSplit:"Topenà / teplá voda",opTitle:"Provoznà náklady celkem (bez rezervnÃho fondu)",opDesc:"Betriebskosten allgemein + vytápÄnà a teplá voda + voda / silnice / zimnà služba. Rezervnà fond nenà provoznà náklad â je to Äerpánà rezerv na investice a velké opravy, proto je uveden zvlášť.",opBk:"Betriebskosten allgemein",opHeat:"Topenà + teplá voda",opWater:"Voda / silnice / zimnà služba",opTotalRow:"Provoz celkem",opReserve:"Rezervnà fond (mimo provoz)",opYear:"Rok",resKpi:"Rezervnà fond â zůstatek",resKpiSub:"Stav dle vyúÄtovánà rezervy k",exportXlsx:"Export do Excelu"},de:{total:"Tatsächlich von den Eigentümern bezahlt",perYear:"Entwicklung nach Jahren",structure:"Kostenstruktur",groups:"Kostengruppen",detail:"Positionsdetail",caretaker:"Hausbesorger / Hausmeister",caretakerDesc:"Eine Kostenposition â Aufteilung in Lohn und Extraleistungen (tatsächlich bezahlte Beträge)",wage:"Lohn inkl. Abgaben und Sozialversicherung",extraOut:"Extra Aussenanlagen",extraOther:"Extra sonstige Leistungen",share:"Anteil an den Betriebskosten",change:"Veränderung zum Vorjahr",group:"Gruppe",item:"Position",otherCircles:"Weitere Verrechnungskreise (auÃerhalb Betriebskosten)",vat:"USt.",note:"Anmerkung",vatNote:"Dargestellt sind die von den Eigentümern tatsächlich getragenen Beträge â inkl. USt. laut Abrechnung (Nettowerte nur in der Kontrollübersicht unten).",netRef:"Kontrollübersicht: netto laut Abrechnung vs. tatsächlich bezahlt",netCol:"Netto laut Abrechnung",grossCol:"Tatsächlich bezahlt (inkl. USt.)",groupDetail:"Detailansicht der Kostengruppe",groupDetailDesc:"Gruppe wählen â sortiert nach Höhe der Kosten (tatsächlich bezahlte Beträge)",tabGroups:"Gruppen",tabItems:"Positionen",tabCaretaker:"Hausbesorger",na:"nicht ausgewiesen",audit:"Belegprüfung â Feststellungen der Eigentümer",auditDisclaimer:"Hinweis",auditParticipants:"Teilnehmer der Prüfung",auditScope:"Prüfungsumfang",auditFindings:"Wesentliche Feststellungen",auditOpen:"Offene Punkte",auditBy:"von",auditStatus:"Status",auditExplanation:"Erläuterung",auditNoNotes:"Zu dieser Position sind aktuell keine Prüfungsnotizen vorhanden.",withHeating:"Inkl. Heizung & Warmwasser",heating:"Heizung (Techem)",hotwater:"Warmwasser (Techem)",heatingHint:"Heizung und Warmwasser werden gesondert (Techem) abgerechnet und sind nicht Teil der Betriebskosten.",heatGroup:"Heizung & Warmwasser",oilTitle:"Heizölverbrauch",oilDesc:"Tatsächlich verbrauchte Ãlmenge laut Techem-Gesamtabrechnung (nicht nur Anlieferungen) â Kosten und Durchschnittspreis je Liter (netto)",oilOpening:"Anfangsbestand am 1.1.",oilDelivered:"Anlieferungen im Jahr",oilClosing:"Restbestand am 31.12.",oilCalc:"Verbrauchsermittlung 2025: Anfangsbestand 4.000 L + Anlieferungen 50.975 L â Restbestand am 31.12. 7.100 L = 47.875 L verbraucht.",oilLiters:"Liter",oilCost:"Brennstoffkosten (netto)",oilPrice:"Preis je Liter",oilChart:"Verbrauch und Ãlpreis im Diagramm",oilChartDesc:"Säulen = Verbrauch in Litern, Linie = Durchschnittspreis je Liter (netto)",oilAvgPrice
1:"Durchschnittspreis je Liter (5 Jahre)",oilAvgLiters:"Durchschnittlicher Jahresverbrauch",oilMax:"Höchster Verbrauch",oilYoy:"Veränderung zum Vorjahr",oilFlowChart:"Tankbewegung im Ãberblick",oilFlowDesc:"Säulen = Anfangsbestand + Anlieferungen (verfügbare Menge), Linien = Verbrauch und Restbestand am 31.12.",oilBurned:"Verbraucht",oilTabFlow:"Tankbewegung im Ãberblick",oilTabChart:"Ãlverbrauch und Ãlpreis im Diagramm",heatKpi:"Heizung + Warmwasser",heatKpiSub:"Heizung und Warmwasser laut Techem 2025",heatKpiShare:"Anteil an der Bewirtschaftung ohne Rücklage",heatKpiSplit:"Heizung / Warmwasser",opTitle:"Bewirtschaftungskosten gesamt (ohne Rücklage)",opDesc:"Betriebskosten allgemein + Heizung und Warmwasser + Wasser / StraÃe / Winterdienst. Die Rücklage ist kein Betriebskostenaufwand â sie ist Verwendung von Rücklagen für Investitionen und GroÃreparaturen und wird daher gesondert ausgewiesen.",opBk:"Betriebskosten allgemein",opHeat:"Heizung + Warmwasser",opWater:"Wasser / StraÃe / Winterdienst",opTotalRow:"Bewirtschaftung gesamt",opReserve:"Rücklage (auÃerhalb Bewirtschaftung)",opYear:"Jahr",resKpi:"Rücklage â Stand",resKpiSub:"Rücklagenstand laut Rücklagenabrechnung per",exportXlsx:"Export nach Excel"},en:{total:"Actually paid by owners",perYear:"Development by year",structure:"Cost structure",groups:"Cost groups",detail:"Item detail",caretaker:"Caretaker",caretakerDesc:"One cost position â split into wages and extra work (amounts actually paid)",wage:"Wages incl. levies and social insurance",extraOut:"Extra outdoor maintenance",extraOther:"Extra other work",share:"Share of operating costs",change:"Change vs. previous year",group:"Group",item:"Item",otherCircles:"Other
1cost circles (outside operating costs)",vat:"VAT",note:"Note",vatNote:"Figures show what owners actually pay â including VAT per the statement (net values only in the reconciliation table below).",netRef:"Reconciliation: net per statement vs. actually paid",netCol:"Net per statement",grossCol:"Actually paid (incl. VAT)",groupDetail:"Cost group detail",groupDetailDesc:"Select a group â sorted by size (amounts actually paid)",tabGroups:"Groups",tabItems:"Items",tabCaretaker:"Caretaker",na:"not stated",audit:"Document review (Belegprüfung) â findings by owners",auditDisclaimer:"Disclaimer",auditParticipants:"Review participants",auditScope:"Scope of review",auditFindings:"Key findings",auditOpen:"Open points",auditBy:"by",auditStatus:"status",auditExplanation:"Explanation",auditNoNotes:"No review notes are recorded for this item yet.",withHeating:"Incl. heating & hot water",heating:"Heating (Techem)",hotwater:"Hot water (Techem)",heatingHint:"Heating and hot water are billed separately (Techem) and are not part of the operating costs.",heatGroup:"Heating & hot water",oilTitle:"Heating oil consumption",oilDesc:"Actually burned oil volume per Techem total statement (not just deliveries) â cost and average price per liter (net)",oilOpening:"Tank stock on 1 Jan",oilDelivered:"Deliveries during the year",oilClosing:"Remaining stock on 31 Dec",oilCalc:"Consumption 2025: opening stock 4,000 L + deliveries 50,975 L â remaining stock on 31 Dec 7,100 L = 47,875 L burned.",oilLiters:"Liters",oilCost:"Fuel cost (net)",oilPrice:"Price per liter",oilChart:"Oil consumption and price chart",oilChartDesc:"Bars = consumption in liters, line = average price per liter (net)",oilAvgPrice:"Average price per liter (5 years)",oilAvgLiters:"Average annual consumption",oilMax:"Highest consumption",oilYoy:"Change vs. previous year",oilFlowChart:"Tank movement overview",oilFlowDesc:"Bars = opening stock + deliveries (available volume), lines = burned and remaining stock on 31 Dec.",oilBurned:"Burned",oilTabFlow:"Tank movement overview",oilTabChart:"Oil consumption and price chart",heatKpi:"Heating & hot water",heatKpiSub:"Heating and hot water per Techem 2025",heatKpiShare:"Share of running costs excl. reserve",heatKpiSplit:"Heating / hot water",opTitle:"Total running costs (excl. reserve fund)",opDesc:"General operating costs + heating and hot water + water / road / winter service. The reserve fund is not an operating cost â it is the use of reserves for investments and major repairs, so it is shown separately.",opBk:"General operating costs",opHeat:"Heating + hot water",opWater:"Water / road / winter service",opTotalRow:"Running costs total",opReserve:"Reserve fund (outside running costs)",opYear:"Year",resKpi:"Reserve fund â balance",resKpiSub:"Balance per reserve fund statement as of",exportXlsx:"Export to Excel"}},v=r=>Math.round(r).toLocaleString("fr-FR").replace(/\u202f|\u00a0/g," ")+" â¬",de=r=>Math.round(r).toLocaleString("fr-FR").replace(/\u202f|\u00a0/g," "),ue=r=>`${(r*100).toFixed(1)} %`,Dt=["hsl(210 70% 45%)","hsl(25 70% 50%)","hsl(150 55% 40%)","hsl(280 50% 55%)","hsl(45 75% 45%)","hsl(190 65% 45%)","hsl(0 0% 55%)"],Ke=["caretaker","admin","energy","pool","maintenance","taxes","other"],ye={heating:"hsl(12 76% 45%)",hotwater:"hsl(200 80% 55%)"},gt={wage:["Mzdy â Walter & Margit","Mzdové odvody","Sociálnà pojiÅ¡tÄnà správce"],extraOut:["Extra venkovnà údržba (Aussenanlagen)"],extraOther:["Extra ostatnà práce"]},vt=(r,s)=>Ce.filter(a=>r.includes(a.label.cs)).reduce((a,o)=>a+(o.values[s]||0),0),pa=()=>{var xe;const{language:r}=jt(),s=["cs","de","en"].includes(r)?r:"cs",a=ma[s],o=[...Ot],u=o[o.length-1],k=o[o.length-2],[N,R]=B.useState("groups"),[M,O]=B.useState("flow"),L=B.useMemo(()=>[...Ke].sort((t,l)=>P(l,u)-P(t,u)),[]),[h,E]=B.useState(L[0]);B.useMemo(()=>o.map(t=>({year:String(t),total:Ee(t)})),[]);const be=Ee(u),U=Ee(k),p=(be-U)/U,[j,S]=B.useState(!0),w=ie.find(t=>t.label.cs==="VytápÄnÃ"),y=ie.find(t=>t.label.cs==="Teplá voda"),ee=ie.find(t=>t.label.cs==="Voda / silnice / zimnà služba"),Ne=ie.find(t=>t.label.cs==="Výdaje rezervnÃho fondu"),te=B.useMemo(()=>o.map(t=>{const l=Ee(t),i=((w==null?void 0:w.values[t])||0)+((y==null?void 0:y.values[t])||0),d=(ee==null?void 0:ee.values[t])||0;return{year:t,bk:l,heat:i,water:d,total:l+i+d,reserve:(Ne==null?void 0:Ne.values[t])||0}}),[]),A=Math.max(...Object.keys(Xe).map(Number)),le=te.find(t=>t.year===u)??{year:u,bk:0,heat:0,water:0,total:0,reserve:0},He=((xe=te.find(t=>t.year===u-1))==null?void 0:xe.total)??0,pe=le.total,je=He?(pe-He)/He:0,C=t=>j&&(w==null?void 0:w.values[t])||0,F=t=>j&&(y==null?void 0:y.values[t])||0,Pe=B.useMemo(()=>o.map(t=>{const l={year:String(t)};return Ke.forEach(i=>
1l[i]=P(i,t)),l.heating=C(t),l.hotwater=F(t),l}),[j]),[q,he]=B.useState(u),D=B.useMemo(()=>[...Ke.map(t=>({name:re[t][s],key:t,color:Ye[t],value:P(t,q)})),{name:a.heating,key:"heating",color:ye.heating,value:C(q)},{name:a.hotwater,key:"hotwater",color:ye.hotwater,value:F(q)}].filter(t=>t.value>0).sort((t,l)=>l.value-t.value),[s,q,j,a]),ae=B.useMemo(()=>o.map(t=>({year:String(t),wage:vt(gt.wage,t),extraOut:vt(gt.extraOut,t),extraOther:vt(gt.extraOther,t),total:P("caretaker",t)})),[]),$=ae[ae.length-1],b=t=>((w==null?void 0:w.values[t])||0)+((y==null?void 0:y.values[t])||0),ne=t=>h==="heat"?b(t):P(h,t),Be=h==="heat"?a.heatGroup:re[h][s],K=B.useMemo(()=>{if(h==="heat"){const d=[a.heating,a.hotwater],g=o.map(f=>({year:String(f),v0:(w==null?void 0:w.values[f])||0,v1:(y==null?void 0:y.values[f])||0}));return{series:d,data:g}}if(h==="caretaker"){const d=[a.wage,a.extraOut,a.extraOther],g=ae.map(f=>({year:f.year,v0:f.wage,v1:f.extraOut,v2:f.extraOther}));return{series:d,data:g}}const t=Ce.filter(d=>d.group===h).sort((d,g)=>(g.values[u]||0)-(d.values[u]||0)),l=t.map(d=>d.label[s]),i=o.map(d=>{const g={year:String(d)};return t.forEach((f,se)=>g[`v${se}`]=f.values[d]||0),g});return{series:l,data:i}},[h,s,ae,a]),Fe={contentStyle:{background:"hsl(var(--popover))",border:"1px solid hsl(var(--border))",borderRadius:"0.5rem",fontSize:"12px",color:"hsl(var(--popover-foreground))"},formatter:t=>v(Number(t))},ke=({active:t,payload:l,label:i})=>{if(!t||!l||!l.length)return null;const d=[...l].sort((g,f)=>f.value-g.value);return e.jsxs("div",{className:"rounded-lg border border-border bg-popover p-3 shadow-sm text-xs text-popover-foreground",children:[e.jsx("div",{className:"font-serif font-medium mb-1.5",children:i}),e.jsx("div",{className:"space-y-1",children:d.map(g=>e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"h-2 w-2 rounded-full flex-shrink-0",style:{background:g.color}}),e.jsx("span",{className:"flex-1",children:g.name}),e.jsx("span",{className:"font-medium tabular-nums",children:v(Number(g.value))})]},g.dataKey))})]})},ce=({payload:t,year:l,heatingValue:i,hotwaterValue:d})=>{if(!t||!t.length)return null;const g=t.map(f=>{const se=f.dataKey;let V=0;return se==="heating"?V=i:se==="hotwater"?V=d:V=P(se,l),{...f,value:V}}).filter(f=>f.value>0).sort((f,se)=>se.value-f.value);return e.jsx("div",{className:"flex flex-wrap justify-center gap-x-3 gap-y-1 text-[11px] text-foreground mt-1",children:g.map(f=>e.jsxs("span",{className:"inline-flex items-center gap-1",children:[e.jsx("span",{className:"h-2 w-2 rounded-sm flex-shrink-0",style:{background:f.color}}),f.name,e.jsx("span",{className:"text-muted-foreground tabular-nums",children:v(f.value)})]},f.dataKey))})};return e.jsx(Ht,{children:e.jsxs("div",{className:"space-y-6",children:[e.jsx("div",{className:"flex justify-end",children:e.jsxs(ft,{variant:"outline",size:"sm",onClick:()=>da(s),className:"gap-2",children:[e.jsx(Kt,{className:"h-4 w-4"}),a.exportXlsx]})}),e.jsxs("div",{className:"grid gap-4 grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-5",children:[e.jsxs(Y,{children:[e.jsx(J,{className:"pb-2",children:e.jsxs(Z,{className:"text-xs font-medium text-muted-foreground flex items-center gap-2",children:[e.jsx(Mt,{className:"h-3.5 w-3.5"})," ",a.opTotalRow," ",u]})}),e.jsxs(X,{children:[e.jsx("div",{className:"text-2xl font-serif font-bold",children:v(pe)}),e.jsxs("div",{className:`text-xs mt-1 flex items-center gap-1 ${je>=0?"text-destructive":"text-emerald-600"}`,children:[je>=0?e.jsx(Ft,{className:"h-3 w-3"}):e.jsx(Vt,{className:"h-3 w-3"}),ue(je)," ",a.change]}),e.jsxs("div",{className:"text-[11px] text-muted-foreground mt-1",children:[a.opBk," ",v(be)," · ",a.opHeat," ",v(le.heat)," · ",a.opWater," ",v(le.water)]})]})]}),e.jsxs(Y,{children:[e.jsx(J,{className:"pb-2",children:e.jsxs(Z,{className:"text-xs font-medium text-muted-foreground flex items-center gap-2",children:[e.jsx(kt,{className:"h-3.5 w-3.5"})," ",a.caretaker," ",u]})}),e.jsxs(X,{children:[e.jsx("div",{className:"text-2xl font-serif font-bold",children:v($.total)}),e.jsxs("div",{className:"text-xs text-muted-foreground mt-1",children:[a.wage,": ",v($.wage)]})]})]}),e.jsxs(Y,{children:[e.jsx(J,{className:"pb-2",children:e.jsxs(Z,{className:"text-xs font-medium text-muted-foreground flex items-center gap-2",children:[e.jsx(Wt,{className:"h-3.5 w-3.5"})," ",a.heatKpi," ",u]})}),e.jsxs(X,{children:[e.jsx("div",{className:"text-2xl font-serif font-bold",children:v(b(u))}),e.jsxs("div",{className:"text-xs text-muted-foreground mt-1",children:[a.heatKpiShare,": ",ue(b(u)/pe)]}),e.jsxs("div",{className:"text-[11px] text-muted-foreground mt-1",children:[a.heatKpiSplit,": ",v((w==null?void 0:w.values[u])||0)," / ",v((y==null?void 0:y.values[u])||0)]})]})]}),e.jsxs(Y,{children:[e.jsx(J,{className:"pb-2",children:e.jsxs(Z,{className:"text-xs font-medium text-muted-foreground flex items-center gap-2",children:[e.jsx(It,{className:"h-3.5 w-3.5"})," ",re.energy[s]," ",u]})}),e.jsxs(X,{children:[e.jsx("div",{className:"text-2xl font-serif font-bold",children:v(P("energy",u))}),e.jsxs("div",{className:"text-xs text-muted-foreground mt-1",children:[a.share,": ",ue(P("energy",u)/be)]})]})]}),e.jsxs(Y,{children:[e.jsx(J,{className:"pb-2",children:e.jsxs(Z,{className:"text-xs font-medium text-muted-foreground flex items-center gap-2",children:[e.jsx(_t,{className:"h-3.5 w-3.5"})," ",a.resKpi]})}),e.jsxs(X,{children:[e.jsx("div",{className:"text-2xl font-serif font-bold",children:v(Xe[A])}),e.jsxs("div",{className:"text-xs text-muted-foreground mt-1",children:[a.resKpiSub," 31.12.",A]})]})]})]}),e.jsxs(Y,{children:[e.jsxs(J,{className:"pb-3",children:[e.jsx(Z,{className:"font-serif text-base",children:a.opTitle}),e.jsx(Ze,{className:"text-xs",children:a.opDesc})]}),e.jsx(X,{className:"overflow-x-auto",children:e.jsxs(ze,{children:[e.jsx(Se,{children:e.jsxs(z,{className:"bg-muted/50 hover:bg-muted/50",children:[e.jsx(T,{className:"h-8 text-xs whitespace-nowrap",children:a.opYear}),te.map(t=>e.jsx(T,{className:"h-8 text-xs text-right whitespace-nowrap",children:t.year},t.year))]})}
1),e.jsxs(Ge,{children:[[["opBk","bk"],["opHeat","heat"],["opWater","water"]].map(([t,l])=>e.jsxs(z,{className:"h-8",children:[e.jsx(m,{className:"py-1 text-xs whitespace-nowrap",children:a[t]}),te.map(i=>e.jsx(m,{className:"py-1 text-xs text-right tabular-nums",children:v(i[l])},i.year))]},l)),e.jsxs(z,{className:"h-9 border-t-2 border-border font-medium",children:[e.jsx(m,{className:"py-1 text-xs whitespace-nowrap",children:a.opTotalRow}),te.map(t=>e.jsx(m,{className:"py-1 text-xs text-right tabular-nums font-semibold",children:v(t.total)},t.year))]}),e.jsxs(z,{className:"h-8 text-muted-foreground",children:[e.jsx(m,{className:"py-1 text-xs whitespace-nowrap italic",children:a.opReserve}),te.map(t=>e.jsx(m,{className:"py-1 text-xs text-right tabular-nums italic",children:v(t.reserve)},t.year))]})]})]})})]}),e.jsxs("p",{className:"text-xs text-muted-foreground flex items-center gap-1.5",children:[e.jsx(Me,{className:"h-3.5 w-3.5"})," ",a.vatNote]}),e.jsxs("div",{className:"grid gap-4 lg:grid-cols-2",children:[e.jsxs(Y,{children:[e.jsxs(J,{className:"space-y-2",children:[e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[e.jsx(Z,{className:"font-serif text-base",children:a.perYear}),e.jsx("button",{onClick:()=>S(t=>!t),className:`rounded-md px-2 py-1 text-xs transition-colors ${j?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:bg-muted/70"}`,children:a.withHeating})]}),e.jsx(Ze,{className:"text-xs",children:j?a.heatingHint:a.groups})]}),e.jsx(X,{className:"h-[320px]",children:e.jsx(Ve,{width:"100%",height:"100%",children:e.jsxs(yt,{data:Pe,margin:{left:8,right:8},children:[e.jsx(st,{strokeDasharray:"3 3",stroke:"hsl(var(--border))"}),e.jsx(ot,{dataKey:"year",tick:{fontSize:12},stroke:"hsl(var(--muted-foreground))"}),e.jsx(We,{tick:{fontSize:11},stroke:"hsl(var(--muted-foreground))",tickFormatter:t=>`${Math.round(Number(t)/1e3)}k`}),e.jsx(Ie,{content:e.jsx(ke,{})}),e.jsx(_e,{content:e.jsx(ce,{year:u,heatingValue:(w==null?void 0:w.values[u])||0,hotwaterValue:(y==null?void 0:y.values[u])||0})}),Ke.map(t=>e.jsx(Te,{dataKey:t,stackId:"a",name:re[t][s],fill:Ye[t]},t)),j&&e.jsx(Te,{dataKey:"heating",stackId:"a",name:a.heating,fill:ye.heating}),j&&e.jsx(Te,{dataKey:"hotwater",stackId:"a",name:a.hotwater,fill:ye.hotwater})]})})})]}),e.jsxs(Y,{children:[e.jsxs(J,{className:"flex flex-row items-center justify-between gap-2 space-y-0",children:[e.jsxs(Z,{className:"font-serif text-base",children:[a.structure," ",q]}),e.jsx("div",{className:"flex gap-1",children:o.map(t=>e.jsx("button",{onClick:()=>he(t),className:`rounded-md px-2 py-1 text-xs transition-colors ${q===t?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:bg-muted/70"}`,children:t},t))})]}),e.jsx(X,{className:"h-[320px]",children:e.jsx(Ve,{width:"100%",height:"100%",children:e.jsxs(Jt,{children:[e.jsx(Zt,{data:D,dataKey:"value",nameKey:"name",innerRadius:60,outerRadius:105,paddingAngle:2,labelLine:!1,label:({value:t})=>{const l=D.reduce((i,d)=>i+d.value,0);return`${(t/l*100).toFixed(1)} %`},children:D.map(t=>e.jsx(Yt,{fill:t.color},t.key))}),e.jsx(Ie,{...Fe}),e.jsx(_e,{wrapperStyle:{fontSize:11}})]})})})]})]}),e.jsxs(Y,{children:[e.jsxs(J,{children:[e.jsxs(Z,{className:"font-serif text-base flex items-center gap-2",children:[e.jsx(kt,{className:"h-4 w-4 text-primary"})," ",a.groupDetail]}),e.jsx(Ze,{className:"text-xs",children:h==="caretaker"?a.caretakerDesc:a.groupDetailDesc})]}),e.jsxs(X,{className:"space-y-6",children:[e.jsx(ut,{value:h,onValueChange:t=>E(t),children:e.jsxs(mt,{className:"flex flex-wrap h-auto justify-start gap-1",children:[L.map(t=>e.jsx($e,{value:t,className:"text-xs",children:e.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[e.jsx("span",{className:"h-2 w-2 rounded-sm",style:{background:Ye[t]}}),re[t][s],e.jsx("span",{className:"text-muted-foreground tabular-nums",children:v(P(t,u))})]})},t)),e.jsx($e,{value:"heat",className:"text-xs",children:e.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[e.jsx("span",{className:"h-2 w-2 rounded-sm",style:{background:ye.heating}}),a.heatGroup,e.jsx("span",{className:"text-muted-foreground tabular-nums",children:v(b(u))})]})})]})}),e.jsx("div",{className:"h-[280px]",children:e.jsx(Ve,{width:"100%",height:"100%",children:e.jsxs(yt,{data:K.data,margin:{left:8,right:8},children:[e.jsx(st,{strokeDasharray:"3 3",stroke:"hsl(var(--border))"}),e.jsx(ot,{dataKey:"year",tick:{fontSize:12},stroke:"hsl(var(--muted-foreground))"}),e.jsx(We,{tick:{fontSize:11},stroke:"hsl(var(--muted-foreground))",tickFormatter:t=>`${Math.round(Number(t)/1e3)}k`}),e.jsx(Ie,{...Fe}),e.jsx(_e,{wrapperStyle:{fontSize:11}}),K.series.map((t,l)=>e.jsx(Te,{dataKey:`v${l}
1`,stackId:"g",name:t,fill:Dt[l%Dt.length]},t))]})})}),e.jsxs("div",{className:"block md:hidden space-y-3",children:[K.series.map((t,l)=>{const i=K.data[K.data.length-1][`v${l}`]||0,d=ne(u);return e.jsxs("div",{className:"rounded-lg border border-border bg-muted/30 p-3 space-y-2",children:[e.jsx("div",{className:"font-medium text-sm",children:t}),e.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-3 gap-3",children:[K.data.map((g,f)=>e.jsxs("div",{children:[e.jsx("div",{className:"text-[10px] uppercase tracking-tight text-muted-foreground",children:g.year}),e.jsx("div",{className:"text-sm font-semibold tabular-nums",children:v(g[`v${l}`]||0)})]},f)),e.jsxs("div",{children:[e.jsxs("div",{className:"text-[10px] uppercase tracking-tight text-muted-foreground",children:[a.share," ",u]}),e.jsx("div",{className:"text-sm font-semibold tabular-nums",children:d?ue(i/d):"â"})]})]})]},t)}),e.jsxs("div",{className:"rounded-lg border border-border bg-muted/50 p-3 space-y-2",children:[e.jsxs("div",{className:"font-medium text-sm",children:[Be," â ",a.total.toLowerCase()]}),e.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-3 gap-3",children:[o.map(t=>e.jsxs("div",{children:[e.jsx("div",{className:"text-[10px] uppercase tracking-tight text-muted-foreground",children:t}),e.jsx("div",{className:"text-sm font-semibold tabular-nums",children:v(ne(t))})]},t)),e.jsxs("div",{children:[e.jsx("div",{className:"text-[10px] uppercase tracking-tight text-muted-foreground",children:a.share}),e.jsx("div",{className:"text-sm font-semibold tabular-nums",children:"100.0 %"})]})]})]})]}),e.jsx("div",{className:"hidden md:block",children:e.jsxs(ze,{children:[e.jsx(Se,{children:e.jsxs(z,{className:"bg-muted/50",children:[e.jsx(T,{className:"h-8 text-xs font-serif",children:a.item}),o.map(t=>e.jsx(T,{className:"h-8 text-xs font-serif text-right whitespace-nowrap",children:t},t)),e.jsxs(T,{className:"h-8 text-xs font-serif text-right whitespace-nowrap",children:[a.share," ",u]})]})}),e.jsxs(Ge,{children:[K.series.map((t,l)=>{const i=K.data[K.data.length-1][`v${l}`]||0,d=ne(u);return e.jsxs(z,{className:"h-9",children:[e.jsx(m,{className:"text-xs py-1",children:t}),K.data.map((g,f)=>e.jsx(m,{className:"text-xs py-1 text-right tabular-nums whitespace-nowrap",children:v(g[`v${l}`]||0)},f)),e.jsx(m,{className:"text-xs py-1 text-right tabular-nums",children:d?ue(i/d):"â"})]},t)}),e.jsxs(z,{className:"h-9 font-medium bg-muted/30",children:[e.jsxs(m,{className:"text-xs py-1",children:[Be," â ",a.total.toLowerCase()]}),o.map(t=>e.jsx(m,{className:"text-xs py-1 text-right tabular-nums whitespace-nowrap",children:v(ne(t))},t)),e.jsx(m,{className:"text-xs py-1 text-right tabular-nums",children:"100.0 %"})]})]})]})}),h==="heat"&&e.jsxs("div",{className:"space-y-3 pt-2 border-t border-border",children:[e.jsxs("div",{children:[e.jsx("div",{className:"font-serif text-sm font-medium",children:a.oilTitle}),e.jsx("div",{className:"text-xs text-muted-foreground",children:a.oilDesc}),e.jsx("div",{className:"mt-1 text-[11px] text-muted-foreground bg-muted/40 border border-border rounded-md px-2 py-1 inline-block",children:a.oilCalc})]}),e.jsx("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-3",children:(()=>{const t=Q.filter(n=>n.liters),l=t.reduce((n,c)=>n+(c.liters||0),0)/(t.length||1),i=t.reduce((n,c)=>n+(c.liters||0),0),d=t.reduce((n,c)=>n+(c.costNet||0),0),g=i?d/i:0,f=t.reduce((n,c)=>(c.liters||0)>(n.liters||0)?c:n,t[0]),se=t[t.length-1],V=t[t.length-2],ge=V!=null&&V.liters?(se.liters-V.liters)/V.liters:null;return[{label:a.oilAvgPrice,value:`${g.toFixed(3)} â¬/L`},{label:a.oilAvgLiters,value:`${de(l)} L`},{label:a.oilMax,value:`${de((f==null?void 0:f.liters)||0)} L`,hint:String((f==null?void 0:f.year)||"")},{label:a.oilYoy,value:ge===null?a.na:`${ge>0?"+":""}${(ge*100).toFixed(1)} %`,hint:V?`${V.year} â ${se.year}`:"",positive:ge!==null&&ge<0,negative:ge!==null&&ge>0}].map(n=>e.jsxs("div",{className:"rounded-lg border border-border bg-muted/30 p-3",children:[e.jsx("div",{className:"text-[10px] uppercase tracking-tight text-muted-foreground",children:n.label}),e.jsx("div",{className:`text-sm font-semibold tabular-nums ${n.negative?"text-destructive":n.positive?"text-emerald-600":""}`,children:n.value}),n.hint&&e.jsx("div",{className:"text-[10px] text-muted-foreground tabular-nums",children:n.hint})]},n.label))})()}),e.jsxs(ut,{value:M,onValueChange:t=>O(t),children:[e.jsxs(mt,{className:"mb-2",children:[e.jsx($e,{value:"flow",className:"text-xs",children:a.oilTabFlow}),e.jsx($e,{value:"chart",className:"text-xs",children:a.oilTabChart})]}),e.jsxs(nt,{value:"flow",children:[e.jsx("div",{className:"font-serif text-sm font-medium",children:a.oilFlowChart}),e.jsx("div",{className:"text-xs text-muted-foreground mb-2",children:a.oilFlowDesc}),e.jsx("div",{className:"h-[260px] w-full",children:e.jsx(Ve,{width:"100%",height:"100%",children:e.jsxs(Nt,{data:Q.map(t=>({year:t.year,opening:t.opening??0,delivered:t.delivered??0,closing:t.closing??0,burned:t.liters||0}
1)),margin:{top:8,right:8,left:0,bottom:0},children:[e.jsx(st,{strokeDasharray:"3 3",opacity:.3}),e.jsx(ot,{dataKey:"year",tick:{fontSize:11}}),e.jsx(We,{tick:{fontSize:11},tickFormatter:t=>de(Number(t)),width:58}),e.jsx(Ie,{formatter:(t,l)=>[`${de(Number(t))} L`,l]}),e.jsx(_e,{wrapperStyle:{fontSize:11}}),e.jsx(Te,{stackId:"tank",dataKey:"opening",name:a.oilOpening,fill:"hsl(200 20% 65%)"}),e.jsx(Te,{stackId:"tank",dataKey:"delivered",name:a.oilDelivered,fill:ye.hotwater,radius:[3,3,0,0]}),e.jsx(pt,{type:"monotone",dataKey:"burned",name:a.oilBurned,stroke:ye.heating,strokeWidth:2,dot:{r:3}}),e.jsx(pt,{type:"monotone",dataKey:"closing",name:a.oilClosing,stroke:"hsl(45 90% 40%)",strokeWidth:2,strokeDasharray:"4 3",dot:{r:3}})]})})})]}),e.jsxs(nt,{value:"chart",children:[e.jsx("div",{className:"font-serif text-sm font-medium",children:a.oilChart}),e.jsx("div",{className:"text-xs text-muted-foreground mb-2",children:a.oilChartDesc}),e.jsx("div",{className:"h-[260px] w-full",children:e.jsx(Ve,{width:"100%",height:"100%",children:e.jsxs(Nt,{data:Q.map(t=>({year:t.year,liters:t.liters||0,costNet:t.costNet||0,price:Je(t)||0})),margin:{top:8,right:8,left:0,bottom:0},children:[e.jsx(st,{strokeDasharray:"3 3",opacity:.3}),e.jsx(ot,{dataKey:"year",tick:{fontSize:11}}),e.jsx(We,{yAxisId:"left",tick:{fontSize:11},tickFormatter:t=>de(Number(t)),width:58}),e.jsx(We,{yAxisId:"right",orientation:"right",tick:{fontSize:11},domain:[0,"dataMax + 0.3"],tickFormatter:t=>Number(t).toFixed(2),width:44}),e.jsx(Ie,{formatter:(t,l)=>l===a.oilPrice?[`${Number(t).toFixed(3)} â¬/L`,l]:l===a.oilCost?[v(Number(t)),l]:[`${de(Number(t))} L`,l]}),e.jsx(_e,{wrapperStyle:{fontSize:11}}),e.jsx(Te,{yAxisId:"left",dataKey:"liters",name:a.oilLiters,fill:ye.heating,radius:[3,3,0,0]}),e.jsx(Te,{yAxisId:"left",dataKey:"costNet",name:a.oilCost,fill:ye.hotwater,radius:[3,3,0,0]}),e.jsx(pt,{yAxisId:"right",type:"monotone",dataKey:"price",name:a.oilPrice,stroke:"hsl(45 90% 40%)",strokeWidth:2,dot:{r:3}})]})})})]})]}),e.jsx("div",{className:"grid grid-cols-2 gap-3 md:hidden",children:Q.map(t=>e.jsxs("div",{className:"rounded-lg border border-border bg-muted/30 p-3",children:[e.jsx("div",{className:"text-[10px] uppercase tracking-tight text-muted-foreground",children:t.year}),e.jsx("div",{className:"text-sm font-semibold tabular-nums",children:t.liters?`${de(t.liters)} L`:a.na}),e.jsx("div",{className:"text-xs tabular-nums text-muted-foreground",children:t.costNet?v(t.costNet):a.na}),e.jsx("div",{className:"text-xs tabular-nums",children:Je(t)?`${Je(t).toFixed(3)} â¬/L`:a.na})]},t.year))}),e.jsx("div",{className:"hidden md:block",children:e.jsxs(ze,{children:[e.jsx(Se,{children:e.jsxs(z,{className:"bg-muted/50",children:[e.jsx(T,{className:"h-8 text-xs font-serif",children:a.item}),Q.map(t=>e.jsx(T,{className:"h-8 text-xs font-serif text-right whitespace-nowrap",children:t.year},t.year))]})}),e.jsxs(Ge,{children:[e.jsxs(z,{className:"h-9",children:[e.jsx(m,{className:"text-xs py-1 text-muted-foreground",children:a.oilOpening}),Q.map(t=>e.jsx(m,{className:"text-xs py-1 text-right tabular-nums whitespace-nowrap text-muted-foreground",children:t.opening!=null?`${de(t.opening)} L`:a.na},t.year))]}),e.jsxs(z,{className:"h-9",children:[e.jsx(m,{className:"text-xs py-1 text-muted-foreground",children:a.oilDelivered}),Q.map(t=>e.jsx(m,{className:"text-xs py-1 text-right tabular-nums whitespace-nowrap text-muted-foreground",children:t.delivered!=null?`+ ${de(t.delivered)} L`:a.na},t.year))]}),e.jsxs(z,{className:"h-9",children:[e.jsx(m,{className:"text-xs py-1 text-muted-foreground",children:a.oilClosing}),Q.map(t=>e.jsx(m,{className:"text-xs py-1 text-right tabular-nums whitespace-nowrap text-muted-foreground",children:t.closing!=null?`â ${de(t.closing)} L`:a.na},t.year))]}),e.jsxs(z,{className:"h-9",children:[e.jsx(m,{className:"text-xs py-1 font-medium",children:a.oilLiters}),Q.map(t=>e.jsx(m,{className:"text-xs py-1 text-right tabular-nums whitespace-nowrap",children:t.liters?`${de(t.liters)} L`:a.na},t.year))]}),e.jsxs(z,{className:"h-9",children:[e.jsx(m,{className:"text-xs py-1",children:a.oilCost}),Q.map(t=>e.jsx(m,{className:"text-xs py-1 text-right tabular-nums whitespace-nowrap",children:t.costNet?v(t.costNet):a.na},t.year))]}),e.jsxs(z,{className:"h-9 font-medium bg-muted/30",children:[e.jsx(m,{className:"text-xs py-1",children:a.oilPrice}),Q.map(t=>e.jsx(m,{className:"text-xs py-1 text-right tabular-nums whitespace-nowrap",children:Je(t)?`${Je(t).toFixed(3)} â¬/L`:a.na},t.year))]})]})]})})]})]})]}),h==="heat"&&e.jsx(sa,{}),e.jsxs(Y,{children:[e.jsx(J,{className:"pb-3",children:e.jsx(Z,{className:"font-serif text-base",children:a.detail})}),e.jsx(X,{children:e.jsxs(ut,{value:N,onValueChange:R,children:[e.jsxs(mt,{className:"mb-4",children:[e.jsx($e,{value:"groups",className:"text-xs",children:a.tabGroups}),e.jsx($e,{value:"items",className:"text-xs",children:a.tabItems})]}),e.jsxs(nt,{value:"groups",children:[e.jsxs("div",{className:"block md:hidden space-y-3",children:[Ke.map(t=>{const l=P(t,u),i=P(t,k),d=i?(l-i)/i:null;return e.jsxs("div",{className:"rounded-lg border border-border bg-muted/30 p-3 space-y-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"h-2.5 w-2.5 rounded-sm",style:{background:Ye[t]}}),e.jsx("span",{className:"font-medium text-sm",children:re[t][s]})]}),e.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-3 gap-3",children:[o.map(g=>e.jsxs("div",{children:[e.jsx("div",{className:"text-[10px] uppercase tracking-tight text-muted-foreground",children:g}),e.jsx("div",{className:"text-sm font-semibold tabular-nums",children:v(P(t,g))})]},g)),e.jsxs("div",{children:[e.jsx("div",{className:"text-[10px] uppercase tracking-tight text-muted-foreground",children:a.change}),e.jsx("div",{className:"text-sm font-semibold tabular-nums",children:d===null?"â":e.jsxs(Ue,{variant:d>=0?"destructive":"secondary",className:"text-[10px] whitespace-nowrap",children:[d>=0?"+":"",ue(d)]})})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-[10px] uppercase tracking-tight text-muted-foreground",children:a.share}),e.jsx("div",{className:"text-sm font-semibold tabular-nums",children:ue(l/be)})]})]})]},t)}),e.jsxs("div",{className:"rounded-lg border border-border bg-muted/50 p-3 space-y-2",children:[e.jsx("div",{className:"font-medium text-sm",children:a.total}),e.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-3 gap-3",children:[o.map(t=>e.jsxs("div",{children:[e.jsx("div",{className:"text-[10px] uppercase tracking-tight text-muted-foreground",children:t}),e.jsx("div",{className:"text-sm font-semibold tabular-nums",children:v(Ee(t))})]},t)),e.jsxs("div",{children:[e.jsx("div",{className:"text-[10px] uppercase tracking-tight text-muted-foreground",children:a.change}),e.jsx("div",{className:"text-sm font-semibold tabular-nums",children:e.jsxs(Ue,{variant:p>=0?"destructive":"secondary",className:"text-[10px] whitespace-nowrap",children:[p>=0?"+":"",ue(p)]})})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-[10px] uppercase tracking-tight text-muted-foreground",children:a.share}),e.jsx("div",{className:"text-sm font-semibold tabular-nums",children:"100.0 %"})]})]})]})]}),e.jsx("div",{className:"hidden md:block",children:e.jsxs(ze,{children:[e.jsx(Se,{children:e.jsxs(z,{className:"bg-muted/50",children:[e.jsx(T,{className:"h-8 text-xs font-serif",children:a.group}),o.map(t=>e.jsx(T,{className:"h-8 text-xs font-serif text-right",children:t},t)),e.jsx(T,{className:"h-8 text-xs font-serif text-right whitespace-nowrap",children:a.change}),e.jsx(T,{className:"h-8 text-xs font-serif text-right whitespace-nowrap",children:a.share})]})}),e.jsxs(Ge,{children:[Ke.map(t=>{const l=P(t,u),i=P(t,k),d=i?(l-i)/i:null;return e.jsxs(z,{className:"h-9",children:[e.jsx(m,{className:"text-xs py-1",children:e.jsxs("span",{className:"inline-flex items-center gap-2",children:[e.jsx("span",{className:"h-2.5 w-2.5 rounded-sm",style:{background:Ye[t]}}),re[t][s]]})}),o.map(g=>e.jsx(m,{className:"text-xs py-1 text-right tabular-nums whitespace-nowrap",children:v(P(t,g))},g)),e.jsx(m,{className:"text-xs py-1 text-right",children:d===null?"â":e.jsxs(Ue,{variant:d>=0?"destructive":"secondary",className:"text-[10px] whitespace-nowrap",children:[d>=0?"+":"",ue(d)]})}),e.jsx(m,{className:"text-xs py-1 text-right tabular-nums",children:ue(l/be)})]},t)}),e.jsxs(z,{className:"h-9 font-medium bg-muted/30",children:[e.jsx(m,{className:"text-xs py-1",children:a.total}),o.map(t=>e.jsx(m,{className:"text-xs py-1 text-right tabular-nums whitespace-nowrap",children:v(Ee(t))},t)),e.jsx(m,{className:"text-xs py-1 text-right",children:e.jsxs(Ue,{variant:p>=0?"destructive":"secondary",className:"text-[10px] whitespace-nowrap",children:[p>=0?"+":"",ue(p)]})}),e.jsx(m,{className:"text-xs py-1 text-right tabular-nums",children:"100.0 %"})]})]})]})})]}),e.jsxs(nt,{value:"items",children:[e.jsx("div",{className:"block md:hidden space-y-3",children:Ce.map((t,l)=>{const i=Et(t.label.cs);return e.jsxs("div",{className:"rounded-lg border border-border bg-muted/30 p-3 space-y-2",children:[e.jsxs("div",{className:"flex items-start justify-between gap-2",children:[e.jsx("div",{className:"font-medium text-sm",children:e.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[t.label[s],t.note&&e.jsxs(et,{children:[e.jsx(tt,{asChild:!0,children:e.jsx(Me,{className:"h-3 w-3 text-muted-foreground"})}),e.jsx(at,{className:"max-w-xs text-xs",children:t.note[s]})]})]})}),e.jsx("div",{className:"text-[10px] text-muted-foreground whitespace-nowrap",children:re[t.group][s]})]}),e.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 gap-3",children:o.map(d=>e.jsxs("div",{children:[e.jsx("div",{className:"text-[10px] uppercase tracking-tight text-muted-foreground",children:d}),e.jsx("div",{className:"text-sm font-semibold tabular-nums",children:v(t.values[d]||0)})]},d))}),i.length>0&&e.jsx("div",{className:"pt-1 border-t border-border/50",children:e.jsxs(et,{children:[e.jsx(tt,{asChild:!0,children:e.jsxs("span",{className:"inline-flex items-center gap-1.5 cursor-help text-xs",children:[e.jsx(wt,{className:"h-3.5 w-3.5 text-primary"}),e.jsx("span",{className:"text-muted-foreground",children:a.auditExplanation}),e.jsx(Ue,{variant:"outline",className:"text-[10px] font-normal whitespace-nowrap",children:i.length})]})}),e.jsx(at,{className:"max-w-sm text-xs space-y-2",children:i.map((d,g)=>e.jsxs("div",{className:"space-y-1",children:[e.jsx("div",{className:"font-medium",children:d.summary[s]}),e.jsx("div",{className:"text-muted-foreground",children:d.text[s]}),e.jsxs("div",{className:"flex flex-wrap gap-x-2 text-[10px] text-muted-foreground",children:[e.jsxs("span",{children:[a.auditBy," ",d.author]}),e.jsxs("span",{children:["· ",Ct(d.role,s)]}),e.jsxs("span",{children:["· ",Rt(d.status,s)]}),e.jsxs("span",{children:["· ",d.date]})]})]},g))})]})})]},l)})}),e.jsx("div",{className:"hidden md:block",children:e.jsxs(ze,{children:[e.jsx(Se,{children:e.jsxs(z,{className:"bg-muted/50",children:[e.jsx(T,{className:"h-8 text-xs font-serif",children:a.group}),e.jsx(T,{className:"h-8 text-xs font-serif",children:a.item}),o.map(t=>e.jsx(T,{className:"h-8 text-xs font-serif text-right",children:t},t)),e.jsx(T,{className:"h-8 text-xs font-serif",children:a.auditExplanation})]})}),e.jsx(Ge,{children:Ce.map((t,l)=>{const i=Et(t.label.cs);return e.jsxs(z,{className:"h-9",children:[e.jsx(m,{className:"text-xs py-1 text-muted-foreground whitespace-nowrap",children:re[t.group][s]}),e.jsx(m,{className:"text-xs py-1",children:e.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[t.label[s],t.note&&e.jsxs(et,{children:[e.jsx(tt,{asChild:!0,children:e.jsx(Me,{className:"h-3 w-3 text-muted-foreground"})}),e.jsx(at,{className:"max-w-xs text-xs",children:t.note[s]})]})]})}),o.map(d=>e.jsx(m,{className:"text-xs py-1 text-right tabular-nums whitespace-nowrap",children:v(t.values[d]||0)},d)),e.jsx(m,{className:"text-xs py-1",children:i.length>0?e.jsxs(et,{children:[e.jsx(tt,{asChild:!0,children:e.jsxs("span",{className:"inline-flex items-center gap-1.5 cursor-help",children:[e.jsx(wt,{className:"h-3.5 w-3.5 text-primary"}),e.jsx(Ue,{variant:"outline",className:"text-[10px] font-normal whitespace-nowrap",children:i.length})]})}),e.jsx(at,{className:"max-w-sm text-xs space-y-2",children:i.map((d,g)=>e.jsxs("div",{className:"space-y-1",children:[e.jsx("div",{className:"font-medium",children:d.summary[s]}),e.jsx("div",{className:"text-muted-foreground",children:d.text[s]}),e.jsxs("div",{className:"flex flex-wrap gap-x-2 text-[10px] text-muted-foreground",children:[e.jsxs("span",{children:[a.auditBy," ",d.author]}),e.jsxs("span",{children:["· ",Ct(d.role,s)]}),e.jsxs("span",{children:["· ",Rt(d.status,s)]}),e.jsxs("span",{children:["· ",d.date]})]})]},g))})]}):e.jsx("span",{className:"text-muted-foreground text-[10px]",children:"â"})})]},l)})})]})})]})]})})]}),e.jsxs(Y,{children:[e.jsx(J,{className:"pb-3",children:e.jsx(Z,{className:"font-serif text-base",children:a.otherCircles})}),e.jsxs(X,{children:[e.jsx("div",{className:"block md:hidden space-y-3",children:ie.map((t,l)=>e.jsxs("div",{className:"rounded-lg border border-border bg-muted/30 p-3 space-y-2",children:[e.jsx("div",{className:"font-medium text-sm",children:t.label[s]}),e.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 gap-3",children:o.map(i=>e.jsxs("div",{children:[e.jsx("div",{className:"text-[10px] uppercase tracking-tight text-muted-foreground",children:i}),e.jsx("div",{className:"text-sm font-semibold tabular-nums",children:t.values[i]===null||t.values[i]===void 0?e.jsx("span",{className:"text-muted-foreground",children:a.na}):v(t.values[i])})]},i))}),t.note[s]&&e.jsx("div",{className:"text-xs text-muted-foreground pt-1 border-t border-border/50",children:t.note[s]})]},l))}),e.jsx("div",{className:"hidden md:block",children:e.jsxs(ze,{children:[e.jsx(Se,{children:e.jsxs(z,{className:"bg-muted/50",children:[e.jsx(T,{className:"h-8 text-xs font-serif",children:a.item}),o.map(t=>e.jsx(T,{className:"h-8 text-xs font-serif text-right",children:t},t)),e.jsx(T,{className:"h-8 text-xs font-serif",children:a.note})]})}),e.jsx(Ge,{children:ie.map((t,l)=>e.jsxs(z,{className:"h-9",children:[e.jsx(m,{className:"text-xs py-1",children:t.label[s]}),o.map(i=>e.jsx(m,{className:"text-xs py-1 text-right tabular-nums whitespace-nowrap",children:t.values[i]===null||t.values[i]===void 0?e.jsx("span",{className:"text-muted-foreground",children:a.na}):v(t.values[i])},i)),e.jsx(m,{className:"text-xs py-1 text-muted-foreground",children:t.note[s]})]},l))})]})})]})]}),e.jsxs(Y,{children:[e.jsx(J,{className:"pb-3",children:e.jsx(Z,{className:"font-serif text-base",children:a.netRef})}),e.jsxs(X,{children:[e.jsx("div",{className:"block md:hidden space-y-3",children:bt.map((t,l)=>e.jsxs("div",{className:"rounded-lg border border-border bg-muted/30 p-3 space-y-3",children:[e.jsx("div",{className:"font-medium text-sm",children:t.label[s]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("div",{className:"text-xs text-muted-foreground",children:a.netCol}),e.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 gap-3",children:o.map(i=>e.jsxs("div",{children:[e.jsx("div",{className:"text-[10px] uppercase tracking-tight text-muted-foreground",children:i}),e.jsx("div",{className:"text-sm font-semibold tabular-nums text-muted-foreground",children:t.net[i]==null?e.jsx("span",{className:"text-muted-foreground",children:a.na}
1):v(t.net[i])})]},i))})]}),e.jsxs("div",{className:"space-y-2 pt-2 border-t border-border/50",children:[e.jsx("div",{className:"text-xs font-medium",children:a.grossCol}),e.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 gap-3",children:o.map(i=>e.jsxs("div",{children:[e.jsx("div",{className:"text-[10px] uppercase tracking-tight text-muted-foreground",children:i}),e.jsx("div",{className:"text-sm font-semibold tabular-nums",children:t.gross[i]==null?e.jsx("span",{className:"text-muted-foreground",children:a.na}):v(t.gross[i])})]},i))})]}),t.note[s]&&e.jsx("div",{className:"text-xs text-muted-foreground pt-1 border-t border-border/50",children:t.note[s]})]},l))}),e.jsx("div",{className:"hidden md:block",children:e.jsxs(ze,{children:[e.jsx(Se,{children:e.jsxs(z,{className:"bg-muted/50",children:[e.jsx(T,{className:"h-8 text-xs font-serif",children:a.item}),o.map(t=>e.jsx(T,{className:"h-8 text-xs font-serif text-right",children:t},t)),e.jsx(T,{className:"h-8 text-xs font-serif",children:a.note})]})}),e.jsx(Ge,{children:bt.map((t,l)=>e.jsxs(B.Fragment,{children:[e.jsxs(z,{className:"h-9",children:[e.jsxs(m,{className:"text-xs py-1",children:[t.label[s]," ",e.jsxs("span",{className:"text-muted-foreground",children:["· ",a.netCol]})]}),o.map(i=>e.jsx(m,{className:"text-xs py-1 text-right tabular-nums whitespace-nowrap text-muted-foreground",children:t.net[i]==null?e.jsx("span",{className:"text-muted-foreground",children:a.na}):v(t.net[i])},i)),e.jsx(m,{className:"text-xs py-1 text-muted-foreground",children:t.note[s]})]},`n${l}`),e.jsxs(z,{className:"h-9 font-medium bg-muted/20",children:[e.jsxs(m,{className:"text-xs py-1",children:[t.label[s]," ",e.jsxs("span",{className:"text-muted-foreground",children:["· ",a.grossCol]})]}),o.map(i=>e.jsx(m,{className:"text-xs py-1 text-right tabular-nums whitespace-nowrap",children:t.gross[i]==null?e.jsx("span",{className:"text-muted-foreground",children:a.na}):v(t.gross[i])},i)),e.jsx(m,{className:"text-xs py-1"})]},`g${l}`)]},l))})]})})]})]}),e.jsxs(Y,{children:[e.jsxs(J,{className:"pb-3",children:[e.jsxs(Z,{className:"font-serif text-base flex items-center gap-2",children:[e.jsx(Xt,{className:"h-4 w-4 text-primary"}),Le.title[s]]}),e.jsx(Ze,{className:"text-xs",children:Le.performed[s]})]}),e.jsxs(X,{className:"space-y-4",children:[e.jsxs("div",{className:"rounded-md border border-amber-500/30 bg-amber-500/10 p-3 text-xs text-amber-950 dark:text-amber-100",children:[e.jsxs("div",{className:"font-medium mb-1 flex items-center gap-1.5",children:[e.jsx(Me,{className:"h-3.5 w-3.5"})," ",a.auditDisclaimer]}),Le.disclaimer[s]]}),e.jsxs("div",{className:"grid gap-3 sm:grid-cols-2",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx("div",{className:"text-[10px] uppercase tracking-wider text-muted-foreground font-medium",children:a.auditParticipants}),e.jsx("div",{className:"text-sm",children:Le.participants.join(", ")})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("div",{className:"text-[10px] uppercase tracking-wider text-muted-foreground font-medium",children:a.auditScope}),e.jsx("div",{className:"text-sm",children:Le.scope[s]})]})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("div",{className:"text-[10px] uppercase tracking-wider text-muted-foreground font-medium",children:a.auditFindings}),e.jsx("div",{className:"text-sm text-muted-foreground",children:Le.findings[s]})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("div",{className:"text-[10px] uppercase tracking-wider text-muted-foreground font-medium",children:a.auditOpen}),e.jsx("div",{className:"text-sm text-muted-foreground",children:Le.openPoints[s]})]})]})]})]})})},nn=()=>{const{language:r}=jt(),s={cs:{title:"Provoznà náklady",desc:"PÅehled provoznÃch nákladů domu 2021â2025 â vÅ¡echny Äástky vÄetnÄ DPH"},de:{title:"Betriebskosten",desc:"Ãberblick der Betriebskosten 2021â2025 â alle Beträge inkl. USt."},en:{title:"Operating costs",desc:"Overview of building operating costs 2021â2025 â all amounts incl. VAT"}},a=s[r]||s.cs;return e.jsx(Pt,{title:a.title,description:a.desc,breadcrumbs:[{label:a.title}],children:e.jsx(pa,{})})};export{nn as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.