:root{--bg-primary: #ededea;--bg-secondary: #f5f4f1;--bg-tertiary: #e5e3df;--bg-elevated: #dbd8d3;--bg-card: #ffffff;--bg-card-hover: #fafaf8;--text-primary: #111111;--text-secondary: #3a3a3a;--text-muted: #717171;--border-color: rgba(0, 0, 0, .1);--border-light: rgba(0, 0, 0, .14);--border-active: rgba(0, 0, 0, .22);--stage-ny: #2b7ed8;--stage-ny-bg: rgba(43, 126, 216, .1);--stage-ny-border: rgba(43, 126, 216, .3);--stage-under_arbeid: #d19200;--stage-under_arbeid-bg: rgba(209, 146, 0, .1);--stage-under_arbeid-border: rgba(209, 146, 0, .3);--stage-pakket: #7c3aed;--stage-pakket-bg: rgba(124, 58, 237, .1);--stage-pakket-border: rgba(124, 58, 237, .3);--stage-klar_til_levering: #15803d;--stage-klar_til_levering-bg: rgba(21, 128, 61, .1);--stage-klar_til_levering-border: rgba(21, 128, 61, .3);--stage-levert: #525960;--stage-levert-bg: rgba(82, 89, 96, .08);--stage-levert-border: rgba(82, 89, 96, .22);--stage-fakturert: #0d9488;--stage-fakturert-bg: rgba(13, 148, 136, .08);--stage-fakturert-border: rgba(13, 148, 136, .25);--accent: #2b7ed8;--accent-primary: #2b7ed8;--fulfill-full: #16a34a;--fulfill-full-bg: rgba(22, 163, 74, .1);--fulfill-partial: #d97706;--fulfill-partial-bg: rgba(217, 119, 6, .1);--fulfill-critical: #dc2626;--fulfill-critical-bg: rgba(220, 38, 38, .1);--fulfill-none: #6b7280;--fulfill-none-bg: rgba(107, 114, 128, .12);--card-bg: var(--bg-card);--text-tertiary: #8f8f8f;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", monospace;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-full: 999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .14);--shadow-card: 0 1px 3px rgba(0,0,0,.05), 0 1px 2px rgba(0,0,0,.04);color-scheme:light}[data-theme=dark]{--bg-primary: #181b2e;--bg-secondary: #1e2235;--bg-tertiary: #252940;--bg-elevated: #2d3250;--bg-card: #1e2235;--bg-card-hover: #262a42;--text-primary: #f4f6fb;--text-secondary: #c4cdd9;--text-muted: #7a89a3;--border-color: rgba(140, 160, 210, .1);--border-light: rgba(140, 160, 210, .14);--border-active: rgba(140, 160, 210, .22);--stage-ny: #5ba3f5;--stage-ny-bg: rgba(91, 163, 245, .12);--stage-ny-border: rgba(91, 163, 245, .25);--stage-under_arbeid: #f0b429;--stage-under_arbeid-bg: rgba(240, 180, 41, .12);--stage-under_arbeid-border: rgba(240, 180, 41, .25);--stage-pakket: #a78bfa;--stage-pakket-bg: rgba(167, 139, 250, .12);--stage-pakket-border: rgba(167, 139, 250, .25);--stage-klar_til_levering: #4ade80;--stage-klar_til_levering-bg: rgba(74, 222, 128, .12);--stage-klar_til_levering-border: rgba(74, 222, 128, .25);--stage-levert: #94a3b8;--stage-levert-bg: rgba(148, 163, 184, .1);--stage-levert-border: rgba(148, 163, 184, .2);--stage-fakturert: #2dd4bf;--stage-fakturert-bg: rgba(45, 212, 191, .1);--stage-fakturert-border: rgba(45, 212, 191, .2);--accent: #5ba3f5;--accent-primary: #5ba3f5;--text-tertiary: #6b7a94;--fulfill-full: #4ade80;--fulfill-full-bg: rgba(22, 163, 74, .15);--fulfill-partial: #fbbf24;--fulfill-partial-bg: rgba(217, 119, 6, .15);--fulfill-critical: #f87171;--fulfill-critical-bg: rgba(220, 38, 38, .15);--fulfill-none: #94a3b8;--fulfill-none-bg: rgba(148, 163, 184, .15);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .35);--shadow-md: 0 4px 12px rgba(0, 0, 0, .45);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .55);--shadow-card: 0 1px 4px rgba(0, 0, 0, .3);color-scheme:dark}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease,color .3s ease}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3}button{cursor:pointer;font-family:inherit;border:none;background:none}input,textarea,select{font-family:inherit;border:none;background:none;outline:none}:focus-visible{outline:2px solid var(--accent)!important;outline-offset:2px;border-radius:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}ul{list-style:none}a{color:inherit;text-decoration:none}.mono{font-family:var(--font-mono)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-elevated);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.stage-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-full);font-size:.7rem;font-weight:600;letter-spacing:.02em;white-space:nowrap}.stage-ny{background:var(--stage-ny-bg);color:var(--stage-ny);border:1px solid var(--stage-ny-border)}.stage-under-arbeid{background:var(--stage-under_arbeid-bg);color:var(--stage-under_arbeid);border:1px solid var(--stage-under_arbeid-border)}.stage-pakket{background:var(--stage-pakket-bg);color:var(--stage-pakket);border:1px solid var(--stage-pakket-border)}.stage-klar-til-levering{background:var(--stage-klar_til_levering-bg);color:var(--stage-klar_til_levering);border:1px solid var(--stage-klar_til_levering-border)}.stage-levert{background:var(--stage-levert-bg);color:var(--stage-levert);border:1px solid var(--stage-levert-border)}.stage-fakturert{background:var(--stage-fakturert-bg);color:var(--stage-fakturert);border:1px solid var(--stage-fakturert-border)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border-radius:var(--radius-md);font-weight:500;font-size:.85rem;transition:all .2s ease}.btn-sm{padding:5px 10px;font-size:.75rem;border-radius:var(--radius-sm)}.btn-primary{background:var(--stage-ny);color:#fff}.btn-primary:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border-light)}.btn-secondary:hover{background:var(--bg-secondary);color:var(--text-primary)}.btn-outline{background:transparent;color:var(--text-primary);border:1.5px solid var(--border-light)}.btn-outline:hover{background:var(--bg-secondary);border-color:var(--border-active)}.btn:active:not(:disabled){transform:translateY(0) scale(.97)}.btn:disabled{opacity:.4;pointer-events:none}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.app-header{display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;height:56px;background:var(--bg-card);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-sm);z-index:10;flex-shrink:0;transition:background .3s ease,border-color .3s ease}.header-logo{display:flex;align-items:center;gap:12px}.header-logo-img{height:28px;width:auto;object-fit:contain}.header-logo-divider{width:1px;height:22px;background:var(--border-color);flex-shrink:0}.header-logo-subtitle{font-size:.82rem;font-weight:600;color:var(--text-secondary);letter-spacing:-.01em;white-space:nowrap}.header-center{display:flex;align-items:center}.view-toggle{display:flex;background:var(--bg-primary);border-radius:var(--radius-md);padding:3px;border:1px solid var(--border-color)}.toggle-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;font-size:.8rem;font-weight:500;color:var(--text-muted);border-radius:7px;transition:all .2s ease}.toggle-btn:hover{color:var(--text-secondary)}.toggle-btn.active{background:var(--bg-card);color:var(--text-primary);box-shadow:var(--shadow-sm)}.header-right{display:flex;align-items:center;gap:1rem}.header-date{font-size:.8rem;color:var(--text-muted);text-transform:capitalize}.header-logout-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-sm);color:var(--text-muted);transition:all .15s ease;cursor:pointer;flex-shrink:0}.header-logout-btn:hover{background:#ef44441a;color:#ef4444}.theme-toggle{display:flex;align-items:center;padding:0}.theme-toggle-track{position:relative;width:48px;height:26px;background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:space-between;padding:0 5px;cursor:pointer;transition:background .3s ease,border-color .3s ease}.theme-toggle-track:hover{border-color:var(--border-active)}.theme-icon{color:var(--text-muted);z-index:1;transition:color .2s ease}.sun-icon{color:#e5a100}[data-theme=dark] .moon-icon{color:#5ba3f5}.theme-toggle-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;background:var(--bg-card);border-radius:50%;box-shadow:0 1px 3px #0003;transition:transform .3s cubic-bezier(.4,0,.2,1)}.theme-toggle-thumb.dark{transform:translate(22px)}.alerts-toggle{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border:1px solid var(--border-light);border-radius:var(--radius-full);background:transparent;color:var(--text-muted);font:inherit;font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .15s ease,color .15s ease,border-color .15s ease}.alerts-toggle:hover{color:var(--text-primary);border-color:var(--border-active)}.alerts-toggle.is-off{background:#f59e0b24;border-color:#f59e0b;color:#b45309}.alerts-toggle.is-off:hover{color:#92400e;border-color:#d97706}[data-theme=dark] .alerts-toggle.is-off{color:#fbbf24}[data-theme=dark] .alerts-toggle.is-off:hover{color:#fcd34d}.app-header.mobile{position:relative;padding:0 .85rem;height:46px;justify-content:center}.app-header.mobile .header-logo-img{height:22px}.app-header.mobile .alerts-toggle{position:absolute;right:.85rem;top:50%;transform:translateY(-50%);padding:8px;border-radius:50%}.order-list-container{display:flex;flex-direction:column;height:100%;padding:1.25rem;gap:.75rem}.list-top-bar{display:flex;flex-direction:column;gap:.65rem}.search-box{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:12px;color:var(--text-muted);pointer-events:none}.search-input{width:100%;padding:.7rem .85rem .7rem 2.5rem;border:1.5px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-primary);font-size:.88rem;transition:all .2s;box-shadow:var(--shadow-sm)}.search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2563eb14}.search-input::placeholder{color:var(--text-muted)}.search-count{position:absolute;right:12px;font-size:.72rem;color:var(--text-muted);font-weight:500;background:var(--bg-secondary);padding:2px 8px;border-radius:var(--radius-full)}.filters-bar{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.15rem;-webkit-overflow-scrolling:touch}.filters-bar::-webkit-scrollbar{height:0}.filter-pill{display:flex;align-items:center;gap:5px;padding:6px 14px;background:var(--bg-card);border:1.5px solid var(--border-color);border-radius:var(--radius-full);color:var(--text-muted);font-size:.78rem;font-weight:600;transition:all .2s;white-space:nowrap;cursor:pointer;flex-shrink:0}.filter-pill:hover{background:var(--bg-secondary);color:var(--text-secondary);border-color:var(--border-light)}.filter-pill.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 2px 8px #2563eb40}.filter-pill.active .pill-count{background:#ffffff40}.pill-count{font-size:.68rem;padding:1px 6px;border-radius:var(--radius-full);background:var(--bg-tertiary);font-weight:700}.table-container{flex:1;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:auto;box-shadow:var(--shadow-sm)}.order-table{width:100%;border-collapse:collapse;text-align:left}.order-table th{padding:.7rem .85rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:2px solid var(--border-color);background:var(--bg-secondary);position:sticky;top:0;z-index:5;-webkit-user-select:none;user-select:none}.order-table th.sortable{cursor:pointer;transition:color .15s}.order-table th.sortable:hover{color:var(--text-primary)}.sort-icon{opacity:.3;vertical-align:middle;margin-left:3px}.sort-icon.sort-active{opacity:1;color:var(--accent)}.order-row{border-bottom:1px solid var(--border-color);transition:background .12s;cursor:pointer}.order-row:hover{background:var(--bg-secondary)}.order-row.expanded{background:#2563eb08}.order-row td{padding:.65rem .85rem;vertical-align:middle;font-size:.85rem}.col-expand{width:32px;color:var(--text-muted);cursor:pointer}.col-id{width:110px}.order-num{font-weight:700;color:var(--text-primary);font-size:.82rem}.col-customer{min-width:160px}.customer-info{display:flex;flex-direction:column;gap:1px}.company{font-weight:600;color:var(--text-primary);font-size:.85rem}.contact{font-size:.75rem;color:var(--text-muted)}.col-location{min-width:100px}.location-info{display:flex;align-items:center;gap:4px;font-size:.8rem;color:var(--text-secondary)}.loc-icon{color:var(--text-muted);flex-shrink:0}.col-items{min-width:100px}.items-info{display:flex;align-items:center;gap:5px;font-size:.8rem;color:var(--text-secondary)}.items-icon{color:var(--text-muted)}.items-qty{font-size:.72rem;color:var(--text-muted);font-family:var(--font-mono)}.col-fulfillment{width:110px}.fulfill-bar-container{display:flex;align-items:center;gap:6px}.fulfill-bar{flex:1;height:6px;border-radius:3px;background:var(--bg-tertiary);overflow:hidden}.fulfill-bar-fill{height:100%;border-radius:3px;transition:width .3s ease}.fulfill-bar.pct-full .fulfill-bar-fill{background:var(--fulfill-full)}.fulfill-bar.pct-partial .fulfill-bar-fill{background:var(--fulfill-partial)}.fulfill-bar.pct-critical .fulfill-bar-fill{background:var(--fulfill-critical)}.fulfill-bar.pct-none .fulfill-bar-fill{background:#9ca3af}.fulfill-pct{font-size:.72rem;font-weight:700;font-family:var(--font-mono);min-width:32px;text-align:right}.fulfill-pct.pct-full{color:var(--fulfill-full)}.fulfill-pct.pct-partial{color:var(--fulfill-partial)}.fulfill-pct.pct-critical{color:var(--fulfill-critical)}.fulfill-pct.pct-none{color:var(--fulfill-none)}.col-date{min-width:120px}.date-info{display:flex;flex-direction:column;gap:1px}.date-day{font-size:.82rem;color:var(--text-secondary)}.date-time{font-size:.7rem;color:var(--text-muted);font-family:var(--font-mono)}.col-stage{width:130px}.stage-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-full);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap}.order-details-row td{padding:0 .85rem .85rem 0;background:#2563eb05;border-bottom:2px solid var(--border-color)}.line-items-container{padding:.75rem;background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-color);margin-left:.85rem}.line-items-table{width:100%;border-collapse:collapse;font-size:.8rem}.line-items-table th{background:none;border-bottom:1px dashed var(--border-light);padding:.4rem .6rem;position:static;font-size:.68rem;text-align:left}.line-items-table td{padding:.4rem .6rem;border-bottom:1px solid var(--border-color)}.li-product{font-weight:500}.li-qty{font-family:var(--font-mono)}.li-fulfilled{font-family:var(--font-mono);font-weight:700}.li-fulfilled.pct-full{color:var(--fulfill-full)}.li-fulfilled.pct-partial{color:var(--fulfill-partial)}.li-fulfilled.pct-critical{color:var(--fulfill-critical)}.li-weight{font-family:var(--font-mono);color:var(--text-muted)}.total-row td{font-weight:700;color:var(--text-primary);border-top:2px solid var(--border-light);border-bottom:none}.total-row .pct-full{color:var(--fulfill-full)}.total-row .pct-partial{color:var(--fulfill-partial)}.total-row .pct-critical{color:var(--fulfill-critical)}.empty-state{text-align:center;padding:3rem!important;color:var(--text-muted);font-size:.88rem}@media (max-width: 768px){.order-list-container{padding:.75rem;gap:.5rem}.search-input{font-size:.82rem;padding:.6rem .75rem .6rem 2.2rem}.filters-bar{gap:.35rem}.filter-pill{padding:5px 10px;font-size:.72rem}.order-table thead{display:none}.order-table,.order-table tbody{display:block;width:100%}.order-row{display:flex;flex-wrap:wrap;align-items:center;padding:.75rem;border-bottom:1px solid var(--border-color);gap:0}.order-row td{padding:0;border:none}.col-expand{width:28px;flex-shrink:0}.col-id{flex:0 0 auto;font-size:.82rem;margin-right:.5rem}.col-stage{flex:0 0 auto;margin-left:auto}.col-customer{flex:1 1 100%;margin-top:4px;order:10}.col-location,.col-items,.col-fulfillment,.col-date{display:none}.order-details-row{display:block}.order-details-row td{display:block;padding:0 .75rem .75rem}.line-items-container{padding:.5rem;margin-left:0}}@media (min-width: 769px) and (max-width: 1200px){.order-table th,.order-row td{padding:.55rem .65rem}.col-location{display:none}}.ny-sort-wrap{display:flex;padding:0 .75rem;margin-bottom:.5rem}.kanban-sort-toggle{flex:1;justify-content:center;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border-color);border-radius:var(--radius-full);background:var(--bg-card);color:var(--text-muted);font:inherit;font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease,border-color .15s ease}.kanban-sort-toggle:hover{color:var(--text-primary);border-color:var(--border-active, var(--border-color))}.kanban-sort-toggle.is-active{background:var(--accent, var(--stage-ny));border-color:var(--accent, var(--stage-ny));color:#fff}.kanban-container{display:flex;padding:1.25rem;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;align-items:stretch;-webkit-user-select:none;user-select:none;min-height:calc(100vh - 80px)}.kanban-container.is-dragging{cursor:grabbing}.kanban-container.is-dragging *{cursor:grabbing!important}.kanban-column{flex:1;min-width:260px;display:flex;flex-direction:column;background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color);overflow:hidden;scroll-snap-align:start;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,transform .2s ease}.kanban-column.drag-over{border-color:var(--col-color);box-shadow:0 0 0 2px var(--col-color),0 8px 24px #0000001a;background:color-mix(in srgb,var(--col-color) 4%,var(--bg-secondary));transform:scale(1.01)}.kanban-column.drag-source{opacity:.7}.column-color-bar{height:4px;width:100%;flex-shrink:0;transition:height .2s ease}.kanban-column.drag-over .column-color-bar{height:6px}.column-header{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem;background:var(--col-color);color:#fff;border-radius:0}.column-header-left{display:flex;align-items:center;gap:.65rem}.column-icon-wrap{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;background:#fff3!important;box-shadow:none;transition:box-shadow .3s ease}.column-icon-wrap.has-orders{animation:iconPop 2s ease-in-out infinite}@keyframes iconPop{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.column-title-group{display:flex;flex-direction:column;gap:1px}.column-header h3{font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;font-weight:800;line-height:1.2;color:#fff!important}.column-desc{font-size:.68rem;color:#ffffffbf;font-weight:400}.column-count{background:#ffffff40;color:#fff;padding:3px 10px;border-radius:var(--radius-full);font-size:.8rem;font-weight:700;font-family:var(--font-mono);transition:all .2s ease;min-width:28px;text-align:center}.kanban-column.drag-over .column-count{background:var(--col-color);color:#fff;transform:scale(1.1)}.column-content{padding:0 .75rem .75rem;display:flex;flex-direction:column;gap:.65rem;flex:1}.drop-indicator{border:2px dashed;border-radius:var(--radius-md);padding:1rem;display:flex;align-items:center;justify-content:center;opacity:.7;animation:pulseIndicator 1.5s ease-in-out infinite}.drop-indicator span{font-size:.85rem;font-weight:600;opacity:.6}@keyframes pulseIndicator{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.01)}}.empty-column{text-align:center;color:var(--text-muted);font-size:.85rem;font-style:italic;border:1px dashed var(--border-light);padding:2rem 1rem;border-radius:var(--radius-md);background:var(--bg-card)}.column-overflow{text-align:center;font-size:.78rem;color:var(--text-muted);padding:.6rem;border-top:1px dashed var(--border-light);margin-top:.25rem}.customer-order-group{border:1.5px dashed var(--border-color);border-radius:var(--radius-md);padding:6px 6px 2px;margin-bottom:2px;background:var(--bg-secondary);position:relative}.customer-group-label{display:flex;align-items:center;gap:6px;font-size:.68rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding:2px 4px 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.customer-group-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:100px;background:var(--accent);color:#fff;font-size:.65rem;font-weight:800;flex-shrink:0}.customer-order-group .draggable-card{margin-bottom:4px}.draggable-card{cursor:grab;transition:opacity .2s ease,transform .2s ease;touch-action:auto;-webkit-user-select:none;user-select:none}.draggable-card:active{cursor:grabbing}.draggable-card.is-dragging{opacity:.25;transform:scale(.96);pointer-events:none}.kanban-container.is-dragging{touch-action:none;overflow:hidden}.kanban-container.is-dragging .draggable-card{touch-action:none}.drag-clone{transform:rotate(1.5deg) scale(1.04);box-shadow:0 20px 40px #00000040,0 8px 16px #0000001f;border-radius:var(--radius-md);opacity:.92;will-change:left,top,transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}@media (pointer: coarse){.order-card{padding:1.15rem 1.2rem;min-height:60px}.quick-stage-btn{padding:.6rem 1rem;font-size:.82rem;min-height:42px}.drop-indicator{min-height:80px;font-size:1rem}.order-card:hover{transform:none;border-color:var(--border-color);box-shadow:var(--shadow-card)}.kanban-container{-webkit-tap-highlight-color:transparent}}.order-card{position:relative;overflow:hidden;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem 1.1rem;cursor:pointer;transition:all .2s ease,background .3s ease;box-shadow:var(--shadow-card)}.order-card:hover{border-color:var(--border-active);box-shadow:var(--shadow-md);transform:translateY(-1px)}.fakturert-stamp{position:absolute;top:18px;right:-14px;transform:rotate(14deg);font-family:Inter,sans-serif;font-size:.95rem;font-weight:900;letter-spacing:3px;text-transform:uppercase;color:var(--stage-fakturert, #0d9488);opacity:.15;border:3px solid var(--stage-fakturert, #0d9488);border-radius:6px;padding:2px 12px;pointer-events:none;z-index:1;box-shadow:inset 0 0 0 2px var(--stage-fakturert, #0d9488)}.fakturert-search-wrap{position:relative;padding:0 .75rem;margin-bottom:.5rem}.fakturert-search-input-wrap{position:relative;display:flex;align-items:center}.fakturert-search-icon{position:absolute;left:10px;color:var(--text-muted);pointer-events:none}.fakturert-search-input{width:100%;padding:7px 32px 7px 30px;border:1px solid var(--border-color);border-radius:var(--radius-sm, 8px);background:var(--bg-elevated, rgba(255,255,255,.06));color:var(--text-primary);font-size:.8rem;font-family:var(--font-sans);outline:none;transition:border-color .2s,box-shadow .2s}.fakturert-search-input::placeholder{color:var(--text-muted);opacity:.6}.fakturert-search-input:focus{border-color:var(--stage-fakturert);box-shadow:0 0 0 2px #0d948826}.fakturert-search-clear{position:absolute;right:6px;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:50%;display:flex;align-items:center;transition:color .15s,background .15s}.fakturert-search-clear:hover{color:var(--text-primary);background:var(--border-color)}.fakturert-search-dropdown{position:absolute;top:100%;left:.75rem;right:.75rem;margin-top:4px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm, 8px);box-shadow:var(--shadow-md);z-index:20;max-height:240px;overflow-y:auto}.fakturert-search-option{display:block;width:100%;text-align:left;padding:8px 12px;border:none;background:none;color:var(--text-primary);font-size:.82rem;font-family:var(--font-sans);cursor:pointer;transition:background .12s}.fakturert-search-option:hover{background:var(--stage-fakturert-bg, rgba(13, 148, 136, .08))}.fakturert-search-option+.fakturert-search-option{border-top:1px solid var(--border-color)}.card-company{font-size:1.05rem;font-weight:700;color:var(--text-primary);margin-bottom:3px;line-height:1.3}.card-contact{display:flex;align-items:center;gap:5px;font-size:.85rem;color:var(--text-secondary);margin-bottom:5px}.card-meta-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.card-order-num{font-size:.78rem;font-weight:600;color:var(--text-muted)}.card-meta-dot{color:var(--text-muted);font-size:.65rem}.card-meta-item{display:flex;align-items:center;gap:3px;font-size:.78rem;color:var(--text-muted)}.card-date{font-size:.75rem;color:var(--text-muted);margin-left:auto}.card-time{opacity:.7;font-family:var(--font-mono);font-size:.68rem}.card-note{display:flex;align-items:flex-start;gap:6px;margin-top:6px;padding:7px 10px;background:#fef9e7;border:1.5px solid #f5d56e;border-radius:6px;font-size:.76rem;color:#6b5c10;line-height:1.35}.card-note svg{flex-shrink:0;color:#d4a017;margin-top:1px}[data-theme=dark] .card-note{background:#f5d56e1f;border-color:#f5d56e59;color:#f5f0e0}.card-internal-note{display:flex;align-items:flex-start;gap:6px;margin-top:6px;padding:7px 10px;background:#6366f114;border:1.5px solid rgba(99,102,241,.25);border-radius:6px;font-size:.76rem;color:#4338ca;line-height:1.35}.card-internal-note svg{flex-shrink:0;color:#6366f1;margin-top:1px}[data-theme=dark] .card-internal-note{background:#6366f11a;border-color:#6366f14d;color:#c7d2fe}[data-theme=dark] .card-internal-note svg{color:#818cf8}.card-divider{height:1px;background:var(--border-color);margin:9px 0}.card-products{display:flex;flex-direction:column;gap:3px;margin-bottom:4px}.card-product-row{display:flex;align-items:center;gap:6px;font-size:.82rem}.prod-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.prod-dot.dot-full{background:var(--fulfill-full)}.prod-dot.dot-partial{background:var(--fulfill-partial)}.prod-dot.dot-critical{background:var(--fulfill-critical)}.prod-dot.dot-none{background:#9ca3af}[data-theme=dark] .prod-dot.dot-none{background:#64748b}.prod-qty{font-weight:700;color:var(--text-primary);background:var(--bg-tertiary);padding:2px 6px;border-radius:4px;font-size:.74rem;min-width:32px;text-align:center;font-family:var(--font-mono);transition:background .3s ease}.prod-name{color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}[data-theme=dark] .prod-name{color:var(--text-primary)}.prod-weight{font-size:.7rem;font-family:var(--font-mono);color:var(--text-muted);white-space:nowrap;flex-shrink:0;margin-left:auto}[data-theme=dark] .prod-weight{color:var(--text-secondary)}.card-stats{display:flex;flex-direction:column;gap:5px}.card-stats-row{display:flex;justify-content:space-between;align-items:center}.card-stat{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--text-muted)}.stat-icon{opacity:.6;flex-shrink:0}.stat-label{font-weight:500}[data-theme=dark] .card-contact{color:var(--text-primary)}[data-theme=dark] .card-order-num,[data-theme=dark] .card-meta-item,[data-theme=dark] .card-meta-dot,[data-theme=dark] .card-date,[data-theme=dark] .card-stat{color:var(--text-secondary)}[data-theme=dark] .stat-icon{opacity:.8}[data-theme=dark] .stat-ordered{color:var(--text-primary)}.card-stat-fulfill{display:flex;align-items:center;gap:4px;font-size:.75rem;font-family:var(--font-mono)}.stat-ordered{color:var(--text-secondary);font-weight:500}.stat-arrow{color:var(--text-muted);font-size:.65rem}.stat-fulfilled{font-weight:700}.stat-fulfilled.card-fulfill-full{color:var(--fulfill-full)}.stat-fulfilled.card-fulfill-partial{color:var(--fulfill-partial)}.stat-fulfilled.card-fulfill-critical{color:var(--fulfill-critical)}.stat-fulfilled.card-fulfill-none{color:var(--fulfill-none)}.card-fulfill-badge{font-size:.68rem;font-weight:800;font-family:var(--font-mono);padding:2px 7px;border-radius:var(--radius-full);letter-spacing:-.02em}.card-fulfill-badge.card-fulfill-full{background:var(--fulfill-full-bg);color:var(--fulfill-full)}.card-fulfill-badge.card-fulfill-partial{background:var(--fulfill-partial-bg);color:var(--fulfill-partial)}.card-fulfill-badge.card-fulfill-critical{background:var(--fulfill-critical-bg);color:var(--fulfill-critical)}.card-fulfill-badge.card-fulfill-none{background:var(--fulfill-none-bg);color:var(--fulfill-none)}.card-sibling-alert{display:flex;align-items:center;gap:6px;margin-top:6px;padding:5px 8px;border-radius:var(--radius-sm);background:#f59e0b1a;border:1px solid rgba(245,158,11,.25);color:#d97706;font-size:.7rem;font-weight:600;line-height:1.3}.card-sibling-alert svg{flex-shrink:0;color:#f59e0b}.card-sibling-alert strong{font-weight:800}[data-theme=dark] .card-sibling-alert{background:#f59e0b14;border-color:#f59e0b33;color:#fbbf24}.card-action{display:flex;justify-content:flex-end;margin-top:6px}.quick-stage-btn{display:flex;align-items:center;gap:5px;padding:6px 14px;border-radius:var(--radius-sm);font-size:.78rem;font-weight:700;color:var(--stage-ny);background:var(--stage-ny-bg);border:1px solid var(--stage-ny-border);transition:all .15s ease}.quick-stage-btn:hover{filter:brightness(.95);transform:translate(2px);box-shadow:var(--shadow-sm)}@media (max-width: 640px){.kanban-container{padding:.75rem;gap:.75rem;scroll-padding:.75rem}.kanban-column{min-width:calc(100vw - 1.5rem);flex:0 0 auto}.column-header{padding:.6rem .85rem}.column-icon-wrap{width:28px;height:28px;border-radius:7px}.column-icon-wrap svg{width:14px;height:14px}.column-header h3{font-size:.75rem}.column-desc{display:none}.column-content{padding:0 .6rem .6rem;gap:.5rem}.order-card{padding:.75rem}.card-company{font-size:.9rem}.order-card:hover{transform:none}.quick-stage-btn{padding:6px 12px;font-size:.72rem}}.card-urgent{border:2px solid #ef4444!important;box-shadow:0 0 0 1px #ef444426,0 4px 12px #ef44441a;animation:urgentPulse 3s ease-in-out infinite}@keyframes urgentPulse{0%,to{box-shadow:0 0 0 1px #ef444426,0 4px 12px #ef44441a}50%{box-shadow:0 0 0 3px #ef444433,0 4px 16px #ef444433}}.urgent-banner{display:flex;align-items:center;gap:5px;padding:4px 8px;margin:-.4rem -.5rem .5rem;background:#ef44441f;border-radius:var(--radius-sm) var(--radius-sm) 0 0;color:#ef4444;font-size:.68rem;font-weight:800;letter-spacing:.05em}[data-theme=dark] .urgent-banner{background:#ef444426;color:#f87171}.delivery-date-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;margin-bottom:.35rem;background:#3b82f614;border:1px solid rgba(59,130,246,.15);border-radius:var(--radius-full);color:#3b82f6;font-size:.68rem;font-weight:700;width:fit-content}[data-theme=dark] .delivery-date-badge{background:#3b82f61f;border-color:#3b82f633;color:#60a5fa}@keyframes waezThunderSoon{0%{box-shadow:inset 0 0 0 2px #f59e0b80,0 0 0 1px #f59e0b59}6%{box-shadow:inset 0 0 0 4px #f59e0b,0 0 0 5px #f59e0b99,0 6px 24px #f59e0b73}12%{box-shadow:inset 0 0 0 2px #f59e0b73,0 0 0 1px #f59e0b4d}20%{box-shadow:inset 0 0 0 4px #f59e0b,0 0 0 5px #f59e0b99,0 6px 24px #f59e0b73}28%{box-shadow:inset 0 0 0 2px #f59e0b73,0 0 0 1px #f59e0b4d}to{box-shadow:inset 0 0 0 2px #f59e0b80,0 0 0 1px #f59e0b59}}@keyframes waezThunderOverdue{0%{box-shadow:inset 0 0 0 2px #ef44448c,0 0 0 1px #ef444466}6%{box-shadow:inset 0 0 0 4px #ef4444,0 0 0 6px #ef4444a6,0 6px 26px #ef444480}12%{box-shadow:inset 0 0 0 2px #ef444480,0 0 0 1px #ef444459}20%{box-shadow:inset 0 0 0 4px #ef4444,0 0 0 6px #ef4444a6,0 6px 26px #ef444480}28%{box-shadow:inset 0 0 0 2px #ef444480,0 0 0 1px #ef444459}to{box-shadow:inset 0 0 0 2px #ef44448c,0 0 0 1px #ef444466}}@keyframes waezStripeMarch{to{background-position:25px 0}}@keyframes waezBoltStrike{0%,to{opacity:1}50%{opacity:.1}}.order-card.card-deadline-soon{border-color:#f59e0b!important;animation:waezThunderSoon 1.5s ease-in-out infinite}.order-card.card-deadline-overdue{border-color:#ef4444!important;animation:waezThunderOverdue 1.4s ease-in-out infinite}.order-card.card-deadline-soon:before,.order-card.card-deadline-overdue:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;z-index:3;pointer-events:none}.order-card.card-deadline-soon:before{background:repeating-linear-gradient(45deg,#f59e0b 0,#f59e0b 9px,#1a1a1a 9px,#1a1a1a 18px)}.order-card.card-deadline-overdue:before{background:repeating-linear-gradient(45deg,#ef4444 0,#ef4444 9px,#1a1a1a 9px,#1a1a1a 18px);animation:waezStripeMarch .8s linear infinite}.delivery-date-badge.deadline-soon{background:#f59e0b;border-color:#f59e0b;color:#1a1a1a}.delivery-date-badge.deadline-overdue{background:#ef4444;border-color:#ef4444;color:#fff}.delivery-date-badge.deadline-soon svg,.delivery-date-badge.deadline-overdue svg{animation:waezBoltStrike .8s steps(1,end) infinite}.delivery-date-badge.deadline-muted{background:var(--bg-elevated);border-color:var(--border-color);color:var(--text-muted)}.deadline-toggle{display:inline-flex;align-items:center;gap:5px;width:fit-content;margin:0 0 .45rem;padding:4px 11px;border-radius:var(--radius-full, 999px);border:1px solid var(--border-color);font-size:.68rem;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.deadline-toggle.is-active{background:#1e293b;border-color:#1e293b;color:#fff}.deadline-toggle.is-active:hover{background:#334155}.deadline-toggle.is-muted{background:transparent;color:var(--text-muted)}.deadline-toggle.is-muted:hover{background:var(--bg-elevated);color:var(--text-primary)}@media (prefers-reduced-motion: reduce){.order-card.card-deadline-soon,.order-card.card-deadline-overdue,.order-card.card-deadline-overdue:before,.delivery-date-badge.deadline-soon svg,.delivery-date-badge.deadline-overdue svg{animation:none!important}.order-card.card-deadline-soon{box-shadow:inset 0 0 0 4px #f59e0bd9,0 0 0 3px #f59e0b80}.order-card.card-deadline-overdue{box-shadow:inset 0 0 0 5px #ef4444e6,0 0 0 3px #ef444499}}.emoji-confetti-container{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:9999;overflow:hidden}.emoji-particle{position:absolute;top:-40px;animation:emojifall linear forwards;will-change:transform,top}@keyframes emojifall{0%{top:-40px;transform:translate(0) rotate(0);opacity:1}80%{opacity:1}to{top:105vh;transform:translate(var(--drift, 0px)) rotate(var(--rotation, 360deg));opacity:0}}.m-card-wrapper{position:relative;overflow:hidden;border-radius:var(--radius-md)}.m-card-swipe-bg{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;padding-left:16px;background:#16a34a1f;border-radius:var(--radius-md);transition:background .15s ease}.m-card-swipe-bg.threshold{background:#16a34a38}.m-card-swipe-action{display:flex;align-items:center;gap:6px;color:#16a34a;font-size:.78rem;font-weight:700}[data-theme=dark] .m-card-swipe-action{color:#4ade80}.m-card{position:relative;display:flex;flex-direction:column;gap:6px;padding:12px 32px 12px 14px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:transform .12s ease;-webkit-tap-highlight-color:transparent;touch-action:pan-y}.m-card.swiping{transition:none}.m-card:active{background:var(--bg-secondary)}.m-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.m-card-company{font-size:.88rem;font-weight:700;color:var(--text-primary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;line-height:1.25}.m-card-badge{flex-shrink:0;font-size:.65rem;font-weight:800;font-family:var(--font-mono);padding:2px 7px;border-radius:var(--radius-full);letter-spacing:-.02em}.m-card-badge.full{background:var(--fulfill-full-bg);color:var(--fulfill-full)}.m-card-badge.partial{background:var(--fulfill-partial-bg);color:var(--fulfill-partial)}.m-card-badge.critical{background:var(--fulfill-critical-bg);color:var(--fulfill-critical)}.m-card-badge.none{background:var(--fulfill-none-bg);color:var(--fulfill-none)}.m-card-meta{display:flex;align-items:center;gap:4px;flex-wrap:wrap;overflow:hidden}.m-card-ordernum{font-family:var(--font-mono);font-size:.68rem;font-weight:600;color:var(--text-muted);flex-shrink:0}.m-card-dot{color:var(--text-muted);font-size:.6rem;opacity:.5}.m-card-meta-item{display:inline-flex;align-items:center;gap:2px;font-size:.68rem;color:var(--text-secondary);white-space:nowrap}.m-card-date{display:inline-flex;align-items:center;gap:3px;font-size:.68rem;font-weight:600;color:var(--text-primary);white-space:nowrap;opacity:.75}.m-card-advance-btn{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-top:2px;padding:0 14px;border:1px solid var(--accent);border-radius:var(--radius-full);background:var(--bg-secondary);color:var(--accent);font-size:.8rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .1s ease,background .15s ease}.m-card-advance-btn:active{transform:scale(.97);background:var(--bg-tertiary)}.m-card-chevron{position:absolute;right:10px;top:18px;color:var(--text-muted);opacity:.4}@keyframes waezMSoon{0%{border-color:#f59e0b;box-shadow:inset 0 0 0 2px #f59e0b66}6%{border-color:#fde047;box-shadow:inset 0 0 0 3px #f59e0bf2}12%{border-color:#f59e0b;box-shadow:inset 0 0 0 2px #f59e0b66}20%{border-color:#fde047;box-shadow:inset 0 0 0 3px #f59e0bf2}28%{border-color:#f59e0b;box-shadow:inset 0 0 0 2px #f59e0b66}to{border-color:#f59e0b;box-shadow:inset 0 0 0 2px #f59e0b66}}@keyframes waezMOverdue{0%{border-color:#ef4444;box-shadow:inset 0 0 0 2px #ef444480}6%{border-color:#fca5a5;box-shadow:inset 0 0 0 3px #ef4444}12%{border-color:#ef4444;box-shadow:inset 0 0 0 2px #ef444480}20%{border-color:#fca5a5;box-shadow:inset 0 0 0 3px #ef4444}28%{border-color:#ef4444;box-shadow:inset 0 0 0 2px #ef444480}to{border-color:#ef4444;box-shadow:inset 0 0 0 2px #ef444480}}@keyframes waezMBolt{0%,to{opacity:1}50%{opacity:.1}}.m-card.card-deadline-soon{animation:waezMSoon 1.5s ease-in-out infinite}.m-card.card-deadline-overdue{animation:waezMOverdue 1.4s ease-in-out infinite}.m-card-deadline{display:flex;align-items:center;gap:6px;margin:0 0 4px;padding:5px 10px;border-radius:7px;font-size:.72rem;font-weight:800;letter-spacing:.04em;width:fit-content}.m-card-deadline.deadline-soon{background:#f59e0b;color:#1a1a1a}.m-card-deadline.deadline-overdue{background:#ef4444;color:#fff}.m-card-deadline svg{flex-shrink:0;animation:waezMBolt .8s steps(1,end) infinite}.m-deadline-toggle{display:inline-flex;align-items:center;gap:6px;width:fit-content;margin:0 0 6px;padding:5px 11px;border-radius:8px;border:1px solid var(--border-color);font-size:.72rem;font-weight:700;cursor:pointer}.m-deadline-toggle.is-active{background:#1e293b;border-color:#1e293b;color:#fff}.m-deadline-toggle.is-muted{background:transparent;color:var(--text-muted)}.m-deadline-toggle svg{flex-shrink:0}@media (prefers-reduced-motion: reduce){.m-card.card-deadline-soon,.m-card.card-deadline-overdue,.m-card-deadline svg{animation:none}.m-card.card-deadline-soon{border-color:#f59e0b;box-shadow:inset 0 0 0 3px #f59e0bb3}.m-card.card-deadline-overdue{border-color:#ef4444;box-shadow:inset 0 0 0 3px #ef4444cc}}.m-board{display:flex;flex-direction:column;height:100%;padding-bottom:70px}.m-board-tabs-wrap{position:sticky;top:0;z-index:50;background:var(--bg-primary);padding:10px 10px 0;border-bottom:1px solid var(--border-color)}.m-board-tabs{display:flex;gap:5px;padding-bottom:10px}.m-board-tab{display:flex;align-items:center;justify-content:center;gap:4px;min-height:44px;padding:7px 4px;border-radius:var(--radius-full);border:1.5px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);font-size:.75rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:all .15s ease;-webkit-tap-highlight-color:transparent;flex:1;min-width:0}.m-board-tab:active{transform:scale(.96)}.m-board-tab.active{border-color:transparent;box-shadow:0 2px 8px #00000026}.m-tab-label{font-size:.72rem}.m-tab-count{font-family:var(--font-mono);font-size:.62rem;font-weight:800;padding:1px 5px;border-radius:var(--radius-full);background:var(--bg-tertiary);color:var(--text-muted);min-width:18px;text-align:center}.m-board-tab.active .m-tab-count{color:#ffffffe6}.m-board-stage-info{display:flex;justify-content:space-between;align-items:center;padding:8px 16px}.m-board-stage-desc{font-size:.72rem;color:var(--text-muted);font-weight:500}.m-board-stage-total{font-size:.68rem;font-family:var(--font-mono);color:var(--text-muted);font-weight:600}.m-board-stage-actions{display:inline-flex;align-items:center;gap:10px}.m-sort-toggle{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border:1px solid var(--border-color);border-radius:var(--radius-full);background:var(--bg-card);color:var(--text-muted);font:inherit;font-size:.7rem;font-weight:600;cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent}.m-sort-toggle.is-active{background:var(--accent, var(--stage-ny));border-color:var(--accent, var(--stage-ny));color:#fff}.m-board-list{display:flex;flex-direction:column;gap:6px;padding:0 12px 20px;flex:1;overflow-y:auto}.m-board-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:3rem 1rem;color:var(--text-muted);font-size:.82rem;text-align:center}.m-board-empty svg{opacity:.25}.m-board-overflow{text-align:center;padding:12px;font-size:.72rem;color:var(--text-muted);font-weight:500}.mobile-nav{display:none}@media (max-width: 768px){.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:900;background:var(--bg-card);border-top:1px solid var(--border-color);padding:6px 0 env(safe-area-inset-bottom,8px);justify-content:space-around;align-items:center;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.mobile-nav-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex:1 1 0;min-width:0;padding:6px 2px;border:none;background:none;color:var(--text-muted);font-size:.6rem;font-weight:600;letter-spacing:.01em;white-space:nowrap;cursor:pointer;border-radius:var(--radius-md);transition:color .15s ease,background .15s ease;-webkit-tap-highlight-color:transparent}.mobile-nav-tab:active{background:var(--bg-secondary);transform:scale(.95)}.mobile-nav-tab.active{color:var(--accent)}.mobile-nav-tab.active svg{filter:drop-shadow(0 0 4px rgba(59,130,246,.3))}.mobile-nav-logout{color:#ef444499}.mobile-nav-logout:active{color:#ef4444}}.board-lightning{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;pointer-events:none;overflow:hidden}.board-lightning-overdue{--bl-glow: #ff4d4d;--bl-sky: rgba(239, 68, 68, .18)}.board-lightning-soon{--bl-glow: #ffb224;--bl-sky: rgba(245, 158, 11, .13)}.bl-flash{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bl-sky);opacity:0;animation:blSky 3s ease-out infinite}@keyframes blSky{0%{opacity:0}2%{opacity:1}9%{opacity:0}52%{opacity:.75}59%{opacity:0}to{opacity:0}}.bl-bolts{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.bl-bolts path{stroke:#fff;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px var(--bl-glow)) drop-shadow(0 0 16px var(--bl-glow))}.bl-strike{opacity:0}.bl-strike-1{animation:blBolt 3s linear infinite}.bl-strike-2{animation:blBolt 3s linear infinite;animation-delay:1.5s}@keyframes blBolt{0%{opacity:0}2%{opacity:1}9%{opacity:0}to{opacity:0}}.board-alert{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:12px;margin:0 0 .6rem;padding:.6rem 1.25rem;font-weight:700}.board-alert-overdue{background:#ef4444;color:#fff;animation:baBreathe 1.6s ease-in-out infinite}.board-alert-soon{background:#f59e0b;color:#1a1a1a;animation:baBreathe 1.6s ease-in-out infinite}@keyframes baBreathe{0%,to{filter:brightness(1)}50%{filter:brightness(1.16)}}.ba-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;flex-shrink:0;animation:baBolt 1s steps(1,end) infinite}@keyframes baBolt{0%,to{opacity:1}50%{opacity:.4}}.ba-counts{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1 1 auto}.ba-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;font-size:.85rem;font-weight:800;letter-spacing:.01em}.ba-pill-sub{font-weight:600;opacity:.85}.ba-tail{font-size:.78rem;font-weight:600;opacity:.9;white-space:nowrap}.board-alert-overdue .ba-pill,.board-alert-overdue .ba-icon{background:#ffffff38}.board-alert-soon .ba-pill,.board-alert-soon .ba-icon{background:#00000024}@media (max-width: 640px){.board-alert{padding:.55rem 1rem}.ba-counts{flex-basis:100%;order:3}.ba-tail{display:none}}.nd{margin:0 1rem .5rem;padding:.55rem .9rem .7rem;background:var(--bg-elevated, var(--bg-card));border:1px solid var(--border-color);border-left:3px solid var(--stage-ny);border-radius:var(--radius-md)}.nd-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;margin-bottom:.5rem}.nd-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;background:var(--stage-ny);color:#fff;align-self:center;flex-shrink:0}.nd-kicker{font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--stage-ny)}.nd-title{font-size:.82rem;font-weight:700;color:var(--text-primary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nd-totals{margin-left:auto;font-size:.76rem;font-weight:600;color:var(--text-muted);white-space:nowrap}.nd-totals strong{color:var(--stage-ny);font-size:.95rem;font-weight:800;font-variant-numeric:tabular-nums}.nd-dot{margin:0 5px;opacity:.6}.nd-chips{display:flex;flex-wrap:wrap;gap:6px}.nd-chip{display:inline-flex;align-items:center;gap:7px;padding:4px 11px 4px 4px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:999px}.nd-chip-qty{min-width:30px;padding:2px 7px;background:var(--bg-elevated, rgba(0, 0, 0, .05));border-radius:999px;font-size:.82rem;font-weight:800;color:var(--text-primary);font-variant-numeric:tabular-nums;text-align:center}.nd-chip-name{font-size:.8rem;font-weight:600;color:var(--text-primary);white-space:nowrap}.nd-chip.is-top{background:var(--stage-ny);border-color:var(--stage-ny)}.nd-chip.is-top .nd-chip-qty{background:#ffffff40;color:#fff}.nd-chip.is-top .nd-chip-name{color:#fff}.nd-chip-more{background:transparent;border-style:dashed;font-size:.76rem;font-weight:600;color:var(--text-muted);padding:5px 11px}@media (prefers-reduced-motion: reduce){.board-alert,.ba-icon{animation:none!important}.board-lightning{display:none}}.dashboard-container{display:flex;flex-direction:column;min-height:100vh;background:var(--bg-primary)}.dashboard-container.is-mobile{min-height:100dvh;padding-top:env(safe-area-inset-top,0px)}.dashboard-main{flex:1;overflow:auto;position:relative}.connection-banner{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;background:var(--stage-under_arbeid);color:#fff;font-size:.82rem;font-weight:600;text-align:center;z-index:200}.loading-spinner{display:flex;justify-content:center;align-items:center;padding:4rem;color:var(--text-muted);font-size:1rem}.error-message{padding:1.5rem;color:#dc2626;background:#ef44440f;text-align:center;border-radius:var(--radius-md);margin:1rem;border:1px solid rgba(239,68,68,.12)}.board-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:55vh;padding:3rem 1.5rem;color:var(--text-muted);text-align:center}.board-state-title{font-size:1.05rem;font-weight:600;color:var(--text-primary)}.board-state-detail{font-size:.85rem;color:var(--text-muted);max-width:480px;word-break:break-word}.board-error svg{color:var(--stage-under_arbeid)}.board-error .btn{margin-top:4px}.board-spinner{width:38px;height:38px;border:3px solid var(--border-light);border-top-color:var(--accent);border-radius:50%;animation:board-spin .8s linear infinite}@keyframes board-spin{to{transform:rotate(360deg)}}.metrics-strip{display:flex;align-items:center;justify-content:center;gap:0;padding:.5rem 1.5rem;margin:0 1rem .25rem;background:var(--bg-elevated, rgba(255,255,255,.04));border:1px solid var(--border-color);border-radius:var(--radius-md)}.metric-item{display:flex;align-items:center;gap:6px;padding:0 1.25rem}.metric-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.metric-value{font-size:1.1rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.metric-label{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:500;white-space:nowrap}.metric-divider{width:1px;height:24px;background:var(--border-color);flex-shrink:0}.alerts-off .order-card.card-deadline-soon,.alerts-off .order-card.card-deadline-overdue,.alerts-off .m-card.card-deadline-soon,.alerts-off .m-card.card-deadline-overdue{animation:none}.alerts-off .delivery-date-badge.deadline-soon svg,.alerts-off .delivery-date-badge.deadline-overdue svg,.alerts-off .m-card-deadline svg{animation:none}.alerts-off .order-card.card-deadline-soon:before,.alerts-off .order-card.card-deadline-overdue:before{animation:none}.login-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f172a,#1e293b,#0f172a);padding:1rem;position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 20% 50%,rgba(59,130,246,.08) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(139,92,246,.06) 0%,transparent 50%),radial-gradient(circle at 50% 80%,rgba(16,185,129,.05) 0%,transparent 50%);animation:loginBgShift 20s ease-in-out infinite alternate}@keyframes loginBgShift{0%{transform:translate(0)}to{transform:translate(-3%,-2%)}}.login-card{position:relative;width:100%;max-width:400px;background:#1e293bb3;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:2.5rem 2rem;box-shadow:0 24px 80px #0006,0 0 0 1px #ffffff08 inset;animation:loginCardIn .5s cubic-bezier(.2,0,0,1) forwards}@keyframes loginCardIn{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.login-brand{text-align:center;margin-bottom:2rem}.login-logo{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,#3b82f6,#6366f1);color:#fff;font-size:1.5rem;font-weight:800;font-family:var(--font-mono, "JetBrains Mono", monospace);margin-bottom:1rem;box-shadow:0 8px 24px #6366f14d}.login-title{font-size:1.35rem;font-weight:700;color:#f1f5f9;margin:0 0 .35rem;letter-spacing:-.02em}.login-subtitle{font-size:.82rem;color:#94a3b8;margin:0;line-height:1.4}.login-form{display:flex;flex-direction:column;gap:1.1rem}.login-field{display:flex;flex-direction:column;gap:.4rem}.login-field label{font-size:.78rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em}.login-field input{width:100%;padding:.75rem .9rem;background:#0f172a80;border:1.5px solid rgba(255,255,255,.08);border-radius:10px;color:#f1f5f9;font-size:.95rem;font-family:inherit;transition:border-color .2s,box-shadow .2s;outline:none;box-sizing:border-box}.login-field input::placeholder{color:#94a3b880}.login-field input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}@media (max-width: 768px){.login-field input{font-size:16px!important}}.login-error{display:flex;align-items:center;gap:.5rem;padding:.65rem .85rem;background:#ef44441f;border:1px solid rgba(239,68,68,.2);border-radius:8px;color:#f87171;font-size:.82rem;font-weight:500;animation:loginShake .4s ease-out}@keyframes loginShake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.login-btn{width:100%;padding:.8rem;margin-top:.25rem;background:linear-gradient(135deg,#3b82f6,#6366f1);border:none;border-radius:10px;color:#fff;font-size:.95rem;font-weight:700;font-family:inherit;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.login-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 24px #6366f159}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-spinner{display:inline-block;width:18px;height:18px;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:loginSpin .6s linear infinite}@keyframes loginSpin{to{transform:rotate(360deg)}}.login-footer{text-align:center;margin:1.5rem 0 0;font-size:.68rem;color:#94a3b866;letter-spacing:.02em}.app-container{min-height:100vh;display:flex;flex-direction:column}.app-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary, #0f172a)}.app-loading-spinner{width:32px;height:32px;border:3px solid rgba(99,102,241,.2);border-top-color:#6366f1;border-radius:50%;animation:appSpin .7s linear infinite}@keyframes appSpin{to{transform:rotate(360deg)}}
