:root{--djup: #10302E;--vatten: #1F8A70;--vatten-mork: #176B57;--vag: #9CC9E8;--sol: #F2B84B;--yta: #F2F6F4;--vit: #FFFFFF;--kant: #DCE5E1;--kant-ljus: #E8EFEC;--text: #10302E;--dampad: #5B6B67;--ok-bak: #E3F1E8;--ok: #1F6B3A;--varning-bak: #FBF0DC;--varning: #8A5A00;--fel-bak: #FBE6E6;--fel: #9B2C2C;--rubrik: "Space Grotesk", system-ui, sans-serif;--brod: Inter, system-ui, sans-serif;--mono: ui-monospace, "SFMono-Regular", Menlo, monospace}*{box-sizing:border-box}body{margin:0;background:var(--yta);color:var(--text);font-family:var(--brod);font-size:14px;line-height:1.5}a{color:var(--djup)}a:hover{color:var(--vatten-mork)}h1,h2{font-family:var(--rubrik);margin:0}h1{font-size:28px;font-weight:600;line-height:1.2}h2{font-size:17px;font-weight:600}h2.mini{font-family:var(--brod);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--dampad)}p{margin:0}code,.mono{font-family:var(--mono);font-size:12.5px}button,input,select{font:inherit}:focus-visible{outline:2px solid var(--vatten);outline-offset:2px}.dampad{color:var(--dampad)}.liten{font-size:12px;color:var(--dampad)}.block{display:block}.stark{font-weight:500}.mitt{text-align:center}.hoger{text-align:right}.tal{font-variant-numeric:tabular-nums}.nowrap{white-space:nowrap}.vaxer{flex:1 1 320px;min-width:0;display:flex;flex-direction:column}.skal{min-height:100vh;display:flex;flex-wrap:wrap;align-items:stretch}.sidomeny{flex:1 1 220px;max-width:100%;padding:24px 16px;display:flex;flex-direction:column;gap:20px;background:var(--djup);color:var(--vit)}.yta{flex:999 1 560px;min-width:0;padding:32px 40px 64px}.bredd{max-width:1120px;display:flex;flex-direction:column;gap:20px}.bredd.bred{max-width:1440px}.logga{display:flex;align-items:center;gap:10px;padding:0 8px;text-decoration:none;color:var(--vit);font-family:var(--rubrik);font-size:24px;font-weight:600;letter-spacing:-.02em}.logga.mork{color:var(--djup);padding:0}.sidomeny nav{display:flex;flex-direction:column;gap:2px}.menyval{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:40px;padding:8px 10px;border-radius:8px;text-decoration:none;color:#ffffffd1}.menyval:hover{color:var(--vit);background:#ffffff14}.menyval.vald{background:#ffffff24;color:var(--vit);font-weight:600}.menyval.kommer{color:#ffffff8c}.bricka{padding:0 7px;border-radius:999px;border:1px solid rgba(255,255,255,.3);font-size:11px;line-height:18px;font-weight:400}.anvandare{margin-top:auto;padding:12px 8px 0;border-top:1px solid rgba(255,255,255,.15);display:flex;flex-direction:column;gap:2px;font-size:12px}.anvandare .namn{font-weight:600;font-size:13px;overflow-wrap:anywhere}.anvandare .roll{color:#ffffffb3}.lank{align-self:flex-start;margin-top:6px;padding:4px 0;border:0;background:transparent;color:inherit;text-decoration:underline;font-size:12px;cursor:pointer}.sidhuvud{display:flex;flex-direction:column;gap:6px}.omrade{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--dampad)}.under{color:var(--dampad);max-width:680px}.tillbaka{order:-1;font-size:13px;text-decoration:none}.brickor{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding-top:4px}.bricka-ram,.bricka-fylld{padding:2px 10px;border-radius:999px;font-size:12px;white-space:nowrap}.bricka-ram{border:1px solid var(--kant);background:var(--vit)}.bricka-fylld{background:#e3efea}.flikar{display:flex;flex-wrap:wrap;gap:4px 20px;border-bottom:1px solid var(--kant)}.flik{padding:10px 2px;margin-bottom:-1px;min-height:44px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--dampad);cursor:pointer}.flik.vald{border-bottom-color:var(--djup);color:var(--djup);font-weight:600}.filter{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:13px}.filter select{padding:7px 10px;border:1px solid #C9D2D7;border-radius:8px;background:var(--vit);color:var(--text)}.kryss{display:inline-flex;align-items:center;gap:6px;min-height:36px}.stapel{display:flex;flex-direction:column;gap:12px}.kort{padding:20px;background:var(--vit);border:1px solid var(--kant);border-radius:12px;display:flex;flex-direction:column;gap:12px}.kort-rutnat{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px}.kort-rutnat .knapp{align-self:flex-start;margin-top:auto}.tva{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}.tva .bred{flex:2 1 420px;min-width:0}.tva .kort:not(.bred){flex:1 1 240px;min-width:0}.rutnat{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.ruta{padding:16px;background:var(--vit);border:1px solid var(--kant);border-radius:12px;display:flex;flex-direction:column;gap:4px}.ruta .etikett{font-size:12px;color:var(--dampad)}.ruta .siffra{font-family:var(--rubrik);font-size:26px;font-weight:600;font-variant-numeric:tabular-nums}.rad-kort{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:14px 16px;background:var(--vit);border:1px solid var(--kant);border-radius:12px}.prick{flex:none;width:9px;height:9px;border-radius:50%;background:#7a8a93}.prick.a-fel{background:var(--fel)}.prick.a-varning{background:#b7791f}.par{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 16px}.par dt{color:var(--dampad)}.par dd{margin:0;overflow-wrap:anywhere}.par.lodrat{grid-template-columns:1fr;gap:2px}.par.lodrat dt{font-size:12px;margin-top:10px}.par.lodrat dt:first-child{margin-top:0}.par .rubrik{font-family:var(--rubrik);font-size:18px;font-weight:600}.chip-rutnat{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}.chip-rad{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border:1px solid var(--kant);border-radius:8px;font-size:13px}.status{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:500;white-space:nowrap;background:#eef1f3;color:#3f504d}.s-live{background:var(--ok-bak);color:var(--ok)}.s-paused{background:var(--varning-bak);color:var(--varning)}.s-scheduled{background:#e3efea;color:var(--djup)}.s-fel{background:var(--fel-bak);color:var(--fel)}.tabell-ram{overflow-x:auto;background:var(--vit);border:1px solid var(--kant);border-radius:12px}.tabell-ram.utan-ram{border:0;border-radius:0}table{width:100%;border-collapse:collapse}th{text-align:left;padding:10px 16px;border-bottom:1px solid var(--kant);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--dampad);white-space:nowrap}th.hoger{text-align:right}td{padding:12px 16px;border-bottom:1px solid var(--kant-ljus);vertical-align:top}tr:last-child td{border-bottom:0}.utan-ram th:first-child,.utan-ram td:first-child{padding-left:0}.utan-ram th:last-child,.utan-ram td:last-child{padding-right:0}.radlank{font-weight:500;text-decoration:none}.radlank:hover{text-decoration:underline}.knapp{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 14px;border:1px solid var(--kant);border-radius:8px;background:var(--vit);color:var(--djup);font-size:13px;font-weight:500;text-decoration:none;cursor:pointer}.knapp:hover{border-color:var(--djup);color:var(--djup)}.knapp.primar{background:var(--djup);border-color:var(--djup);color:var(--vit);min-height:44px;font-size:14px}.knapp:disabled{opacity:.55;cursor:default}.besked{padding:12px 16px;border-radius:8px;background:var(--vit);border:1px solid var(--kant)}.besked.fel{background:var(--fel-bak);border-color:transparent;color:var(--fel)}.besked.klar{background:var(--ok-bak);border-color:transparent;color:var(--ok)}.manual{margin-top:12px;padding:12px 16px;border:1px dashed #AFC3BC;border-radius:12px;color:#3f504d;font-size:13px}.manual summary{cursor:pointer;font-weight:600;color:var(--djup)}.manual div{display:flex;flex-direction:column;gap:8px;padding-top:10px;max-width:760px}.ensam{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.inloggning{width:100%;max-width:380px;padding:28px;background:var(--vit);border:1px solid var(--kant);border-radius:16px;display:flex;flex-direction:column;gap:14px}.inloggning form{display:flex;flex-direction:column;gap:8px}.inloggning label{font-size:12px;font-weight:600;color:#3f504d}.inloggning input{padding:10px 12px;border:1px solid #C9D2D7;border-radius:8px}@media (max-width: 640px){.yta{padding:20px 16px 48px}.sidomeny{padding:16px;gap:12px}.sidomeny nav{flex-direction:row;flex-wrap:wrap}.anvandare{margin-top:0}}
