:root{--brand:#6c4cf1;--brand-dark:#5a3ee0;--brand-soft:#6c4cf117;--bg:#f5f6fa;--card:#fff;--stroke:#1a1d2e1a;--text:#1a1d2e;--muted:#6b7280;--green:#16a34a;--green-soft:#16a34a1a;--amber:#d97706;--amber-soft:#d977061f;--shadow:0 12px 40px #1a1d2e14}*{box-sizing:border-box}body{background:var(--bg);min-height:100vh;color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.55}h1,h2,h3{margin:0;line-height:1.2}h1{letter-spacing:-.02em;font-size:1.7rem}h2{font-size:1.25rem}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}.brand-logo{letter-spacing:-.02em;align-items:center;gap:10px;font-size:1.15rem;font-weight:800;display:inline-flex}.brand-mark{background:linear-gradient(135deg, var(--brand), #9a7cf0);color:#fff;border-radius:10px;place-items:center;width:34px;height:34px;font-size:.95rem;font-weight:800;display:grid}.btn-primary{background:var(--brand);color:#fff;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 18px;font-weight:700;transition:background-color .15s;display:inline-flex}.btn-primary:hover{background:var(--brand-dark)}.btn-primary:disabled{opacity:.45;cursor:default}.btn-ghost{border:1px solid var(--stroke);width:100%;color:var(--text);background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-weight:600;display:inline-flex}.auth-layout{grid-template-columns:1fr 1.2fr;min-height:100vh;display:grid}.auth-side{color:#fff;background:linear-gradient(160deg,#2a2140 0%,#4b3694 55%,#6c4cf1 100%);flex-direction:column;gap:18px;padding:48px;display:flex}.auth-side h2{letter-spacing:-.02em;margin-top:auto;font-size:1.9rem}.auth-side p{color:#ffffffbf;margin:0;font-size:1.05rem}.auth-main{place-items:center;padding:40px 24px;display:grid}.auth-card{background:var(--card);border:1px solid var(--stroke);width:min(420px,100%);box-shadow:var(--shadow);border-radius:20px;gap:16px;padding:36px;display:grid}.auth-card h1{font-size:1.4rem}.field{gap:6px;display:grid}.field label{font-size:.9rem;font-weight:600}.field input{border:1px solid var(--stroke);font:inherit;background:#fff;border-radius:10px;padding:11px 14px}.field input:focus{outline:2px solid var(--brand);outline-offset:-1px}.auth-row{justify-content:space-between;align-items:center;font-size:.88rem;display:flex}.auth-row label{color:var(--muted);align-items:center;gap:8px;display:flex}.auth-row a{color:var(--brand);font-weight:600}.auth-divider{color:var(--muted);align-items:center;gap:12px;font-size:.82rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--stroke);flex:1;height:1px}.auth-foot{text-align:center;color:var(--muted);font-size:.9rem}.auth-foot a{color:var(--brand);font-weight:600}.sjekk-wrap{place-items:center;min-height:100vh;padding:40px 20px;display:grid}.sjekk-card{background:var(--card);border:1px solid var(--stroke);width:min(640px,100%);box-shadow:var(--shadow);border-radius:20px;gap:22px;padding:40px;display:grid}.stepper{align-items:center;gap:6px;display:flex}.step-dot{width:26px;height:26px;color:var(--muted);background:#1a1d2e12;border-radius:50%;flex:none;place-items:center;font-size:.75rem;font-weight:700;display:grid}.step-dot-done{background:var(--brand);color:#fff}.step-dot-current{background:var(--brand);color:#fff;box-shadow:0 0 0 4px var(--brand-soft)}.step-line{background:#1a1d2e17;flex:1;height:2px}.sjekk-hint{color:var(--muted);margin:4px 0 0;font-size:.92rem}.option-list{gap:10px;display:grid}.option-radio{border:1px solid var(--stroke);cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:13px 16px;transition:border-color .12s,background-color .12s;display:flex}.option-radio:hover{border-color:var(--brand)}.option-radio-selected{border-color:var(--brand);background:var(--brand-soft)}.option-radio input{accent-color:var(--brand);width:17px;height:17px}.sjekk-nav{justify-content:space-between;align-items:center;gap:12px;display:flex}.sjekk-nav .btn-primary,.sjekk-nav .btn-ghost{width:auto;min-width:120px}.sjekk-step-label{color:var(--muted);font-size:.85rem}.result-wrap{place-items:start center;min-height:100vh;padding:48px 20px;display:grid}.result-grid{grid-template-columns:1.4fr 1fr;align-items:start;gap:18px;width:min(980px,100%);display:grid}.result-card{background:var(--card);border:1px solid var(--stroke);box-shadow:var(--shadow);border-radius:20px;gap:16px;padding:32px;display:grid}.result-badge{background:var(--green-soft);width:fit-content;color:var(--green);border-radius:999px;align-items:center;padding:7px 14px;font-size:.85rem;font-weight:700;display:inline-flex}.result-badge-basic{background:var(--amber-soft);color:var(--amber)}.result-summary{color:var(--muted);margin:0}.duty-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.duty-list li{align-items:baseline;gap:10px;font-size:.95rem;display:flex}.duty-list li:before{content:"✓";color:var(--green);font-weight:800}.side-stack{gap:18px;display:grid}.link-more{color:var(--brand);font-size:.9rem;font-weight:600}.app-layout{grid-template-columns:230px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--card);border-right:1px solid var(--stroke);flex-direction:column;gap:22px;height:100vh;padding:20px 12px;display:flex;position:sticky;top:0}.sidebar .brand-logo{padding:0 8px}.side-nav{gap:2px;display:grid}.side-link{color:var(--muted);border-radius:10px;align-items:center;gap:11px;padding:10px 12px;font-size:.93rem;font-weight:500;display:flex}.side-link:hover{background:#1a1d2e0d}.side-link-active{background:var(--brand-soft);color:var(--brand);font-weight:700}.side-soon{opacity:.55;cursor:default}.side-icon{text-align:center;width:22px}.app-main{flex-direction:column;min-width:0;display:flex}.topbar{background:var(--card);border-bottom:1px solid var(--stroke);align-items:center;gap:14px;padding:12px 28px;display:flex}.topbar-right{align-items:center;gap:16px;margin-left:auto;display:flex}.icon-btn{background:0 0;border:0;border-radius:8px;padding:6px;font-size:1.1rem}.user-chip{align-items:center;gap:10px;font-size:.9rem;font-weight:600;display:flex}.user-chip small{color:var(--muted);font-weight:500;display:block}.user-avatar{background:linear-gradient(135deg, var(--brand), #9a7cf0);color:#fff;border-radius:50%;place-items:center;width:36px;height:36px;font-size:.8rem;font-weight:700;display:grid}.content{gap:18px;padding:28px;display:grid}.dash-grid{grid-template-columns:1.6fr 1fr;align-items:start;gap:18px;display:grid}.dash-card{background:var(--card);border:1px solid var(--stroke);box-shadow:var(--shadow);border-radius:18px;gap:14px;padding:26px;display:grid}.dash-card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.progress-ring-wrap{align-items:center;gap:22px;display:flex}.progress-ring{transform:rotate(-90deg)}.progress-ring-bg{stroke:#1a1d2e14}.progress-ring-fill{stroke:var(--brand);stroke-linecap:round;transition:stroke-dashoffset .5s}.ring-label{gap:2px;display:grid}.ring-label strong{font-size:1.5rem}.ring-label span{color:var(--muted);font-size:.88rem}.task-list{display:grid}.task-row{border-bottom:1px solid #1a1d2e0f;grid-template-columns:22px 1fr auto;align-items:center;gap:12px;padding:11px 0;display:grid}.task-row:last-child{border-bottom:0}.task-status{border-radius:50%;place-items:center;width:20px;height:20px;font-size:.7rem;font-weight:800;display:grid}.task-done{background:var(--green-soft);color:var(--green)}.task-progress{background:var(--amber-soft);color:var(--amber)}.task-todo{border:2px solid #1a1d2e24}.task-name{font-size:.94rem;font-weight:500}.task-pct{color:var(--muted);font-size:.85rem;font-weight:600}.next-card{background:linear-gradient(150deg, #fff 0%, var(--brand-soft) 100%)}.next-card p{color:var(--muted);margin:0;font-size:.9rem}.activity-list{gap:0;display:grid}.activity-row{border-bottom:1px solid #1a1d2e0f;align-items:baseline;gap:12px;padding:10px 0;font-size:.9rem;display:flex}.activity-row:last-child{border-bottom:0}.activity-row em{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:.8rem;font-style:normal}@media (max-width:980px){.auth-layout,.app-layout,.dash-grid,.result-grid,.map-layout,.flow-q-grid,.stat-grid,.red-grid{grid-template-columns:1fr}.auth-side{display:none}.sidebar{flex-direction:row;align-items:center;height:auto;position:static;overflow-x:auto}.side-nav{gap:6px;display:flex}.side-link{white-space:nowrap}}.btn-auto{width:auto}.page-head{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.head-note{color:var(--muted);font-size:.88rem}.head-action{margin-left:auto}.map-layout{grid-template-columns:280px minmax(0,1fr);min-height:100vh;display:grid}.map-side{background:var(--card);border-right:1px solid var(--stroke);flex-direction:column;gap:16px;padding:24px 14px;display:flex}.area-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.area-item{width:100%;color:var(--muted);text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:10px 12px;font-size:.93rem;font-weight:500;display:flex}.area-item:hover{background:#1a1d2e0d}.area-num{border:2px solid var(--brand);width:22px;height:22px;color:var(--brand);border-radius:50%;flex:none;place-items:center;font-size:.72rem;font-weight:800;display:grid}.area-active{background:var(--brand-soft);color:var(--brand);font-weight:700}.area-active .area-num{background:var(--brand);color:#fff}.map-main{align-content:start;gap:20px;max-width:760px;padding:44px;display:grid}.map-intro{color:var(--muted);margin:0}.topic-list{gap:10px;display:grid}.topic-row{background:var(--card);border:1px solid var(--stroke);text-align:left;border-radius:12px;align-items:center;gap:12px;padding:15px 18px;font-size:.95rem;font-weight:600;transition:border-color .12s;display:flex}.topic-row:hover{border-color:var(--brand)}.topic-check{border-radius:50%;place-items:center;width:22px;height:22px;margin-left:auto;font-size:.72rem;font-weight:800;display:grid}.topic-done{background:var(--green-soft);color:var(--green)}.topic-open{border:2px solid #1a1d2e24}.map-foot{justify-content:flex-end;display:flex}.flow-wrap{min-height:100vh;padding:26px 20px 60px}.flow-inner{gap:24px;width:min(780px,100%);margin:0 auto;display:grid}.flow-top{justify-content:space-between;align-items:center;display:flex}.flow-back{color:var(--muted);font-size:.9rem;font-weight:600}.flow-back:hover{color:var(--brand)}.flow-count{color:var(--muted);font-size:.85rem}.flow-subhead{margin-bottom:10px;font-size:1rem}.flow-q-grid{grid-template-columns:1.3fr 1fr;align-items:start;gap:18px;display:grid}.why-box{background:var(--card);border:1px solid var(--stroke);border-radius:14px;gap:8px;padding:18px;display:grid}.why-box h3{color:var(--brand);font-size:.9rem}.why-box p{color:var(--muted);margin:0;font-size:.88rem}.flow-nav{justify-content:flex-end;display:flex}.flow-text{border:1px solid var(--stroke);width:100%;min-height:110px;font:inherit;resize:vertical;background:#fff;border-radius:12px;padding:12px 14px}.flow-text:focus{outline:2px solid var(--brand);outline-offset:-1px}.check-row{border:1px solid var(--stroke);cursor:pointer;background:var(--card);border-radius:12px;align-items:center;gap:12px;padding:13px 16px;font-size:.94rem;display:flex}.check-row input{accent-color:var(--brand);width:17px;height:17px}.upload-btn{width:fit-content}.funn-center{text-align:center;justify-items:center}.funn-center .btn-primary,.funn-center .btn-ghost{width:100%}.funn-emoji{font-size:2.6rem}.funn-banner{background:var(--brand-soft);color:var(--brand-dark);border-radius:14px;padding:18px 20px;font-size:1.05rem;font-weight:700}.tabs{border-bottom:1px solid var(--stroke);gap:4px;display:flex;overflow-x:auto}.tab{color:var(--muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:9px 14px;font-size:.9rem;font-weight:600}.tab-active{color:var(--brand);border-bottom-color:var(--brand)}.badge-done{background:var(--green-soft);color:var(--green);border-radius:999px;padding:5px 12px;font-size:.8rem;font-weight:700}.stat-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.stat-big{letter-spacing:-.02em;font-size:2.2rem;font-weight:800}.stat-sub{color:var(--muted);margin:0;font-size:.88rem}.stat-split{gap:22px;display:flex}.stat-split strong{color:var(--text)}.bar-list{gap:12px;display:grid}.bar-row{grid-template-columns:140px 1fr 46px;align-items:center;gap:12px;font-size:.88rem;font-weight:600;display:grid}.bar-track{background:#1a1d2e0f;border-radius:999px;height:14px;display:block;overflow:hidden}.bar-fill{background:var(--brand);border-radius:999px;height:100%;display:block}.bar-pct{color:var(--muted);text-align:right}.dash-card-flush{padding:10px 18px}.tiltak-table{border-collapse:collapse;width:100%;font-size:.9rem}.tiltak-table th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--stroke);padding:10px;font-size:.76rem}.tiltak-table td{vertical-align:middle;border-bottom:1px solid #1a1d2e0f;padding:13px 10px}.tiltak-table tr:last-child td{border-bottom:0}.person-chip{align-items:center;gap:8px;font-weight:600;display:inline-flex}.person-avatar{background:linear-gradient(135deg, var(--brand), #9a7cf0);color:#fff;border-radius:50%;place-items:center;width:26px;height:26px;font-size:.62rem;font-weight:800;display:grid}.chip{white-space:nowrap;border-radius:999px;padding:4px 12px;font-size:.78rem;font-weight:700}.chip-pagar{background:var(--amber-soft);color:var(--amber)}.chip-planlagt{background:var(--brand-soft);color:var(--brand)}.chip-fullfort{background:var(--green-soft);color:var(--green)}.row-menu{color:var(--muted);background:0 0;border:0;border-radius:6px;padding:4px 8px;font-size:1rem}.row-menu:hover{background:#1a1d2e0d}.red-grid{grid-template-columns:1.4fr 1fr;align-items:start;gap:18px;display:grid}.flow-steps{background:var(--card);border:1px solid var(--stroke);border-radius:16px;align-items:center;gap:10px;padding:20px 24px;display:flex}.flow-step{color:var(--muted);text-align:center;justify-items:center;gap:6px;font-size:.8rem;font-weight:600;display:grid}.flow-step-ico{background:#1a1d2e12;border-radius:50%;place-items:center;width:38px;height:38px;font-size:1rem;display:grid}.flow-step-active{color:var(--brand)}.flow-step-active .flow-step-ico{background:var(--brand);color:#fff;box-shadow:0 0 0 4px var(--brand-soft)}.flow-connector{background:#1a1d2e17;flex:1;height:2px}
