/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.inline-flex{display:inline-flex}.table{display:table}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--ink:#14271e;--ink-2:#44544b;--ink-3:#73827a;--ink-soft:#1e3a2c;--line:#dce4df;--line-soft:#e9efea;--bg:#f7faf7;--surface:#fff;--accent:#c9921a;--accent-deep:#8a650e;--accent-deep-hover:#745409;--accent-tint:#faf3e0;--blue:#6fa293;--blue-deep:#2c6b52;--blue-tint:#eaf3ee;--st-ny-text:#2c657c;--st-ny-bg:#eaf2f6;--st-ny-dot:#4e8ca6;--st-kontaktad-text:#8a5800;--st-kontaktad-bg:#fbf1de;--st-kontaktad-dot:#c8861a;--st-dialog-text:#574a92;--st-dialog-bg:#efedf8;--st-dialog-dot:#7b6dc2;--st-mote-text:#0f6e66;--st-mote-bg:#e4f3f1;--st-mote-dot:#1e9c90;--st-kund-text:#1e6f3e;--st-kund-bg:#e6f3ea;--st-kund-dot:#2e9a57;--st-forlorad-text:#5b6770;--st-forlorad-bg:#eef1f4;--st-forlorad-dot:#93a0aa;--ok:#1e6f3e;--warn:#8a5800;--error:#c2230f;--error-bg:#fcedea;--font-ui:"Montserrat",system-ui,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,monospace;--radius-s:6px;--radius-m:10px;--radius-l:14px;--shadow-s:0 1px 2px #1e252b0f;--shadow-m:0 4px 16px #1e252b1a;--shadow-l:0 16px 48px #1e252b2e;--sidebar-w:224px}*{box-sizing:border-box}body,html{background:var(--bg);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-size:14px;line-height:1.5}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;font-weight:700}p{margin:0}a{color:var(--blue-deep);text-decoration:none}a:hover{text-decoration:underline}button{font-family:var(--font-ui)}:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:4px}.dark-context :focus-visible,.sidebar :focus-visible{outline-color:#fff}.mono,.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.num{text-align:right}.num.under{color:var(--ink-3)}.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}.small{font-size:12px}.radar-glyph{vertical-align:middle;display:inline-block}.radar-glyph .sweep{transform-origin:50%}@media (prefers-reduced-motion:no-preference){.radar-glyph.live .sweep{animation:radar-sweep 3.2s linear infinite}.radar-glyph.live .blip{animation:radar-blip 3.2s ease-out infinite}}@keyframes radar-sweep{to{transform:rotate(1turn)}}@keyframes radar-blip{0%,55%{opacity:0}62%{opacity:1}to{opacity:0}}.scrim{z-index:140;background:#14191d66;display:none;position:fixed;inset:0}.scrim.show{display:block}.app{grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh;display:grid}.sidebar{background:var(--ink);color:#fff;flex-direction:column;height:100vh;padding:20px 12px 16px;display:flex;position:sticky;top:0}.sidebar .brand{align-items:center;gap:10px;padding:0 10px 18px;display:flex}.sidebar .brand .wordmark{letter-spacing:.12em;font-size:17px;font-weight:800}.sidebar .brand .sub{letter-spacing:.08em;color:#8fa89a;text-transform:uppercase;font-size:10px;font-weight:500;display:block}.nav{flex-direction:column;gap:2px}.nav,.nav a{display:flex}.nav a{border-radius:var(--radius-s);color:#c9d8ce;align-items:center;gap:10px;padding:8px 10px;font-size:13px;font-weight:500;text-decoration:none;position:relative}.nav a:hover{text-decoration:none}.nav a.active,.nav a:hover{background:var(--ink-soft);color:#fff}.nav a.active:before{content:"";background:var(--accent);border-radius:0 2px 2px 0;width:3px;height:18px;position:absolute;top:50%;left:-12px;transform:translateY(-50%)}.nav a .icon{opacity:.85;flex:none;width:16px;height:16px}.nav .divider{border-top:1px solid #2a4437;margin:12px 10px}.nav .nav-label{letter-spacing:.1em;text-transform:uppercase;color:#6f8779;padding:0 10px 6px;font-size:10px;font-weight:600}.sidebar .me{border-top:1px solid #2a4437;align-items:center;gap:10px;margin-top:auto;padding:10px;display:flex}.sidebar .me .who{font-size:12px;line-height:1.3}.sidebar .me .who .role{color:#8fa89a;font-size:11px}.sidebar .me .logout{color:#8fa89a;cursor:pointer;background:0 0;border:none;border-radius:4px;margin-left:auto;padding:4px}.sidebar .me .logout:hover{color:#fff;background:var(--ink-soft)}.avatar{background:var(--blue);color:#112e24;letter-spacing:.02em;border-radius:50%;flex:none;justify-content:center;align-items:center;width:26px;height:26px;font-size:10px;font-weight:700;display:inline-flex}.avatar.a2{color:#3b2800;background:#c8861a}.avatar.a3{color:#fff;background:#7b6dc2}.avatar.a4{color:#fff;background:#2e9a57}img.avatar-img{object-fit:cover;background:var(--line-soft)}.main{min-width:0}.view{max-width:1320px;padding:28px 32px 48px}.view-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.view-head h1{font-size:21px;line-height:1.25}.view-head .lede{color:var(--ink-2);margin-top:4px;font-size:13px}.view-head .actions{align-items:center;gap:8px;display:flex}.btn{border-radius:var(--radius-s);border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:7px;padding:7px 14px;font-size:13px;font-weight:600;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover{background:var(--bg);border-color:#c3d2c8}a.btn:hover{text-decoration:none}.btn:disabled{opacity:.45;cursor:not-allowed}.btn .icon{width:14px;height:14px}.btn-primary{background:var(--ink);border-color:var(--ink);color:#fff}.btn-primary:hover{background:#1f3d2e;border-color:#1f3d2e}.btn-accent{background:var(--accent-deep);border-color:var(--accent-deep);color:#fff}.btn-accent:hover{background:var(--accent-deep-hover);border-color:var(--accent-deep-hover)}.btn-danger{background:var(--surface);color:var(--error);border-color:#ebc4bd}.btn-danger:hover{background:var(--error-bg)}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--line-soft);border-color:#0000}.btn-sm{padding:4px 10px;font-size:12px}.btn.loading{color:#0000;pointer-events:none;position:relative}.btn.loading:after{content:"";border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:14px;height:14px;margin:auto;animation:spin .7s linear infinite;position:absolute;inset:0}.btn.loading.btn-secondary-spinner:after{border-color:#1e252b33;border-top-color:var(--ink)}@keyframes spin{to{transform:rotate(1turn)}}.field{flex-direction:column;gap:5px;display:flex}.field label{color:var(--ink-2);font-size:12px;font-weight:600}.input,.select{font-family:var(--font-ui);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-s);background:var(--surface);min-width:0;padding:7px 10px;font-size:13px}.input::placeholder{color:var(--ink-3)}.input:hover,.select:hover{border-color:#c3d2c8}.input:focus,.select:focus{outline:2px solid var(--ink);outline-offset:0;border-color:var(--ink)}.input[aria-invalid=true]{border-color:var(--error)}.input:disabled,.select:disabled{background:var(--line-soft);color:var(--ink-3);cursor:not-allowed}.field .error-text{color:var(--error);font-size:12px;font-weight:500}.field .hint{color:var(--ink-3);font-size:12px}.input[type=file]{cursor:pointer;padding:6px 10px}.input[type=file]::file-selector-button{font-family:var(--font-ui);color:var(--ink);background:var(--bg);border:1px solid var(--line);cursor:pointer;border-radius:4px;margin-right:10px;padding:3px 10px;font-size:12px;font-weight:600}.input[type=file]::file-selector-button:hover{background:var(--line-soft)}.search{align-items:center;display:inline-flex;position:relative}.search .icon{width:14px;height:14px;color:var(--ink-3);pointer-events:none;position:absolute;left:9px}.search .input{width:240px;padding-left:30px}.switch{flex:none;width:34px;height:20px;display:inline-flex;position:relative}.switch input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.switch .track{pointer-events:none;background:#c3d2c8;border-radius:999px;width:100%;height:100%;transition:background .14s}.switch .track:after{content:"";width:14px;height:14px;box-shadow:var(--shadow-s);background:#fff;border-radius:50%;transition:transform .14s;position:absolute;top:3px;left:3px}.switch input:checked+.track{background:var(--ink)}.switch input:checked+.track:after{transform:translate(14px)}.switch input:focus-visible+.track{outline:2px solid var(--ink);outline-offset:2px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);box-shadow:var(--shadow-s)}.card .card-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.card .card-head h2{font-size:14px}.card .card-body{padding:18px}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;display:grid}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);box-shadow:var(--shadow-s);padding:16px 18px}.kpi .kpi-label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:600}.kpi .kpi-value{font-family:var(--font-mono);letter-spacing:-.03em;margin-top:6px;font-size:26px;font-weight:600;line-height:1.1}.kpi .kpi-meta{color:var(--ink-2);margin-top:6px;font-size:12px}.kpi .kpi-meta .up{color:var(--ok);font-weight:600}.kpi.kpi-accent{border-top:3px solid var(--accent)}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:2px 9px 2px 7px;font-size:11.5px;font-weight:600;display:inline-flex}.badge .dot{border-radius:50%;flex:none;width:7px;height:7px}.badge.st-ny{background:var(--st-ny-bg);color:var(--st-ny-text)}.badge.st-ny .dot{background:var(--st-ny-dot)}.badge.st-kontaktad{background:var(--st-kontaktad-bg);color:var(--st-kontaktad-text)}.badge.st-kontaktad .dot{background:var(--st-kontaktad-dot)}.badge.st-dialog{background:var(--st-dialog-bg);color:var(--st-dialog-text)}.badge.st-dialog .dot{background:var(--st-dialog-dot)}.badge.st-mote{background:var(--st-mote-bg);color:var(--st-mote-text)}.badge.st-mote .dot{background:var(--st-mote-dot)}.badge.st-kund{background:var(--st-kund-bg);color:var(--st-kund-text)}.badge.st-kund .dot{background:var(--st-kund-dot)}.badge.st-forlorad{background:var(--st-forlorad-bg);color:var(--st-forlorad-text)}.badge.st-forlorad .dot{background:var(--st-forlorad-dot)}.badge.st-fel{background:var(--error-bg);color:var(--error)}.badge.st-fel .dot{background:var(--error)}.badge.st-overlamnad{background:var(--st-ny-bg);color:var(--st-ny-text)}.badge.st-overlamnad .dot{background:var(--st-ny-dot)}.badge.st-pagaende{background:var(--st-dialog-bg);color:var(--st-dialog-text)}.badge.st-pagaende .dot{background:var(--st-dialog-dot)}.badge.st-klar{background:var(--st-kund-bg);color:var(--st-kund-text)}.badge.st-klar .dot{background:var(--st-kund-dot)}.pill{border:1px solid var(--line);background:var(--surface);border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.pill .dot{border-radius:50%;width:7px;height:7px}.pill.ok{background:var(--st-kund-bg);color:var(--st-kund-text);border-color:#bfe0cb}.pill.ok .dot{background:var(--st-kund-dot)}.pill.err{background:var(--error-bg);color:var(--error);border-color:#ebc4bd}.pill.err .dot{background:var(--error)}.table-shell{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);box-shadow:var(--shadow-s);overflow:hidden}.table-toolbar{border-bottom:1px solid var(--line-soft);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;display:flex}.table-toolbar .spacer{flex:1}.table-toolbar .result-count{color:var(--ink-2);white-space:nowrap;font-size:12px}.table-wrap{overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:13px}table.data th{text-align:left;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);border-bottom:1px solid var(--line);white-space:nowrap;-webkit-user-select:none;user-select:none;background:#fafcfa;padding:9px 12px;font-size:11px;font-weight:700}table.data th.num{text-align:right}table.data th.sortable{cursor:pointer;padding:0}table.data th.sortable a{color:inherit;padding:9px 12px;text-decoration:none;display:block}table.data th.sortable:hover{color:var(--ink)}table.data th .sort-arrow{color:var(--accent-deep);margin-left:4px;font-size:9px}table.data td{border-bottom:1px solid var(--line-soft);white-space:nowrap;vertical-align:middle;height:40px;padding:0 12px}table.data tbody tr.clickable{cursor:pointer}table.data tbody tr:hover{background:#f2f7f3}table.data tbody tr:last-child td{border-bottom:none}table.data .org{color:var(--ink-2);font-size:12px}table.data .namn{font-weight:600}table.data .ansvarig-cell{align-items:center;gap:8px;height:40px;display:flex}.qual-mark{background:var(--accent);vertical-align:1px;border-radius:50%;width:6px;height:6px;margin-left:6px;display:inline-block}.pagination{border-top:1px solid var(--line-soft);color:var(--ink-2);gap:6px;padding:10px 14px;font-size:12px}.pagination,.pagination .pages{align-items:center;display:flex}.pagination .pages{gap:4px;margin-left:auto}.pagination .pages .gap{font-family:var(--font-mono);color:var(--ink-3);padding:0 2px}.pagination a,.pagination button{border-radius:var(--radius-s);min-width:28px;height:28px;color:var(--ink-2);cursor:pointer;font-size:12px;font-weight:600;font-family:var(--font-mono);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.pagination a:hover,.pagination button:hover{background:var(--line-soft);text-decoration:none}.pagination a.current,.pagination button.current{background:var(--ink);color:#fff}.pagination button:disabled{opacity:.4;cursor:not-allowed}.empty{text-align:center;color:var(--ink-2);padding:48px 24px}.empty .empty-icon{color:#aeb9c2;margin-bottom:12px}.empty h3{color:var(--ink);margin-bottom:4px;font-size:14px}.empty p{max-width:360px;margin:0 auto;font-size:13px}.empty .btn{margin-top:16px}.skeleton{background:linear-gradient(90deg,var(--line-soft) 25%,#f4f7f9 37%,var(--line-soft) 63%);background-size:400% 100%;border-radius:4px;height:12px;display:inline-block}@media (prefers-reduced-motion:no-preference){.skeleton{animation:shimmer 1.4s infinite}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.progress{background:var(--line-soft);border-radius:999px;height:10px;overflow:hidden}.progress span{background:var(--accent);border-radius:999px;min-width:4px;height:100%;transition:width .3s;display:block}.banner{border-radius:var(--radius-s);border:1px solid;align-items:flex-start;gap:10px;padding:12px 14px;font-size:13px;display:flex}.banner .icon{flex:none;width:16px;height:16px;margin-top:1px}.banner.error{background:var(--error-bg);color:#7e2114;border-color:#ebc4bd}.banner.error strong{color:var(--error)}.banner.info{background:var(--blue-tint);color:#25513f;border-color:#c6dcd0}.toast-stack{z-index:300;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.toast{background:var(--ink);color:#fff;border-radius:var(--radius-s);box-shadow:var(--shadow-m);align-items:center;gap:10px;min-width:260px;max-width:360px;padding:11px 14px;font-size:13px;font-weight:500;display:flex}@media (prefers-reduced-motion:no-preference){.toast{animation:toast-in .2s}}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.toast .t-dot{border-radius:50%;flex:none;width:8px;height:8px}.toast.ok .t-dot{background:#4cc57e}.toast.err .t-dot{background:#e25a4a}.toast.info .t-dot{background:var(--blue)}.toast .t-close{color:#8fa89a;cursor:pointer;background:0 0;border:none;margin-left:auto;padding:2px 4px;font-size:14px;line-height:1}.toast .t-close:hover{color:#fff}.modal-backdrop{z-index:200;background:#14191d73;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}.modal-backdrop.open{display:flex}.modal{background:var(--surface);border-radius:var(--radius-l);box-shadow:var(--shadow-l);width:100%;max-width:440px}@media (prefers-reduced-motion:no-preference){.modal-backdrop.open .modal{animation:modal-in .16s}}@keyframes modal-in{0%{opacity:0;transform:translateY(10px)scale(.98)}}.modal .modal-head{padding:18px 20px 0}.modal .modal-head h2{font-size:16px}.modal .modal-body{color:var(--ink-2);flex-direction:column;gap:12px;padding:12px 20px 4px;font-size:13px;display:flex}.modal .modal-foot{justify-content:flex-end;gap:8px;padding:16px 20px 18px;display:flex}.login-screen{background:var(--ink);min-height:100vh;padding:24px;position:relative;overflow:hidden}.login-rings,.login-screen{justify-content:center;align-items:center;display:flex}.login-rings{pointer-events:none;position:absolute;inset:0}.login-card{background:var(--surface);border-radius:var(--radius-l);box-shadow:var(--shadow-l);width:100%;max-width:380px;padding:32px 32px 28px;position:relative}.login-card .brandline{align-items:center;gap:12px;margin-bottom:6px;display:flex}.login-card .wordmark{letter-spacing:.12em;font-size:20px;font-weight:800}.login-card .tagline{color:var(--ink-2);margin-bottom:24px;font-size:13px}.login-card form{flex-direction:column;gap:14px;display:flex}.login-card .foot{color:var(--ink-3);text-align:center;margin-top:18px;font-size:12px}.dash-grid{grid-template-columns:1.6fr 1fr;align-items:start;gap:14px;display:grid}.pipe-bar{border-radius:999px;height:14px;margin:6px 0 14px;display:flex;overflow:hidden}.pipe-bar span{height:100%;display:block}.pipe-legend{grid-template-columns:1fr 1fr;gap:6px 16px;font-size:12.5px;display:grid}.pipe-legend .row{color:var(--ink-2);align-items:center;gap:8px;display:flex}.pipe-legend .dot{border-radius:50%;flex:none;width:8px;height:8px}.pipe-legend .count{font-family:var(--font-mono);color:var(--ink);margin-left:auto;font-weight:600}.activity-list{flex-direction:column;display:flex}.activity-list .item{border-bottom:1px solid var(--line-soft);align-items:flex-start;gap:10px;padding:10px 0;font-size:13px;display:flex}.activity-list .item:last-child{border-bottom:none}.activity-list .when{color:var(--ink-3);font-size:11.5px;font-family:var(--font-mono);white-space:nowrap;margin-left:auto}.activity-list .txt strong{font-weight:600}.radar-tile{background:var(--ink);color:#fff;border-radius:var(--radius-m);align-items:center;gap:16px;padding:16px 18px;display:flex}.radar-tile .label{letter-spacing:.06em;text-transform:uppercase;color:#8fa89a;font-size:11px;font-weight:600}.radar-tile .big{font-family:var(--font-mono);margin-top:2px;font-size:24px;font-weight:600}.radar-tile .meta{color:#c9d8ce;margin-top:2px;font-size:12px}.detail-grid{grid-template-columns:1.5fr 1fr;align-items:start;gap:14px;display:grid}.facts{grid-template-columns:1fr 1fr;gap:12px 20px;display:grid}.facts .fact .k{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:600}.facts .fact .v{margin-top:2px;font-size:13.5px}.backlink{color:var(--ink-2);border-radius:var(--radius-s);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:10px;margin-left:-6px;padding:4px 6px;font-size:12.5px;font-weight:600;display:inline-flex}.backlink:hover{background:var(--line-soft);color:var(--ink);text-decoration:none}.trend{align-items:flex-end;gap:18px;height:120px;padding:0 6px;display:flex;position:relative}.trend .threshold{border-top:2px dashed var(--accent);opacity:.65;position:absolute;left:0;right:0}.trend .threshold .t-label{color:var(--accent-deep);font-size:10.5px;font-weight:700;font-family:var(--font-mono);position:absolute;top:-18px;right:0}.trend .bar-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:6px;height:100%;display:flex}.trend .bar{background:var(--blue);border-radius:4px 4px 0 0;width:100%;max-width:56px;min-height:3px}.trend .bar.under-bar{background:#cbd8cf}.trend .bar-col .yr{color:var(--ink-3)}.trend .bar-col .val,.trend .bar-col .yr{font-size:11px;font-family:var(--font-mono)}.trend .bar-col .val{font-weight:600;color:var(--ink-2)}.timeline{flex-direction:column;display:flex}.timeline .t-item{gap:12px;padding:0 0 16px;display:flex;position:relative}.timeline .t-item:before{content:"";background:var(--line);width:1px;position:absolute;top:14px;bottom:0;left:4px}.timeline .t-item:last-child:before{display:none}.timeline .t-dot{background:var(--blue);z-index:1;border-radius:50%;flex:none;width:9px;height:9px;margin-top:5px;position:relative}.timeline .t-body{font-size:13px}.timeline .t-meta{color:var(--ink-3);font-size:11.5px;font-family:var(--font-mono);margin-top:1px}.note{border-radius:var(--radius-s);background:#fdfbf4;border:1px solid #efe7cc;margin-bottom:10px;padding:10px 12px;font-size:13px}.note .n-meta{color:var(--ink-3);font-size:11.5px;font-family:var(--font-mono);margin-top:6px}.note-form{gap:8px;margin-top:12px;display:flex}.note-form .input{flex:1}.kanban{grid-template-columns:repeat(6,minmax(190px,1fr));align-items:start;gap:10px;padding-bottom:8px;display:grid;overflow-x:auto}.kcol{border:1px solid var(--line-soft);border-radius:var(--radius-m);background:#f0f5f1;flex-direction:column;min-height:320px;display:flex}.kcol .kcol-head{align-items:center;gap:8px;padding:10px 12px;font-size:12px;font-weight:700;display:flex}.kcol .kcol-head .dot{border-radius:50%;width:8px;height:8px}.kcol .kcol-head .count{font-family:var(--font-mono);color:var(--ink-2);background:var(--surface);border:1px solid var(--line);border-radius:999px;margin-left:auto;padding:0 7px;font-size:11px;font-weight:600}.kcol .kcards{flex-direction:column;flex:1;gap:8px;padding:2px 8px 12px;display:flex}.kcol.dragover{outline:2px dashed var(--blue);outline-offset:-4px;border-radius:var(--radius-m)}.kcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-s);box-shadow:var(--shadow-s);cursor:grab;padding:10px 12px;font-size:12.5px}.kcard:active{cursor:grabbing}.kcard.dragging{opacity:.45}.kcard .k-namn{font-size:13px;font-weight:600}.kcard .k-meta{color:var(--ink-2);align-items:center;gap:8px;margin-top:3px;font-size:11.5px;display:flex}.kcard .k-oms{font-family:var(--font-mono)}.kcard .k-foot{align-items:center;gap:6px;margin-top:8px;display:flex}.kcard .k-foot .faint{white-space:nowrap}.kcard .k-foot .avatar{width:20px;height:20px;font-size:8.5px}.kcard .k-foot .days{color:var(--ink-3);font-size:10.5px;font-family:var(--font-mono);margin-left:auto}.sync-params{flex-wrap:wrap;gap:8px;display:flex}.param-chip{background:var(--blue-tint);color:#25513f;border:1px solid #c6dcd0;border-radius:999px;align-items:center;gap:6px;padding:3px 11px;font-size:12px;font-weight:500;display:inline-flex}.param-chip .k{font-weight:700}.param-chip.mono{font-family:var(--font-mono)}.ds-section{margin-bottom:28px}.ds-section h2{margin-bottom:12px;font-size:15px}.ds-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.swatch{width:130px}.swatch .chip{border-radius:var(--radius-s);border:1px solid var(--line);height:56px}.swatch .s-name{margin-top:6px;font-size:12px;font-weight:600}.swatch .s-hex{color:var(--ink-2);font-size:11px;font-family:var(--font-mono)}.menu-btn{display:none}@media (max-width:920px){.app{grid-template-columns:1fr}.sidebar{z-index:150;box-shadow:var(--shadow-l);width:auto;transition:transform .2s;position:fixed;inset:0 25% 0 0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.menu-btn{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-s);letter-spacing:.08em;cursor:pointer;align-items:center;gap:8px;margin:12px 16px 0;padding:8px 12px;font-size:13px;font-weight:700;display:inline-flex}.view{padding:16px 16px 90px}.kpi-grid{grid-template-columns:1fr 1fr}.dash-grid,.detail-grid{grid-template-columns:1fr}.search .input{width:100%}.table-toolbar .search{flex:100%}.table-toolbar .search .input{width:100%}}@media (max-width:560px){.facts,.kpi-grid{grid-template-columns:1fr}}@media print{.menu-btn,.sidebar,.toast-stack{display:none}.app{grid-template-columns:1fr}}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}