:root{--lilla:#6e3274;--blagronn:#3f6a85;--turkis:#00989e;--gronn:#74b391;--gul:#ebba3e;--bg:#f5f5e8;--surface:#fff;--ink:#3f3e3e;--ink-soft:#5d5c5c;--line:#e0dfd0;--hvit-dag:#f8f8f4;--gronn-dag:#e9f3ec}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:Hanken Grotesk,Segoe UI,system-ui,sans-serif;font-size:1rem;line-height:1.5}#root{flex-direction:column;max-width:30rem;min-height:100dvh;margin:0 auto;display:flex}.language-picker{background:var(--bg);color:var(--ink-soft);justify-content:flex-end;align-items:center;gap:.45rem;padding:.35rem 1rem;font-size:.75rem;display:flex}.language-picker select{border:1px solid var(--line);background:var(--surface);max-width:8rem;color:var(--ink);font:inherit;border-radius:6px;padding:.15rem .35rem}.topbar{background:linear-gradient(90deg, var(--lilla), var(--turkis));flex:none;height:5px}header.app{flex:none;justify-content:space-between;align-items:center;padding:.8rem 1.1rem .6rem;display:flex}header.app .name{letter-spacing:.03em;color:var(--lilla);text-transform:uppercase;font-family:Oswald,Arial Narrow,sans-serif;font-size:1.25rem;font-weight:600}header.app .sub{color:var(--blagronn);font-size:.78rem}main{flex:1;padding:.4rem 1.1rem 6rem;overflow-y:auto}h2{color:var(--blagronn);margin:1.2rem 0 .6rem;font-family:Oswald,sans-serif;font-size:1.2rem;font-weight:600}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:.9rem;padding:1rem 1.1rem}.muted{color:var(--ink-soft);font-size:.88rem}.sideintro{margin:.35rem 0 1rem}.sideintro h1{color:var(--lilla);margin:0;font-family:Oswald,sans-serif;font-size:1.75rem;font-weight:600}.sideintro p{color:var(--ink-soft);margin:.15rem 0 0;font-size:.78rem}.sideintro strong{color:var(--ink)}.fremgang{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:1rem;padding:.9rem 1rem 1rem}.fremgangstopp{justify-content:space-between;align-items:baseline;display:flex}.fremgangstopp h2{margin:0}.fremgangstopp>strong{color:var(--lilla);font-size:.9rem}.programlinje{background:var(--line);border-radius:99px;height:8px;margin-top:.65rem;overflow:hidden}.programlinje span{background:linear-gradient(90deg, var(--turkis), var(--gronn));border-radius:inherit;min-width:2px;height:100%;display:block}.programstatus{color:var(--ink-soft);margin:.3rem 0 .85rem;font-size:.75rem}.kpigrid{grid-template-columns:repeat(2,1fr);gap:.55rem;display:grid}.kpi{background:var(--bg);border-radius:9px;padding:.65rem .75rem}.kpi strong{color:var(--lilla);font-size:1.25rem;line-height:1.15;display:block}.kpi small{color:var(--ink-soft);font-size:.72rem;font-weight:500}.kpi span{color:var(--ink-soft);margin-top:.12rem;font-size:.72rem;display:block}.vektkpi{color:var(--ink-soft);margin:.75rem 0 0;font-size:.78rem}.vektkpi strong{color:var(--blagronn)}.startdatokort{padding:0;overflow:hidden}.startdatokort summary{color:var(--blagronn);cursor:pointer;justify-content:space-between;align-items:center;gap:.8rem;padding:.8rem 1rem;font-weight:700;display:flex}.startdatokort summary::marker{color:var(--lilla)}.startdatokort summary span{color:var(--ink-soft);font-size:.8rem;font-weight:500}.startdatokort[open] summary{border-bottom:1px solid var(--line)}.startdatoform{padding:.85rem 1rem 1rem}.startdatoform label{color:var(--ink-soft);margin-bottom:.4rem;font-size:.8rem;font-weight:600;display:block}.startdatoform>div{gap:.55rem;display:flex}.startdatoform input{border:1.5px solid var(--line);background:var(--surface);min-width:0;color:var(--ink);font:inherit;border-radius:9px;flex:1;padding:.55rem .65rem}.startdatoform .btn{padding-inline:1rem}.startdatoform .btn:disabled{opacity:.5;cursor:default}.startdatoform p{color:var(--gronn);margin:.55rem 0 0;font-size:.8rem;font-weight:700}.startmelding strong{color:var(--lilla)}.startmelding p{color:var(--ink-soft);margin-bottom:0;font-size:.88rem}.fasekort{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.7rem;display:flex}.fasekort strong,.fasekort span{display:block}.fasekort strong{color:var(--blagronn)}.fasekort span,.fasekort p{color:var(--ink-soft);font-size:.8rem}.fasekort p{margin:0}.fasekort button,.fasehandlinger button,.faseknapper>button:not(.btn){color:var(--lilla);font:inherit;cursor:pointer;background:0 0;border:0;font-size:.8rem;font-weight:700}.faseplanlegger h3{color:var(--blagronn);margin:0 0 .45rem}.faseplanlegger h3:not(:first-child){margin-top:1.3rem}.faseplanlegger .muted{font-size:.83rem}.faseform{gap:.45rem;margin-top:.8rem;display:grid}.faseform label{color:var(--ink-soft);font-size:.8rem;font-weight:700}.faseform input,.faseform select,.onboard select{border:1.5px solid var(--line);background:var(--surface);width:100%;min-width:0;color:var(--ink);font:inherit;border-radius:10px;padding:.6rem .8rem}.faseknapper{align-items:center;gap:.7rem;margin-top:.35rem;display:flex}.fasefeil{color:#a22b3c;margin:0;font-size:.8rem}.faseliste{margin:0;padding:0;list-style:none}.faseliste li{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:.7rem;padding:.7rem 0;display:flex}.faseliste li>div:first-child{min-width:0}.faseliste strong,.faseliste span{display:block}.faseliste strong{font-size:.88rem}.faseliste span{color:var(--ink-soft);font-size:.75rem}.fasehandlinger{flex-shrink:0;gap:.4rem;display:flex}.seksjonstittel{justify-content:space-between;align-items:baseline;gap:.8rem;display:flex}.fokusmerke{color:var(--lilla);white-space:nowrap;background:#f3eaf4;border-radius:99px;padding:.22rem .65rem;font-size:.72rem;font-weight:700}.menykort{padding-top:.45rem}.menyliste{margin:0;padding:0;list-style:none}.menyliste li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:.8rem;padding:.65rem 0;display:flex}.menyliste .menytekst{flex:1;min-width:0}.menyliste li:last-child{border-bottom:none}.menyliste span{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em;font-size:.73rem;display:block}.menyliste strong{margin-top:.08rem;font-size:.94rem;font-weight:600;display:block}.stjernevurdering{flex-wrap:wrap;align-items:center;gap:.08rem;margin-top:.28rem;display:flex}.stjernevurdering button{color:#a4a6a8;font:inherit;cursor:pointer;background:0 0;border:0;padding:.1rem .12rem;font-size:1.25rem;line-height:1}.stjernevurdering button.fylt{color:#b67b08}.stjernevurdering button:focus-visible{outline:2px solid var(--blagronn);border-radius:4px}.stjernevurdering .stjerneverdi{color:var(--ink-soft);letter-spacing:normal;text-transform:none;margin-left:.25rem;font-size:.7rem;font-weight:500}.menyminiatyr{object-fit:cover;border-radius:9px;flex:none;width:3rem;height:3rem}.atlasbilde{background-color:#f1eee6;background-repeat:no-repeat;background-size:200% 200%;display:block}.maltidshandlinger{flex:none;align-items:center;gap:.4rem;display:flex}.maltidsbytte{border:1.5px solid var(--blagronn);color:var(--blagronn);font:inherit;cursor:pointer;background:0 0;border-radius:8px;flex:none;padding:.35rem .65rem;font-size:.78rem;font-weight:700}.oppskriftknapp{border:1.5px solid var(--blagronn);width:2.1rem;height:2.1rem;color:var(--blagronn);cursor:pointer;background:0 0;border-radius:50%;flex:none;place-items:center;display:grid}.oppskriftknapp svg,.oyehint svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:1.15rem;height:1.15rem}.menyhint{color:var(--ink-soft);margin:.75rem 0 0;font-size:.8rem}.oyehint{align-items:center;gap:.4rem;display:flex}.oyehint svg{flex:none}.modalbakgrunn{z-index:50;background:#201f1f94;justify-content:center;align-items:flex-end;padding:1rem;display:flex;position:fixed;inset:0}.oppskriftmodal,.maltidsvelger{background:var(--surface);border-radius:16px;width:100%;max-width:30rem;max-height:calc(100dvh - 2rem);padding:1.1rem 1.2rem 1.2rem;overflow-y:auto;box-shadow:0 16px 48px #00000038}.modalhode{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.modalhode span{color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:700}.modalhode h2{color:var(--lilla);margin:.15rem 0 0;font-size:1.35rem}.modalhode>button{background:var(--bg);width:2.2rem;height:2.2rem;color:var(--ink);cursor:pointer;border:0;border-radius:50%;flex:none;font-size:1.65rem;line-height:1}.oppskriftmodal h3{color:var(--blagronn);margin:1.15rem 0 .4rem;font-family:Oswald,sans-serif;font-size:1rem}.oppskriftmodal ul,.oppskriftmodal ol{color:var(--ink-soft);margin:0;padding-left:1.25rem;font-size:.9rem}.oppskriftmodal li{margin-bottom:.35rem;padding-left:.15rem}.oppskriftnotat{border-top:1px solid var(--line);color:var(--ink-soft);margin:1rem 0 0;padding-top:.8rem;font-size:.82rem}.oppskriftbilde{object-fit:cover;border-radius:11px;width:100%;max-height:15rem;margin-top:1rem;display:block}.oppskriftbilde.atlasbilde{height:15rem}.maltidsvalggrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem;display:grid}.maltidsvalgkort{border:2px solid var(--line);background:var(--surface);min-width:0;color:var(--ink);border-radius:12px;overflow:hidden}.maltidsvalgkort.valgt{border-color:var(--turkis);box-shadow:0 0 0 2px #00989e24}.maltidsvalgvelg{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:block}.maltidsvalgkort .stjernevurdering{padding:0 .5rem .5rem}.maltidsvalgkort .stjerneverdi{font-size:.62rem}.maltidsvalggrid img,.maltidsvalggrid .atlasbilde,.maltidsvalggrid .maltidsplassholder{width:100%;height:7rem}.maltidsvalggrid img{object-fit:cover;display:block}.maltidsplassholder{color:var(--blagronn);background:linear-gradient(135deg,#edf5f1,#f3eaf4);place-items:center;font-size:2rem;display:grid}.maltidsvalgnavn{padding:.6rem .65rem .1rem;font-size:.88rem;font-weight:700;line-height:1.25;display:block}.maltidsvalggrid small{color:var(--ink-soft);padding:0 .65rem .65rem;font-size:.68rem;display:block}@media (height>=720px){.modalbakgrunn{align-items:center}}.prinsipper{padding:0;overflow:hidden}.prinsipper summary{color:var(--blagronn);cursor:pointer;padding:.9rem 1.1rem;font-family:Oswald,sans-serif;font-size:1.05rem;font-weight:600}.prinsipper[open] summary{border-bottom:1px solid var(--line)}.prinsippinnhold{color:var(--ink-soft);padding:.15rem 1.1rem .35rem;font-size:.86rem}.prinsippinnhold strong{color:var(--ink)}.daghead{justify-content:space-between;align-items:center;gap:.7rem;display:flex}.daghead .dagnr{color:var(--lilla);font-family:Oswald,sans-serif;font-size:1.5rem;font-weight:600}.badge{letter-spacing:.08em;text-transform:uppercase;border-radius:99px;padding:.3rem .9rem;font-size:.8rem;font-weight:700}.badge.hvit{border:2px solid var(--line);color:var(--ink-soft);background:#fff}.badge.gronn{background:var(--gronn);color:#fff}.badge.ferdig{background:var(--gul);color:var(--ink)}.regler{color:var(--ink-soft);margin-top:.6rem;font-size:.88rem}.regler strong{color:var(--ink)}.checkrow{border-bottom:1px solid var(--line);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.75rem;padding:.65rem .2rem;display:flex}.checkrow:last-child{border-bottom:none}.checkrow .box{border:2px solid var(--blagronn);color:#fff;background:0 0;border-radius:6px;flex:none;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-size:1rem;font-weight:700;transition:background .15s;display:flex}.checkrow.done .box{background:var(--gronn);border-color:var(--gronn)}.checkrow.done .lbl{color:var(--ink-soft);text-decoration:line-through}.checkrow .lbl{font-size:.95rem}.checkrow .hint{color:var(--ink-soft);font-size:.75rem;display:block}.vann{flex-wrap:wrap;gap:.4rem;margin-top:.5rem;display:flex}.vann button{border:2px solid var(--turkis);cursor:pointer;background:0 0;border-radius:8px;width:2.4rem;height:2.9rem;font-size:1.15rem;transition:background .15s}.vann button.full{background:var(--turkis)}.grid28{grid-template-columns:repeat(7,1fr);gap:.4rem;margin-top:.5rem;display:grid}.grid28 button{aspect-ratio:1;border:1px solid var(--line);cursor:pointer;color:var(--ink-soft);border-radius:9px;font-family:Hanken Grotesk,sans-serif;font-size:.9rem;font-weight:700;position:relative}.grid28 button.hvit{background:var(--hvit-dag)}.grid28 button.gronn{background:var(--gronn);color:#fff}.grid28 button.idag{outline:3px solid var(--gul);outline-offset:1px}.grid28 button.fortid{opacity:.55}.grid28 button:disabled{cursor:default}.legend{color:var(--ink-soft);flex-wrap:wrap;gap:1.1rem;margin-top:.7rem;font-size:.8rem;display:flex}.legend span{align-items:center;gap:.35rem;display:inline-flex}.legend i{border:1px solid var(--line);border-radius:4px;width:.9rem;height:.9rem;display:inline-block}.vektform{gap:.6rem;margin-bottom:.9rem;display:flex}.vektform input{border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;flex:1;min-width:0;padding:.6rem .8rem;font-size:1.1rem}.vektform input:focus{outline:2px solid var(--turkis);border-color:var(--turkis)}.btn{background:var(--gul);color:var(--ink);cursor:pointer;border:none;border-radius:10px;padding:.65rem 1.3rem;font-size:1rem;font-weight:700}.btn.sekundar{border:2px solid var(--blagronn);color:var(--blagronn);background:0 0}.btn.fare{color:#b44;background:0 0;border:2px solid #b44}.btn.blokk{width:100%;margin-top:.8rem;display:block}.skjemafeil{color:#8e2929;background:#fff3f3;border:1px solid #dca5a5;border-radius:9px;margin:.8rem 0 0;padding:.65rem .8rem;font-size:.82rem}.maltidsform h2{margin:0}.maltidsform label{color:var(--ink);margin:.9rem 0 .3rem;font-size:.82rem;font-weight:700;display:block}.maltidsform label small{color:var(--ink-soft);font-weight:500}.maltidsform input:not([type=file]),.maltidsform select,.maltidsform textarea{border:1.5px solid var(--line);background:var(--surface);width:100%;color:var(--ink);font:inherit;border-radius:9px;padding:.58rem .7rem}.maltidsform textarea{resize:vertical;min-height:3.5rem}.maltidsform input:focus,.maltidsform select:focus,.maltidsform textarea:focus{outline:2px solid var(--turkis);border-color:var(--turkis)}.formrad{grid-template-columns:1fr 1fr;gap:.7rem;display:grid}.tekstknapp{color:var(--blagronn);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:.8rem;font-weight:700;text-decoration:underline}.bildeopplasting{border:1px dashed var(--line);border-radius:10px;align-items:center;gap:.8rem;padding:.7rem;display:flex}.bildeopplasting>img,.bildeplassholder{border-radius:9px;flex:none;width:5.2rem;height:5.2rem}.bildeopplasting>img{object-fit:cover}.bildeplassholder{background:var(--bg);place-items:center;font-size:1.7rem;display:grid}.bildeopplasting>div{min-width:0}.bildeopplasting small{color:var(--ink-soft);margin-top:.35rem;font-size:.7rem;line-height:1.3;display:block}.maltidsform .filknapp{border:1.5px solid var(--blagronn);color:var(--blagronn);cursor:pointer;border-radius:8px;margin:0;padding:.35rem .6rem;display:inline-block}.skjultfil{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.fjernbilde{color:#9b3d3d;margin-top:.35rem;font-size:.72rem;display:block}.antallmerke{min-width:1.6rem;color:var(--lilla);text-align:center;background:#f3eaf4;border-radius:99px;padding:.12rem .48rem;font-size:.76rem;font-weight:700}.tomtilstand{text-align:center;padding:1.5rem 1rem}.tomtilstand>span{font-size:2rem;display:block}.tomtilstand strong{color:var(--blagronn);margin-top:.3rem;display:block}.tomtilstand p{max-width:22rem;color:var(--ink-soft);margin:.3rem auto 0;font-size:.82rem}.egnemaltider{gap:.75rem;display:grid}.egenmaltid{gap:.85rem;margin:0;padding:.75rem;display:flex}.egenmaltid>img,.egenmaltid>.maltidsplassholder{object-fit:cover;border-radius:9px;flex:none;width:6.2rem;height:6.2rem}.egenmaltidinnhold{flex:1;min-width:0}.egenmaltid h3{margin:.28rem 0 .05rem;font-size:1rem;line-height:1.25}.egenmaltid small{color:var(--ink-soft);font-size:.72rem}.maltidsmerker{flex-wrap:wrap;gap:.3rem;display:flex}.maltidsmerker span{background:var(--bg);color:var(--ink-soft);border-radius:99px;padding:.13rem .42rem;font-size:.65rem;font-weight:700}.kortknapper{gap:.7rem;margin-top:.5rem;display:flex}.kortknapper button{color:var(--blagronn);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:.75rem;font-weight:700}.kortknapper .slettknapp{color:#9b3d3d}.chartbox svg{width:100%;height:auto;display:block}.vektliste{margin:.6rem 0 0;padding:0;font-size:.9rem;list-style:none}.vektliste li{border-bottom:1px solid var(--line);justify-content:space-between;padding:.35rem 0;display:flex}.vektliste li:last-child{border:none}nav.tabs{background:var(--surface);border-top:1px solid var(--line);width:100%;max-width:30rem;padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}nav.tabs button{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:.15rem;padding:.55rem 0 .65rem;font-family:Hanken Grotesk,sans-serif;font-size:.72rem;font-weight:700;display:flex}nav.tabs button.aktiv{color:var(--lilla)}nav.tabs .ikon{font-size:1.25rem;line-height:1}.onboard{padding:2.2rem 1.4rem}.onboard h1{color:var(--lilla);margin:.8rem 0 .5rem;font-family:Oswald,sans-serif;font-size:1.9rem;font-weight:600}.onboard label{margin:1.2rem 0 .3rem;font-size:.9rem;font-weight:700;display:block}.faglig-kreditering{color:var(--ink-soft);background:var(--surface);border-left:4px solid var(--lilla);border-radius:0 10px 10px 0;margin:1rem 0;padding:.7rem .9rem;font-size:.84rem}.faglig-kreditering strong{color:var(--ink)}.onboard input[type=date]{border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;width:100%;padding:.6rem .8rem;font-size:1rem}.disclaimerbox{background:var(--surface);border:1px solid var(--gul);color:var(--ink-soft);border-radius:10px;margin-top:1.2rem;padding:.8rem 1rem;font-size:.82rem}.infobox{background:var(--surface);border-left:4px solid var(--turkis);border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink-soft);border-radius:0 10px 10px 0;margin:.9rem 0;padding:.8rem 1rem;font-size:.85rem}a{color:var(--blagronn)}:focus-visible{outline:2px solid var(--turkis);outline-offset:2px}
