:root{--bg:#f4f6f7;--surface:#ffffff;--surface-raised:#eceff1;--text:#1b2226;--text-muted:#5b6870;--border:#d8dee1;--accent:#2b5e73;--accent-text:#ffffff;--danger:#b3261e;--shift-f:#c08a2e;--shift-f-bg:#f5e9d2;--shift-e:#b5502f;--shift-e-bg:#f5e0d6;--shift-n:#35577a;--shift-n-bg:#e1e7ee;--shift-off:#6b7580;--shift-off-bg:#eaedef;--ob-helg:#8a6d1e;--ob-helg-bg:#f1e9d3;--radius:10px;--radius-sm:8px;--shadow:0 1px 2px rgba(27,34,38,0.06),0 4px 10px rgba(27,34,38,0.05);--shadow-raised:0 2px 6px rgba(27,34,38,0.08),0 8px 20px rgba(27,34,38,0.06);--fs-display:2.1rem;--fs-h1:1.5rem;--fs-h2:1.05rem;--ease-spring:cubic-bezier(0.16,1,0.3,1)}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}[id]{scroll-margin-top:5rem}.tabular{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"lnum" 1,"tnum";font-family:Consolas,Cascadia Mono,SFMono-Regular,ui-monospace,monospace}a{color:inherit}button{font:inherit}.page{max-width:640px;margin:0 auto;padding:1.25rem 1.25rem calc(5.5rem + env(safe-area-inset-bottom))}@media (min-width:860px){.page{padding:6.5rem 1.5rem 2.5rem}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.2rem;box-shadow:var(--shadow)}.card+.card{margin-top:.9rem}.eyebrow{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .4rem}.eyebrow,h1{font-weight:700}h1{font-size:var(--fs-h1);letter-spacing:-.015em;line-height:1.15;margin:0 0 1.1rem}h2{font-size:var(--fs-h2);font-weight:700;letter-spacing:-.005em;margin:0 0 .6rem;line-height:1.25}.muted{color:var(--text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;width:100%;padding:.85rem 1rem;border-radius:var(--radius);border:1px solid transparent;background:var(--accent);color:var(--accent-text);font-weight:600;font-size:.98rem;cursor:pointer}.btn:active{opacity:.85}.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn.secondary{background:transparent;border-color:var(--border);color:var(--text)}.field{margin-bottom:1.1rem}.field label{display:block;font-size:.88rem;font-weight:600;margin-bottom:.4rem}.field input,.field select,.field textarea,.input-inline{width:100%;padding:.7rem .8rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:1rem;font-family:inherit}.field input:focus,.field select:focus,.field textarea:focus,.input-inline:focus{outline:2px solid var(--accent);outline-offset:1px}.field textarea{resize:vertical}.shift-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.28rem .65rem;border-radius:999px;font-size:.85rem;font-weight:700}.shift-pill.f{color:var(--shift-f);background:var(--shift-f-bg)}.shift-pill.e{color:var(--shift-e);background:var(--shift-e-bg)}.shift-pill.n{color:var(--shift-n);background:var(--shift-n-bg)}.shift-pill.off{color:var(--shift-off);background:var(--shift-off-bg)}.row-between{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.amount{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.amount.negative{color:var(--danger)}.divider{height:1px;background:var(--border);margin:.8rem 0}.btn-inline{width:auto;padding:.5rem .9rem}.section-heading{margin-top:1.6rem}.text-note{font-size:.85rem}.text-footnote{font-size:.82rem}.table-scroll{overflow-x:auto}.offline-banner{position:-webkit-sticky;position:sticky;top:0;z-index:10;padding:.5rem 1rem;text-align:center;font-size:.85rem;font-weight:600;background:var(--danger);color:var(--accent-text)}.lag-select{width:auto;padding:.5rem .8rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);font-weight:700;font-size:.95rem}.schema-toolbar{position:-webkit-sticky;position:sticky;top:0;z-index:15;margin:-1.25rem -1.25rem 1rem;padding:.85rem 1.25rem;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:saturate(140%) blur(8px);-webkit-backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--border)}.schema-toolbar-rad{gap:.6rem;flex-wrap:wrap;justify-content:space-between}.month-nav,.schema-toolbar-rad{display:flex;align-items:center}.month-nav{gap:.5rem}.month-nav .btn-inline{font-size:1.1rem;line-height:1;padding:.4rem .75rem;min-width:2.1rem;justify-content:center}.month-nav-label{font-weight:700;min-width:8rem;text-align:center}@media (min-width:860px){.schema-toolbar{top:3.4rem;margin:-6.5rem -1.5rem 1rem;padding:.85rem 1.5rem;border-bottom:1px solid var(--border)}}.weekday-row{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:.35rem;gap:.35rem;margin-bottom:.5rem}.weekday-row span{text-align:center;font-size:.72rem;font-weight:600;color:var(--text-muted)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:.35rem;gap:.35rem}.cal-cell{position:relative;aspect-ratio:1;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;font-family:inherit;cursor:pointer;padding:.2rem}.cal-cell.blank{visibility:hidden;cursor:default}.cal-cell:not(.blank){transition:transform 90ms ease,background .1s ease,outline-offset .1s ease}.cal-cell:not(.blank):active{transform:scale(.95)}.cal-cell .num{font-size:.7rem;color:var(--text-muted)}.cal-cell .code{font-size:.95rem;font-weight:700}.cal-cell.f{background:var(--shift-f-bg);color:var(--shift-f)}.cal-cell.e{background:var(--shift-e-bg);color:var(--shift-e)}.cal-cell.n{background:var(--shift-n-bg);color:var(--shift-n)}.cal-cell.off{color:var(--text-muted)}.cal-cell.off .code{font-weight:400}.cal-cell.today{outline:2px solid var(--text);outline-offset:1px}.cal-cell.selected{outline:2px solid var(--accent);outline-offset:1px}.cal-cell.multi-selected{outline:2.5px solid var(--accent);outline-offset:0;background:color-mix(in srgb,var(--accent) 20%,var(--surface))}.cal-cell.multi-selected,.cal-cell.multi-selected .num{color:var(--accent);font-weight:700}.cal-cell.multi-selected .code{font-weight:700}.cal-cell.range-start{outline:3px solid var(--accent);outline-offset:-1px;background:color-mix(in srgb,var(--accent) 30%,var(--surface))}.cal-cell.range-start:after{content:"";position:absolute;inset:2px;border-radius:50%;border:2px dashed var(--accent);pointer-events:none}.cal-kort.select-mode .cal-cell:not(.blank):not(.multi-selected){background:var(--surface)}.cal-kort.select-mode .cal-cell:not(.blank){transition:transform 90ms ease,background 90ms ease}.cal-kort.select-mode .cal-cell:active{transform:scale(.94)}@media (prefers-reduced-motion:no-preference){.cal-cell{transition:outline-offset .1s ease,background .1s ease}}.info-innehall-lista{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr;grid-gap:.3rem;gap:.3rem}.info-innehall-lista li{font-size:.92rem}.info-innehall-lista li.aktiv>a{color:var(--accent);font-weight:700;padding-left:.6rem;border-left:3px solid var(--accent)}.info-innehall-lista a{color:var(--text-muted);text-decoration:none;display:block;border-left:3px solid transparent;padding:.18rem 0 .18rem .6rem;transition:color .1s ease,border-color .1s ease}.info-innehall-lista a:hover{color:var(--accent)}@media (min-width:860px){.info-innehall-kort{max-height:none}.info-innehall-lista{grid-template-columns:1fr}}.tillbaka-upp{position:fixed;right:1rem;bottom:calc(5rem + env(safe-area-inset-bottom));z-index:18;width:42px;height:42px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--accent);box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .12s ease,border-color .12s ease}.tillbaka-upp:hover{border-color:var(--accent);transform:translateY(-2px)}@media (min-width:860px){.tillbaka-upp{bottom:2rem;right:2rem}}.manads-stapel{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:.3rem;gap:.3rem;height:110px;margin-top:1rem}.manads-stapel-kolumn{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end;min-width:0}.manads-stapel-spalte{flex:1 1;display:flex;align-items:flex-end;justify-content:center;min-height:0}.manads-stapel-stapel{width:100%;background:var(--surface-raised);border-top-left-radius:3px;border-top-right-radius:3px;transition:height .25s ease}.manads-stapel-stapel.aktiv{background:var(--accent)}.manads-stapel-etikett{font-size:.66rem;color:var(--text-muted);text-align:center;margin-top:.25rem}@media (min-width:640px){.manads-stapel{height:140px}.manads-stapel-etikett{font-size:.72rem}}.lon-hero{display:flex;flex-direction:column;gap:.7rem}.lon-hero-belopp{font-size:2.1rem;font-weight:700;letter-spacing:-.01em;line-height:1.1}.ob-stapel-block{display:flex;flex-direction:column;gap:.5rem}.ob-stapel{display:flex;width:100%;height:8px;border-radius:4px;overflow:hidden;background:var(--surface-raised)}.ob-stapel-del{display:block;height:100%;min-width:2px;transition:width .2s ease}.ob-stapel-legend{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.4rem 1rem;font-size:.82rem}.ob-stapel-legend li{display:inline-flex;align-items:center;gap:.4rem}.ob-stapel-punkt{width:8px;height:8px;border-radius:50%;display:inline-block}.ob-stapel-legend .amount{font-size:.82rem}.kalender-block{position:relative}.kalender-verktygsrad{display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem;flex-wrap:wrap}.notis-banner{background:color-mix(in srgb,var(--accent) 12%,var(--surface));border:1px solid var(--accent);color:var(--text);border-radius:var(--radius-sm);padding:.55rem .8rem;font-size:.88rem;margin-bottom:.7rem}.verktyg-tagg{font:inherit;font-size:.85rem;font-weight:600;padding:.45rem .85rem;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;transition:background .1s ease,color .1s ease,border-color .1s ease}.verktyg-tagg.aktiv,.verktyg-tagg:hover{border-color:var(--accent)}.verktyg-tagg.aktiv{background:var(--accent);color:var(--accent-text)}.batch-edit-sheet{position:fixed;left:0;right:0;bottom:0;background:var(--surface);border-top:1px solid var(--border);border-radius:16px 16px 0 0;padding:1rem 1.2rem calc(1.2rem + env(safe-area-inset-bottom));z-index:26;box-shadow:0 -8px 24px rgba(20,24,27,.2);max-height:75vh;overflow-y:auto;animation:sheet-up .2s ease-out}@media (prefers-reduced-motion:reduce){.batch-edit-sheet{animation:none}}@media (min-width:640px){.batch-edit-sheet{position:static;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-top:.9rem;max-height:none;padding:1.1rem 1.2rem;animation:none}.batch-edit-sheet .handle{display:none}}.cal-cell .tier-stripe{position:absolute;left:2px;right:2px;bottom:2px;height:5px;border-radius:2px}.cal-cell .tier-stripe.lordag{background:#3d6f80}.cal-cell .tier-stripe.sondag{background:#c1631f}.cal-cell .tier-stripe.storhelg{height:7px;background:#d49d0a;box-shadow:0 0 0 1px rgba(27,34,38,.12)}.cal-cell .dev-dot{position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:50%;background:var(--accent)}.day-edit-backdrop{position:fixed;inset:0;background:rgba(20,24,27,.4);z-index:25}.day-edit-sheet{position:fixed;left:0;right:0;bottom:0;background:var(--surface);border-top:1px solid var(--border);border-radius:16px 16px 0 0;padding:1rem 1.2rem calc(1.2rem + env(safe-area-inset-bottom));z-index:26;box-shadow:0 -8px 24px rgba(20,24,27,.2);max-height:75vh;overflow-y:auto;animation:sheet-up .2s var(--ease-spring)}@keyframes sheet-up{0%{transform:translateY(100%);opacity:.6}to{transform:translateY(0);opacity:1}}@media (prefers-reduced-motion:reduce){.day-edit-sheet{animation:none}}.day-edit-sheet .handle{width:34px;height:4px;background:var(--border);border-radius:2px;margin:0 auto .9rem}@media (min-width:640px){.day-edit-backdrop{display:none}.day-edit-sheet{position:static;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-top:.9rem;max-height:none;padding:1.1rem 1.2rem}.day-edit-sheet .handle{display:none}}.chip-row{display:flex;flex-wrap:wrap;gap:.5rem}.chip{border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:inherit;font-size:.85rem;font-weight:600;padding:.5rem .85rem;border-radius:999px;cursor:pointer}.chip.active{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.chip.danger{border-color:var(--danger);color:var(--danger)}.app-nav{position:fixed;left:0;right:0;bottom:0;top:auto;display:flex;border-top:1px solid var(--border);border-bottom:none;background:var(--surface);padding-bottom:env(safe-area-inset-bottom);z-index:20}.app-nav a{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.65rem 0 .55rem;text-decoration:none;font-size:.75rem;color:var(--text-muted)}.app-nav a.active{color:var(--accent);font-weight:700}.app-nav a{transition:color .15s ease,border-color .15s ease}.nav-icon{width:22px;height:22px}@media (min-width:860px){.app-nav{top:0;bottom:auto;left:0;right:0;border-top:none;border-bottom:1px solid var(--border);padding-bottom:0;justify-content:center;gap:.5rem}.app-nav a{flex:0 0 auto;flex-direction:row;padding:1rem 1.1rem;gap:.5rem;font-size:.88rem;border-bottom:2px solid transparent}.app-nav a.active{border-bottom-color:var(--accent)}.nav-icon{width:18px;height:18px}}.laddar{display:flex;align-items:center;gap:.7rem;padding:1.5rem 0;color:var(--text-muted)}.laddar-spin{width:18px;height:18px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--accent);animation:laddar-rotation .7s linear infinite}@keyframes laddar-rotation{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.laddar-spin{animation-duration:2s}}.verktyg-lista{display:flex;flex-direction:column;gap:.9rem;margin-top:1rem}.verktyg-kort{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;grid-column-gap:.8rem;column-gap:.8rem;align-items:center;text-decoration:none;color:inherit;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}.verktyg-kort:hover{border-color:var(--accent);box-shadow:0 2px 6px rgba(43,94,115,.08)}.verktyg-kort:active{transform:scale(.99)}.verktyg-namn{grid-row:1;grid-column:1;font-weight:700;font-size:1.05rem}.verktyg-pil{grid-row:1;grid-column:2;color:var(--accent);display:flex}.verktyg-beskrivning{grid-row:2;grid-column:1/-1;margin:.2rem 0 0}@media print{.app-nav,.btn,.offline-banner,a.btn{display:none!important}:root{--bg:#ffffff;--surface:#ffffff;--surface-raised:#f2f2f2;--text:#101010;--text-muted:#4a4a4a;--border:#b8b8b8}.page{max-width:none;padding:0}.card{border:1px solid #ccc;box-shadow:none;page-break-inside:avoid;break-inside:avoid}}