:root{--sininen:#0b63f6;--sininen-hover:#0950c9;--punainen:#d00931;--musta:#000;--luonnonvalkoinen:#efefef;--valkoinen:#fff;--tausta:var(--luonnonvalkoinen);--paperi:var(--valkoinen);--viiva:#0000001f;--teksti:var(--musta);--himmea:#0000009e;--korostus:var(--sininen);--korostus-teksti:var(--sininen);--korostus-pehmea:color-mix(in srgb,var(--sininen) 9%,var(--valkoinen));--plus:var(--sininen);--miinus:var(--punainen);--varoitus:var(--punainen);--varoitus-tausta:color-mix(in srgb,var(--punainen) 8%,var(--valkoinen));--selvitettava:var(--sininen);--selvitettava-tausta:color-mix(in srgb,var(--sininen) 9%,var(--valkoinen));--kentta:var(--luonnonvalkoinen);--varjo:none;--pyoristys:20px;--pyoristys-pieni:12px;--fontti:var(--brandi-fontti),"Work Sans","Helvetica Neue",Arial,sans-serif;--ease:cubic-bezier(.16,1,.3,1);--kesto-vari:.2s;--kesto-painallus:.2s}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--tausta:var(--musta);--paperi:#111;--viiva:#ffffff29;--teksti:var(--valkoinen);--himmea:#ffffffad;--korostus-teksti:color-mix(in srgb,var(--sininen) 70%,var(--valkoinen));--korostus-pehmea:color-mix(in srgb,var(--sininen) 18%,#111);--plus:var(--korostus-teksti);--miinus:color-mix(in srgb,var(--punainen) 65%,var(--valkoinen));--varoitus:var(--miinus);--varoitus-tausta:color-mix(in srgb,var(--punainen) 18%,#111);--selvitettava:var(--korostus-teksti);--selvitettava-tausta:color-mix(in srgb,var(--sininen) 18%,#111);--kentta:#000}}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--tausta);color:var(--teksti);font-family:var(--fontti);font-size:16px;line-height:1.5;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased}body{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}a{color:var(--korostus-teksti);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}::selection{background:var(--sininen);color:var(--valkoinen)}.luku{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.nosto{display:flex;align-items:center;gap:.6em;margin:0;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.nosto:before{content:"";width:28px;height:1px;background:currentColor;opacity:.5}.yla{position:-webkit-sticky;position:sticky;top:0;z-index:10;justify-content:space-between;gap:16px;min-height:64px;padding:10px 20px;background:var(--musta);color:var(--valkoinen);border-bottom:1px solid #ffffff29}.merkki,.yla{display:flex;align-items:center}.merkki{white-space:nowrap;line-height:0}.merkki img{display:block;width:150px;height:auto}.merkki:focus-visible{outline:2px solid var(--valkoinen);outline-offset:6px;border-radius:4px}.sisalto{flex:1 0 auto;width:100%;max-width:920px;margin:0 auto;padding:28px 16px 72px}.kortti{background:var(--paperi);border:1px solid transparent;border-radius:var(--pyoristys);box-shadow:var(--varjo);padding:20px;margin-bottom:16px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .kortti{border-color:var(--viiva)}}@media (min-width:720px){.kortti{padding:24px 28px}}.kortti h2{display:flex;align-items:center;gap:.6em;margin:0 0 16px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--himmea)}.kortti h2:before{content:"";flex:none;width:28px;height:1px;background:currentColor;opacity:.5}.rivit{display:grid;grid-gap:16px;gap:16px;grid-template-columns:1fr}@media (min-width:720px){.rivit.kaksi{grid-template-columns:1fr 1fr}}.paivapalkki{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.paivanimi{font-size:clamp(1.375rem,4.2vw,2.25rem);font-weight:800;line-height:1.05;letter-spacing:-.01em;text-transform:uppercase;text-wrap:balance}.paivanimi em{font-style:normal;color:var(--himmea);font-weight:500}.nappi,button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 20px;font:inherit;font-size:.9375rem;font-weight:700;line-height:1.2;color:var(--teksti);background:transparent;border:2px solid var(--teksti);border-radius:999px;cursor:pointer;text-decoration:none;transition:background-color var(--kesto-vari) var(--ease),color var(--kesto-vari) var(--ease),border-color var(--kesto-vari) var(--ease),opacity var(--kesto-vari) var(--ease),scale var(--kesto-painallus) var(--ease)}.nappi:hover,button:hover{background:var(--teksti);color:var(--paperi);border-color:var(--teksti)}.nappi:active,button:active{scale:.955}button:disabled{opacity:.4;cursor:not-allowed;scale:1}button:disabled:hover{background:transparent;color:var(--teksti);border-color:var(--teksti)}.nappi:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--korostus);outline-offset:2px}.paa{background:var(--sininen);border-color:var(--sininen)}.paa,.paa:hover{color:var(--valkoinen)}.paa:hover{background:var(--sininen-hover);border-color:var(--sininen-hover)}.paa:disabled:hover{background:var(--sininen);border-color:var(--sininen);color:var(--valkoinen)}.hento{min-height:36px;padding:0 14px;font-size:.8125rem;border-width:1px;border-color:var(--viiva)}.hento:hover{border-color:var(--teksti)}.hento:disabled:hover{border-color:var(--viiva)}.linkki{min-height:0;padding:0;border:0;border-radius:0;background:none;color:var(--himmea);text-decoration:underline;text-underline-offset:3px;font-size:.875rem;font-weight:500}.linkki:hover{background:none;color:var(--korostus-teksti);border-color:transparent}.linkki:active{scale:1}.jakso{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--viiva)}.jakso:last-of-type{border-bottom:0}input[type=number],input[type=text],input[type=time]{min-height:44px;padding:0 12px;font:inherit;font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--teksti);background:var(--kentta);border:1px solid transparent;border-radius:var(--pyoristys-pieni);transition:border-color var(--kesto-vari) var(--ease)}input[type=number]:hover,input[type=text]:hover,input[type=time]:hover{border-color:var(--viiva)}input[type=time]{width:7.5rem}input[type=number]{width:5rem}input[type=text]{flex:1 1;min-width:0}input[type=text].aika{flex:none;width:5.5rem;text-align:center}input[type=text].aika.virheellinen,input[type=text].aika.virheellinen:hover{border-color:var(--punainen)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) input{color-scheme:dark;border-color:var(--viiva)}}.kesto,.valiin{color:var(--himmea)}.kesto{margin-left:auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lounas{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding-top:16px;border-top:1px solid var(--viiva)}.lounas .kesto{flex-basis:100%;margin-left:0;font-size:.875rem}@media (min-width:560px){.lounas .kesto{flex-basis:auto;margin-left:auto}}.toiminnot{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.luvut{display:grid;grid-gap:2px;gap:2px}.luvut div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:6px 0}.luvut .nimi,.luvut dt{color:var(--himmea)}.luvut .arvo{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.luvut .iso{font-size:1.875rem;font-weight:800;letter-spacing:-.02em;line-height:1.1}.plus{color:var(--plus)}.miinus{color:var(--miinus)}.erotin{margin:8px 0;border:0;border-top:1px solid var(--viiva)}.viesti{display:flex;gap:10px;padding:12px 16px;margin-bottom:12px;border-radius:var(--pyoristys-pieni);font-size:.9375rem;border:0;border-left:3px solid}.viesti.varo{color:var(--teksti);background:var(--varoitus-tausta);border-color:var(--punainen)}.viesti.selv{color:var(--teksti);background:var(--selvitettava-tausta);border-color:var(--sininen)}.viesti.info{color:var(--himmea);border-color:var(--viiva)}.kortti .viesti.info,.viesti.info{background:var(--tausta)}.viesti.tervehdys{color:var(--teksti)}.lippu,.viesti b{font-weight:700}.lippu{display:inline-block;padding:3px 10px;font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;background:var(--sininen);color:var(--valkoinen)}.lippu.lukittu{background:var(--teksti);color:var(--paperi)}.tyhja{color:var(--himmea);padding:8px 0}.ajastin{display:flex;align-items:center;gap:14px}.ajastin .kulunut{font-size:clamp(2.25rem,7vw,3rem);font-weight:900;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.02em}.ajastin .sekunnit{color:var(--himmea);font-weight:700}.piste{width:12px;height:12px;border-radius:50%;background:var(--punainen);animation:syke 2s var(--ease) infinite}@keyframes syke{0%,to{opacity:1}50%{opacity:.3}}@media (prefers-reduced-motion:reduce){.piste{animation:none}}.kehitys{display:flex;align-items:center;gap:10px;font-size:.8125rem;color:#ffffffad}.kehitys select{min-height:36px;padding:0 12px;font:inherit;font-size:.8125rem;font-weight:600;color:var(--valkoinen);background:var(--musta);border:1px solid #ffffff29;border-radius:999px;color-scheme:dark}.kehitys .hento,.kehitys button{min-height:36px;font-size:.8125rem;color:var(--valkoinen);border-color:#ffffff52}.kehitys button:hover{background:var(--valkoinen);color:var(--musta);border-color:var(--valkoinen)}.navi{display:flex;gap:2px}.navi a{min-height:36px;padding:0 12px;font-size:.9375rem;font-weight:600;background:none;color:#ffffffad}.navi a,.navi a:hover{border-color:transparent}.navi a:hover{background:#ffffff1a;color:var(--valkoinen)}.navi a[aria-current=page]{color:var(--valkoinen);background:none}.navi a[aria-current=page]:before{content:"";width:6px;height:6px;flex:none;border-radius:50%;background:var(--sininen)}.kalenteri{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:6px;gap:6px}.viikonpaiva{min-width:0;padding:4px 6px;font-size:.6875rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--himmea);text-align:center}.solu{display:flex;flex-direction:column;gap:2px;min-width:0;min-height:80px;padding:8px;border:1px solid var(--viiva);border-radius:var(--pyoristys-pieni);background:var(--paperi);color:var(--teksti);font-size:.8125rem;transition:border-color var(--kesto-vari) var(--ease),background-color var(--kesto-vari) var(--ease)}.solu,.solu:hover{text-decoration:none}.solu:hover{border-color:var(--teksti)}.solu:focus-visible{outline:2px solid var(--korostus);outline-offset:2px}.tyhjasolu{background:none;min-height:0}.solu.vapaa,.tyhjasolu{border-color:transparent}.solu.vapaa{background:var(--tausta);color:var(--himmea)}.solu.vapaa:hover{border-color:var(--viiva)}.solu.selittamaton{border-style:dashed;border-color:color-mix(in srgb,var(--punainen) 45%,transparent)}.solu.palautettu{border-color:var(--punainen);border-width:2px}.paivanumero{display:flex;align-items:center;gap:4px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.merkki-piste{width:6px;height:6px;border-radius:50%;background:var(--sininen)}.juhla,.merkinta{font-size:.6875rem;color:var(--himmea);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.merkinta.puuttuu{color:var(--varoitus);font-weight:600}.vuosipaiva{font-size:.6875rem;color:var(--sininen);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.merkinta.odottaa{color:var(--teksti)}.solu .tunnit{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;margin-top:auto}.solu .pikku{font-size:.75rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:560px){.kalenteri{gap:3px}.vuosipaiva-teksti{display:none}.solu{min-height:58px;padding:4px;font-size:.75rem;border-radius:8px}.solu .pikku,.solu .tunnit{font-size:.6875rem}.juhla{display:none}.viikonpaiva{letter-spacing:.06em;padding:4px 0}}.viesti .syy{display:block;margin-top:6px}.viesti .syy a{color:inherit}.yla>*{min-width:0}.yla .merkki{flex:0 0 auto}.yla .navi{flex:1 1 auto;justify-content:center}.kehitys{flex:0 1 auto;min-width:0}.kehitys select{min-width:0;max-width:100%}@media (max-width:560px){.yla{gap:8px;padding:10px 12px}.kehitys>span{display:none}.kehitys select{max-width:9rem}.yla .navi a{padding:0 8px}}.selvitysrivi,.tiimirivi{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid var(--viiva)}.selvitysrivi:last-of-type,.tiimirivi:last-of-type{border-bottom:0}.selvitysrivi:first-of-type,.tiimirivi:first-of-type{padding-top:0}.selvitysrivi,.tiimitiedot{flex-direction:column}.tiimitiedot{display:flex;gap:2px;flex:1 1 260px;min-width:0}.tiiminimi{font-weight:700}.tiiminimi a{color:inherit}.tiimimeta{font-size:.875rem;color:var(--himmea)}.tiimimeta .este,.tiimimeta.este{color:var(--varoitus);font-weight:600}.peruste{font-size:.875rem;font-style:italic;color:var(--teksti);margin-top:2px}.tiimitoimet{display:flex;flex-wrap:wrap;align-items:center;gap:8px}@media (max-width:560px){.tiimitoimet{width:100%}}.lomakerivi{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 0}.lomakerivi label{color:var(--himmea)}.kohdistus select,.lomakerivi input[type=date],.lomakerivi select,.omajakso input[type=date]{min-height:44px;padding:0 12px;font:inherit;font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--teksti);background:var(--kentta);border:1px solid transparent;border-radius:var(--pyoristys-pieni)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) :is(.lomakerivi,.omajakso,.kohdistus) :is(input,select){color-scheme:dark;border-color:var(--viiva)}}.lomakerivi .tiimimeta{flex-basis:100%}.himmennetty{opacity:.55}@media (max-width:620px){.yla:has(.navi) .merkki{display:none}.yla .navi{justify-content:flex-start}}.taulukko-kaari{overflow-x:auto}.taulukko{width:100%;border-collapse:collapse;font-size:.875rem}.taulukko td,.taulukko th{padding:8px 10px;text-align:left;border-bottom:1px solid var(--viiva);vertical-align:top}.taulukko thead th{font-size:.6875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--himmea);border-bottom-color:var(--teksti)}.taulukko tbody tr{transition:background-color var(--kesto-vari) var(--ease)}.taulukko tbody tr:hover{background:var(--tausta)}.taulukko tfoot td,.taulukko tfoot th{font-weight:700;border-bottom:0;border-top:2px solid var(--teksti)}.taulukko .oikea{text-align:right}.taulukko .nowrap{white-space:nowrap}.taulukko.tiivis td,.taulukko.tiivis th{padding:5px 8px}.taulukko .vapaarivi td{color:var(--himmea)}.jaksovalinta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:20px}.jaksovalinta a[aria-current=page]{background:var(--teksti);border-color:var(--teksti);color:var(--paperi)}.omajakso{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto}.omajakso input[type=date]{min-height:36px;padding:0 10px;font-size:.875rem}@media (max-width:620px){.omajakso{margin-left:0}}.selvitys h1{font-size:clamp(1.5rem,4vw,2rem);font-weight:800;line-height:1.1;margin:0 0 6px;letter-spacing:-.01em;text-transform:uppercase}.selvitys h2{font-size:.8125rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin:28px 0 8px;padding-bottom:6px;border-bottom:2px solid var(--teksti)}.selvitys-otsikko p{margin:0 0 16px;color:var(--himmea)}.selvitys-perustiedot{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:10px 24px;gap:10px 24px;margin:0 0 8px}.selvitys-perustiedot div{display:flex;flex-direction:column}.selvitys-perustiedot dt{font-size:.6875rem;font-weight:600;color:var(--himmea);text-transform:uppercase;letter-spacing:.1em}.selvitys-perustiedot dd{margin:0;font-weight:600}.selvitys-huomio{font-size:.8125rem;color:var(--himmea);margin:8px 0 0}@media print{:root,:root:not([data-theme=light]){--tausta:#fff;--paperi:#fff;--viiva:#bbb;--teksti:#000;--himmea:#444;--plus:#000;--miinus:#000}body,html{background:#fff;color:#000;font-size:10pt}.ei-tulosteeseen,.yla{display:none!important}.sisalto{max-width:none;padding:0}.kortti{border:0;padding:0}.taulukko-kaari{overflow:visible}.taulukko{font-size:8.5pt}.taulukko tr{page-break-inside:avoid;break-inside:avoid}.taulukko thead{display:table-header-group}.selvitys h2{page-break-after:avoid;break-after:avoid}a{color:inherit;text-decoration:none}@page{size:A4;margin:14mm 12mm}}@media (max-width:620px){.yla .navi{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.yla .navi::-webkit-scrollbar{display:none}.yla .navi a{flex:0 0 auto;white-space:nowrap}}@media screen and (max-width:720px){.selvitys .taulukko{display:block;overflow-x:auto}}.kohdistus{display:flex;flex-wrap:wrap;align-items:center;gap:8px;flex-basis:100%;min-width:0}.kohdistus label{color:var(--himmea);font-size:.875rem}.kohdistus select{min-width:0;max-width:100%;flex:1 1 14rem}.valinta{display:flex;align-items:center;gap:10px;min-height:44px;padding:4px 0;cursor:pointer}.valinta input[type=checkbox]{width:20px;height:20px;flex:none;accent-color:var(--sininen)}.taulukko .lajittelu{color:inherit;text-decoration:none;font:inherit;text-transform:inherit;letter-spacing:inherit}.taulukko .rajan-yli b{color:var(--varoitus)}.taulukko .rajan-lahella b{color:var(--selvitettava)}.muutoslomake{flex-basis:100%}.historia{margin-top:4px;font-size:.875rem;color:var(--himmea)}.historia summary{cursor:pointer}.historia ul{margin:6px 0 0;padding-left:18px}.valinta.pieni{min-height:36px;gap:6px}.kirjautuminen{display:grid;grid-template-columns:1fr;overflow:hidden;margin-top:4vh;color:var(--valkoinen);background:var(--musta);border-radius:28px}.kirjautuminen-teksti{display:flex;flex-direction:column;gap:20px;padding:32px 24px 36px}.kirjautuminen .nosto{color:#ffffffad}.kirjautuminen h1{margin:0;font-size:clamp(3.5rem,13vw,6.5rem);font-weight:900;line-height:.9;letter-spacing:-.02em;text-transform:uppercase}.kirjautuminen-ingressi{margin:0;max-width:28ch;font-size:1.125rem;color:#ffffffad}.kirjautuminen form{margin-top:4px}.kirjautuminen .paa{min-height:52px;padding:0 28px;font-size:1rem}.kirjautuminen .viesti.varo{color:var(--valkoinen);background:#d009312e;margin:0}.kirjautuminen-kuva{order:-1;display:block;width:100%;height:280px;object-fit:cover;object-position:50% 15%}@media (min-width:1000px){.kirjautuminen{grid-template-columns:1fr 1fr;min-height:480px;margin-top:8vh}.kirjautuminen-teksti{justify-content:center;padding:48px}.kirjautuminen-kuva{order:0;height:100%;object-position:50% 20%}}.kirjautuminen-kehitys{max-width:30rem;margin:10vh auto 0}.ala{display:flex;flex-direction:column;align-items:center;overflow:hidden;margin-top:auto;padding-top:40px;background:var(--valkoinen);color:var(--musta)}.ala-kiitos{margin:0 16px 20px;font-size:.9375rem;font-weight:600;text-align:center}.ala-tiimi{display:block;width:min(720px,100%);height:auto}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:0s!important}}@font-face{font-family:Work Sans;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/10f65c94012f0d89-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Work Sans;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f0a6239bc4153746-s.p.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Work Sans;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c9e6921c7fc300d8-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Work Sans Fallback;src:local("Arial");ascent-override:83.09%;descent-override:21.71%;line-gap-override:0.00%;size-adjust:111.93%}.__className_cc3843{font-family:Work Sans,Work Sans Fallback;font-style:normal}.__variable_cc3843{--brandi-fontti:"Work Sans","Work Sans Fallback"}