:root{--bg: #ffffff;--bg-panel: #f7f8fa;--bg-hover: #eef1f5;--text: #1a2233;--text-dim: #5b6474;--accent: #2563eb;--accent-svag: #dbeafe;--positiv: #15803d;--negativ: #b91c1c;--varning-bg: #fef3c7;--varning-text: #92400e;--fel-bg: #fee2e2;--fel-text: #991b1b;--info-bg: #e0e7ff;--info-text: #3730a3;--kant: #d8dde6;--radie: 8px;--skugga: 0 1px 3px rgba(16, 24, 40, .08)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.45}h1{font-size:20px;margin:0 0 4px}h2{font-size:16px;margin:0 0 8px}h3{font-size:14px;margin:0 0 6px}button{font:inherit;cursor:pointer;border:1px solid var(--kant);background:var(--bg);color:var(--text);border-radius:var(--radie);padding:6px 12px}button:hover{background:var(--bg-hover)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.primar{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}button.primar:hover{background:#1d4ed8}button.diskret{border:none;background:transparent;color:var(--accent);padding:2px 6px}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--kant);border-radius:6px;padding:6px 8px}label{font-size:12px;color:var(--text-dim);display:block;margin-bottom:2px}.app{display:flex;min-height:100vh}.sidnav{width:210px;flex-shrink:0;border-right:1px solid var(--kant);background:var(--bg-panel);padding:16px 10px;display:flex;flex-direction:column;gap:2px}.sidnav .logotyp{font-weight:700;font-size:15px;padding:6px 10px 14px}.sidnav button{text-align:left;border:none;background:transparent;padding:8px 10px;border-radius:6px;color:var(--text);width:100%}.sidnav button:hover{background:var(--bg-hover)}.sidnav button.aktiv{background:var(--accent-svag);color:var(--accent);font-weight:600}.sidnav .not{margin-top:auto;font-size:11px;color:var(--text-dim);padding:8px 10px}.innehall{flex:1;padding:20px 24px 60px;min-width:0}@media (max-width: 900px){.app{flex-direction:column}.sidnav{width:100%;flex-direction:row;flex-wrap:wrap;border-right:none;border-bottom:1px solid var(--kant)}.sidnav button{width:auto}.sidnav .not{display:none}}.panel{background:var(--bg);border:1px solid var(--kant);border-radius:var(--radie);box-shadow:var(--skugga);padding:14px 16px;margin-bottom:16px}.kpi-rad{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:16px}.kpi-kort{background:var(--bg);border:1px solid var(--kant);border-radius:var(--radie);box-shadow:var(--skugga);padding:12px 14px}.kpi-kort .etikett{font-size:12px;color:var(--text-dim)}.kpi-kort .varde{font-size:20px;font-weight:700;margin-top:2px}.kpi-kort .varde.positiv{color:var(--positiv)}.kpi-kort .varde.negativ{color:var(--negativ)}.diagram-rutnat{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:16px}@media (max-width: 600px){.diagram-rutnat{grid-template-columns:1fr}}.badge{display:inline-block;font-size:11px;font-weight:600;border-radius:999px;padding:1px 8px;margin-right:4px;white-space:nowrap}.badge.varning{background:var(--varning-bg);color:var(--varning-text)}.badge.fel{background:var(--fel-bg);color:var(--fel-text)}.badge.info{background:var(--info-bg);color:var(--info-text)}.badge.ok{background:#dcfce7;color:#166534}.badge.neutral{background:var(--bg-hover);color:var(--text-dim)}table.datatabell{width:100%;border-collapse:collapse;font-size:13px}.datatabell th{text-align:left;border-bottom:2px solid var(--kant);padding:6px 8px;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;position:sticky;top:0;background:var(--bg)}.datatabell td{border-bottom:1px solid var(--kant);padding:5px 8px;vertical-align:top}.datatabell tbody tr:hover{background:var(--bg-hover);cursor:pointer}.datatabell td.tal,.datatabell th.tal{text-align:right;font-variant-numeric:tabular-nums}.belopp-positiv{color:var(--positiv)}.belopp-negativ{color:var(--negativ)}.tabell-rullning{overflow:auto;max-height:65vh;border:1px solid var(--kant);border-radius:var(--radie)}.filterrad{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;background:var(--bg-panel);border:1px solid var(--kant);border-radius:var(--radie);padding:10px 12px;margin-bottom:16px}.filterrad .falt{min-width:130px}.filteretiketter{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.filteretikett{background:var(--accent-svag);color:var(--accent);border-radius:999px;font-size:12px;padding:2px 10px;display:inline-flex;align-items:center;gap:6px}.filteretikett button{border:none;background:none;color:inherit;padding:0;font-weight:700}.slappyta{border:2px dashed var(--kant);border-radius:var(--radie);padding:40px;text-align:center;color:var(--text-dim);background:var(--bg-panel);transition:border-color .15s,background .15s}.slappyta.aktiv{border-color:var(--accent);background:var(--accent-svag)}.detaljpanel{position:fixed;top:0;right:0;width:min(420px,100vw);height:100vh;background:var(--bg);border-left:1px solid var(--kant);box-shadow:-4px 0 16px #1018281f;padding:20px;overflow-y:auto;z-index:50}.detaljpanel dl{display:grid;grid-template-columns:140px 1fr;gap:4px 10px;margin:0}.detaljpanel dt{color:var(--text-dim);font-size:12px}.detaljpanel dd{margin:0;font-size:13px;word-break:break-word}.formular-rutnat{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px 14px}.formular-rutnat .helbredd{grid-column:1 / -1}.knapprad{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.tomlage{text-align:center;color:var(--text-dim);padding:48px 20px}.tomlage .ikon{font-size:32px;margin-bottom:8px}.fel-ruta{background:var(--fel-bg);color:var(--fel-text);border-radius:var(--radie);padding:10px 14px;margin-bottom:12px}.varning-ruta{background:var(--varning-bg);color:var(--varning-text);border-radius:var(--radie);padding:10px 14px;margin-bottom:12px}.sid-topp{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:14px}.undertext{color:var(--text-dim);font-size:13px}@media print{.sidnav,.filterrad,button,.detaljpanel{display:none!important}.innehall{padding:0}.panel,.kpi-kort{box-shadow:none;break-inside:avoid}body{font-size:12px}}.login-sida{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bakgrund, #f8fafc)}.login-kort{background:#fff;border:1px solid var(--kantlinje, #e2e8f0);border-radius:10px;padding:2rem 2.25rem;width:min(92vw,22rem);display:flex;flex-direction:column;gap:.4rem;box-shadow:0 4px 16px #0f172a0f}.login-kort h1{font-size:1.25rem;margin:0 0 .25rem}.login-under{color:var(--dampad, #64748b);margin:0 0 .75rem;font-size:.9rem}.login-kort label{font-size:.85rem;font-weight:600}.login-kort input{padding:.5rem .65rem;border:1px solid var(--kantlinje, #cbd5e1);border-radius:6px;font-size:.95rem;margin-bottom:.5rem}.login-kort button[type=submit]{margin-top:.5rem;padding:.6rem;border:none;border-radius:6px;background:var(--accent, #1d4ed8);color:#fff;font-weight:600;cursor:pointer}.login-kort button[type=submit]:disabled{opacity:.5;cursor:default}.login-fel{color:#b91c1c;font-size:.85rem;margin:.25rem 0 0}.anvandarrad{margin-top:auto;padding-top:.75rem;border-top:1px solid var(--kantlinje, #e2e8f0);display:flex;flex-direction:column;gap:.4rem;font-size:.8rem}.anvandarnamn{color:var(--dampad, #64748b)}.logga-ut{align-self:flex-start;padding:.3rem .7rem;border:1px solid var(--kantlinje, #cbd5e1);border-radius:6px;background:transparent;cursor:pointer;font-size:.8rem}.underflikar{display:flex;gap:.25rem;border-bottom:1px solid var(--kantlinje, #e2e8f0);margin:.5rem 0 1rem;flex-wrap:wrap}.underflikar button{border:none;background:transparent;padding:.5rem .9rem;cursor:pointer;border-bottom:2px solid transparent;color:var(--dampad, #64748b);font-size:.9rem}.underflikar button.aktiv{color:var(--accent, #1d4ed8);border-bottom-color:var(--accent, #1d4ed8);font-weight:600}.sammanstallning .kpi-rad{display:flex;flex-wrap:wrap;gap:1.5rem}.sammanstallning .kpi{display:flex;flex-direction:column;gap:.2rem}.sammanstallning .kpi-etikett{font-size:.8rem;color:var(--dampad, #64748b)}.sammanstallning .kpi-varde{font-size:1.15rem;font-weight:700}.detalj-rutnat{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem 1.5rem;margin:.5rem 0 1rem}.detalj-rutnat>div{display:flex;flex-direction:column}.detalj-rutnat .helbredd{grid-column:1 / -1}.detalj-rutnat dt{font-size:.78rem;color:var(--dampad, #64748b)}.detalj-rutnat dd{margin:0;font-weight:600}.vald-rad{background:var(--markering, #eff6ff)}.rakneexempel{margin-top:1rem;padding:1rem 1.25rem;background:var(--markering, #f8fafc);border:1px solid var(--kantlinje, #e2e8f0);border-radius:8px}.rakneexempel h3{margin:0 0 .75rem;font-size:1rem}.rakneexempel dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.5rem 1.5rem;margin:0}.rakneexempel dl>div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px dashed var(--kantlinje, #e2e8f0);padding:.25rem 0}.rakneexempel dt{color:var(--dampad, #475569);font-size:.88rem}.rakneexempel dd{margin:0;font-weight:700;white-space:nowrap}.regelforslag{margin-top:12px;padding:.85rem 1rem;background:var(--markering, #eff6ff);border:1px solid var(--accent, #1d4ed8);border-radius:8px}.regelforslag p{margin:0 0 .5rem}.regel-status{margin-top:10px;padding:.6rem .85rem;background:#ecfdf5;border:1px solid #10b981;border-radius:6px;font-size:.9rem}
