:root{--bg:#F1F4F2;--surface:#FFFFFF;--sunk:#E7ECE9;--ink:#13201B;--muted:#56665F;--line:#D5DDD9;--accent:#0A7570;--accent-ink:#FFFFFF;--accent-soft:#D8EEEA;--warn:#8F5B0C;--warn-soft:#F5E9D2;--ok:#276B40;--ok-soft:#DDEFE2;--priv:#5D4E9C;--priv-soft:#E8E4F5;--frame:#1B2421;--bar:#8FA59C;--f-display:"Familjen Grotesk","Helvetica Neue",Arial,sans-serif;--f-body:"IBM Plex Sans",-apple-system,"Segoe UI",sans-serif;--f-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0D1311;--surface:#151D1A;--sunk:#1B2522;--ink:#E4ECE8;--muted:#93A49C;--line:#2A3632;--accent:#3BBFB4;--accent-ink:#06201D;--accent-soft:#123330;--warn:#E2AA50;--warn-soft:#33281A;--ok:#72C890;--ok-soft:#173022;--priv:#B3A6EE;--priv-soft:#262142;--frame:#000000;--bar:#5E736B;color-scheme:dark}}:root[data-theme=dark]{--bg:#0D1311;--surface:#151D1A;--sunk:#1B2522;--ink:#E4ECE8;--muted:#93A49C;--line:#2A3632;--accent:#3BBFB4;--accent-ink:#06201D;--accent-soft:#123330;--warn:#E2AA50;--warn-soft:#33281A;--ok:#72C890;--ok-soft:#173022;--priv:#B3A6EE;--priv-soft:#262142;--frame:#000000;--bar:#5E736B;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.5;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:24px 48px}h1,h2,h3{font-family:var(--f-display);text-wrap:balance;margin:0;letter-spacing:-.01em}h1{font-size:34px;line-height:1.1}h2{font-size:22px}h3{font-size:16px}p{margin:0}.mono,.num{font-family:var(--f-mono);font-variant-numeric:tabular-nums}.wrap{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 410px;gap:40px;align-items:start}.left{display:flex;flex-direction:column;gap:40px;min-width:0}.right{position:sticky;top:16px}@media (max-width:980px){.wrap{grid-template-columns:minmax(0,1fr)}.right{position:static;order:-1}}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:600}.lead{color:var(--muted);max-width:62ch;margin-top:10px}.mode{display:inline-flex;gap:8px;align-items:center;background:var(--warn-soft);color:var(--warn);padding:6px 10px;border-radius:6px;font-size:13px;font-weight:600;margin-top:14px}.mode.ok,.sync.ok{background:var(--ok-soft);color:var(--ok)}.sec{display:flex;flex-direction:column;gap:16px}.sec-head{display:flex;flex-direction:column;gap:4px}.checks{display:flex;flex-direction:column;border-top:1px solid var(--line)}.chk{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}.ic{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;margin-top:1px}.ic.ok{background:var(--ok-soft);color:var(--ok)}.ic.w{background:var(--warn-soft);color:var(--warn)}.ic.i{background:var(--sunk);color:var(--muted)}.chk b{font-weight:600}.chk small{display:block;color:var(--muted);font-size:13px}.dgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.dcard{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:6px}.dcard .n{font-family:var(--f-mono);font-size:12px;color:var(--accent)}.dcard p{font-size:14px;color:var(--muted)}.flow{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px}.flow svg{display:block;min-width:640px;width:100%;height:auto}.flow text{font-family:var(--f-body);font-size:12px;fill:var(--ink)}.flow .sub{fill:var(--muted);font-size:11px}.flow .box{fill:var(--sunk);stroke:var(--line)}.flow .box.hi{fill:var(--accent-soft);stroke:var(--accent)}.flow .box.w{fill:var(--warn-soft);stroke:var(--warn)}.flow .arr{stroke:var(--muted);fill:none;stroke-width:1.4}.flow .ah{fill:var(--muted)}.road{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface)}@media (max-width:700px){.road{grid-template-columns:minmax(0,1fr)}}.stage{padding:14px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:6px;min-width:0}.stage:last-child{border-right:0}@media (max-width:700px){.stage{border-right:0;border-bottom:1px solid var(--line)}}.stage.now{background:var(--accent-soft)}.stage ul{margin:0;padding-left:18px;font-size:13px;color:var(--muted)}.pill{display:inline-block;font-size:11px;font-weight:600;padding:2px 7px;border-radius:999px;background:var(--sunk);color:var(--muted);letter-spacing:.02em}.pill.acc{background:var(--accent);color:var(--accent-ink)}.pill.w{background:var(--warn-soft);color:var(--warn)}.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.p{background:var(--priv-soft);color:var(--priv)}.appr{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:18px}.q{display:flex;flex-direction:column;gap:8px}.q legend,.q .ql{font-weight:600}.q .why{font-size:13px;color:var(--muted)}.opts{display:flex;flex-wrap:wrap;gap:8px}.opt{position:relative}.opt input{position:absolute;opacity:0;pointer-events:none}.opt label{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:8px;padding:8px 12px;cursor:pointer;font-size:14px;background:var(--bg)}.opt input:checked+label{border-color:var(--accent);background:var(--accent-soft);color:var(--ink);box-shadow:inset 0 0 0 1px var(--accent)}.opt input:focus-visible+label{outline:2px solid var(--accent);outline-offset:2px}fieldset{border:0;margin:0;padding:0}textarea,input[type=text],input[type=search],select,input[type=number]{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:8px 10px;width:100%}textarea:focus-visible,input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.btn{font:inherit;font-weight:600;border:0;border-radius:8px;padding:10px 16px;background:var(--accent);color:var(--accent-ink);cursor:pointer}.btn.ghost{background:transparent;color:var(--accent);border:1px solid var(--line)}.btn.sm{padding:6px 10px;font-size:13px}.out{white-space:pre-wrap;font-family:var(--f-mono);font-size:12px;background:var(--sunk);border-radius:8px;padding:12px;max-height:240px;overflow:auto}.toast{font-size:13px;color:var(--ok);font-weight:600}.phone{background:var(--frame);border-radius:44px;padding:12px;box-shadow:0 20px 50px -20px #00000059}.screen{background:var(--bg);border-radius:34px;height:800px;max-height:calc(100vh - 60px);min-height:560px;display:flex;flex-direction:column;overflow:hidden;position:relative}@media (max-width:980px){.phone{border-radius:28px;padding:8px;max-width:440px;margin:0 auto}.screen{border-radius:22px;height:720px;max-height:none}}.status{display:flex;justify-content:space-between;align-items:center;padding:14px 18px 6px;gap:8px}.status .app{font-family:var(--f-display);font-weight:700;font-size:18px}.sync{font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px;background:var(--warn-soft);color:var(--warn);white-space:nowrap}.view{flex:1;overflow-y:auto;padding:6px 16px 20px;display:flex;flex-direction:column;gap:14px;min-height:0}.nav{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);background:var(--surface);padding:6px 4px 10px}.nav button{font:inherit;font-size:11px;background:none;border:0;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 0;cursor:pointer;border-radius:8px}.nav button svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.7}.nav button[aria-current=page]{color:var(--accent);font-weight:600}.vh{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.vh h2{font-size:24px}.vh .d{color:var(--muted);font-size:13px}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px;min-width:0}.kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px;min-width:0}.kpi .l{font-size:12px;color:var(--muted)}.kpi .v{font-family:var(--f-display);font-size:28px;font-weight:600;line-height:1.1;font-variant-numeric:tabular-nums}.kpi .v.none{color:var(--muted);font-size:20px}.kpi .s{font-size:11px;color:var(--muted)}.row{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.row .k{color:var(--muted);font-size:13px}.list{display:flex;flex-direction:column}.li{padding:9px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:3px}.li:last-child{border-bottom:0}.li .t{font-weight:500;font-size:14px}.li .m{font-size:12px;color:var(--muted)}.tags{display:flex;gap:6px;flex-wrap:wrap}.note{font-size:12px;color:var(--muted)}.warnbox{background:var(--warn-soft);color:var(--warn);border-radius:10px;padding:10px 12px;font-size:13px}.seg{display:flex;background:var(--sunk);border-radius:9px;padding:3px;gap:3px}.seg button{flex:1;font:inherit;font-size:13px;border:0;background:none;padding:6px;border-radius:7px;color:var(--muted);cursor:pointer}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 2px #00000014}.chart svg{display:block;width:100%;height:auto}.chart text{font-family:var(--f-mono);font-size:10px;fill:var(--muted)}.chart .lbl{fill:var(--ink);font-size:11px}.chart .grid{stroke:var(--line);stroke-width:1}.chart .ln{stroke:var(--accent);stroke-width:2;fill:none}.chart .pt{fill:var(--surface);stroke:var(--accent);stroke-width:2}.chart .ptl{fill:var(--accent)}.chart .band{fill:var(--accent-soft)}.chart .bar{fill:var(--accent)}.chart .bar.u{fill:var(--bar)}.chart .rng{fill:var(--accent);opacity:.45}.chart .zero{stroke:var(--ink);stroke-width:2}.chart .none{fill:var(--line)}.legend{display:flex;flex-wrap:wrap;gap:10px;font-size:11px;color:var(--muted)}.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px;vertical-align:-1px}.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.cal .h{font-size:10px;color:var(--muted);text-align:center;text-transform:uppercase}.cal .c{min-height:44px;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:3px;font-size:10px;display:flex;flex-direction:column;gap:2px;cursor:default}.cal .c.out{opacity:.35}.cal .c.today{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.cal .c .dn{font-family:var(--f-mono);color:var(--muted)}.cal .c .sp{font-size:9px;font-weight:600;border-radius:3px;padding:0 3px;color:var(--accent-ink);background:var(--accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal .c .sp.v{background:var(--sunk);color:var(--muted)}.tbl{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.tbl table{border-collapse:collapse;width:100%;font-size:12px}.tbl th,.tbl td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:top}.tbl th{font-size:11px;color:var(--muted);font-weight:600;background:var(--sunk);position:sticky;top:0}.tbl tr.r{cursor:pointer}.tbl tr.r:hover td{background:var(--sunk)}.tbl td.num{text-align:right}.filters{display:grid;grid-template-columns:1fr 1fr;gap:6px}.filters input{grid-column:1/-1}.timer{font-family:var(--f-display);font-size:40px;font-weight:600;font-variant-numeric:tabular-nums;text-align:center}.prop{border:1px dashed var(--accent);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:8px;background:var(--accent-soft)}.prop .it{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:start;font-size:13px}.qg{display:flex;flex-direction:column;gap:5px}.qg .ql{font-size:12px;color:var(--muted);font-weight:600}.chips{display:flex;flex-wrap:wrap;gap:6px}.chips button,.scale button{font:inherit;font-size:13px;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:999px;padding:7px 11px;cursor:pointer;min-height:36px}.scale{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px}.scale button{border-radius:8px;padding:7px 0;font-family:var(--f-mono)}.chips button:active,.scale button:active{background:var(--accent-soft)}.prog{height:6px;background:var(--sunk);border-radius:3px;overflow:hidden}.prog i{display:block;height:100%;background:var(--accent);transition:width .3s}.restbar{position:sticky;top:-6px;z-index:2;display:flex;flex-direction:column;gap:4px;background:var(--surface);padding:6px 0;border-bottom:1px solid var(--line)}.restbar .rr{display:flex;align-items:center;gap:8px}.restbar .lb{font-size:11px;color:var(--muted);width:50px;line-height:1.2}.restbar b{font-family:var(--f-display);font-size:26px;font-variant-numeric:tabular-nums;flex:1}.restbar b.sw{font-size:22px}.restbar .tot{font-size:12px;color:var(--muted)}.ex{display:flex;flex-direction:column;gap:6px;padding:10px 0;border-top:1px solid var(--line)}.ex.done>.row b{color:var(--muted);text-decoration:line-through}.set{display:grid;grid-template-columns:44px minmax(0,1fr) 70px 52px;gap:6px;align-items:center}.tick{width:44px;height:44px;border-radius:50%;border:2px solid var(--line);background:var(--bg);font:inherit;font-weight:700;color:var(--muted);cursor:pointer}.set.on .tick{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.set .tgt{font-size:13px;line-height:1.3}.set.on .tgt{color:var(--muted)}.sx{padding:8px 4px!important;font-size:14px!important;text-align:center}.fin{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.fin label{font-size:11px;color:var(--muted);display:flex;flex-direction:column;gap:3px}.how{display:flex;flex-direction:column;gap:8px;background:var(--sunk);border-radius:10px;padding:10px}.how img{width:100%;border-radius:8px;display:block;max-height:320px;object-fit:cover}.pict{width:100%;max-width:280px;height:auto;align-self:center;display:block}.pict .b{stroke:var(--ink);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;fill:none}.pict .m{stroke:var(--muted);stroke-width:3;stroke-linecap:round;fill:none}.pict .a{stroke:var(--accent);stroke-width:3;fill:none;stroke-linecap:round}.pict .h{fill:var(--ink)}.pict .ah{fill:var(--accent)}.how ul{margin:0;padding-left:18px;font-size:13px}.howbtn{font:inherit;font-size:12px;border:1px solid var(--line);background:var(--surface);color:var(--accent);border-radius:999px;padding:4px 10px;cursor:pointer;align-self:flex-start}.upl{font-size:12px;color:var(--accent);cursor:pointer;text-decoration:underline}.rpe{display:flex;flex-direction:column;gap:4px}.rpe .chips button{padding:6px 9px;font-size:12px;min-height:34px}.rpe .chips button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.lock:before{content:"🔒 ";font-size:11px}.more{display:flex;flex-direction:column;gap:8px}.more button{font:inherit;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px;cursor:pointer;color:var(--ink)}.more button small{display:block;color:var(--muted);font-size:12px}.back{font:inherit;font-size:13px;background:none;border:0;color:var(--accent);padding:0;cursor:pointer;align-self:flex-start}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}html,body{height:100%}body{padding:0!important;display:flex;justify-content:center}.phone{background:transparent!important;box-shadow:none!important;padding:0!important;border-radius:0!important;width:100%;max-width:640px;height:100%;margin:0!important}.screen{border-radius:0!important;height:100%!important;max-height:none!important;min-height:0!important}.status{padding-top:max(14px,env(safe-area-inset-top,0px))!important;padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px))}.view{padding-left:max(16px,env(safe-area-inset-left,0px))!important;padding-right:max(16px,env(safe-area-inset-right,0px))!important}.nav{padding-bottom:max(10px,env(safe-area-inset-bottom,0px))!important}#loginForm input,#pwForm input{font-size:16px}@media (min-width: 900px){body{background:var(--sunk)}.phone{border-left:1px solid var(--line);border-right:1px solid var(--line)}}[hidden]{display:none!important}body{margin:0;-webkit-text-size-adjust:100%}img{max-width:100%}input,textarea,select{font-size:16px}
