:root{--gron:#14532d;--gron-ljus:#1f6b3f;--bg:#f6f7f8;--yta:#fff;--yta-tonad:#f2f4f5;--fg:#16211c;--muted:#667079;--line:#e3e7e9;--line-stark:#cbd2d6;--accent:#15803d;--accent-soft:#eef8f1;--warn:#92400e;--warn-soft:#fdf6ec;--error:#b3261e;--error-soft:#fdefee;--radie:12px;--radie-stor:18px;--fokus:0 0 0 3px color-mix(in srgb, var(--accent) 28%, transparent);--skugga:0 1px 2px #1018200d;--skugga-fylld:0 1px 2px #1018201a;--skugga-kort:0 1px 2px #1018200a, 0 8px 24px #1018200f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--gron:#d8ece0;--gron-ljus:#b7d0bf;--bg:#0e1512;--yta:#161e1a;--yta-tonad:#1c2622;--fg:#e9eeeb;--muted:#98a5a0;--line:#263029;--line-stark:#36423b;--accent:#6fce97;--accent-soft:#16241c;--warn:#d9b06a;--warn-soft:#241f16;--error:#ef8b85;--error-soft:#251817;--skugga:0 1px 2px #0006;--skugga-fylld:0 1px 2px #00000080;--skugga-kort:0 1px 2px #0006, 0 8px 24px #00000059}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--fg);-webkit-text-size-adjust:100%;margin:0;font:17px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.screen{max-width:720px;padding:0 0 env(safe-area-inset-bottom);min-height:100%;margin:0 auto}.screen.center{align-content:center;place-items:center;padding:24px 20px 15vh;display:grid}.pad{padding:16px}.muted{color:var(--muted)}.small{font-size:14px}.bar{z-index:2;padding:14px 16px calc(14px + env(safe-area-inset-top));padding-top:max(14px, env(safe-area-inset-top));background:var(--bg);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.bar h1{margin:0;font-size:20px}.title{flex-direction:column;gap:1px;min-width:0;display:flex}.title strong{text-overflow:ellipsis;white-space:nowrap;font-size:18px;overflow:hidden}.search{width:calc(100% - 32px);color:var(--fg);background:var(--yta);border:2px solid var(--line);border-radius:12px;margin:12px 16px;padding:14px 16px;font-size:17px;display:block}.search:focus{border-color:var(--fg);outline:none}.list{background:var(--yta);border:1px solid var(--line);border-radius:var(--radie-stor);margin:12px 16px;padding:0;list-style:none;overflow:hidden}.list:empty{display:none}.row{width:100%;min-height:68px;font:inherit;color:inherit;text-align:left;border:0;border-bottom:1px solid var(--line);cursor:pointer;background:0 0;align-items:center;gap:14px;padding:12px 16px;display:flex}.list li:last-child .row,.list li:last-child .sublist{border-bottom:0}.row:active{background:var(--yta-tonad)}button.row-main{font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.row-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.row-main>*{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.horse.ok{background:var(--accent-soft)}.horse.bad{background:var(--error-soft)}.check{width:44px;height:44px;color:var(--fg);background:var(--yta);border:2px solid var(--line);cursor:pointer;box-shadow:var(--skugga);border-radius:10px;flex:none;place-items:center;font-size:24px;font-weight:700;transition:transform 60ms,box-shadow 60ms;display:grid}.check:active{box-shadow:none;transform:translateY(1px)}.check.ok{color:#fff;background:var(--accent);border-color:color-mix(in srgb, var(--accent) 80%, #000);box-shadow:var(--skugga-fylld)}.check.bad{color:#fff;background:var(--error);border-color:color-mix(in srgb, var(--error) 80%, #000);box-shadow:var(--skugga-fylld)}.check.warn{color:#fff;background:var(--warn);border-color:color-mix(in srgb, var(--warn) 80%, #000);box-shadow:var(--skugga-fylld)}.note{color:var(--warn);background:var(--warn-soft);border:1px solid color-mix(in srgb, var(--warn) 35%, transparent);border-radius:999px;align-self:flex-start;padding:3px 10px;font-size:14px;white-space:normal!important}.stats{grid-template-columns:repeat(5,1fr);gap:8px;padding:12px 16px 0;display:grid}.stat{font:inherit;color:inherit;background:var(--yta);border:1px solid var(--line);border-radius:var(--radie);cursor:pointer;box-shadow:var(--skugga);flex-direction:column;gap:2px;padding:10px 6px;display:flex}.stat:active{box-shadow:none;transform:translateY(1px)}.stat-value{font-variant-numeric:tabular-nums;font-size:22px;font-weight:700;line-height:1.1}.stat-label{color:var(--muted);font-size:12px}.stat.ok .stat-value{color:var(--accent)}.stat.bad .stat-value{color:var(--error)}.stat.note .stat-value{color:var(--warn)}.stat.active{border-color:var(--fg)}.tabs{gap:8px;padding:10px 16px 0;display:flex}.tabs button{min-height:44px;font:inherit;color:var(--muted);background:var(--yta);border:1px solid var(--line);border-radius:var(--radie);cursor:pointer;box-shadow:var(--skugga);flex:1;font-weight:600}.tabs button:active{box-shadow:none;transform:translateY(1px)}.tabs button:disabled{opacity:.5;cursor:default}.tabs button.active{color:var(--yta);background:var(--gron);border-color:var(--gron)}@media (prefers-color-scheme:dark){.tabs button.active{color:var(--bg)}}.tabs.sub{padding-bottom:4px}.tabs.sub button{min-height:38px;font-size:15px}.stats.control{grid-template-columns:repeat(3,1fr)}button.row.klass{align-items:flex-start}.row.klass .badge{font-variant-numeric:tabular-nums}.sublist{background:var(--yta-tonad);border-bottom:1px solid var(--line);margin:0;padding:4px 16px 12px 60px;list-style:none}.sublist li{align-items:center;gap:10px;padding:5px 0;font-size:15px;display:flex}.sublist .badge{width:88px;padding:3px 6px;font-size:11px}.stat.warn .stat-value{color:var(--warn)}.badge{width:96px;color:var(--fg);text-align:center;background:var(--yta-tonad);border:1px solid var(--line);border-radius:999px;flex:none;align-self:flex-start;padding:6px 8px;font-size:12px;font-weight:600}.badge.ok{color:var(--accent);background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 40%, transparent)}.badge.bad{color:var(--error);background:var(--error-soft);border-color:color-mix(in srgb, var(--error) 40%, transparent)}.badge.warn{color:var(--warn);background:var(--warn-soft);border-color:color-mix(in srgb, var(--warn) 40%, transparent)}.horse.warn{background:var(--warn-soft)}.tag.ok{color:var(--accent);background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 35%, transparent)}.group-head{justify-content:space-between;align-items:baseline;gap:12px;margin:0;padding:14px 16px 6px;font-size:15px;display:flex}.picker-scroll{max-height:45vh;overflow-y:auto}.picker-scroll .group-head{background:var(--bg);padding:10px 2px 6px;position:sticky;top:0}.bana-head{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;justify-content:space-between;align-items:baseline;gap:10px;margin:0;padding:8px 2px 4px;font-size:11px;font-weight:600;display:flex}.bana-head .small{letter-spacing:normal;text-transform:none}.picker{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px;padding:2px;display:grid}.pick{font:inherit;color:inherit;text-align:left;background:var(--yta);border:2px solid var(--line);cursor:pointer;box-shadow:var(--skugga);border-radius:10px;flex-direction:column;gap:1px;padding:7px 10px;display:flex}.pick:hover{border-color:var(--gron)}.pick:active{box-shadow:none;transform:translateY(1px)}.pick-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.pick-head strong{font-size:15px}.pick-name{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.25;display:-webkit-box;overflow:hidden}.picker-sok{z-index:1;width:100%;min-height:44px;margin:0 0 4px;padding:10px 14px;font-size:15px;position:sticky;top:0}.pick.on{background:var(--accent-soft);border-color:var(--accent);box-shadow:none}.pick.on .pick-head strong{color:var(--accent)}.pick-datum{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:5px;font-size:12px;display:flex}.avgiftsmarke{color:var(--accent);background:var(--accent-soft);letter-spacing:.04em;text-transform:uppercase;border-radius:4px;padding:0 4px;font-size:10px;font-weight:700}.forslag{scrollbar-width:none;gap:8px;padding:2px 2px 10px;display:flex;overflow-x:auto}.forslag::-webkit-scrollbar{display:none}.forslag .knapp{flex:none}.progress{background:var(--yta-tonad);border:1px solid var(--line);border-radius:999px;gap:2px;height:8px;margin:10px 16px 2px;display:flex;overflow:hidden}.progress>span{border-radius:999px;transition:width .3s}.progress-ok{background:var(--accent)}.progress-bad{background:var(--error)}.overlay{z-index:10;background:#0a0e0b8c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{width:100%;max-width:520px;max-height:90vh;padding:20px 16px calc(20px + env(safe-area-inset-bottom));background:var(--yta);border:1px solid var(--line);border-bottom:0;border-radius:16px 16px 0 0;flex-direction:column;gap:12px;display:flex;overflow-y:auto}.sheet h2{margin:0;font-size:20px}.sheet p{margin:-8px 0 0}.choices{gap:8px;display:grid}.choice{min-height:52px;font:inherit;color:var(--fg);background:var(--yta);border:2px solid var(--line);border-radius:var(--radie);cursor:pointer;box-shadow:var(--skugga);font-weight:600;transition:transform 60ms,box-shadow 60ms}.choice:active{box-shadow:none;transform:translateY(1px)}.choice:disabled{opacity:.5;cursor:default}.choice.ok.active{color:#fff;background:var(--accent);border-color:color-mix(in srgb, var(--accent) 80%, #000)}.choice.bad.active{color:#fff;background:var(--error);border-color:color-mix(in srgb, var(--error) 80%, #000)}.choice.warn.active{color:#fff;background:var(--warn);border-color:color-mix(in srgb, var(--warn) 80%, #000)}.choice.active{border-color:var(--fg);box-shadow:var(--skugga-fylld)}textarea{font:inherit;color:var(--fg);background:var(--yta);border:2px solid var(--line);resize:vertical;border-radius:12px;padding:12px 14px}textarea:focus{border-color:var(--fg);outline:none}.compare{grid-template-columns:1fr 1fr;gap:12px;display:grid}.compare>div{background:var(--yta-tonad);border-radius:var(--radie);flex-direction:column;gap:4px;padding:12px;display:flex}.sheet-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:4px;display:flex}.sheet-actions .knapp{min-height:52px;padding:0 24px;font-size:16px}.primary{min-height:52px;font:inherit;color:var(--yta);background:var(--gron);border:2px solid var(--gron);border-radius:var(--radie);cursor:pointer;box-shadow:var(--skugga-fylld);padding:0 28px;font-weight:600;transition:transform 60ms,box-shadow 60ms,filter .12s}.primary:hover{filter:brightness(1.08)}.primary:active{box-shadow:none;transform:translateY(1px)}.primary:disabled{opacity:.5;cursor:default;filter:none}@media (prefers-color-scheme:dark){.primary{color:var(--bg)}}.chip{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.tag{color:var(--warn);white-space:nowrap;background:var(--warn-soft);border:1px solid color-mix(in srgb, var(--warn) 35%, transparent);border-radius:999px;flex:none;padding:3px 10px;font-size:13px;font-weight:600}.banner{border-bottom:1px solid var(--line);margin:0;padding:12px 16px;font-size:15px}.banner.offline{color:var(--warn);background:var(--warn-soft)}.banner.pending{background:#eef2ff}.banner.error,.error{color:var(--error);background:var(--error-soft)}.card{background:var(--yta);border:1px solid var(--line);border-radius:var(--radie-stor);width:100%;max-width:400px;box-shadow:var(--skugga-kort);flex-direction:column;gap:18px;padding:32px 28px;display:flex}.marke{width:56px;height:56px;box-shadow:var(--skugga-fylld);border-radius:15px;margin-bottom:-4px;display:block}@media (prefers-color-scheme:dark){.marke{color:var(--bg)}}.card h1{letter-spacing:-.02em;margin:0;font-size:30px;line-height:1.15}.card label{color:var(--muted);flex-direction:column;gap:6px;font-size:14px;font-weight:600;display:flex}.card p{margin:-8px 0 0}label{color:var(--muted);flex-direction:column;gap:6px;font-size:15px;display:flex}input,select,textarea,.search{transition:border-color .12s,box-shadow .12s}input:focus-visible,select:focus-visible,textarea:focus-visible,.search:focus{border-color:var(--accent);box-shadow:var(--fokus);outline:none}button:focus-visible,a.knapp:focus-visible{box-shadow:var(--fokus);outline:none}input{min-height:52px;color:var(--fg);background:var(--yta);border:2px solid var(--line);border-radius:14px;padding:14px 16px;font-size:17px}button[type=submit]{min-height:54px;font:inherit;color:var(--yta);background:var(--gron);border:2px solid var(--gron);border-radius:14px;border-radius:var(--radie);cursor:pointer;box-shadow:var(--skugga-fylld);font-weight:600;transition:transform 60ms,box-shadow 60ms,filter .12s}button[type=submit]:hover{filter:brightness(1.08)}button[type=submit]:active{box-shadow:none;transform:translateY(1px)}button[type=submit]:disabled{opacity:.4;cursor:default;filter:none;box-shadow:none}@media (prefers-color-scheme:dark){button[type=submit]{color:var(--bg)}}.link{font:inherit;color:var(--fg);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.screen.admin{max-width:1100px}.kort{background:var(--yta);border:1px solid var(--line);border-radius:var(--radie-stor);box-shadow:var(--skugga);margin:12px 16px;padding:16px}.kort.vald{border-color:var(--accent);box-shadow:var(--fokus)}.kort-huvud{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.kort-huvud>div:first-child{flex-direction:column;gap:2px;display:flex}.kort-knappar{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.link.fara{color:var(--error)}.siffror{flex-wrap:wrap;gap:20px;margin:14px 0 10px;display:flex}.siffra{flex-direction:column;display:flex}.siffra strong{font-size:22px;line-height:1.1}.siffra.ok strong{color:var(--accent)}.siffra.bad strong,.siffra.warn strong{color:var(--error)}.tabell{background:var(--yta);border:1px solid var(--line);border-radius:var(--radie);border-collapse:collapse;width:calc(100% - 32px);margin:0 16px 16px;font-size:15px;overflow:hidden}.tabell thead{background:var(--yta-tonad)}.tabell th,.tabell td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:8px 16px}.tabell th{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:13px;font-weight:600}.tabell tr.fel td,td.fel,.fel{color:var(--error)}.tabell code{font-size:14px}.tabell td{overflow-wrap:anywhere}.verktyg{flex-wrap:wrap;align-items:center;gap:16px;padding:0 16px 12px;display:flex}.verktyg .search{flex:260px;margin:0}.falt{flex-wrap:wrap;gap:16px;padding:0 16px;display:flex}.falt label{flex:220px}select{width:100%;min-height:52px;font:inherit;color:var(--fg);background:var(--yta);border:2px solid var(--line);border-radius:12px;padding:12px 14px}.tag.ok{color:var(--accent);background:var(--accent-soft)}.tag.warn{color:var(--warn);background:var(--warn-soft)}.bar-lankar{flex:none;align-items:center;gap:8px;display:flex}.knapp{min-height:40px;font:inherit;color:var(--fg);white-space:nowrap;background:var(--yta);border:2px solid var(--line);border-radius:var(--radie);cursor:pointer;box-shadow:var(--skugga);justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:15px;font-weight:600;text-decoration:none;transition:transform 60ms,box-shadow 60ms,filter .12s;display:inline-flex}.knapp.liten{min-height:36px;padding:6px 12px;font-size:14px}.knapp:hover{border-color:var(--gron)}.knapp:active{box-shadow:none;transform:translateY(1px)}.knapp:disabled{opacity:.5;cursor:default;filter:none}.knapp.f-gron,.knapp.f-bla,.knapp.f-gul,.knapp.f-orange,.knapp.f-rod{color:#fff;box-shadow:var(--skugga-fylld)}.knapp.f-gron{background:#157347;border-color:#0000}.knapp.f-bla{background:#1d6fb8;border-color:#0000}.knapp.f-gul{background:#8a6508;border-color:#0000}.knapp.f-orange{background:#ab5010;border-color:#0000}.knapp.f-rod{background:#c0241a;border-color:#0000}.knapp.f-gron:hover,.knapp.f-bla:hover,.knapp.f-gul:hover,.knapp.f-orange:hover,.knapp.f-rod:hover{filter:brightness(1.08)}@media (prefers-color-scheme:dark){.knapp.f-gron{background:#2f8b5b}.knapp.f-bla{background:#3a7fbe}.knapp.f-gul{background:#a8811c}.knapp.f-orange{background:#c2691f}.knapp.f-rod{background:#cf3a2e}}@media (prefers-reduced-motion:reduce){.knapp,.primary,.choice,.check,.stat,.tabs button,button[type=submit]{transition:none}.knapp:active,.primary:active,.choice:active,.check:active,.stat:active,.tabs button:active{transform:none}}.tag.test{color:var(--gron);background:var(--yta-tonad);border-color:color-mix(in srgb, var(--gron) 30%, transparent)}.ryttarrad{background:var(--yta);border:2px solid var(--gron);border-radius:var(--radie);box-shadow:var(--skugga);justify-content:space-between;align-items:center;gap:12px;margin:12px 16px;padding:12px 16px;display:flex}.varning{width:calc(100% - 32px);font:inherit;color:#fff;text-align:left;border-radius:var(--radie);cursor:pointer;box-shadow:var(--skugga-fylld);background:#c81a05;border:2px solid #a41504;align-items:center;gap:12px;margin:12px 16px 0;padding:12px 14px;font-size:15px;display:flex}.varning-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.varning:after{color:#ffffffa6;content:"›";flex:none;font-size:20px;line-height:1}.varning .muted{color:#fffc}.varning .klasser{color:#ffffffd9;font-variant-numeric:tabular-nums}.varning:active{box-shadow:none;transform:translateY(1px)}@media (prefers-color-scheme:dark){.varning{background:#d8321c;border-color:#b02616}}.screen.admin .sheet{border-radius:var(--radie-stor) var(--radie-stor) 0 0;max-width:780px}.screen.admin .picker-scroll{max-height:58vh}.pad-liten{margin:0 2px 8px}.ankomst{min-width:56px;min-height:44px;font:inherit;color:var(--muted);background:var(--yta);border:1px solid var(--line-stark);border-radius:var(--radie);cursor:pointer;box-shadow:var(--skugga);flex-direction:column;flex:none;justify-content:center;align-items:center;gap:1px;padding:4px 8px;font-size:14px;font-weight:600;display:flex}.ankomst:active{box-shadow:none;transform:translateY(1px)}.ankomst.har{color:var(--accent);background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}.ankomst-ikon{font-size:15px;line-height:1}.ankomst-tid{font-variant-numeric:tabular-nums;font-size:12px;font-weight:500}.ankomst-gatt{color:var(--muted);white-space:nowrap;font-size:11px;font-weight:500}.ankomst.har .ankomst-gatt{color:color-mix(in srgb, var(--accent) 75%, var(--fg))}.note.bradskar{color:#fff;background:var(--error);border-color:#0000}.tillbaka{flex-direction:column;gap:8px;display:flex}.tillbaka label{color:var(--muted);flex-direction:column;gap:6px;font-size:14px;font-weight:600;display:flex}.tillbaka input[type=time]{font-variant-numeric:tabular-nums}.snabbtider{flex-wrap:wrap;gap:8px;display:flex}.dagval{scrollbar-width:none;gap:8px;display:flex;overflow-x:auto}.dagval::-webkit-scrollbar{display:none}.dagval .knapp{flex:none}.dagval .knapp.vald{color:#fff;background:var(--accent);border-color:var(--accent)}.engangskod{color:var(--fg);background:var(--yta-tonad);border:2px dashed var(--line-stark);border-radius:var(--radie);letter-spacing:.18em;font-variant-numeric:tabular-nums;padding:6px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:24px;font-weight:700}.oversiktsrad{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:8px 2px;display:flex}.oversiktslage{flex:none;align-items:center;gap:8px;display:flex}.oversiktsrad .row-main>strong{align-items:center;gap:8px;display:flex}.tag.gul{color:var(--warn);background:var(--warn-soft);border-color:color-mix(in srgb, var(--warn) 35%, transparent)}.markesrad{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.nyckelrad{border-top:1px solid var(--line);align-items:center;gap:10px;margin-top:12px;padding-top:12px;display:flex}.nyckelrad input{min-width:0;min-height:44px;font:inherit;color:var(--fg);background:var(--yta);border:2px solid var(--line);border-radius:var(--radie);flex:1;padding:10px 14px}.nyckelrad input:focus{border-color:var(--accent);box-shadow:var(--fokus);outline:none}.nyckelrad .knapp{flex:none;min-height:44px}.tag.fel{color:var(--error);background:var(--error-soft);border-color:color-mix(in srgb, var(--error) 35%, transparent)}.hornlank{top:max(16px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));z-index:3;position:fixed}.kortrad{justify-content:space-between;align-items:center;gap:12px;display:flex}.kortrad:has(.marke:only-child){justify-content:flex-start}.kort.vantar{border-color:color-mix(in srgb, var(--warn) 45%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--warn) 30%, transparent)}
