
:root{--ink:#18332f;--muted:#64756f;--paper:#f6f7f1;--white:#fff;--line:#dce3db;--mint:#deefbb;--green:#28584b;--blue:#447bef;--pale:#edf2ec;--orange:#9e6729;--radius:22px;--shadow:0 18px 55px #17372d0c}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:4px}h1,h2,h3,h4,p{margin:0}h1,h2,h3{line-height:1.13;letter-spacing:-.045em}h1{font-size:clamp(43px,5.7vw,80px);font-weight:630}h2{font-size:clamp(32px,4vw,48px);font-weight:600}h3{font-size:24px;font-weight:600}h4{font-size:17px}small,.small{font-size:13px}.muted{color:var(--muted)}.eyebrow{font-size:12px;letter-spacing:.14em;font-weight:700;text-transform:uppercase}.wrap{max-width:1240px;margin:auto;padding:0 38px}.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.stack{display:grid;gap:20px}.grid{display:grid;gap:22px}.grid2{grid-template-columns:1fr 1fr}.grid3{grid-template-columns:repeat(3,1fr)}.grid4{grid-template-columns:repeat(4,1fr)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--ink);padding:13px 22px;border-radius:100px;font-weight:600;font-size:14px;background:var(--ink);color:white;min-height:46px}.btn:hover{background:var(--green)}.btn.light{background:transparent;color:var(--ink);border-color:var(--line)}.btn.light:hover{background:var(--pale)}.btn.lime{background:var(--mint);border-color:var(--mint);color:var(--ink)}.btn.sm{padding:8px 15px;min-height:40px;font-size:13px}.pill{display:inline-flex;align-items:center;gap:7px;padding:5px 10px;border-radius:100px;background:var(--pale);font-size:12px;font-weight:600}.pill.green{background:var(--mint);color:var(--ink)}.pill.amber{background:#fff0db;color:#865314}.icon{width:21px;height:21px;display:inline-block;vertical-align:middle;flex-shrink:0}.brand{font-size:28px;font-weight:800;letter-spacing:-1.4px;display:inline-flex;align-items:center;gap:9px}.brand svg{width:29px;height:29px}.notice{background:#e5edde;color:#354d37;padding:8px 20px;text-align:center;font-size:12px;border-bottom:1px solid #cedbc6}.notice strong{font-weight:650}.nav{height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px}.navlinks{display:flex;gap:29px;font-size:14px;font-weight:550}.hero{padding:55px 0 78px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.hero .intro{margin:25px 0 30px;max-width:440px;font-size:18px;color:var(--muted)}.hero .eyebrow{margin-bottom:24px;color:var(--green)}.hero .sub{margin-top:19px;font-size:12px;color:var(--muted)}.accent{color:#668b67}.landscape{position:relative;border-radius:30px;min-height:505px;background:#284b40;overflow:hidden;box-shadow:var(--shadow);color:white}.landscape>svg{position:absolute;inset:0;width:100%;height:100%}.maplabel{position:absolute;top:26px;left:27px}.maplabel .eyebrow{color:#d2e3d3}.floatcard{position:absolute;left:25px;right:25px;bottom:24px;background:#fcfff9ed;backdrop-filter:blur(12px);color:var(--ink);padding:23px;border-radius:20px}.routebadge{position:absolute;right:23px;top:25px;color:#e1ebda;font-size:11px;border:1px solid #dcebc333;border-radius:40px;padding:6px 12px}.metric{font-size:26px;letter-spacing:-1px;font-weight:650}.metric small{font-size:12px;font-weight:400;letter-spacing:0;color:var(--muted)}.section{padding:75px 0}.sectiontitle{max-width:660px;margin-bottom:35px}.sectiontitle p{margin-top:18px;color:var(--muted);font-size:17px}.feature{border-top:1px solid var(--line);padding-top:25px}.feature .ico{display:flex;align-items:center;justify-content:center;background:var(--pale);width:47px;height:47px;border-radius:14px;margin-bottom:25px}.feature h3{font-size:25px;margin-bottom:14px}.feature p{color:var(--muted);max-width:340px;font-size:15px}.coachpromo{background:var(--ink);color:#fff;border-radius:28px;overflow:hidden;padding:50px;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.coachpromo p{color:#bdcfc4;margin:20px 0 25px}.mini-list{background:#ffffff0c;border:1px solid #ffffff15;border-radius:18px;padding:12px 23px}.mini-list .listrow{border-color:#ffffff15;padding:18px 0}.avatar{height:39px;width:39px;border-radius:50%;display:grid;place-items:center;background:#e5e9d6;color:#4b6240;font-size:12px;font-weight:700;flex-shrink:0}.avatar.blue{background:#e6edfb;color:#456aa5}.avatar.rose{background:#f1e3dd;color:#a56b4d}.faq{border-top:1px solid var(--line);padding:20px 0}.faq summary{font-weight:600;cursor:pointer;display:list-item}.faq p{max-width:760px;color:var(--muted);margin-top:13px}.footer{border-top:1px solid var(--line);padding:30px 0 40px;color:var(--muted);font-size:13px}.footer .row{flex-wrap:wrap}.footer a:hover{text-decoration:underline}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:25px;box-shadow:var(--shadow)}.card.flat{box-shadow:none}.card.soft{background:var(--pale)}.card.dark{background:var(--ink);color:white;border-color:var(--ink)}.card.dark .muted{color:#bccdc0}.stat .metric{font-size:32px;margin:15px 0 6px}.stat .eyebrow{font-size:10px;letter-spacing:.09em}.app{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:calc(100vh - 36px)}.sidebar{border-right:1px solid var(--line);padding:30px 20px;background:#f0f3eb;display:flex;flex-direction:column;gap:26px}.sidebar .brand{margin-left:12px}.side-links{display:grid;gap:6px}.side-links a{padding:12px 14px;display:flex;gap:12px;align-items:center;border-radius:12px;font-size:14px}.side-links a:hover{background:#e5ebe1}.side-links a.active{background:var(--ink);color:white}.sidebottom{margin-top:auto;display:grid;gap:9px}.role{padding:12px;border:1px solid #cbd7c8;border-radius:14px;display:grid;gap:8px;font-size:12px;color:var(--muted)}.main{padding:30px 38px 50px;max-width:1440px;width:100%;margin:auto}.topbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:35px;font-size:13px;color:var(--muted)}.pagehead{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:30px}.pagehead h1{font-size:37px}.pagehead p{margin-top:10px;color:var(--muted);font-size:14px}.content{display:grid;gap:24px}.two-main{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:24px}.listrow{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}.listrow:last-child{border:0}.listrow small{display:block;color:var(--muted);margin-top:3px}.listbutton{background:none;width:100%;text-align:left;border:0;padding:0;color:inherit}.listbutton:hover strong{color:var(--green);text-decoration:underline}.sectionhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.sectionhead h3{font-size:21px}.progress{height:7px;border-radius:10px;background:#e5eae2;overflow:hidden;margin-top:12px}.progress i{display:block;height:100%;background:#6d9067;border-radius:10px}.bars{display:flex;gap:12px;align-items:flex-end;height:150px;margin-top:30px}.bar{flex:1;display:flex;flex-direction:column;gap:8px;align-items:center;font-size:11px;color:var(--muted)}.bar i{width:100%;max-width:36px;min-height:3px;border-radius:7px 7px 3px 3px;background:#ccdac2}.bar.today i{background:var(--green)}.bar.today{color:var(--ink);font-weight:700}.callout{display:flex;align-items:center;gap:13px;border-radius:13px;background:var(--pale);padding:15px;font-size:13px}.toolbar{display:flex;gap:12px;flex-wrap:wrap}.tabs{display:flex;gap:6px;flex-wrap:wrap}.tab{padding:9px 15px;border:1px solid var(--line);border-radius:100px;background:white;font-size:13px;color:var(--muted)}.tab.active{background:var(--ink);color:white;border-color:var(--ink)}input,select,textarea{width:100%;padding:12px 14px;border:1px solid #cfd9cd;background:#fff;color:var(--ink);border-radius:10px;min-height:46px}textarea{resize:vertical;min-height:100px}label.field{display:grid;gap:7px;font-size:13px;font-weight:600}input[type=checkbox]{width:18px;min-height:18px;accent-color:var(--green)}input[type=radio]{width:18px;min-height:18px;accent-color:var(--green)}.checkrow{display:flex;align-items:center;gap:12px;padding:11px 0;font-size:14px}.checkrow.checked span{text-decoration:line-through;color:var(--muted)}.days{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.day{border:1px solid var(--line);border-radius:12px;background:white;padding:10px 3px;color:var(--muted);font-size:11px}.day strong{display:block;font-size:17px;margin-top:3px}.day.active{background:var(--ink);color:#fff}.planentry{padding:17px;border-radius:13px;background:var(--pale);margin-top:12px}.planentry h4{margin:4px 0 9px}.portion{display:flex;align-items:center;gap:12px}.portion button{border:1px solid var(--line);background:white;border-radius:50%;width:31px;height:31px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{font-size:11px;color:var(--muted);letter-spacing:.05em;font-weight:500;padding:12px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:17px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.empty{padding:45px 20px;text-align:center;color:var(--muted)}.chat-layout{display:grid;grid-template-columns:240px 1fr;min-height:420px;gap:24px}.contacts{display:grid;align-content:start;gap:7px}.contact{background:transparent;border:0;text-align:left;padding:13px;border-radius:12px;color:var(--ink)}.contact.active{background:var(--pale)}.messages{display:flex;flex-direction:column;gap:14px;max-height:370px;overflow:auto;padding:8px 0 25px}.bubble{background:var(--pale);padding:13px 16px;border-radius:16px 16px 16px 3px;max-width:87%;font-size:14px;overflow-wrap:anywhere}.bubble.mine{background:var(--ink);color:white;align-self:flex-end;border-radius:16px 16px 3px 16px}.bubble small{font-size:10px;opacity:.65;margin-top:6px;display:block}.choice{display:flex;gap:12px;padding:17px;border:1px solid var(--line);border-radius:14px;align-items:flex-start;font-size:14px}.choice.selected{background:#f1f6e8;border-color:#91ac76}.choice strong{display:block}.choice small{display:block;color:var(--muted);margin-top:4px}.settings-row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.settings-row p{font-size:13px;color:var(--muted);margin-top:5px}.legal{max-width:800px;margin:45px auto 90px}.legal p{margin:20px 0;color:var(--muted)}.legal h3{margin-top:30px}.modalback{position:fixed;inset:0;background:#102a235c;display:grid;place-items:center;z-index:30;padding:20px;backdrop-filter:blur(3px)}.modal{background:var(--paper);padding:29px;border-radius:22px;width:min(570px,100%);max-height:86vh;overflow:auto;box-shadow:0 30px 80px #102a2355}.modal .close{background:none;border:1px solid var(--line);border-radius:50%;width:35px;height:35px;color:var(--ink);font-size:20px}.modal h3{padding-right:10px}.modal p{color:var(--muted);margin:20px 0}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;box-shadow:var(--shadow);border-radius:13px;padding:14px 23px;z-index:60;font-size:14px;max-width:90vw;width:max-content}.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:-90px;left:20px;z-index:90;background:white;padding:12px}.skip:focus{top:10px}.warntext{font-size:12px;color:#805f2e;line-height:1.55}.footnote{font-size:12px;color:var(--muted);margin-top:18px}.balance{font-size:43px;font-weight:650;letter-spacing:-2px;margin:18px 0 6px}.mobile-only{display:none}button.iconbutton{background:transparent;border:0;color:inherit;padding:7px}.dark .pill{background:#ffffff18;color:white}.checklist li{margin:12px 0;color:var(--muted);font-size:14px}.checklist li::marker{color:#8a9c85}.demo-footer{margin-top:30px;font-size:11px;color:var(--muted)}
@media(min-width:1450px){.hero{gap:100px}}@media(max-width:1100px){.hero{gap:30px}.wrap{padding:0 28px}.main{padding:26px}.app{grid-template-columns:200px minmax(0,1fr)}.sidebar{padding:25px 12px}.grid4{grid-template-columns:repeat(2,1fr)}.two-main{grid-template-columns:1fr}.coachpromo{padding:34px;gap:30px}.navlinks{gap:15px}}
@media(max-width:760px){.wrap{padding:0 22px}.nav{height:75px}.navlinks{display:none}.hero{grid-template-columns:1fr;padding:36px 0 48px;gap:34px}.hero h1{font-size:52px}.hero .intro{font-size:16px;margin:22px 0 25px}.landscape{min-height:390px}.section{padding:46px 0}.grid3,.grid2,.coachpromo{grid-template-columns:1fr}.coachpromo{padding:28px;gap:25px}.feature{padding-top:20px}.feature .ico{margin-bottom:14px}.app{display:block}.sidebar{padding:14px 18px;border-bottom:1px solid var(--line);border-right:0;gap:12px}.sidebar .brand{font-size:24px;margin:0}.sidebar .brand svg{width:25px}.sidebar-head{display:flex;align-items:center;justify-content:space-between}.side-links{display:flex;overflow:auto;gap:5px;padding-bottom:2px}.side-links a{padding:9px 12px;white-space:nowrap;font-size:12px}.side-links .icon{width:17px}.sidebottom{display:none}.mobile-only{display:block}.main{padding:21px 18px 35px}.topbar{margin-bottom:22px}.topbar .pill{font-size:10px}.pagehead{align-items:flex-start;gap:15px}.pagehead h1{font-size:29px}.pagehead p{font-size:13px}.pagehead>.btn{padding:9px 12px;font-size:12px}.card{padding:20px;border-radius:18px}.grid4{gap:12px}.stat .metric{font-size:27px}.grid4 .card{padding:17px}.row{gap:9px}.hero .row{flex-wrap:wrap}.chat-layout{grid-template-columns:1fr}.contacts{display:flex;overflow:auto}.contact{min-width:135px}.contact .avatar{display:none}.days{gap:4px}.day{font-size:10px}.notice{font-size:10px;padding:7px 12px}.footer .between{align-items:flex-start;gap:25px}.legal{margin:30px auto 50px}.bar{font-size:10px}.balance{font-size:36px}.floatcard{padding:18px;left:18px;right:18px;bottom:18px}.sectionhead h3{font-size:19px}.pagehead{flex-wrap:wrap}}
@media(prefers-reduced-motion:no-preference){.btn,.tab,.side-links a{transition:background .15s,color .15s}.pagebody{animation:enter .22s ease-out}@keyframes enter{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:none}}} @media print{.sidebar,.notice,.nav,.btn,.toast,.demo-footer{display:none!important}.app{display:block}.card{box-shadow:none;break-inside:avoid}.main,.wrap{padding:0}body{background:white}}

.auth-wrap{max-width:580px;margin:48px auto;padding:24px}.portal-main{max-width:1100px;margin:32px auto;padding:24px}.portal-nav{flex-wrap:wrap;gap:10px}.portal-main pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}.portal-main input,.portal-main textarea,.auth-wrap input{display:block;width:100%;margin:8px 0 18px;padding:13px;border:1px solid var(--line);border-radius:10px;background:white;color:var(--ink)}.portal-main label,.auth-wrap label{font-weight:600}.status{padding:12px 0;min-height:24px}.error{color:#9b2020}.message{padding:16px;border:1px solid var(--line);border-radius:12px;margin-bottom:12px;overflow-wrap:anywhere}.history-row{padding:16px 0;border-bottom:1px solid var(--line)}button:disabled{opacity:.5;cursor:not-allowed}.portal-nav a[aria-current=page]{text-decoration:underline}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #427be0;outline-offset:3px}.login-brand{font-size:30px;font-weight:850;color:var(--green)}.muted{color:var(--muted)}@media(max-width:600px){.portal-main,.auth-wrap{padding:18px;margin:12px auto}.portal-nav{align-items:flex-start}.portal-nav .btn{padding:9px}}
.nav.portal-nav{height:auto;min-height:88px;padding-block:16px}.portal-main form{max-width:760px;margin:20px 0}.portal-main form label{display:block;margin:14px 0}.portal-main form .checkrow{display:flex;align-items:flex-start;gap:12px}.portal-main input[type=checkbox]{width:20px;min-width:20px;min-height:20px;margin:3px 0}.portal-main select{margin:8px 0 18px}.portal-main .card{margin-block:16px}.portal-main .btn{margin:4px}.portal-main h2{margin-top:32px}.portal-main details pre{max-height:70vh;overflow:auto}.portal-main .history-row{overflow-wrap:anywhere}select:focus-visible,summary:focus-visible{outline:3px solid #427be0;outline-offset:3px}

/* Smale skjermer og lange avtaletekster skal kunne brukes uten sideskrolling. */
.grid>* , .hero>* , .coachpromo>* {min-width:0}
.portal-main,.auth-wrap {overflow-wrap:anywhere}
.portal-main h1,.auth-wrap h1{font-size:clamp(32px,6vw,52px)}
.portal-main .callout{flex-wrap:wrap}
.portal-nav a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:380px){.wrap{padding-inline:16px}.hero h1{font-size:44px}.floatcard{padding:14px}.floatcard h4{font-size:15px}.metric{font-size:23px}.maplabel{left:18px;right:18px;top:58px}.coachpromo{padding:22px}.mini-list{padding-inline:14px}}
