:root{--vari-tausta:#fff;--vari-pohja:#f3f5f7;--vari-pinta:#f5f7f9;--vari-toissijainen:#e8ecf0;--vari-teksti:#121820;--vari-teksti-himmea:#5b6773;--vari-reuna:#e1e6eb;--vari-reuna-vahva:#c4ccd4;--vari-paa:#0b57a4;--vari-paa-teksti:#fff;--vari-korostus:#0b57a4;--vari-varoitus:#a04000;--vari-virhe:#b3261e;--vari-virhe-tausta:#fdecea;--vari-virhe-teksti:#7f1d1a;--vari-huomio-tausta:#fdf3e7;--vari-kartan-paalla:#fffffff5;--vari-palkki:#fff;--vari-palkki-teksti:#121820;--vari-poistunut:#000;--kulma-mini:4px;--kulma-pieni:8px;--kulma:10px;--kulma-iso:16px;--vali-1:4px;--vali-2:8px;--vali-3:12px;--vali-4:16px;--vali-5:24px;--kosketus:48px;--navi-korkeus:60px;--ikkuna:42vh;--reuna-ylos:env(safe-area-inset-top,0px);--reuna-alas:env(safe-area-inset-bottom,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:16px;line-height:1.45}@media screen{:root[data-teema=yo]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--vari-tausta:#141414;--vari-pohja:#0a0a0a;--vari-pinta:#1d1d1d;--vari-toissijainen:#2a2a2a;--vari-teksti:#f2f2f2;--vari-teksti-himmea:#b4b4b4;--vari-reuna:#2c2c2c;--vari-reuna-vahva:#474747;--vari-paa:#8fc1f5;--vari-paa-teksti:#0a0a0a;--vari-korostus:#8fc1f5;--vari-varoitus:#ffb27a;--vari-virhe:#ff8a80;--vari-virhe-tausta:#3b1715;--vari-virhe-teksti:#ffd6d2;--vari-huomio-tausta:#33251a;--vari-kartan-paalla:#141414f0;--vari-palkki:#141414;--vari-palkki-teksti:#f2f2f2;--vari-poistunut:#000}:root[data-teema=yo] .tila-merkki.poistunut,:root[data-teema=yo] .poistunut-merkki{box-shadow:0 0 0 2px var(--vari-teksti)}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--vari-tausta);color:var(--vari-teksti);overscroll-behavior:none}h1,h2,h3{text-wrap:balance}h1{letter-spacing:-.01em;margin:0 0 var(--vali-2);font-size:1.375rem;font-weight:700}h2{margin:var(--vali-5) 0 var(--vali-2);font-size:1.0625rem;font-weight:700}h3{margin:var(--vali-4) 0 var(--vali-1);font-size:1rem;font-weight:600}p{margin:0 0 var(--vali-2)}button,select,input{font:inherit;color:inherit}button{min-height:var(--kosketus);min-width:var(--kosketus);padding:0 var(--vali-4);border:2px solid var(--vari-paa);border-radius:var(--kulma-pieni);background:var(--vari-paa);color:var(--vari-paa-teksti);cursor:pointer;touch-action:manipulation;font-weight:600}button.toissijainen{background:var(--vari-toissijainen);color:var(--vari-teksti);border-color:#0000}button:disabled{opacity:.45;cursor:default}button,summary,.nappilinkki,.tiedostonappi{-webkit-tap-highlight-color:transparent}button:active:not(:disabled),.nappilinkki:active,.tiedostonappi:active{filter:brightness(.85)}@media (hover:hover){button:hover:not(:disabled),.nappilinkki:hover,.tiedostonappi:hover{filter:brightness(1.12)}button.toissijainen:hover:not(:disabled),.tiedostonappi.toissijainen:hover{filter:brightness(.95)}}button.linkkinappi{min-width:0;min-height:0;padding:0 var(--vali-1);color:var(--vari-korostus);text-underline-offset:.15em;background:0 0;border:0;font-weight:600;text-decoration:underline}select,input[type=text],input[type=search]{min-height:var(--kosketus);width:100%;padding:0 var(--vali-3);border:1px solid var(--vari-reuna-vahva);border-radius:var(--kulma-pieni);background:var(--vari-tausta)}:focus-visible{outline:3px solid var(--vari-korostus);outline-offset:2px}.nappilinkki{min-height:var(--kosketus);margin-top:var(--vali-2);padding:0 var(--vali-4);border:2px solid var(--vari-paa);border-radius:var(--kulma-pieni);background:var(--vari-paa);color:var(--vari-paa-teksti);align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.ohje{color:var(--vari-teksti-himmea)}.virhe{padding:var(--vali-3) var(--vali-3);border-left:5px solid var(--vari-virhe);background:var(--vari-virhe-tausta);color:var(--vari-virhe-teksti);font-weight:600}.huomio{padding:var(--vali-3) var(--vali-3);border-left:5px solid var(--vari-varoitus);background:var(--vari-huomio-tausta);font-weight:600}.nakymaton{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.luuranko-nappi{height:var(--navi-korkeus);background:0 0;flex:1 1 0;display:block}.luuranko .sisalto{flex-direction:column;display:flex}.luuranko-kartta{background:var(--vari-pinta);animation:1.2s ease-in-out infinite alternate luuranko-syke}@keyframes luuranko-syke{0%{opacity:.55}to{opacity:1}}.sivu{max-width:720px;padding:calc(16px + var(--reuna-ylos)) 16px calc(32px + var(--reuna-alas));margin:0 auto}.tiedostonappi{min-height:var(--kosketus);margin:var(--vali-2) 0 var(--vali-4);padding:0 var(--vali-5);border:2px solid var(--vari-paa);border-radius:var(--kulma-pieni);background:var(--vari-paa);color:var(--vari-paa-teksti);cursor:pointer;align-items:center;font-weight:600;display:inline-flex}.tiedostonappi.toissijainen{background:var(--vari-tausta);color:var(--vari-paa)}.ehdotukset{margin:var(--vali-3) 0 var(--vali-5);padding:var(--vali-1) var(--vali-3) var(--vali-3);border:1px solid var(--vari-korostus);border-radius:var(--kulma)}.ehdotukset .raporttirivit{padding:0}.maadoitustaulukko,.yhteenveto-luvut .luku,.tila-aika{font-variant-numeric:tabular-nums}.loki>li,.raporttirivit>li{content-visibility:auto;contain-intrinsic-size:auto 56px}@media screen and (width<=640px){.maadoitustaulukko tr{content-visibility:auto;contain-intrinsic-size:auto 140px}}.liittymiskoodi{font-variant-numeric:tabular-nums;letter-spacing:.12em;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:1.6rem;font-weight:700}.loki-teksti.hylatty{color:var(--vari-virhe);font-weight:700}.palvelin{margin-top:var(--vali-4);padding-top:var(--vali-2);border-top:1px solid var(--vari-reuna)}.palvelin h3{margin:var(--vali-1) 0}.palvelin.aloitus{margin-top:32px}.palvelin.aloitus .valikko button{text-align:center;width:auto}.palautus{padding-top:var(--vali-2);border-top:1px solid var(--vari-reuna);margin-top:32px}.tiedostonappi input{opacity:0;width:1px;height:1px;position:absolute}.kentta{gap:var(--vali-1) var(--vali-3);padding:var(--vali-2) 0;border-bottom:1px solid var(--vari-reuna);flex-wrap:wrap;display:flex}.kentta-nimi{min-width:140px;color:var(--vari-teksti-himmea)}.kerroslista,.yhteenveto,.varoitukset,.tuloslista,.selitelista{margin:0;padding:0;list-style:none}.kerroslista>li{padding:var(--vali-3);margin-bottom:var(--vali-3);border:1px solid var(--vari-reuna);border-radius:var(--kulma);background:var(--vari-pinta)}.kerros-nimi{word-break:break-word;font-weight:700}.kerros-tiedot{color:var(--vari-teksti-himmea);margin-bottom:var(--vali-1);font-size:.92rem}.kerroslista select{margin-top:var(--vali-2)}.valintaruutu{align-items:center;gap:var(--vali-3);min-height:var(--kosketus);margin-top:var(--vali-1);cursor:pointer;display:flex}.valintaruutu input{width:26px;height:26px;accent-color:var(--vari-paa);flex:none}.yhteenveto>li{padding:var(--vali-2) 0;border-bottom:1px solid var(--vari-reuna)}.varoitukset>li{padding:var(--vali-2) var(--vali-3);margin-bottom:var(--vali-2);border-left:5px solid var(--vari-varoitus);background:var(--vari-huomio-tausta);word-break:break-word;font-size:.92rem}.raporttiosio{margin:var(--vali-2) 0;border:1px solid var(--vari-reuna);border-radius:var(--kulma);background:var(--vari-pinta)}.raporttiosio>summary,.raporttiosio.tyhja{min-height:var(--kosketus);padding:var(--vali-1) var(--vali-3);align-items:center;font-weight:700;display:flex}.raporttiosio>summary{gap:var(--vali-3);cursor:pointer;list-style:none}.raporttiosio>summary::-webkit-details-marker{display:none}.raporttiosio>summary:before{content:"";border-top:7px solid #0000;border-bottom:7px solid #0000;border-left:10px solid;flex:none}.raporttiosio[open]>summary:before{transform:rotate(90deg)}.raporttiosio.tyhja{color:var(--vari-teksti-himmea);font-weight:400}.raporttiosio-sisalto{padding:0 var(--vali-3) var(--vali-2)}.raporttirivit{padding:0 var(--vali-3) var(--vali-2);margin:0;list-style:none}.raporttirivit>li{padding:var(--vali-2) 0;border-top:1px solid var(--vari-reuna);word-break:break-word}.raportti-tunnus{margin-right:var(--vali-2);font-weight:700}.raportti-tieto{color:var(--vari-teksti-himmea)}.kirjausmerkki{margin-left:var(--vali-2);padding:0 var(--vali-2);border:2px solid var(--vari-varoitus);color:var(--vari-varoitus);border-radius:999px;font-size:.85rem;font-weight:700;display:inline-block}.napit{align-items:center;gap:var(--vali-3);margin-top:var(--vali-5);flex-wrap:wrap;display:flex}.sovellus{flex-direction:column;height:100%;display:flex}.sisalto{flex:1;min-height:0;position:relative;overflow:hidden}.paanavigaatio{padding:0 var(--vali-1) var(--reuna-alas);border-top:1px solid var(--vari-reuna);background:var(--vari-tausta);flex:none;order:1;display:flex}.sovelluksen-nimi{display:none}.navikohde{min-height:var(--navi-korkeus);padding:var(--vali-1) var(--vali-1);color:var(--vari-teksti-himmea);background:0 0;border:0;border-radius:0;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;font-size:.75rem;font-weight:600;display:flex;position:relative}.navikohde svg{width:26px;height:26px;padding:1px 0}.navikohde[aria-current=page]{color:var(--vari-teksti)}.navikohde[aria-current=page] svg{background:var(--vari-toissijainen);border-radius:999px;width:50px;padding:1px 12px}.navikohde .merkki-pallo{margin:0;position:absolute;top:6px;left:calc(50% + 6px)}@media (width>=900px){.sovellus{flex-direction:row}.paanavigaatio{width:232px;padding:calc(var(--vali-4) + var(--reuna-ylos)) var(--vali-3) var(--vali-4);gap:var(--vali-1);border-top:0;border-right:1px solid var(--vari-reuna);background:var(--vari-pohja);flex-direction:column;order:0}.sovelluksen-nimi{margin:0 var(--vali-3) var(--vali-4);letter-spacing:-.01em;font-weight:700;display:block}.navikohde{justify-content:flex-start;gap:var(--vali-3);min-height:var(--kosketus);padding:0 var(--vali-3);border-radius:var(--kulma-pieni);flex-direction:row;flex:none;font-size:1rem}.navikohde svg{width:24px;height:24px;padding:0}.navikohde[aria-current=page]{background:var(--vari-toissijainen)}.navikohde[aria-current=page] svg{background:0 0;width:24px;padding:0}.navikohde .merkki-pallo{margin-left:auto;position:static}}.karttanakyma{flex-direction:column;display:flex;position:absolute;inset:0}.ylapalkki{align-items:center;gap:var(--vali-2);min-height:56px;padding:calc(var(--vali-1) + var(--reuna-ylos)) var(--vali-3) var(--vali-1);border-bottom:1px solid var(--vari-reuna);background:var(--vari-palkki);color:var(--vari-palkki-teksti);display:flex}.ylapalkki-nimi{align-items:center;gap:var(--vali-2);flex:1;min-width:0;display:flex}.tyomaan-nimi{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.0625rem;font-weight:700;display:block;overflow:hidden}.ylapalkki-nimi select{font-weight:700}.ylapalkki-napit{gap:var(--vali-2);display:flex}.ylapalkki-napit button{padding:0 var(--vali-3)}.kartta-alue{flex:1;min-height:0;position:relative}.kartta{position:absolute;inset:0}.kartta-canvas{width:100%;height:100%}.kartta-virhe{height:100%;padding:var(--vali-5);text-align:center;justify-content:center;align-items:center;display:flex}.sijoitus-risti{z-index:3;pointer-events:none;width:56px;height:56px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sijoitus-risti:before,.sijoitus-risti:after{content:"";background:#000;position:absolute;box-shadow:0 0 0 2px #fff}.sijoitus-risti:before{width:3px;top:0;bottom:0;left:50%;transform:translate(-50%)}.sijoitus-risti:after{height:3px;top:50%;left:0;right:0;transform:translateY(-50%)}.sijoitus-palkki{z-index:4;padding:var(--vali-3) 14px calc(var(--vali-3) + var(--reuna-alas));border-top:3px solid var(--vari-paa);background:var(--vari-tausta);position:absolute;bottom:0;left:0;right:0;box-shadow:0 -2px 8px #00000040}.sijoitus-palkki .ohje{margin:0 0 var(--vali-2)}.sijoitus-palkki .napit{margin-top:0}.merkinta-kuvake{width:28px;height:28px;margin-right:var(--vali-2);border-radius:var(--kulma-mini);box-shadow:0 0 0 1px var(--vari-teksti);color:#fff;vertical-align:middle;border:2px solid #fff;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:inline-flex}.merkinta-lisatieto{white-space:pre-line}.kartta-ohjaimet{z-index:2;gap:var(--vali-2);flex-direction:column;width:170px;display:flex;position:absolute;top:10px;left:10px}.kartta-ohjaimet select{box-shadow:0 1px 4px #0000004d}.kartta-huomautus{z-index:2;padding:var(--vali-3) var(--vali-3);border-left:5px solid var(--vari-varoitus);border-radius:var(--kulma-mini);background:var(--vari-kartan-paalla);margin:0;font-size:.92rem;position:absolute;top:10px;left:190px;right:10px;box-shadow:0 1px 4px #0000004d}.maplibregl-ctrl-group button{width:var(--kosketus);height:var(--kosketus)}.maplibregl-ctrl-group button .maplibregl-ctrl-icon{transform:scale(1.3)}.paneeli{z-index:5;width:min(420px,100%);padding:12px 14px calc(16px + var(--reuna-alas));overscroll-behavior:contain;background:var(--vari-tausta);position:absolute;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-2px 0 10px #00000040}.nakyman-valinnat{gap:var(--vali-3);flex-wrap:wrap;display:flex}.nakyman-valinnat>.kentta-pino{flex:160px}.paneeli-ylapalkki,.kortti-ylapalkki{justify-content:space-between;align-items:center;gap:var(--vali-3);display:flex}.paneeli-ylapalkki h2,.kortti-ylapalkki h2{overflow-wrap:anywhere;margin:0}.kortti-tiedot{margin:var(--vali-1) 0 var(--vali-2);color:var(--vari-teksti-himmea)}@media (width<=480px){.paneeli{width:100%}}.tuloslista>li{border-bottom:1px solid var(--vari-reuna)}.tulos{width:100%;min-height:56px;padding:var(--vali-2) var(--vali-1);color:inherit;text-align:left;background:0 0;border:0;border-radius:0;flex-direction:column;align-items:flex-start;gap:2px;display:flex}.tulos-otsikko{font-weight:700}.tulos-lisa{color:var(--vari-teksti-himmea);font-size:.92rem;font-weight:400}.selitelista>li{gap:var(--vali-2) var(--vali-3);padding:var(--vali-3) 0;border-bottom:1px solid var(--vari-reuna);grid-template-columns:40px 1fr;align-items:center;display:grid}.selitelista>li input{grid-column:1/-1}.varilaatta{border:2px solid var(--vari-teksti);border-radius:var(--kulma-mini);width:40px;height:28px}.varilaatta.pieni{width:22px;height:14px;margin-right:var(--vali-2);vertical-align:middle;border-width:1px;display:inline-block}.tilaselite{margin:0 0 var(--vali-2);padding:0;list-style:none}.tilaselite>li{align-items:center;gap:var(--vali-3);padding:var(--vali-2) 0;display:flex}.tilaselite .tila-merkki{margin-top:0}.tila-merkki.poistunut{border:5px solid var(--vari-poistunut);background:var(--vari-tausta)}.poistunut-merkki{margin-left:var(--vali-2);padding:0 var(--vali-2);border:2px solid var(--vari-poistunut);border-radius:999px;font-size:.85rem;font-weight:700;display:inline-block}.selite-tiedot{flex-direction:column;display:flex}.selite-vari{font-family:ui-monospace,monospace;font-weight:700}.selite-maara{color:var(--vari-teksti-himmea);font-size:.9rem}.kortti{z-index:4;max-height:65%;padding:10px 14px calc(16px + var(--reuna-alas));overscroll-behavior:contain;border-radius:var(--kulma-iso) var(--kulma-iso) 0 0;background:var(--vari-tausta);position:absolute;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -2px 12px #0000002e}.kortti h2{margin-top:var(--vali-1)}@media (width>=900px){.kortti{border-top:0;border-right:1px solid var(--vari-reuna);border-radius:0;width:440px;max-height:none;top:0;right:auto;box-shadow:2px 0 10px #00000040}.kartta-alue:has(>.kortti) .kartta-ohjaimet{left:450px}.kartta-alue:has(>.kortti) .kartta-huomautus{left:630px}}.piiri{margin:var(--vali-2) 0 var(--vali-3);padding:var(--vali-3) var(--vali-3);border:1px solid var(--vari-reuna);border-radius:var(--kulma);background:var(--vari-pinta)}.piiri-nimi{margin-bottom:var(--vali-1);font-weight:700}.tila{align-items:flex-start;gap:var(--vali-3);margin:var(--vali-2) 0;display:flex}.tila-merkki{border:2px solid var(--vari-teksti);border-radius:50%;flex:none;width:20px;height:20px;margin-top:2px}.tila-teksti{font-weight:700;display:block}.tila-merkki.tyhja{border-color:#0000}.tila.neutraali .tila-teksti{color:var(--vari-teksti-himmea);font-weight:600}.tila-aika{color:var(--vari-teksti-himmea);font-size:.9rem;display:block}.piiri-napit{gap:var(--vali-2);margin-top:var(--vali-2);flex-wrap:wrap;display:flex}.huomio-rivi{padding:var(--vali-2) 0;border-bottom:1px solid var(--vari-reuna)}.huomio-rivi p,.loki-teksti{white-space:pre-wrap;margin:0 0 2px}.huomiot>button,.puutteet>button{margin-top:var(--vali-2)}.puute-rivi,.tarvike-rivi{justify-content:space-between;align-items:center;gap:var(--vali-2);padding:var(--vali-2) 0;border-bottom:1px solid var(--vari-reuna);flex-wrap:wrap;display:flex}.puute-rivi>div{flex:200px}.puute-rivi p{white-space:pre-wrap;margin:0 0 2px}.tarvike-rivi>.tila{flex:200px;margin:0}.loki{margin:0;padding:0;list-style:none}.loki>li{padding:var(--vali-2) 0;border-bottom:1px solid var(--vari-reuna)}.loki-rivi{justify-content:space-between;align-items:center;gap:var(--vali-2);display:flex}.loki-otsikko{font-weight:600}.loki>li.kumottu .loki-otsikko,.loki>li.kumottu .loki-teksti{color:var(--vari-teksti-himmea);text-decoration:line-through}.ryhmapalkki{padding:var(--vali-2) var(--vali-3);border-bottom:1px solid var(--vari-reuna);background:var(--vari-tausta)}.ryhmapalkki select{border-left:8px solid;border-left-color:inherit}.etusivu-otsikko .ryhmapalkki{padding:var(--vali-2) 0 0;border-bottom:0}.ryhmamerkki{margin-left:var(--vali-2);padding:0 var(--vali-2);border:2px solid;border-radius:999px;font-size:.85rem;font-weight:600;display:inline-block}.varivalinta,.rajaus{margin:var(--vali-3) 0;padding:var(--vali-2) var(--vali-3);border:1px solid var(--vari-reuna);border-radius:var(--kulma-pieni)}.varivalinta legend,.rajaus legend{font-weight:600}.varivaihtoehto{align-items:center;gap:var(--vali-1);min-height:var(--kosketus);margin-right:var(--vali-3);display:inline-flex}.varivaihtoehto input{width:24px;height:24px}.valikko{margin:var(--vali-2) 0;padding:0;list-style:none}.valikko>li{margin-bottom:var(--vali-2)}.valikko button{text-align:left;width:100%}.kentta-pino{gap:var(--vali-1);margin:var(--vali-3) 0;flex-direction:column;font-weight:600;display:flex}.koko-sivu{z-index:10;overscroll-behavior:contain;padding:calc(var(--vali-3) + var(--reuna-ylos)) max(16px, calc((100% - 760px) / 2)) calc(var(--vali-5) + var(--reuna-alas));background:var(--vari-tausta);position:absolute;inset:0;overflow-y:auto}.sivun-otsikko{align-items:center;gap:var(--vali-2) var(--vali-2);margin:0 0 var(--vali-3);flex-wrap:wrap;display:flex}.sivun-otsikko h1{flex:1;min-width:0;margin:0}button.takaisin{margin-left:calc(-1 * var(--vali-2));color:var(--vari-teksti);background:0 0;border-color:#0000;flex:none;padding:0}button.takaisin svg{display:block}.suodattimet{gap:var(--vali-2);margin:var(--vali-3) 0;flex-wrap:wrap;display:flex}.virheen-tiedot pre{white-space:pre-wrap;overflow-wrap:anywhere}.suodattimet select{flex:160px;width:auto}.suodattimet .valintaruutu{flex:100%}.yhteenveto-luvut{gap:var(--vali-2);margin:var(--vali-3) 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.yhteenveto-luvut>li{min-width:96px;padding:var(--vali-2) var(--vali-3);border:1px solid var(--vari-reuna);border-radius:var(--kulma);flex-direction:column;font-size:.9rem;display:flex}.yhteenveto-luvut>li[data-luku=missing]{border-color:#d50000}.yhteenveto-luvut .luku{font-size:1.4rem;font-weight:700}.maadoitustaulukko{width:100%;margin:var(--vali-2) 0 var(--vali-4);border-collapse:collapse}.maadoitustaulukko th,.maadoitustaulukko td{padding:var(--vali-2) var(--vali-2);border-bottom:1px solid var(--vari-reuna);text-align:left;vertical-align:middle}.maadoitustaulukko th{font-size:.9rem}.maadoitustaulukko .tila-merkki{margin:0 var(--vali-2) -4px 0;display:inline-block}.yhteystieto-napit{gap:var(--vali-2);flex-wrap:wrap;display:flex}.pylvasnapit{align-items:center;gap:var(--vali-2);margin-top:var(--vali-2);flex-wrap:wrap;display:flex}.vetovalit{margin:0;padding:0;list-style:none}.vetovali{margin:var(--vali-2) 0 var(--vali-3);padding:var(--vali-3);border:1px solid var(--vari-reuna);border-radius:var(--kulma);background:var(--vari-pinta)}.vetovali-otsikko{justify-content:space-between;align-items:baseline;gap:var(--vali-2);flex-wrap:wrap;display:flex}.mittarit{gap:var(--vali-1) var(--vali-4);margin:var(--vali-1) 0;font-variant-numeric:tabular-nums;flex-wrap:wrap;padding:0;list-style:none;display:flex}.vali-pylvaat{gap:var(--vali-3);display:flex}.vali-pylvaat>.kentta-pino{flex:1 1 0}.suunnitelman-esikatselu .tila-aika{overflow-wrap:anywhere}.tarvikemaarat{width:100%;margin:var(--vali-3) 0;border-collapse:collapse}.tarvikemaarat caption{text-align:left}.tarvikemaarat th,.tarvikemaarat td{padding:var(--vali-2);border-bottom:1px solid var(--vari-reuna);text-align:left}.tarvikemaarat td+td,.tarvikemaarat th+th{text-align:right;font-variant-numeric:tabular-nums}.puute-teksti{white-space:pre-wrap}.maadoitustaulukko tr.rivi-missing td,.maadoitustaulukko tr.rivi-earthed_unplanned td{font-weight:700}.maadoitustaulukko tr.rivi-missing{background:var(--vari-virhe-tausta)}button.pylvasnappi{padding:0 var(--vali-3);background:var(--vari-tausta);color:var(--vari-paa)}@media screen and (width<=640px){.maadoitustaulukko thead{display:none}.maadoitustaulukko,.maadoitustaulukko tbody,.maadoitustaulukko tr,.maadoitustaulukko td{width:100%;display:block}.maadoitustaulukko tr{padding:var(--vali-2) var(--vali-2);border-bottom:1px solid var(--vari-reuna)}.maadoitustaulukko td{justify-content:space-between;align-items:center;gap:var(--vali-3);border:0;padding:3px 0;display:flex}.maadoitustaulukko td:before{content:attr(data-otsikko);color:var(--vari-teksti-himmea);font-weight:400}.maadoitustaulukko td:empty{display:none}}.linja-osio{margin:var(--vali-4) 0;padding-bottom:var(--vali-3);border-bottom:1px solid var(--vari-reuna)}.linja-osio h2{margin-bottom:0}.piirilista{margin:var(--vali-2) 0;padding:0;list-style:none}.piirilista>li{justify-content:space-between;align-items:center;gap:var(--vali-2);padding:var(--vali-2) 0;border-bottom:1px solid var(--vari-reuna);display:flex}.tilannerivi{justify-content:space-between;align-items:center;gap:var(--vali-2);flex-wrap:wrap;display:flex}.suodattimet input[type=search]{flex:100%}.raporttilista{margin:0;padding:0;list-style:none}.raporttilista>li{justify-content:space-between;align-items:center;gap:var(--vali-2);padding:var(--vali-2) 0;border-bottom:1px solid var(--vari-reuna);flex-wrap:wrap;display:flex}.raporttilista>li>button{white-space:nowrap}.tarkistuslista{margin:0 0 var(--vali-3);padding:0;list-style:none}.tarkistuslista>li{align-items:flex-start;gap:var(--vali-2);padding:var(--vali-2) 0;border-bottom:1px solid var(--vari-reuna);display:flex}.tarkistuslista .tila-merkki{flex:none;margin-top:.2em}.vain-tulosteeseen{display:none}@media print{@page{size:A4;margin:14mm}.karttanakyma,.paanavigaatio,.avaa-kartta,.ios-ohje,.ei-tulosteeseen{display:none!important}.vain-tulosteeseen{display:block}.koko-sivu{padding:0;position:static;overflow:visible}body{font-size:10pt}button.pylvasnappi{min-height:0;color:inherit;background:0 0;border:0;padding:0;font-weight:700}.maadoitustaulukko tr.rivi-missing{background:0 0}}.dialogi-tausta{z-index:30;padding:12px 12px calc(12px + var(--reuna-alas));background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.dialogi{overscroll-behavior:contain;width:min(480px,100%);max-height:100%;padding:var(--vali-4);border-radius:var(--kulma-iso);background:var(--vari-tausta);overflow-y:auto;box-shadow:0 4px 20px #00000059}.dialogi h2{margin:0 0 var(--vali-2)}.dialogi:focus{outline:none}.dialogi .napit button{flex:auto}.dialogi>.napit:last-child{margin:var(--vali-2) -16px -16px;padding:var(--vali-3) var(--vali-4) var(--vali-4);background:var(--vari-tausta);position:sticky;bottom:-16px}textarea{width:100%;min-height:96px;padding:var(--vali-3) var(--vali-3);border:1px solid var(--vari-reuna);border-radius:var(--kulma-pieni);background:var(--vari-tausta);font:inherit;color:inherit;resize:vertical;font-weight:400}.virheilmoitus{top:calc(8px + var(--reuna-ylos));z-index:40;align-items:center;gap:var(--vali-3);padding:var(--vali-3) var(--vali-3);border:2px solid var(--vari-virhe);border-radius:var(--kulma-iso);background:var(--vari-virhe-tausta);color:var(--vari-virhe-teksti);font-weight:600;display:flex;position:fixed;left:8px;right:8px;box-shadow:0 2px 12px #00000059}.virheilmoitus p{overflow-wrap:anywhere;flex:1;margin:0}.ios-ohje{left:8px;right:8px;bottom:calc(var(--navi-korkeus) + 8px + var(--reuna-alas));z-index:20;padding:var(--vali-3) var(--vali-4);border:2px solid var(--vari-paa);border-radius:var(--kulma-iso);background:var(--vari-tausta);position:fixed;box-shadow:0 2px 12px #00000059}.ios-ohje h2{margin:0 0 var(--vali-2);font-size:1.05rem}.ios-ohje p{font-size:.95rem}@keyframes liuku-ylos{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes liuku-vasemmalta{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:none}}@keyframes liuku-oikealta{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}.kortti{animation:.15s ease-out liuku-ylos}.paneeli{animation:.15s ease-out liuku-oikealta}@media (width>=900px){.kortti{animation-name:liuku-vasemmalta}}@media (prefers-reduced-motion:reduce){.kortti,.paneeli,.luuranko-kartta{animation:none}}@media (forced-colors:active){.tila-merkki,.varilaatta{forced-color-adjust:none}button:not(.toissijainen):not(.linkkinappi):not([class*=maplibregl-ctrl]){border-width:4px}}.ohjesivu section{max-width:65ch}.ohjesivu li{margin-bottom:var(--vali-2);line-height:1.45}.uutta{margin:0 0 var(--vali-3);padding:var(--vali-3);border-left:5px solid var(--vari-korostus);border-radius:var(--kulma-mini);background:var(--vari-pinta)}.uutta p{margin:0 0 var(--vali-2)}.ehdotukset{margin-top:var(--vali-5)}.ehdotus-suodattimet{gap:var(--vali-2);margin:var(--vali-3) 0 var(--vali-2);flex-wrap:wrap;display:flex}.ehdotus-suodattimet button{padding:0 var(--vali-3)}.hylatyt{margin:var(--vali-3) 0;border:1px solid var(--vari-reuna);border-radius:var(--kulma);background:var(--vari-pinta)}.hylatyt>summary{align-items:center;gap:var(--vali-3);min-height:var(--kosketus);padding:var(--vali-1) var(--vali-3);cursor:pointer;font-weight:700;list-style:none;display:flex}.hylatyt>summary::-webkit-details-marker{display:none}.hylatyt>summary:before{content:"";border-top:7px solid #0000;border-bottom:7px solid #0000;border-left:10px solid;flex:none}.hylatyt[open]>summary:before{transform:rotate(90deg)}.hylatyt>.vetovalit{padding:0 var(--vali-3)}.varilaatta-ontto{background:#fff;border-style:dashed}.kuvaruudukko{gap:var(--vali-2);margin:var(--vali-2) 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.kuvanappi{border:1px solid var(--vari-reuna);border-radius:var(--kulma-pieni);background:var(--vari-pinta);min-width:72px;min-height:72px;padding:0;overflow:hidden}.kuvanappi img{object-fit:cover;width:72px;height:72px;display:block}.kuvan-esikatselu,.kuvakatselin-kuva{width:auto;max-width:100%;height:auto;max-height:55vh;margin:0 auto var(--vali-2);border-radius:var(--kulma-pieni);background:var(--vari-pinta);display:block}.kuvakatselin{max-width:100%}.kuvateksti{margin:0 0 var(--vali-1);font-weight:600}.puutteen-kuvat{margin-top:var(--vali-1)}.puutteen-kuvat .kuvanappi,.puutteen-kuvat .kuvanappi img{width:56px;min-width:56px;height:56px;min-height:56px}.tiedostonappi.pieni{margin:var(--vali-1) 0;padding:0 var(--vali-3);font-size:.95rem}.valikko .valikon-nappi{width:100%;padding:0 var(--vali-4);box-sizing:border-box;justify-content:flex-start;margin:0}.tavoitteen-kohdat{margin:var(--vali-2) 0 0;padding:0;list-style:none}.tavoitteen-kohdat>li{padding:var(--vali-1) 0;border-bottom:1px solid var(--vari-reuna)}.tavoitteen-kohdat>li:last-child{border-bottom:none}.tavoitteen-kohdat .valintaruutu{margin-top:0}.kohdan-kuittaus{align-items:center;gap:var(--vali-2);padding-left:calc(26px + var(--vali-3));flex-wrap:wrap;display:flex}.kentta-pino input[type=date]{min-height:var(--kosketus)}.edistyminen{background:#e0e4ea;border-radius:5px;height:10px;margin:6px 0;overflow:hidden}.edistyminen-palkki{background:#1b8a2e;height:100%}.tyovaihe-linja>h2,.tyovaiheet-asetukset>h2{margin:16px 0 8px;font-size:1.1rem}.tyovaiheet-asetukset .piirilista .piiri-napit{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.viikkotaulukko tr.yhteensa td{font-weight:700}.viikkoraportti .suodattimet{flex-wrap:wrap;gap:8px;display:flex}.avoimet-vauriot{padding-left:20px}.arkistoitu-merkki{color:#fff;background:#6b7785;border-radius:10px;margin-left:8px;padding:2px 8px;font-size:.8rem;font-weight:700;display:inline-block}.merkki-pallo{color:#fff;text-align:center;background:#d50000;border-radius:10px;min-width:20px;margin-left:6px;padding:0 6px;font-size:.75rem;font-weight:700;line-height:20px;display:inline-block}.uusi-merkki{color:#fff;background:#d50000;border-radius:8px;margin-right:6px;padding:0 6px;font-size:.75rem;font-weight:700;display:inline-block}.ilmoitukset .napit{align-items:center}.merkitty-kuva-alue{touch-action:manipulation;background:#e0e4ea;border-radius:8px;width:100%;max-width:900px;display:block;position:relative;overflow:hidden}.merkitty-kuva-alue img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:auto;display:block}.merkitty-kuva-tyhja{aspect-ratio:4/3;width:100%}.kuva-alue{pointer-events:none;box-sizing:border-box;background:#ffd60040;border:2px solid #ffd600;position:absolute}.kuva-alue.valittu{background:#d5000040;border-color:#d50000}.kuva-kulma{pointer-events:none;background:#d50000;border-radius:50%;width:14px;height:14px;margin:-7px 0 0 -7px;position:absolute}.merkitty-kuva-alue[data-muokkaus=true]{cursor:crosshair;outline:3px solid #1565c0}.kuva-sisalto{color:#3d2f00;background:#fff3cd;border-radius:8px;margin:8px 0;padding:10px 12px;font-weight:700}.etusivu{z-index:6;overscroll-behavior:contain;pointer-events:none;position:absolute;inset:0;overflow-y:auto}.etusivu-ikkuna{height:var(--ikkuna);pointer-events:none;min-height:200px;position:relative}.etusivu-arkki{min-height:calc(100% - var(--ikkuna) + 1px);padding:var(--vali-3) var(--vali-4) calc(var(--vali-5) + var(--reuna-alas));border-radius:var(--kulma-iso) var(--kulma-iso) 0 0;background:var(--vari-tausta);pointer-events:auto;box-shadow:0 -2px 12px #0000002e}.etusivu-arkki:before{content:"";width:40px;height:4px;margin:0 auto var(--vali-3);background:var(--vari-reuna-vahva);border-radius:2px;display:block}.etusivu-otsikko h1,.etusivu-otsikko .tyomaan-nimi{white-space:normal;margin:0;font-size:1.375rem}.etusivu-paiva{margin:2px 0 0}.avaa-kartta{right:var(--vali-3);bottom:var(--vali-3);pointer-events:auto;align-items:center;gap:var(--vali-2);padding:0 var(--vali-3) 0 var(--vali-2);background:var(--vari-tausta);color:var(--vari-teksti);border-color:#0000;display:inline-flex;position:absolute;box-shadow:0 1px 6px #00000040}.sovellus[data-nakyma=home] .kartta-ohjaimet,.sovellus[data-nakyma=home] .maplibregl-ctrl-bottom-right,.sovellus[data-nakyma=home] .maplibregl-ctrl-bottom-left{display:none}.sovellus[data-nakyma=home] .kartta-huomautus{left:10px}@media (width>=900px){.etusivu{width:min(600px,56%);right:auto}.etusivu-ikkuna{display:none}.etusivu-arkki{min-height:100%;padding:calc(var(--vali-4) + var(--reuna-ylos)) var(--vali-5) var(--vali-5);border-right:1px solid var(--vari-reuna);box-shadow:none;border-radius:0}.etusivu-arkki:before{display:none}.sovellus[data-nakyma=home] .maplibregl-ctrl-bottom-right,.sovellus[data-nakyma=home] .maplibregl-ctrl-bottom-left{display:block}.sovellus[data-nakyma=home] .kartta-huomautus{left:calc(min(600px,56%) + 190px)}}.toimintorivi{gap:var(--vali-2);margin:var(--vali-4) 0 var(--vali-2);display:flex}.toimintorivi .toiminto{justify-content:center;align-items:center;gap:var(--vali-2);padding:0 var(--vali-3);flex:1 1 0;margin:0;display:inline-flex}.toimintorivi .toiminto svg{flex:none}.huomiot{margin:var(--vali-3) 0 0;border-radius:var(--kulma);background:var(--vari-huomio-tausta);overflow:hidden}.huomiorivi{justify-content:space-between;align-items:center;gap:var(--vali-2);width:100%;min-height:var(--kosketus);padding:var(--vali-2) var(--vali-3);border:0;border-left:4px solid var(--vari-varoitus);color:var(--vari-teksti);text-align:left;background:0 0;border-radius:0;font-weight:600;display:flex}.huomiorivi+.huomiorivi{border-top:1px solid #00000014}.huomiorivi svg{color:var(--vari-teksti-himmea);flex:none}.huomiorivi .tila{align-items:center;margin:0}.osion-otsikko{justify-content:space-between;align-items:baseline;gap:var(--vali-3);margin-top:var(--vali-5);display:flex}.osion-otsikko h2{margin:0}.osion-otsikko .linkkinappi{white-space:nowrap;min-height:32px}.etusivu .vetovali:first-of-type,.etusivu .loki{margin-top:var(--vali-2)}.luvut{margin:var(--vali-2) 0 var(--vali-1);border:1px solid var(--vari-reuna);border-radius:var(--kulma);background:var(--vari-reuna);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.luku-solu{min-height:72px;padding:var(--vali-2) var(--vali-3);background:var(--vari-tausta);flex-direction:column;display:flex}.luku-solu:last-child:nth-child(odd){grid-column:1/-1}.luku-solu dt{color:var(--vari-teksti-himmea);font-size:.8125rem;font-weight:600}.luku-solu dd{font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:1.5rem;font-weight:600;line-height:1.2}.luku-solu[data-huomio=true] dd{color:var(--vari-varoitus)}.luku-yksikko{color:var(--vari-teksti-himmea);font-size:1rem;font-weight:400}.luku-lisa{color:var(--vari-teksti-himmea);font-size:.8125rem}.luku-ohje{margin:var(--vali-1) 0 var(--vali-2);font-size:.875rem}@media (width>=560px){.luvut{grid-template-columns:repeat(3,minmax(0,1fr))}.luku-solu:last-child:nth-child(odd){grid-column:auto}}.kohdelista{margin:0;padding:0;list-style:none}.kohdelista>li+li .linkkirivi{border-top:1px solid var(--vari-reuna)}.linkkirivi{align-items:center;gap:var(--vali-3);width:100%;min-height:56px;padding:var(--vali-2) 0;color:var(--vari-teksti);text-align:left;background:0 0;border:0;border-radius:0;font-weight:600;display:flex}.linkkirivi>svg{color:var(--vari-teksti-himmea);flex:none}.linkkirivi-nimi{flex-direction:column;flex:1;min-width:0;display:flex}.linkkirivi-lisa{color:var(--vari-teksti-himmea);font-size:.875rem;font-weight:400}.linkkirivi-maara{color:var(--vari-teksti-himmea);font-variant-numeric:tabular-nums;flex:none;font-size:.9375rem;font-weight:400}.linkkirivi-maara[data-huomio=true]{color:var(--vari-varoitus);font-weight:700}.linkkirivi.valintaruutu{cursor:pointer;margin:0}.linkkirivi.valintaruutu input{margin-left:auto}@media (hover:hover){.linkkirivi:hover{background:var(--vari-pinta);filter:none}}.linkkirivi:active{background:var(--vari-toissijainen);filter:none}.tyomaa-sivu h2,.valikkosivu h2,.valikkosivu .palvelin h3{margin:var(--vali-5) 0 var(--vali-1);color:var(--vari-teksti-himmea);font-size:.875rem;font-weight:600}.tyomaa-sivu .sivun-otsikko,.valikkosivu .sivun-otsikko{margin-bottom:0}.valikkosivu .palvelin{margin-top:var(--vali-3);border-top:0;padding-top:0}.valikkosivu .palvelin .valikko{gap:var(--vali-2);flex-wrap:wrap;display:flex}.valikkosivu .palvelin .valikko>li{margin:0}.valikkosivu .palvelin .valikko button{width:auto}
