:root{--brand: #243d32;--brand-dark: #1a2e25;--brand-2: #2f5343;--brand-soft: #e7efe9;--header-bar: #243d32;--link: #2a4d3c;--bg: #f4f6f3;--surface: #ffffff;--surface-muted: #f7f9f6;--text: #202923;--muted: #68736b;--border: #e0e6e0;--border-strong: #c9d2c9;--row-hover: #eef3ef;--ok: #16794a;--ok-bg: #e6f6ec;--warn: #b45309;--warn-bg: #fff7ed;--danger: #b42318;--danger-bg: #fdecea;--info: #1d4ed8;--info-bg: #e8eefc;--radius: 10px;--radius-sm: 8px;--radius-lg: 12px;--shadow-sm: none;--shadow: 0 1px 2px rgba(32, 41, 35, .04);--header-h: 52px;--sidebar-w: 288px;--sidebar-w-collapsed: 80px;--topbar-h: 56px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body,#root{height:100%}body{margin:0;font-family:Inter,Segoe UI,ui-sans-serif,system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;font-size:13px;line-height:1.4;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}h1,h2,h3{letter-spacing:-.02em}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:1280px;margin:0 auto;padding:0 16px}.app-header{min-height:var(--header-h);border-bottom:1px solid var(--brand-dark);background:var(--brand);color:#f4f7f8;position:sticky;top:0;z-index:40}.header-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:var(--header-h)}.header-home{position:relative;display:flex;align-items:center;justify-content:center;width:42px;height:36px;border-radius:var(--radius-sm);background:#fff;text-decoration:none;z-index:21}.header-home:hover,.header-home:focus-visible{text-decoration:none;box-shadow:var(--shadow-sm)}.header-home:focus-visible{outline:2px solid #fff;outline-offset:2px}.header-home img{height:26px;width:auto;display:block}.header-right{justify-self:end}.app-customer{display:flex;min-height:100%;background:var(--bg)}.app-customer .container{max-width:none;margin:0;width:100%}.cust-shell{flex:1;min-width:0;margin-left:var(--sidebar-w);display:flex;flex-direction:column;min-height:100vh}.app-customer.is-sidebar-collapsed .cust-shell{margin-left:var(--sidebar-w-collapsed)}.app-customer .app-main{padding:16px 20px 28px;max-width:1400px;width:100%;margin:0 auto}.cust-sidebar-backdrop{display:none}.cust-sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);z-index:50;display:flex;flex-direction:column;transition:width .15s ease}.cust-sidebar.is-collapsed{width:var(--sidebar-w-collapsed)}.cust-sidebar-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:16px 16px 14px;border-bottom:1px solid var(--border);min-height:var(--topbar-h)}.cust-sidebar-heading{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.cust-sidebar-collapse{border:1px solid var(--border);background:var(--surface-muted);color:var(--muted);border-radius:var(--radius-sm);width:32px;height:32px;padding:0;flex-shrink:0;font-size:13px;line-height:1;margin-left:auto}.cust-sidebar-collapse:hover{background:var(--brand-soft);border-color:var(--border-strong);color:var(--brand)}.cust-sidebar-nav{flex:1;overflow:auto;padding:16px 14px 24px}.cust-sidebar-section+.cust-sidebar-section{margin-top:22px}.cust-sidebar-section-label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:0 12px 8px}.cust-sidebar-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.cust-sidebar-row{display:flex;align-items:stretch;gap:2px}.cust-sidebar-link{flex:1;min-width:0;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-sm);color:var(--text);font-weight:500;font-size:14px;text-decoration:none}.cust-sidebar-link:hover{background:var(--surface-muted);text-decoration:none;color:var(--text)}.cust-sidebar-link:focus-visible,.cust-sidebar-toggle:focus-visible,.cust-sidebar-sublink:focus-visible,.cust-sidebar-collapse:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.cust-sidebar-link.is-active,.cust-sidebar-entry.is-active>.cust-sidebar-row>.cust-sidebar-link{background:var(--brand-soft);color:var(--brand);font-weight:600;box-shadow:inset 3px 0 0 var(--brand)}.cust-sidebar-icon{display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;flex-shrink:0;color:inherit}.cust-sidebar-icon svg{width:20px;height:20px}.cust-sidebar-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cust-sidebar-toggle{border:none;background:transparent;color:var(--muted);width:32px;border-radius:var(--radius-sm);padding:0;font-size:12px;box-shadow:none}.cust-sidebar-toggle:hover,.cust-sidebar-toggle.is-open{background:var(--surface-muted);color:var(--brand)}.cust-sidebar-sub{list-style:none;margin:2px 0 8px;padding:0 0 0 34px;display:flex;flex-direction:column;gap:2px}.cust-sidebar-sublink{display:block;padding:8px 12px;border-radius:var(--radius-sm);color:var(--muted);font-size:13.5px;font-weight:500;text-decoration:none}.cust-sidebar-sublink:hover{background:var(--surface-muted);color:var(--text);text-decoration:none}.cust-sidebar-sublink.is-active{background:var(--brand-soft);color:var(--brand);font-weight:600;box-shadow:inset 2px 0 0 var(--brand-2)}.cust-sidebar-entry.is-open>.cust-sidebar-row>.cust-sidebar-link:not(.is-active){color:var(--text)}.cust-sidebar.is-collapsed .cust-sidebar-heading,.cust-sidebar.is-collapsed .cust-sidebar-section-label,.cust-sidebar.is-collapsed .cust-sidebar-label,.cust-sidebar.is-collapsed .cust-sidebar-toggle,.cust-sidebar.is-collapsed .cust-sidebar-sub{display:none}.cust-sidebar.is-collapsed .cust-sidebar-link{justify-content:center;padding:12px}.cust-sidebar.is-collapsed .cust-sidebar-top{justify-content:center}.cust-sidebar.is-collapsed .cust-sidebar-collapse{margin:0}.cust-topbar{position:sticky;top:0;z-index:30;min-height:var(--topbar-h);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:0 20px;background:var(--surface);border-bottom:1px solid var(--border)}.cust-topbar-left{display:flex;align-items:center;gap:10px;min-width:0;justify-self:start}.cust-topbar-brand{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:0;color:var(--text);text-decoration:none;justify-self:center;max-width:min(420px,46vw)}.cust-topbar-brand:hover{text-decoration:none;color:var(--brand)}.cust-topbar-brand-logo{height:36px;width:auto;max-width:120px;object-fit:contain;border-radius:6px;background:#000;padding:2px 6px;flex-shrink:0}.cust-topbar-brand-logo.is-ek{background:#fff;border:1px solid var(--border)}.cust-topbar-brand-name{font-size:15px;font-weight:700;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cust-topbar-menu{display:none;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);width:36px;height:34px;padding:0;font-size:16px;color:var(--text)}.cust-breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:2px;min-width:0;font-size:13px}.cust-breadcrumb{display:inline-flex;align-items:center;gap:6px;color:var(--muted)}.cust-breadcrumb a{color:var(--muted);font-weight:500}.cust-breadcrumb a:hover{color:var(--brand)}.cust-breadcrumb-sep{color:var(--border-strong)}.cust-breadcrumb-current{color:var(--text);font-weight:600}.cust-topbar-right{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-shrink:0;justify-self:end;min-width:0}.cust-topbar-user{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2;min-width:0}.cust-topbar-user-email{font-size:12px;color:var(--muted);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cust-topbar-logout{border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 10px;font-size:12.5px;font-weight:600;color:var(--text);background:var(--surface)}.cust-topbar-logout:hover{background:var(--surface-muted);text-decoration:none;border-color:var(--border-strong)}.cust-header,.cust-nav-slot,.cust-nav,.cust-nav-item,.cust-nav-link,.cust-nav-drop,.cust-nav-end,.cust-brand{display:contents}.section-tabs{display:flex;flex-wrap:wrap;gap:0;margin:0 0 14px;border-bottom:1px solid var(--border)}.section-tabs a{padding:8px 12px;color:var(--muted);font-weight:650;border-bottom:2px solid transparent;margin-bottom:-1px}.section-tabs a:hover{text-decoration:none;color:var(--text)}.section-tabs a.is-active{color:var(--text);border-bottom-color:var(--brand)}.pm-page .is-active-tab{font-weight:700;border-color:var(--brand);background:#eef6f3}.pm-task-list{display:grid;gap:12px}.pm-task{margin:0}.pm-task-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.pm-task-meta{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:8px}.asset-workspace .asset-hero{display:grid;gap:10px;margin-bottom:14px}.asset-workspace .asset-hero-meta{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}.asset-workspace .asset-status{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;background:var(--brand-soft);color:var(--brand);border:1px solid var(--border)}.asset-workspace .asset-status.is-inactive{background:var(--surface-muted);color:var(--muted)}.asset-workspace .asset-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px}.asset-workspace .asset-kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;display:grid;gap:2px;min-width:0}.asset-workspace .asset-kpi-n{font-size:22px;font-weight:750;letter-spacing:-.02em;color:var(--text);line-height:1.1}.asset-workspace .asset-kpi-label{font-size:12px;font-weight:600;color:var(--muted)}.asset-workspace .asset-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.asset-workspace .asset-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;border-bottom:1px solid var(--border);padding-bottom:10px}.asset-workspace .asset-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius-sm);padding:8px 12px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.asset-workspace .asset-tab:hover{border-color:var(--brand-2);color:var(--brand)}.asset-workspace .asset-tab.is-active{background:var(--brand);border-color:var(--brand);color:#fff}@media (max-width: 720px){.asset-workspace .asset-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.home-shortcuts{display:flex;flex-wrap:wrap;gap:6px}.dash-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:12px}.dash-head .page-title,.dash-head .page-lead{margin-bottom:0}.dash-today{color:var(--muted);font-size:12px;font-weight:600;text-transform:capitalize;white-space:nowrap}.dash-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.dash-primary{background:var(--brand);border:1px solid var(--brand);color:#fff;padding:7px 12px;font-weight:600;font-size:13px;line-height:1.3;cursor:pointer;display:inline-block;text-decoration:none;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.dash-primary:hover{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff;text-decoration:none}.dash-primary:focus-visible{outline:2px solid var(--brand-dark);outline-offset:2px}button.dash-primary{font:inherit}.dash-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:12px;background:transparent;border:none;border-radius:0;overflow:visible}@media (max-width: 1100px){.dash-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 720px){.dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.dash-kpi{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;min-height:68px;padding:10px 12px;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:var(--surface);transition:border-color .12s ease,background .12s ease}.dash-kpi:last-child{border-right:1px solid var(--border)}.dash-kpi.is-clickable{cursor:pointer}.dash-kpi.is-clickable:hover,.dash-kpi:hover{text-decoration:none;background:var(--surface-muted);border-color:var(--border-strong)}.dash-kpi:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.dash-kpi-n{font-size:22px;font-weight:700;line-height:1.05;letter-spacing:-.02em;color:var(--text)}.dash-kpi .small{font-size:11px;font-weight:500;color:var(--muted);line-height:1.25}.dash-kpi.is-warn{border-color:#e8c48a;background:var(--surface)}.dash-kpi.is-warn .dash-kpi-n{color:#b54708}.dash-stopptid{grid-column:1 / -1}.customer-home .dash-main-row .dash-stopptid{grid-column:auto}.dash-week{padding:10px 12px 12px}.dash-week .stopptid-bars{grid-template-columns:repeat(auto-fit,minmax(72px,1fr));min-height:150px}.dash-week-meta{margin-bottom:8px;font-size:13px}.dash-week-meta strong{font-size:15px;font-weight:700;letter-spacing:-.01em}.dash-week-empty{padding:4px 0 2px}.dash-week-empty-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(56px,1fr));gap:6px;margin-bottom:8px}.dash-week-empty-day{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border:1px dashed var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--muted);cursor:pointer;box-shadow:none;min-height:0}.dash-week-empty-day:hover{background:var(--brand-soft);border-color:var(--border-strong);color:var(--brand)}.dash-week-empty-day:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.dash-week-empty-weekday{font-size:12px;font-weight:700;text-transform:capitalize;line-height:1.1}.dash-week-empty-date{font-size:11px;line-height:1.1}.dash-week-empty-text{margin:0;padding:8px 10px;border-radius:var(--radius-sm);background:var(--surface-muted);border:1px solid var(--border);color:var(--muted);font-size:13px;font-weight:500}.dash-week-chart{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;align-items:end;min-height:140px}.dash-week-col{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}.dash-week-val{min-height:1.1em;font-size:11px;font-weight:700;color:var(--text);line-height:1.1;white-space:nowrap}.dash-week-track{width:100%;max-width:36px;height:96px;display:flex;align-items:flex-end;justify-content:center;background:#eef2f0;border-radius:6px 6px 2px 2px;overflow:hidden}.dash-week-bar{width:70%;min-height:0;border-radius:4px 4px 0 0;background:#c5d4cc;transition:height .2s ease}.dash-week-bar.has-value{background:var(--brand)}.dash-week-day{font-size:12px;font-weight:700;text-transform:capitalize;line-height:1.1}.dash-week-date{font-size:11px;color:var(--muted);line-height:1.1}.stopptid-bars{display:grid;grid-template-columns:repeat(auto-fit,minmax(56px,1fr));gap:12px;align-items:end;min-height:160px;padding:4px 0 2px}.stopptid-bars.has-gulvfisk,.stopptid-bars.is-split,.stopptid-bars.has-prod-time{grid-template-columns:repeat(auto-fit,minmax(88px,1fr));min-height:200px}.stopptid-bars.has-prod-time.has-gulvfisk.is-split{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.stopptid-bars.is-compact{min-height:72px;gap:6px}.stopptid-bar-col{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0;background:transparent;border:none;padding:0;color:inherit;cursor:default}button.stopptid-bar-col{cursor:pointer}button.stopptid-bar-col:hover .stopptid-bar-track,.stopptid-bar-col.is-selected .stopptid-bar-track{outline:2px solid var(--brand);outline-offset:1px}.stopptid-bar-summary{min-height:2.4em;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:1px;text-align:center;line-height:1.1}.stopptid-bar-summary-main{font-size:12px;font-weight:750;color:var(--text);white-space:nowrap}.stopptid-bar-summary-empty{display:block;min-height:1em}.stopptid-bar-value{min-height:1.2em;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;font-size:10px;font-weight:700;line-height:1.1;white-space:nowrap}.stopptid-bar-min{color:var(--text)}.stopptid-bar-unit{font-weight:600;font-size:9px;color:var(--muted)}.stopptid-bar-pct{color:var(--muted);font-weight:650;font-size:10px}.stopptid-bar-gulv{color:#a16207;font-weight:700;font-size:10px}:root{--stopptid-equipment: #1d4ed8;--stopptid-equipment-bg: #dbeafe;--stopptid-production: #be123c;--stopptid-production-bg: #ffe4e6;--stopptid-gulvfisk: #ca8a04;--stopptid-gulvfisk-bg: #fef9c3;--stopptid-prod-time: #15803d;--stopptid-prod-time-bg: #dcfce7}.stopptid-bar-pair{display:flex;align-items:flex-end;justify-content:center;gap:6px;width:100%;min-height:96px}.stopptid-bar-pair.is-empty{min-height:72px}.stopptid-bar-cell{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0;flex:1 1 0;max-width:22px}.stopptid-bars.has-gulvfisk .stopptid-bar-track,.stopptid-bars.is-split .stopptid-bar-track,.stopptid-bars.has-prod-time .stopptid-bar-track{height:96px}.stopptid-bar-pair.is-multi .stopptid-bar-track{width:100%;max-width:16px;flex:none}.stopptid-bar-track.is-gulvfisk.has-value{background:var(--stopptid-gulvfisk-bg)}.stopptid-bar-track.is-equipment.has-value{background:var(--stopptid-equipment-bg)}.stopptid-bar-track.is-production.has-value{background:var(--stopptid-production-bg)}.stopptid-bar-track.is-prod-time.has-value{background:var(--stopptid-prod-time-bg)}.stopptid-bar-track.is-placeholder{width:22px;max-width:22px;height:72px;background:#eef2f0;opacity:.55}.stopptid-bar-min.is-equipment{color:var(--stopptid-equipment)}.stopptid-bar-min.is-production{color:var(--stopptid-production)}.stopptid-bar-min.is-prod-time{color:var(--stopptid-prod-time)}.quick-stop-form{padding:12px;border-top:1px solid var(--border);background:#fbf8f4}.quick-stop-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.dash-day-panel{padding:12px;border-top:1px solid var(--border);background:var(--surface-muted)}.dash-day-panel-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.dash-day-panel-meta{margin:6px 0 10px}.dash-day-panel .period-tabs{margin:0;gap:4px}.dash-day-panel .quick-stop-form{padding:0;border-top:none;background:transparent}.dash-day-panel .quick-stop-head,.dash-day-panel .quick-stop-form>p.small:first-of-type{display:none}.dash-day-panel .prod-time-form{margin:0;padding:0;border:none;box-shadow:none;background:transparent}.dash-day-panel .prod-time-form>.section-title,.dash-day-panel .prod-time-form>p.small:first-of-type{display:none}.stopptid-bar-track{width:100%;max-width:40px;height:96px;display:flex;align-items:flex-end;justify-content:center;background:#eef2f0;border-radius:6px 6px 2px 2px;overflow:hidden}.stopptid-bars.is-compact .stopptid-bar-track{height:56px;max-width:28px}.stopptid-bar-stack{width:82%;display:flex;flex-direction:column-reverse;justify-content:flex-start;border-radius:4px 4px 0 0;overflow:hidden;min-height:0;transition:height .2s ease}.stopptid-bar-seg{width:100%;min-height:2px;flex-shrink:1}.stopptid-bar-seg.is-equipment{background:var(--stopptid-equipment)}.stopptid-bar-seg.is-production{background:var(--stopptid-production)}.stopptid-bar-seg.is-gulvfisk{background:var(--stopptid-gulvfisk)}.stopptid-bar-seg.is-prod-time{background:var(--stopptid-prod-time)}.stopptid-bar-label{font-size:12px;font-weight:700;text-align:center;line-height:1.15;word-break:break-word}.stopptid-bar-meta{font-size:11px;color:var(--muted);text-align:center;line-height:1.15}.stopptid-bar-prod{font-size:11px;font-weight:750;color:var(--stopptid-prod-time);text-align:center;line-height:1.1;white-space:nowrap}.stopptid-bar-prod.is-empty{color:var(--muted);font-weight:500}.stopptid-bar-prod.is-off{color:var(--muted);font-weight:650;font-style:italic}.stop-type{font-weight:650}.stop-type.is-equipment{color:var(--stopptid-equipment)}.stop-type.is-production{color:var(--stopptid-production)}.stopptid-legend{display:flex;flex-wrap:wrap;gap:10px 14px;margin:10px 0 0;padding-top:8px;border-top:1px solid var(--border);font-size:12px;color:var(--muted)}.stopptid-legend span{display:inline-flex;align-items:center;gap:6px}.stopptid-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}.stopptid-legend .is-equipment{background:var(--stopptid-equipment)}.stopptid-legend .is-production{background:var(--stopptid-production)}.stopptid-legend .is-gulvfisk{background:var(--stopptid-gulvfisk)}.stopptid-legend .is-prod-time{background:var(--stopptid-prod-time)}.stopptid-chart-tools{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin:0 0 8px;font-size:12px}.stopptid-chart-tools label{display:inline-flex;align-items:center;gap:6px;cursor:pointer;color:var(--text);font-weight:600}.stopptid-chart-tools .period-tabs{margin:0}.stopptid-pie{display:grid;grid-template-columns:minmax(160px,220px) minmax(160px,1fr);gap:16px;align-items:center;padding:8px 0 4px}@media (max-width: 640px){.stopptid-pie{grid-template-columns:1fr;justify-items:center}}.stopptid-pie-visual{width:100%;max-width:220px}.stopptid-pie-svg{width:100%;height:auto;display:block}.stopptid-pie-center-main{font-size:13px;font-weight:750;fill:#111}.stopptid-pie-center-sub{font-size:10px;fill:#6b7280}.stopptid-pie-legend{list-style:none;margin:0;padding:0;display:grid;gap:8px;width:100%}.stopptid-pie-legend li{display:grid;grid-template-columns:12px 1fr auto auto;gap:8px;align-items:center;font-size:13px}.stopptid-pie-legend i{width:10px;height:10px;border-radius:2px;display:inline-block}.stopptid-pie-legend-label{font-weight:600}.stopptid-pie-foot{grid-column:1 / -1;margin:4px 0 0}.prod-time-form{margin-bottom:12px}.prod-time-form.is-compact{padding:10px 12px;border-top:1px solid var(--border);background:#f7faf8}.prod-time-inline{padding:10px 12px 12px;border-bottom:1px solid var(--border);background:#f4f8f6}.prod-time-inline-title{font-size:12px;font-weight:700;letter-spacing:.02em;margin-bottom:8px;color:var(--text)}.prod-time-inline-row{display:grid;grid-template-columns:minmax(120px,1.1fr) minmax(100px,.9fr) minmax(100px,.9fr) auto;gap:10px;align-items:end}.prod-time-inline-stats{margin-top:8px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.prod-time-inline-row .field{margin:0}.prod-time-inline-row .field-label{font-size:11px}.prod-time-inline-actions{display:flex;align-items:center;gap:10px;padding-bottom:2px;flex-wrap:wrap}.prod-time-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.prod-time-off{background:#fff;border:1px solid var(--border);color:var(--text);font:inherit;font-weight:650;padding:8px 12px;cursor:pointer}.prod-time-off:hover:not(:disabled){border-color:var(--brand);color:var(--brand-dark)}.prod-time-off.is-active,.prod-time-off:disabled.is-active{background:#f4f4f5;color:var(--muted);border-style:dashed}.prod-time-inline-dur{white-space:nowrap;min-width:4.5rem}.prod-time-inline-msg{margin:8px 0 0}@media (max-width: 720px){.prod-time-inline-row{grid-template-columns:1fr 1fr}.prod-time-inline-stats{grid-template-columns:1fr}.prod-time-inline-actions{grid-column:1 / -1}}.dash-body{display:grid;gap:10px;align-items:start}.dash-body.has-orders{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.dash-body.has-side{grid-template-columns:minmax(0,1fr) minmax(220px,300px)}.dash-body.has-orders.has-side{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(200px,260px)}.dash-panel-head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;background:var(--surface-muted);border-bottom:1px solid var(--border);font-size:12px;font-weight:600;letter-spacing:.01em;text-transform:none;color:var(--text)}.dash-panel-head .small,.dash-panel-head a.small{font-size:12px;font-weight:500;color:var(--link)}.dash-tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:var(--brand-soft);color:var(--brand-dark);font-size:11px;font-weight:600;line-height:1.3}.dash-tag.is-runde{background:var(--info-bg);color:var(--info)}.dash-tag.is-feil{background:var(--danger-bg);color:var(--danger)}.status-pill{display:inline-flex;align-items:center;max-width:100%;padding:2px 8px;border-radius:999px;background:var(--surface-muted);border:1px solid var(--border);color:var(--text);font-size:11px;font-weight:600;line-height:1.3;white-space:nowrap}.status-pill.is-ok,.status-pill.is-fullfort,.status-pill.is-fullført{background:var(--ok-bg);border-color:transparent;color:var(--ok)}.status-pill.is-warn,.status-pill.is-tilbud_sendt,.status-pill.is-pending_approval,.status-pill.is-vurderes{background:var(--warn-bg);border-color:transparent;color:var(--warn)}.status-pill.is-ny{background:var(--surface-muted, #f3f4f6);border-color:transparent;color:var(--muted, #4b5563)}.status-pill.is-info,.status-pill.is-bestilles{background:var(--info-bg);border-color:transparent;color:var(--info)}.status-pill.is-sendt,.status-pill.is-klar_for_fakturering{background:#f3e8ff;border-color:transparent;color:#6b21a8}.status-pill.is-danger{background:var(--danger-bg);border-color:transparent;color:var(--danger)}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-weight:600;font-size:13px;line-height:1.3;text-decoration:none;cursor:pointer;box-shadow:none}.btn-secondary:hover{background:var(--surface-muted);border-color:var(--brand-2);color:var(--brand);text-decoration:none}.btn-secondary:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.order-form-page{min-height:100%;padding:16px 16px 28px;background:var(--bg)}.order-form-shell{max-width:960px;margin:0 auto;display:grid;gap:14px}.order-form-shell>h1{margin:0;text-align:center;font-size:22px;font-weight:700;color:var(--text)}.order-form-lead{margin:-6px 0 0;text-align:center;font-size:13px;color:var(--muted)}.order-form{display:grid;gap:14px}.order-form-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px 18px;display:grid;gap:12px}.order-form-card-title{margin:0;font-size:15px;font-weight:700;color:var(--text)}.order-form-hint{margin:0;font-size:12px;line-height:1.4;color:var(--muted)}.order-form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}.order-form-field{display:grid;gap:5px;min-width:0}.order-form-field.is-full{grid-column:1 / -1}.order-form-label{font-size:13px;font-weight:600;color:var(--text)}.order-form-label .req{color:var(--danger);font-weight:700}.order-form-card input[type=text],.order-form-card input[type=email],.order-form-card input[type=number],.order-form-card select,.order-form-card textarea{width:100%;min-height:42px;padding:8px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;font-size:14px;line-height:1.3;box-sizing:border-box}.order-form-card textarea{min-height:88px;resize:vertical}.order-form-card input:focus,.order-form-card select:focus,.order-form-card textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #243d3224}.order-form-card input:read-only{background:var(--surface-muted)}.order-form-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.order-form-row input{flex:1 1 180px;min-width:0}.order-form-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end;margin-top:4px}.order-form-submit{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;border:1px solid var(--brand);border-radius:var(--radius-sm);background:var(--brand);color:#fff;font-weight:700;font-size:14px;cursor:pointer;box-shadow:var(--shadow-sm)}.order-form-submit:hover:not(:disabled){background:var(--brand-dark);border-color:var(--brand-dark)}.order-form-submit:disabled{opacity:.65;cursor:not-allowed}.order-form-error{color:var(--danger);font-size:13px;font-weight:600}.order-form-success{padding:12px 14px;border-radius:var(--radius-sm);background:var(--ok-bg);color:var(--ok);font-size:14px;font-weight:600}.order-form-summary{padding:12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--brand-soft);display:grid;gap:10px}.order-form-inline-new{display:grid;gap:10px;padding-top:10px;border-top:1px solid var(--border)}.order-form-radio{display:flex;align-items:center;gap:8px;font-size:14px}@media (max-width: 720px){.order-form-grid-2{grid-template-columns:1fr}.order-form-actions{justify-content:stretch}.order-form-submit,.order-form-actions .btn-secondary{width:100%}}.order-toolbar{margin:0;border:none;border-bottom:1px solid var(--border);border-radius:0;background:var(--surface-muted)}.order-toolbar input[type=search]{flex:1 1 220px;min-width:180px}.order-date-filter{display:inline-flex;align-items:center;gap:6px;margin:0;white-space:nowrap}.order-date-filter input[type=date]{width:auto;min-width:138px}tbody tr.order-row-clickable{cursor:pointer}tbody tr.order-row-clickable:hover td{background:var(--row-hover)}tbody tr.order-row-clickable:focus-visible{outline:2px solid var(--brand, #0f766e);outline-offset:-2px}tbody tr.order-row-clickable:focus-visible td{background:var(--row-hover)}.order-history-toolbar input[type=search]{flex:1 1 260px;min-width:200px}.order-history-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.order-history-table{width:100%}.order-history-cards{display:none;list-style:none;margin:0;padding:10px;gap:8px}.order-history-card{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--border);border-radius:8px;text-decoration:none;color:inherit;background:var(--surface, #fff);transition:background .12s ease,border-color .12s ease}.order-history-card:hover{background:var(--row-hover);border-color:var(--brand, #0f766e)}.order-history-card:focus-visible{outline:2px solid var(--brand, #0f766e);outline-offset:2px}.order-history-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.order-history-card-title{font-size:14px;font-weight:600;line-height:1.35}.order-history-card-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin:0}.order-history-card-meta dt{margin:0;font-size:11px;font-weight:600;color:var(--muted)}.order-history-card-meta dd{margin:2px 0 0;font-size:13px;font-weight:500}.order-history-debug{margin-top:14px}.order-history-debug-details{padding:10px 14px 14px;font-size:12px;color:var(--muted)}.order-history-debug-details pre{margin:8px 0 0;max-height:240px;overflow:auto;border:1px solid var(--border);border-radius:8px;padding:8px;font-size:11px;background:var(--surface-muted, #f8fafc)}@media (max-width: 720px){.order-history-table{display:none}.order-history-cards{display:flex;flex-direction:column}.order-history-card-meta{grid-template-columns:1fr}}.customer-order-detail-page .order-detail-back{margin:0 0 6px;font-size:13px}.customer-order-detail-page .order-detail-back a{color:var(--link);text-decoration:none;font-weight:600}.customer-order-detail-page .order-detail-back a:hover{color:var(--brand);text-decoration:underline}.order-detail-panel{margin-bottom:14px}.order-detail-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px 18px;margin:0;padding:12px 14px 8px}.order-detail-meta dt{font-size:11px;font-weight:600;color:var(--muted);margin:0 0 2px}.order-detail-meta dd{margin:0;font-size:14px;font-weight:600}.order-detail-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;font-weight:500}.order-detail-desc{padding:12px 14px;border-top:1px solid var(--border);margin-top:4px}.order-detail-hint{margin:0;padding:0 14px 12px;color:var(--muted)}.order-detail-status{padding:12px 14px 14px;border-top:1px solid var(--border)}.order-detail-status-head{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.order-detail-status-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.order-detail-status-row select{min-width:180px;flex:1 1 180px}.order-detail-status-ok{margin:8px 0 0;color:var(--brand, #0f766e);font-weight:600}.order-detail-upload{padding:4px 14px 12px}.attachment-upload{display:flex;flex-direction:column;gap:6px}.attachment-upload-label{display:flex;flex-direction:column;gap:4px}.attachment-upload-label input[type=file]{margin-top:4px;font-size:13px}.order-detail-att-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;padding:0 14px 14px}.order-detail-att-block{border:1px solid var(--border);border-radius:8px;padding:12px;background:var(--surface, #fff)}.order-detail-att-title{margin:0 0 8px;font-size:14px;font-weight:700}.order-detail-atts{list-style:none;margin:0;padding:0 14px 12px;display:flex;flex-direction:column;gap:8px}.order-detail-att-block .order-detail-atts{padding:0}.order-detail-atts li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface, #fff)}.order-detail-att-info{min-width:0}.order-detail-att-name{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.order-history-item:hover{background:var(--row-hover, rgba(0, 0, 0, .03))}.order-table .cell-title{max-width:320px;white-space:normal}.order-empty-filter .linkish,button.linkish{background:none;border:none;padding:0;color:var(--link);font:inherit;font-weight:600;cursor:pointer;text-decoration:underline;box-shadow:none}button.linkish:hover{background:none;border:none;color:var(--brand)}@media (max-width: 720px){.order-toolbar{align-items:stretch}.order-toolbar input[type=search],.order-toolbar select,.order-date-filter{width:100%}.order-date-filter{justify-content:space-between}.order-date-filter input[type=date]{flex:1}}.due-cell.is-overdue{color:var(--danger);font-weight:600}.cell-title{white-space:normal;max-width:280px;font-weight:600;line-height:1.3}.cell-muted{color:var(--muted)}.home-chip{background:var(--surface);border:1px solid var(--border);border-radius:0;padding:6px 12px;color:var(--text);font-weight:650;box-shadow:var(--shadow-sm)}.home-chip:hover{text-decoration:none;background:#fff;border-color:#9bb09a}.login-logo{display:block;height:56px;width:auto;margin:0 auto 12px}.brand{color:#f4f7f8;font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.nav{display:flex;gap:12px;align-items:center;font-size:13px;flex-wrap:wrap}.nav .muted{color:var(--muted)}.company-slot{min-width:200px;display:flex;justify-content:flex-end}.app-main{padding:16px 20px 28px;max-width:1400px;width:100%;margin:0 auto;box-sizing:border-box}.app-main>.container{max-width:none;width:100%;margin:0;padding:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px;box-shadow:var(--shadow-sm)}.dash-ok{background:var(--ok-bg);color:var(--ok);border:1px solid transparent;border-radius:var(--radius);padding:10px 12px;margin-bottom:12px;font-weight:500}.dash-ok.dash-ok-compact{margin:8px 0 0;padding:8px 10px;font-size:13px;font-weight:600}.dash-section-title{margin:0;font-size:13px;font-weight:700;color:var(--text);letter-spacing:.01em}.dash-follow{margin-bottom:12px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.dash-follow.is-empty{padding:8px 12px;box-shadow:none;background:transparent}.dash-follow-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.dash-follow-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:var(--brand-soft);color:var(--brand);font-size:12px;font-weight:700}.dash-follow-empty{margin:4px 0 0;font-size:12px;color:var(--muted);font-weight:500}.dash-follow-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:3px}.dash-follow-link{display:flex;align-items:flex-start;gap:10px;padding:7px 8px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:inherit;text-decoration:none}.dash-follow-link:hover{background:var(--surface-muted);border-color:var(--border);text-decoration:none}.dash-follow-dot{width:8px;height:8px;border-radius:50%;margin-top:6px;flex-shrink:0;background:#d97706}.dash-follow-dot.is-critical{background:#b42318}.dash-follow-dot.is-warn{background:#d97706}.dash-follow-link.is-critical{border-left:3px solid #b42318;padding-left:7px}.dash-follow-link.is-warn{border-left:3px solid #d97706;padding-left:7px}.dash-follow-text{display:grid;gap:1px;min-width:0}.dash-follow-title{font-weight:650;font-size:13px}.dash-main-row{display:grid;gap:12px;margin-bottom:12px;align-items:start;grid-template-columns:1fr}.dash-tasks-stack{display:grid;gap:10px;min-width:0;align-content:start}.dash-prod-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.dash-prod-metric{padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);display:grid;gap:2px;min-width:0}.dash-prod-metric-n{font-size:16px;font-weight:750;letter-spacing:-.02em;color:var(--text);line-height:1.15}.customer-home .dash-week .stopptid-bars,.customer-home .dash-week .stopptid-bars.has-gulvfisk,.customer-home .dash-week .stopptid-bars.is-split,.customer-home .dash-week .stopptid-bars.has-prod-time{min-height:200px;height:220px;max-height:240px}.customer-home .dash-week-empty{min-height:0;padding:8px 0 4px}.customer-home .dash-week-empty-days{min-height:0}.dash-recent-stops{border-top:1px solid var(--border)}.dash-today-tasks{align-self:start}.dash-today-tasks.is-empty{min-height:0}.dash-today-empty{margin:0;padding:10px 12px}.dash-today-block{padding:0 0 4px}.dash-today-label{padding:8px 12px 0;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.dash-today-tasks .admin-table{margin-top:0}@media (max-width: 560px){.dash-prod-metrics{grid-template-columns:1fr}}input[type=text],input[type=email],input[type=password],input[type=date],input[type=datetime-local],input[type=number],input[type=search],textarea,select{width:100%;border:1px solid var(--border);border-radius:var(--radius);padding:7px 9px;font-size:13px;line-height:1.3;background:#fff;color:var(--text);outline:none}input:focus,textarea:focus,select:focus{border-color:var(--brand-2);box-shadow:0 0 0 2px #5b7a5738}button{border:1px solid var(--border);border-radius:var(--radius);background:#fff;padding:6px 10px;cursor:pointer;font-size:13px;line-height:1.3;color:var(--text);transition:background .12s ease,border-color .12s ease}button:hover{background:var(--row-hover);border-color:#b7c4c9}button:active{background:#e8eef0}button[disabled]{opacity:.55;cursor:not-allowed}button[type=submit]{background:var(--brand);border-color:var(--brand);color:#fff}button[type=submit]:hover{background:var(--brand-dark);border-color:var(--brand-dark)}.btn-block{width:100%}.app-header .admin-back{background:transparent;color:#e8eef0;border-color:#ffffff47;padding:4px 10px;font-size:12px}.app-header a.admin-back{border:1px solid rgba(255,255,255,.28);border-radius:var(--radius);display:inline-block}.app-header a.admin-back:hover{text-decoration:none}.app-header .admin-back:hover{background:#ffffff14;border-color:#ffffff73}.list{display:grid;gap:6px}.row{padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.row:hover{background:var(--row-hover)}a.row{color:inherit;text-decoration:none}.small{color:var(--muted);font-size:12px}.admin-page{margin:0 auto;padding:0;width:100%;display:flex;flex-direction:column;gap:0}.admin-page>.dash-head{margin-bottom:14px}.admin-page>.dash-head .page-lead{margin-bottom:0}.admin-header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:14px}.admin-back{border-radius:var(--radius-sm);padding:8px 12px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.admin-back:hover{background:var(--surface-muted);text-decoration:none}.admin-title{margin:0 0 2px;font-size:20px;font-weight:700;letter-spacing:-.02em;color:var(--text)}.admin-subtitle{margin:0;font-size:13px;color:var(--muted);font-weight:500}.form-grid{display:grid;gap:8px}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.field{display:flex;flex-direction:column;gap:4px}.field-label{font-size:12px;font-weight:600;color:var(--text)}.field-help{font-size:12px;color:var(--muted)}.check-row{display:flex;align-items:center;gap:8px;font-size:13px}.check-row+.check-row{margin-top:6px}.doc-drop{position:relative;display:flex;align-items:center;justify-content:center;min-height:72px;padding:12px;border:1px dashed var(--border);border-radius:var(--radius);background:#f7faf8;font-size:13px;color:var(--muted, #5b675e);cursor:pointer}.doc-drop.is-drag{border-color:#609c60;background:#eef6ee;color:#2f5d32}.doc-drop input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.form-actions{display:flex;gap:8px;flex-wrap:wrap}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);overflow:auto;background:var(--surface);box-shadow:var(--shadow-sm)}.dash-stopptid.table-wrap{grid-column:1 / -1}.list-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 10px;margin-bottom:8px;background:#e4e9df;border:1px solid var(--border);border-radius:var(--radius)}.list-toolbar input[type=search]{width:240px;max-width:100%}.list-toolbar select{min-width:160px;max-width:100%}.list-toolbar .check-row{margin:0;white-space:nowrap}.list-toolbar .check-row+.check-row{margin-top:0}.list-toolbar a{border:1px solid var(--border);border-radius:var(--radius);background:#fff;padding:6px 10px;color:var(--text);font-weight:650}.list-toolbar a:hover{text-decoration:none;background:var(--row-hover)}.toolbar-num{width:72px}.toolbar-spacer{flex:1;min-width:8px}.admin-table th button{background:none;border:none;padding:0;font:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;box-shadow:none}.admin-table th button:hover{background:none;border:none;color:var(--text);text-decoration:underline}.admin-table th button[aria-sort=ascending],.admin-table th button[aria-sort=descending]{color:var(--text);text-decoration:underline}.admin-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.admin-table th,.admin-table td{padding:7px 12px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;vertical-align:middle}.admin-table thead th{position:sticky;top:0;background:var(--surface-muted);font-weight:600;font-size:11px;letter-spacing:.02em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border)}.admin-table tbody tr:hover td{background:var(--row-hover)}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody td a{color:var(--text);font-weight:600}.admin-table tbody td a:hover{color:var(--link)}.admin-table tbody td a.products-action-order,.admin-table tbody td a.products-action-order:hover{color:#fff}.section-title{margin:0 0 8px;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#4b5c64}.page{padding:6px 0 24px}.page-title{margin:0 0 2px;font-size:20px;font-weight:700;letter-spacing:-.02em;color:var(--text)}.page-lead{margin:0 0 14px;font-size:13px;color:var(--muted);font-weight:500}.customer-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.customer-head .page-title{margin:0 0 4px}.customer-head .page-lead{margin:0}.customer-logo{height:52px;width:auto;max-width:240px;object-fit:contain;border-radius:var(--radius-sm);flex-shrink:0;background:#000}.tile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tile{display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:56px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);text-decoration:none}.tile:hover{text-decoration:none;border-color:var(--border-strong);background:var(--surface-muted);box-shadow:var(--shadow-sm)}.customer-dash{margin-top:16px;margin-bottom:16px}.dash-head-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.dash-head-row .page-title{margin:0}.dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px}.dash-value{font-size:28px;font-weight:700;letter-spacing:-.03em;margin:0}.dash-value-row{display:flex;align-items:baseline;gap:10px;margin:8px 0 6px}.dash-metric-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.dash-detail{flex-shrink:0;padding:4px 8px;font-size:11px;font-weight:600;color:var(--link);background:#fff}.dash-delta{font-size:13px;font-weight:700}.dash-delta-up{color:#3f6b3c}.dash-delta-down{color:var(--danger)}.dash-chart{position:relative;margin:4px 0 6px}.dash-chart-svg{display:block;width:100%;height:auto}.dash-chart-grid{stroke:#e4ebe0;stroke-width:1}.dash-chart-axis{fill:#7a8a7c;font-size:9px}.dash-chart-cur{stroke:#609c60;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.dash-chart-prev{stroke:#9bb3a8;stroke-width:1.5;stroke-dasharray:3 3;stroke-linejoin:round}.dash-chart-dot{fill:#609c60}.dash-chart-hover{stroke:#c5d2c8;stroke-width:1}.dash-tooltip{position:absolute;right:0;top:0;background:#fff;border:1px solid var(--border);border-radius:0;padding:4px 6px;font-size:11px;line-height:1.35;color:var(--text);pointer-events:none}.dash-legend{display:flex;flex-wrap:wrap;gap:10px 14px;font-size:11px;color:var(--muted);margin:0 0 10px}.dash-legend span{display:inline-flex;align-items:center;gap:6px}.dash-leg-cur,.dash-leg-prev{display:inline-block;width:16px;height:0;border-top:2px solid #609c60}.dash-leg-prev{border-top:2px dashed #9bb3a8}.period-tabs{display:flex;flex-wrap:wrap;gap:4px}.period-tab{padding:5px 10px;font-size:12px;font-weight:500;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--muted)}.period-tab:hover{background:var(--surface-muted);color:var(--text)}.period-tab-active{background:var(--brand);border-color:var(--brand);color:#fff}.period-tab-active:hover{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff}.dash-lead{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.dash-customer{width:auto;max-width:min(100%,280px);font-weight:600;color:var(--text);padding:4px 8px}.dash-open{display:block;width:100%;text-align:left;background:transparent;border:0;padding:0;cursor:pointer;color:inherit;border-radius:0;box-shadow:none}.dash-open:hover{background:transparent;transform:none;box-shadow:none}.dash-open-hint{font-size:12px;color:var(--link);font-weight:600;margin:-4px 0 10px}.dash-back{background:none;border:0;padding:0;color:var(--link);font-size:13px;font-weight:600;cursor:pointer;margin-bottom:10px;box-shadow:none}.dash-back:hover{background:none;text-decoration:underline;transform:none;box-shadow:none}.tile-title{font-size:14px;font-weight:650}.tile-text{font-size:12px;color:var(--muted);line-height:1.35}.maint-layout{display:grid;grid-template-columns:minmax(220px,280px) 1fr;gap:12px;align-items:start}.tree-node{display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px;text-align:left;border:none;background:transparent;border-radius:0;padding:5px 8px;font-size:13px}.tree-node:hover{background:var(--row-hover)}.tree-node-active{background:#e7eef0;font-weight:650}.tree-count{color:var(--muted);font-weight:500;font-size:11px}button.row{width:100%;text-align:left}.text-2xl{font-size:18px;font-weight:700}.text-xl{font-size:16px;font-weight:700}.text-lg{font-size:15px}.text-sm{font-size:13px}.text-xs{font-size:12px}.font-semibold{font-weight:650}.font-medium{font-weight:600}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.text-gray-400,.text-gray-500,.text-gray-600,.text-gray-700{color:var(--muted)}.text-blue-600,.text-blue-700{color:var(--link)}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:10px}.mb-4{margin-bottom:14px}.mt-2{margin-top:8px}.mt-3{margin-top:10px}.py-6{padding-top:8px;padding-bottom:8px}.px-3{padding-left:10px;padding-right:10px}.py-2{padding-top:6px;padding-bottom:6px}.max-w-3xl,.max-w-xl{max-width:100%}.max-w-6xl{max-width:1280px}.mx-auto{margin-left:auto;margin-right:auto}.flex{display:flex}.flex-col{flex-direction:column}.flex-1{flex:1}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:10px}.w-full{width:100%}.min-h-screen{min-height:100%}.border-b{border-bottom:1px solid var(--border)}.bg-white{background:var(--surface)}.whitespace-nowrap{white-space:nowrap}.hover\:underline:hover{text-decoration:underline}@media (max-width: 720px){.header-row{gap:8px}.company-slot{min-width:unset;justify-content:flex-start}.app-main{padding:12px 12px 24px}.admin-table th,.admin-table td{white-space:normal}.tile-grid,.maint-layout,.form-row-2{grid-template-columns:1fr}.cust-shell{margin-left:0!important}.cust-sidebar{transform:translate(-105%);width:min(280px,86vw);box-shadow:none}.cust-sidebar.is-collapsed{width:min(280px,86vw)}.cust-sidebar.is-mobile-open{transform:translate(0);box-shadow:4px 0 24px #2029231f}.cust-sidebar-backdrop.is-open{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#20292359;z-index:45}.cust-topbar{grid-template-columns:auto 1fr auto;gap:8px;padding:0 12px}.cust-topbar-menu{display:inline-flex;align-items:center;justify-content:center}.cust-sidebar-collapse,.cust-topbar-user-email{display:none}.cust-topbar-brand-name{font-size:13px}.cust-topbar-brand-logo{height:30px}.cust-breadcrumbs{display:none}.dash-body.has-side,.dash-body.has-orders,.dash-body.has-orders.has-side{grid-template-columns:1fr}.dash-head{flex-direction:column;align-items:flex-start}}.products-page .products-head-actions{flex-wrap:wrap;gap:8px}.products-toolbar{align-items:center}.products-toolbar input[type=search]{flex:1 1 240px;min-width:200px}.products-threshold{display:inline-flex;align-items:center;gap:6px;margin:0;white-space:nowrap}.products-sort{gap:6px}.products-page-error{margin:0;padding:10px 12px;color:#b91c1c;border-bottom:1px solid var(--border)}.products-export,.products-more{position:relative}.products-export>summary,.products-more>summary{list-style:none;cursor:pointer;-webkit-user-select:none;user-select:none}.products-export>summary::-webkit-details-marker,.products-more>summary::-webkit-details-marker{display:none}.products-export-menu,.products-more-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:20;min-width:140px;display:flex;flex-direction:column;gap:2px;padding:6px;border:1px solid var(--border);border-radius:8px;background:var(--surface, #fff);box-shadow:0 8px 20px #0f172a14}.products-export-menu button,.products-more-menu a,.products-more-menu button{display:block;width:100%;text-align:left;padding:8px 10px;border:none;border-radius:6px;background:transparent;color:var(--text);font:inherit;font-weight:600;font-size:13px;text-decoration:none;cursor:pointer}.products-export-menu button:hover,.products-more-menu a:hover,.products-more-menu button:hover{background:var(--row-hover)}.products-more>summary{display:inline-flex;align-items:center;justify-content:center;gap:0;padding:0;width:28px;height:28px;min-width:28px;min-height:28px;border:1px solid var(--border);border-radius:var(--radius, 8px);background:#fff;font-size:12px;font-weight:650;color:var(--text);line-height:1;white-space:nowrap;box-sizing:border-box}.products-more>summary:hover{background:var(--row-hover)}.products-more>summary:focus-visible{outline:2px solid var(--brand, #0f766e);outline-offset:2px}.products-more-caret{font-size:16px;line-height:1;opacity:.8}.products-panel.table-wrap{overflow-x:hidden;max-width:100%}.products-table{width:100%;max-width:100%;table-layout:fixed}.products-table thead th{position:sticky;top:0;z-index:2;padding:8px 6px}.products-table tbody td{padding:6px;vertical-align:middle;height:auto;min-height:44px;overflow:hidden}.products-col-name{width:18%;font-weight:650;white-space:normal}.products-col-ek{width:10%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.products-col-supplier{width:11%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.products-col-sku{width:22%;white-space:normal;overflow:hidden;vertical-align:middle}.products-sku-cell{display:flex;flex-direction:column;gap:1px;min-width:0;max-width:100%}.products-sku-code{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;line-height:1.3;font-variant-numeric:tabular-nums}.products-sku-note{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:500;color:var(--muted);line-height:1.25}.products-col-stock{width:108px;white-space:nowrap}.products-col-unit{width:40px;text-align:center;white-space:nowrap;padding-left:4px;padding-right:4px}.products-col-actions{width:168px;white-space:nowrap;overflow:visible}.products-name-link{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;color:var(--brand, #0f766e);text-decoration:none;line-height:1.3}.products-name-link:hover{text-decoration:underline}.products-name-link:focus-visible{outline:2px solid var(--brand, #0f766e);outline-offset:2px;border-radius:2px}.products-row-dirty td{background:#0f766e0a}.products-stock{display:flex;flex-direction:column;align-items:stretch;gap:2px;min-width:0}.products-stock-row{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}.products-stock-input{width:64px;max-width:100%;min-width:0;height:30px;padding:4px 6px;border:1px solid var(--border);border-radius:6px;font:inherit;font-size:13px;text-align:right;box-sizing:border-box}.products-stock-save{flex:0 0 auto;height:30px;padding:0 8px!important;font-size:11px!important;line-height:1;white-space:nowrap}.products-stock.is-stock-zero .products-stock-input{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.products-stock.is-stock-low .products-stock-input{background:#fff7ed;border-color:#fed7aa;color:#c2410c}.products-stock.is-dirty .products-stock-input{box-shadow:inset 0 0 0 1px var(--brand, #0f766e)}.products-stock-ok{font-size:11px;font-weight:700;color:var(--ok, #15803d);white-space:nowrap}.products-stock-err{font-size:11px;font-weight:600;color:#b91c1c;line-height:1.2;max-width:180px}.products-row-actions{display:inline-flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:4px;margin:0;max-width:100%;line-height:1;vertical-align:middle}.products-row-actions .dash-primary,.products-row-actions .btn-secondary,.products-row-actions .products-more>summary{display:inline-flex;align-items:center;justify-content:center;margin:0;padding:0 8px;font-size:11px;line-height:1;height:28px;min-height:28px;box-sizing:border-box;vertical-align:middle}.products-action-order,.products-action-obj{white-space:nowrap}a.products-action-order.dash-primary,.products-action-order.dash-primary{background:#243d32;border:1px solid #243d32;color:#fff;font-weight:700;letter-spacing:.01em;box-shadow:none;margin:0;padding:0 10px;height:28px;min-height:28px;line-height:1}a.products-action-order.dash-primary:hover,.products-action-order.dash-primary:hover{background:#2f5343;border-color:#2f5343;color:#fff;text-decoration:none}a.products-action-order.dash-primary:focus-visible,.products-action-order.dash-primary:focus-visible{outline:2px solid #243d32;outline-offset:2px;box-shadow:0 0 0 3px #243d3240}a.products-action-order.dash-primary:active,.products-action-order.dash-primary:active{background:#1a2e25;border-color:#1a2e25;color:#fff}a.products-action-order.dash-primary[aria-disabled=true],a.products-action-order.dash-primary.is-disabled,.products-action-order.dash-primary:disabled,.products-action-order.dash-primary[disabled]{background:#e5e7eb;border-color:#e5e7eb;color:#4b5563;cursor:not-allowed;pointer-events:none;opacity:1;box-shadow:none}.products-cards{display:none;list-style:none;margin:0;padding:10px;gap:10px}.products-card{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface, #fff)}.products-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.products-card-ek{font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap}.products-card-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin:0}.products-card-meta dt{margin:0;font-size:11px;font-weight:600;color:var(--muted)}.products-card-meta dd{margin:2px 0 0;font-size:13px;font-weight:500}@media (max-width: 900px){.products-table{display:none}.products-cards{display:flex;flex-direction:column}.products-card-meta{grid-template-columns:1fr}.products-row-actions.is-compact{width:100%;flex-wrap:wrap}.products-table tbody td{height:auto}.products-page .dash-head-actions{width:100%}}
