:root{--font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display: "Outfit", "Inter", system-ui, sans-serif;--font-xs: .75rem;--font-sm: .875rem;--font-base: 1rem;--font-lg: 1.125rem;--font-xl: 1.25rem;--font-2xl: 1.5rem;--font-3xl: 1.875rem;--font-4xl: 2.25rem;--weight-light: 300;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-extrabold: 800;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 16px;--radius-full: 9999px;--header-height: 0px;--footer-height: 0px;--sidebar-width-expanded: 260px;--sidebar-width-collapsed: 78px;--sidebar-width: var(--sidebar-width-expanded);--ease-in-out-cubic: cubic-bezier(.4, 0, .2, 1);--transition-fast: .15s var(--ease-in-out-cubic);--transition-normal: .25s var(--ease-in-out-cubic);--transition-slow: .35s var(--ease-in-out-cubic);--bg-primary: #f8fafc;--bg-secondary: #ffffff;--bg-tertiary: #f1f5f9;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--accent-primary: #3b82f6;--accent-primary-hover: #2563eb;--accent-primary-soft: rgba(59, 130, 246, .08);--accent-secondary: #6366f1;--accent-secondary-hover: #4f46e5;--accent-secondary-soft: rgba(99, 102, 241, .08);--border-color: #e2e8f0;--border-hover: #cbd5e1;--shadow-sm: 0 1px 2px 0 rgba(15, 23, 42, .05);--shadow-md: 0 4px 6px -1px rgba(15, 23, 42, .05), 0 2px 4px -2px rgba(15, 23, 42, .05);--shadow-lg: 0 10px 15px -3px rgba(15, 23, 42, .04), 0 4px 6px -4px rgba(15, 23, 42, .04);--shadow-outline: 0 0 0 3px rgba(59, 130, 246, .2);--glass-bg: rgba(255, 255, 255, .65);--glass-border: rgba(255, 255, 255, .6);--glass-shadow: 0 8px 32px 0 rgba(148, 163, 184, .08);--glass-blur: 12px;--status-online: #22c55e;--status-online-soft: rgba(34, 197, 94, .12);--status-warning: #f59e0b;--status-warning-soft: rgba(245, 158, 11, .12);--status-offline: #ef4444;--status-offline-soft: rgba(239, 68, 68, .12)}.dark{--bg-primary: #09090b;--bg-secondary: #121214;--bg-tertiary: #1a1a1e;--text-primary: #f4f4f5;--text-secondary: #a1a1aa;--text-muted: #71717a;--accent-primary: #3b82f6;--accent-primary-hover: #60a5fa;--accent-primary-soft: rgba(59, 130, 246, .16);--accent-secondary: #6366f1;--accent-secondary-hover: #818cf8;--accent-secondary-soft: rgba(99, 102, 241, .16);--border-color: #27272a;--border-hover: #3f3f46;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .5);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -4px rgba(0, 0, 0, .4);--shadow-outline: 0 0 0 3px rgba(59, 130, 246, .4);--glass-bg: rgba(18, 18, 20, .65);--glass-border: rgba(255, 255, 255, .04);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .35);--glass-blur: 16px;--status-online: #4ade80;--status-online-soft: rgba(74, 222, 128, .18);--status-warning: #fbbf24;--status-warning-soft: rgba(251, 191, 36, .18);--status-offline: #f87171;--status-offline-soft: rgba(248, 113, 113, .18)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);font-size:var(--font-base);line-height:var(--line-height-normal);background-color:var(--bg-primary);color:var(--text-primary);overflow-x:hidden;transition:background-color .3s ease,color .3s ease;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6,.brand-name{font-family:var(--font-display);font-weight:var(--weight-semibold);letter-spacing:-.02em}.glass-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--glass-shadow);padding:var(--space-5);transition:transform var(--transition-normal),box-shadow var(--transition-normal),border-color var(--transition-normal)}.glass-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--border-hover)}.floating-window.glass-card,.desktop-widget.glass-card{transition:box-shadow var(--transition-normal),border-color var(--transition-normal)}.floating-window.glass-card:hover,.desktop-widget.glass-card:hover,.floating-window .btn-interactive:hover,.floating-window .btn-interactive:active,.desktop-widget .btn-interactive:hover,.desktop-widget .btn-interactive:active{transform:none}.btn-interactive{transition:transform var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast)}.btn-interactive:hover{transform:translateY(-1px)}.btn-interactive:active{transform:scale(.97)}.status-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:var(--weight-semibold);font-family:var(--font-display)}.status-dot{width:8px;height:8px;border-radius:50%;position:relative;display:inline-block}.status-badge.online{background-color:var(--status-online-soft);color:var(--status-online)}.status-badge.online .status-dot{background-color:var(--status-online)}.status-badge.warning{background-color:var(--status-warning-soft);color:var(--status-warning)}.status-badge.warning .status-dot{background-color:var(--status-warning)}.status-badge.offline{background-color:var(--status-offline-soft);color:var(--status-offline)}.status-badge.offline .status-dot{background-color:var(--status-offline)}.status-dot:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;animation:pulse-ring 2s cubic-bezier(.215,.61,.355,1) infinite}.status-badge.online .status-dot:after{box-shadow:0 0 0 4px var(--status-online)}.status-badge.warning .status-dot:after{box-shadow:0 0 0 4px var(--status-warning)}.status-badge.offline .status-dot:after{box-shadow:0 0 0 4px var(--status-offline)}@keyframes pulse-ring{0%{transform:scale(.95);opacity:.8}50%{transform:scale(1.8);opacity:0}to{transform:scale(.95);opacity:0}}.shimmer{background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--border-color) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer-load 1.5s infinite linear}@keyframes shimmer-load{0%{background-position:200% 0}to{background-position:-200% 0}}.app-shell{display:grid;grid-template-columns:var(--sidebar-width) 1fr;grid-template-rows:1fr var(--footer-height);grid-template-areas:"sidebar content" "sidebar footer";min-height:100vh;background-color:var(--bg-primary);color:var(--text-primary);transition:grid-template-columns var(--transition-normal)}.app-shell.sidebar-collapsed{grid-template-columns:var(--sidebar-width-collapsed) 1fr}.app-sidebar{grid-area:sidebar;background-color:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;height:100vh;position:sticky;top:0;z-index:1010;transition:width var(--transition-normal);overflow:hidden}.app-shell.sidebar-collapsed .app-sidebar,.app-sidebar.is-collapsed{overflow:visible}.app-main{grid-area:content;display:flex;flex-direction:column;height:calc(100vh - var(--footer-height));overflow:hidden}.app-content{flex:1;padding:var(--space-6);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-6)}.app-footer{grid-area:footer;height:var(--footer-height);background-color:var(--bg-secondary);border-top:1px solid var(--border-color);padding:0 var(--space-6);display:flex;align-items:center;justify-content:space-between;font-size:var(--font-xs);color:var(--text-secondary);z-index:40}.fade-in{animation:fadeIn var(--transition-normal) ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.header-left,.header-right{display:flex;align-items:center;gap:var(--space-4)}.mobile-toggle-btn{display:none;background:none;border:none;color:var(--text-primary);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-sm);transition:background-color var(--transition-fast)}.mobile-toggle-btn:hover{background-color:var(--bg-tertiary)}.sidebar-toggle-btn-header{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.sidebar-toggle-btn-header:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.header-branding{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--font-base);display:flex;align-items:center}.header-search-container{display:flex;align-items:center;gap:var(--space-2);background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:6px 12px;width:250px;transition:border-color var(--transition-fast)}.header-search-container:focus-within{border-color:var(--accent-primary)}.search-icon{color:var(--text-muted)}.search-input{border:none;background:transparent;outline:none;color:var(--text-primary);font-size:var(--font-sm);width:100%}.search-input:disabled{cursor:not-allowed}.header-douchette-info{font-family:var(--font-display);font-size:var(--font-xs);font-weight:var(--weight-medium);color:var(--text-secondary);background-color:var(--bg-tertiary);padding:6px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-color);display:flex;align-items:center;gap:var(--space-2)}.theme-toggle-btn{background:none;border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;width:38px;height:38px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.theme-toggle-btn:hover{background-color:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-hover)}.sidebar-header{height:64px;padding:0 var(--space-5);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-color);flex-shrink:0}.brand{display:flex;align-items:center;gap:var(--space-3);overflow:hidden;white-space:nowrap}.brand-logo{width:32px;height:32px;background-color:var(--accent-primary);color:#fff;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--font-lg);flex-shrink:0}.brand-name{font-size:var(--font-lg);font-weight:var(--weight-bold);color:var(--text-primary);transition:opacity var(--transition-fast)}.sidebar-toggle-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.sidebar-toggle-btn:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.sidebar-collapsed-tooltip{position:fixed;z-index:2147483000;pointer-events:none;transform:translateY(-50%);background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:6px 10px;font-size:12px;font-weight:600;line-height:1.25;letter-spacing:.01em;white-space:nowrap;box-shadow:var(--shadow-lg);max-width:240px}.sidebar-collapsed-tooltip:before{content:"";position:absolute;left:-5px;top:50%;transform:translateY(-50%);border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:5px solid var(--border-color)}.sidebar-collapsed-tooltip:after{content:"";position:absolute;left:-4px;top:50%;transform:translateY(-50%);border-top:4px solid transparent;border-bottom:4px solid transparent;border-right:4px solid var(--bg-secondary)}.sidebar-nav{flex:1;overflow-y:auto;padding:var(--space-4) 0;display:flex;flex-direction:column;gap:var(--space-5)}.nav-section-title{padding:0 var(--space-5);font-size:var(--font-xs);font-weight:var(--weight-bold);text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em;margin-bottom:var(--space-2);transition:opacity var(--transition-fast);white-space:nowrap}.nav-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.nav-link{display:flex;align-items:center;padding:var(--space-3) var(--space-5);color:var(--text-secondary);text-decoration:none;font-size:var(--font-sm);font-weight:var(--weight-medium);border-left:3px solid transparent;position:relative;transition:all var(--transition-fast);white-space:nowrap}.nav-link:hover{color:var(--text-primary);background-color:var(--bg-tertiary);border-left-color:var(--border-hover)}.nav-icon{margin-right:var(--space-4);display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;color:var(--text-muted);transition:color var(--transition-fast)}.nav-link:hover .nav-icon{color:var(--text-primary)}.nav-link.active{color:var(--accent-primary);background-color:var(--accent-primary-soft);border-left-color:var(--accent-primary);font-weight:var(--weight-semibold)}.nav-link.active .nav-icon{color:var(--accent-primary)}.sidebar-footer{padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-color);background-color:var(--bg-secondary);display:flex;align-items:center;gap:var(--space-3);overflow:hidden;white-space:nowrap;flex-shrink:0}.user-avatar{width:36px;height:36px;background-color:var(--accent-secondary-soft);color:var(--accent-secondary);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-weight:var(--weight-bold);font-family:var(--font-display);font-size:var(--font-sm);flex-shrink:0}.user-info{display:flex;flex-direction:column;transition:opacity var(--transition-fast)}.user-name{font-size:var(--font-sm);font-weight:var(--weight-semibold);color:var(--text-primary)}.user-role{font-size:var(--font-xs);color:var(--text-muted)}.breadcrumbs-nav{padding:var(--space-2) 0 var(--space-4) 0;border-bottom:1px solid var(--border-color);margin-bottom:var(--space-4)}.breadcrumbs-list{display:flex;list-style:none;padding:0;margin:0;gap:var(--space-2);align-items:center}.breadcrumb-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-sm);color:var(--text-secondary)}.breadcrumb-link{display:flex;align-items:center;color:var(--text-secondary);text-decoration:none;transition:color var(--transition-fast)}.breadcrumb-link:hover{color:var(--accent-primary)}.breadcrumb-text{color:var(--text-primary);font-weight:var(--weight-medium)}.breadcrumb-separator{color:var(--text-muted)}.barcode-address-container{display:flex;align-items:center;gap:var(--space-2)}.barcode-badge{display:flex;align-items:center;font-family:var(--font-sans);color:var(--text-muted)}.barcode-icon{font-family:monospace}.barcode-address{font-family:var(--font-display);font-weight:var(--weight-bold);color:var(--text-primary);background-color:var(--bg-tertiary);padding:4px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-color)}.sidebar-collapsed .brand-name,.sidebar-collapsed .nav-section-title,.sidebar-collapsed .nav-label,.sidebar-collapsed .user-info{opacity:0;pointer-events:none;width:0;display:none!important}.sidebar-collapsed .sidebar-header{flex-direction:column;height:auto;min-height:64px;justify-content:center;align-items:center;gap:8px;padding:10px 8px 12px}.sidebar-collapsed .brand{justify-content:center}.sidebar-collapsed .sidebar-toggle-btn{position:static;width:36px;height:32px;flex-shrink:0;background:var(--accent-primary-soft);color:var(--accent-primary);border:1px solid var(--border-color)}.sidebar-collapsed .sidebar-toggle-btn:hover{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.sidebar-collapsed .nav-section:before{content:"";display:block;height:1px;background-color:var(--border-color);margin:var(--space-4) var(--space-3)}.sidebar-collapsed .nav-link{justify-content:center;padding:var(--space-3) 0;border-left-width:0px;border-radius:var(--radius-sm);margin:0 var(--space-2)}.sidebar-collapsed .nav-link.active{background-color:var(--accent-primary-soft);color:var(--accent-primary)}.sidebar-collapsed .nav-icon{margin-right:0}.sidebar-collapsed .sidebar-footer{justify-content:center;padding:var(--space-4) 0}.spin-anim{animation:spin 1.5s infinite linear}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.table-row-hover:hover{background-color:var(--bg-tertiary)}.mobile-menu-trigger{display:none}@media (max-width: 768px){.mobile-menu-trigger{display:flex;position:fixed;top:12px;left:12px;z-index:90;background-color:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);width:40px;height:40px;border-radius:var(--radius-sm);align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-sm)}.app-shell{grid-template-columns:1fr;grid-template-rows:1fr var(--footer-height);grid-template-areas:"content" "footer"}.app-sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-width-expanded)!important;transform:translate3d(-100%,0,0);z-index:1000;box-shadow:none;transition:transform var(--transition-normal)}.app-shell.sidebar-open .app-sidebar{transform:translateZ(0);box-shadow:var(--shadow-lg)}.sidebar-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#09090b66;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:999;opacity:0;pointer-events:none;transition:opacity var(--transition-normal)}.app-shell.sidebar-open .sidebar-backdrop{opacity:1;pointer-events:auto}.sidebar-toggle-btn-header,.sidebar-toggle-btn{display:none}.app-main{height:calc(100vh - var(--footer-height))}.app-content{padding:var(--space-4);padding-top:64px}@media (max-width: 480px){.app-footer{flex-direction:column;justify-content:center;gap:4px;padding:8px;height:auto;text-align:center}.barcode-address-container{flex-direction:column;gap:2px}}}.view-dashboard{display:flex;flex-direction:column;height:100%;min-height:0;width:100%;position:relative;overflow:hidden}.virtual-desktop-scroll{flex:1;min-width:0;min-height:0;width:100%;height:100%;position:relative;overflow-x:auto;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:auto;scrollbar-color:var(--accent-primary) var(--bg-tertiary)}.virtual-desktop-scroll::-webkit-scrollbar{width:12px;height:12px}.virtual-desktop-scroll::-webkit-scrollbar-track{background:var(--bg-tertiary);border:1px solid var(--border-color)}.virtual-desktop-scroll::-webkit-scrollbar-thumb{background:var(--accent-primary);border-radius:6px;border:2px solid var(--bg-tertiary);min-width:32px;min-height:32px}.virtual-desktop-scroll::-webkit-scrollbar-thumb:hover{background:var(--accent-primary-hover)}.virtual-desktop-scroll::-webkit-scrollbar-corner{background:var(--bg-tertiary);border:1px solid var(--border-color)}.virtual-desktop-canvas{position:relative;min-width:100%;min-height:100%}.virtual-desktop-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:280px;gap:10px;color:var(--text-muted)}
