*{margin:0;padding:0}body{background-color:#fff;color:#333}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button,input,select,textarea{font-family:inherit;font-size:inherit}a{color:inherit}:focus{outline:none}:focus-visible{outline:2px solid #667eea;outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}@media (prefers-contrast:high){*{border-color:ButtonText}}@media print{*{background:#0000!important;box-shadow:none!important;color:#000!important;text-shadow:none!important}a,a:visited{text-decoration:underline}img{max-width:100%!important}h1,h2,h3,p{orphans:3;widows:3}h1,h2,h3{page-break-after:avoid}}.toast{border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;max-width:450px;min-width:300px;position:fixed;right:1rem;top:1rem;transform:translateX(120%);transition:transform .3s ease-in-out;z-index:20000}.toast.visible{transform:translateX(0)}.toast.hidden{transform:translateX(120%)}.toast-content{align-items:center;border-radius:.5rem;display:flex;padding:1rem}.toast.success .toast-content{background-color:#d1fae5;border-left:4px solid #10b981;color:#065f46}.toast.error .toast-content{background-color:#fee2e2;border-left:4px solid #ef4444;color:#991b1b}.toast.info .toast-content{background-color:#e0f2fe;border-left:4px solid #3b82f6;color:#1e40af}.toast-icon{flex-shrink:0;height:20px;margin-right:.75rem;width:20px}.toast-message{flex-grow:1;font-size:.875rem;font-weight:500}.toast-close{background:#0000;border:none;cursor:pointer;flex-shrink:0;height:20px;margin-left:.75rem;opacity:.7;padding:0;transition:opacity .2s;width:20px}.toast-close:hover{opacity:1}[data-theme=dark] .toast.success .toast-content{background-color:#10b98133;color:#d1fae5}[data-theme=dark] .toast.error .toast-content{background-color:#ef444433;color:#fee2e2}[data-theme=dark] .toast.info .toast-content{background-color:#3b82f633;color:#e0f2fe}.filter-button,.header-global-filter{position:relative}.filter-button{align-items:center;background:none;border:none;border-radius:.375rem;color:#374151;color:var(--text-color,#374151);cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;height:36px;padding:.5rem;transition:all .2s ease}.filter-button:hover{background-color:#f3f4f6;background-color:var(--hover-bg,#f3f4f6);color:#3b82f6;color:var(--primary-color,#3b82f6)}.filter-button:focus{outline:2px solid #3b82f6;outline:2px solid var(--primary-color,#3b82f6);outline-offset:2px}.filter-button.active{color:#3b82f6;color:var(--primary-color,#3b82f6)}.filter-icon{flex-shrink:0;height:18px;width:18px}.filter-label{white-space:nowrap}.filter-badge{background-color:#3b82f6;background-color:var(--primary-color,#3b82f6);border-radius:50%;box-shadow:0 0 0 2px #fff;box-shadow:0 0 0 2px var(--header-bg,#fff);height:8px;position:absolute;right:4px;top:4px;width:8px}.filter-tooltip{animation:tooltip-fade-in .2s ease-out;background:#fff;background:var(--tooltip-bg,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:.375rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;max-width:280px;min-width:200px;padding:.75rem;position:absolute;right:0;top:calc(100% + 8px);z-index:1001}@keyframes tooltip-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tooltip-arrow{background:#fff;background:var(--tooltip-bg,#fff);border-left:1px solid #e5e7eb;border-left:1px solid var(--border-color,#e5e7eb);border-top:1px solid #e5e7eb;border-top:1px solid var(--border-color,#e5e7eb);height:10px;position:absolute;right:12px;top:-5px;transform:rotate(45deg);width:10px}.tooltip-content{display:flex;flex-direction:column;gap:.25rem}.tooltip-title{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.75rem;font-weight:600}.tooltip-summary{color:#111827;color:var(--text-color,#111827);font-size:.8125rem;word-break:break-word}@media (max-width:768px){.filter-label{display:none}.filter-button{padding:.375rem}}[data-theme=dark] .filter-tooltip{--tooltip-bg:#1f2937;box-shadow:0 4px 6px -1px #0000004d,0 2px 4px -1px #0003}[data-theme=dark] .filter-badge{box-shadow:0 0 0 2px #1f2937;box-shadow:0 0 0 2px var(--header-bg,#1f2937)}[data-theme=dark] .tooltip-summary{color:#f9fafb;color:var(--text-color,#f9fafb)}@media (max-width:640px){.filter-tooltip{right:-8px}}.top-navigation{flex:0 1 auto;justify-content:center;margin-right:0;min-width:0}.nav-list,.top-navigation{align-items:center;display:flex;height:100%}.nav-list{gap:.45rem;list-style:none;margin:0;padding:0}.nav-item{align-items:center;display:flex;height:100%}.nav-link{border-radius:9999px;font-weight:550;gap:.5rem;height:38px;justify-content:center;padding:.5rem .85rem;transition:all .25s cubic-bezier(.4,0,.2,1);white-space:nowrap}.nav-link:hover{background-color:#2563eb14;color:#2563eb;color:var(--primary-color,#2563eb);transform:translateY(-1px)}[data-theme=dark] .nav-link:hover{background-color:#2563eb26}.nav-link.active{background-color:#2563eb;background-color:var(--primary-color,#2563eb);box-shadow:0 4px 14px #2563eb59}[data-theme=dark] .nav-link.active{box-shadow:0 4px 16px #2563eb80}.nav-icon{font-size:1.1rem}.nav-label{font-size:.9rem}.nav-overlay{display:none}@media (max-width:768px){.top-navigation{background-color:#fff;background-color:var(--bg-color,#fff);border-top:1px solid #e0e0e0;border-top:1px solid var(--border-color,#e0e0e0);box-shadow:0 2px 8px #0000001a;height:auto;justify-content:flex-start;left:0;margin-right:0;max-height:calc(100vh - 100px);overflow-y:auto;position:fixed;right:0;top:100px;transform:translateY(-100%);transition:transform .3s ease;z-index:1000}.top-navigation.open{transform:translateY(0)}.nav-overlay{background-color:#00000080;bottom:0;display:block;left:0;opacity:0;position:fixed;right:0;top:0;transition:all .3s ease;visibility:hidden;z-index:-1}.top-navigation.open .nav-overlay{opacity:1;visibility:visible}.nav-list{align-items:stretch;flex-direction:column;gap:.5rem;padding:1rem}.nav-item,.nav-link,.nav-list{height:auto}.nav-link{border-radius:8px;font-size:1rem;justify-content:flex-start;padding:1rem}.nav-icon{font-size:1.2rem;height:24px;width:24px}.nav-label{font-size:1rem}}@media (max-width:1024px) and (min-width:769px){.top-navigation{margin-right:-40px}.nav-label{display:none}.nav-link{gap:0;padding:.5rem .75rem}.nav-icon{font-size:1.2rem}}[data-theme=dark] .top-navigation{background-color:#2d3748;background-color:var(--dark-bg-secondary,#2d3748);border-color:#4a5568;border-color:var(--dark-border,#4a5568)}[data-theme=dark] .nav-link{color:#e2e8f0;color:var(--dark-text,#e2e8f0)}[data-theme=dark] .nav-link:hover{background-color:#4299e133;background-color:var(--dark-hover-bg,#4299e133);color:#63b3ed;color:var(--dark-primary,#63b3ed)}[data-theme=dark] .nav-link.active{background-color:#4299e1;background-color:var(--dark-primary,#4299e1);color:#fff}.header-blur-bg{background:radial-gradient(circle at 50% 0,#2563eb1f 0,#8b5cf60f 50%,#0000 100%);filter:blur(40px);height:92px;left:0;opacity:.85;pointer-events:none;position:fixed;right:0;top:-20px;z-index:999}[data-theme=dark] .header-blur-bg{background:radial-gradient(circle at 50% 0,#2563eb33 0,#8b5cf61f 50%,#0000 100%);opacity:.6}.app-header{backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);background:#ffffffb8;border:1px solid #ffffff59;border-radius:16px;box-shadow:0 18px 45px #2563eb1f;left:24px;position:fixed;right:24px;top:12px;transition:all .3s cubic-bezier(.16,1,.3,1);z-index:1000}[data-theme=dark] .app-header{background:#111827b8;border:1px solid #ffffff14;box-shadow:0 18px 45px #00000073}.app-header.scrolled{backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);background:#fffc;border-color:#ffffff73;box-shadow:0 20px 50px #2563eb29;transform:translateY(2px) scale(.995)}[data-theme=dark] .app-header.scrolled{background:#111827cc;border-color:#ffffff1f;box-shadow:0 20px 50px #0000008c}.header-container{height:74px;justify-content:space-between;max-width:100%;padding:0 2.5rem}.header-container,.header-left{align-items:center;display:flex}.header-left{flex:1 1;gap:1.75rem;justify-content:flex-start}.mobile-menu-toggle{background:none;border:none;border-radius:.375rem;cursor:pointer;display:none;flex-shrink:0;padding:.5rem;transition:all .2s ease}.mobile-menu-toggle:hover{background-color:#f3f4f6;background-color:var(--hover-bg,#f3f4f6)}.mobile-menu-toggle:focus{outline:2px solid #3b82f6;outline:2px solid var(--primary-color,#3b82f6);outline-offset:2px}@media (max-width:768px){.mobile-menu-toggle{align-items:center;display:flex;justify-content:center}}.hamburger{display:flex;flex-direction:column;height:18px;justify-content:space-between;position:relative;width:24px}.hamburger span{background-color:#374151;background-color:var(--text-color,#374151);border-radius:2px;height:2px;transition:all .3s ease;width:100%}.hamburger.active span:first-child{transform:rotate(45deg) translate(6px,6px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.header-brand{align-items:center;color:inherit;display:flex;flex-direction:column;gap:2px;justify-content:center;min-width:120px;text-decoration:none;transition:all .2s ease}.header-brand:hover{transform:scale(1.02)}.brand-logo{align-items:center;display:flex;height:32px;justify-content:center;width:100px}.brand-logo img{max-height:100%;max-width:100%;object-fit:contain}.brand-subtitle{color:#f2c94c;font-size:10px;font-weight:800;letter-spacing:.2em}.logo-icon{color:#fff;height:24px;width:24px}.brand-text{display:flex;flex-direction:column}.brand-title{color:#111827;color:var(--text-color,#111827);font-size:1.25rem;font-weight:700;line-height:1.2;margin:0}.brand-subtitle{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.75rem;font-weight:500;letter-spacing:.1em;line-height:1;text-transform:uppercase}.header-right{flex:1 1;gap:1rem;justify-content:flex-end}.header-right,.theme-toggle{align-items:center;display:flex}.theme-toggle{background:none;border:none;border-radius:.375rem;color:#374151;color:var(--text-color,#374151);cursor:pointer;justify-content:center;padding:.5rem;transition:all .2s ease}.theme-toggle:hover{background-color:#f3f4f6;background-color:var(--hover-bg,#f3f4f6);color:#3b82f6;color:var(--primary-color,#3b82f6)}.theme-toggle:focus{outline:2px solid #3b82f6;outline:2px solid var(--primary-color,#3b82f6);outline-offset:2px}.theme-toggle svg{height:20px;transition:transform .3s ease;width:20px}.theme-toggle:hover svg{transform:rotate(15deg)}.user-profile{position:relative}.profile-trigger{align-items:center;background:#fff6;border:1px solid #e2e8f0cc;border-radius:9999px;box-shadow:0 2px 8px #00000005;cursor:pointer;display:inline-flex;gap:.625rem;padding:.25rem .875rem .25rem .25rem;transition:all .25s cubic-bezier(.16,1,.3,1)}[data-theme=dark] .profile-trigger{background:#1f293766;border-color:#4b556366}.profile-trigger:hover{background:#ffffffe6;border-color:#2563eb33;box-shadow:0 4px 12px #2563eb14;transform:translateY(-1px)}[data-theme=dark] .profile-trigger:hover{background:#1f2937b3;border-color:#2563eb66}.profile-trigger:focus{border-color:#3b82f6;border-color:var(--primary-color,#3b82f6);box-shadow:0 0 0 2px #2563eb33;outline:none}.user-avatar{box-shadow:0 2px 4px #0000000d;height:28px;width:28px}.avatar-initials{color:#fff;font-size:.75rem;font-weight:700;text-transform:uppercase}.user-info{flex-direction:column;min-width:0;text-align:left}.user-name{color:#111827;color:var(--text-color,#111827);font-size:.8125rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role{display:none}.dropdown-arrow{color:#6b7280;color:var(--text-secondary,#6b7280);flex-shrink:0;height:16px;transition:transform .2s ease;width:16px}.dropdown-arrow.open{transform:rotate(180deg)}.profile-dropdown{animation:dropdown-enter .2s ease-out;background:#fff;background:var(--dropdown-bg,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;margin-top:.5rem;min-width:240px;overflow:hidden;position:absolute;right:0;top:100%;z-index:1001}@keyframes dropdown-enter{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.dropdown-header{background:#f9fafb;background:var(--dropdown-header-bg,#f9fafb);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color,#e5e7eb);padding:1rem}.dropdown-user-info{display:flex;flex-direction:column;gap:.25rem}.dropdown-user-name{color:#111827;color:var(--text-color,#111827);font-size:.875rem;font-weight:600;margin:0}.dropdown-user-email{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.75rem;margin:0;word-break:break-all}.dropdown-user-role{color:#3b82f6;color:var(--primary-color,#3b82f6);font-size:.75rem;font-weight:500;text-transform:capitalize}.dropdown-content{padding:.5rem}.dropdown-item{background:none;border-radius:.375rem;color:#374151;color:var(--text-color,#374151);font-size:.875rem;gap:.75rem;padding:.75rem;text-decoration:none;transition:all .2s ease}.dropdown-item:hover{background-color:#f3f4f6;background-color:var(--hover-bg,#f3f4f6);color:#111827;color:var(--text-color,#111827)}.dropdown-item:focus{outline:2px solid #3b82f6;outline:2px solid var(--primary-color,#3b82f6);outline-offset:-2px}.dropdown-item svg{flex-shrink:0;height:16px;width:16px}.logout-item,.logout-item:hover{color:#dc2626;color:var(--error-color,#dc2626)}.logout-item:hover{background-color:#fef2f2;background-color:var(--error-bg,#fef2f2)}.dropdown-divider{background-color:#e5e7eb;background-color:var(--border-color,#e5e7eb);height:1px;margin:.5rem 0}@media (max-width:768px){.header-container{padding:0 .75rem}.brand-text,.user-info{display:none}.theme-toggle{padding:.25rem}.profile-dropdown{min-width:220px;right:-.5rem}}@media (max-width:480px){.header-container{height:56px;padding:0 .5rem}.sidebar-toggle{padding:.25rem}.brand-logo{height:36px;width:36px}.logo-icon{height:20px;width:20px}.user-avatar{height:28px;width:28px}.avatar-initials{font-size:.75rem}}[data-theme=dark]{--header-bg:#1f2937;--border-color:#374151;--hover-bg:#374151;--dropdown-bg:#1f2937;--dropdown-header-bg:#111827;--error-bg:#7f1d1d}[data-theme=dark] .hamburger span{background-color:var(--text-color)}[data-theme=dark] .brand-title{color:var(--text-color)}@media (prefers-contrast:high){.app-header{border-bottom-width:2px}.profile-dropdown{border-width:2px}.dropdown-item:focus{outline-width:3px}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.sidebar-overlay{animation:overlay-enter .3s ease;background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:998}@keyframes overlay-enter{0%{opacity:0}to{opacity:1}}.app-sidebar{background:#fff;background:var(--sidebar-bg,#fff);border-right:1px solid #e5e7eb;border-right:1px solid var(--border-color,#e5e7eb);box-shadow:0 4px 6px -1px #0000001a;height:calc(100vh - 100px);left:0;overflow:hidden;position:fixed;top:100px;transform:translateX(-100%);transition:transform .3s ease;width:280px;z-index:999}.app-sidebar.open{transform:translateX(0)}.sidebar-content{display:flex;flex-direction:column;height:100%;overflow:hidden}.sidebar-nav{flex:1 1;overflow-y:auto;padding:1rem 0}.nav-section{margin-bottom:2rem}.nav-section-title{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.75rem;font-weight:600;letter-spacing:.1em;margin:0 0 .75rem;padding:0 1rem;text-transform:uppercase}.nav-item{margin-bottom:.25rem}.nav-link{align-items:center;border-radius:.5rem;color:#374151;color:var(--text-color,#374151);display:flex;font-size:.875rem;font-weight:500;gap:.75rem;margin:0 .5rem;padding:.75rem 1rem;position:relative;text-decoration:none;transition:all .2s ease}.nav-link:hover{background-color:#f3f4f6;background-color:var(--hover-bg,#f3f4f6);color:#3b82f6;color:var(--primary-color,#3b82f6)}.nav-link.active{background:linear-gradient(135deg,#3b82f6,#2563eb);background:linear-gradient(135deg,var(--primary-color,#3b82f6),var(--primary-hover,#2563eb));box-shadow:0 2px 4px #3b82f640;color:#fff}.nav-link.active:before{background:#fff;border-radius:0 2px 2px 0;bottom:0;content:"";left:0;position:absolute;top:0;width:3px}.nav-link:focus{outline:2px solid #3b82f6;outline:2px solid var(--primary-color,#3b82f6);outline-offset:-2px}.nav-icon{align-items:center;display:flex;flex-shrink:0;height:20px;justify-content:center;width:20px}.nav-icon svg{height:100%;width:100%}.checkbox-icon{height:18px;width:18px}.checkbox-icon rect{fill:#fff;stroke:#d1d5db;stroke-width:1.5}.nav-link.active .checkbox-icon rect{fill:#3b82f6;stroke:#3b82f6}.checkbox-tick{stroke-width:2;fill:none}@keyframes tick-appear{0%{stroke-dashoffset:20;opacity:0}to{stroke-dashoffset:0;opacity:1}}.checkbox-tick{stroke-dasharray:20;animation:tick-appear .2s ease-in-out forwards}.nav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-filter-toggle{background:none;border:none;cursor:pointer;justify-content:space-between;width:100%}.arrow-icon{transition:transform .3s ease}.arrow-icon.expanded{transform:rotate(180deg)}.sidebar-filters{background:#f9fafb;background:var(--sidebar-filter-bg,#f9fafb);border-top:1px solid #e5e7eb;border-top:1px solid var(--border-color,#e5e7eb);max-height:1000px;overflow:hidden;padding:1rem;transition:all .3s ease-in-out}.sidebar-filters.collapsed{border-top-color:#0000;max-height:0;padding-bottom:0;padding-top:0}.filters-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.filters-title{color:#111827;color:var(--text-color,#111827);font-size:.875rem;font-weight:600;margin:0}.clear-filters-btn{background:none;border:none;border-radius:.375rem;color:#6b7280;color:var(--text-secondary,#6b7280);cursor:pointer;padding:.375rem;transition:all .2s ease}.clear-filters-btn:hover{background-color:#f3f4f6;background-color:var(--hover-bg,#f3f4f6);color:#dc2626;color:var(--error-color,#dc2626)}.clear-filters-btn:focus{outline:2px solid #3b82f6;outline:2px solid var(--primary-color,#3b82f6);outline-offset:2px}.clear-filters-btn svg{height:16px;width:16px}.filter-group{margin-bottom:1rem}.filter-label{color:#374151;color:var(--text-color,#374151);display:block;font-size:.75rem;font-weight:500;margin-bottom:.5rem}.filter-select{background:var(--input-bg,#fff);border:1px solid #d1d5db;border:1px solid var(--border-color,#d1d5db);border-radius:.375rem;color:#111827;color:var(--text-color,#111827);font-size:.875rem;padding:.5rem;width:100%}.filter-select:focus{border-color:#3b82f6;border-color:var(--primary-color,#3b82f6);box-shadow:0 0 0 3px #3b82f61a}.date-range-inputs{gap:.5rem}.date-input-group,.date-range-inputs{display:flex;flex-direction:column}.date-label{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.625rem;font-weight:500;letter-spacing:.05em;margin-bottom:.25rem;text-transform:uppercase}.filter-date{background:#fff;background:var(--input-bg,#fff);border:1px solid #d1d5db;border:1px solid var(--border-color,#d1d5db);border-radius:.375rem;color:#111827;color:var(--text-color,#111827);font-size:.875rem;padding:.5rem;transition:all .2s ease}.filter-date:focus{border-color:#3b82f6;border-color:var(--primary-color,#3b82f6);box-shadow:0 0 0 3px #3b82f61a;outline:none}.filter-help{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-size:.625rem;line-height:1.4;margin:.25rem 0 0}.active-filters{border-top:1px solid #e5e7eb;border-top:1px solid var(--border-color,#e5e7eb);margin-top:1rem;padding-top:1rem}.active-filters-title{color:#111827;color:var(--text-color,#111827);font-size:.75rem;font-weight:600;margin:0 0 .5rem}.active-filters-list{display:flex;flex-direction:column;gap:.25rem}.active-filter-tag{background:#eff6ff;background:var(--primary-light,#eff6ff);border-radius:.375rem;font-size:.75rem;font-weight:500;justify-content:space-between;padding:.25rem .5rem}.active-filter-tag,.remove-filter{align-items:center;color:#1e40af;color:var(--primary-dark,#1e40af);display:flex}.remove-filter{background:none;border:none;border-radius:50%;cursor:pointer;font-size:.875rem;height:16px;justify-content:center;line-height:1;margin-left:.25rem;padding:.125rem;transition:all .2s ease;width:16px}.remove-filter:hover{background:#1e40af;background:var(--primary-dark,#1e40af);color:#fff}.sidebar-footer{background:#f9fafb;background:var(--sidebar-footer-bg,#f9fafb);border-top:1px solid #e5e7eb;border-top:1px solid var(--border-color,#e5e7eb);padding:1rem}.role-indicator{align-items:center;display:flex}.role-badge{background:#e0e7ff;background:var(--role-badge-bg,#e0e7ff);border-radius:.375rem;color:#3730a3;color:var(--role-badge-text,#3730a3);display:flex;gap:.5rem;padding:.5rem;width:100%}.role-badge svg{flex-shrink:0;height:14px;width:14px}.role-text{text-transform:capitalize}.sidebar-nav{display:block}.sidebar-nav-list{list-style:none;margin:0;padding:0;width:100%}.sidebar-nav-list .nav-item{display:block;margin-bottom:4px}.product-list{display:block;white-space:normal}@media (min-width:768px){.app-sidebar{box-shadow:none;height:calc(100vh - 100px);left:0;position:fixed;top:100px;transform:translateX(0);width:280px}.app-sidebar:not(.open){transform:translateX(-100%);width:0}.sidebar-overlay{display:none}}@media (min-width:1024px){.app-sidebar{width:320px}.nav-link{margin:0 .75rem;padding:1rem 1.25rem}.sidebar-filters,.sidebar-footer{padding:1.25rem}}@media (max-width:767px){.app-sidebar{height:calc(100vh - 56px);top:56px;width:260px}.nav-link{margin:0 .25rem}.nav-link,.sidebar-filters,.sidebar-footer{padding:.75rem}}[data-theme=dark]{--sidebar-bg:#1f2937;--sidebar-filter-bg:#111827;--sidebar-footer-bg:#111827;--input-bg:#374151;--role-badge-bg:#312e81;--role-badge-text:#c7d2fe}[data-theme=dark] .nav-link.active{background:linear-gradient(135deg,#3b82f6,#2563eb);background:linear-gradient(135deg,var(--primary-color,#3b82f6),var(--primary-hover,#2563eb));box-shadow:0 2px 4px #3b82f666}[data-theme=dark] .active-filter-tag{background:#1e40af;background:var(--primary-dark,#1e40af)}[data-theme=dark] .active-filter-tag,[data-theme=dark] .remove-filter{color:#dbeafe;color:var(--primary-light,#dbeafe)}[data-theme=dark] .remove-filter:hover{background:#dbeafe;background:var(--primary-light,#dbeafe);color:#1e40af;color:var(--primary-dark,#1e40af)}@media (prefers-contrast:less){.nav-link{border:1px solid #0000}.nav-link:focus,.nav-link:hover{border-color:var(--primary-color)}.nav-link.active{border-color:#fff}.filter-date,.filter-select{border-width:2px}}@media (prefers-reduced-motion:reduce){.app-sidebar{transition:none}.sidebar-overlay{animation:none}.nav-link{transition:none}}.gsp-app-sidebar{background:#f8fafc!important;border-right:1px solid #e2e8f0!important;box-shadow:0 4px 20px #00000008!important}.gsp-sidebar-content{display:flex;flex-direction:column;height:100%}.gsp-sidebar-header{border-bottom:1px solid #e2e8f0;padding:1.5rem 1.25rem 1rem}.gsp-sidebar-title{color:#475569;font-size:.8125rem;font-weight:700;letter-spacing:.08em;margin:0 0 4px;text-transform:uppercase}.gsp-sidebar-subtitle{color:#94a3b8;display:block;font-size:.75rem}.gsp-sidebar-nav{flex:1 1;overflow-y:auto;padding:1.25rem 1rem}.gsp-sidebar-nav::-webkit-scrollbar{width:6px}.gsp-sidebar-nav::-webkit-scrollbar-track{background:#0000}.gsp-sidebar-nav::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.gsp-sidebar-nav::-webkit-scrollbar-thumb:hover{background:#94a3b8}.gsp-product-list{display:flex;flex-direction:column;gap:.625rem;list-style:none;margin:0;padding:0}.gsp-product-item{width:100%}.gsp-product-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 3px #00000005;cursor:pointer;display:flex;gap:.75rem;min-height:48px;padding:.625rem .875rem;transition:all .2s cubic-bezier(.16,1,.3,1);-webkit-user-select:none;user-select:none}.gsp-product-card:hover{background:#f1f5f9;border-color:#cbd5e1;box-shadow:0 4px 12px #0000000a;transform:translateY(-1px)}.gsp-product-card.selected{background:#2563eb;border-color:#2563eb;box-shadow:0 4px 12px #2563eb40,0 1px 3px #2563eb1a;color:#fff}.gsp-product-card-thumbnail-wrapper{align-items:center;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;display:flex;flex-shrink:0;height:32px;justify-content:center;overflow:hidden;transition:all .2s ease;width:32px}.gsp-product-card.selected .gsp-product-card-thumbnail-wrapper{background:#ffffff26;border-color:#ffffff40}.gsp-product-card-thumbnail{height:100%;object-fit:cover;width:100%}.gsp-product-card-fallback-icon{stroke:#64748b;height:16px;width:16px}.gsp-product-card.selected .gsp-product-card-fallback-icon{stroke:#fff}.gsp-product-card-label{color:#334155;flex:1 1;font-size:.8125rem;font-weight:600;line-height:1.3;text-align:left;transition:color .2s ease}.gsp-product-card.selected .gsp-product-card-label{color:#fff}.gsp-product-card-indicator{align-items:center;border-radius:50%;display:flex;flex-shrink:0;height:18px;justify-content:center;width:18px}.gsp-product-card-indicator svg{stroke:#fff;height:12px;width:12px}.gsp-product-item-loading{color:#64748b;font-size:.75rem;padding:1rem;text-align:center}.gsp-sidebar-footer{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;flex-direction:column;gap:.75rem;padding:1rem 1rem 1.25rem}.gsp-sidebar-clear-btn{background:#fff;border:1px solid #cbd5e1;border-radius:8px;box-shadow:0 1px 2px #00000005;color:#475569;cursor:pointer;font-family:inherit;font-size:.75rem;font-weight:600;padding:.625rem;transition:all .2s;width:100%}.gsp-sidebar-clear-btn:hover{background:#f1f5f9;border-color:#94a3b8;color:#0f172a}.gsp-role-indicator{align-items:center;display:flex;justify-content:center}.gsp-role-text{color:#94a3b8;font-size:.6875rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.app-footer{background:#f9fafb;background:var(--footer-bg,#f9fafb);border-top:1px solid #e5e7eb;border-top:1px solid var(--border-color,#e5e7eb);bottom:0;box-shadow:0 -2px 10px #0000000d;color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.875rem;left:0;padding:1rem 0;position:fixed;right:0;width:100%;z-index:100}.footer-container{grid-gap:2rem;align-items:center;display:grid;gap:2rem;grid-template-columns:1fr auto 1fr;margin:0 auto;max-width:100%;padding:0 1rem}.footer-left{display:flex;flex-direction:column;gap:.5rem}.footer-version{align-items:center;display:flex;gap:.5rem}.version-label{color:#374151;color:var(--text-color,#374151);font-weight:600}.version-number{background:#e0e7ff;background:var(--version-badge-bg,#e0e7ff);border-radius:.375rem;color:#3730a3;color:var(--version-badge-text,#3730a3);font-size:.75rem;font-weight:500;padding:.125rem .5rem}.footer-copyright{margin:0}.footer-copyright p{font-size:.75rem;margin:0}.footer-center{display:flex;justify-content:center}.footer-nav{gap:1.5rem}.footer-link,.footer-nav{align-items:center;display:flex}.footer-link{border-radius:.375rem;color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.875rem;font-weight:500;gap:.375rem;padding:.375rem;text-decoration:none;transition:all .2s ease}.footer-link:hover{background-color:#f3f4f6;background-color:var(--hover-bg,#f3f4f6);color:#3b82f6;color:var(--primary-color,#3b82f6)}.footer-link:focus{outline:2px solid #3b82f6;outline:2px solid var(--primary-color,#3b82f6);outline-offset:2px}.footer-link svg{flex-shrink:0;height:16px;width:16px}.footer-right{align-items:flex-end;display:flex;flex-direction:column;gap:.5rem}.status-indicator{gap:.5rem}.status-dot,.status-indicator{align-items:center;display:flex}.status-dot{height:16px;justify-content:center;width:16px}.status-dot svg{height:100%;width:100%}.status-text{font-size:.75rem;font-weight:500}.last-updated{align-items:flex-end;display:flex;flex-direction:column;text-align:right}.update-label{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-size:.625rem;margin-bottom:.125rem}.update-time{color:#374151;color:var(--text-color,#374151);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-family:var(--font-mono,"Monaco","Menlo","Ubuntu Mono",monospace);font-size:.75rem;font-weight:500}.footer-mobile{background:#f9fafb;background:var(--footer-bg,#f9fafb);border-top:1px solid #e5e7eb;border-top:1px solid var(--border-color,#e5e7eb);bottom:0;box-shadow:0 -2px 10px #0000000d;display:none;left:0;padding:1rem;position:fixed;right:0;width:100%;z-index:100}.footer-mobile-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.footer-mobile-row:last-child{margin-bottom:0}.footer-mobile-version{color:#374151;color:var(--text-color,#374151);font-size:.875rem;font-weight:600}.footer-mobile-status{align-items:center;display:flex;font-size:.75rem;font-weight:500;gap:.375rem}.status-dot-mobile{align-items:center;display:flex;height:14px;justify-content:center;width:14px}.status-dot-mobile svg{height:100%;width:100%}.footer-mobile-copyright{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.75rem}.footer-mobile-links{display:flex;gap:1rem}.footer-mobile-link{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.75rem;font-weight:500;text-decoration:none;transition:color .2s ease}.footer-mobile-link:hover{color:#3b82f6;color:var(--primary-color,#3b82f6)}@media (max-width:1024px){.footer-container{gap:1rem;grid-template-columns:1fr;text-align:center}.footer-left,.footer-right{align-items:center}.footer-nav{flex-wrap:wrap;gap:1rem;justify-content:center}.last-updated{align-items:center;text-align:center}}@media (max-width:768px){.footer-container{display:none}.footer-mobile{display:block}.footer-nav{gap:.75rem}.footer-link{font-size:.75rem;padding:.25rem}.footer-link svg{height:14px;width:14px}}@media (max-width:480px){.footer-mobile{padding:.75rem}.footer-mobile-row{flex-direction:column;gap:.5rem;margin-bottom:1rem}.footer-mobile-links{gap:.75rem}.footer-mobile-status,.footer-mobile-version{font-size:.75rem}}.animate-spin{animation:spin 1s linear infinite}[data-theme=dark]{--footer-bg:#111827;--version-badge-bg:#312e81;--version-badge-text:#c7d2fe}[data-theme=dark] .footer-mobile{background:var(--footer-bg)}@media (prefers-contrast:high){.footer-link{border:1px solid #0000}.footer-link:focus,.footer-link:hover{border-color:var(--primary-color)}.version-number{border:1px solid var(--version-badge-text)}.status-dot,.status-dot-mobile{filter:contrast(1.5)}}@media print{.app-footer{display:none}}@media (prefers-reduced-motion:reduce){.footer-link{transition:none}.animate-spin{animation:none}}@keyframes venturiSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes indicatorPulse{0%,to{opacity:.6}50%{opacity:1}}.venturi-loader-container{background:#0000;box-sizing:border-box;height:100%;justify-content:center;padding:2.5rem;text-align:center;width:100%}.venturi-loader-container,.venturi-loader-content{align-items:center;display:flex;flex-direction:column}.venturi-loader-content{gap:1.25rem}.venturi-loader-spinner-wrapper{align-items:center;display:flex;justify-content:center;margin-bottom:.5rem}.venturi-loader-svg{display:block}.spinning-group{animation:venturiSpin 2.8s linear infinite;transform-origin:60px 60px}.coffee-bean-group{pointer-events:none}.venturi-loader-size-small .venturi-loader-svg{height:60px;width:60px}.venturi-loader-size-small .spinning-group{transform-origin:60px 60px}.venturi-loader-size-medium .venturi-loader-svg{height:120px;width:120px}.venturi-loader-size-large .venturi-loader-svg{height:160px;width:160px}.venturi-loader-message{color:#1e293b;font-size:1.125rem;font-weight:600;line-height:1.4;margin:0}.venturi-loader-submessage{color:#64748b;font-size:.875rem;font-weight:500;line-height:1.4;margin:0;max-width:320px}.venturi-loader-indicators{display:flex;gap:.375rem;justify-content:center;margin-top:.5rem}.venturi-loader-indicators .indicator{background-color:#e2e8f0;border-radius:2px;display:inline-block;height:4px;width:12px}.venturi-loader-indicators .indicator.active{animation:indicatorPulse 1.8s ease-in-out infinite;background-color:#2563eb}.venturi-loader-fullpage{background-color:#fff!important;height:100vh!important;left:0!important;position:fixed!important;top:0!important;width:100vw!important;z-index:9999!important}.venturi-loader-overlay{-webkit-backdrop-filter:blur(4px)!important;backdrop-filter:blur(4px)!important;background-color:#ffffffd9!important;bottom:0!important;left:0!important;position:absolute!important;right:0!important;top:0!important;z-index:1000!important}@media (prefers-reduced-motion:reduce){.spinning-group{animation:none!important}.venturi-loader-indicators .indicator.active{animation:none!important;opacity:1!important}}.dark-theme .venturi-loader-fullpage,[data-theme=dark] .venturi-loader-fullpage{background-color:#0f172a!important}.dark-theme .venturi-loader-overlay,[data-theme=dark] .venturi-loader-overlay{background-color:#0f172ad9!important}.dark-theme .venturi-loader-message,[data-theme=dark] .venturi-loader-message{color:#f1f5f9}.dark-theme .venturi-loader-submessage,[data-theme=dark] .venturi-loader-submessage{color:#94a3b8}.timeout-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000080;z-index:9998}.timeout-modal-container,.timeout-modal-overlay{animation:fadeIn .3s ease-out;bottom:0;left:0;position:fixed;right:0;top:0}.timeout-modal-container{align-items:center;display:flex;justify-content:center;padding:1rem;z-index:9999}.timeout-modal{animation:slideUp .3s ease-out;background:#fff;background:var(--modal-bg,#fff);border-radius:1rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:480px;padding:2rem;position:relative;width:100%}.timeout-modal-icon{align-items:center;animation:pulse 2s ease-in-out infinite;background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:50%;color:#fff;display:flex;height:64px;justify-content:center;margin:0 auto 1.5rem;width:64px}.timeout-modal-icon svg{height:36px;width:36px}.timeout-modal-title{color:#111827;color:var(--text-color,#111827);font-size:1.5rem;font-weight:700;line-height:1.3;margin:0 0 1rem;text-align:center}.timeout-modal-message{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:1rem;line-height:1.6;margin:0 0 1.5rem;text-align:center}.timeout-modal-countdown{align-items:center;background:#fef3c7;background:var(--countdown-bg,#fef3c7);border:2px solid #fbbf24;border:2px solid var(--countdown-border,#fbbf24);border-radius:.75rem;display:flex;font-weight:600;gap:.5rem;justify-content:center;margin-bottom:1.5rem;padding:1rem}.countdown-label{color:#92400e;color:var(--text-secondary,#92400e);font-size:.875rem}.countdown-value{color:#f59e0b;color:var(--warning-color,#f59e0b);font-family:Courier New,monospace;font-size:1.75rem;font-weight:800;min-width:2.5rem;text-align:center}.countdown-unit{color:#92400e;color:var(--text-secondary,#92400e);font-size:.875rem}.timeout-modal-actions{display:flex;flex-direction:column;gap:.75rem}.timeout-modal-btn{align-items:center;border:none;border-radius:.5rem;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:.875rem 1.5rem;transition:all .2s ease;width:100%}.timeout-modal-btn svg{height:20px;width:20px}.timeout-modal-btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 4px 6px -1px #3b82f64d;color:#fff}.timeout-modal-btn-primary:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 6px 8px -1px #3b82f666;transform:translateY(-2px)}.timeout-modal-btn-primary:active{transform:translateY(0)}.timeout-modal-btn-secondary{background:#f3f4f6;background:var(--secondary-btn-bg,#f3f4f6);border:1px solid #d1d5db;border:1px solid var(--border-color,#d1d5db);color:#374151;color:var(--text-color,#374151)}.timeout-modal-btn-secondary:hover{background:#e5e7eb;background:var(--secondary-btn-hover,#e5e7eb);border-color:#9ca3af;border-color:var(--border-hover,#9ca3af);transform:translateY(-2px)}.timeout-modal-btn-secondary:active{transform:translateY(0)}@media (max-width:480px){.timeout-modal{padding:1.5rem}.timeout-modal-icon{height:56px;margin-bottom:1rem;width:56px}.timeout-modal-icon svg{height:32px;width:32px}.timeout-modal-title{font-size:1.25rem}.timeout-modal-message{font-size:.875rem}.countdown-value{font-size:1.5rem}.timeout-modal-btn{font-size:.875rem;padding:.75rem 1.25rem}}[data-theme=dark]{--modal-bg:#1f2937;--text-color:#f9fafb;--text-secondary:#9ca3af;--countdown-bg:#422006;--countdown-border:#f59e0b;--warning-color:#fbbf24;--secondary-btn-bg:#374151;--secondary-btn-hover:#4b5563;--border-color:#4b5563;--border-hover:#6b7280}[data-theme=dark] .timeout-modal{box-shadow:0 20px 25px -5px #00000080,0 10px 10px -5px #0000004d}[data-theme=dark] .countdown-label,[data-theme=dark] .countdown-unit{color:#fbbf24}@media (prefers-reduced-motion:reduce){.timeout-modal,.timeout-modal-container,.timeout-modal-icon,.timeout-modal-overlay{animation:none}.timeout-modal-btn:hover{transform:none}}.session-timer{align-items:center;background:#f8fafc;background:var(--session-timer-bg,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-radius:.5rem;box-shadow:0 1px 2px 0 #0000000d;color:#1e293b;color:var(--text-color,#1e293b);display:flex;font-family:Courier New,monospace;font-size:.875rem;font-weight:600;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease;white-space:nowrap}.session-timer:hover{box-shadow:0 2px 4px 0 #0000001a}.session-timer-label{color:#64748b;color:var(--text-secondary,#64748b);font-size:.75rem;font-weight:500;letter-spacing:.025em}.session-timer-divider{color:#cbd5e1;color:var(--border-color,#cbd5e1);font-weight:300}.session-timer-value{color:#3b82f6;color:var(--primary-color,#3b82f6);font-size:1rem;font-weight:700;letter-spacing:.05em;min-width:2.5rem;text-align:center}@media (max-width:768px){.session-timer{font-size:.75rem;padding:.375rem .75rem}.session-timer-divider,.session-timer-label{display:none}.session-timer-value{font-size:.875rem;min-width:2rem}}@media (max-width:480px){.session-timer{padding:.25rem .5rem}.session-timer-value{font-size:.75rem;min-width:1.5rem}}[data-theme=dark]{--session-timer-bg:#1e293b;--border-color:#334155;--text-color:#f1f5f9;--text-secondary:#94a3b8}[data-theme=dark] .session-timer{box-shadow:0 1px 3px 0 #0000004d}[data-theme=dark] .session-timer:hover{box-shadow:0 2px 6px 0 #0006}.chat-trigger{align-items:center;background:#2563eb;border:none;border-radius:2rem;bottom:1.5rem;box-shadow:0 4px 16px #2563eb66;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.65rem 1rem;position:fixed;right:1.5rem;transition:background .2s,transform .15s,box-shadow .2s;z-index:8000}.chat-trigger svg{flex-shrink:0;height:20px;width:20px}.chat-trigger:hover{background:#1d4ed8;box-shadow:0 6px 20px #2563eb73;transform:translateY(-1px)}.chat-trigger:active{transform:translateY(0)}.chat-trigger--active{border-radius:50%;padding:.65rem}.chat-trigger-label{white-space:nowrap}.chat-trigger.chat-trigger--docked{background:#f8fafc!important;border:1.5px solid #cbd5e1!important;border-radius:50%!important;bottom:1.5rem!important;box-shadow:none!important;color:#64748b!important;height:40px!important;justify-content:center!important;left:1.5rem!important;padding:0!important;right:auto!important;transform:none!important;width:40px!important;z-index:8000}.chat-trigger.chat-trigger--docked:hover{background:#f1f5f9!important;border-color:#94a3b8!important;color:#334155!important;transform:translateY(-1px)!important}.chat-trigger.chat-trigger--docked svg{height:18px!important;width:18px!important}.chat-panel.chat-panel--docked{bottom:5rem!important;left:1.5rem!important;right:auto!important}.chat-trigger-pulse{animation:trigger-ring 1.4s ease-out infinite;border:2px solid #2563eb80;border-radius:50%;inset:-4px;position:absolute}@keyframes trigger-ring{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.6)}}.chat-panel{animation:chat-panel-in .22s cubic-bezier(.34,1.56,.64,1);background:#fff;border-radius:16px;bottom:5rem;box-shadow:0 20px 60px #0000002e,0 4px 16px #0000001a;display:flex;flex-direction:column;height:540px;max-height:calc(100vh - 7rem);max-width:calc(100vw - 2rem);overflow:hidden;position:fixed;right:1.5rem;width:400px;z-index:8001}@keyframes chat-panel-in{0%{opacity:0;transform:scale(.92) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.chat-header{background:#2563eb;color:#fff;flex-shrink:0;justify-content:space-between;padding:.875rem 1rem}.chat-header,.chat-header-info{align-items:center;display:flex}.chat-header-info{gap:.625rem}.chat-header-avatar{align-items:center;background:#fff3;border-radius:50%;display:flex;flex-shrink:0;height:36px;justify-content:center;transition:background .3s;width:36px}.chat-header-avatar--active{animation:avatar-pulse 1.8s ease-in-out infinite;background:#ffffff4d}@keyframes avatar-pulse{0%,to{box-shadow:0 0 0 0 #fff6}50%{box-shadow:0 0 0 6px #fff0}}.chat-header-avatar svg{height:20px;width:20px}.chat-header-title{font-size:.9rem;font-weight:700;line-height:1.2}.chat-header-subtitle{font-size:.72rem;line-height:1.2;opacity:.85;transition:opacity .3s}.chat-header-actions{align-items:center;display:flex;gap:.25rem}.chat-icon-btn{align-items:center;background:#ffffff26;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;height:30px;justify-content:center;transition:background .15s;width:30px}.chat-icon-btn svg{height:16px;width:16px}.chat-icon-btn:hover{background:#ffffff40}.chat-messages{display:flex;flex:1 1;flex-direction:column;gap:.75rem;overflow-y:auto;padding:1rem;scroll-behavior:smooth}.chat-messages::-webkit-scrollbar{width:4px}.chat-messages::-webkit-scrollbar-track{background:#0000}.chat-messages::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:4px}.chat-empty{align-items:center;color:#94a3b8;display:flex;flex:1 1;flex-direction:column;gap:.75rem;justify-content:center;padding:1.5rem 1rem;text-align:center}.chat-empty svg{height:40px;opacity:.35;width:40px}.chat-empty p{font-size:.85rem;line-height:1.5;margin:0;max-width:260px}.chat-suggestions{display:flex;flex-direction:column;gap:.4rem;margin-top:.25rem;width:100%}.chat-suggestion-chip{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:20px;color:#475569;cursor:pointer;font-size:.78rem;padding:.45rem .75rem;text-align:left;transition:background .15s,border-color .15s}.chat-suggestion-chip:hover{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.chat-message{animation:msg-in .18s ease-out;display:flex;flex-direction:column;max-width:88%}@keyframes msg-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.chat-message--user{align-items:flex-end;align-self:flex-end}.chat-message--assistant{align-items:flex-start;align-self:flex-start}.chat-intent-badge{animation:badge-in .2s ease-out;background:#eff6ff;border:1px solid #bfdbfe;border-radius:4px;color:#2563eb;font-size:.65rem;font-weight:600;letter-spacing:.04em;margin-bottom:.25rem;padding:.1rem .4rem;text-transform:uppercase}@keyframes badge-in{0%{opacity:0;transform:translateX(-4px)}to{opacity:1;transform:translateX(0)}}.chat-tool-pill{align-items:center;animation:pill-in .2s ease-out;background:#f5f3ff;border:1px solid #ddd6fe;border-radius:20px;color:#7c3aed;display:flex;font-size:.72rem;gap:.35rem;margin-bottom:.3rem;padding:.2rem .6rem}@keyframes pill-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.chat-tool-pill svg{animation:tool-spin 1.2s linear infinite;flex-shrink:0;height:11px;width:11px}@keyframes tool-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.chat-bubble{border-radius:12px;font-size:.875rem;line-height:1.6;min-height:2.2rem;padding:.6rem .875rem;white-space:pre-wrap;word-break:break-word}.chat-bubble--markdown{white-space:normal}.chat-bubble--markdown p{margin:0 0 .5rem}.chat-bubble--markdown p:last-child{margin-bottom:0}.chat-bubble--markdown strong{font-weight:700}.chat-bubble--markdown em{font-style:italic}.chat-bubble--markdown ol,.chat-bubble--markdown ul{margin:.25rem 0 .5rem 1.25rem;padding:0}.chat-bubble--markdown li{margin-bottom:.15rem}.chat-bubble--markdown h1,.chat-bubble--markdown h2,.chat-bubble--markdown h3{font-size:.9rem;font-weight:700;margin:.5rem 0 .25rem}.chat-bubble--markdown code{background:#00000012;border-radius:4px;font-family:ui-monospace,monospace;font-size:.8rem;padding:.1em .35em}.chat-bubble--markdown pre{background:#00000012;border-radius:6px;margin:.4rem 0;overflow-x:auto;padding:.5rem .75rem}.chat-bubble--markdown pre code{background:none;padding:0}.chat-bubble--markdown hr{border:none;border-top:1px solid #0000001f;margin:.5rem 0}.chat-bubble--markdown table{border-collapse:collapse;display:block;font-size:.8rem;margin:.5rem 0;overflow-x:auto;white-space:nowrap;width:100%}.chat-bubble--markdown td,.chat-bubble--markdown th{border:1px solid #e2e8f0;padding:.3rem .6rem;text-align:left;white-space:nowrap}.chat-bubble--markdown thead tr{background:#2563eb;color:#fff}.chat-bubble--markdown thead th{border-color:#1d4ed8;font-weight:600}.chat-bubble--markdown tbody tr:nth-child(2n){background:#f8fafc}.chat-bubble--markdown tbody tr:hover{background:#eff6ff}[data-theme=dark] .chat-bubble--markdown td,[data-theme=dark] .chat-bubble--markdown th{border-color:#475569}[data-theme=dark] .chat-bubble--markdown thead tr{background:#1d4ed8}[data-theme=dark] .chat-bubble--markdown tbody tr:nth-child(2n){background:#1e293b}[data-theme=dark] .chat-bubble--markdown tbody tr:hover{background:#1e3a5f}.chat-message--user .chat-bubble{background:#2563eb;border-bottom-right-radius:4px;color:#fff}.chat-message--assistant .chat-bubble{background:#f1f5f9;border-bottom-left-radius:4px;color:#0f172a}.chat-thinking-dots{align-items:center;display:flex;gap:4px;padding:.2rem .1rem}.chat-thinking-dots span{animation:dot-bounce 1.2s ease-in-out infinite;background:#94a3b8;border-radius:50%;display:inline-block;height:7px;width:7px}.chat-thinking-dots span:nth-child(2){animation-delay:.2s}.chat-thinking-dots span:nth-child(3){animation-delay:.4s}@keyframes dot-bounce{0%,80%,to{opacity:.4;transform:translateY(0)}40%{opacity:1;transform:translateY(-5px)}}.chat-cursor{animation:blink .9s step-end infinite;background:#64748b;display:inline-block;height:1em;margin-left:2px;vertical-align:text-bottom;width:2px}@keyframes blink{50%{opacity:0}}.chat-input-area{align-items:flex-end;background:#fff;border-top:1px solid #e2e8f0;display:flex;flex-shrink:0;gap:.5rem;padding:.75rem 1rem}.chat-input{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;color:#0f172a;flex:1 1;font-family:inherit;font-size:.875rem;line-height:1.4;max-height:120px;outline:none;overflow-y:auto;padding:.55rem .75rem;resize:none;transition:border-color .15s,background .15s}.chat-input:focus{background:#fff;border-color:#2563eb}.chat-input:disabled{cursor:not-allowed;opacity:.6}.chat-send-btn{align-items:center;background:#2563eb;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;transition:background .15s,transform .1s;width:36px}.chat-send-btn svg{height:16px;width:16px}.chat-send-btn:hover:not(:disabled){background:#1d4ed8}.chat-send-btn:active:not(:disabled){transform:scale(.94)}.chat-send-btn:disabled{background:#cbd5e1;cursor:not-allowed}.chat-send-btn--loading{background:#3b82f6;cursor:default}.chat-send-spinner{animation:spin .7s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}[data-theme=dark] .chat-panel{background:#1e293b;box-shadow:0 20px 60px #00000080}[data-theme=dark] .chat-message--assistant .chat-bubble{background:#334155;color:#e2e8f0}[data-theme=dark] .chat-input{background:#0f172a;border-color:#334155;color:#e2e8f0}[data-theme=dark] .chat-input:focus{background:#1e293b;border-color:#2563eb}[data-theme=dark] .chat-input-area{background:#1e293b;border-top-color:#334155}[data-theme=dark] .chat-messages::-webkit-scrollbar-thumb{background:#334155}[data-theme=dark] .chat-suggestion-chip{background:#1e293b;border-color:#334155;color:#94a3b8}[data-theme=dark] .chat-suggestion-chip:hover{background:#1e3a5f;border-color:#2563eb;color:#93c5fd}@media (max-width:480px){.chat-panel{border-bottom-left-radius:0;border-bottom-right-radius:0;bottom:0;height:72vh;left:0;max-width:100%;right:0;width:100%}.chat-trigger{bottom:1rem;right:1rem}}.app-drawer-overlay{animation:appDrawerFadeIn .2s ease;background:#00000040;inset:0;position:fixed;z-index:1100}.app-drawer{animation:appDrawerSlideIn .25s cubic-bezier(.4,0,.2,1);background:#fff;background:var(--card-bg,#fff);bottom:0;box-shadow:-8px 0 40px #0000001f;display:flex;flex-direction:column;max-width:100vw;position:fixed;right:0;top:0;width:480px}@keyframes appDrawerSlideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes appDrawerFadeIn{0%{opacity:0}to{opacity:1}}.app-drawer-header{align-items:flex-start;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color,#e5e7eb);display:flex;flex-shrink:0;gap:12px;justify-content:space-between;padding:20px 24px 16px}.app-drawer-title{align-items:center;color:#111827;color:var(--text-color,#111827);display:flex;font-size:18px;font-weight:600;gap:10px;margin:0}.app-drawer-subtitle{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:13px;margin:4px 0 0}.app-drawer-close{align-items:center;background:none;border:none;border-radius:6px;color:#9ca3af;cursor:pointer;display:flex;padding:6px;transition:background .15s,color .15s}.app-drawer-close:hover{background:#f3f4f6;color:#374151}.app-drawer-body{flex:1 1;overflow-y:auto;padding:24px}.app-drawer-footer{background:#fff;background:var(--card-bg,#fff);border-top:1px solid #e5e7eb;border-top:1px solid var(--border-color,#e5e7eb);display:flex;flex-shrink:0;gap:10px;padding:16px 24px}.app-drawer-btn{align-items:center;border-radius:10px;cursor:pointer;display:inline-flex;font-size:14px;gap:8px;justify-content:center;padding:11px 18px;transition:all .2s}.app-drawer-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.app-drawer-btn--secondary{background:none;border:1.5px solid #e5e7eb;border:1.5px solid var(--border-color,#e5e7eb);color:#6b7280;color:var(--text-secondary,#6b7280);flex:1 1;font-weight:500}.app-drawer-btn--secondary:hover:not(:disabled){border-color:#9ca3af;color:#374151}.app-drawer-btn--primary{background:linear-gradient(135deg,#397ff5,#2867ed);border:none;box-shadow:0 2px 6px #2867ed4d;color:#fff;flex:2 1;font-weight:600}.app-drawer-btn--primary:hover:not(:disabled){background:linear-gradient(135deg,#2867ed,#1d4ed8);box-shadow:0 4px 12px #2867ed66;transform:translateY(-1px)}@media (max-width:560px){.app-drawer{width:100vw}}.modal-overlay{align-items:flex-start;animation:fadeIn .3s ease;background:#0009;justify-content:flex-end;padding-right:16px;padding-top:64px}.modal-overlay.mobile{align-items:center;justify-content:center;padding:0}.modal-content{animation:slideIn .3s ease-out;background:var(--sidebar-bg,#fff);border-radius:.75rem;box-shadow:0 10px 25px -5px #0000001a,0 10px 10px -5px #0000000a;margin-right:1rem;max-height:calc(100vh - 80px);max-width:480px;padding:1.5rem}.modal-content.mobile{animation:slideUp .3s ease-out;border-radius:0;height:100%;margin:0;max-height:100%;max-width:100%;width:100%}@keyframes slideIn{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid var(--border-color,#e5e7eb);margin-bottom:1.5rem;padding-bottom:1rem}.modal-header h2{font-size:1.25rem;font-weight:600}.close-button{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:2rem;font-weight:300;padding:0;transition:color .2s ease}.close-button:hover{color:#111827;color:var(--text-color,#111827)}#global-filter-panel .filter-group{margin-bottom:1.5rem}#global-filter-panel .filter-group label{color:#374151;color:var(--text-color,#374151);display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.filter-date,.filter-select{background:#fff;background:var(--input-bg,#fff);border:1px solid #d1d5db;border:1px solid var(--border-color,#d1d5db);border-radius:.5rem;color:#111827;color:var(--text-color,#111827);font-size:1rem;height:2.75rem;padding:.75rem;width:100%}#global-filter-panel .date-range-inputs{display:flex;gap:1rem}#global-filter-panel .date-input-group{flex:1 1}.modal-footer{margin-top:1.5rem;padding-top:1.5rem}[data-theme=dark] .modal-content{background:#1f2937}[data-theme=dark] .modal-footer,[data-theme=dark] .modal-header{border-color:#374151}[data-theme=dark] .close-button,[data-theme=dark] .modal-header h2{color:#f9fafb}[data-theme=dark] .close-button:hover{color:#d1d5db}@media (max-width:768px){.modal-content{padding:1.25rem}}@media (max-width:640px){.modal-overlay:not(.mobile){padding-top:56px}.date-range-inputs{flex-direction:column;gap:.75rem}}.modal-content::-webkit-scrollbar{width:6px}.modal-content::-webkit-scrollbar-track{background:#0000}.modal-content::-webkit-scrollbar-thumb{background-color:#6b72804d;border-radius:3px}.modal-content::-webkit-scrollbar-thumb:hover{background-color:#6b728080}.main-layout{background:#fff;background:var(--app-bg,#fff);color:#111827;color:var(--text-color,#111827);display:flex;flex-direction:column;min-height:100vh}.skip-to-content{background:#3b82f6;background:var(--primary-color,#3b82f6);border-radius:4px;color:#fff;font-weight:500;left:6px;padding:8px 16px;position:absolute;text-decoration:none;top:-40px;transition:top .3s ease;z-index:9999}.skip-to-content:focus{top:6px}.layout-body{margin-top:100px}.layout-body,.main-content{display:flex;flex:1 1;min-height:calc(100vh - 100px);position:relative}.main-content{background:#fff;background:var(--content-bg,#fff);flex-direction:column;overflow-x:clip;width:100%}.content-wrapper{display:flex;flex:1 1;flex-direction:column;padding-bottom:80px;width:100%}.page-content{flex:1 1;max-width:100%;padding:1.5rem;width:100%}@media (min-width:768px){.app-sidebar{transition:transform .3s ease,width .3s ease}.main-layout:not(.sidebar-open) .app-sidebar{overflow:hidden;width:0}.main-layout.sidebar-open .main-content{margin-left:280px;width:calc(100% - 280px)}}.auth-loading-container{background:#fff;background:var(--app-bg,#fff);min-height:100vh}.auth-loading-container,.route-loading{align-items:center;display:flex;justify-content:center}.route-loading{min-height:200px;padding:2rem}.breadcrumb-container{align-items:center;background:#f9fafb;background:var(--breadcrumb-bg,#f9fafb);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color,#e5e7eb);display:flex;gap:1rem;justify-content:space-between;margin-left:0;padding:.75rem 1.5rem;position:sticky;top:0;width:100%;z-index:10}@media (max-width:768px){.breadcrumb-container{padding:.5rem 1rem;top:0}.content-wrapper{padding-bottom:100px}}@media (max-width:480px){.content-wrapper{padding-bottom:120px}}.breadcrumb{flex:1 1;max-width:100%;overflow-x:auto}.breadcrumb-session-timer{align-items:center;display:flex;flex-shrink:0}.breadcrumb-list{list-style:none;margin:0;padding:0;white-space:nowrap}.breadcrumb-item,.breadcrumb-link,.breadcrumb-list{align-items:center;display:flex}.breadcrumb-link{border-radius:.375rem;color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.875rem;font-weight:500;gap:.375rem;padding:.25rem .5rem;text-decoration:none;transition:all .2s ease}.breadcrumb-link:hover{background-color:#f3f4f6;background-color:var(--hover-bg,#f3f4f6);color:#3b82f6;color:var(--primary-color,#3b82f6)}.breadcrumb-link:focus{outline:2px solid #3b82f6;outline:2px solid var(--primary-color,#3b82f6);outline-offset:2px}.breadcrumb-link svg{flex-shrink:0;height:16px;width:16px}.breadcrumb-separator{align-items:center;color:#9ca3af;color:var(--text-secondary,#9ca3af);display:flex;margin:0 .25rem}.breadcrumb-separator svg{height:16px;width:16px}.breadcrumb-current{color:#111827;color:var(--text-color,#111827);font-size:.875rem;font-weight:600;padding:.25rem .5rem;text-transform:capitalize}.main-content:focus{outline:none}.focus-trap{height:1px;left:0;opacity:0;pointer-events:none;position:fixed;top:0;width:1px}@media (min-width:768px){.main-layout.sidebar-open .layout-body{grid-template-columns:280px 1fr}}@media (min-width:1024px){.main-layout.sidebar-open .main-content{margin-left:320px;width:calc(100% - 320px)}.main-layout:not(.sidebar-open) .page-content{max-width:100%}.main-layout.sidebar-open .page-content,.page-content{max-width:100%;width:100%}}@media (min-width:1440px){.page-content{margin:0 auto;max-width:1200px;padding:2.5rem 2rem}}@media print{.breadcrumb-container,.skip-to-content{display:none}.main-content{margin-left:0!important;margin-top:0!important}.page-content{padding:0}}[data-theme=dark]{--app-bg:#111827;--content-bg:#1f2937;--breadcrumb-bg:#1f2937}@media (prefers-contrast:high){.breadcrumb-container{border-bottom-width:2px}.breadcrumb-link{border:1px solid #0000}.breadcrumb-link:focus,.breadcrumb-link:hover{border-color:var(--primary-color)}}@media (prefers-reduced-motion:reduce){.breadcrumb-link,.main-content,.skip-to-content{transition:none}*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.error-boundary{background:#fef2f2;background:var(--error-bg,#fef2f2);border-radius:.5rem;color:#dc2626;color:var(--error-color,#dc2626);margin:1rem;padding:2rem;text-align:center}.error-boundary h2{font-size:1.25rem;margin:0 0 1rem}.error-boundary p{margin:0 0 1rem}.error-boundary button{background:#3b82f6;background:var(--primary-color,#3b82f6);border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-weight:500;padding:.5rem 1rem}.route-loading .loading-spinner{margin:0 auto}@keyframes gradientAnimation{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.login-container{align-items:center;animation:gradientAnimation 15s ease infinite;background:linear-gradient(-45deg,#667eea,#764ba2,#5a67d8,#6b46c1);background-size:400% 400%;justify-content:center;min-height:100vh;padding:1rem}.login-container,.login-page-wrapper{display:flex;overflow:hidden;position:relative;width:100%}.login-page-wrapper{backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border-radius:16px;box-shadow:0 25px 50px -12px #0003,0 0 30px #677eea40;max-width:1200px;min-height:600px;z-index:10}.login-card{background:#fff;display:flex;flex-direction:column;min-width:400px;padding:2rem;position:relative;width:40%}.login-header{margin-bottom:2rem;text-align:center}.login-header h1{color:#333;font-size:2rem;font-weight:700;margin:0 0 .5rem}.login-header p{color:#666;font-size:.9rem;margin:0}.login-form h2{color:#333;font-size:1.5rem;font-weight:600;margin:0 0 1.5rem;text-align:center}.form-group label{color:#333}.form-group input[type=email],.form-group input[type=password],.form-group input[type=text]{border:2px solid #e1e8ed;border-radius:8px;box-sizing:border-box;font-size:1rem;padding:.75rem 1rem;transition:all .2s ease;width:100%}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input.error{border-color:#e74c3c}.form-options{flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.checkbox-label,.form-options{align-items:center;display:flex}.checkbox-label{cursor:pointer;font-size:.9rem;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{cursor:pointer;height:16px;margin-right:.5rem;width:16px}.checkbox-text{color:#333}.forgot-password-link{color:#667eea;font-size:.9rem;text-decoration:none;transition:color .2s ease}.forgot-password-link:hover{color:#5a67d8;text-decoration:underline}.login-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;min-height:48px;padding:.875rem 1rem;transition:all .2s ease;width:100%}.login-button:hover:not(:disabled){box-shadow:0 8px 20px #667eea4d;transform:translateY(-1px)}.login-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.spinner{height:18px;width:18px}.error-message{background:#fee;border:1px solid #fcc;border-radius:6px;color:#c33;font-size:.9rem}.register-prompt{border-top:1px solid #e1e8ed;margin-top:1.5rem;padding-top:1.5rem;text-align:center}.register-prompt p{color:#666;font-size:.9rem;margin:0}.register-link{color:#667eea;font-weight:500;text-decoration:none;transition:color .2s ease}.register-link:hover{color:#5a67d8;text-decoration:underline}.login-footer{border-top:1px solid #e1e8ed;margin-top:2rem;padding-top:1rem;text-align:center}.login-footer p{color:#999;font-size:.8rem;margin:0}@media (max-width:480px){.login-container{padding:.5rem}.login-card{padding:1.5rem}.login-header h1{font-size:1.5rem}.form-options{align-items:flex-start;flex-direction:column;gap:.5rem}}.forgot-password-link:focus-visible,.login-button:focus-visible,.register-link:focus-visible{outline:2px solid #667eea;outline-offset:2px}@media (prefers-contrast:high){.login-card{border:2px solid #000}.form-group input:focus{border-color:#000;box-shadow:0 0 0 3px #000}}.welcome-section{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;justify-content:center;overflow:hidden;position:relative;width:60%}.animated-bg{bottom:0;left:0;overflow:hidden;position:absolute;right:0;top:0;z-index:1}.welcome-content{animation:fadeIn .8s ease-out;max-width:500px;padding:3rem;position:relative;text-align:center;z-index:2}.welcome-content h1{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#fff,#e0e7ff);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:700;margin:0 0 .5rem;text-shadow:0 2px 10px #0000001a}.welcome-content h2{font-size:1.25rem;font-weight:500;margin:0 0 2rem;opacity:.9}.welcome-content p{font-size:1rem;line-height:1.6;margin-bottom:2.5rem;opacity:.8}.welcome-features{display:flex;gap:2rem;justify-content:center;margin-top:2rem}.feature-item{flex-direction:column;gap:.5rem}.feature-icon,.feature-item{align-items:center;display:flex}.feature-icon{background:#fff3;border-radius:50%;box-shadow:0 4px 15px #0000001a;font-size:1.75rem;height:3.5rem;justify-content:center;margin-bottom:.5rem;transition:all .3s ease;width:3.5rem}.feature-item:hover .feature-icon{background:#ffffff4d;transform:translateY(-5px)}.feature-text{font-size:.9rem;font-weight:500}.wave-animation{animation:wave 15s linear infinite;background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320"><path fill="%23ffffff" fill-opacity="0.1" d="M0,224L48,213.3C96,203,192,181,288,181.3C384,181,480,203,576,202.7C672,203,768,181,864,181.3C960,181,1056,203,1152,197.3C1248,192,1344,160,1392,144L1440,128L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z"></path></svg>') no-repeat bottom;background-size:cover;bottom:0;height:200px;left:0;opacity:.5;position:absolute;right:0}@keyframes wave{0%{background-position:0 bottom}to{background-position:1440px bottom}}.bg-circle{border-radius:50%;filter:blur(60px);opacity:.15;pointer-events:none;position:absolute;z-index:1}.bg-circle-1{animation:float 20s ease-in-out infinite alternate;background:#5a67d8;height:400px;left:10%;top:-100px;width:400px}.bg-circle-2{animation:float 25s ease-in-out infinite alternate-reverse;background:#6b46c1;bottom:-200px;height:600px;right:5%;width:600px}.bg-circle-3{animation:float 18s ease-in-out infinite alternate;background:#4c51bf;height:300px;left:-100px;top:40%;width:300px}.bg-circle-4{animation:float 15s ease-in-out infinite alternate-reverse;background:#7e3af2;height:200px;right:10%;top:20%;width:200px}@keyframes float{0%{transform:translate(0) rotate(0deg)}50%{transform:translate(30px,20px) rotate(5deg)}to{transform:translate(-20px,40px) rotate(-5deg)}}@media (max-width:992px){.login-page-wrapper{flex-direction:column;max-width:500px}.login-card{min-width:auto;order:2;width:100%}.welcome-section{min-height:300px;order:1;width:100%}.welcome-content{padding:2rem 1.5rem}.welcome-content h1{font-size:2rem}.welcome-content h2{font-size:1rem;margin-bottom:1rem}.welcome-content p{font-size:.9rem;margin-bottom:1.5rem}.welcome-features{gap:1rem}.feature-icon{font-size:1.5rem;height:3rem;width:3rem}.bg-circle-1{height:200px;margin-left:-100px;margin-top:-100px;width:200px}.bg-circle-2{height:300px;margin-left:-150px;margin-top:-150px;width:300px}.bg-circle-3{height:250px;margin-left:-125px;margin-top:-125px;width:250px}.bg-circle-4{height:150px;width:150px}}.dashboard-page{max-width:100%;min-height:calc(100vh - 200px);padding:0}.page-header{margin-bottom:2rem}.page-title{color:#111827;color:var(--text-color,#111827);font-size:2rem;font-weight:700;line-height:1.2;margin:0 0 .5rem}.page-description{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:1rem;line-height:1.5;margin:0}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:2rem}@media (min-width:1024px){.dashboard-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1440px){.dashboard-grid{grid-template-columns:repeat(3,1fr)}}.dashboard-card{background:#fff;background:var(--card-bg,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:.75rem;box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;overflow:hidden;transition:all .2s ease}.dashboard-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.dashboard-card.full-width{grid-column:1/-1}.card-header{background:#f9fafb;background:var(--card-header-bg,#f9fafb);padding:1.25rem 1.5rem}.card-title{color:#111827;color:var(--text-color,#111827);font-size:1.125rem;font-weight:600;margin:0}.card-content{padding:1.5rem}.placeholder-chart{align-items:center;background:#f9fafb;background:var(--chart-bg,#f9fafb);border-radius:.5rem;display:flex;height:200px;justify-content:center;margin-bottom:1rem;width:100%}.chart-placeholder{height:100%;opacity:.7;width:100%}.placeholder-text{fill:#9ca3af;fill:var(--text-secondary,#9ca3af);font-size:14px;font-weight:500}.placeholder-table,.user-table{overflow-x:auto}.data-table{border-collapse:collapse;font-size:.875rem;width:100%}.data-table th{background:#f9fafb;background:var(--table-header-bg,#f9fafb);border-bottom:2px solid #e5e7eb;border-bottom:2px solid var(--border-color,#e5e7eb);font-weight:600;text-align:left}.data-table td,.data-table th{color:#374151;color:var(--text-color,#374151);padding:.75rem}.data-table td{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color,#e5e7eb)}.btn-icon,.data-table tbody tr:hover{background:#f3f4f6;background:var(--hover-bg,#f3f4f6)}.btn-icon{align-items:center;border:none;border-radius:.375rem;color:#6b7280;color:var(--text-secondary,#6b7280);cursor:pointer;display:inline-flex;justify-content:center;padding:.375rem;transition:all .2s ease}.btn-icon:hover{background:#eff6ff;background:var(--primary-light,#eff6ff);color:#3b82f6;color:var(--primary-color,#3b82f6)}.btn-icon.danger:hover{background:#fef2f2;background:var(--error-light,#fef2f2);color:#dc2626;color:var(--error-color,#dc2626)}.btn-icon svg{height:16px;width:16px}.action-buttons{gap:.5rem}.user-info{gap:.75rem}.user-avatar,.user-info{align-items:center;display:flex}.user-avatar{background:linear-gradient(135deg,#3b82f6,#8b5cf6);background:linear-gradient(135deg,var(--primary-color,#3b82f6),var(--secondary-color,#8b5cf6));border-radius:50%;color:#fff;flex-shrink:0;font-size:.75rem;font-weight:600;height:32px;justify-content:center;width:32px}.role-badge.admin{background:#fef2f2;background:var(--error-light,#fef2f2);color:#dc2626;color:var(--error-color,#dc2626)}.role-badge.viewer,.status-badge.active{background:#f0fdf4;background:var(--success-light,#f0fdf4);color:#16a34a;color:var(--success-color,#16a34a)}.status-badge.inactive{background:#f9fafb;background:var(--gray-light,#f9fafb);color:var(--text-secondary,#6b7280)}.role-stats{display:flex;gap:1rem;justify-content:space-around}.stat-item{text-align:center}.stat-number{color:#3b82f6;color:var(--primary-color,#3b82f6);display:block;font-size:2rem;font-weight:700;line-height:1}.stat-label{color:#6b7280;color:var(--text-secondary,#6b7280);display:block;font-size:.875rem;margin-top:.25rem}.activity-list{display:flex;flex-direction:column;gap:1rem}.activity-item{align-items:start;display:flex;gap:.75rem}.activity-icon{align-items:center;background:#eff6ff;background:var(--primary-light,#eff6ff);border-radius:50%;color:#3b82f6;color:var(--primary-color,#3b82f6);display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.activity-icon svg{height:16px;width:16px}.activity-content p{color:#374151;color:var(--text-color,#374151);font-size:.875rem;margin:0 0 .25rem}.activity-time{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-size:.75rem}.scenario-controls{display:flex;flex-direction:column;gap:1rem}.control-group{align-items:center;display:flex;gap:1rem}.control-group label{color:#374151;color:var(--text-color,#374151);font-size:.875rem;font-weight:500;min-width:120px}.control-group input[type=range]{background:#e5e7eb;background:var(--slider-track,#e5e7eb);border-radius:3px;flex:1 1;height:6px;outline:none}.control-group input[type=range]::-webkit-slider-thumb{appearance:none;background:#3b82f6;background:var(--primary-color,#3b82f6);border-radius:50%;cursor:pointer;height:20px;width:20px}.control-group input[type=range]::-moz-range-thumb{background:#3b82f6;background:var(--primary-color,#3b82f6);border:none;border-radius:50%;cursor:pointer;height:20px;width:20px}.control-group span{color:#3b82f6;color:var(--primary-color,#3b82f6);font-weight:600;min-width:40px}.impact-metrics{display:flex;flex-direction:column;gap:1rem}.metric{align-items:center;background:#f9fafb;background:var(--metric-bg,#f9fafb);border-radius:.5rem;display:flex;justify-content:space-between;padding:.75rem}.metric-label{color:#374151;color:var(--text-color,#374151);font-size:.875rem}.metric-value{font-size:.875rem;font-weight:600}.metric-value.positive{color:#16a34a;color:var(--success-color,#16a34a)}.metric-value.negative{color:#dc2626;color:var(--error-color,#dc2626)}.metric-value.neutral{color:#374151;color:var(--text-color,#374151)}.access-denied{margin:0 auto;max-width:500px;padding:4rem 2rem;text-align:center}.access-denied h1{color:#dc2626;color:var(--error-color,#dc2626);font-size:1.5rem;font-weight:700;margin:0 0 1rem}.access-denied p{color:#6b7280;color:var(--text-secondary,#6b7280);line-height:1.6;margin:0 0 .5rem}@media (max-width:768px){.dashboard-grid{gap:1rem;grid-template-columns:1fr}.card-header{align-items:stretch;flex-direction:column;gap:1rem;padding:1rem}.card-content{padding:1rem}.page-title{font-size:1.5rem}.data-table{font-size:.75rem}.data-table td,.data-table th{padding:.5rem}.control-group{align-items:stretch;flex-direction:column;gap:.5rem}.control-group label{min-width:auto}.role-stats{flex-direction:column;gap:1.5rem}}[data-theme=dark]{--card-bg:#1f2937;--card-header-bg:#111827;--chart-bg:#111827;--table-header-bg:#111827;--metric-bg:#111827;--slider-track:#374151}@media (prefers-contrast:high){.dashboard-card,.data-table td,.data-table th{border-width:2px}.role-badge,.status-badge{border:2px solid}}.pagination-container{align-items:center;border-top:1px solid #e5e7eb;border-top:1px solid var(--border-color,#e5e7eb);display:flex;justify-content:space-between;margin-top:1rem;padding:1.5rem 0 .5rem}.pagination-info{color:var(--text-secondary,#6b7280)}.pagination-btn{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);color:var(--text-color,#374151);font-weight:500;padding:.5rem 1rem}.pagination-btn:hover:not(:disabled){background:#f3f4f6;background:var(--hover-bg,#f3f4f6);color:#3b82f6;color:var(--primary-color,#3b82f6)}.pagination-btn svg{height:16px;width:16px}.pagination-numbers{display:flex;gap:.25rem}.pagination-number{align-items:center;background:#fff;background:var(--card-bg,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:.375rem;color:#374151;color:var(--text-color,#374151);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;height:36px;justify-content:center;min-width:36px;padding:0 .5rem;transition:all .2s ease}.pagination-number:hover{background:#f3f4f6;background:var(--hover-bg,#f3f4f6);color:#3b82f6;color:var(--primary-color,#3b82f6)}.pagination-number.active,.pagination-number:hover{border-color:#3b82f6;border-color:var(--primary-color,#3b82f6)}.pagination-number.active{background:#3b82f6;background:var(--primary-color,#3b82f6);color:#fff}.pagination-number.active:hover{background:#2563eb;background:var(--primary-hover,#2563eb);border-color:#2563eb;border-color:var(--primary-hover,#2563eb)}@media (max-width:768px){.pagination-container{align-items:stretch;flex-direction:column;gap:1rem}.pagination-info{text-align:center}.pagination-controls{flex-direction:column;gap:.75rem}.pagination-numbers{flex-wrap:wrap;justify-content:center}.pagination-btn{justify-content:center;width:100%}}@media print{.dashboard-page{max-width:none}.dashboard-grid{display:block}.dashboard-card{border:2px solid #000;box-shadow:none;break-inside:avoid;margin-bottom:1rem;page-break-inside:avoid}.btn,.btn-icon,.pagination-container{display:none}}.dashboard-page{background:#f8fafc;background:var(--bg-color,#f8fafc);min-height:100vh;padding:1.5rem}.dashboard-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-top:1.5rem}.card{background:#fff;background:var(--card-bg,#fff);border-radius:.75rem;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;display:flex;flex-direction:column;height:100%;overflow:hidden;transition:all .2s ease}.card:hover{box-shadow:0 4px 6px #0000001a,0 2px 4px #0000000f;transform:translateY(-2px)}.card-header{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color,#e5e7eb);justify-content:space-between;padding:1rem 1.25rem}.card-header,.card-header h3{align-items:center;display:flex}.card-header h3{color:#111827;color:var(--text-color,#111827);font-size:1.125rem;font-weight:600;gap:.5rem;margin:0}.card-body{flex:1 1;padding:1.25rem}.financial-metrics-row{background:#fff;background:var(--card-bg,#fff);border-radius:.75rem;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;margin-bottom:1.5rem;padding:1.25rem}.section-header{margin-bottom:1rem}.section-header h3{align-items:center;color:#111827;color:var(--text-color,#111827);display:flex;font-size:1.125rem;font-weight:600;gap:.5rem;margin:0}.metrics-cards{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.metric-card{background:#f9fafb;background:var(--metric-card-bg,#f9fafb);border-left:4px solid #3b82f6;border-left:4px solid var(--primary-color,#3b82f6);border-radius:.5rem;padding:1rem;transition:all .2s ease}.metric-card:hover{background:#f3f4f6;background:var(--metric-card-hover-bg,#f3f4f6)}.metric-card-content{display:flex;flex-direction:column}.metric-card-value{color:#111827;color:var(--text-color,#111827);font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.metric-card-label{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.875rem}.inventory-summary{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 2fr}.inventory-summary-left{display:flex;flex-direction:column;gap:1rem}.inventory-stat{align-items:center;background:#f9fafb;background:var(--stat-bg,#f9fafb);border-radius:.5rem;display:flex;gap:.75rem;padding:.75rem}.inventory-stat-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;height:2.5rem;justify-content:center;width:2.5rem}.inventory-icon-total{background:#3b82f61a;color:#3b82f6}.inventory-icon-warning{background:#f59e0b1a;color:#f59e0b}.inventory-icon-danger{background:#ef44441a;color:#ef4444}.inventory-stat-content{flex:1 1}.inventory-stat-value{color:#111827;color:var(--text-color,#111827);font-size:1.25rem;font-weight:700}.inventory-stat-label{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.875rem}.inventory-last-updated{align-items:center;color:#9ca3af;color:var(--text-tertiary,#9ca3af);display:flex;font-size:.75rem;gap:.5rem;margin-top:.5rem;padding-left:.5rem}.inventory-section-title{color:#111827;color:var(--text-color,#111827);font-size:1rem;font-weight:600;margin:0 0 .75rem}.inventory-table{border-collapse:collapse;font-size:.875rem;width:100%}.inventory-table th{background:#f9fafb;background:var(--table-header-bg,#f9fafb);border-bottom:2px solid #e5e7eb;border-bottom:2px solid var(--border-color,#e5e7eb);font-weight:600;text-align:left}.inventory-table td,.inventory-table th{color:#374151;color:var(--text-color,#374151);padding:.75rem}.inventory-table td{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color,#e5e7eb)}.status-badge{padding:.25rem .5rem}.status-badge.success{background:#ecfdf5;background:var(--success-light,#ecfdf5);color:#10b981;color:var(--success-color,#10b981)}.status-badge.warning{background:#fffbeb;background:var(--warning-light,#fffbeb);color:#f59e0b;color:var(--warning-color,#f59e0b)}.status-badge.danger{background:#fef2f2;background:var(--error-light,#fef2f2);color:#ef4444;color:var(--error-color,#ef4444)}.production-status-content{display:flex;flex-direction:column;gap:1.5rem}.production-status-main{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}.production-risk-indicator{flex-direction:column}.production-risk-circle,.production-risk-indicator{align-items:center;display:flex;justify-content:center}.production-risk-circle{border-radius:50%;height:6rem;margin-bottom:.75rem;position:relative;width:6rem}.production-risk-circle[data-risk=good]{background:#10b9811a;border:4px solid #10b981}.production-risk-circle[data-risk=warning]{background:#f59e0b1a;border:4px solid #f59e0b}.production-risk-value{color:#111827;color:var(--text-color,#111827);font-size:2rem;font-weight:700}.production-risk-label{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.875rem;text-align:center}.production-sparkline{display:flex;flex-direction:column}.production-sparkline-label{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.875rem;margin-bottom:.5rem}.production-sparkline-value{color:#111827;color:var(--text-color,#111827);font-size:1.25rem;font-weight:700;margin-top:.5rem;text-align:center}.production-last-updated{align-items:center;color:#9ca3af;color:var(--text-tertiary,#9ca3af);display:flex;font-size:.75rem;gap:.5rem;margin-top:.5rem}.flavors-content{display:flex;flex-direction:column;gap:1.5rem}.flavors-section-title{color:#111827;color:var(--text-color,#111827);font-size:1rem;font-weight:600;margin:0 0 .75rem}.flavors-table{border-collapse:collapse;font-size:.875rem;width:100%}.flavors-table th{background:#f9fafb;background:var(--table-header-bg,#f9fafb);border-bottom:2px solid #e5e7eb;border-bottom:2px solid var(--border-color,#e5e7eb);font-weight:600;text-align:left}.flavors-table td,.flavors-table th{color:#374151;color:var(--text-color,#374151);padding:.75rem}.flavors-table td{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color,#e5e7eb)}.flavor-name{font-weight:500}.flavor-revenue{position:relative}.mini-sparkline{background:#e5e7eb;border-radius:2px;height:4px;margin-top:.5rem;overflow:hidden}.mini-sparkline-bar{background:#3b82f6;border-radius:2px;height:100%}.margin-pills{display:flex;gap:.5rem}.margin-pill{align-items:center;border-radius:9999px;display:inline-flex;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.margin-pill.wholesale{background:#3b82f61a;color:#3b82f6}.margin-pill.retail{background:#10b9811a;color:#10b981}.warning-text{color:#f59e0b;color:var(--warning-color,#f59e0b)}.danger-text{color:#ef4444;color:var(--error-color,#ef4444)}.positive-text{color:#10b981;color:var(--success-color,#10b981)}@media (max-width:1024px){.dashboard-grid{grid-template-columns:1fr}.metrics-cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.inventory-summary,.production-status-main{grid-template-columns:1fr}}@media (max-width:768px){.dashboard-page{padding:1rem}.metrics-cards{grid-template-columns:repeat(2,1fr)}.metric-card-value{font-size:1.25rem}.card-header{padding:.75rem 1rem}.card-body{padding:1rem}}.fin-kpi-card{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-radius:.75rem;display:flex;flex-direction:column;justify-content:space-between;min-height:140px;padding:1.5rem;position:relative;transition:all .3s ease}.fin-kpi-card:hover{border-color:#3b82f6;border-color:var(--primary-color,#3b82f6);box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.fin-kpi-card--placeholder{background:#f9fafb;background:var(--bg-subtle,#f9fafb);border-style:dashed;min-height:110px;padding:1.1rem 1.5rem}.fin-kpi-card--placeholder:hover{box-shadow:none;transform:none}.fin-kpi-card--placeholder .fin-kpi-icon{opacity:.4}.fin-kpi-card--placeholder .fin-kpi-title{color:#9ca3af;color:var(--text-secondary,#9ca3af)}.fin-kpi-value--placeholder{color:#d1d5db;color:var(--text-secondary,#d1d5db);font-size:1.5rem}.fin-kpi-source{font-size:.7rem;font-weight:600;letter-spacing:.02em;margin-top:.35rem;text-transform:uppercase}.fin-kpi-source--quickbooks{color:#22c55e;color:var(--success-color,#22c55e)}.fin-kpi-source--catalog_estimate{color:#9ca3af;color:var(--text-secondary,#9ca3af)}.fin-kpi-source--production_actuals{color:#3b82f6;color:var(--primary-color,#3b82f6)}.fin-kpi-source--not_yet_available,.fin-kpi-source--pending,.fin-kpi-source--pending_configuration{color:#f59e0b;color:var(--warning-color,#f59e0b)}.fin-kpi-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.fin-kpi-icon{font-size:1.5rem;opacity:.8}.fin-kpi-trend{align-items:center;display:flex}.fin-trend-indicator{border-radius:.375rem;font-size:1.25rem;padding:.25rem;transition:all .2s}.fin-trend-up{background-color:#dcfce7;background-color:var(--success-light,#dcfce7);color:#22c55e;color:var(--success-color,#22c55e)}.fin-trend-down{background-color:#fef2f2;background-color:var(--error-light,#fef2f2);color:#ef4444;color:var(--error-color,#ef4444)}.fin-trend-stable{background-color:#fef3c7;background-color:var(--warning-light,#fef3c7);color:#f59e0b;color:var(--warning-color,#f59e0b)}.fin-kpi-content{flex:1 1}.fin-kpi-title{color:#64748b;color:var(--text-secondary,#64748b);font-size:.875rem;font-weight:500;letter-spacing:.05em;margin:0 0 .5rem;text-transform:uppercase}.fin-kpi-value{color:#1a202c;color:var(--text-primary,#1a202c);font-size:1.875rem;font-weight:700;line-height:1.2;margin-bottom:.5rem}.fin-kpi-change{align-items:center;display:flex;font-size:.8rem;font-weight:500;gap:.25rem}.fin-kpi-change.fin-trend-up{color:#22c55e;color:var(--success-color,#22c55e)}.fin-kpi-change.fin-trend-down{color:#ef4444;color:var(--error-color,#ef4444)}.fin-kpi-change.fin-trend-stable{color:#f59e0b;color:var(--warning-color,#f59e0b)}.fin-kpi-card.loading{animation:fin-kpi-loading 1.5s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%}@keyframes fin-kpi-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.fin-kpi-card.error{background-color:#fef2f2;background-color:var(--error-light,#fef2f2);border-color:#ef4444;border-color:var(--error-color,#ef4444)}.fin-kpi-card.error .fin-kpi-value{color:#ef4444;color:var(--error-color,#ef4444)}@media (max-width:768px){.fin-kpi-card{min-height:120px;padding:1rem}.fin-kpi-value{font-size:1.5rem}.fin-kpi-icon{font-size:1.25rem}.fin-trend-indicator{font-size:1rem}}@media (max-width:480px){.fin-kpi-card{min-height:100px;padding:.875rem}.fin-kpi-value{font-size:1.375rem}.fin-kpi-title{font-size:.8rem}.fin-kpi-change{font-size:.75rem}}@media (prefers-contrast:high){.fin-kpi-card{border-width:2px}.fin-trend-indicator{font-weight:700}}@media (prefers-reduced-motion:reduce){.fin-kpi-card{transition:none}.fin-kpi-card:hover{transform:none}.fin-kpi-loading{animation:none}}.profitability-table-container{background:#fff;border-radius:.75rem;overflow:hidden}.table-controls{background:#f9fafb;background:var(--gray-50,#f9fafb);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color,#e2e8f0);justify-content:space-between;padding:1rem 1.5rem}.filter-section,.table-controls{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.search-box{align-items:center;display:flex}.search-input{border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-radius:.375rem;font-size:.875rem;padding:.5rem .75rem;transition:border-color .2s;width:250px}.search-input:focus{border-color:#3b82f6;border-color:var(--primary-color,#3b82f6);box-shadow:0 0 0 3px #3b82f61a}.clear-filter-btn{background:none;border:none;border-radius:.25rem;color:#64748b;color:var(--text-secondary,#64748b);cursor:pointer;font-size:.75rem;padding:.25rem;position:absolute;right:.5rem}.clear-filter-btn:hover{background-color:#f3f4f6;background-color:var(--gray-100,#f3f4f6);color:#1a202c;color:var(--text-primary,#1a202c)}.result-count{color:#64748b;color:var(--text-secondary,#64748b);font-size:.875rem;white-space:nowrap}.table-actions{display:flex;gap:.75rem}.export-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-radius:.375rem;color:#1a202c;color:var(--text-primary,#1a202c);cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.export-btn:hover{background:#f9fafb;background:var(--gray-50,#f9fafb);border-color:#3b82f6;border-color:var(--primary-color,#3b82f6)}.table-wrapper{overflow-x:auto}.profitability-table{border-collapse:collapse;font-size:.875rem;width:100%}.profitability-table thead{background:#f9fafb;background:var(--gray-50,#f9fafb)}.profitability-table th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color,#e2e8f0);color:#1a202c;color:var(--text-primary,#1a202c);font-weight:600;padding:1rem 1.25rem;text-align:left;white-space:nowrap}.sortable-header{cursor:pointer;position:relative;transition:color .2s;-webkit-user-select:none;user-select:none}.sortable-header:hover{background:#3b82f60d;color:#3b82f6;color:var(--primary-color,#3b82f6)}.profitability-table td{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color,#e2e8f0);padding:1rem 1.25rem;vertical-align:middle}.table-row{transition:background-color .2s}.table-row:hover{background:#f9fafb;background:var(--gray-50,#f9fafb)}.product-name{min-width:200px}.cost,.product-name,.profit-per-unit,.revenue{color:#1a202c;color:var(--text-primary,#1a202c)}.cost,.profit-per-unit,.revenue{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:500;text-align:right}.revenue{color:#22c55e;color:var(--success-color,#22c55e)}.cost{color:#ef4444;color:var(--error-color,#ef4444)}.profit-margin{text-align:center}.margin-indicator{border-radius:9999px;display:inline-block;font-size:.8rem;font-weight:500;padding:.25rem .75rem}.margin-indicator.high{background-color:#dcfce7;background-color:var(--success-light,#dcfce7);color:#22c55e;color:var(--success-color,#22c55e)}.margin-indicator.medium{background-color:#fef3c7;background-color:var(--warning-light,#fef3c7);color:#f59e0b;color:var(--warning-color,#f59e0b)}.margin-indicator.low{background-color:#fef2f2;background-color:var(--error-light,#fef2f2);color:#ef4444;color:var(--error-color,#ef4444)}.units-sold{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.no-data,.units-sold{color:#64748b;color:var(--text-secondary,#64748b)}.no-data{font-style:italic;padding:2rem;text-align:center}.pagination{background:#f9fafb;background:var(--gray-50,#f9fafb);border-top:1px solid #e2e8f0;border-top:1px solid var(--border-color,#e2e8f0);justify-content:space-between;padding:1rem 1.5rem}.pagination-info{color:#64748b;color:var(--text-secondary,#64748b)}.pagination-btn{border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-radius:.375rem;color:#1a202c;color:var(--text-primary,#1a202c);padding:.5rem .75rem;transition:all .2s}.pagination-btn:hover:not(:disabled){background:var(--gray-50,#f9fafb);border-color:#3b82f6;border-color:var(--primary-color,#3b82f6)}.page-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-radius:.375rem;color:#1a202c;color:var(--text-primary,#1a202c);cursor:pointer;display:flex;font-size:.875rem;height:2rem;justify-content:center;transition:all .2s;width:2rem}.page-btn:hover{background:#f9fafb;background:var(--gray-50,#f9fafb)}.page-btn.active,.page-btn:hover{border-color:#3b82f6;border-color:var(--primary-color,#3b82f6)}.page-btn.active{background:#3b82f6;background:var(--primary-color,#3b82f6);color:#fff}.page-ellipsis{color:#64748b;color:var(--text-secondary,#64748b)}@media (max-width:768px){.table-controls{align-items:stretch;flex-direction:column}.filter-section{justify-content:space-between;width:100%}.search-input{width:200px}.table-actions{align-self:stretch}.export-btn{justify-content:center;width:100%}.profitability-table td,.profitability-table th{padding:.75rem .5rem}.pagination{flex-direction:column;gap:1rem}.pagination-controls{flex-wrap:wrap;justify-content:center}}@media (max-width:640px){.search-input{width:150px}.profitability-table{font-size:.8rem}.profitability-table td,.profitability-table th{padding:.5rem .25rem}.product-name{min-width:120px}.page-numbers{display:none}}@media print{.pagination,.table-controls{display:none}.profitability-table{font-size:.75rem}.table-row:hover{background:none}}.financial-charts{width:100%}.chart-tabs{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color,#e2e8f0);display:flex;gap:.5rem;margin-bottom:1.25rem}.chart-tab{background:none;border:none;border-bottom:2px solid #0000;color:#6b7280;color:var(--text-secondary,#6b7280);cursor:pointer;font-size:.9rem;font-weight:500;margin-right:1.25rem;padding:.65rem .25rem;transition:color .15s ease,border-color .15s ease}.chart-tab:hover{color:#1a202c;color:var(--text-primary,#1a202c)}.chart-tab.active{border-bottom-color:#3b82f6;border-bottom-color:var(--primary-color,#3b82f6);color:#3b82f6;color:var(--primary-color,#3b82f6)}.charts-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-bottom:2rem}.chart-container{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-radius:.75rem;box-shadow:0 1px 3px #0000001a;padding:1.5rem;transition:all .3s ease}.chart-container:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.chart-container.full-width{grid-column:1/-1}.chart-wrapper{height:300px;position:relative;width:100%}.chart-container.full-width .chart-wrapper{height:400px}.chart-insights{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:1.5rem}.insight-card{background:#fff;border:1px solid #e2e8f0;border-left:4px solid #3b82f6;border:1px solid var(--border-color,#e2e8f0);border-left:4px solid var(--primary-color,#3b82f6);border-radius:.5rem;padding:1.25rem;transition:all .3s ease}.insight-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.insight-card h4{align-items:center;color:#1a202c;color:var(--text-primary,#1a202c);display:flex;font-size:1rem;font-weight:600;gap:.5rem;margin:0 0 .75rem}.insight-card p{color:#64748b;color:var(--text-secondary,#64748b);font-size:.875rem;line-height:1.5;margin:0}.chart-loading{align-items:center;animation:loading 1.5s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;border-radius:.5rem;display:flex;height:300px;justify-content:center}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.chart-error{align-items:center;background:#fef2f2;background:var(--error-light,#fef2f2);border:1px solid #ef4444;border:1px solid var(--error-color,#ef4444);border-radius:.5rem;color:#ef4444;color:var(--error-color,#ef4444);display:flex;flex-direction:column;height:300px;justify-content:center;text-align:center}.chart-error h4{font-size:1rem;margin-bottom:.5rem}.chart-error p{color:#64748b;color:var(--text-secondary,#64748b);font-size:.875rem}@media (max-width:1024px){.charts-grid{gap:1rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.chart-container{padding:1rem}.chart-wrapper{height:250px}.chart-container.full-width .chart-wrapper{height:350px}}@media (max-width:768px){.charts-grid{gap:1rem;grid-template-columns:1fr}.chart-container{padding:.875rem}.chart-wrapper{height:220px}.chart-container.full-width .chart-wrapper{height:300px}.chart-insights{grid-template-columns:1fr}.insight-card{padding:1rem}}@media (max-width:480px){.financial-charts{margin:0 -.5rem}.chart-container{margin:0 .5rem;padding:.75rem}.chart-wrapper{height:200px}.chart-container.full-width .chart-wrapper{height:250px}.insight-card{padding:.875rem}.insight-card h4{font-size:.9rem}.insight-card p{font-size:.8rem}}@media (prefers-contrast:high){.chart-container{border-width:2px}.insight-card{border-width:2px 2px 2px 4px}}@media (prefers-reduced-motion:reduce){.chart-container,.insight-card{transition:none}.chart-container:hover,.insight-card:hover{transform:none}.chart-loading{animation:none;background:#f0f0f0}}@media print{.financial-charts{background:#fff}.chart-container{border:1px solid #ccc;box-shadow:none;break-inside:avoid;page-break-inside:avoid}.chart-container:hover{box-shadow:none;transform:none}.chart-insights{margin-top:1rem}.insight-card{border:1px solid #ccc;box-shadow:none;break-inside:avoid;page-break-inside:avoid}.insight-card:hover{box-shadow:none;transform:none}}@media (prefers-color-scheme:dark){.chart-container,.insight-card{background:#1f2937;background:var(--dark-bg,#1f2937);border-color:#374151;border-color:var(--dark-border,#374151)}.insight-card h4{color:#f9fafb;color:var(--dark-text-primary,#f9fafb)}.insight-card p{color:#d1d5db;color:var(--dark-text-secondary,#d1d5db)}.chart-loading{background:linear-gradient(90deg,#374151 25%,#4b5563 50%,#374151 75%);background-size:200% 100%}}.financial-dashboard{background-color:#f8fafc;background-color:var(--background-color,#f8fafc);margin:0 auto;max-width:1400px;min-height:100vh;padding:1.5rem}.dashboard-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.header-content h1{align-items:center;color:#1a202c;color:var(--text-primary,#1a202c);display:flex;gap:.75rem}.demo-mode-badge{background:#fef3c7;background:var(--warning-light,#fef3c7);border-radius:100px;color:#92400e;color:var(--warning-color,#92400e);font-size:.7rem;font-weight:700;letter-spacing:.05em;padding:.3rem .6rem;text-transform:uppercase;vertical-align:middle}.demo-mode-toggle{align-items:center;color:#64748b;color:var(--text-secondary,#64748b);cursor:pointer;display:flex;font-size:.8rem;gap:.4rem;-webkit-user-select:none;user-select:none}.demo-mode-toggle input{cursor:pointer}.dashboard-subtitle{color:#64748b;color:var(--text-secondary,#64748b);font-size:1rem;margin:0}.dashboard-actions{align-items:flex-end;display:flex;flex-direction:column;gap:.75rem}.dashboard-meta{align-items:center;display:flex;gap:1rem}.last-updated{color:#64748b;color:var(--text-secondary,#64748b);font-size:.875rem}.action-buttons{display:flex;gap:.75rem}.btn-primary,.btn-secondary{border:none;border-radius:.375rem;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.btn-primary:hover{background-color:#2563eb;background-color:var(--primary-hover,#2563eb)}.btn-secondary{border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);color:#1a202c;color:var(--text-primary,#1a202c)}.btn-secondary:hover{background-color:#f9fafb;background-color:var(--gray-50,#f9fafb)}.financial-hero{align-items:stretch;background:linear-gradient(135deg,#3b82f6,#1e3a8a);background:linear-gradient(135deg,var(--primary-color,#3b82f6) 0,#1e3a8a 100%);border-radius:1rem;box-shadow:0 10px 30px #1e3a8a40;color:#fff;display:flex;gap:2.5rem;margin-bottom:2rem;padding:2rem 2.5rem}.financial-hero-figure{border-right:1px solid #fff3;display:flex;flex-direction:column;gap:.35rem;padding-right:2.5rem}.financial-hero-label{color:#ffffffbf;font-size:.85rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.financial-hero-value{font-feature-settings:"tnum";font-size:3rem;font-variant-numeric:tabular-nums;font-weight:800;line-height:1.1}.financial-hero-change{font-size:.95rem;font-weight:600}.financial-hero-change.is-up{color:#86efac}.financial-hero-change.is-down{color:#fca5a5}.financial-hero-stat{display:flex;flex-direction:column;gap:.25rem;justify-content:center}.financial-hero-stat-value{font-feature-settings:"tnum";font-size:1.75rem;font-variant-numeric:tabular-nums;font-weight:700}.financial-hero-stat-label{color:#ffffffbf;font-size:.8rem}@media (max-width:640px){.financial-hero{flex-direction:column;gap:1.25rem}.financial-hero-figure{border-bottom:1px solid #fff3;border-right:none;padding-bottom:1.25rem;padding-right:0}}.dashboard-section{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-radius:.75rem;box-shadow:0 1px 3px #0000001a;margin-bottom:1.5rem;padding:1.5rem}.chart-placeholder-note{background:#fef3c7;background:var(--warning-light,#fef3c7);border-radius:.5rem;color:#92400e;color:var(--warning-color,#92400e);font-size:.85rem;margin:-.5rem 0 1.25rem;padding:.65rem 1rem}.dashboard-section h2{border-bottom:2px solid #3b82f6;border-bottom:2px solid var(--primary-color,#3b82f6);color:#1a202c;color:var(--text-primary,#1a202c);font-size:1.5rem;font-weight:600;margin:0 0 1.5rem;padding-bottom:.5rem}.kpi-group-heading{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.8rem;font-weight:600;letter-spacing:.04em;margin:0 0 .75rem;text-transform:uppercase}.kpi-group-heading:not(:first-of-type){margin-top:1.75rem}.kpi-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.loading-container{height:400px}.error-container,.no-data-container{align-items:center;display:flex;flex-direction:column;height:400px;justify-content:center;text-align:center}.error-message,.no-data-container{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;padding:2rem}.error-message h3,.no-data-container h3{color:#ef4444;color:var(--error-color,#ef4444);margin-bottom:1rem}.error-message p,.no-data-container p{color:#64748b;color:var(--text-secondary,#64748b);margin-bottom:1.5rem}.dashboard-summary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.dashboard-summary h2{border-bottom-color:#ffffff4d;color:#fff}.summary-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.summary-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:.5rem;padding:1.25rem;transition:all .3s ease}.summary-card:hover{background:#ffffff26;transform:translateY(-2px)}.summary-card h4{color:#fff;font-size:1.125rem;font-weight:600;margin-bottom:.75rem}.summary-card p{color:#ffffffe6;line-height:1.5;margin:0}@media (max-width:768px){.financial-dashboard{padding:1rem}.dashboard-header{align-items:stretch;flex-direction:column}.dashboard-actions{align-items:center;flex-direction:row;justify-content:space-between}.action-buttons{flex-direction:column;width:100%}.btn-primary,.btn-secondary{text-align:center;width:100%}.header-content h1{font-size:1.75rem}.dashboard-section{padding:1rem}.kpi-grid,.summary-grid{gap:1rem;grid-template-columns:1fr}}@media (max-width:480px){.financial-dashboard{padding:.75rem}.header-content h1{font-size:1.5rem}.dashboard-section{margin-bottom:1rem;padding:.75rem}.dashboard-actions{align-items:stretch;flex-direction:column}}.scenario-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.header-controls{align-items:center;display:flex;gap:1rem}.create-plan-btn{border:none;border-radius:8px;box-shadow:0 2px 4px #10b98133;color:#fff;cursor:pointer;font-weight:600;padding:.625rem 1.25rem;transition:all .2s}.create-plan-btn,.create-plan-btn:hover{background:linear-gradient(135deg,#10b981,#059669)}.create-plan-btn:hover{box-shadow:0 6px 12px #10b98159;transform:translateY(-2px)}.create-plan-btn:active{transform:translateY(0)}.scenario-reset-btn{align-items:center;background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.625rem 1.25rem;transition:all .2s ease-in-out}.scenario-reset-btn:hover{background-color:#e5e7eb;border-color:#9ca3af;box-shadow:0 2px 4px #0000000d;transform:translateY(-1px)}.scenario-reset-btn:active{background-color:#d1d5db;transform:translateY(0)}.view-mode-toggle{background:#f3f4f6;border-radius:8px;display:flex;gap:0;padding:4px}.view-mode-btn{background:#0000;border:none;border-radius:6px;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:all .2s}.view-mode-btn.active{background:#fff;box-shadow:0 1px 3px #0000001a;color:#2563eb}.controls-row-unified{align-items:center;background:linear-gradient(135deg,#fff,#f9fafb);border:1px solid #3b82f61a;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;display:flex;gap:2rem;margin-bottom:1.5rem;padding:1.25rem 1.5rem}.pricing-controls-compact{display:flex;flex-shrink:0;gap:1.25rem}.pricing-input-wrapper{display:flex;flex-direction:column;gap:.5rem;min-width:140px}.pricing-label{color:#1f2937;font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-bottom:.25rem;text-transform:uppercase}.pricing-input-container{align-items:center;display:flex;position:relative}.pricing-currency{color:#6b7280;font-size:1rem;font-weight:600;left:.875rem;pointer-events:none;position:absolute;z-index:1}.pricing-input-premium{background:#fff;border:2px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 2px #0000000d;color:#111827;font-size:1rem;font-weight:600;padding:.75rem .875rem .75rem 2rem;transition:all .25s cubic-bezier(.4,0,.2,1);width:100%}.pricing-input-premium:hover{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.pricing-input-premium:focus{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f626;outline:none}.pricing-input-premium::placeholder{color:#9ca3af;font-weight:500}.product-selection-inline{align-items:center;border-left:2px solid #e5e7eb;display:flex;flex:1 1;gap:1.5rem;padding-left:2rem}.selection-label{color:#374151;flex-shrink:0;font-size:.875rem;font-weight:600;white-space:nowrap}.product-checkboxes{display:flex;flex:1 1;flex-wrap:wrap;gap:.5rem 1.25rem}.product-checkbox{align-items:center;border:1px solid #0000;border-radius:6px;cursor:pointer;display:flex;gap:.625rem;padding:.5rem .75rem;transition:all .25s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none}.product-checkbox:hover{background:#3b82f60d;border-color:#3b82f633}.product-checkbox input[type=checkbox]{appearance:none;background-color:#fff;border:.1em solid #d1d5db;border-radius:.25em;color:currentColor;cursor:pointer;display:grid;font:inherit;height:1.15em;margin:0;place-content:center;transform:translateY(-.075em);transition:all .1s ease-in-out;width:1.15em}.product-checkbox input[type=checkbox]:before{box-shadow:inset 1em 1em #2563eb;clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%);content:"";height:.65em;transform:scale(0);transform-origin:bottom left;transition:transform .12s ease-in-out;width:.65em}.product-checkbox input[type=checkbox]:checked:before{transform:scale(1)}.product-checkbox input[type=checkbox]:checked{border-color:#2563eb}.product-checkbox input[type=checkbox]:focus{box-shadow:0 0 0 3px #3b82f626;outline:none}.product-checkbox span{color:#374151;font-size:.8125rem;font-weight:500}.summary-cards-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:1.5rem}.summary-card-compact{border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.summary-card-compact.current{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.summary-card-header{border-bottom:1px solid #fff3;margin-bottom:1rem;padding-bottom:1rem}.summary-card-main{align-items:center;display:flex;flex-direction:column;text-align:center;width:100%}.summary-products-section{margin-top:0}.summary-products-title{font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-bottom:.75rem;opacity:.85;text-align:center;text-transform:uppercase}.summary-products-grid{align-items:center;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center}.summary-product-card{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:8px;display:flex;flex-direction:column;gap:.5rem;min-width:160px;padding:.75rem 1.25rem;transition:all .3s ease}.summary-product-card:hover{background:#ffffff26;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.summary-product-name{font-size:.875rem;font-weight:700;letter-spacing:.3px;text-align:center}.summary-product-values{align-items:center;display:flex;flex-direction:column;gap:.25rem;width:100%}.summary-product-retail,.summary-product-ws{font-size:.75rem;font-weight:500;opacity:.9}.summary-card-compact.target{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.summary-card-compact h4{font-size:.875rem;font-weight:600;letter-spacing:.5px;margin-bottom:.5rem;opacity:.9;text-transform:uppercase}.summary-value{font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.summary-value span{font-size:1rem;margin-left:.5rem;opacity:.8}.summary-revenue{font-size:.875rem;opacity:.9}.summary-difference{border-top:1px solid #fff3;font-size:.875rem;margin-top:.5rem;padding-top:.5rem}.summary-difference span.positive{color:#d1fae5;font-weight:700}.summary-difference span.negative{color:#fecaca;font-weight:700}.target-products-status{border-top:1px solid #fff3;margin-top:1rem;padding-top:1rem}.target-status-title{font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-bottom:.75rem;opacity:.85;text-align:center;text-transform:uppercase}.target-status-list{display:flex;flex-direction:row;flex-wrap:wrap;gap:.75rem;justify-content:center}.target-status-item{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #ffffff26;border-radius:6px;display:flex;flex-direction:column;gap:.5rem;min-width:140px;padding:.75rem 1rem;transition:all .2s ease}.target-status-item:hover{background:#ffffff26;transform:translateY(-2px)}.target-status-product-name{color:#fff;font-size:.8125rem;font-weight:600;text-align:center}.revenue-banner{background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:12px;box-shadow:0 4px 6px -1px #3b82f64d,0 2px 4px -1px #3b82f633;color:#fff;margin-bottom:1.5rem;padding:1.5rem}.revenue-banner-title{font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-bottom:1rem;opacity:.9;text-align:center;text-transform:uppercase}.revenue-banner-content{align-items:center;display:flex;flex-wrap:wrap;gap:2rem;justify-content:center}.revenue-banner-item{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:8px;display:flex;flex-direction:column;gap:.5rem;min-width:180px;padding:.75rem 1.5rem;transition:all .3s ease}.revenue-banner-item:hover{background:#ffffff26;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.revenue-product-name{font-size:.875rem;font-weight:700;letter-spacing:.3px;text-align:center}.revenue-values{align-items:center;display:flex;flex-direction:column;gap:.25rem;width:100%}.revenue-retail,.revenue-ws{font-size:.75rem;font-weight:500;opacity:.9}.products-table-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.products-table{border-collapse:collapse;width:100%}.products-table thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}.products-table th{color:#374151;font-size:.875rem;font-weight:600;letter-spacing:.5px;padding:1rem;text-align:left;text-transform:uppercase}.products-table tbody tr.product-row{border-bottom:1px solid #e5e7eb;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.products-table tbody tr.product-row:hover{background:linear-gradient(90deg,#3b82f60d,#2563eb14);box-shadow:0 4px 12px #3b82f626,inset 4px 0 0 #3b82f6;position:relative;transform:translateX(4px)}.products-table td{color:#374151;font-size:.875rem;padding:1.25rem 1rem;transition:all .2s ease}.capacity-cell,.product-name{font-weight:600}.capacity-cell{color:#2563eb}.capacity-cell strong{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#3b82f6,#2563eb);-webkit-background-clip:text;background-clip:text;font-size:1.125rem}.bottleneck-cell{color:#dc2626;font-size:.875rem;gap:.25rem}.bottleneck-cell,.expand-btn{align-items:center;display:flex}.expand-btn{background:#3b82f61a;border:none;border-radius:6px;color:#3b82f6;cursor:pointer;justify-content:center;padding:.375rem;transition:all .2s ease}.expand-btn:hover{background:#3b82f633;transform:scale(1.1)}.target-input{border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;padding:.5rem;width:120px}.target-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.gap-positive{color:#059669;font-weight:600}.gap-negative{color:#dc2626;font-weight:600}.status-badge{font-weight:600;padding:.25rem .75rem}.status-badge.sufficient{background:#d1fae5;color:#065f46}.status-badge.insufficient{background:#fee2e2;color:#991b1b}.expanded-row td{background:linear-gradient(135deg,#f9fafb,#f3f4f6);padding:0!important}.expanded-row>td>div{background:linear-gradient(135deg,#fff,#f9fafb);border-bottom:2px solid #e5e7eb;border-left:4px solid #3b82f6;box-shadow:inset 0 4px 8px #0000000d,0 2px 4px #0000000d;padding:2rem}.ingredients-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.ingredient-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 1px 3px #0000000d;padding:1rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.ingredient-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.ingredient-card.bottleneck,.ingredient-card.shortage{background:#fef2f2;border-color:#fca5a5}.ingredient-card-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.5rem}.ingredient-card-header strong{color:#111827;font-size:.875rem}.badge-bottleneck{background:#fee2e2;border-radius:9999px;color:#991b1b;font-size:.625rem;font-weight:600;padding:.125rem .5rem;text-transform:uppercase}.ingredient-controls-compact{align-items:center;display:flex;gap:.5rem;margin-bottom:.75rem}.btn-sm{background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;flex-shrink:0;font-size:.875rem;font-weight:500;padding:.375rem .75rem;transition:all .2s}.btn-sm:hover{background:#e5e7eb}.input-sm{border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;min-width:60px;padding:.5rem;text-align:center;width:100%}.input-sm:focus{border-color:#3b82f6;outline:none}.ingredient-stats{grid-gap:.5rem;color:#6b7280;display:grid;font-size:.75rem;gap:.5rem;grid-template-columns:1fr 1fr;margin-bottom:.5rem}.requirement-info{border-top:1px solid #e5e7eb;font-size:.75rem;margin-top:.75rem;padding-top:.75rem}.requirement-info.sufficient{color:#065f46}.requirement-info.insufficient{color:#991b1b}.requirement-info div{margin-bottom:.25rem}.shortage-alert{background:#fee2e2;border-radius:4px;color:#991b1b;font-weight:600;margin-top:.5rem;padding:.5rem}@media (max-width:1024px){.products-table{font-size:.75rem}.products-table td,.products-table th{padding:.75rem}.ingredients-grid{grid-template-columns:1fr}}.modal-content{border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:600px;overflow-y:auto;width:90%}.modal-header{border-bottom:1px solid #e5e7eb;padding:1.5rem}.modal-header h3{color:#111827}.modal-close-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;transition:all .2s;width:32px}.modal-close-btn:hover{background:#f3f4f6;color:#111827}.form-group{margin-bottom:1.25rem}.form-group label{font-weight:600}.form-input,.form-textarea{border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;padding:.625rem .75rem;transition:all .2s;width:100%}.form-input:focus,.form-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-row{grid-gap:1rem;gap:1rem;grid-template-columns:1fr 1fr}.form-textarea{font-family:inherit}.plan-products-preview{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;max-height:200px;overflow-y:auto;padding:.75rem}.plan-product-item{align-items:center;background:#fff;border:1px solid #0000;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:.5rem;padding:.5rem;transition:all .2s}.plan-product-item.excluded{background:#fef2f2;border-color:#fca5a5;opacity:.7}.plan-product-item:last-child{margin-bottom:0}.plan-product-name{align-items:center;color:#111827;display:flex;font-size:.875rem;font-weight:500;gap:.5rem}.excluded-badge{background:#fee2e2;color:#991b1b}.excluded-badge,.included-badge{border-radius:9999px;display:inline-block;font-size:.625rem;font-weight:600;padding:.125rem .5rem;text-transform:uppercase}.included-badge{background:#d1fae5;color:#065f46}.plan-product-qty{color:#3b82f6;font-size:.875rem;font-weight:600}.plan-product-qty.strikethrough{color:#9ca3af;text-decoration:line-through}.plan-info-text{background:#eff6ff;border-left:3px solid #3b82f6;border-radius:4px;color:#1e40af;font-size:.75rem;margin-bottom:0;margin-top:.75rem;padding:.5rem .75rem}.submit-message{border-radius:8px;font-size:.875rem;margin-top:1rem;padding:.75rem}.submit-message.success{background:#d1fae5;border:1px solid #6ee7b7;color:#065f46}.submit-message.error{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.modal-btn{border-radius:8px;font-size:.875rem;padding:.625rem 1.25rem;transition:all .2s}.modal-btn:disabled{opacity:.5}.modal-btn-cancel{background:#f3f4f6;color:#374151}.modal-btn-cancel:hover:not(:disabled){background:#e5e7eb}.modal-btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 2px 4px #3b82f633;color:#fff}.modal-btn-primary:hover:not(:disabled){box-shadow:0 4px 8px #3b82f64d;transform:translateY(-1px)}.modal-btn-primary:active:not(:disabled){transform:translateY(0)}.empty-state-container{align-items:center;display:flex;justify-content:center;min-height:500px;padding:2rem}.empty-state-content{max-width:500px;text-align:center}.empty-state-icon{color:#9ca3af}.empty-state-icon svg{margin:0 auto}.empty-state-title{color:#111827;font-size:1.5rem;font-weight:700;margin-bottom:.75rem}.empty-state-message{color:#6b7280;font-size:1rem;line-height:1.6;margin-bottom:2rem}.empty-state-steps{display:flex;flex-direction:column;gap:1rem;text-align:left}.step-item{background:#f9fafb;border-left:3px solid #3b82f6;border-radius:8px;gap:1rem;padding:1rem}.step-item,.step-number{align-items:center;display:flex}.step-number{background:#3b82f6;border-radius:50%;color:#fff;flex-shrink:0;font-size:.875rem;font-weight:700;height:32px;justify-content:center;width:32px}.step-text{font-weight:500}.standardize-btn,.step-text{color:#374151;font-size:.875rem}.standardize-btn{align-items:center;background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.625rem 1rem;transition:all .2s}.standardize-btn:hover{background:#e5e7eb;border-color:#9ca3af}.standardize-btn.active{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-color:#7c3aed;box-shadow:0 2px 4px #8b5cf633;color:#fff}.standardize-btn.active:hover{box-shadow:0 4px 8px #8b5cf64d;transform:translateY(-1px)}.finished-kegs-section{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.finished-kegs-header{align-items:center;display:flex;font-size:1rem;gap:1rem;margin-bottom:1rem}.finished-kegs-hint{color:#92400e;font-size:.875rem;font-style:italic;font-weight:400}.finished-kegs-input-group{align-items:center;display:flex;gap:.75rem;margin-bottom:1rem}.finished-kegs-input-group label{color:#92400e;font-weight:600}.finished-kegs-input{border:2px solid #f59e0b;border-radius:6px;font-size:1rem;font-weight:600;padding:.5rem;text-align:center;width:100px}.finished-kegs-input:focus{border-color:#d97706;box-shadow:0 0 0 3px #f59e0b1a;outline:none}.finished-kegs-calculation{color:#92400e;font-size:.95rem}.finished-kegs-calculation strong{color:#78350f;font-size:1.1rem}.capacity-summary{background:#fff;border:1px solid #fbbf24;border-radius:8px;padding:1rem}.capacity-summary-row{border-bottom:1px solid #fef3c7;display:flex;justify-content:space-between;padding:.5rem 0}.capacity-summary-row:last-child{border-bottom:none}.capacity-summary-row.total{border-top:2px solid #f59e0b;font-size:1.1rem;margin-top:.5rem;padding-top:.75rem}.capacity-summary-row span{color:#78350f}.capacity-summary-row strong{color:#92400e;font-size:1.05rem}.capacity-summary-row.total strong{color:#78350f;font-size:1.2rem}.capacity-breakdown{color:#6b7280;font-size:.75rem;font-weight:400;margin-top:.25rem}.summary-breakdown{color:#6b7280;font-size:.875rem;margin-top:.5rem}.concentrate-kegs-section{background:linear-gradient(135deg,#e0f2fe,#bae6fd);border:2px solid #0284c7;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.concentrate-header{font-size:1rem;margin-bottom:1rem}.concentrate-summary{background:#fff;border-radius:8px;padding:1rem}.concentrate-row{border-bottom:1px solid #e0f2fe;padding:.5rem 0}.concentrate-row:last-child{border-bottom:none}.concentrate-row.total{border-top:2px solid #0284c7;font-size:1.1rem;margin-top:.5rem;padding-top:.75rem}.finished-kegs-input-inline{border:2px solid #0284c7;border-radius:6px;margin:0 .5rem;padding:.25rem .5rem;text-align:center;width:80px}.format-allocation-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.format-allocation-header{align-items:center;margin-bottom:1.5rem}.allocation-status{color:#64748b;font-size:.875rem;font-weight:600}.formats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.format-card{background:#fff;border:2px solid #e2e8f0;border-radius:8px;padding:1rem;transition:all .2s}.format-card.enabled{border-color:#8b5cf6;box-shadow:0 2px 8px #8b5cf626}.format-card.disabled{opacity:.6}.format-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.format-checkbox{align-items:center;cursor:pointer;display:flex;gap:.5rem}.format-checkbox input[type=checkbox]{cursor:pointer;height:18px;width:18px}.placeholder-badge{background:#fef3c7;border-radius:4px;color:#92400e;font-size:.75rem;padding:.25rem .5rem}.format-allocation-input{align-items:center;display:flex;gap:.5rem;margin-bottom:.75rem}.allocation-input{border:2px solid #8b5cf6;border-radius:6px;font-weight:600;padding:.5rem;text-align:center;width:80px}.format-output{background:#f9fafb;border-radius:6px;padding:.75rem}.output-row{display:flex;font-size:.875rem;justify-content:space-between;padding:.25rem 0}.output-row strong{color:#8b5cf6}.over-allocated{color:#dc2626;font-weight:600}.warning-icon{color:#f59e0b}.ingredients-details{border-radius:8px;margin-top:1.5rem}.ingredients-summary{color:#64748b;font-weight:600;padding:1rem;-webkit-user-select:none;user-select:none}.ingredients-summary:hover{background:#f8fafc}.plan-formats{color:#64748b;display:flex;flex-direction:column;font-size:.875rem;gap:.25rem;margin-top:.5rem}.plan-format-line{background:#f1f5f9;border-radius:4px;padding:.25rem .5rem}.no-allocation{color:#94a3b8;font-style:italic}.bottleneck-scenario{align-items:flex-start!important;background:#fef3c7;border-bottom-left-radius:8px;border-bottom-right-radius:8px;flex-direction:column;gap:.25rem;margin:.5rem -1rem -1rem;padding:.75rem 1rem!important}.scenario-label{color:#92400e;font-size:.875rem;font-weight:600}.scenario-text{color:#78350f;font-size:.875rem}.over-allocation-warning{align-items:flex-start;animation:shake .5s;background:linear-gradient(135deg,#fee2e2,#fecaca);border:2px solid #dc2626;border-radius:12px;display:flex;gap:1rem;margin-bottom:1.5rem;padding:1.5rem}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-10px)}75%{transform:translateX(10px)}}.warning-icon-large{font-size:2rem;line-height:1}.warning-content{flex:1 1}.warning-content strong{color:#991b1b;display:block;font-size:1.1rem;margin-bottom:.5rem}.warning-content p{color:#7f1d1d;font-size:.95rem;margin:0}.allocation-input.invalid{background:#fee2e2;border-color:#dc2626}.allocation-input.invalid:focus{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a;outline:none}.format-warning{align-items:center;color:#dc2626;display:flex;font-size:.875rem;font-weight:600;gap:.25rem;margin-top:.5rem}.over-allocated{color:#dc2626!important;font-weight:700!important}.warning-icon{animation:pulse 1.5s infinite;color:#dc2626;font-size:1.2rem}.over-allocated-item{background:#fee2e2!important;border:2px solid #dc2626!important}.over-allocated-badge{background:#dc2626;border-radius:4px;color:#fff;display:inline-block;font-size:.75rem;font-weight:600;margin-left:.5rem;padding:.25rem .5rem}.plan-allocation-warning{background:#fee2e2;border-radius:4px;color:#dc2626;font-size:.875rem;font-weight:600;margin-top:.5rem;padding:.5rem}.target-mode-section{background:#f0fdf4;border:2px solid #10b981;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.target-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.target-hint{color:#059669;font-size:.875rem;font-style:italic}.target-capacity-summary{background:#fff;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.capacity-row{display:flex;justify-content:space-between;padding:.5rem 0}.target-formats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-bottom:1.5rem}.target-format-card{background:#fff;border:2px solid #d1d5db;border-radius:8px;padding:1rem}.target-format-header{justify-content:space-between}.target-format-header,.target-input-group{align-items:center;display:flex;margin-bottom:1rem}.target-input-group{gap:.5rem}.target-quantity-input{border:2px solid #10b981;border-radius:6px;font-weight:600;padding:.5rem;text-align:center;width:100px}.target-analysis{background:#f9fafb;border-radius:6px;padding:.75rem}.analysis-row{display:flex;font-size:.875rem;justify-content:space-between;padding:.25rem 0}.target-summary{background:#fff;border:2px solid #d1d5db;border-radius:8px;padding:1rem}.target-summary.feasible{background:#f0fdf4;border-color:#10b981}.target-summary.infeasible{background:#fee2e2;border-color:#dc2626}.summary-row.total{border-bottom:2px solid #e5e7eb;font-size:1.1rem;margin-bottom:.5rem;padding:.75rem 0}.shortage-alert-large{background:#fee2e2;border-radius:6px;color:#991b1b;margin-top:1rem;padding:1rem;text-align:center}.shortage-alert-large p{font-size:.875rem;margin:.5rem 0 0}.feasible-alert{background:#d1fae5;border-radius:6px;color:#065f46;margin-top:1rem;padding:1rem;text-align:center}.set-targets-btn{background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:.5rem 1rem}.set-targets-btn:hover{background:#059669}.status-empty{color:#9ca3af}.scenario-planner{display:flex;flex-direction:column;gap:1.5rem;padding-bottom:2rem}.scenario-shell-header{background:radial-gradient(circle at top left,#60a5fa38,#0000 28%),linear-gradient(135deg,#fff,#f6f8fb);border:1px solid #94a3b840;border-radius:24px;box-shadow:0 18px 40px #0f172a14;display:flex;gap:1.5rem;justify-content:space-between;padding:1.75rem}.scenario-header-copy{max-width:760px}.planner-section-kicker,.scenario-eyebrow{color:#2563eb;display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.16em;margin-bottom:.75rem;text-transform:uppercase}.scenario-title{color:#0f172a;font-size:2rem;line-height:1.15;margin:0 0 .75rem}.scenario-subtitle{color:#475569;line-height:1.6;margin:0;max-width:62ch}.scenario-header-actions{align-items:flex-end;display:flex;flex-direction:column;gap:1rem;min-width:360px}.scenario-status-card{background:#ffffffc2;border:1px solid #94a3b83d;border-radius:18px;box-shadow:inset 0 1px 0 #fff9;padding:1rem 1.1rem;width:100%}.scenario-status-label{color:#64748b;display:block;font-size:.72rem;font-weight:700;letter-spacing:.12em;margin-bottom:.35rem;text-transform:uppercase}.scenario-status-card strong{color:#0f172a;display:block;margin-bottom:.35rem}.scenario-status-card p{color:#475569;font-size:.9rem;line-height:1.45;margin:0}.header-controls{flex-wrap:wrap;justify-content:flex-end}.view-mode-toggle{background:#e2e8f0;border-radius:12px;padding:5px}.view-mode-btn{padding:.72rem 1rem}.view-mode-btn.active{color:#0f172a}.create-plan-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.planning-journey{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.journey-step{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:18px;box-shadow:0 10px 24px #0f172a0d;display:flex;gap:.85rem;padding:1rem 1.1rem}.journey-step.complete{background:linear-gradient(135deg,#fff,#f0fdf4);border-color:#10b98140}.journey-step.pending{opacity:.82}.journey-step-marker{align-items:center;background:#dbeafe;border-radius:999px;color:#2563eb;display:inline-flex;flex-shrink:0;font-weight:700;height:2rem;justify-content:center;width:2rem}.journey-step.complete .journey-step-marker{background:#d1fae5;color:#047857}.journey-step-copy{display:flex;flex-direction:column;gap:.2rem}.journey-step-copy strong{color:#0f172a}.journey-step-copy span{color:#64748b;font-size:.88rem}.planner-products-panel{display:flex;flex-direction:column;gap:1rem}.planner-products-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.planner-products-header h3,.planner-products-surface-header h3,.planner-readiness-panel h4{color:#0f172a;margin:.25rem 0 .35rem}.planner-products-header p,.planner-products-surface-header p,.planner-readiness-panel p{color:#64748b;line-height:1.5;margin:0}.planner-start-callout{background:#eff6ff;border-radius:999px;color:#1d4ed8;display:inline-flex;font-size:.9rem;font-weight:600;margin-top:.9rem;padding:.7rem .9rem}.planner-products-count{min-width:90px;text-align:right}.planner-products-count strong{color:#0f172a;display:block;font-size:1.6rem}.planner-products-count span{color:#64748b;font-size:.85rem}.product-selection-inline{align-items:stretch;border-left:0;flex-direction:column;gap:.75rem;padding-left:0}.selection-label{color:#64748b;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.product-checkbox{background:#fbfdff;border:1px solid #dbe3ee;border-radius:999px;padding:.6rem .9rem}.product-checkbox:hover{background:#eff6ff}.planner-summary-layout{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}.planner-summary-hero{border-radius:24px;padding:1.6rem}.planner-summary-header{border-bottom-color:#ffffff38}.planner-summary-main{align-items:flex-start;text-align:left}.planner-summary-main .planner-section-kicker{color:#fffc;margin-bottom:.6rem}.planner-readiness-panel{background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:24px;box-shadow:0 10px 24px #0f172a0d;padding:1.5rem}.planner-readiness-metrics{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1rem}.planner-readiness-metric{background:#eff6ff;border-radius:16px;padding:.9rem}.planner-readiness-metric strong{color:#0f172a;display:block;font-size:1.4rem}.planner-readiness-metric span{color:#475569;font-size:.85rem}.planner-products-surface{display:flex;flex-direction:column;gap:1rem}.planner-products-surface-header{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:22px;box-shadow:0 10px 24px #0f172a0d;padding:1.4rem 1.5rem}.planner-product-list{display:flex;flex-direction:column;gap:1rem}.planner-product-card{background:#fff;border:1px solid #e2e8f0;border-radius:24px;box-shadow:0 12px 30px #0f172a0f;overflow:hidden}.planner-product-card.expanded{border-color:#3b82f652}.planner-product-card.expanded:first-child{box-shadow:0 16px 36px #2563eb1f,0 12px 30px #0f172a0f}.planner-product-card-top{display:flex;gap:1rem;justify-content:space-between;padding:1.4rem 1.5rem 1rem}.planner-product-card-title h4{color:#0f172a;font-size:1.25rem;margin:.15rem 0 .4rem}.planner-start-badge{align-self:flex-start;background:#dbeafe;border-radius:999px;color:#1d4ed8;display:inline-flex;font-size:.72rem;font-weight:700;letter-spacing:.1em;margin:.05rem 0 .45rem;padding:.3rem .6rem;text-transform:uppercase}.format-allocation-header p,.planner-product-card-title p,.planner-stage-header p{color:#64748b;line-height:1.5;margin:0}.planner-product-label{color:#94a3b8;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.planner-product-card-actions{align-items:flex-end;display:flex;flex-direction:column;gap:.8rem}.planner-product-status{border-radius:999px;font-size:.8rem;font-weight:700;padding:.45rem .8rem}.planner-product-status.idle{background:#dbeafe;color:#1d4ed8}.planner-product-status.ready{background:#d1fae5;color:#047857}.planner-product-status.warning{background:#fee2e2;color:#991b1b}.planner-expand-btn{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:999px;color:#0f172a;cursor:pointer;display:inline-flex;font-weight:600;gap:.45rem;padding:.7rem 1rem;transition:all .2s ease}.planner-expand-btn:hover{background:#eff6ff;border-color:#93c5fd}.planner-product-metrics{grid-gap:.85rem;display:grid;gap:.85rem;grid-template-columns:repeat(4,minmax(0,1fr));padding:0 1.5rem 1.3rem}.planner-metric-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;padding:1rem}.planner-metric-card span{color:#64748b;display:block;font-size:.75rem;letter-spacing:.1em;margin-bottom:.35rem;text-transform:uppercase}.planner-metric-card strong{color:#0f172a}.planner-metric-card.accent{background:#eff6ff}.planner-metric-card.warning{background:#fff7ed}.planner-metric-card.danger{background:#fff1f2}.planner-product-expanded{display:flex;flex-direction:column;gap:1rem;padding:0 1.5rem 1.5rem}.planner-stage-card{background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:22px;padding:1.25rem}.planner-stage-header{align-items:flex-start;display:flex;gap:.9rem;margin-bottom:1rem}.planner-stage-number{align-items:center;background:#dbeafe;border-radius:999px;color:#1d4ed8;display:inline-flex;flex-shrink:0;font-weight:700;height:2rem;justify-content:center;width:2rem}.concentrate-summary{grid-gap:.9rem;display:grid;gap:.9rem}.concentrate-row{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:18px;display:flex;gap:1rem;justify-content:space-between;padding:1rem}.concentrate-detail{align-items:flex-end;display:flex;flex-direction:column;gap:.35rem}.bottleneck-detail{align-items:center;color:#b45309;display:flex;flex-wrap:wrap;font-size:.85rem;gap:.35rem;justify-content:flex-end}.bottleneck-info{color:#64748b}.concentrate-row.total{background:#eff6ff}.concentrate-row.bottleneck-scenario{background:#fefce8}.scenario-label{color:#854d0e;font-weight:700}.scenario-text{color:#713f12}.allocation-input,.finished-kegs-input-inline,.target-quantity-input{background:#fff;border:1px solid #cbd5e1;border-radius:12px;padding:.75rem .85rem}.format-allocation-section{display:flex;flex-direction:column;gap:1rem}.format-allocation-header{align-items:flex-end;display:flex;gap:1rem;justify-content:space-between}.allocation-status-block{min-width:220px}.allocation-status-block span{color:#0f172a;display:block;font-weight:600;margin-bottom:.45rem;text-align:right}.allocation-progress{background:#e2e8f0;border-radius:999px;height:10px;overflow:hidden}.allocation-progress-bar{background:linear-gradient(90deg,#3b82f6,#0ea5e9);border-radius:inherit;height:100%}.format-group{display:flex;flex-direction:column;gap:.75rem}.format-group-header span{color:#64748b;display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.formats-grid,.target-formats-grid{grid-gap:.9rem;display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.format-card,.target-format-card{background:#fbfdff;border:1px solid #dbe3ee;border-radius:20px;display:flex;flex-direction:column;gap:.85rem;padding:1rem}.format-card.enabled,.target-format-card{background:#fff}.format-card-toggle{align-items:flex-start;background:#0000;border:0;cursor:pointer;display:flex;gap:.75rem;justify-content:space-between;padding:0;text-align:left}.format-card-identity{align-items:center;display:flex;gap:.75rem}.format-card-identity strong{color:#0f172a;display:block;margin-bottom:.15rem}.format-card-identity span{color:#64748b;font-size:.85rem}.format-icon-wrap{align-items:center;background:#eff6ff;border-radius:14px;color:#2563eb;display:inline-flex;flex-shrink:0;height:2.5rem;justify-content:center;width:2.5rem}.format-selection-pill{background:#e2e8f0;border-radius:999px;color:#475569;font-size:.78rem;font-weight:700;padding:.35rem .65rem}.format-selection-pill.selected{background:#dbeafe;color:#1d4ed8}.placeholder-badge{align-self:flex-start;background:#fff7ed;border-radius:999px;color:#9a3412;font-size:.72rem;font-weight:700;padding:.28rem .6rem}.format-allocation-input,.target-input-group{grid-gap:.65rem;align-items:center;display:grid;gap:.65rem;grid-template-columns:1fr 120px auto}.format-allocation-input label,.target-input-group label{color:#475569;font-weight:600}.allocation-input.invalid{background:#fff1f2;border-color:#ef4444}.format-output,.target-analysis{grid-gap:.5rem;background:#f8fafc;border-radius:16px;display:grid;gap:.5rem;padding:.85rem}.analysis-row,.capacity-row,.output-row,.summary-row{align-items:center;display:flex;gap:1rem;justify-content:space-between}.target-capacity-summary{margin-bottom:1rem}.capacity-row{padding:1rem}.capacity-row,.ingredients-details{background:#fff;border:1px solid #e2e8f0;border-radius:18px}.ingredients-details{overflow:hidden}.ingredients-summary{align-items:center;color:#0f172a;cursor:pointer;display:flex;gap:1rem;justify-content:space-between;list-style:none;padding:1rem 1.1rem}.ingredients-summary::-webkit-details-marker{display:none}.ingredients-summary span{color:#64748b;font-size:.88rem}.ingredients-grid{padding:0 1rem 1rem}@media (max-width:1200px){.format-allocation-header,.planner-product-card-top,.planner-summary-layout,.scenario-shell-header{flex-direction:column;grid-template-columns:1fr}.planner-product-card-actions,.scenario-header-actions{align-items:stretch;min-width:0}.planner-product-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.planner-product-metrics,.planner-readiness-metrics,.planner-summary-layout,.planning-journey{grid-template-columns:1fr}.journey-step,.planner-products-header{align-items:flex-start}.planner-products-count{text-align:left}.format-allocation-input,.target-input-group{grid-template-columns:1fr}.analysis-row,.capacity-row,.concentrate-row,.ingredients-summary,.output-row,.summary-row{align-items:flex-start;flex-direction:column}.allocation-status-block span{text-align:left}}.scenario-workflow-grid{grid-gap:1rem;align-items:start;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) 320px}.planner-summary-rail,.product-rail,.scenario-workspace-card{background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:24px;box-shadow:0 10px 24px #0f172a0d}.product-rail{margin-bottom:1rem;padding:1.25rem}.planner-summary-card h4,.product-rail-copy h3,.workspace-card-header h3{color:#0f172a;margin:.2rem 0 .35rem}.planner-summary-card p,.product-rail-copy p,.workspace-card-header p,.workspace-hint p{color:#64748b;line-height:1.55;margin:0}.product-rail-items{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.product-rail-item{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:999px;cursor:pointer;display:inline-flex;gap:.65rem;padding:.7rem .95rem;transition:all .2s ease}.product-rail-item.active{background:#eff6ff;border-color:#93c5fd;box-shadow:inset 0 0 0 1px #3b82f614}.product-rail-index{align-items:center;background:#e2e8f0;border-radius:999px;color:#334155;display:inline-flex;font-size:.75rem;font-weight:700;height:1.5rem;justify-content:center;width:1.5rem}.product-rail-item.active .product-rail-index{background:#dbeafe;color:#1d4ed8}.product-rail-name{color:#0f172a;font-weight:600}.scenario-workspace{display:flex;flex-direction:column;gap:1rem}.scenario-workspace-card{padding:1.4rem}.workspace-card-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.workspace-card-meta{align-items:flex-end;display:flex;flex-direction:column;gap:.65rem}.workspace-status-pill{background:#d1fae5;border-radius:999px;color:#047857;font-size:.78rem;font-weight:700;padding:.35rem .7rem}.workspace-switch-btn{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:999px;color:#0f172a;cursor:pointer;display:inline-flex;font-weight:600;gap:.4rem;padding:.65rem .9rem}.workspace-metrics{grid-gap:.85rem;display:grid;gap:.85rem;grid-template-columns:repeat(3,minmax(0,1fr));margin:1rem 0}.workspace-metric{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;padding:1rem}.workspace-metric span{color:#64748b;display:block;font-size:.75rem;letter-spacing:.1em;margin-bottom:.3rem;text-transform:uppercase}.workspace-metric strong{color:#0f172a}.workspace-metric small{color:#94a3b8;display:block;font-size:.72rem;font-weight:400;margin-top:.3rem}.workspace-metric.warning{background:#fff7ed}.workspace-metric.success{background:#f0fdf4}.progress-pill-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.progress-pill{background:#e2e8f0;border-radius:999px;color:#475569;font-size:.78rem;font-weight:700;padding:.35rem .7rem}.progress-pill.active{background:#dbeafe;color:#1d4ed8}.workspace-stage{border-top:1px solid #e2e8f0;margin-top:1rem;padding-top:1rem}.workspace-stage-header{align-items:flex-start;display:flex;gap:.8rem;margin-bottom:1rem}.workspace-stage-number{align-items:center;background:#dbeafe;border-radius:999px;color:#1d4ed8;display:inline-flex;flex-shrink:0;font-weight:700;height:1.9rem;justify-content:center;width:1.9rem}.workspace-stage-header strong{color:#0f172a}.family-grid,.format-choice-grid{grid-gap:.85rem;display:grid;gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.empty-workspace-state,.family-card,.format-choice-card,.planner-summary-card,.selected-format-editor{background:#fff;border:1px solid #dbe3ee;border-radius:20px}.family-card{align-items:center;cursor:pointer;display:flex;gap:.9rem;padding:1rem;text-align:left}.family-card.active{background:#eff6ff;border-color:#93c5fd}.family-card-icon,.format-choice-icon{align-items:center;background:#eff6ff;border-radius:14px;color:#2563eb;display:inline-flex;flex-shrink:0;height:2.6rem;justify-content:center;width:2.6rem}.family-card-copy strong,.format-choice-main strong{color:#0f172a;display:block}.family-card-copy span,.format-choice-main span{color:#64748b;font-size:.85rem}.format-choice-card{cursor:pointer;padding:1rem;text-align:left}.format-choice-card.active{background:#f8fbff;border-color:#93c5fd}.format-choice-main{align-items:center;display:flex;gap:.75rem}.format-choice-meta,.format-choice-submeta{color:#64748b;display:flex;font-size:.85rem;gap:.75rem;justify-content:space-between;margin-top:.75rem}.format-choice-meta strong{color:#0f172a}.empty-workspace-state,.selected-format-editor{padding:1rem}.selected-format-editor-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.format-quantity-row{grid-gap:.75rem;align-items:center;display:grid;gap:.75rem;grid-template-columns:auto minmax(140px,180px) auto;margin:1rem 0}.selected-format-input{background:#fff;border:1px solid #cbd5e1;border-radius:14px;padding:.8rem .9rem}.format-result-panel{background:#f8fafc;border-radius:16px;display:flex;gap:1rem;justify-content:space-between;padding:1rem}.format-result-panel span{color:#64748b;display:block;font-size:.75rem;letter-spacing:.1em;margin-bottom:.25rem;text-transform:uppercase}.format-result-panel strong{color:#0f172a}.advanced-details{border:1px solid #e2e8f0;border-radius:16px;margin-top:1rem;overflow:hidden}.advanced-details summary{color:#334155;cursor:pointer;font-weight:600;padding:.95rem 1rem}.advanced-details-body{grid-gap:.85rem;border-top:1px solid #e2e8f0;display:grid;gap:.85rem;padding:1rem}.capacity-row.compact{background:#f8fafc}.bottleneck-callout{align-items:center;color:#b45309;display:flex;font-size:.9rem;gap:.45rem}.ingredients-mini-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.ingredient-mini-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;display:flex;flex-direction:column;gap:.4rem;padding:.85rem}.ingredient-mini-card.bottleneck{background:#fff7ed;border-color:#f59e0b}.ingredient-mini-card strong{color:#0f172a}.ingredient-mini-card span{color:#64748b;font-size:.85rem}.workspace-hint{background:#ffffffb3;border:1px dashed #cbd5e1;border-radius:20px;padding:1rem 1.1rem}.planner-summary-rail{display:flex;flex-direction:column;gap:1rem;padding:1rem;position:sticky;top:1rem}.planner-summary-card{padding:1rem}.planner-summary-kpis{grid-gap:.75rem;display:grid;gap:.75rem}.planner-summary-kpi span{color:#64748b;display:block;font-size:.75rem;letter-spacing:.1em;margin-bottom:.25rem;text-transform:uppercase}.planner-summary-kpi strong{color:#0f172a}.empty-workspace-state{color:#475569;text-align:center}@media (max-width:1100px){.scenario-workflow-grid{grid-template-columns:1fr}.planner-summary-rail{position:static}}@media (max-width:720px){.format-quantity-row,.format-result-panel,.selected-format-editor-header,.workspace-card-header{display:grid;grid-template-columns:1fr}.workspace-card-meta{align-items:flex-start}.workspace-metrics{grid-template-columns:1fr}.format-choice-meta,.format-choice-submeta{flex-direction:column}}.gsp-root{background:#f1f5f9;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:-1.5rem;min-height:100vh}.gsp-sticky-zone{position:sticky;top:0;will-change:transform;z-index:200}.gsp-sticky-header{align-items:stretch;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:linear-gradient(135deg,#16233f,#1b2f56 40%,#244b9a);border-bottom:none;border-radius:16px 16px 0 0;border-radius:16px;box-shadow:0 20px 60px #16233fa6,0 4px 16px #0000004d,inset 0 0 0 1px #ffffff12,inset 0 1px 0 #ffffff0f;color:#fff;display:flex;gap:0;isolation:isolate;margin:10px 1.5rem 0;overflow:hidden;padding:0;position:relative;z-index:auto}.gsp-hero-glow{border-radius:50%;pointer-events:none;position:absolute;z-index:0}.gsp-hero-glow-l{background:radial-gradient(circle,#244b9a8c 0,#0000 70%);height:320px;left:-60px;top:-80px;width:320px}.gsp-hero-glow-r{background:radial-gradient(circle,#6366f133 0,#0000 70%);bottom:-100px;height:280px;right:80px;width:280px}.gsp-hero-actions,.gsp-hero-kpis,.gsp-hero-product{position:relative;z-index:1}.gsp-hero-product{background:hsla(0,0%,100%,.025);border-right:1px solid #ffffff14;flex-direction:column;gap:1rem;max-width:260px;min-width:220px;padding:2rem 2rem 2rem 2.25rem}.gsp-hero-product,.gsp-hero-product-icon{display:flex;flex-shrink:0;justify-content:center}.gsp-hero-product-icon{align-items:center;background:#ffffff14;border:1px solid #ffffff1f;border-radius:12px;color:#ffffffbf;height:48px;width:48px}.gsp-hero-product-meta{display:flex;flex-direction:column;gap:.5rem}.gsp-hero-eyebrow{color:#fff6;font-size:.6875rem;font-weight:600;letter-spacing:1.2px;text-transform:uppercase}.gsp-hero-product-name{color:#fff;font-size:1.875rem;font-weight:800;letter-spacing:-.3px;line-height:1.15;margin:0;word-break:break-word}.gsp-active-badge{align-items:center;background:#22c55e2e;border:1px solid #22c55e4d;border-radius:20px;color:#4ade80;display:inline-flex;font-size:.625rem;font-weight:700;gap:5px;letter-spacing:.6px;line-height:1.5;padding:3px 9px;text-transform:uppercase;width:fit-content}.gsp-active-badge:before{animation:gsp-badge-pulse 2s ease-in-out infinite;background:#4ade80;border-radius:50%;content:"";display:inline-block;flex-shrink:0;height:6px;width:6px}@keyframes gsp-badge-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.gsp-hero-kpis{align-items:stretch;display:flex;flex:1 1;gap:1rem;padding:1.5rem 1.25rem}.gsp-hero-kpi-card{background:hsla(0,0%,100%,.055);border:1px solid #ffffff1a;border-radius:12px;box-shadow:inset 0 1px 0 #ffffff0f;cursor:default;display:flex;flex:1 1;flex-direction:column;gap:.875rem;justify-content:space-between;min-width:0;padding:1.25rem 1.375rem;transition:background .22s ease,border-color .22s ease,transform .22s ease}.gsp-hero-kpi-card:hover{background:#ffffff17;border-color:#ffffff2e;box-shadow:0 8px 24px #00000040,inset 0 1px 0 #ffffff14;transform:translateY(-2px)}.gsp-hero-kpi-icon{align-items:center;background:#ffffff1a;border:1px solid #ffffff1f;border-radius:9px;color:#ffffffb3;display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.gsp-hero-kpi-body{display:flex;flex-direction:column;gap:4px}.gsp-hero-kpi-label{color:#ffffff73;font-size:.625rem;font-weight:600;letter-spacing:.9px;text-transform:uppercase}.gsp-hero-kpi-label,.gsp-hero-kpi-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gsp-hero-kpi-value{color:#fff;font-size:1.5rem;font-weight:800;letter-spacing:-.2px;line-height:1.15}.gsp-status-ready{color:#4ade80}.gsp-status-progress{color:#fbbf24}.gsp-status-idle{color:#fff6}.gsp-hero-actions{background:#ffffff05;border-left:1px solid #ffffff14;flex-direction:column;flex-shrink:0;min-width:200px;padding:2rem 2rem 2rem 1.5rem}.gsp-hero-actions,.gsp-hero-create-btn{align-items:center;display:flex;gap:.75rem;justify-content:center}.gsp-hero-create-btn{background:linear-gradient(135deg,#2563eb,#1d4ed8);border:1px solid #ffffff2e;border-radius:12px;box-shadow:none;color:#fff;cursor:not-allowed;font-family:inherit;font-size:.875rem;font-weight:700;letter-spacing:.1px;opacity:.4;padding:.9375rem 1.75rem;transition:all .25s cubic-bezier(.22,1,.36,1);white-space:nowrap;width:100%}.gsp-hero-create-btn.enabled{box-shadow:0 4px 16px #2563eb80,inset 0 1px 0 #ffffff26;cursor:pointer;opacity:1}.gsp-hero-create-btn.enabled:hover{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 8px 28px #2563eb99,inset 0 1px 0 #ffffff2e;transform:translateY(-2px)}.gsp-hero-create-btn.enabled:active{box-shadow:0 2px 8px #2563eb66;transform:translateY(0)}.gsp-hero-btn-text{font-size:.875rem;font-weight:700;line-height:1}.gsp-hero-btn-icon{align-items:center;display:flex;transition:transform .2s ease}.gsp-hero-create-btn.enabled:hover .gsp-hero-btn-icon{transform:translateX(3px)}.gsp-hero-btn-hint{color:#ffffff4d;font-size:.6875rem;line-height:1.4;margin:0;text-align:center}.gsp-create-plan-btn,.gsp-header-brand,.gsp-header-cta,.gsp-header-kpi,.gsp-header-kpis,.gsp-header-metric,.gsp-header-metrics,.gsp-header-product,.gsp-header-product-name,.gsp-header-subtitle,.gsp-kpi-divider,.gsp-kpi-label,.gsp-kpi-value,.gsp-metric-label,.gsp-metric-value{display:none}.gsp-sticky-progress-wrapper{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#fff;border:1px solid #e2e8f0d9;border-radius:14px;box-shadow:0 6px 20px #0000000d,0 2px 6px #00000008;margin:.75rem 1.5rem 0;padding:1.125rem 2rem;position:sticky;top:102px;top:calc(var(--navbar-offset, 86px) + 16px);z-index:900}.gsp-progress-actions-row{align-items:center;display:flex;gap:1.25rem;justify-content:flex-end;margin:.75rem 1.5rem 0;padding:0 1.25rem}.gsp-progress-bar,.gsp-step-wrapper{align-items:center;display:flex;flex:1 1}.gsp-step-wrapper{min-width:0}.gsp-step-item{align-items:center;background:none;border:none;border-radius:10px;cursor:default;display:flex;flex-shrink:0;gap:.75rem;padding:.375rem .625rem;text-align:left;transition:background .15s}.gsp-step-item.completed,.gsp-step-item.current{cursor:pointer}.gsp-step-item.completed:hover,.gsp-step-item.current:hover{background:#2563eb0d}.gsp-step-dot{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:.9375rem;font-weight:700;height:38px;justify-content:center;transition:all .3s cubic-bezier(.22,1,.36,1);width:38px}.gsp-step-dot.completed{background:linear-gradient(135deg,#16a34a,#22c55e);box-shadow:0 2px 8px #16a34a59;color:#fff}.gsp-step-dot.current{animation:gsp-step-pulse 2.5s ease-in-out infinite;background:linear-gradient(135deg,#2563eb,#3b82f6);box-shadow:0 0 0 5px #2563eb2e,0 0 0 10px #2563eb12,0 4px 12px #2563eb4d;color:#fff}@keyframes gsp-step-pulse{0%,to{box-shadow:0 0 0 5px #2563eb2e,0 0 0 10px #2563eb12,0 4px 12px #2563eb4d}50%{box-shadow:0 0 0 6px #2563eb3d,0 0 0 12px #2563eb17,0 4px 16px #2563eb61}}.gsp-step-dot.upcoming{background:#f1f5f9;border:2px solid #e2e8f0;color:#94a3b8}.gsp-step-dot svg{height:16px;width:16px}.gsp-step-text{display:flex;flex-direction:column;gap:2px}.gsp-step-label{color:#475569;font-size:.875rem;font-weight:600}.gsp-step-desc,.gsp-step-label{line-height:1.3;transition:color .2s;white-space:nowrap}.gsp-step-desc{color:#94a3b8;font-size:.6875rem}.gsp-step-item.completed .gsp-step-label{color:#16a34a}.gsp-step-item.completed .gsp-step-desc{color:#86efac}.gsp-step-item.current .gsp-step-label{color:#2563eb;font-weight:700}.gsp-step-item.current .gsp-step-desc{color:#93c5fd}.gsp-step-connector{background:#e8edf4;border-radius:3px;flex:1 1;height:3px;margin:0 10px;min-width:32px;transition:background .6s ease}.gsp-step-connector.completed{background:linear-gradient(90deg,#16a34a,#22c55e);box-shadow:0 1px 4px #16a34a40}.gsp-mode-toggle{background:#f1f5f9;border-radius:8px;display:flex;flex-shrink:0;padding:3px}.gsp-mode-btn{background:#0000;border:none;border-radius:6px;color:#64748b;cursor:pointer;font-family:inherit;font-size:.75rem;font-weight:500;padding:.3rem .875rem;transition:all .2s}.gsp-mode-btn.active{background:#fff;box-shadow:0 1px 4px #0000001a;color:#2563eb;font-weight:600}.gsp-reset-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;display:flex;flex-shrink:0;font-family:inherit;font-size:.75rem;font-weight:500;gap:.375rem;padding:.35rem .875rem;transition:all .2s}.gsp-reset-btn:hover{background:#f8fafc;border-color:#cbd5e1;color:#374151}.gsp-layout{grid-gap:1.75rem;align-items:start;display:grid;gap:1.75rem;grid-template-columns:1fr 280px;padding:1.25rem 2.5rem 4rem}.gsp-step-scroll-target{scroll-margin-top:150px}.gsp-wizard-area{display:flex;flex-direction:column;gap:1.25rem;min-width:0}.gsp-product-switcher{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 4px #0000000a;display:flex;gap:1rem;padding:.875rem 1.5rem}.gsp-product-switcher-label{color:#94a3b8;flex-shrink:0;font-size:.6875rem;font-weight:700;letter-spacing:.6px;text-transform:uppercase}.gsp-product-switcher-pills{display:flex;flex-wrap:wrap;gap:.5rem}.gsp-product-pill{align-items:center;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:20px;color:#374151;cursor:pointer;display:flex;font-family:inherit;font-size:.8125rem;font-weight:500;gap:.5rem;padding:.4rem 1rem;transition:all .2s ease}.gsp-product-pill:hover{background:#eff6ff;border-color:#93c5fd;color:#2563eb}.gsp-product-pill.active{background:#eff6ff;border-color:#2563eb;color:#2563eb;font-weight:600}.gsp-product-pill-index{align-items:center;background:#2563eb;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.6875rem;font-weight:700;height:18px;justify-content:center;width:18px}.gsp-product-pill:not(.active) .gsp-product-pill-index{background:#cbd5e1}.gsp-wizard-step{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 2px 8px #0000000d;box-sizing:border-box;padding:2rem;width:100%}.gsp-step-section-header{align-items:flex-start;display:flex;gap:1rem;margin-bottom:1.75rem}.gsp-step-num-badge{align-items:center;background:#2563eb;border-radius:50%;box-shadow:0 2px 6px #2563eb4d;color:#fff;display:flex;flex-shrink:0;font-size:.9375rem;font-weight:700;height:34px;justify-content:center;margin-top:1px;width:34px}.gsp-step-title{color:#0f172a;font-size:1.125rem;font-weight:700;line-height:1.3;margin:0 0 .25rem}.gsp-step-subtitle{color:#64748b;font-size:.8125rem;line-height:1.55;margin:0}@keyframes gsp-slide-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes gsp-fade-in{0%{opacity:0}to{opacity:1}}@keyframes gsp-highlight-pulse{0%{box-shadow:0 0 0 0 #2563eb00}15%{box-shadow:0 0 0 5px #2563eb4d}55%{box-shadow:0 0 0 8px #2563eb26}to{box-shadow:0 0 0 0 #2563eb00}}.gsp-step-highlight{animation:gsp-highlight-pulse 1.4s cubic-bezier(.22,1,.36,1) both;border-radius:16px}.gsp-animate-in{animation:gsp-slide-down .26s cubic-bezier(.22,1,.36,1) both}.gsp-family-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:1fr 1fr}.gsp-family-card{align-items:center;background:#fafafa;border:2px solid #e5e7eb;border-radius:14px;cursor:pointer;display:flex;gap:1.25rem;padding:1.625rem 2rem;position:relative;text-align:left;transition:all .22s ease}.gsp-family-card:hover{background:#f0f7ff;border-color:#93c5fd;box-shadow:0 6px 18px #2563eb1a;transform:translateY(-2px)}.gsp-family-card.selected{background:#eff6ff;border-color:#2563eb;box-shadow:0 0 0 4px #2563eb1f,0 6px 18px #2563eb1f}.gsp-family-icon{align-items:center;background:#f1f5f9;border-radius:12px;display:flex;flex-shrink:0;height:56px;justify-content:center;transition:background .2s;width:56px}.gsp-family-card.selected .gsp-family-icon{background:#dbeafe}.gsp-family-card>svg,.gsp-family-icon svg{stroke:#64748b;height:26px;width:26px}.gsp-family-card.selected .gsp-family-icon svg{stroke:#2563eb}.gsp-family-text{display:flex;flex-direction:column;gap:5px}.gsp-family-text strong{color:#0f172a;font-size:1.0625rem;font-weight:700}.gsp-family-text span{color:#64748b;font-size:.8125rem;line-height:1.4}.gsp-family-card.selected .gsp-family-text strong{color:#1d4ed8}.gsp-format-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));max-width:100%}.gsp-format-card{background:#fafafa;border:1.5px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 2px #00000005;cursor:pointer;display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.125rem;position:relative;text-align:left;transition:all .2s cubic-bezier(.16,1,.3,1)}.gsp-format-card:hover{background:#f8fafc;border-color:#cbd5e1;box-shadow:0 4px 12px #0000000d;transform:translateY(-2px)}.gsp-format-card.selected{background:#eff6ff;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a,0 4px 12px #2563eb0d}.gsp-format-card-top{align-items:center;display:flex;gap:.75rem}.gsp-format-icon{align-items:center;background:#f1f5f9;border-radius:8px;display:flex;flex-shrink:0;height:36px;justify-content:center;transition:all .2s;width:36px}.gsp-format-card.selected .gsp-format-icon{background:#dbeafe}.gsp-format-card>svg,.gsp-format-icon svg{stroke:#64748b;height:18px;transition:stroke .2s;width:18px}.gsp-format-card.selected .gsp-format-icon svg{stroke:#2563eb}.gsp-format-card-heading{display:flex;flex:1 1;flex-direction:column;gap:1px}.gsp-format-card-heading strong{color:#0f172a;font-size:.875rem;font-weight:700;line-height:1.25}.gsp-format-card.selected .gsp-format-card-heading strong{color:#1d4ed8}.gsp-format-card-heading span{color:#64748b;font-size:.6875rem;line-height:1.2}.gsp-format-card-metrics{border-top:1px solid #e2e8f0cc;display:flex;flex-direction:column;gap:.375rem;padding-top:.75rem}.gsp-format-card.selected .gsp-format-card-metrics{border-top-color:#bfdbfe}.gsp-format-metric{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.gsp-format-metric span{color:#64748b;font-size:.6875rem;font-weight:500}.gsp-format-metric strong{color:#374151;font-size:.75rem;font-weight:600;text-align:right}.gsp-format-card.selected .gsp-format-metric strong{color:#1e40af}.gsp-card-checkmark{align-items:center;animation:gsp-fade-in .2s ease;background:#2563eb;border-radius:50%;color:#fff;display:flex;height:20px;justify-content:center;position:absolute;right:10px;top:10px;width:20px}.gsp-card-checkmark svg{stroke:#fff!important;height:10px!important;width:10px!important}.gsp-quantity-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.gsp-quantity-row{align-items:center;display:flex;flex-wrap:wrap;gap:1.75rem;padding:1.5rem}.gsp-quantity-format-info{align-items:center;display:flex;flex:1 1;gap:1rem;min-width:200px}.gsp-quantity-format-icon{align-items:center;background:#f1f5f9;border-radius:10px;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.gsp-quantity-format-icon svg{stroke:#475569;height:20px;width:20px}.gsp-quantity-format-text{display:flex;flex-direction:column;gap:3px}.gsp-quantity-format-text strong{color:#0f172a;font-size:1rem;font-weight:700}.gsp-quantity-format-text span{color:#64748b;font-size:.8125rem}.gsp-quantity-input-group{display:flex;flex-direction:column;flex-shrink:0;gap:5px}.gsp-quantity-label{color:#94a3b8;font-size:.625rem;font-weight:700;letter-spacing:.7px;text-transform:uppercase}.gsp-quantity-input-row{align-items:center;display:flex;gap:.5rem}.gsp-quantity-input{background:#fff;border:2px solid #e2e8f0;border-radius:10px;color:#0f172a;font-family:inherit;font-size:1.125rem;font-weight:700;padding:.625rem 1rem;transition:border-color .2s,box-shadow .2s;width:180px}.gsp-quantity-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f;outline:none}.gsp-quantity-unit{color:#64748b;font-size:.875rem;font-weight:600;white-space:nowrap}.gsp-keep-selected-badge{align-items:center;background:#eff6ff;border:1.5px solid #2563eb;border-radius:8px;color:#2563eb;cursor:default;display:flex;flex-shrink:0;font-size:.8125rem;font-weight:600;gap:.375rem;padding:.5rem 1rem}.gsp-keep-selected-badge svg{stroke:#2563eb}.gsp-live-summary{background:#f8fafc;border-top:1px solid #e5e7eb;display:flex;padding:0 1.5rem}.gsp-live-summary-item{border-right:1px solid #e5e7eb;display:flex;flex:1 1;flex-direction:column;gap:4px;padding:1.125rem 1.25rem}.gsp-live-summary-item:first-child{padding-left:0}.gsp-live-summary-item:last-child{border-right:none}.gsp-live-summary-item span{color:#94a3b8;font-size:.625rem;font-weight:700;letter-spacing:.7px;text-transform:uppercase}.gsp-live-summary-item strong{color:#0f172a;font-size:1rem;font-weight:700;line-height:1.3}.gsp-live-summary-divider{display:none}.gsp-advanced-section{border-top:1px solid #e5e7eb}.gsp-advanced-toggle{align-items:center;background:none;border:none;color:#475569;cursor:pointer;display:flex;font-family:inherit;font-size:.875rem;font-weight:500;gap:.5rem;padding:.875rem 1.5rem;text-align:left;transition:background .15s;width:100%}.gsp-advanced-toggle:hover{background:#f8fafc;color:#0f172a}.gsp-advanced-toggle.open{background:#f0f7ff;color:#2563eb}.gsp-advanced-chevron-right{margin-left:auto}.gsp-advanced-body{background:#fafbfc;border-top:1px solid #f1f5f9;display:flex;flex-direction:column;gap:.875rem;padding:.5rem 1.5rem 1.5rem}.gsp-advanced-row{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;font-size:.875rem;gap:1rem;justify-content:space-between;padding:.5rem 0}.gsp-advanced-row span{color:#475569}.gsp-advanced-row strong{color:#0f172a;font-weight:600}.gsp-advanced-input{background:#fff;border:1.5px solid #e2e8f0;border-radius:6px;color:#0f172a;font-family:inherit;font-size:.875rem;font-weight:500;padding:.375rem .75rem;text-align:right;transition:border-color .2s;width:140px}.gsp-advanced-input:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a;outline:none}.gsp-bottleneck-alert{align-items:center;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;color:#9a3412;display:flex;font-size:.8125rem;gap:.5rem;padding:.625rem 1rem}.gsp-bottleneck-alert svg{stroke:#ea580c;flex-shrink:0;height:14px;width:14px}.gsp-ingredients-grid{display:flex;flex-direction:column;gap:.5rem}.gsp-ingredient-card{grid-gap:1rem;align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:grid;font-size:.8125rem;gap:1rem;grid-template-columns:1fr auto auto;padding:.625rem .875rem}.gsp-ingredient-card.bottleneck{background:#fff5f5;border-color:#fca5a5}.gsp-ingredient-card strong{color:#0f172a;font-weight:600}.gsp-ingredient-amount{color:#64748b;font-size:.75rem}.gsp-step-cta{display:flex;justify-content:flex-end;margin-top:.75rem}.gsp-review-btn{align-items:center;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:10px;box-shadow:0 4px 14px #2563eb4d;color:#fff;cursor:pointer;display:flex;font-family:inherit;font-size:.9375rem;font-weight:600;gap:.5rem;padding:.8125rem 1.75rem;transition:all .2s ease}.gsp-review-btn:hover{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 6px 20px #2563eb61;transform:translateY(-1px)}.gsp-review-btn:disabled{background:#cbd5e1;box-shadow:none;color:#64748b;cursor:not-allowed;transform:none}.gsp-bottleneck-banner{align-items:flex-start;background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;display:flex;gap:.75rem;margin-top:.75rem;padding:.875rem 1rem}.gsp-bottleneck-banner svg{stroke:#ea580c;flex-shrink:0;height:18px;margin-top:.125rem;width:18px}.gsp-bottleneck-banner-text{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.gsp-bottleneck-banner-text strong{color:#9a3412;font-size:.875rem}.gsp-bottleneck-banner-text p{color:#9a3412;font-size:.8125rem;line-height:1.5;margin:0}.gsp-bottleneck-fix-btn{background:#ea580c;border:none;border-radius:8px;color:#fff;cursor:pointer;flex-shrink:0;font-family:inherit;font-size:.8125rem;font-weight:600;padding:.5rem .875rem;transition:background .15s ease;white-space:nowrap}.gsp-bottleneck-fix-btn:hover{background:#c2410c}.gsp-review-card{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.gsp-review-table{display:flex;flex-direction:column}.gsp-review-row{align-items:baseline;border-bottom:1px solid #f1f5f9;display:flex;gap:1rem;justify-content:space-between;padding:1rem 1.5rem;transition:background .15s}.gsp-review-row:last-child{border-bottom:none}.gsp-review-row:hover{background:#f8fafc}.gsp-review-label{color:#64748b;flex-shrink:0;font-size:.8125rem;font-weight:500}.gsp-review-value{color:#0f172a;font-size:.9375rem;font-weight:700;text-align:right}.gsp-review-actions{align-items:center;background:#f8fafc;border-top:1px solid #e5e7eb;display:flex;gap:1rem;justify-content:space-between;padding:1.25rem 1.5rem}.gsp-back-btn{align-items:center;background:#fff;border:1.5px solid #e2e8f0;border-radius:9px;color:#374151;cursor:pointer;display:flex;font-family:inherit;font-size:.875rem;font-weight:600;gap:.375rem;padding:.625rem 1.25rem;transition:all .2s}.gsp-back-btn:hover{background:#f1f5f9;border-color:#cbd5e1}.gsp-final-create-btn{background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:10px;box-shadow:0 4px 14px #2563eb4d;color:#fff;cursor:pointer;font-family:inherit;font-size:.9375rem;font-weight:700;padding:.8125rem 2rem;transition:all .2s}.gsp-final-create-btn:hover:not(:disabled){background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 6px 20px #2563eb61;transform:translateY(-1px)}.gsp-final-create-btn:disabled{background:#e2e8f0;box-shadow:none;color:#94a3b8;cursor:not-allowed}.gsp-final-create-group{align-items:flex-end;display:flex;flex-direction:column;gap:.375rem}.gsp-final-create-hint{color:#9a3412;font-size:.75rem;margin:0;max-width:320px;text-align:right}.gsp-summary-panel{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 18px #00000012;display:flex;flex-direction:column;isolation:isolate;max-height:calc(100vh - 100px);overflow:hidden;position:sticky;top:80px}.gsp-summary-bg-image{height:75%;opacity:.28;pointer-events:none;position:absolute;right:-45px;top:15%;transform:rotate(6deg);transition:all .4s cubic-bezier(.16,1,.3,1);-webkit-user-select:none;user-select:none;width:auto;z-index:0}.gsp-summary-panel-header{background:#fafeff;border-bottom:1px solid #f1f5f9;color:#2563eb;flex-shrink:0;font-size:.625rem;font-weight:800;letter-spacing:1px;padding:1rem 1.25rem .75rem;position:relative;text-transform:uppercase;z-index:2}.gsp-summary-items{background:#0000;display:flex;flex:1 1;flex-direction:column;overflow-y:auto;position:relative;z-index:1}.gsp-summary-item{border-bottom:1px solid #f8fafcb3;display:flex;flex-direction:column;gap:3px;padding:.875rem 1.25rem}.gsp-summary-item:last-child{border-bottom:none}.gsp-summary-label{color:#94a3b8;font-size:.625rem;font-weight:700;letter-spacing:.6px;text-transform:uppercase}.gsp-summary-value{color:#0f172a;font-size:.9375rem;font-weight:700;line-height:1.4;word-break:break-word}.gsp-summary-panel-footer{background:#f8fafc;border-top:1px solid #e5e7eb;flex-shrink:0;padding:1rem 1.25rem;position:relative;z-index:2}.gsp-summary-create-btn{background:#e2e8f0;border:none;border-radius:10px;color:#94a3b8;cursor:not-allowed;font-family:inherit;font-size:.875rem;font-weight:700;padding:.8125rem;transition:all .2s;width:100%}.gsp-summary-create-btn.enabled{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 3px 10px #2563eb47;color:#fff;cursor:pointer}.gsp-summary-btn-hint{color:#9a3412;font-size:.75rem;line-height:1.4;margin:.5rem 0 0;text-align:center}.gsp-summary-create-btn.enabled:hover{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 5px 14px #2563eb5c;transform:translateY(-1px)}@media (max-width:1200px){.gsp-layout{gap:1.25rem;grid-template-columns:1fr 260px;padding:1rem 1.5rem 3rem}.gsp-hero-kpis{gap:.75rem;padding:1.25rem .875rem}.gsp-hero-kpi-value{font-size:1.25rem}}@media (max-width:900px){.gsp-layout{grid-template-columns:1fr;padding:1rem 1.25rem 3rem}.gsp-summary-panel{max-height:none;position:relative;top:0}.gsp-sticky-header{align-items:stretch;border-radius:12px;flex-direction:column;margin:6px .75rem 0;min-height:auto}.gsp-hero-product{border-bottom:1px solid #ffffff14;border-right:none;max-width:100%;padding:1.5rem 1.25rem 1rem}.gsp-hero-kpis{flex-wrap:wrap;padding:1rem 1.25rem}.gsp-hero-kpi-card{min-width:calc(50% - .5rem)}.gsp-hero-actions{border-left:none;border-top:1px solid #ffffff14;padding:1rem 1.25rem 1.5rem}.gsp-sticky-progress-wrapper{margin:.5rem .75rem 0;padding:.75rem 1.25rem}.gsp-progress-actions-row{flex-wrap:wrap;gap:1rem;margin:.5rem .75rem 0;padding:0 .5rem}.gsp-progress-bar{order:1;width:100%}.gsp-mode-toggle{order:2}.gsp-reset-btn{order:3}}@media (max-width:640px){.gsp-root{margin:-1rem}.gsp-wizard-step{padding:1.5rem 1.25rem}.gsp-family-grid,.gsp-format-grid{grid-template-columns:1fr}.gsp-hero-product-name{font-size:1.5rem}.gsp-hero-kpi-card{min-width:100%}.gsp-step-desc{display:none}.gsp-step-label{white-space:normal}.gsp-quantity-row{align-items:flex-start;flex-direction:column;gap:1.25rem}.gsp-live-summary{flex-direction:column;padding:0}.gsp-live-summary-item{border-bottom:1px solid #e5e7eb;border-right:none;padding:.875rem 1.5rem}.gsp-live-summary-item:last-child{border-bottom:none}}.gsp-panel-content{display:flex;flex-direction:column;gap:2rem}.gsp-panel-section{display:flex;flex-direction:column;gap:1.25rem}.gsp-section-title{color:#334155;font-size:.875rem;font-weight:700;letter-spacing:.5px;margin:0;text-transform:uppercase}.gsp-form-group{display:flex;flex-direction:column;gap:.5rem}.gsp-form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.gsp-form-label{color:#64748b;font-size:.75rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.gsp-form-input,.gsp-form-textarea{background:#fff;border:1px solid #cbd5e1;border-radius:10px;box-shadow:0 1px 2px #00000005;color:#0f172a;font-family:inherit;font-size:.875rem;padding:.75rem 1rem;transition:all .2s cubic-bezier(.16,1,.3,1);width:100%}.gsp-form-input{height:46px}.gsp-form-input:focus,.gsp-form-textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a,0 1px 2px #00000005;outline:none}.gsp-form-input::placeholder,.gsp-form-textarea::placeholder{color:#94a3b8}.gsp-products-preview-list{display:flex;flex-direction:column;gap:.875rem}.gsp-preview-product-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;gap:.75rem;padding:1rem}.gsp-card-product-header{align-items:center;display:flex;justify-content:space-between}.gsp-card-product-name{color:#0f172a;font-size:.875rem;font-weight:700}.gsp-card-warning-badge{background:#fef2f2;border-radius:6px;color:#dc2626;font-size:.6875rem;font-weight:700;padding:2px 6px}.gsp-card-product-allocations{display:flex;flex-direction:column;gap:4px}.gsp-card-allocation-row{align-items:center;color:#475569;display:flex;font-size:.8125rem;justify-content:space-between;padding:2px 0}.gsp-card-allocation-format{font-weight:600}.gsp-card-allocation-qty{color:#0f172a;font-weight:700}.gsp-card-no-allocation{color:#94a3b8;font-size:.8125rem;font-style:italic}.gsp-card-allocation-error{background:#fef2f2;border-radius:6px;color:#dc2626;font-size:.75rem;font-weight:700;margin-top:4px;padding:6px 10px}.gsp-submit-message-card{border-radius:8px;font-size:.8125rem;font-weight:600;padding:.875rem 1rem}.gsp-submit-message-card.error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.gsp-submit-message-card.success{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.gsp-footer-create-btn .spinner{animation:spin 1s ease-in-out infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:12px;margin-right:8px;width:12px}@keyframes fadeInDialogOverlay{0%{opacity:0}to{opacity:.55}}.gsp-dialog-overlay{animation:fadeInDialogOverlay .28s cubic-bezier(.16,1,.3,1) both;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#090d16;bottom:0;left:0;opacity:.55;position:fixed;right:0;top:0;z-index:2000}@keyframes scaleInDialog{0%{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.gsp-dialog-box{align-items:center;animation:scaleInDialog .32s cubic-bezier(.34,1.56,.64,1) both;background:#fff;border-radius:20px;box-shadow:0 25px 50px -12px #0f172a33;display:flex;flex-direction:column;left:50%;max-width:440px;padding:2.25rem 2rem 2rem;position:fixed;text-align:center;top:50%;transform:translate(-50%,-50%);width:90%;z-index:2001}@keyframes circlePulse{0%{box-shadow:0 0 0 0 #16a34a33}50%{box-shadow:0 0 0 10px #16a34a14}to{box-shadow:0 0 0 0 #16a34a00}}@keyframes popCheckmark{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.gsp-dialog-icon-circle{align-items:center;animation:circlePulse 2s ease-in-out infinite;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:50%;display:flex;height:64px;justify-content:center;margin-bottom:1.25rem;width:64px}.gsp-dialog-checkmark{stroke-linecap:round;stroke-linejoin:round;animation:popCheckmark .4s cubic-bezier(.34,1.56,.64,1) .15s both;height:28px;width:28px}.gsp-dialog-title{color:#0f172a;font-family:inherit;font-size:1.375rem;font-weight:800;letter-spacing:-.02em;margin:0 0 .5rem}.gsp-dialog-desc{color:#64748b;font-family:inherit;font-size:.875rem;font-weight:500;line-height:1.5;margin:0 0 1.75rem;max-width:320px}.gsp-dialog-details-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem;padding:1rem 1.25rem;width:100%}.gsp-dialog-detail-row{align-items:center;display:flex;font-size:.8125rem;justify-content:space-between}.gsp-dialog-detail-label{color:#64748b;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.gsp-dialog-detail-value{color:#0f172a;font-weight:700}.gsp-dialog-actions{display:flex;flex-direction:column;gap:.75rem;width:100%}.gsp-dialog-view-btn{background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;border:none!important;border-radius:10px!important;box-shadow:0 4px 12px #2563eb33!important;color:#fff!important;cursor:pointer;font-family:inherit;font-weight:700!important;height:44px;transition:all .2s cubic-bezier(.16,1,.3,1)!important;width:100%}.gsp-dialog-view-btn:hover{background:linear-gradient(135deg,#3b82f6,#2563eb)!important;box-shadow:0 6px 18px #2563eb47!important;transform:translateY(-1px)}.gsp-dialog-view-btn:focus{box-shadow:0 0 0 3px #2563eb66,0 4px 12px #2563eb33!important;outline:none}.gsp-dialog-done-btn{background:#fff!important;border:1px solid #cbd5e1!important;border-radius:10px!important;color:#475569!important;cursor:pointer;font-family:inherit;font-weight:700!important;height:44px;transition:all .2s!important;width:100%}.gsp-dialog-done-btn:hover{background:#f8fafc!important;border-color:#94a3b8!important;color:#0f172a!important}.modal-body{flex:1 1 auto;padding:1.5rem;scrollbar-width:thin}.add-user-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{gap:.5rem;position:relative}.form-group label{align-items:center;display:flex;gap:.25rem}.form-input{background-color:#fff;background-color:var(--input-bg,#fff);border:1px solid #d1d5db;border:1px solid var(--border-color,#d1d5db);border-radius:.5rem;color:#111827;color:var(--text-color,#111827);font-size:1rem;height:2.75rem;padding:.75rem 1rem;transition:all .2s ease;width:100%}.form-input::placeholder{color:#9ca3af;color:var(--text-secondary,#9ca3af);opacity:.8}.form-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-input.error{background-color:#e74c3c0d;border-color:#e74c3c}.form-input.valid{background-color:#10b9810d;border-color:#10b981}.field-error{align-items:center;color:#e74c3c;display:flex;gap:.25rem}.field-error,.field-helper{font-size:.8rem;margin-top:.25rem}.field-helper{color:#6b7280;color:var(--text-secondary,#6b7280)}.error-message{align-items:center;border-left:4px solid #ef4444;color:#991b1b;display:flex;gap:.5rem;margin-bottom:1rem}.error-message:before{content:"⚠️";font-size:1rem}.password-input-container{align-items:center;display:flex;width:100%}.password-toggle{border-radius:.25rem;right:.75rem;transition:all .2s ease}.password-toggle:hover{background-color:#6b72801a;color:#374151;color:var(--text-color,#374151)}.toggle-icon{height:1.25rem;width:1.25rem}.password-strength{font-size:.8rem;margin-top:.5rem}.strength-meter-container{background-color:#e5e7eb;border-radius:9999px;height:.25rem;margin-bottom:.5rem;overflow:hidden}.strength-meter{border-radius:9999px;height:100%;transition:width .3s ease,background-color .3s ease}.strength-indicator{align-items:center;display:flex;font-weight:500;gap:.25rem;margin-bottom:.5rem}.strength-indicator.strong{color:#10b981}.strength-indicator.weak{color:#f59e0b}.strength-requirements-container{display:flex;flex-direction:column;gap:.375rem}.requirement{align-items:center;color:#6b7280;display:flex;font-size:.75rem;gap:.375rem}.requirement.valid{color:#10b981}.requirement.invalid{color:#6b7280}.requirement-icon{flex-shrink:0;height:.875rem;width:.875rem}.segmented-control{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem;width:100%}.segment-option{cursor:pointer;flex:1 1;min-width:120px;position:relative}.segment-radio{height:0;opacity:0;position:absolute;width:0}.segment-content{align-items:center;border:1px solid #d1d5db;border:1px solid var(--border-color,#d1d5db);border-radius:.5rem;display:flex;gap:.75rem;padding:.75rem 1rem;transition:all .2s ease}.segment-option:hover .segment-content{background-color:#a5b4fc0d;border-color:#a5b4fc}.segment-option.selected .segment-content{background-color:#667eea1a;border-color:#667eea}.segment-icon{align-items:center;background-color:#667eea1a;border-radius:.5rem;color:#667eea;display:flex;height:2rem;justify-content:center;width:2rem}.segment-option.selected .segment-icon{background-color:#667eea;color:#fff}.segment-icon svg{height:1.25rem;width:1.25rem}.segment-label{display:flex;flex:1 1;flex-direction:column}.segment-title{color:#111827;color:var(--text-color,#111827);font-size:.875rem;font-weight:500}.segment-description{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.75rem}.required{color:#e74c3c}.input-with-status{position:relative;width:100%}.input-status{align-items:center;display:flex;font-size:.75rem;gap:.25rem;position:absolute;right:.75rem;top:50%;transform:translateY(-50%)}.input-status.checking{color:#6b7280}.status-spinner{animation:spin 1s ease-in-out infinite;border:2px solid #6b72804d;border-radius:50%;border-top-color:#6b7280;display:inline-block;height:.75rem;width:.75rem}.input-status.available{color:#10b981}.status-icon{height:.875rem;width:.875rem}.input-status.unavailable{color:#e74c3c}.password-match{align-items:center;color:#10b981;display:flex;font-size:.8rem;gap:.25rem;margin-top:.25rem}.match-icon{height:.875rem;width:.875rem}.modal-footer{background-color:#fff;background-color:var(--sidebar-bg,#fff);padding:1rem 1.5rem}.btn{border-radius:.375rem;height:2.5rem;min-width:6rem;padding:.5rem 1rem}.btn-primary{background-color:#667eea;border:none}.btn-primary:hover:not(:disabled){background-color:#5a67d8}.btn-secondary{background-color:initial}.btn-secondary:hover:not(:disabled){background-color:#6b72801a}@media (max-width:640px){.segmented-control{flex-direction:column}.segment-option{width:100%}}.modal-body::-webkit-scrollbar{width:6px}.modal-body::-webkit-scrollbar-track{background:#0000}.modal-body::-webkit-scrollbar-thumb{background-color:#6b72804d;border-radius:3px}.modal-body::-webkit-scrollbar-thumb:hover{background-color:#6b728080}[data-theme=dark] .error-message{background-color:#ef444433;color:#fee2e2}[data-theme=dark] .strength-indicator.strong{color:#34d399}[data-theme=dark] .strength-indicator.weak{color:#fbbf24}[data-theme=dark] .requirement{color:#9ca3af}.profile-form{width:100%}.form-row{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr;margin-bottom:1.5rem}@media (min-width:768px){.form-row{grid-template-columns:repeat(2,1fr)}}.form-group{margin-bottom:0}.form-group label{color:var(--text-color,#374151);display:block;font-size:.875rem;margin-bottom:.5rem}.required{color:#dc2626;color:var(--error-color,#dc2626);margin-left:.25rem}.form-group input{background-color:#fff;background-color:var(--input-bg,#fff);border:2px solid #e5e7eb;border:2px solid var(--border-color,#e5e7eb);border-radius:.5rem;color:#374151;color:var(--text-color,#374151);font-size:.875rem;padding:.75rem 1rem;transition:all .2s ease;width:100%}.form-group input:focus{border-color:#3b82f6;border-color:var(--primary-color,#3b82f6);box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-group input:disabled{background-color:#f9fafb;background-color:var(--disabled-bg,#f9fafb);cursor:not-allowed;opacity:.7}.form-group input.error{border-color:#dc2626;border-color:var(--error-color,#dc2626)}.field-error{color:#dc2626;color:var(--error-color,#dc2626);display:block;font-size:.75rem;margin-top:.375rem}.password-group,.password-input-container{position:relative}.password-toggle{align-items:center;background:none;border:none;color:#6b7280;color:var(--text-secondary,#6b7280);cursor:pointer;display:flex;justify-content:center;padding:.25rem;position:absolute;right:1rem;top:50%;transform:translateY(-50%)}.password-toggle:hover{color:#3b82f6;color:var(--primary-color,#3b82f6)}.password-toggle svg{height:1.25rem;width:1.25rem}.form-actions{display:flex;gap:1rem;justify-content:flex-start;margin-top:2rem}.btn{font-size:.875rem;padding:.625rem 1.25rem}.btn-primary:hover:not(:disabled){background:#2563eb;background:var(--primary-hover,#2563eb)}.btn-secondary:hover:not(:disabled){background:#e5e7eb;background:var(--secondary-hover,#e5e7eb)}.btn-outline{background:#0000;border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);color:#374151;color:var(--text-color,#374151)}.btn-outline:hover{background:#f3f4f6;background:var(--hover-bg,#f3f4f6);border-color:#d1d5db;border-color:var(--border-hover,#d1d5db)}.btn:disabled{opacity:.7}.loading-spinner-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:2rem;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #e5e7eb;border-top:3px solid #3b82f6;border:3px solid var(--spinner-track,#e5e7eb);border-radius:50%;border-top-color:var(--primary-color,#3b82f6);height:2.5rem;margin-bottom:1rem;width:2.5rem}.success-message{background:var(--success-light,#f0fdf4);border:1px solid #bbf7d0;border:1px solid var(--success-border,#bbf7d0);border-radius:.5rem;color:var(--success-color,#16a34a);margin-bottom:1.5rem}.account-info{display:flex;flex-direction:column;gap:1rem}.info-item{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color,#e5e7eb);display:flex;justify-content:space-between;padding:.75rem 0}.info-item:last-child{border-bottom:none}.info-label{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.875rem}.info-value{color:#374151;color:var(--text-color,#374151);font-size:.875rem;font-weight:500}.role-badge{align-items:center;border-radius:9999px;display:inline-flex;font-size:.75rem;font-weight:500;padding:.25rem .75rem;text-transform:capitalize}.role-badge.admin,.role-badge.super_admin{background:#fef2f2;background:var(--error-light,#fef2f2);color:#dc2626;color:var(--error-color,#dc2626)}.role-badge.manager{background:#fefce8;background:var(--warning-light,#fefce8);color:#ca8a04;color:var(--warning-color,#ca8a04)}.role-badge.user,.role-badge.viewer{background:#f0fdf4;background:var(--success-light,#f0fdf4);color:#16a34a;color:var(--success-color,#16a34a)}.security-settings{display:flex;flex-direction:column;gap:1.25rem}.setting-item{align-items:center;background:#fff;background:var(--card-bg,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:.5rem;display:flex;justify-content:space-between;padding:1rem}.setting-info{flex:1 1}.setting-title{color:#374151;color:var(--text-color,#374151);font-size:.875rem;font-weight:600;margin:0 0 .25rem}.setting-description{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.75rem;margin:0}@media (max-width:768px){.form-actions{flex-direction:column;gap:.75rem}.btn{justify-content:center;width:100%}.setting-item{align-items:flex-start;flex-direction:column;gap:1rem}.setting-item .btn{width:100%}}[data-theme=dark]{--input-bg:#1f2937;--disabled-bg:#111827;--secondary-bg:#1f2937;--secondary-hover:#374151;--spinner-track:#374151}@media (prefers-contrast:high){.form-group input{border-width:2px}.form-group input:focus{border-color:#000;box-shadow:0 0 0 3px #000}.btn{border:2px solid}.setting-item{border-width:2px}}@media (prefers-reduced-motion:reduce){.btn,.form-group input{transition:none}.loading-spinner,.spinner{animation:none}}.settings-page{margin:0 auto;max-width:1200px;padding:1.5rem}.settings-header{margin-bottom:2rem}.settings-header h1{color:#111827;color:var(--text-color,#111827);font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.settings-header p{color:#6b7280;color:var(--text-secondary,#6b7280);margin:0}.settings-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.settings-card{align-items:flex-start;background-color:#fff;background-color:var(--bg-color,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:.5rem;box-shadow:0 1px 3px #0000001a;cursor:pointer;display:flex;gap:1rem;padding:1.5rem;transition:all .2s ease}.settings-card:hover{box-shadow:0 4px 6px #3b82f61a}.settings-card:focus,.settings-card:hover{border-color:#3b82f6;border-color:var(--primary-color,#3b82f6)}.settings-card:focus{box-shadow:0 0 0 3px #3b82f64d;outline:none}.settings-card.active{background-color:#3b82f60d;border-color:#3b82f6;border-color:var(--primary-color,#3b82f6)}.card-icon{align-items:center;background-color:#dbeafe;background-color:var(--primary-light,#dbeafe);border-radius:.5rem;color:#3b82f6;color:var(--primary-color,#3b82f6);display:flex;flex-shrink:0;height:2.5rem;justify-content:center;width:2.5rem}.card-icon svg{height:1.5rem;width:1.5rem}.card-content{flex:1 1}.card-content h2{color:#111827;color:var(--text-color,#111827);font-size:1.125rem;font-weight:600;margin:0 0 .5rem}.card-content p{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.875rem;margin:0}@media (max-width:768px){.settings-cards{grid-template-columns:1fr}}.not-found-page{align-items:center;background:#fff;background:var(--app-bg,#fff);display:flex;justify-content:center;min-height:calc(100vh - 200px);padding:2rem}.not-found-container{max-width:600px;text-align:center;width:100%}.not-found-illustration{margin-bottom:2rem}.not-found-svg{color:#3b82f6;color:var(--primary-color,#3b82f6);height:200px;margin:0 auto;width:200px}.not-found-text{fill:currentColor;font-size:24px;font-weight:700}.not-found-content{align-items:center;display:flex;flex-direction:column;gap:1.5rem}.not-found-title{color:#111827;color:var(--text-color,#111827);font-size:2.5rem;font-weight:700;line-height:1.2;margin:0}.not-found-description{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:1.125rem;line-height:1.6;margin:0;max-width:500px}.not-found-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:1rem}.btn{border-radius:.5rem;font-size:1rem;min-width:120px;transition:all .2s ease}.btn-primary{background:#3b82f6;background:var(--primary-color,#3b82f6)}.btn-primary:hover{background:#2563eb;background:var(--primary-hover,#2563eb);transform:translateY(-1px)}.btn-secondary{background:#f3f4f6;background:var(--secondary-bg,#f3f4f6);border:1px solid #d1d5db;border:1px solid var(--border-color,#d1d5db);color:#374151;color:var(--text-color,#374151)}.btn-secondary:hover{background:#e5e7eb;background:var(--hover-bg,#e5e7eb);border-color:#9ca3af;border-color:var(--border-hover,#9ca3af);transform:translateY(-1px)}.btn:focus{outline:2px solid #3b82f6;outline:2px solid var(--primary-color,#3b82f6);outline-offset:2px}.btn svg{flex-shrink:0;height:20px;width:20px}.helpful-links{border-top:1px solid #e5e7eb;border-top:1px solid var(--border-color,#e5e7eb);margin-top:2rem;padding-top:2rem}.helpful-links h3{color:#111827;color:var(--text-color,#111827);font-size:1.25rem;font-weight:600;margin:0 0 1rem}.helpful-links ul{display:flex;flex-direction:column;gap:.75rem;list-style:none;margin:0;padding:0}.helpful-links li{margin:0}.helpful-links a{border-radius:.375rem;color:#3b82f6;color:var(--primary-color,#3b82f6);display:inline-block;font-weight:500;padding:.5rem 1rem;text-decoration:none;transition:all .2s ease}.helpful-links a:hover{background:#eff6ff;background:var(--primary-light,#eff6ff);color:#2563eb;color:var(--primary-hover,#2563eb)}.helpful-links a:focus{outline:2px solid #3b82f6;outline:2px solid var(--primary-color,#3b82f6);outline-offset:2px}@media (max-width:768px){.not-found-page{min-height:calc(100vh - 140px);padding:1rem}.not-found-svg{height:150px;width:150px}.not-found-title{font-size:2rem}.not-found-description{font-size:1rem}.not-found-actions{flex-direction:column;width:100%}.btn{max-width:300px;width:100%}.helpful-links ul{align-items:center}.helpful-links a{min-width:200px;text-align:center}}@media (max-width:480px){.not-found-container{padding:0}.not-found-svg{height:120px;width:120px}.not-found-title{font-size:1.75rem}.btn,.not-found-description{font-size:.875rem}.btn{padding:.5rem 1rem}.btn svg{height:16px;width:16px}}[data-theme=dark]{--secondary-bg:#374151}@media (prefers-contrast:high){.not-found-svg{filter:contrast(1.5)}.btn{border:2px solid}.helpful-links{border-top-width:2px}.helpful-links a{border:1px solid #0000}.helpful-links a:focus,.helpful-links a:hover{border-color:var(--primary-color)}}@media (prefers-reduced-motion:reduce){.btn{transition:none}.btn:hover{transform:none}.helpful-links a{transition:none}}@media print{.not-found-page{background:#fff;color:#000}.not-found-actions,.not-found-svg{display:none}.helpful-links a{color:#000;text-decoration:underline}}:root{--primary-color:#3b82f6;--primary-hover:#2563eb;--primary-light:#eff6ff;--primary-dark:#1e40af;--secondary-color:#8b5cf6;--secondary-hover:#7c3aed;--secondary-light:#f3e8ff;--success-color:#16a34a;--success-light:#f0fdf4;--warning-color:#ca8a04;--warning-light:#fefce8;--error-color:#dc2626;--error-light:#fef2f2;--error-bg:#fef2f2;--text-color:#111827;--text-secondary:#6b7280;--app-bg:#fff;--content-bg:#fff;--header-bg:#fff;--sidebar-bg:#fff;--sidebar-filter-bg:#f9fafb;--sidebar-footer-bg:#f9fafb;--footer-bg:#f9fafb;--card-bg:#fff;--card-header-bg:#f9fafb;--dropdown-bg:#fff;--dropdown-header-bg:#f9fafb;--input-bg:#fff;--hover-bg:#f3f4f6;--breadcrumb-bg:#f9fafb;--chart-bg:#f9fafb;--table-header-bg:#f9fafb;--metric-bg:#f9fafb;--border-color:#e5e7eb;--border-hover:#9ca3af;--version-badge-bg:#e0e7ff;--version-badge-text:#3730a3;--role-badge-bg:#e0e7ff;--role-badge-text:#c7d2fe;--slider-track:#e5e7eb;--font-mono:"Monaco","Menlo","Ubuntu Mono",monospace;--navbar-height:74px;--navbar-top:12px;--navbar-offset:calc(var(--navbar-top) + var(--navbar-height))}*{box-sizing:border-box}.App{background:#fff;background:var(--app-bg);color:#111827;color:var(--text-color);min-height:100vh;transition:background-color .3s ease,color .3s ease}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;background:var(--app-bg);color:#111827;color:var(--text-color);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;margin:0;transition:background-color .3s ease,color .3s ease}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #3b82f6;outline:2px solid var(--primary-color);outline-offset:2px}a{color:#3b82f6;color:var(--primary-color);text-decoration:none}a:hover{color:#2563eb;color:var(--primary-hover);text-decoration:underline}.loading-container{min-height:200px}.loading-container,.loading-spinner{align-items:center;display:flex;justify-content:center}.loading-spinner{gap:.5rem}.spinner{border:2px solid #0000;border-top-color:currentcolor;height:20px;width:20px}.error-message{background:var(--error-light);border:1px solid #dc2626;border:1px solid var(--error-color);border-radius:.375rem;color:var(--error-color)}.error-message,.success-message{font-size:.875rem;padding:.75rem 1rem}.success-message{background:#f0fdf4;background:var(--success-light);border:1px solid #16a34a;border:1px solid var(--success-color);border-radius:.375rem;color:#16a34a;color:var(--success-color);text-align:center}input,select,textarea{background:#fff;background:var(--input-bg);border:1px solid #e5e7eb;border:1px solid var(--border-color);color:#111827;color:var(--text-color)}input::placeholder{color:#6b7280;color:var(--text-secondary)}button{background:#fff;background:var(--input-bg);border:1px solid #e5e7eb;border:1px solid var(--border-color);color:#111827;color:var(--text-color);cursor:pointer}button:hover{background:#f3f4f6;background:var(--hover-bg)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mt-0{margin-top:0}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}@media print{*{background:#fff!important;box-shadow:none!important;color:#000!important}.App{min-height:auto}}@media (prefers-contrast:high){:root{--border-color:#000;--text-secondary:#000}[data-theme=dark]{--border-color:#fff;--text-secondary:#fff}button,input,select,textarea{border-width:2px}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.spinner{animation:none;border-top-color:#3b82f6;border-top-color:var(--primary-color)}}@media (max-width:768px){body{font-size:14px}}@media (max-width:480px){body{font-size:13px}}.ingredient-picker{width:100%}.ingredient-search-container{position:relative}.ingredient-dropdown{background-color:var(--dropdown-bg);border:1px solid var(--border-color);border-radius:4px;box-shadow:0 4px 6px #0000001a;left:0;margin-top:4px;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.dropdown-item{align-items:center;background-color:var(--dropdown-bg);border:none;color:var(--text-color);cursor:pointer;display:flex;justify-content:space-between;padding:12px 16px;text-align:left;transition:background-color .2s;width:100%}.dropdown-item:hover{background-color:var(--hover-bg)}.dropdown-item.loading,.dropdown-item.no-results{color:var(--text-secondary);cursor:default}.dropdown-item.loading:hover,.dropdown-item.no-results:hover{background-color:var(--dropdown-bg)}.ingredient-picker .ingredient-name{color:var(--text-color);font-weight:500;margin-right:8px}.ingredient-picker .ingredient-meta{color:var(--text-secondary);font-size:.875rem}.selected-ingredients{margin-top:24px}.selected-ingredients>label{color:var(--text-color);display:block;font-weight:500;margin-bottom:12px}.selected-ingredients-list{display:flex;flex-direction:column;gap:12px}.selected-ingredient-item{background-color:var(--card-header-bg);border:1px solid var(--border-color);border-radius:8px;display:flex;flex-direction:column;gap:10px;padding:14px}.ingredient-info{display:flex;flex-direction:column;gap:2px;min-width:0}.ingredient-info .ingredient-name{font-size:.9375rem;font-weight:500;margin-right:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ingredient-info .ingredient-meta{font-size:.8125rem;line-height:1.4}.ingredient-bottom-row{align-items:flex-start;display:flex;gap:10px}.ingredient-quantity-section{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.ingredient-quantity-label{color:var(--text-color);font-size:.8125rem;font-weight:500}.ingredient-quantity{align-items:center;display:flex;gap:8px}.quantity-input{flex-shrink:0;min-height:40px;padding:8px 10px;width:90px}.unit-label{color:var(--text-secondary);font-size:.875rem;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-error{color:var(--error-color);font-size:.8125rem;line-height:1.4}.ingredient-actions{display:flex}.btn-remove,.ingredient-actions{align-items:center;flex-shrink:0}.btn-remove{background-color:var(--error-color);border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:1.25rem;height:36px;justify-content:center;line-height:1;transition:background-color .2s;width:36px}.btn-remove:hover{background-color:#dc2626}.no-ingredients-message{background-color:var(--card-header-bg);border:1px dashed var(--border-color);border-radius:6px;margin-top:16px;padding:20px;text-align:center}.no-ingredients-message p{color:var(--text-secondary);font-size:.9375rem;margin:0}[data-theme=dark] .ingredient-dropdown{background-color:var(--dropdown-bg);border-color:var(--border-color);box-shadow:0 4px 6px #0000004d}[data-theme=dark] .dropdown-item{background-color:var(--dropdown-bg);color:var(--text-color)}[data-theme=dark] .dropdown-item:hover{background-color:var(--hover-bg)}[data-theme=dark] .dropdown-item.loading:hover,[data-theme=dark] .dropdown-item.no-results:hover{background-color:var(--dropdown-bg)}[data-theme=dark] .ingredient-picker .ingredient-name{color:var(--text-color)}[data-theme=dark] .ingredient-picker .ingredient-meta{color:var(--text-secondary)}[data-theme=dark] .ingredient-quantity-label,[data-theme=dark] .selected-ingredients>label{color:var(--text-color)}[data-theme=dark] .selected-ingredient-item{background-color:var(--card-header-bg);border-color:var(--border-color)}[data-theme=dark] .unit-label{color:var(--text-secondary)}[data-theme=dark] .field-error{color:var(--error-color)}[data-theme=dark] .no-ingredients-message{background-color:var(--card-header-bg);border-color:var(--border-color)}[data-theme=dark] .no-ingredients-message p{color:var(--text-secondary)}@media (max-width:480px){.ingredient-dropdown{border-radius:8px;left:8px;max-height:50vh;position:fixed;right:8px;top:auto;z-index:9999}.btn-remove{height:40px;width:40px}}.quantity-stepper{align-items:center;border:1px solid var(--border-color);border-radius:6px;display:flex;overflow:hidden;width:fit-content}.quantity-stepper .quantity-input::-webkit-inner-spin-button,.quantity-stepper .quantity-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.quantity-stepper .quantity-input[type=number]{-moz-appearance:textfield}.quantity-stepper .quantity-input{border:none;border-left:1px solid var(--border-color);border-radius:0;border-right:1px solid var(--border-color);box-shadow:none;font-size:1rem;min-height:38px;outline:none;padding:6px 4px;text-align:center;width:72px}.quantity-stepper .quantity-input.error{background-color:#fff0f0;background-color:var(--error-bg,#fff0f0)}.stepper-btn{align-items:center;background-color:var(--card-header-bg);border:none;color:var(--text-color);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:1.1rem;font-weight:600;justify-content:center;min-height:38px;transition:background-color .15s;-webkit-user-select:none;user-select:none;width:34px}.stepper-btn:hover{background-color:var(--hover-bg)}.stepper-btn:active{background-color:var(--border-color)}@media (max-width:480px){.stepper-btn{min-height:44px;width:40px}.quantity-stepper .quantity-input{min-height:44px;width:64px}}.product-edit-panel{background-color:var(--card-header-bg);border:1px solid var(--border-color);border-radius:4px;box-shadow:0 2px 5px #0000001a;margin:.5rem 0;padding:1rem;width:100%}.edit-panel-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.5rem}.edit-panel-header h3{color:var(--text-color);font-size:1.25rem;font-weight:600;margin:0}.edit-panel-content{margin-bottom:1rem}.edit-panel-footer{align-items:center;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;margin-top:1rem;padding-top:.5rem}.keyboard-shortcuts{color:var(--text-secondary);font-size:.85rem}.keyboard-shortcuts kbd{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:3px;box-shadow:0 1px 1px #0000001a;color:var(--text-color);display:inline-block;font-family:monospace;font-size:.85rem;line-height:1;padding:.2rem .4rem}.edit-panel-actions{display:flex;gap:.5rem}.cancel-btn{background-color:var(--hover-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--text-color);cursor:pointer;font-size:.9rem;padding:.375rem .75rem;transition:all .2s ease-in-out}.cancel-btn:hover{background-color:var(--border-color)}.save-btn{background-color:#0d6efd;border:1px solid #0d6efd;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.375rem .75rem;transition:all .2s ease-in-out}.save-btn:hover{background-color:#0b5ed7}.cancel-btn:disabled,.save-btn:disabled{cursor:not-allowed;opacity:.65}.form-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.form-section{display:flex;flex-direction:column;gap:.75rem}.form-section h4{border-bottom:1px solid var(--border-color);color:var(--text-color);font-size:1rem;font-weight:600;margin:0 0 .5rem;padding-bottom:.25rem}.form-group{margin-bottom:.5rem}.form-group label{color:var(--text-color);font-size:.9rem;margin-bottom:.25rem}.form-group input,.form-group textarea{background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--text-color);font-size:.9rem;padding:.375rem .75rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-group input[type=number]{appearance:textfield}.form-group input[type=number]::-webkit-inner-spin-button,.form-group input[type=number]::-webkit-outer-spin-button{appearance:inner-spin-button;height:1.2em;opacity:1;position:relative;right:4px}.form-group input[type=number]{padding-right:1.5rem}.form-group input:focus,.form-group textarea:focus{border-color:#86b7fe;box-shadow:0 0 0 .25rem #0d6efd40;outline:0}.form-group input.error,.form-group textarea.error{border-color:#dc3545}.form-group input.error:focus,.form-group textarea.error:focus{box-shadow:0 0 0 .25rem #dc354540}.form-group .error-message{color:#dc3545;font-size:.8rem;margin-top:.25rem}.form-group.checkbox{align-items:center;flex-direction:row}.form-group.checkbox label{align-items:center;display:flex;gap:.5rem;margin-bottom:0}.form-group.checkbox input{margin:0}.form-group.total{margin-top:.5rem}.form-group .help-text{color:#6c757d;font-size:.8rem;margin-top:.25rem}.form-group input.calculated{background-color:#e9ecef;font-weight:500}.required{color:#dc3545}.spinner{animation:spin 1s linear infinite;height:1rem;margin-right:.5rem;width:1rem}@media (max-width:768px){.form-grid{grid-template-columns:1fr}.edit-panel-footer,.edit-panel-header{align-items:flex-start;flex-direction:column;gap:.5rem}.edit-panel-actions{justify-content:flex-end;width:100%}}.ingredient-chart{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-top:20px;padding:16px}.ingredient-chart h4{align-items:center;color:#374151;display:flex;font-size:14px;font-weight:600;margin-bottom:12px;margin-top:0}.ingredient-chart h4:before{background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:2px;content:"";display:inline-block;height:12px;margin-right:8px;width:12px}.ingredient-chart-container{height:200px;margin-bottom:12px;position:relative}.ingredient-charts-container{border-top:1px dashed #e5e7eb;margin-top:24px;padding-top:16px}.chart-toggle{display:flex;gap:8px;justify-content:flex-end;margin-bottom:12px}.chart-toggle-btn{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:4px;cursor:pointer;font-size:12px;padding:4px 8px;transition:all .2s ease}.chart-toggle-btn:hover{background:#e5e7eb}.chart-toggle-btn.active{background:#3b82f6;border-color:#2563eb;color:#fff}[data-theme=dark] .chart-toggle-btn{background:#374151;border-color:#4b5563;color:#d1d5db}[data-theme=dark] .chart-toggle-btn:hover{background:#4b5563}[data-theme=dark] .chart-toggle-btn.active{background:#3b82f6;border-color:#2563eb;color:#fff}.heatmap-legend{display:flex;font-size:12px;gap:16px;justify-content:center;margin-top:8px}.heatmap-legend .legend-item{align-items:center;display:flex;gap:4px}.heatmap-legend .color-box{border-radius:2px;height:12px;width:12px}.heatmap-legend .color-box.light{background-color:#dbeafee6}.heatmap-legend .color-box.medium{background-color:#93c5fde6}.heatmap-legend .color-box.high{background-color:#3b82f6e6}[data-theme=dark] .ingredient-chart{background:#1f2937;box-shadow:0 1px 3px #0003}[data-theme=dark] .ingredient-chart h4{color:#f3f4f6}[data-theme=dark] .ingredient-charts-container{border-top:1px dashed #374151}@media (max-width:768px){.ingredient-chart-container{height:180px}.heatmap-legend{align-items:flex-start;flex-direction:column;gap:4px}}.detail-status-dot{border-radius:50%;flex-shrink:0;height:9px;width:9px}.detail-status-dot.active{background:#10b981}.detail-status-dot.inactive{background:#d1d5db}.detail-tabs{border-bottom:1px solid #e5e7eb;display:flex;flex-shrink:0;gap:4px;padding:0 24px}.detail-tab{background:none;border:none;border-bottom:2px solid #0000;color:#6b7280;cursor:pointer;font-size:13px;font-weight:500;margin-bottom:-1px;padding:11px 14px;transition:color .15s,border-color .15s}.detail-tab:hover{color:#374151}.detail-tab.active{border-bottom-color:#2867ed;color:#2867ed}.detail-section{margin-bottom:24px}.detail-section h4{color:#9ca3af;font-size:11px;font-weight:600;letter-spacing:.06em;margin:0 0 10px;text-transform:uppercase}.detail-row{border-bottom:1px solid #f3f4f6;font-size:14px;padding:7px 0}.detail-row span:first-child{color:#6b7280}.detail-row span:last-child{color:#111827;font-weight:500}.detail-row.total{border-bottom:none;border-top:1px solid #e5e7eb;margin-top:2px;padding-top:10px}.detail-row.total span{color:#111827!important;font-weight:700}.detail-row.accent span:last-child{color:#059669;font-weight:600}.cost-bar{background:#f3f4f6;border-radius:4px;display:flex;height:8px;margin-bottom:10px;overflow:hidden}.cost-seg{height:100%;transition:width .4s ease}.cost-seg.coffee{background:#397ff5}.cost-seg.ingredient{background:#10b981}.cost-seg.can{background:#f59e0b}.cost-seg.packing{background:#ef4444}.cost-bar-legend{align-items:center;color:#6b7280;display:flex;flex-wrap:wrap;font-size:12px;gap:14px}.legend-dot{border-radius:50%;display:inline-block;height:7px;margin-right:4px;width:7px}.legend-dot.coffee{background:#397ff5}.legend-dot.ingredient{background:#10b981}.legend-dot.can{background:#f59e0b}.legend-dot.packing{background:#ef4444}.detail-notes{color:#374151;font-size:14px;line-height:1.6;margin:0;white-space:pre-wrap}.ing-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:10px;padding:14px 16px}.ing-name{color:#111827;font-size:14px;font-weight:600;margin-bottom:10px}.ing-stats{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.ing-stat{display:flex;flex-direction:column;gap:2px}.ing-stat span{color:#9ca3af;font-size:11px;letter-spacing:.03em;text-transform:uppercase}.ing-stat strong{color:#374151;font-size:14px}.ing-chart-wrap{margin-top:20px}.detail-empty{color:#9ca3af;font-size:14px;padding:40px 0;text-align:center}.product-detail-drawer .product-edit-panel{background:#0000;border:none;box-shadow:none;margin:0;padding:0}.product-detail-drawer .edit-panel-header .edit-panel-actions{display:none}.product-detail-drawer .edit-panel-footer{background:#fff;border-top:1px solid #e5e7eb;bottom:0;margin:1rem -24px -24px;padding:16px 24px;position:sticky;z-index:1}.product-detail-drawer .keyboard-shortcuts{display:none}.product-detail-drawer .edit-panel-footer .edit-panel-actions{display:flex;gap:10px;width:100%}.product-detail-drawer .edit-panel-footer .cancel-btn,.product-detail-drawer .edit-panel-footer .save-btn{align-items:center;border-radius:10px;cursor:pointer;display:inline-flex;font-size:14px;gap:8px;justify-content:center;padding:11px 18px}.product-detail-drawer .edit-panel-footer .cancel-btn{background:none;border:1.5px solid #e5e7eb;color:#6b7280;flex:1 1;font-weight:500;transition:all .15s}.product-detail-drawer .edit-panel-footer .cancel-btn:hover:not(:disabled){border-color:#9ca3af;color:#374151}.product-detail-drawer .edit-panel-footer .save-btn{background:linear-gradient(135deg,#397ff5,#2867ed);border:none;box-shadow:0 2px 6px #2867ed4d;color:#fff;flex:2 1;font-weight:600;transition:all .2s}.product-detail-drawer .edit-panel-footer .save-btn:hover:not(:disabled){background:linear-gradient(135deg,#2867ed,#1d4ed8);box-shadow:0 4px 12px #2867ed66;transform:translateY(-1px)}.product-detail-drawer .edit-panel-footer .save-btn:disabled{transform:none}@media (max-width:560px){.product-detail-drawer .edit-panel-footer{align-items:center;flex-direction:row}}.delete-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.delete-modal-content{animation:slideUp .3s ease-out;background:var(--card-bg);border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:480px;width:90%}.delete-modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:20px 24px}.delete-modal-header h3{color:var(--text-color);font-size:18px;font-weight:600;margin:0}.delete-modal-close{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:4px;transition:all .2s}.delete-modal-close:hover{background-color:var(--hover-bg);color:var(--text-color)}.delete-modal-body{padding:24px;text-align:center}.delete-modal-icon{display:flex;justify-content:center;margin-bottom:16px}.delete-modal-icon svg{color:#f59e0b}.delete-modal-message{color:var(--text-color);font-size:16px;line-height:1.5;margin:0 0 12px}.delete-modal-message strong{color:#dc2626;font-weight:600}.delete-modal-warning{color:var(--text-secondary);font-size:14px;margin:0}.delete-modal-footer{background-color:var(--card-header-bg);border-bottom-left-radius:12px;border-bottom-right-radius:12px;border-top:1px solid var(--border-color);display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.delete-modal-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;outline:none;padding:10px 20px;transition:all .2s}.delete-modal-btn-cancel{background-color:var(--card-bg);border:1px solid var(--border-color);color:var(--text-color)}.delete-modal-btn-cancel:hover{background-color:var(--hover-bg);border-color:var(--text-secondary)}.delete-modal-btn-delete{background-color:#dc2626;border:1px solid #dc2626;color:#fff}.delete-modal-btn-delete:hover{background-color:#b91c1c;border-color:#b91c1c}.delete-modal-btn-delete:active{background-color:#991b1b}@media (max-width:576px){.delete-modal-content{margin:16px;width:95%}.delete-modal-body,.delete-modal-footer,.delete-modal-header{padding:16px}.delete-modal-footer{flex-direction:column-reverse}.delete-modal-btn{width:100%}}.product-container{background:#fff;background:var(--card-bg,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:10px;box-shadow:0 1px 4px #0000000f;display:flex;flex-direction:column;overflow:hidden}.filter-bar{align-items:center;background:#f9fafb;background:var(--card-header-bg,#f9fafb);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color,#e5e7eb);display:flex;gap:10px;padding:12px 16px}.search-wrap{flex:1 1;max-width:340px;position:relative}.search-icon{left:10px}.search-input{background:var(--input-bg,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:8px;box-sizing:border-box;color:var(--text-color,#111827);font-size:14px;padding:8px 12px 8px 32px;transition:border-color .15s,box-shadow .15s}.search-input:focus{border-color:#2867ed;box-shadow:0 0 0 3px #2867ed1a}.filter-chip{background:none;border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:20px;color:#6b7280;color:var(--text-secondary,#6b7280);cursor:pointer;font-size:13px;padding:6px 14px;transition:all .15s;white-space:nowrap}.filter-chip:hover{border-color:#2867ed;color:#2867ed}.filter-chip.on{background:#2867ed;border-color:#2867ed;color:#fff}.product-header,.product-row-main{align-items:center;display:grid;grid-template-columns:1fr 120px 100px 100px 110px 76px;padding:0 16px}.product-header{background:#f9fafb;background:var(--card-header-bg,#f9fafb);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color,#e5e7eb);color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.02em}.product-header .col{padding:11px 8px}.sortable{align-items:center;cursor:pointer;display:flex;gap:4px;-webkit-user-select:none;user-select:none}.sortable:hover{color:#374151}.sort-icon{font-size:10px;opacity:.45}.sort-icon.active{color:#2867ed;opacity:1}.product-list{overflow-y:auto}.product-row-main{border-bottom:1px solid #f3f4f6;border-left:3px solid #0000;cursor:pointer;min-height:52px;transition:background .1s}.product-row-main:last-child{border-bottom:none}.product-row-main:hover{background:#2867ed0a}.product-row-main.is-active{border-left-color:#10b981}.product-row-main.is-inactive{border-left-color:#d1d5db}.product-row-main:hover .row-actions{opacity:1}.col{padding:10px 8px}.col-name{display:flex;flex-direction:column;gap:2px}.product-name{color:#111827;color:var(--text-color,#111827);font-size:14px;font-weight:500}.product-pricing{color:#9ca3af;font-size:11px;letter-spacing:.01em}.col-cogs{color:#111827;color:var(--text-color,#111827);font-weight:500}.col-cogs,.col-margin,.col-retail-margin,.col-status{font-size:14px}.margin-good{color:#059669;font-weight:500}.margin-ok{color:#d97706;font-weight:500}.margin-low{color:#dc2626;font-weight:500}.status-badge{font-size:12px;font-weight:500;padding:3px 10px}.status-badge.active{background:#ecfdf5}.status-badge.inactive{background:#f3f4f6}.col-actions{display:flex;justify-content:flex-end}.row-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s}.action-btn{align-items:center;background:none;border:none;border-radius:6px;color:#9ca3af;cursor:pointer;display:flex;padding:6px;transition:background .15s,color .15s}.action-btn.edit-action:hover{background:#2867ed1a;color:#2867ed}.action-btn.delete-action:hover{background:#dc26261a;color:#dc2626}.product-footer{align-items:center;background:#f9fafb;background:var(--card-header-bg,#f9fafb);border-top:1px solid #e5e7eb;border-top:1px solid var(--border-color,#e5e7eb);color:#6b7280;display:flex;font-size:13px;justify-content:space-between;padding:10px 16px}.product-container.error,.product-container.loading{align-items:center;justify-content:center;min-height:200px}.product-empty{align-items:center;color:#9ca3af;display:flex;flex-direction:column;gap:8px;padding:48px 24px;text-align:center}.product-empty h3{color:#111827;color:var(--text-color,#111827);font-size:16px;font-weight:600;margin:0}.product-empty p{font-size:14px;margin:0}.pagination{align-items:center;display:flex;gap:4px}.pagination button{background:none;border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:6px;color:#111827;color:var(--text-color,#111827);cursor:pointer;font-size:13px;padding:5px 10px;transition:all .15s}.pagination button:hover:not(:disabled){border-color:#2867ed;color:#2867ed}.pagination button:disabled{cursor:not-allowed;opacity:.4}.page-info{color:#6b7280;font-size:13px;margin:0 4px}@keyframes rowIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.product-row-main{animation:rowIn .18s ease both}.product-row-main:first-child{animation-delay:.03s}.product-row-main:nth-child(2){animation-delay:.06s}.product-row-main:nth-child(3){animation-delay:.09s}.product-row-main:nth-child(4){animation-delay:.12s}.product-row-main:nth-child(5){animation-delay:.15s}.product-row-main:nth-child(n+6){animation-delay:.18s}@media (max-width:900px){.product-header,.product-row-main{grid-template-columns:1fr 110px 90px 90px 76px}.col-status{display:none}}@media (max-width:680px){.product-header,.product-row-main{grid-template-columns:1fr 90px 80px 76px}.col-retail-margin{display:none}}@media (max-width:480px){.product-header,.product-row-main{grid-template-columns:1fr 80px 76px}.col-cogs{display:none}}.export-button{position:relative}.inline-loader{animation:spin 1s linear infinite;border:2px solid #3b82f64d;border-radius:50%;border-top-color:#3b82f6;display:inline-block;height:14px;margin-right:6px;vertical-align:middle;width:14px}.analytics-tab{display:flex;flex-direction:column;gap:16px}.analytics-stat-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr)}.analytics-stat-card{background:#fff;background:var(--card-bg,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:10px;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;gap:5px;padding:14px 18px}.analytics-stat-label{color:#9ca3af;font-size:11px;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.analytics-stat-value{color:#111827;font-size:24px;font-weight:700;line-height:1}.analytics-stat-value.good{color:#059669}.analytics-stat-value.warn{color:#d97706}.analytics-stat-value.bad{color:#dc2626}.analytics-tab-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}@media (max-width:900px){.analytics-stat-row{grid-template-columns:1fr 1fr}.analytics-tab-grid{grid-template-columns:1fr}}.analytics-card{background:#fff;background:var(--card-bg,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:10px;box-shadow:0 1px 4px #0000000d;padding:20px}.analytics-card-title{color:#111827;font-size:14px;font-weight:600;margin:0 0 16px}.analytics-empty{color:#9ca3af;font-size:14px;padding:28px 0;text-align:center}.price-overview-list{display:flex;flex-direction:column}.price-overview-item{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;padding:12px 0}.price-overview-item:last-child{border-bottom:none}.price-overview-left{display:flex;flex-direction:column;gap:2px}.price-overview-label{color:#111827;font-size:14px;font-weight:500}.price-overview-sub{color:#9ca3af;font-size:12px}.price-overview-value{color:#111827;font-size:18px;font-weight:700;white-space:nowrap}.margin-list{gap:10px}.margin-item,.margin-list{display:flex;flex-direction:column}.margin-item{gap:4px}.margin-product{color:#374151;font-size:13px;font-weight:500}.margin-bar-wrap{align-items:center;display:flex;gap:8px}.margin-bar-track{background:#f3f4f6;border-radius:3px;flex:1 1;height:6px;overflow:hidden}.margin-bar-fill{border-radius:3px;height:100%;transition:width .4s ease}.margin-bar-fill.good{background:#10b981}.margin-bar-fill.warn{background:#f59e0b}.margin-bar-fill.bad{background:#ef4444}.margin-pct{flex-shrink:0;font-size:12px;font-weight:600;text-align:right;width:44px}.margin-pct.good{color:#059669}.margin-pct.warn{color:#d97706}.margin-pct.bad{color:#dc2626}.cogs-breakdown{display:flex;flex-direction:column;gap:12px}.cogs-bar{background:#f3f4f6;border-radius:5px;display:flex;height:10px;overflow:hidden}.cogs-seg{height:100%;transition:width .4s ease}.cogs-seg.coffee{background:#397ff5}.cogs-seg.ingredient{background:#10b981}.cogs-seg.can{background:#f59e0b}.cogs-seg.packing{background:#ef4444}.cogs-legend{display:flex;flex-direction:column;gap:6px}.cogs-legend-item{align-items:center;color:#374151;display:flex;font-size:13px;gap:8px}.cogs-legend-item span{flex:1 1}.cogs-legend-item strong{color:#111827}.cogs-dot{border-radius:50%;display:inline-block;flex-shrink:0;height:8px;width:8px}.cogs-dot.coffee{background:#397ff5}.cogs-dot.ingredient{background:#10b981}.cogs-dot.can{background:#f59e0b}.cogs-dot.packing{background:#ef4444}.cogs-total{border-top:1px solid #f3f4f6;color:#6b7280;font-size:13px;padding-top:8px}.cogs-total strong{color:#111827}.cpm-section{border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--border-color,#f3f4f6);margin-bottom:20px;padding-bottom:20px}.cpm-section-last{border-bottom:none;margin-bottom:0;padding-bottom:4px}.cpm-section-label{color:#9ca3af;font-size:12px;font-weight:600;letter-spacing:.06em;margin:0 0 12px;text-transform:uppercase}.cpm-section-hint{color:#c4c9d4;font-weight:400;letter-spacing:0;text-transform:none}.cpm-identity-row{align-items:flex-end;display:flex;gap:16px}.cpm-field{display:flex;flex-direction:column;gap:6px}.cpm-field-grow{flex:1 1;min-width:0}.cpm-label{color:#374151;color:var(--text-secondary,#374151);font-size:13px;font-weight:500}.cpm-required{color:#ef4444;margin-left:2px}.cpm-input{background:#fff;background:var(--input-bg,#fff);border:1.5px solid #e5e7eb;border:1.5px solid var(--border-color,#e5e7eb);border-radius:10px;box-sizing:border-box;color:#111827;color:var(--text-color,#111827);font-size:14px;height:40px;padding:0 12px;transition:border-color .15s,box-shadow .15s;width:100%}.cpm-input:focus{border-color:#2867ed;box-shadow:0 0 0 3px #2867ed1f;outline:none}.cpm-input-error{border-color:#ef4444}.cpm-input-error:focus{box-shadow:0 0 0 3px #ef44441f}.cpm-prefix-wrap{align-items:center;display:flex;position:relative}.cpm-prefix{color:#9ca3af;font-size:14px;left:12px;pointer-events:none;position:absolute;z-index:1}.cpm-input-prefixed{padding-left:24px}.cpm-two-col{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.cpm-field-error{color:#ef4444;font-size:12px}.cpm-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:13px;margin-bottom:16px;padding:10px 14px}.cpm-toggle{align-items:center;background:none;border:none;cursor:pointer;display:flex;gap:8px;height:40px;padding:0}.cpm-toggle-track{background:#d1d5db;border-radius:12px;flex-shrink:0;height:24px;position:relative;transition:background .2s;width:42px}.cpm-toggle.on .cpm-toggle-track{background:#10b981}.cpm-toggle-knob{background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;height:18px;left:3px;position:absolute;top:3px;transition:transform .2s;width:18px}.cpm-toggle.on .cpm-toggle-knob{transform:translateX(18px)}.cpm-toggle-text{color:#374151;color:var(--text-secondary,#374151);font-size:13px;font-weight:500;white-space:nowrap}.cpm-summary{background:#f9fafb;background:var(--card-header-bg,#f9fafb);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:10px;gap:0;margin-top:14px;padding:12px 16px}.cpm-summary,.cpm-summary-item{align-items:center;display:flex}.cpm-summary-item{flex:1 1;flex-direction:column;gap:3px}.cpm-summary-label{color:#9ca3af;font-size:11px;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.cpm-summary-value{color:#111827;font-size:18px;font-weight:700;line-height:1}.cpm-margin-good{color:#059669}.cpm-margin-warn{color:#d97706}.cpm-margin-bad{color:#dc2626}.cpm-summary-sep{background:#e5e7eb;background:var(--border-color,#e5e7eb);flex-shrink:0;height:32px;margin:0 8px;width:1px}@media (max-width:600px){.cpm-two-col{grid-template-columns:1fr}.cpm-identity-row{align-items:stretch;flex-direction:column}}.production-dashboard{display:flex;flex-direction:column;gap:16px}.pd-header{align-items:center;display:flex;justify-content:space-between}.pd-title{color:#111827;color:var(--text-color,#111827);font-size:22px;font-weight:700;margin:0}.pd-header-actions{align-items:center;display:flex;gap:10px}.pd-btn-primary{background:linear-gradient(135deg,#397ff5,#2867ed);border:none;border-radius:8px;box-shadow:0 2px 6px #2867ed4d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:9px 18px;transition:all .2s ease;white-space:nowrap}.pd-btn-primary:hover{background:linear-gradient(135deg,#2867ed,#1d4ed8);box-shadow:0 4px 12px #2867ed66;transform:translateY(-1px)}.pd-btn-primary:active{box-shadow:0 2px 4px #2867ed33;transform:translateY(0)}.pd-csv-wrap button{border:1px solid #e5e7eb!important;border:1px solid var(--border-color,#e5e7eb)!important;color:#6b7280!important;color:var(--text-secondary,#6b7280)!important;font-size:13px!important;padding:7px 12px!important}.pd-csv-wrap button,.pd-csv-wrap button:hover{background:none!important;box-shadow:none!important;transform:none!important}.pd-csv-wrap button:hover{border-color:#2867ed!important;color:#2867ed!important}.pd-kpi-strip{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr)}.pd-kpi-card{background:#fff;background:var(--card-bg,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:10px;box-shadow:0 1px 4px #0000000d;display:flex;flex-direction:column;gap:6px;padding:16px 20px;transition:box-shadow .2s,transform .2s}.pd-kpi-card:hover{box-shadow:0 4px 16px #2867ed1a;transform:translateY(-1px)}.pd-kpi-label{color:#9ca3af;font-size:12px;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.pd-kpi-value{color:#111827;font-size:28px;font-weight:700;line-height:1}.pd-kpi-value.success{color:#059669}.pd-kpi-value.warn{color:#d97706}.pd-kpi-value.danger{color:#dc2626}.pd-tabs{border-bottom:2px solid #e5e7eb;border-bottom:2px solid var(--border-color,#e5e7eb);display:flex;gap:2px}.pd-tab{background:none;border:none;border-bottom:2px solid #0000;color:#6b7280;cursor:pointer;font-size:14px;font-weight:500;margin-bottom:-2px;padding:10px 20px;transition:color .15s,border-color .15s}.pd-tab:hover{color:#374151}.pd-tab.active{border-bottom-color:#2867ed;color:#2867ed}@media (max-width:900px){.pd-kpi-strip{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.pd-kpi-strip{grid-template-columns:1fr 1fr}.pd-title{font-size:18px}}.inventory-item{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 1px 2px #0000000d;display:flex;flex-basis:calc(33.333% - 0.667rem);flex-direction:column;flex-grow:0;flex-shrink:0;gap:.75rem;max-width:calc(33.333% - .667rem);padding:1rem;transition:all .15s ease;width:calc(33.333% - .667rem)}@media (max-width:1200px){.inventory-item{flex-basis:calc(33.333% - 0.667rem);flex-grow:0;flex-shrink:0;max-width:calc(33.333% - .667rem);width:calc(33.333% - .667rem)}}@media (max-width:768px){.inventory-item{flex-basis:calc(50% - 0.5rem);flex-grow:0;flex-shrink:0;max-width:calc(50% - .5rem);width:calc(50% - .5rem)}}@media (max-width:480px){.inventory-item{flex:0 0 100%;max-width:100%;width:100%}}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.inventory-item:hover{border-color:#d1d5db;box-shadow:0 4px 6px #0000001a,0 2px 4px #0000000f;transform:translateY(-1px)}.inventory-item:focus-within{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.item-name{color:#111827;font-weight:600}.item-controls{display:flex;flex-direction:column;gap:.25rem}.quantity-input-container{align-items:center;background-color:#fff;border:1px solid #d1d5db;border:1px solid var(--border-color,#d1d5db);border-radius:.5rem;display:flex;height:2.75rem;overflow:hidden;transition:all .2s ease}.quantity-input-container:focus-within{border-color:#3b82f6;border-color:var(--primary-color,#3b82f6);box-shadow:0 0 0 2px #3b82f633}.quantity-input-container.has-error{border-color:#ef4444;border-color:var(--error-color,#ef4444)}.quantity-button{align-items:center;background:#f3f4f6;border:none;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:1.125rem;font-weight:600;height:100%;justify-content:center;margin:0 .25rem;padding:0;transition:all .15s ease;width:2.5rem}.quantity-button:hover{background:#e5e7eb;color:#111827;transform:scale(1.05)}.quantity-button:active{background:#d1d5db;transform:scale(.98)}.quantity-input{background:#0000;border:none;color:#111827;flex:1 1;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:1rem;font-weight:600;min-width:0;padding:0 .75rem;text-align:center}.quantity-input:focus{outline:none}.error-message{color:#ef4444;color:var(--error-color,#ef4444);font-size:.75rem;margin-top:.25rem}.admin-controls{display:flex;gap:1rem;margin-top:.5rem}.admin-field{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.admin-field label{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.75rem}.admin-input{background-color:#fff;border:1px solid #d1d5db;border:1px solid var(--border-color,#d1d5db);border-radius:.375rem;color:#111827;color:var(--text-color,#111827);font-size:.875rem;padding:.375rem .5rem;width:100%}.admin-input:focus{border-color:#3b82f6;border-color:var(--primary-color,#3b82f6);box-shadow:0 0 0 2px #3b82f633;outline:none}.admin-input:read-only{background-color:#f3f4f6;background-color:var(--readonly-bg,#f3f4f6);color:#6b7280;color:var(--text-secondary,#6b7280)}[data-theme=dark] .inventory-item{animation:gradientShift 3s ease infinite;background:linear-gradient(135deg,#3b82f61f,#2563eb14 50%,#3b82f61f);background-size:200% 200%;border-color:#3b82f666;box-shadow:0 2px 5px #3b82f626,0 0 0 1px #3b82f633,0 0 10px #3b82f61a}[data-theme=dark] .inventory-item:focus-within,[data-theme=dark] .inventory-item:hover{border-color:#3b82f699;box-shadow:0 8px 15px #3b82f640,0 0 0 1px #3b82f666,0 0 25px #3b82f633;transform:translateY(-2px) scale(1.01)}[data-theme=dark] .quantity-input-container{background-color:#111827;background-color:var(--input-bg,#111827);border-color:#4b5563;border-color:var(--border-color,#4b5563)}[data-theme=dark] .admin-input,[data-theme=dark] .quantity-input{color:#f9fafb;color:var(--text-color,#f9fafb)}[data-theme=dark] .admin-input{background-color:#111827;background-color:var(--input-bg,#111827);border-color:#4b5563;border-color:var(--border-color,#4b5563)}[data-theme=dark] .admin-input:read-only{background-color:#1f2937;background-color:var(--readonly-bg,#1f2937)}.unit-select-container{align-items:center;border-left:1px solid #e5e7eb;display:flex;height:100%;margin-left:.25rem;min-width:90px;position:relative}.unit-select{appearance:none;background:#f9fafb;border:none;border-radius:6px;color:#374151;cursor:pointer;font-size:.8125rem;font-weight:600;height:100%;margin:0 .25rem;padding:0 1.75rem 0 .75rem;text-align:left;transition:all .15s ease;width:100%}.unit-select:focus{outline:none}.unit-select-container:after{border-left:4px solid #0000;border-right:4px solid #0000;border-top:5px solid #6b7280;content:"";height:0;pointer-events:none;position:absolute;right:.75rem;top:50%;transform:translateY(-50%);width:0}.unit-select:hover{background:#f3f4f6}[data-theme=dark] .unit-select{color:#f9fafb;color:var(--text-color,#f9fafb)}[data-theme=dark] .unit-select-container{border-left-color:#4b5563;border-left-color:var(--border-color,#4b5563)}[data-theme=dark] .unit-select-container:after{border-top-color:#f9fafb;border-top-color:var(--text-color,#f9fafb)}.item-name-wrapper{align-items:center;display:flex;gap:.5rem;justify-content:flex-start;width:100%}.item-name{color:#0f172a;font-size:.9375rem;font-weight:700;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ingredient-type-badge{align-items:center;background-color:#fef3c7;border:1px solid #f59e0b40;border-radius:20px;color:#b45309;display:inline-flex;flex-shrink:0;font-size:.6875rem;font-weight:700;justify-content:center;letter-spacing:.25px;line-height:1;padding:.125rem .5rem;text-transform:uppercase}.item-metadata-row{align-items:center;border-top:1px solid #f1f5f9;display:flex;justify-content:space-between;margin-top:.5rem;padding-top:.625rem;width:100%}.item-min-stock{color:#64748b}.item-min-stock,.item-status{font-size:.75rem;font-weight:600}.item-status{align-items:center;display:inline-flex;gap:.325rem}.status-bullet-dot{font-size:.55rem;line-height:1}.status-bullet-dot.green{color:#10b981}.status-bullet-dot.yellow{color:#eab308}.status-bullet-dot.orange{color:#f97316}.status-bullet-dot.red{color:#ef4444}.item-details-toggle{align-items:center;background:#0000;border:none;border-radius:6px;color:#64748b;cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:600;gap:.25rem;padding:.25rem .5rem;transition:all .15s ease}.item-details-toggle:hover{background:#f1f5f9;color:#334155}.item-details-toggle svg{transition:transform .15s ease}.item-details-toggle.open svg{transform:rotate(180deg)}.item-details-panel{border-top:1px solid #f1f5f9;display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem;padding-top:.625rem}.item-detail-row{display:flex;flex-direction:column;gap:.2rem}.item-detail-label{color:#94a3b8;font-size:.6875rem;font-weight:700;letter-spacing:.3px;text-transform:uppercase}.item-detail-value{color:#334155;font-size:.8125rem}.item-products-list{display:flex;flex-direction:column;gap:.25rem;width:100%}.item-product-row{align-items:center;background:#f8fafc;border-radius:6px;display:flex;font-size:.75rem;gap:.5rem;justify-content:space-between;padding:.375rem .5rem}.item-product-name{color:#1d4ed8;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-product-qty{color:#64748b;flex-shrink:0;font-weight:500}[data-theme=dark] .item-details-toggle{color:#94a3b8;color:var(--text-secondary,#94a3b8)}[data-theme=dark] .item-details-toggle:hover{background:#94a3b826;color:#f9fafb;color:var(--text-color,#f9fafb)}[data-theme=dark] .item-details-panel{border-top-color:#4b5563;border-top-color:var(--border-color,#4b5563)}[data-theme=dark] .item-detail-value{color:#e2e8f0;color:var(--text-color,#e2e8f0)}[data-theme=dark] .item-product-row{background:#3b82f61a}[data-theme=dark] .item-product-name{color:#93c5fd}[data-theme=dark] .item-product-qty{color:#94a3b8;color:var(--text-secondary,#94a3b8)}@keyframes gradientBorder{0%{border-image-source:linear-gradient(90deg,#006aff,#4db8ff,#006aff)}50%{border-image-source:linear-gradient(90deg,#4db8ff,#006aff,#4db8ff)}to{border-image-source:linear-gradient(90deg,#006aff,#4db8ff,#006aff)}}.inventory-category{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;overflow:hidden;transition:all .2s ease}.inventory-category:hover{border-color:#d1d5db;box-shadow:0 4px 6px #0000001a,0 2px 4px #0000000f;transform:translateY(-2px)}.category-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:1.25rem 1.5rem}.category-title-wrapper{align-items:center;display:flex;gap:.75rem}.category-icon{align-items:center;background:#fff;border-radius:8px;box-shadow:0 1px 2px #0000000d;color:#667eea;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.category-title{color:#111827;font-size:1.125rem;font-weight:700;letter-spacing:-.01em;margin:0}.category-count{color:#6b7280;font-size:.875rem;font-weight:600;margin-left:auto}.category-items{display:flex;flex-direction:row;flex-wrap:wrap;gap:1rem;justify-content:flex-start;padding:1rem}@media (max-width:768px){.category-header{padding:1rem 1.25rem}.category-title{font-size:1rem}.category-icon{height:36px;width:36px}}@media (max-width:480px){.category-header{padding:.875rem 1rem}.category-title{font-size:.9375rem}}[data-theme=dark] .inventory-category{background-color:#1f2937;border-color:#374151}[data-theme=dark] .category-header{background:#111827;border-color:#374151}[data-theme=dark] .category-title{color:#f9fafb}[data-theme=dark] .category-icon{background:#1f2937;color:#818cf8}[data-theme=dark] .category-count{color:#9ca3af}.confirmation-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.confirmation-modal-content{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:480px;width:90%}.confirmation-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.confirmation-modal-header h3{color:#111827;font-size:1.125rem;font-weight:600;margin:0}.confirmation-modal-close{align-items:center;background:none;border:none;border-radius:.375rem;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:.25rem;transition:all .2s}.confirmation-modal-close:hover:not(:disabled){background-color:#f3f4f6;color:#111827}.confirmation-modal-close:disabled{cursor:not-allowed;opacity:.5}.confirmation-modal-body{padding:1.5rem;text-align:center}.confirmation-modal-icon{display:flex;justify-content:center;margin-bottom:1rem}.confirmation-modal-icon svg{color:#ef4444}.confirmation-modal-message{color:#374151;font-size:1rem;line-height:1.5;margin:0 0 .75rem}.confirmation-modal-message strong{color:#ef4444;font-weight:600}.confirmation-modal-warning{color:#6b7280;font-size:.875rem;margin:0}.confirmation-modal-footer{background-color:#f9fafb;border-bottom-left-radius:12px;border-bottom-right-radius:12px;border-top:1px solid #e5e7eb;display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem}.confirmation-modal-btn{align-items:center;border:none;border-radius:.5rem;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;outline:none;padding:.625rem 1.25rem;transition:all .2s}.confirmation-modal-btn:disabled{cursor:not-allowed;opacity:.6}.confirmation-modal-btn-cancel{background-color:#fff;border:1px solid #d1d5db;color:#374151}.confirmation-modal-btn-cancel:hover:not(:disabled){background-color:#f3f4f6;border-color:#9ca3af}.confirmation-modal-btn-confirm{background-color:#ef4444;border:1px solid #ef4444;color:#fff}.confirmation-modal-btn-confirm:hover:not(:disabled){background-color:#dc2626;border-color:#dc2626}.confirmation-modal-btn-confirm:active:not(:disabled){background-color:#b91c1c}.spinner-small{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:14px;width:14px}[data-theme=dark] .confirmation-modal-content{background:#1f2937}[data-theme=dark] .confirmation-modal-header{border-color:#374151}[data-theme=dark] .confirmation-modal-header h3{color:#f9fafb}[data-theme=dark] .confirmation-modal-close{color:#9ca3af}[data-theme=dark] .confirmation-modal-close:hover:not(:disabled){background-color:#374151;color:#f9fafb}[data-theme=dark] .confirmation-modal-message{color:#d1d5db}[data-theme=dark] .confirmation-modal-warning{color:#9ca3af}[data-theme=dark] .confirmation-modal-footer{background-color:#111827;border-color:#374151}[data-theme=dark] .confirmation-modal-btn-cancel{background-color:#1f2937;border-color:#4b5563;color:#d1d5db}[data-theme=dark] .confirmation-modal-btn-cancel:hover:not(:disabled){background-color:#374151;border-color:#6b7280}@media (max-width:576px){.confirmation-modal-content{margin:1rem;width:95%}.confirmation-modal-body,.confirmation-modal-footer,.confirmation-modal-header{padding:1rem}.confirmation-modal-footer{flex-direction:column-reverse}.confirmation-modal-btn{justify-content:center;width:100%}}.ingredient-list-container{background:#0000;width:100%}.kpi-cards-section{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.kpi-card{transition:all .3s ease}.kpi-icon.info{background:#dbeafe;color:#3b82f6}.table-wrapper{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;overflow:hidden}.ingredient-table{border-collapse:collapse;min-width:900px;width:100%}.ingredient-table td,.ingredient-table th{border-bottom:1px solid #f3f4f6;padding:1rem 1.25rem;text-align:left}.ingredient-table th{background:#f9fafb;border-bottom:2px solid #e5e7eb;color:#374151;font-size:.75rem;font-weight:700;letter-spacing:.5px;position:sticky;text-transform:uppercase;top:0;z-index:10}.ingredient-table tbody tr{border-left:4px solid #0000;position:relative;transition:all .2s ease}.ingredient-table tbody tr.row-status-normal{border-left-color:#10b981}.ingredient-table tbody tr.row-status-warning{background:#fffbeb;border-left-color:#f59e0b}.ingredient-table tbody tr.row-status-critical{background:#fef2f2;border-left-color:#ef4444}.ingredient-table tbody tr:hover{background:#f9fafb;transform:scale(1.001)}.ingredient-table tbody tr.row-status-warning:hover{background:#fef3c7}.ingredient-table tbody tr.row-status-critical:hover{background:#fee2e2}.ingredient-table tbody tr:last-child td{border-bottom:none}.col-actions{text-align:right;width:120px}.status-badge{border-radius:12px;font-weight:700;letter-spacing:.5px;padding:.375rem .875rem;white-space:nowrap}.status-badge.active{background:#d1fae5;color:#065f46}.status-badge.inactive{background:#e5e7eb;color:#6b7280}.status-badge.low-stock{background:#fef3c7;color:#92400e}.status-badge.out-of-stock{background:#fee2e2;color:#991b1b}.status-badge.packaging{background:#fef3c7;border-radius:8px;color:#92400e;font-size:.65rem;padding:.2rem .55rem}.ingredient-name-cell{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.icon-btn{align-items:center;background:none;border:none;border-radius:6px;cursor:pointer;display:inline-flex;justify-content:center;margin-left:.25rem;padding:.5rem;transition:all .2s ease}.icon-btn:hover{transform:scale(1.1)}.icon-btn.edit{color:#3b82f6}.icon-btn.edit:hover{background:#dbeafe}.icon-btn.delete{color:#ef4444}.icon-btn.delete:hover{background:#fee2e2}.empty-state,.loading-state{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;color:#6b7280;padding:3rem;text-align:center}.font-weight-bold{color:#111827;font-size:.9375rem;font-weight:600}.text-muted{color:#6b7280}.small{font-size:.8125rem}@media (max-width:1024px){.kpi-cards-section{gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.kpi-card{padding:1.25rem}.kpi-value{font-size:1.5rem}}@media (max-width:768px){.kpi-cards-section{grid-template-columns:repeat(2,1fr)}.table-wrapper{overflow-x:auto}.ingredient-table td,.ingredient-table th{padding:.75rem 1rem}}@media (max-width:640px){.kpi-cards-section{grid-template-columns:1fr}.kpi-card{padding:1rem}.kpi-icon{height:40px;width:40px}.kpi-value{font-size:1.5rem}}.stock-specs{display:flex;flex-direction:column;gap:.5rem}.stock-spec-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.spec-chip{align-items:center;background:#f3f4f6;border-radius:6px;color:#374151;display:inline-flex;font-size:.75rem;font-weight:600;padding:.25rem .625rem;white-space:nowrap}.spec-chip--qty{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8}.spec-separator{color:#d1d5db;font-weight:300}.reorder-warning{align-items:center;color:#f59e0b;display:flex;font-size:.75rem;font-weight:600;gap:.375rem}.reorder-warning svg{flex-shrink:0}.search-bar-section{margin-bottom:1.5rem}.search-input-wrapper{max-width:400px;position:relative}.search-input{padding:.875rem 1rem .875rem 3rem}.clear-search{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:.25rem;position:absolute;right:.75rem;top:50%;transform:translateY(-50%);transition:all .2s ease}.clear-search:hover{background:#f3f4f6;color:#111827}.search-results-info{margin-top:.5rem}.results-count{color:#6b7280;font-size:.875rem;font-weight:500}.no-results{padding:3rem 1rem!important;text-align:center}.no-results-content{align-items:center;color:#9ca3af;display:flex;flex-direction:column;gap:1rem}.no-results-content svg{opacity:.5}.no-results-content p{color:#6b7280;font-size:1.125rem;font-weight:600;margin:0}.no-results-content span{color:#9ca3af;font-size:.875rem}.pagination-section{align-items:center;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;display:flex;justify-content:space-between;margin-top:1.5rem;padding:1.5rem}.pagination-info{color:#6b7280;font-size:.875rem;font-weight:500}.pagination-controls{align-items:center;display:flex;gap:.5rem}.pagination-btn{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.625rem 1rem;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db}.pagination-btn:disabled{cursor:not-allowed;opacity:.5}.pagination-btn svg{flex-shrink:0}.page-numbers{align-items:center;display:flex;gap:.25rem}.page-number{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#374151;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;height:2.5rem;justify-content:center;min-width:2.5rem;transition:all .2s ease}.page-number:hover{background:#f9fafb;border-color:#d1d5db}.page-number.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000;color:#fff}.page-ellipsis{color:#9ca3af;font-weight:600;padding:0 .5rem}@media (max-width:768px){.pagination-section{flex-direction:column;gap:1rem}.pagination-info{text-align:center}.pagination-controls{flex-wrap:wrap;justify-content:center}.search-input-wrapper{max-width:100%}}.finished-goods-tab{display:flex;flex-direction:column;font-family:inherit;gap:1.5rem}.fg-metrics-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(3,1fr);width:100%}.fg-metric-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #00000005,0 1px 2px #00000003;display:flex;gap:1rem;padding:1.25rem;transition:transform .2s ease,box-shadow .2s ease}.fg-metric-card:hover{box-shadow:0 4px 12px #0000000a;transform:translateY(-1px)}.fg-metric-icon-wrap{align-items:center;border-radius:50%;display:flex;flex-shrink:0;height:42px;justify-content:center;width:42px}.icon-products{background:#eff6ff;color:#3b82f6}.icon-formats{background:#f0fdf4;color:#22c55e}.icon-units{background:#f5f3ff;color:#8b5cf6}.fg-metric-data{display:flex;flex-direction:column;gap:.125rem}.fg-metric-number{color:#0f172a;font-size:1.5rem;font-weight:700;line-height:1.2}.fg-metric-label{color:#64748b;font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.fg-controls-bar{align-items:center;display:flex;gap:12px;width:100%}.fg-controls-bar .search-box{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 2px #00000005;display:flex;flex-shrink:0;height:38px;padding:0 .75rem;position:relative;transition:border-color .2s ease,box-shadow .2s ease;width:360px}.fg-controls-bar .search-box:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.fg-controls-bar .search-icon{color:#94a3b8;flex-shrink:0;margin-right:.5rem}.fg-controls-bar .search-input{background:#0000;border:none;color:#1e293b;font-size:.875rem;outline:none;width:100%}.fg-controls-bar .search-input::placeholder{color:#94a3b8}.fg-controls-bar .clear-btn{align-items:center;background:none;border:none;color:#94a3b8;cursor:pointer;display:flex;justify-content:center;padding:.25rem}.fg-controls-bar .clear-btn:hover{color:#475569}.fg-controls-bar .controls-right{align-items:center;display:flex;gap:8px}.fg-filter-btn,.fg-refresh-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 2px #00000005;color:#64748b;cursor:pointer;display:flex;height:38px;justify-content:center;transition:all .2s ease;width:38px}.fg-filter-btn:hover,.fg-refresh-btn:hover{background:#f8fafc;border-color:#cbd5e1;color:#0f172a;transform:translateY(-.5px)}.fg-filter-btn:active,.fg-refresh-btn:active{transform:translateY(0)}.fg-table-container{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 3px #00000005,0 1px 2px #00000003;margin-bottom:.5rem;overflow:hidden}.fg-list-header{grid-gap:1rem;align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:grid;gap:1rem;grid-template-columns:minmax(420px,2fr) minmax(180px,1fr) minmax(150px,.8fr) minmax(150px,.8fr) 60px;padding:.875rem 16px}.fg-header-col{color:#64748b;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.fg-header-col.col-qty{text-align:right}.fg-header-col.col-actions,.fg-header-col.col-unit,.fg-header-col.col-updated{text-align:center}.fg-list-rows{display:flex;flex-direction:column}.fg-row-item{grid-gap:1rem;align-items:center;background:#fff;border-bottom:1px solid #f1f5f9;display:grid;gap:1rem;grid-template-columns:minmax(420px,2fr) minmax(180px,1fr) minmax(150px,.8fr) minmax(150px,.8fr) 60px;padding:.875rem 16px;position:relative;transition:background .15s ease}.fg-row-item:last-child{border-bottom:none}.fg-row-item:hover{background:#f8fafc}.fg-row-item.format-bottles{border-left:4px solid #3b82f6}.fg-row-item.format-cans{border-left:4px solid #f87171}.fg-row-item.format-gallons{border-left:4px solid #60a5fa}.fg-row-item.format-kegs{border-left:4px solid #fb923c}.fg-row-card.format-other{border-left:4px solid #94a3b8}.fg-product-col{align-items:center;display:flex;gap:12px}.fg-icon-container{align-items:center;border-radius:8px;display:flex;flex-shrink:0;height:36px;justify-content:center;transition:transform .2s ease;width:36px}.fg-row-item:hover .fg-icon-container{transform:scale(1.05)}.format-bottles .fg-icon-container{background:#eff6ff;color:#2563eb}.format-cans .fg-icon-container{background:#fef2f2;color:#ef4444}.format-gallons .fg-icon-container{background:#f0f9ff;color:#0284c7}.format-kegs .fg-icon-container{background:#fff7ed;color:#ea580c}.format-other .fg-icon-container{background:#f8fafc;color:#64748b}.fg-info-group{display:flex;flex-direction:column;gap:.1875rem;justify-content:center}.fg-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.fg-row-item .fg-product-name{color:#1e293b;font-size:.9375rem;font-weight:700;line-height:1.2}.fg-row-item .fg-format-name{color:#64748b;font-size:.75rem;font-weight:500;line-height:1.2}.fg-format-badge{align-items:center;border-radius:9999px;display:inline-flex;font-size:.6875rem;font-weight:600;line-height:1;padding:.125rem .5rem}.format-bottles .fg-format-badge{background:#eff6ff;color:#1d4ed8}.format-cans .fg-format-badge{background:#fef2f2;color:#b91c1c}.format-gallons .fg-format-badge{background:#f0f9ff;color:#0369a1}.format-kegs .fg-format-badge{background:#fff7ed;color:#c2410c}.format-other .fg-format-badge{background:#f1f5f9;color:#475569}.fg-qty-group{align-items:flex-end;display:flex;flex-direction:column;gap:.1875rem;text-align:right}.fg-qty-value{color:#0f172a;font-size:1.0625rem;font-weight:700;line-height:1.2}.fg-status-indicator{align-items:center;display:inline-flex;font-size:.75rem;font-weight:600;gap:.3125rem;line-height:1}.fg-status-indicator.in-stock{color:#16a34a}.fg-status-indicator.out-of-stock{color:#dc2626}.fg-status-indicator .status-dot{font-size:.625rem}.fg-unit-group{color:#475569;font-size:.875rem}.fg-unit-group,.fg-updated-group{display:flex;font-weight:500;justify-content:center}.fg-updated-group{color:#64748b;font-size:.8125rem}.fg-actions-group,.fg-row-action-btn{display:flex;justify-content:center}.fg-row-action-btn{align-items:center;background:none;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;padding:.375rem;transition:all .2s ease}.fg-row-action-btn:hover{background:#f1f5f9;color:#475569}.fg-pagination-container{align-items:center;display:flex;justify-content:space-between;margin-top:.75rem;padding:.5rem .25rem}.fg-pagination-info{color:#64748b;font-size:.78125rem;font-weight:500}.fg-pagination-controls{align-items:center;display:flex;gap:.25rem}.fg-pagination-controls .pagination-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;height:28px;justify-content:center;min-width:28px;padding:.25rem .625rem;transition:all .2s ease}.fg-pagination-controls .pagination-btn:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1;color:#0f172a}.fg-pagination-controls .pagination-btn:disabled{cursor:not-allowed;opacity:.45}.pagination-page-num.active{align-items:center;background:#eff6ff;border-radius:6px;color:#2563eb;display:flex;font-size:.78125rem;font-weight:700;height:28px;justify-content:center;min-width:28px;padding:0 .5rem}.fg-loading{display:flex;flex-direction:column;gap:.75rem;padding-top:1rem}.fg-skeleton-row{animation:fgShimmer 1.5s infinite;background:linear-gradient(90deg,#f1f5f9 25%,#f8fafc 50%,#f1f5f9 75%);background-size:200% 100%;border:1px solid #e2e8f0;border-radius:10px;height:60px}@keyframes fgShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.fg-error{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;color:#b91c1c;padding:2.5rem;text-align:center}@media (max-width:820px){.fg-list-header{display:none}.fg-row-card{gap:.75rem .5rem;grid-template-columns:36px 1fr 1fr;padding:1rem}.fg-info-group{grid-column:2/-1}.fg-qty-group{grid-column:2/3;margin-top:.25rem}.fg-unit-group{grid-column:3/4;margin-top:.25rem;text-align:right}.fg-updated-group{grid-column:2/3;margin-top:.25rem}.fg-actions-group{grid-column:3/4;justify-content:flex-end}.fg-metrics-grid{gap:.75rem;grid-template-columns:1fr}}.app-page-header-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#f4f8ff,#edf4ff 50%,#d8e5fd);border:1px solid #ffffffa6;border-radius:20px;box-shadow:0 12px 30px #00287814;display:flex;flex-direction:column;margin-bottom:1.5rem;overflow:hidden}.app-page-header-top-strip{align-items:center;border-bottom:1px solid #ffffff73;display:flex;justify-content:space-between;padding:.75rem 1.5rem}.app-page-header-top-strip .breadcrumb{margin:0}.app-page-header-top-strip .breadcrumb-list{align-items:center;display:flex;font-size:.8125rem;list-style:none;margin:0;padding:0}.app-page-header-top-strip .breadcrumb-item{align-items:center;display:flex}.app-page-header-top-strip .breadcrumb-link{align-items:center;color:#475569;display:flex;font-weight:500;gap:.35rem;text-decoration:none;transition:color .15s ease}.app-page-header-top-strip .breadcrumb-link:hover{color:#1e3a8a}.app-page-header-top-strip .breadcrumb-link svg{color:#64748b}.app-page-header-top-strip .breadcrumb-separator{align-items:center;color:#94a3b8;display:flex;margin:0 .5rem}.app-page-header-top-strip .breadcrumb-separator svg{height:14px;width:14px}.app-page-header-top-strip .breadcrumb-current{color:#1e3a8a;font-weight:600}.app-page-header-top-strip .breadcrumb-session-timer{align-items:center;display:flex}.app-page-header-content{display:flex;flex-direction:column;gap:12px;padding:1.25rem 1.5rem}.app-page-header-main-row{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;width:100%}.center-stat-pill{align-items:center!important;background:linear-gradient(135deg,#3b82f6,#1d4ed8)!important;border:1px solid #ffffff38!important;border-radius:9999px!important;box-shadow:0 8px 24px #2563eb38,0 2px 6px #00000014!important;display:flex!important;flex-direction:row!important;gap:12px!important;justify-content:center!important;padding:10px 20px!important;transform:translateY(-2px)!important;transition:all .2s ease-in-out!important;white-space:nowrap!important}.center-stat-pill:hover{box-shadow:0 12px 28px #2563eb4d,0 4px 10px #0000001f!important;transform:translateY(-4px)!important}.center-stat-pill label{color:#ffffffd9!important;cursor:default;font-size:.6875rem!important;font-weight:700!important;letter-spacing:.06em!important;line-height:1!important;margin:0!important;text-transform:uppercase!important}.center-stat-pill .divider{background-color:#ffffff59!important;display:inline-block!important;height:14px!important;width:1px!important}.center-stat-pill .stat-value{-webkit-text-fill-color:#fff!important;background:none!important;background-clip:initial!important;color:#fff!important;font-size:1.125rem!important;font-weight:800!important;line-height:1!important;margin:0!important;text-shadow:0 1px 2px #0000001a!important}.app-page-header-main-row .title-section{display:flex;flex-direction:column;gap:4px}.app-page-header-main-row h1{color:#0f172a;font-size:1.75rem;font-weight:700;letter-spacing:-.025em;line-height:1.1;margin:0}.app-page-header-main-row .subtitle{color:#475569;font-size:.875rem;font-weight:500;margin:0}.app-page-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.app-page-header-filter-row,.app-page-header-stats-row{width:100%}.app-page-header-stats-row .fg-metrics-grid,.app-page-header-stats-row .kpi-cards-section,.app-page-header-stats-row .kpi-summary-strip,.app-page-header-stats-row .production-stats{grid-gap:12px!important;display:grid;gap:12px!important;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin:0!important;padding:0!important}.app-page-header-stats-row .fg-metric-card,.app-page-header-stats-row .kpi-card,.app-page-header-stats-row .stat-card{align-items:center!important;background:#fff!important;border:1px solid #e2e8f080!important;border-left:none!important;border-radius:12px!important;box-shadow:0 2px 4px #0028780a,0 1px 2px #00000005!important;display:flex!important;gap:10px!important;margin:0!important;padding:10px 14px!important;transition:all .2s ease!important}.app-page-header-stats-row .fg-metric-card:hover,.app-page-header-stats-row .kpi-card:hover,.app-page-header-stats-row .stat-card:hover{background:#ffffffd9!important;box-shadow:0 6px 12px #00287814,0 2px 4px #0000000a!important;transform:translateY(-2px)!important}.app-page-header-stats-row .fg-metric-card:before,.app-page-header-stats-row .kpi-card:before,.app-page-header-stats-row .stat-card:before{display:none!important}.inventory-header-controls{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.inventory-header-controls .view-tabs{background:#ffffff73;border-bottom:none!important;border:1px solid #fff9;border-radius:8px;display:flex;gap:6px;margin:0;padding:4px}.inventory-header-controls .tab-btn{background:#0000;border:none;border-radius:6px;color:#475569;cursor:pointer;font-size:.8125rem;font-weight:600;margin-bottom:0!important;padding:.375rem .75rem;transition:all .2s cubic-bezier(.16,1,.3,1)}.inventory-header-controls .tab-btn:hover{background:#ffffff4d;color:#1e293b}.inventory-header-controls .tab-btn.active{background:#fff;border-bottom:none!important;box-shadow:0 1px 3px #0000000d,0 1px 2px rgba(0,0,0,.025);color:#2563eb}@media (max-width:768px){.app-page-header-main-row{align-items:flex-start;flex-direction:column}.app-page-header-actions{justify-content:space-between;width:100%}}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000073;display:flex;inset:0;justify-content:center;padding:24px}.modal-content{background:#fff;background:var(--card-bg,#fff);border-radius:16px;box-shadow:0 24px 60px #0000002e;display:flex;flex-direction:column;max-height:90vh;max-width:560px;overflow:hidden;width:100%}.modal-header{flex-shrink:0;padding:22px 24px 0}.modal-header h2{color:#111827;color:var(--text-color,#111827);font-size:18px;font-weight:700;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:8px;color:#9ca3af;cursor:pointer;display:flex;font-size:1.5rem;justify-content:center;line-height:1;padding:6px;transition:background .15s,color .15s}.close-button:hover{background:#f3f4f6;color:#374151}.modal-body{flex:1 1;overflow-y:auto;padding:20px 24px}.modal-footer{border-top:1px solid #e5e7eb;border-top:1px solid var(--border-color,#e5e7eb);flex-shrink:0;gap:10px;justify-content:flex-end;padding:16px 24px}.btn{font-size:14px;font-weight:500;gap:6px;justify-content:center;padding:9px 18px;transition:all .15s}.btn-primary{background:linear-gradient(135deg,#397ff5,#2867ed);box-shadow:0 2px 6px #2867ed4d}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#2867ed,#1d4ed8);box-shadow:0 4px 12px #2867ed66;transform:translateY(-1px)}.btn-secondary{background:none;border:1.5px solid #e5e7eb;border:1.5px solid var(--border-color,#e5e7eb);color:#6b7280;color:var(--text-secondary,#6b7280)}.btn-secondary:hover:not(:disabled){border-color:#9ca3af;color:#374151}.btn:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.spinner{animation:aim-spin .8s linear infinite;height:14px;width:14px}.form-input,.form-select,.form-textarea{background:#fff;background:var(--input-bg,#fff);border:1.5px solid #e5e7eb;border:1.5px solid var(--border-color,#e5e7eb);border-radius:10px;box-sizing:border-box;color:#111827;color:var(--text-color,#111827);font-size:14px;height:40px;padding:0 12px;transition:border-color .15s,box-shadow .15s;width:100%}.form-textarea{height:auto;min-height:72px;padding:10px 12px;resize:vertical}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#2867ed;box-shadow:0 0 0 3px #2867ed1f;outline:none}.form-input.error,.form-select.error,.form-textarea.error{border-color:#ef4444}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{color:#374151;color:var(--text-secondary,#374151);font-size:13px;font-weight:500}.form-row{display:flex;gap:12px}.form-row .form-group{flex:1 1;min-width:0}.field-error{color:#ef4444;font-size:12px}.required{color:#ef4444;margin-left:2px}.error-message{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;font-size:13px;margin-bottom:16px;padding:10px 14px}.add-ingredient-form{display:flex;flex-direction:column;gap:12px}.add-ingredient-modal{max-width:560px}.aim-section{border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--border-color,#f3f4f6);display:flex;flex-direction:column;gap:12px;margin-bottom:20px;padding-bottom:20px}.aim-section-last{border-bottom:none;margin-bottom:0;padding-bottom:4px}.aim-section-label{color:#9ca3af;font-size:12px;font-weight:600;letter-spacing:.06em;margin:0;text-transform:uppercase}.aim-field{display:flex;flex-direction:column;gap:6px}.aim-field-grow{flex:1 1;min-width:0}.aim-label{align-items:baseline;color:#374151;color:var(--text-secondary,#374151);display:flex;flex-wrap:wrap;font-size:13px;font-weight:500;gap:4px}.aim-required{color:#ef4444}.aim-field-hint{color:#9ca3af;font-size:11px;font-weight:400}.aim-field-error{color:#ef4444;font-size:12px}.aim-input,.aim-select{background:#fff;background:var(--input-bg,#fff);border:1.5px solid #e5e7eb;border:1.5px solid var(--border-color,#e5e7eb);border-radius:10px;box-sizing:border-box;color:#111827;color:var(--text-color,#111827);font-size:14px;height:40px;padding:0 12px;transition:border-color .15s,box-shadow .15s;width:100%}.aim-input:focus,.aim-select:focus{border-color:#2867ed;box-shadow:0 0 0 3px #2867ed1f;outline:none}.aim-input-error{border-color:#ef4444}.aim-input-error:focus{box-shadow:0 0 0 3px #ef44441f}.aim-input-center{text-align:center}.aim-textarea{background:#fff;background:var(--input-bg,#fff);border:1.5px solid #e5e7eb;border:1.5px solid var(--border-color,#e5e7eb);border-radius:10px;box-sizing:border-box;color:#111827;color:var(--text-color,#111827);font-size:14px;min-height:68px;padding:10px 12px;resize:vertical;transition:border-color .15s,box-shadow .15s;width:100%}.aim-textarea:focus{border-color:#2867ed;box-shadow:0 0 0 3px #2867ed1f;outline:none}.aim-prefix-wrap,.aim-suffix-wrap{align-items:center;display:flex;position:relative}.aim-prefix{font-size:14px;left:12px;z-index:1}.aim-prefix,.aim-suffix{color:#9ca3af;pointer-events:none;position:absolute}.aim-suffix{font-size:13px;right:12px}.aim-input-prefixed{padding-left:24px}.aim-input-suffixed{padding-right:44px}.aim-two-col{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.aim-identity-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px}.aim-toggle{align-items:center;background:none;border:none;cursor:pointer;display:flex;flex-shrink:0;gap:8px;height:40px;padding:0}.aim-toggle-track{background:#d1d5db;border-radius:12px;flex-shrink:0;height:24px;position:relative;transition:background .2s;width:42px}.aim-toggle.on .aim-toggle-track{background:#10b981}.aim-toggle-packaging.on .aim-toggle-track{background:#f59e0b}.aim-toggle-knob{background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;height:18px;left:3px;position:absolute;top:3px;transition:transform .2s;width:18px}.aim-toggle.on .aim-toggle-knob{transform:translateX(18px)}.aim-toggle-text{color:#374151;color:var(--text-secondary,#374151);font-size:13px;font-weight:500;white-space:nowrap}.aim-stock-range{align-items:flex-end;display:flex;gap:6px}.aim-stock-range .aim-field{flex:1 1;min-width:0}.aim-range-arrow{color:#d1d5db;flex-shrink:0;font-size:16px;padding-bottom:10px;-webkit-user-select:none;user-select:none}.aim-stock-banner{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;display:flex;justify-content:space-between;padding:10px 14px}.aim-stock-label{color:#1e40af;font-size:13px;font-weight:500}.aim-stock-value{color:#1d4ed8;font-size:15px;font-weight:700}.aim-collapse-toggle{align-items:center;background:#f9fafb;background:var(--card-header-bg,#f9fafb);border:1.5px solid #e5e7eb;border:1.5px solid var(--border-color,#e5e7eb);border-radius:10px;color:#6b7280;cursor:pointer;display:flex;font-size:12px;font-weight:600;justify-content:space-between;letter-spacing:.05em;padding:10px 14px;text-transform:uppercase;transition:background .15s,border-color .15s;width:100%}.aim-collapse-toggle:hover{background:#f3f4f6;border-color:#d1d5db}.aim-collapse-toggle.open{background:#eff6ff;border-bottom-left-radius:0;border-bottom-right-radius:0;border-color:#bfdbfe;color:#1d4ed8}.aim-collapse-right{align-items:center;display:flex;gap:6px}.aim-collapse-hint{color:#9ca3af;font-size:11px;font-weight:400;letter-spacing:0;text-transform:none}.aim-collapsible{background:#fafbff;border:1.5px solid #bfdbfe;border-radius:0 0 10px 10px;border-top:none;display:flex;flex-direction:column;gap:12px;padding:16px 14px 12px}.aim-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:13px;margin-bottom:4px;padding:10px 14px}@keyframes aim-spin{to{transform:rotate(1turn)}}@media (max-width:600px){.aim-two-col{grid-template-columns:1fr}.aim-identity-row{align-items:stretch;flex-direction:column}.aim-stock-range{flex-direction:column;gap:8px}.aim-range-arrow{display:none}}.inventory-manager{margin:0 auto;padding:1.5rem}.premium-background-container{display:contents}.inventory-manager.loading{align-items:center;display:flex;justify-content:center;min-height:400px}.error-message{background-color:#fee2e2;border-radius:.5rem;max-width:500px;padding:2rem}.error-message h2{color:#b91c1c;margin-top:0}.inventory-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.header-content h1{color:#111827;color:var(--text-color,#111827);font-size:2rem;font-weight:700;letter-spacing:-.025em;margin:0 0 .5rem}.header-content p{color:#6b7280;color:var(--text-secondary,#6b7280);margin:0}.header-actions{gap:.75rem}.view-tabs{border-bottom:1px solid #dee2e6;display:flex;gap:10px;margin-top:15px;padding-bottom:0}.tab-btn{background:none;border:none;border-bottom:3px solid #0000;color:#6c757d;cursor:pointer;font-size:1rem;font-weight:500;margin-bottom:-1px;padding:8px 16px;transition:all .2s ease}.tab-btn:hover{color:#495057}.tab-btn.active{border-bottom-color:#007bff;color:#007bff}.header-actions{align-items:center;display:flex;gap:10px}.spinner{animation:spin 1s ease-in-out infinite;display:inline-block;height:12px;margin-right:8px;width:12px}.inventory-grid{display:flex;flex-direction:column;gap:1.5rem;margin-top:1.5rem}.inventory-manager.error{align-items:center;display:flex;justify-content:center;min-height:400px}.error-message{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;padding:40px;text-align:center}.error-message h2{color:#dc3545;margin-bottom:15px}.error-message p{color:#666;margin-bottom:20px}@media (max-width:768px){.inventory-header{flex-direction:column;gap:20px}.header-actions{justify-content:flex-start;width:100%}.inventory-grid{grid-template-columns:1fr}}@media (max-width:640px){.inventory-manager{padding:1rem}.premium-background-container{border-radius:16px;padding:1.5rem 1rem}}@media (max-width:1024px){.premium-background-container{padding:1.75rem 1.25rem}}.kpi-summary-strip{grid-template-columns:repeat(4,1fr);margin-bottom:2rem}.kpi-card{background:#fff;border-left:4px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;gap:1rem;transition:all .2s ease}.kpi-card:hover{box-shadow:0 4px 6px #0000001a,0 2px 4px #0000000f;transform:translateY(-2px)}.kpi-card.warning{border-left-color:#f59e0b}.kpi-card.danger{border-left-color:#ef4444}.kpi-card.success{border-left-color:#10b981}.kpi-icon{align-items:center;background:#f3f4f6;border-radius:10px;color:#6b7280;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.kpi-icon.total{background:#dbeafe;color:#3b82f6}.kpi-icon.warning{background:#fef3c7;color:#f59e0b}.kpi-icon.danger{background:#fee2e2;color:#ef4444}.kpi-icon.success{background:#d1fae5;color:#10b981}.kpi-content{flex:1 1}.kpi-value{color:#111827;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:1.875rem;font-weight:700;line-height:1.2}.kpi-label{color:#6b7280;font-size:.875rem;font-weight:600;margin-top:.25rem}.search-filter-bar{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.search-box{flex:1 1;max-width:350px;min-width:250px;position:relative}.search-icon{color:#9ca3af;left:1rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.search-input{border:2px solid #e5e7eb;color:#111827;padding:.75rem 1rem .75rem 3.25rem}.search-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.search-input::placeholder{color:#9ca3af}.clear-btn{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:.25rem;position:absolute;right:.75rem;top:50%;transform:translateY(-50%);transition:all .2s ease}.clear-btn:hover{background:#f3f4f6;color:#111827}.filter-controls{align-items:center;flex-wrap:nowrap;gap:1rem}.filter-select{border:2px solid #e5e7eb;color:#374151;flex-shrink:1;font-size:.9375rem;font-weight:500;min-width:170px;padding:.75rem 1rem}.filter-select:hover{border-color:#d1d5db}.filter-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}@media (max-width:1024px){.kpi-summary-strip{grid-template-columns:repeat(2,1fr)}.filter-controls{flex-wrap:wrap}}@media (max-width:768px){.filter-select{min-width:calc(50% - .375rem)}}@media (max-width:640px){.kpi-summary-strip{grid-template-columns:1fr}.search-box{max-width:100%;min-width:100%}.filter-controls{flex-wrap:wrap;width:100%}.filter-select{flex:1 1;min-width:100%}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.skeleton,.skeleton-icon{animation:shimmer 2s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:1000px 100%}.skeleton-icon{border-radius:10px;height:48px;width:48px}.skeleton-content{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.skeleton-value{border-radius:6px;height:2rem;width:60%}.skeleton-label,.skeleton-value{animation:shimmer 2s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:1000px 100%}.skeleton-label{border-radius:4px;height:1rem;width:80%}.skeleton-search{flex:1 1;max-width:400px;min-width:300px}.skeleton-filter,.skeleton-search{animation:shimmer 2s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:1000px 100%;border-radius:10px;height:44px}.skeleton-filter{width:150px}.skeleton-category{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.skeleton-category-header{animation:shimmer 2s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:1000px 100%;height:72px}.skeleton-category-items{display:flex;flex-wrap:wrap;gap:1rem;padding:1rem}.skeleton-item{animation:shimmer 2s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:1000px 100%;border-radius:10px;flex:1 1;height:100px;min-width:280px}@media (max-width:768px){.skeleton-filter{min-width:calc(50% - .375rem)}}@media (max-width:640px){.skeleton-search{max-width:100%;min-width:100%}.skeleton-filter{flex:1 1;min-width:100%}}.kpi-summary-strip{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:2.25rem}.kpi-card{align-items:center;border-radius:16px;box-shadow:0 4px 12px #0f172a08;display:flex;flex-direction:column;height:154px;justify-content:center;overflow:hidden;padding:1.5rem;position:relative;transition:all .25s cubic-bezier(.16,1,.3,1)}.kpi-card:hover{box-shadow:0 12px 24px -4px #0f172a14;transform:translateY(-3px)}.kpi-card-content{align-items:center;display:flex;flex-direction:column;gap:3px;margin-top:1.25rem;text-align:center}.kpi-value{font-size:2.25rem;font-weight:850;letter-spacing:-.5px;line-height:1;text-align:center}.kpi-label{color:#475569;font-size:.725rem;font-weight:800;letter-spacing:.5px;text-align:center;text-transform:uppercase}.kpi-desc{color:#64748b;font-size:.6875rem;font-weight:500;text-align:center}.kpi-icon-circle{align-items:center;border-radius:50%;box-shadow:0 2px 6px #00000008;display:flex;height:42px;justify-content:center;left:18px;position:absolute;top:18px;transition:all .25s ease;width:42px}.kpi-icon-circle svg{stroke-width:2.5;stroke:currentColor;fill:none}.kpi-card.total{background:linear-gradient(135deg,#fffffff2,#e0f2fe99);border:1.5px solid #bae6fdb3}.kpi-card.total .kpi-value{color:#0369a1}.kpi-card.total .kpi-icon-circle{background:#fff;border:1.5px solid #bae6fd80;color:#2563eb}.kpi-card.total:hover .kpi-icon-circle{background:#eff6ff;transform:scale(1.08)}.kpi-card.warning{background:linear-gradient(135deg,#fffffff2,#fef3c799);border:1.5px solid #fde68ab3}.kpi-card.warning .kpi-value{color:#b45309}.kpi-card.warning .kpi-icon-circle{background:#fff;border:1.5px solid #fde68a80;color:#d97706}.kpi-card.warning:hover .kpi-icon-circle{background:#fefbeb;transform:scale(1.08)}.kpi-card.danger-critical{background:linear-gradient(135deg,#fffffff2,#ffedd599);border:1.5px solid #fed7aab3}.kpi-card.danger-critical .kpi-value{color:#c2410c}.kpi-card.danger-critical .kpi-icon-circle{background:#fff;border:1.5px solid #fed7aa80;color:#ea580c}.kpi-card.danger-critical:hover .kpi-icon-circle{background:#fff7ed;transform:scale(1.08)}.kpi-card.danger{background:linear-gradient(135deg,#fffffff2,#fee2e299);border:1.5px solid #fecacab3}.kpi-card.danger .kpi-value{color:#b91c1c}.kpi-card.danger .kpi-icon-circle{background:#fff;border:1.5px solid #fecaca80;color:#dc2626}.kpi-card.danger:hover .kpi-icon-circle{background:#fef2f2;transform:scale(1.08)}.gsp-sticky-filter-toolbar{background:linear-gradient(135deg,#fff,#f0f7ff);border:1.5px solid #bfdbfe80;border-radius:18px;box-shadow:0 4px 20px -2px #0f172a0a,0 2px 8px -1px #0f172a05;display:flex;flex-direction:column;gap:1.25rem;margin-bottom:2.25rem;padding:1.5rem 1.75rem;position:sticky;top:64px;transition:all .25s cubic-bezier(.16,1,.3,1);z-index:150}.gsp-sticky-filter-toolbar.gsp-is-sticky{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#fffffffa,#f0f7fffa);border-color:#bfdbfe;box-shadow:0 16px 36px -4px #0f172a14,0 4px 12px -2px #0f172a08}.gsp-sticky-toolbar-row{align-items:center;display:flex;gap:1.75rem;width:100%}.gsp-sticky-toolbar-row:not(:last-child){border-bottom:1.5px solid #bfdbfe4d;padding-bottom:1.125rem}.gsp-row-label{color:#475569;font-size:.725rem;font-weight:800;letter-spacing:.75px;min-width:90px;text-align:left;text-transform:uppercase}.gsp-chips-scroll-container{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.gsp-category-chip{align-items:center;background:#fff;border:1.5px solid #e2e8f0;border-radius:20px;box-shadow:0 1px 2px #00000005;color:#475569;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.8125rem;font-weight:600;gap:.5rem;padding:.5rem 1.125rem;transition:all .2s cubic-bezier(.16,1,.3,1);-webkit-user-select:none;user-select:none}.gsp-category-chip svg{color:#94a3b8;transition:color .2s ease}.gsp-category-chip:hover{background:#f8fafc;border-color:#cbd5e1;box-shadow:0 4px 6px -1px #0000000a;color:#0f172a;transform:translateY(-1px)}.gsp-category-chip:hover svg{color:#475569}.gsp-category-chip.active{background:#2563eb!important;border-color:#2563eb!important;box-shadow:0 4px 12px #2563eb40!important;color:#fff!important}.gsp-category-chip.active svg{color:#fff!important}.gsp-status-chip{align-items:center;background:#fff;border:1.5px solid #e2e8f0;border-radius:20px;box-shadow:0 1px 2px #00000005;color:#475569;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.8125rem;font-weight:600;gap:.5rem;padding:.5rem 1.125rem;transition:all .2s cubic-bezier(.16,1,.3,1);-webkit-user-select:none;user-select:none}.gsp-status-chip:hover{background:#f8fafc;border-color:#cbd5e1;box-shadow:0 4px 6px -1px #0000000a;color:#0f172a;transform:translateY(-1px)}.status-dot{border-radius:50%;display:inline-block;height:8px;transition:background-color .2s ease;width:8px}.status-dot.green{background-color:#10b981}.status-dot.yellow{background-color:#eab308}.status-dot.orange{background-color:#f97316}.status-dot.red{background-color:#ef4444}.gsp-status-chip.active{color:#fff!important}.gsp-status-chip.active .status-dot{background-color:#fff!important}.gsp-status-chip.status-all.active{background:#2563eb!important;border-color:#2563eb!important;box-shadow:0 4px 12px #2563eb40!important}.gsp-status-chip.status-in.active{background:#10b981!important;border-color:#10b981!important;box-shadow:0 4px 12px #10b98140!important}.gsp-status-chip.status-low.active{background:#eab308!important;border-color:#eab308!important;box-shadow:0 4px 12px #eab30840!important}.gsp-status-chip.status-critical.active{background:#f97316!important;border-color:#f97316!important;box-shadow:0 4px 12px #f9731640!important}.gsp-status-chip.status-out.active{background:#ef4444!important;border-color:#ef4444!important;box-shadow:0 4px 12px #ef444440!important}.reset-filters-btn{align-items:center;border-radius:10px!important;display:inline-flex;gap:6px;height:42px!important;padding:0 1.25rem!important}.gsp-empty-state-container{background:#fff;border:1.5px dashed #cbd5e1;border-radius:18px;box-shadow:0 4px 12px #0f172a03;flex-direction:column;margin-top:1.5rem;padding:4.5rem 2rem;text-align:center}.gsp-empty-state-container,.gsp-empty-state-icon{align-items:center;display:flex;justify-content:center}.gsp-empty-state-icon{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:50%;height:52px;margin-bottom:1.25rem;width:52px}.gsp-empty-state-container h3{color:#0f172a;font-size:1.125rem;font-weight:755;margin:0 0 .5rem}.gsp-empty-state-container p{color:#64748b;font-size:.875rem;margin:0 0 1.5rem}.inventory-category-wrapper{scroll-margin-top:120px}.inventory-header-stats-row .fg-metrics-grid,.inventory-header-stats-row .kpi-cards-section,.inventory-header-stats-row .kpi-summary-strip{margin-bottom:0!important;margin-top:0!important}.inventory-header-stats-row .kpi-cards-section{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(6,1fr);padding:0}@media (max-width:1024px){.inventory-header-stats-row .kpi-cards-section{grid-template-columns:repeat(3,1fr)}}@media (max-width:640px){.inventory-header-stats-row .kpi-cards-section{grid-template-columns:repeat(2,1fr)}}.inventory-content-body{display:flex;flex-direction:column;gap:1.5rem}.production-run-card{background:#fff;border:1px solid #e2e8f099;border-left:4px solid #0000;border-radius:12px;box-shadow:0 2px 8px #0000000a,0 1px 2px #00000005;cursor:pointer;margin-bottom:.75rem;overflow:visible;padding:1.5rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none}.production-run-card.compact{min-height:auto;padding:1rem .875rem}.production-run-card:before{background:#0000;border-radius:12px 0 0 12px;bottom:-1px;content:"";left:-4px;position:absolute;top:-1px;transition:all .3s ease;width:4px}.production-run-card:hover{border-color:#2969ed4d;box-shadow:0 8px 24px #0000001f,0 4px 8px #00000014;transform:translateY(-4px)}.production-run-card.selected{background:linear-gradient(135deg,#f8fafc,#fff);border-color:#2969ed66;box-shadow:0 4px 16px #2969ed26,0 2px 8px #2969ed1a}.production-run-card.stage-planned{border-left-color:#94a3b8}.production-run-card.stage-roast{border-left-color:#ef4444}.production-run-card.stage-flavor{border-left-color:#a855f7}.production-run-card.stage-grind{border-left-color:#f59e0b}.production-run-card.stage-brew{border-left-color:#92400e}.production-run-card.stage-mix{border-left-color:#06b6d4}.production-run-card.stage-keg{border-left-color:#3b82f6}.production-run-card.stage-can{border-left-color:#10b981}.production-run-card.stage-completed{border-left-color:#059669}.run-header{margin-bottom:1.25rem}.run-title{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between}.run-title h4{color:#1a202c;font-size:1.0625rem;font-weight:700;letter-spacing:-.01em;margin:0}.status-controls{align-items:center;display:flex;flex-wrap:wrap;gap:.625rem}.premium-dropdown-wrapper{position:relative}.sub-dropdown-wrapper{animation:slideInFromLeft .3s cubic-bezier(.34,1.56,.64,1)}.premium-status-button{align-items:center;border:none;border-radius:9999px;box-shadow:0 2px 8px #0000001f,0 1px 3px #00000014;cursor:pointer;display:flex;font-size:.75rem;font-weight:800;gap:.5rem;letter-spacing:.1em;overflow:hidden;padding:.5rem 1.125rem;position:relative;text-transform:uppercase;transition:all .3s cubic-bezier(.4,0,.2,1)}.premium-status-button:before{background:#ffffff26;bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.premium-status-button:hover:before{opacity:1}.premium-status-button:hover{box-shadow:0 6px 16px #0000002e,0 3px 6px #0000001f;transform:translateY(-2px) scale(1.02)}.premium-status-button:active{transform:translateY(0) scale(.98);transition:all .1s ease}.premium-status-button.scheduled{background:linear-gradient(135deg,#64748b,#475569);color:#fff;text-shadow:0 1px 2px #0003}.premium-status-button.in_progress{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;text-shadow:0 1px 2px #0003}.premium-status-button.completed{background:linear-gradient(135deg,#10b981,#059669);color:#fff;text-shadow:0 1px 2px #0003}.premium-status-button .status-label{position:relative;z-index:1}.premium-status-button .dropdown-arrow{position:relative;transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:1}.premium-status-button .dropdown-arrow.open{transform:rotate(180deg)}.premium-substatus-button{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 6px #0000000f,0 1px 2px #0000000a;color:#475569;cursor:pointer;display:flex;font-size:.8125rem;font-weight:600;gap:.5rem;min-width:150px;padding:.5rem 1rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.premium-substatus-button:hover{background:#f8fafc;border-color:#2969ed;box-shadow:0 4px 12px #2969ed26,0 2px 4px #00000014;transform:translateY(-1px)}.premium-substatus-button:active{transform:translateY(0) scale(.98);transition:all .1s ease}.premium-substatus-button .substatus-label{flex:1 1}.premium-substatus-button .dropdown-arrow{color:#64748b;transition:transform .3s cubic-bezier(.4,0,.2,1)}.premium-substatus-button .dropdown-arrow.open{color:#2969ed;transform:rotate(180deg)}.premium-dropdown-menu{animation:dropdownFadeIn .25s cubic-bezier(.34,1.56,.64,1);background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001f,0 4px 12px #00000014,0 0 0 1px #0000000a;left:0;min-width:100%;padding:.375rem;position:absolute;top:calc(100% + .5rem);z-index:10000}.premium-dropdown-menu.status-menu{min-width:180px}.premium-dropdown-menu.substatus-menu{max-height:240px;min-width:180px;overflow-x:hidden;overflow-y:auto}.premium-dropdown-menu.substatus-menu::-webkit-scrollbar{width:8px}.premium-dropdown-menu.substatus-menu::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px;margin:4px 0}.premium-dropdown-menu.substatus-menu::-webkit-scrollbar-thumb{background:#cbd5e1;border:2px solid #f1f5f9;border-radius:4px}.premium-dropdown-menu.substatus-menu::-webkit-scrollbar-thumb:hover{background:#94a3b8}.premium-dropdown-item{align-items:center;animation:itemFadeIn .2s ease-out backwards;border-radius:8px;color:#334155;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;justify-content:space-between;padding:.625rem .875rem;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1)}.premium-dropdown-item:before{background:linear-gradient(180deg,#2969ed,#5b8ef5);border-radius:0 2px 2px 0;content:"";height:0;left:0;position:absolute;top:50%;transform:translateY(-50%);transition:height .2s ease;width:3px}.premium-dropdown-item:hover:before{height:70%}.premium-dropdown-item:hover{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:#1e293b;padding-left:1rem}.premium-dropdown-item.active{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af;font-weight:600}.premium-dropdown-item.active:before{height:70%}.premium-dropdown-item .item-label{flex:1 1}.premium-dropdown-item .check-icon{stroke-width:2.5;animation:checkPop .3s cubic-bezier(.34,1.56,.64,1);color:#2969ed}@keyframes itemFadeIn{0%{opacity:0;transform:translateX(-4px)}to{opacity:1;transform:translateX(0)}}@keyframes checkPop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}.status-badge{padding:.375rem 1rem}.status-badge.scheduled{background:linear-gradient(135deg,#64748b,#475569);color:#fff;text-shadow:0 1px 2px #0003}.status-badge.paused{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;text-shadow:0 1px 2px #0003}.run-content{grid-gap:1rem;display:grid;gap:1rem}.run-quantities{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.quantity-item{display:flex;flex-direction:column}.quantity-item label{color:#64748b;font-size:.6875rem;font-weight:600;letter-spacing:.08em;margin-bottom:.375rem;text-transform:uppercase}.quantity-item span{color:#1a202c;font-size:1rem;font-weight:700}.quantity-item span.over-production{color:#d69e2e}.quantity-item span.under-production{color:#e53e3e}.quantity-item span.good-efficiency{color:#38a169}.schedule-section{grid-gap:.75rem .5rem;border-top:1px solid #e2e8f080;display:grid;gap:.75rem .5rem;grid-template-columns:repeat(2,1fr);padding-top:.75rem}.schedule-item{display:flex;flex-direction:column;gap:.25rem}.schedule-item label{align-items:center;color:#94a3b8;display:flex;font-size:.625rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.schedule-value{font-size:.8125rem;line-height:1.2}.schedule-value.not-set{color:#cbd5e1;font-style:italic}.schedule-value:contains("Not set"),.schedule-value:empty:before{color:#94a3b8;font-style:italic}.run-notes{border-top:1px solid #e2e8f080;margin-top:1.25rem;padding-top:1.25rem}.run-notes label{color:#64748b;display:block;font-size:.6875rem;font-weight:600;letter-spacing:.08em;margin-bottom:.5rem;text-transform:uppercase}.run-notes p{color:#475569;font-size:.9375rem;font-weight:500;line-height:1.6;margin:0}.card-header-compact{border-bottom:1px solid #e2e8f099;display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;padding-bottom:.875rem;width:100%}.header-top-row{align-items:flex-start;display:flex;gap:.75rem;justify-content:space-between;width:100%}.product-name{color:#0f172a;flex:1 1;font-size:.9375rem;font-weight:700;line-height:1.25rem;margin:0;min-width:0}.product-name,.run-format-name{word-wrap:break-word;overflow-wrap:break-word}.run-format-name{background-color:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;color:#475569;flex-shrink:1;line-height:1rem;max-width:120px;padding:.25rem .5rem;text-align:right;white-space:normal;width:fit-content}.badge-row{display:flex;justify-content:flex-end;margin-top:.25rem;width:100%}.ready-to-complete-badge{background-color:#ecfdf5;border:1px solid #a7f3d0;border-radius:4px;color:#10b981;font-size:.6875rem;letter-spacing:.05em;line-height:1;padding:.25rem .5rem}.drama-section{border-bottom:1px solid #e2e8f066;margin-bottom:1rem;padding-bottom:.875rem}.drama-label{color:#64748b;display:block;font-size:.6875rem;font-weight:600;letter-spacing:.08em;margin-bottom:.5rem;text-transform:uppercase}.drama-section .status-controls{margin-top:0}.menu-button{align-items:center;background:#0000;border:none;border-radius:8px;color:#64748b;cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.menu-button:hover{background:#f1f5f9;color:#1e293b;transform:scale(1.05)}.menu-button:active{transform:scale(.95)}.run-card-metrics-grid{grid-gap:.75rem .5rem;display:grid;gap:.75rem .5rem;grid-template-columns:repeat(2,1fr);margin-bottom:.75rem}.metric-item{display:flex;flex-direction:column;gap:.25rem}.metric-item label{align-items:center;color:#94a3b8;display:flex;font-size:.625rem;font-weight:600;letter-spacing:.08em;margin-bottom:.125rem;text-transform:uppercase}.metric-value{color:#1e293b;font-size:.9375rem;font-weight:700;line-height:1.25}.metric-item.efficiency-item{grid-column:1/-1}.metric-value.over-production{color:#2563eb}.metric-value.under-production{color:#ef4444}.metric-value.good-efficiency{color:#10b981}.metric-value.not-set{color:#cbd5e1;font-style:italic}.connector-item.drama-connector .status-controls{margin-top:.25rem}.premium-status-button.compact{font-size:.6875rem;padding:.375rem .875rem}.details-popup-overlay{animation:overlayFadeIn .25s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:10000}.details-popup-card{animation:modalSlideIn .3s cubic-bezier(.34,1.56,.64,1);background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000040,0 8px 24px #00000026;display:flex;flex-direction:column;left:50%;max-height:90vh;max-width:95vw;overflow:hidden;position:fixed;top:50%;transform:translate(-50%,-50%);width:680px;z-index:10001}.popup-header{align-items:center;background:linear-gradient(135deg,#f8fafc,#fff);border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:1.5rem 2rem}.popup-header h3{color:#1a202c;font-size:1.25rem;font-weight:700;letter-spacing:-.02em;margin:0}.popup-close{align-items:center;background:#0000;border:none;border-radius:8px;color:#64748b;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.popup-close:hover{background:#f1f5f9;color:#1e293b}.popup-close:active{transform:scale(.95)}.popup-body{flex:1 1;overflow-y:auto;padding:1.75rem 2rem}.popup-section{margin-bottom:2rem}.popup-section:last-child{margin-bottom:0}.popup-section h4{border-bottom:2px solid #2969ed33;color:#2969ed;font-size:.875rem;font-weight:700;letter-spacing:.08em;margin:0 0 1rem;padding-bottom:.5rem;text-transform:uppercase}.detail-row{align-items:center;border-bottom:1px solid #e2e8f080;display:flex;justify-content:space-between;padding:.75rem 0}.detail-row:last-child{border-bottom:none}.detail-label{color:#64748b;font-size:.875rem;font-weight:600}.detail-value{color:#1a202c;font-size:.9375rem;font-weight:600;text-align:right}.quantities-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(2,1fr)}.quantity-card{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;gap:.75rem;padding:1.5rem;transition:all .2s ease}.quantity-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.quantity-card.full-width{grid-column:1/-1}.quantity-label{color:#64748b;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.quantity-value{color:#1a202c;font-size:1.75rem;font-weight:700;line-height:1.2}.schedule-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(2,1fr)}.schedule-card{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;gap:.75rem;padding:1.5rem;transition:all .2s ease}.schedule-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.schedule-label{color:#64748b;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.schedule-value{color:#475569;font-size:1rem;font-weight:600;line-height:1.4}.notes-content{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f099;border-radius:8px;color:#475569;font-size:.9375rem;font-weight:500;line-height:1.6;margin:0;padding:1rem}.modal-overlay{animation:overlayFadeIn .25s ease-out;z-index:9998}.confirmation-modal{animation:modalSlideIn .3s cubic-bezier(.34,1.56,.64,1);background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000040,0 8px 24px #00000026;left:50%;max-width:500px;min-width:420px;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:9999}.modal-header{border-bottom:1px solid #e2e8f0;padding:1.5rem 1.75rem}.modal-close:hover{background:#f1f5f9;color:#1e293b}.modal-close:active{transform:scale(.95)}.modal-body{padding:1.75rem}.modal-body p{color:#334155;font-size:1rem;line-height:1.6;margin:0 0 .75rem}.modal-body p:last-child{margin-bottom:0}.modal-body .modal-subtext{color:#64748b;font-size:.9375rem;margin-top:.5rem}.modal-body strong{color:#10b981;font-weight:700}.modal-body .stage-from{color:#f59e0b;font-weight:700}.modal-body .stage-to{color:#2969ed;font-weight:700}.modal-footer{background:#f8fafc;border-top:1px solid #e2e8f0;gap:.75rem;padding:1.25rem 1.75rem}.modal-btn{box-shadow:0 1px 3px #00000014}.modal-btn-cancel{color:#475569}.modal-btn-cancel:hover{background:#f8fafc;border-color:#cbd5e1;box-shadow:0 2px 6px #0000001f;transform:translateY(-1px)}.modal-btn-cancel:active{transform:translateY(0)}.modal-btn-confirm{background:linear-gradient(135deg,#10b981,#059669);border:2px solid #0000;color:#fff;text-shadow:0 1px 2px #0000001a}.modal-btn-confirm:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 12px #10b9814d;transform:translateY(-1px)}.modal-btn-confirm:active{transform:translateY(0)}.run-format-name{color:#64748b;font-size:.75rem;font-weight:600;margin-top:.25rem}.ready-to-complete-badge{background:#dcfce7;border:1px solid #86efac;border-radius:9999px;color:#15803d;display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.02em;margin-top:.35rem;padding:.15rem .5rem;text-transform:uppercase}@media (max-width:768px){.run-quantities,.run-schedule{grid-template-columns:1fr}.run-title{align-items:stretch;flex-direction:column}}@media (max-width:640px){.details-popup-card{max-width:90%;min-width:90%}.connectors-grid,.schedule-section{grid-template-columns:1fr}}@media (max-width:520px){.confirmation-modal{max-width:90%;min-width:90%}.modal-footer{flex-direction:column}.modal-btn{width:100%}}.roast-details-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:.5rem;margin-top:.5rem;padding:.625rem .875rem}.roast-details-section,.roast-recipe-content{display:flex;flex-direction:column;gap:.375rem}.roast-detail-group{align-items:center;border-bottom:1px dashed #f1f5f9;display:flex;gap:1rem;justify-content:space-between;padding-bottom:.25rem}.roast-detail-group:last-child{border-bottom:none;padding-bottom:0}.roast-detail-label{color:#64748b;font-size:.75rem;font-weight:500;letter-spacing:normal;text-transform:none}.roast-detail-value{color:#334155;font-size:.8125rem;font-weight:600;text-align:right}.roast-detail-value.not-specified{color:#94a3b8;font-style:italic;font-weight:500}.roast-detail-subtext{color:#6b7280;font-size:.6875rem}.coffee-reqs-list{display:flex;flex-direction:column;gap:.25rem;margin-top:.125rem}.coffee-req-item{align-items:center;border-bottom:1px dashed #ef444433;display:flex;font-size:.75rem;justify-content:space-between;padding:.125rem 0}.coffee-req-item:last-child{border-bottom:none}.coffee-req-name{color:#374151;font-weight:500}.coffee-req-weight{color:#991b1b;font-weight:700}.roast-recipe-skeleton{display:flex;flex-direction:column;gap:.375rem;padding:.25rem 0}.roast-recipe-skeleton .skeleton-line{animation:roastShimmer 1.5s infinite;background:linear-gradient(90deg,#fecaca 25%,#fee2e2 50%,#fecaca 75%);background-size:200% 100%;border-radius:4px;height:10px}.roast-recipe-skeleton .skeleton-line.short{width:40%}.roast-recipe-skeleton .skeleton-line.medium{width:75%}@keyframes roastShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.roast-recipe-error{display:flex;flex-direction:column;gap:.375rem}.recipe-unavailable-text{color:#dc2626;font-size:.75rem;font-style:italic;font-weight:500}.grind-details-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem;margin-top:.5rem;padding:.625rem .875rem}.grind-detail-group{align-items:center;display:flex;gap:1rem;justify-content:space-between}.grind-detail-label{color:#64748b;font-size:.75rem;font-weight:500}.grind-detail-value{color:#334155;font-size:.8125rem;font-weight:600;text-align:right}.grind-detail-value.not-specified{color:#94a3b8;font-style:italic;font-weight:500}.brew-card-action{margin-bottom:.25rem;margin-top:.5rem}.btn-brew-details{background:#fef3c7;border:1px solid #fde68a;border-radius:6px;color:#78350f;cursor:pointer;font-size:.75rem;font-weight:700;padding:.4rem .6rem;transition:all .2s ease;width:100%}.btn-brew-details:hover{background:#fde68a;color:#451a03;transform:translateY(-1px)}.brew-recipe-section,.brew-weather-section{background:#fffbeb;border:1px solid #fef3c7;border-radius:10px;margin-bottom:1rem;padding:.875rem}.brew-form-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 6px -1px #00000008,0 2px 4px -1px rgba(0,0,0,.015);margin-bottom:1rem;padding:1.5rem}.recipe-details-box{display:flex;flex-direction:column;font-size:.8125rem;gap:.375rem}.recipe-row{border-bottom:1px dashed #d9770633;display:flex;justify-content:space-between;padding:.25rem 0}.recipe-subhead{color:#92400e;font-size:.75rem;font-weight:700;letter-spacing:.04em;margin-bottom:.25rem;text-transform:uppercase}.recipe-instructions-text{background:#fff;border:1px solid #fed7aa;border-radius:6px;color:#374151;font-size:.8125rem;padding:.5rem}.weather-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(3,1fr);margin-top:.375rem}.weather-card{align-items:center;background:#fff;border:1px solid #fde68a;border-radius:6px;display:flex;flex-direction:column;padding:.5rem}.weather-label{color:#78350f;font-size:.6875rem;font-weight:700;text-transform:uppercase}.weather-value{color:#1f2937;font-size:.875rem;font-weight:800}.weather-unavailable{color:#92400e;font-size:.75rem;font-style:italic}.brew-data-form{display:flex;flex-direction:column;gap:1.25rem}.brew-data-form .form-group{display:flex;flex-direction:column;gap:.5rem;margin:0}.brew-data-form .form-label{color:#334155;font-size:.8125rem;font-weight:600;margin:0}.brew-data-form input.form-control{background-color:#fff;border:1px solid #cbd5e1;border-radius:6px;box-sizing:border-box;color:#0f172a;font-size:.875rem;height:38px;padding:.5rem .75rem;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.brew-data-form input.form-control::placeholder{color:#94a3b8;opacity:1}.brew-data-form input.form-control:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626;outline:none}.brew-data-form textarea.form-control{background-color:#fff;border:1px solid #cbd5e1;border-radius:6px;box-sizing:border-box;color:#0f172a;font-size:.875rem;min-height:80px;padding:.625rem .75rem;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.brew-data-form textarea.form-control::placeholder{color:#94a3b8;opacity:1}.brew-data-form textarea.form-control:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626;outline:none}.extractions-title{color:#475569;font-size:.75rem;font-weight:700;letter-spacing:.05em;margin:.25rem 0 0;text-transform:uppercase}.extractions-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}@media (max-width:680px){.extractions-grid{grid-template-columns:1fr}}.extraction-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 3px #00000005;box-sizing:border-box;display:flex;flex-direction:column;gap:.75rem;padding:1rem}.extraction-card h5{border-bottom:1px solid #f1f5f9;color:#1e293b;font-size:.8125rem;font-weight:700;letter-spacing:.05em;margin:0;padding-bottom:.5rem;text-transform:uppercase}.extraction-inputs{gap:.625rem}.extraction-inputs,.input-field{display:flex;flex-direction:column}.input-field{gap:.375rem}.input-field label{color:#64748b;font-size:.75rem;font-weight:600;margin:0}.btn-save-brew-data{align-items:center;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:8px;box-shadow:0 2px 4px #2563eb33;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:700;gap:.5rem;justify-content:center;margin-top:.5rem;padding:.75rem 1.25rem;transition:all .2s ease}.btn-save-brew-data:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#1e40af);box-shadow:0 4px 12px #2563eb4d;transform:translateY(-1px)}.btn-save-brew-data:active:not(:disabled){box-shadow:0 2px 4px #2563eb33;transform:translateY(0)}.btn-save-brew-data:disabled{background:#1d4ed8;box-shadow:none;color:#ffffffd9;cursor:not-allowed;opacity:1}.spinner-mini{animation:spinnerMiniSpin .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:14px;width:14px}@keyframes spinnerMiniSpin{to{transform:rotate(1turn)}}.mix-card-action{margin-bottom:.25rem;margin-top:.5rem}.btn-mix-details{background:#ecfeff;border:1px solid #cffafe;border-radius:6px;color:#0e7490;cursor:pointer;font-size:.75rem;font-weight:700;padding:.4rem .6rem;transition:all .2s ease;width:100%}.btn-mix-details:hover{background:#cffafe;color:#155e75;transform:translateY(-1px)}.mix-recipe-section{margin-bottom:1.5rem}.mix-recipe-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 6px -1px #00000008,0 2px 4px -1px rgba(0,0,0,.015);display:flex;flex-direction:column;gap:1rem;padding:1.25rem}.mix-recipe-header{align-items:center;border-bottom:1px solid #e2e8f0;color:#1e293b;display:flex;font-size:.9375rem;font-weight:700;gap:.5rem;letter-spacing:.05em;margin:0;padding-bottom:.75rem;text-transform:uppercase}.concentrate-highlight-metric{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;justify-content:space-between;padding:.875rem 1rem}.concentrate-label{color:#64748b;font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.concentrate-value{color:#0f172a;font-size:1.25rem;font-weight:800}.concentrate-unit{color:#64748b;font-size:.875rem;font-weight:600}.mix-specs-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr)}.spec-item{background:#fff;border:1px solid #f1f5f9;border-radius:6px;display:flex;flex-direction:column;gap:.125rem;padding:.625rem .75rem}.spec-label{color:#64748b;font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.spec-value{color:#334155;font-size:.875rem;font-weight:700}.recipe-subhead-premium{align-items:center;color:#475569;display:flex;font-size:.75rem;font-weight:700;gap:.375rem;letter-spacing:.05em;margin-bottom:.625rem;margin-top:.25rem;text-transform:uppercase}.ingredients-list-container{display:flex;flex-direction:column;gap:.5rem}.ingredient-leader-row{align-items:baseline;display:flex;font-size:.8125rem;line-height:1.25rem}.ingredient-name{color:#334155;font-weight:600;padding-right:.375rem}.leader-dots{border-bottom:1px dotted #cbd5e1;flex-grow:1;height:1px;margin:0 .25rem}.ingredient-quantity{color:#0f172a;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:700;padding-left:.375rem}.instructions-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#334155;font-size:.8125rem;line-height:1.25rem;margin:0;padding:.75rem}.completion-modal-form{box-sizing:border-box;display:flex;flex-direction:column;gap:1.25rem;margin-top:.5rem;width:100%}.completion-question-text{color:#0f172a;font-size:1.125rem;font-weight:700;margin:0;text-align:center}.planned-hint{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#475569;font-size:.875rem;margin:0;padding:.5rem .75rem;text-align:center}.planned-hint strong{color:#0f172a;font-weight:700}.completion-input,.completion-textarea{background:#fff;border:1px solid #cbd5e1;border-radius:8px;box-sizing:border-box;color:#0f172a;font-family:inherit;font-size:.9375rem;padding:.625rem .875rem;transition:all .2s ease;width:100%}.completion-input:focus,.completion-textarea:focus{border-color:#2969ed;box-shadow:0 0 0 3px #2969ed26;outline:none}.completion-input::-webkit-inner-spin-button,.completion-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.completion-input[type=number]{-moz-appearance:textfield}.completion-textarea{line-height:1.5;min-height:80px;resize:vertical}.completion-summary-card{background:#f8fafc;border:1px solid #cbd5e1;border-radius:12px;box-shadow:0 1px 3px #00000005;margin-top:.75rem;padding:1.25rem}.completion-summary-grid{grid-gap:1rem 1.25rem;display:grid;gap:1rem 1.25rem;grid-template-columns:repeat(2,1fr)}.summary-field{display:flex;flex-direction:column;gap:.25rem}.summary-field.full-width{grid-column:1/-1}.summary-field-label{color:#64748b;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.summary-field-value{word-wrap:break-word;color:#1e293b;font-size:.9375rem;font-weight:600;overflow-wrap:break-word}.summary-field-valueHighlight{color:#2969ed;font-size:1rem;font-weight:700}.loss-reason-text{background:#fef2f2;border:1px dashed #fca5a5;border-radius:8px;color:#ef4444;font-style:italic;line-height:1.4;margin-top:.25rem;padding:.625rem .875rem}.list-view-card{border-left-width:4px!important;box-shadow:0 1px 3px #00000005,0 1px 2px #00000003!important;margin-bottom:.625rem!important;padding:1rem 1.25rem!important}.list-view-card:hover{box-shadow:0 4px 12px #0000000d!important;transform:translateY(-1px)!important}.list-view-card .run-card-metrics-wrapper{grid-gap:1.5rem!important;border-bottom:1px solid #f1f5f9;display:grid!important;gap:1.5rem!important;grid-template-columns:3fr 2fr!important;margin-top:.375rem!important;padding-bottom:.625rem}.list-view-card .run-card-metrics-grid{grid-gap:.75rem 1rem!important;display:grid!important;gap:.75rem 1rem!important;grid-template-columns:repeat(3,1fr)!important;margin-bottom:0!important}.list-view-card .metric-item.efficiency-item{grid-column:auto!important}.list-view-card .schedule-section{grid-gap:.75rem 1rem!important;border-top:none!important;display:grid!important;gap:.75rem 1rem!important;grid-template-columns:repeat(2,1fr)!important;padding-top:0!important}.list-view-card .metric-item label,.list-view-card .schedule-item label{font-size:.6875rem!important;margin-bottom:.125rem!important}.list-view-card .metric-value,.list-view-card .schedule-value{font-size:.9375rem!important}.list-view-card .roast-details-section{background:#f8fafc!important;border-color:#e2e8f0!important;border-radius:6px!important;margin-bottom:.25rem!important;margin-top:.625rem!important;padding:.5rem .75rem!important}.list-view-card .roast-detail-group{padding-bottom:.1875rem!important}.list-view-card .roast-detail-label{font-size:.75rem!important}.list-view-card .roast-detail-value{font-size:.8125rem!important}.list-view-card .btn-brew-details,.list-view-card .btn-mix-details{align-items:center;background:#0000!important;border:1px solid #cbd5e1!important;border-radius:6px!important;color:#475569!important;display:inline-flex!important;font-size:.75rem!important;font-weight:600!important;gap:.25rem;margin-bottom:.25rem!important;margin-top:.5rem!important;padding:.375rem .75rem!important;width:auto!important}.list-view-card .btn-brew-details:hover,.list-view-card .btn-mix-details:hover{background:#f1f5f9!important;border-color:#94a3b8!important;color:#0f172a!important;transform:translateY(-1px)!important}.production-plans-list{padding:2rem}.production-plan-card{background:linear-gradient(135deg,#fff,#fafbfc);border:1px solid #e2e8f099;border-radius:16px;box-shadow:0 2px 12px #0000000d,0 1px 3px #00000008;margin-bottom:1.5rem;overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.production-plan-card:before{background:linear-gradient(90deg,#2969ed,#5b8ef5 50%,#2969ed);content:"";height:3px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.production-plan-card:hover{border-color:#2969ed4d;box-shadow:0 8px 24px #0000001f,0 4px 8px #00000014;transform:translateY(-2px)}.production-plan-card:hover:before{opacity:1}.plan-header{align-items:center;border-bottom:1px solid #e2e8f080;cursor:pointer;display:flex;justify-content:space-between;padding:2rem;transition:background-color .2s ease}.plan-header:hover{background:linear-gradient(135deg,#f8fafb,#f1f5f9)}.plan-info{flex:1 1}.plan-title{align-items:center;display:flex;gap:1rem;margin-bottom:.5rem}.plan-title h3{color:#1a202c;font-size:1.375rem;font-weight:700;letter-spacing:-.02em;margin:0}.status-badge{align-items:center;border:2px solid #ffffffe6;border-radius:9999px;box-shadow:0 3px 8px #00000026,0 1px 3px #0000001a;cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:800;gap:.375rem;letter-spacing:.1em;padding:.4375rem 1.125rem;position:relative;text-transform:uppercase;transition:all .2s ease}.status-badge:hover{box-shadow:0 4px 12px #0003,0 2px 6px #00000026;transform:translateY(-1px)}.status-badge.planned{background:linear-gradient(135deg,#2969ed,#1e4db5);color:#fff;text-shadow:0 1px 2px #0003}.status-badge.in-progress{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;text-shadow:0 1px 2px #0003}.status-badge.completed{background:linear-gradient(135deg,#10b981,#059669);color:#fff;text-shadow:0 1px 2px #0003}.status-badge.cancelled{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;text-shadow:0 1px 2px #0003}.plan-status-dropdown{display:inline-block;position:relative}.plan-status-arrow{display:inline-block;font-size:.75rem;opacity:.9;transition:transform .2s ease}.status-badge:hover .plan-status-arrow{opacity:1}.plan-status-menu{animation:dropdownFadeIn .2s cubic-bezier(.4,0,.2,1);background:#fff;border:1px solid #e2e8f0cc;border-radius:10px;box-shadow:0 10px 25px #00000026,0 4px 10px #0000001a,0 0 0 1px #0000000d;left:0;min-width:160px;overflow:hidden;position:absolute;top:calc(100% + 6px);z-index:10000}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.plan-status-item{background:#fff;border-bottom:1px solid #e2e8f080;color:#475569;cursor:pointer;font-size:.875rem;font-weight:600;padding:.75rem 1rem;transition:all .15s ease}.plan-status-item:last-child{border-bottom:none}.plan-status-item:hover{background:linear-gradient(90deg,#3b82f614,#2563eb1a);color:#1e293b;padding-left:1.25rem}.plan-status-item.active{background:linear-gradient(135deg,#eff6ff,#dbeafe);color:#2563eb;font-weight:700}.plan-status-item.active:hover{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.plan-description{margin:.5rem 0}.plan-description,.plan-meta{color:#718096;font-size:.875rem}.plan-meta{display:flex;flex-direction:column;gap:.25rem}.plan-summary{gap:2rem;position:relative}.plan-summary,.summary-item{align-items:center;display:flex}.summary-item{flex-direction:column;text-align:center}.summary-item label{color:#64748b;font-size:.6875rem;font-weight:600;letter-spacing:.08em;margin-bottom:.375rem;text-transform:uppercase}.summary-item span{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#1a202c,#2d3748);-webkit-background-clip:text;background-clip:text;font-size:1.25rem;font-weight:700}.delete-plan-btn{align-items:center;background:linear-gradient(135deg,#fff,#f8f9fa);border:none;border-radius:10px;box-shadow:0 2px 6px #00000014;color:#64748b;cursor:pointer;display:flex;height:40px;justify-content:center;margin-left:1rem;transition:all .2s cubic-bezier(.4,0,.2,1);width:40px}.delete-plan-btn:hover{background:linear-gradient(135deg,#fef2f2,#fee2e2);box-shadow:0 4px 12px #ef444440;color:#ef4444;transform:translateY(-2px)}.delete-plan-btn:active{box-shadow:0 2px 6px #ef444433;transform:translateY(0)}.delete-plan-btn svg{transition:transform .2s ease}.delete-plan-btn:hover svg{transform:scale(1.1)}.expand-icon{margin-left:1rem}.expand-icon span{color:#718096;font-size:1.25rem;transition:transform .2s}.expand-icon span.expanded{transform:rotate(180deg)}.plan-details{background:linear-gradient(135deg,#f8fafb,#f1f5f9);border-top:1px solid #e2e8f080;padding:2rem}.plan-notes{margin-bottom:1.5rem}.plan-notes h4{color:#1a202c;font-size:1rem;font-weight:600;margin:0 0 .5rem}.plan-notes p{color:#718096;line-height:1.5;margin:0}.production-runs h4{color:#1a202c;font-size:1.125rem;font-weight:700;letter-spacing:-.01em;margin:0 0 1.25rem}.no-runs{color:#718096;font-style:italic;padding:2rem;text-align:center}.runs-list{grid-gap:1.25rem;display:grid;gap:1.25rem}.empty-state{color:#718096;padding:3rem;text-align:center}.empty-state h3{color:#1a202c;font-size:1.25rem;margin:0 0 1rem}.empty-state p{font-size:.875rem;margin:0 0 1.5rem}.modal-overlay{animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}.delete-confirmation-modal{animation:slideUp .3s cubic-bezier(.4,0,.2,1);background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d,0 8px 24px #0003;left:50%;max-width:500px;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:1001}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}.modal-header{align-items:center;border-bottom:1px solid #e2e8f099;display:flex;justify-content:space-between;padding:1.5rem 2rem}.modal-header h3{color:#1a202c;font-size:1.25rem;font-weight:700;letter-spacing:-.02em;margin:0}.modal-close{align-items:center;background:#0000;border:none;border-radius:8px;color:#64748b;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.modal-close:hover:not(:disabled){background:#f1f5f9;color:#1a202c}.modal-close:disabled{cursor:not-allowed;opacity:.5}.modal-body{padding:2rem;text-align:center}.warning-icon{animation:pulse 2s ease-in-out infinite;display:flex;justify-content:center;margin-bottom:1.5rem}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.modal-text{color:#1a202c;font-size:1rem;line-height:1.6;margin:0 0 1rem}.modal-text strong{color:#ef4444;font-weight:700}.modal-subtext{color:#64748b;font-size:.875rem;line-height:1.5;margin:0 0 1rem}.modal-warning{align-items:center;background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fbbf24;border-radius:10px;display:flex;gap:.75rem;margin-top:1rem;padding:1rem;text-align:left}.modal-warning svg{color:#f59e0b;flex-shrink:0}.modal-warning span{color:#92400e;font-size:.875rem;font-weight:500}.modal-footer{background:linear-gradient(135deg,#fafbfc,#f8f9fa);border-radius:0 0 16px 16px;border-top:1px solid #e2e8f099;display:flex;gap:1rem;padding:1.5rem 2rem}.modal-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;flex:1 1;font-size:.9375rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;transition:all .2s cubic-bezier(.4,0,.2,1)}.modal-btn:disabled{cursor:not-allowed;opacity:.6}.modal-btn-cancel{background:#fff;border:2px solid #e2e8f0;color:#64748b}.modal-btn-cancel:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1;box-shadow:0 4px 12px #00000014;color:#475569;transform:translateY(-1px)}.modal-btn-cancel:active:not(:disabled){transform:translateY(0)}.modal-btn-delete{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 12px #ef44444d;color:#fff}.modal-btn-delete:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 6px 20px #ef444466;transform:translateY(-2px)}.modal-btn-delete:active:not(:disabled){box-shadow:0 4px 12px #ef44444d;transform:translateY(0)}.spinner{animation:spin .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:768px){.plan-header{align-items:stretch;flex-direction:column;gap:1rem}.plan-summary{flex-wrap:wrap;gap:1rem;justify-content:space-between}.summary-item{min-width:80px}.delete-plan-btn{height:36px;position:absolute;right:1rem;top:1rem;width:36px}.expand-icon{margin-left:auto}.plan-meta{font-size:.75rem}.production-plans-list{padding:1rem}.delete-confirmation-modal{max-width:none;width:95%}.modal-body,.modal-footer,.modal-header{padding:1.25rem 1.5rem}.modal-footer{flex-direction:column}.modal-btn{width:100%}}.production-plans-page{background:linear-gradient(135deg,#e8f0fe,#f0f4ff 50%,#e8f0fe),linear-gradient(225deg,#2969ed14,#2969ed08 50%,#2969ed14);min-height:100vh;padding:1.5rem}.title-with-pill{flex-wrap:wrap;gap:16px}.btn,.title-with-pill{align-items:center;display:inline-flex}.btn{border:none;border-radius:10px;box-shadow:0 2px 8px #00000014;cursor:pointer;font-size:.9375rem;font-weight:600;gap:.5rem;overflow:hidden;padding:.75rem 1.5rem;position:relative;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn:before{background:#fff3;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.btn:hover:before{height:300px;width:300px}.btn-primary{background:linear-gradient(135deg,#3182ce,#2c5aa0)}.btn-primary:hover{box-shadow:0 6px 20px #3182ce66;transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:#475569}.btn-secondary:hover{background:linear-gradient(135deg,#e2e8f0,#cbd5e0);box-shadow:0 6px 16px #0000001f;transform:translateY(-2px)}.btn-secondary:active{transform:translateY(0)}.production-stats-single{display:flex;justify-content:flex-start;margin:0}.production-stats-single .stat-card{align-items:center!important;display:flex!important;flex-direction:row!important;gap:12px!important;max-width:fit-content!important;padding:8px 16px!important}.production-stats-single .stat-card h3{color:#64748b;font-size:.75rem!important;font-weight:700;letter-spacing:.05em;margin:0!important;text-transform:uppercase}.production-stats-single .stat-value{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#1a202c,#2d3748);-webkit-background-clip:text;background-clip:text;font-size:1.125rem!important;font-weight:800;line-height:1!important}.production-controls{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.search-bar{flex:1 1;min-width:320px}.search-input{background:#fff;border:2px solid #e2e8f0;border-radius:10px;box-shadow:0 2px 8px #0000000a;font-size:.9375rem;padding:.875rem 1rem;transition:all .2s ease;width:100%}.search-input::placeholder{color:#94a3b8}.search-input:hover{border-color:#cbd5e0}.search-input:focus{background:#fff;border-color:#2969ed;box-shadow:0 0 0 4px #2969ed1f,0 2px 8px #00000014;outline:none}.filter-controls{display:flex;gap:.75rem}.filter-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Cpath fill='%232969ed' fill-rule='evenodd' d='M5.293 7.293a1 1 0 0 1 1.414 0L10 10.586l3.293-3.293a1 1 0 1 1 1.414 1.414l-4 4a1 1 0 0 1-1.414 0l-4-4a1 1 0 0 1 0-1.414z' clip-rule='evenodd'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;background-size:20px 20px;border:2px solid #cbd5e0;border-radius:10px;box-shadow:0 2px 10px #00000014;color:#1a202c;cursor:pointer;font-size:1rem;font-weight:700;height:52px;line-height:1.5;min-width:200px;padding:.875rem 3rem .875rem 1.25rem;transition:all .2s ease}.filter-select:hover{border-color:#2969ed;box-shadow:0 4px 12px #2969ed26}.filter-select:focus{border-color:#2969ed;box-shadow:0 0 0 4px #2969ed1f,0 2px 8px #00000014;outline:none}.filter-select option{background:#fff;color:#1a202c;font-weight:600;padding:.75rem 1rem}.filter-select option:hover{background:#f0f4ff;color:#2969ed}.filter-select option:checked{background:linear-gradient(135deg,#2969ed,#1e4db5);color:#fff;font-weight:700}.production-content{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.icon-refresh:before{content:"🔄";margin-right:.25rem}.view-toggle{background:#fff;border:2px solid #e2e8f0;border-radius:10px;box-shadow:0 2px 8px #00000014;display:flex;gap:0;padding:4px}.view-toggle-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:#64748b;cursor:pointer;display:inline-flex;font-size:.9375rem;font-weight:600;gap:.5rem;padding:.625rem 1.25rem;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1)}.view-toggle-btn:hover{background:#f0f4ff;color:#2969ed}.view-toggle-btn.active{background:linear-gradient(135deg,#2969ed,#1e4db5);box-shadow:0 2px 8px #2969ed4d;color:#fff}.view-toggle-btn .icon-kanban,.view-toggle-btn .icon-list{align-items:center;display:inline-flex;font-size:1.125rem;justify-content:center}.kanban-placeholder{background:linear-gradient(135deg,#f8fafb,#fff);border:2px dashed #cbd5e0;border-radius:12px;margin:2rem 0;padding:4rem 2rem;text-align:center}.kanban-placeholder h2{color:#1a202c;font-size:1.75rem;font-weight:700;margin-bottom:1rem}.kanban-placeholder p{color:#64748b;font-size:1.125rem;line-height:1.6;margin:.5rem 0}@media (max-width:768px){.header-actions{flex-direction:column;gap:.75rem}.view-toggle{width:100%}.view-toggle-btn{flex:1 1;justify-content:center}.production-plans-page{padding:.5rem}.page-header{align-items:stretch;flex-direction:column;gap:1rem}.production-stats{grid-template-columns:1fr}.production-controls{flex-direction:column}.search-bar{min-width:0;min-width:auto}.filter-controls{flex-direction:column}.filter-select{min-width:0;min-width:auto}}@keyframes iconSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.icon-refresh.spinning{animation:iconSpin 1s linear infinite;display:inline-block}.kanban-column{background:#fff;border:1px solid #e2e8f099;border-radius:14px;box-shadow:0 2px 12px #0000000f,0 1px 3px #0000000a;display:flex;flex-direction:column;height:calc(100vh - 240px);max-width:380px;min-width:340px;overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.kanban-column:before{background:linear-gradient(90deg,#64748b,#0000);background:linear-gradient(90deg,var(--column-color,#64748b) 0,#0000 100%);content:"";height:3px;left:0;opacity:.9;position:absolute;right:0;top:0;transition:all .3s ease;z-index:11}.kanban-column:hover:before{height:4px;opacity:1}.kanban-column.is-over{background:linear-gradient(135deg,#f8fafc80,#f1f5f980);border-color:#2969ed;border-color:var(--column-color,#2969ed);box-shadow:0 8px 24px #0000001f,0 4px 12px #00000014;transform:scale(1.01)}.kanban-column.is-over:before{height:5px;opacity:1}.kanban-column.is-disabled{background:#f8fafc;border-color:#cbd5e1;filter:grayscale(.5);opacity:.5;pointer-events:none;transition:opacity .2s ease,filter .2s ease,background-color .2s ease}.column-disabled-banner{align-items:center;background:#fff1f2;border-bottom:1px solid #fecdd3;color:#be123c;display:flex;font-size:.75rem;font-weight:600;gap:.375rem;justify-content:center;letter-spacing:-.01em;padding:.375rem .75rem}.disabled-icon{font-size:.875rem}.kanban-column.is-over .kanban-column-content{background:#64748b08;background:rgba(var(--column-color-rgb,100,116,139),.03)}.kanban-column-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#fffffffa,#f8fafcfa);border-bottom:2px solid #e2e8f066;box-shadow:0 1px 3px #0000000d;display:flex;justify-content:space-between;padding:1.25rem 1.5rem;position:sticky;top:0;z-index:10}.column-title{align-items:center;display:flex;gap:.75rem}.column-icon{animation:iconFloat 3s ease-in-out infinite;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));font-size:1.5rem;line-height:1}@keyframes iconFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.column-title h3{color:#1a202c;font-size:1rem;font-size:.875rem;font-weight:700;letter-spacing:-.01em;margin:0;text-transform:uppercase}.column-count{align-items:center;background:#64748b;background:var(--column-color,#64748b);border-radius:9999px;box-shadow:0 2px 8px #00000026,0 1px 3px #0000001a;color:#fff;display:flex;font-size:.875rem;font-weight:800;height:32px;justify-content:center;min-width:32px;padding:0 .625rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.kanban-column:hover .column-count{box-shadow:0 4px 12px #0003,0 2px 4px #00000026;transform:scale(1.1)}.kanban-column-content{flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:1rem;scrollbar-color:#cbd5e1 #f1f5f9;scrollbar-width:thin}.kanban-column-content::-webkit-scrollbar{width:6px}.kanban-column-content::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px;margin:4px 0}.kanban-column-content::-webkit-scrollbar-thumb{background:#cbd5e1;border:1px solid #f1f5f9;border-radius:3px;-webkit-transition:background .2s ease;transition:background .2s ease}.kanban-column-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.column-summary{align-items:center;background:linear-gradient(135deg,#f8fafce6,#f1f5f9b3);border:1px solid #e2e8f080;border-radius:10px;box-shadow:0 1px 3px #0000000a;display:flex;gap:1rem;justify-content:space-between;margin:.75rem 1rem;padding:1rem 1.25rem}.summary-left,.summary-right{align-items:center;display:flex;flex:1 1;gap:.5rem}.summary-left{justify-content:flex-start}.summary-right{justify-content:flex-end}.summary-icon{color:#64748b;flex-shrink:0;opacity:.75}.summary-text{color:#475569;font-size:.8125rem;font-weight:600;white-space:nowrap}.summary-divider-line{background:linear-gradient(180deg,#0000,#cbd5e199 50%,#0000);flex-shrink:0;height:20px;width:1px}.column-empty-state{align-items:center;background:linear-gradient(135deg,#f8fafc4d,#f1f5f94d);border:2px dashed #cbd5e180;border-radius:12px;display:flex;flex-direction:column;justify-content:center;margin:1rem;min-height:250px;padding:3rem 1.5rem;text-align:center;transition:all .3s ease}.kanban-column.is-over .column-empty-state{background:linear-gradient(135deg,#2969ed0d,#2969ed05);background:linear-gradient(135deg,rgba(var(--column-color-rgb,41,105,237),.05) 0,rgba(var(--column-color-rgb,41,105,237),.02) 100%);border-color:#2969ed;border-color:var(--column-color,#2969ed);border-width:3px}.empty-icon{animation:emptyPulse 2s ease-in-out infinite;filter:grayscale(80%);font-size:3rem;margin-bottom:1rem;opacity:.25}@keyframes emptyPulse{0%,to{opacity:.2;transform:scale(1)}50%{opacity:.35;transform:scale(1.05)}}.empty-text{color:#94a3b8;font-size:.875rem;font-style:italic;font-weight:500;margin:0 0 .5rem}.empty-hint{color:#cbd5e1;font-size:.75rem;font-weight:600;letter-spacing:.05em;margin:0;text-transform:uppercase}@media (max-width:1200px){.kanban-column{max-width:320px;min-width:280px}}@media (max-width:768px){.kanban-column{height:calc(100vh - 280px);max-width:280px;min-width:260px}.kanban-column-header{padding:1rem 1.25rem}.column-title h3{font-size:.8125rem}.column-icon{font-size:1.25rem}.column-count{font-size:.8125rem;height:28px;min-width:28px}.kanban-column-content{padding:.75rem}}.kanban-column{animation:columnSlideIn .4s cubic-bezier(.34,1.56,.64,1) backwards}@keyframes columnSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.kanban-column:first-child{animation-delay:0ms}.kanban-column:nth-child(2){animation-delay:50ms}.kanban-column:nth-child(3){animation-delay:.1s}.kanban-column:nth-child(4){animation-delay:.15s}.kanban-column:nth-child(5){animation-delay:.2s}.kanban-column:nth-child(6){animation-delay:.25s}.kanban-column:nth-child(7){animation-delay:.3s}.kanban-column:nth-child(8){animation-delay:.35s}.kanban-column:nth-child(9){animation-delay:.4s}.kanban-board{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:12px;box-shadow:0 2px 8px #0000000a;display:flex;flex-direction:column;height:100%;padding:1.5rem}.kanban-board-header{align-items:center;border-bottom:2px solid #e2e8f099;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1.25rem}.board-info h2{color:#1a202c;font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .5rem}.board-info p{color:#64748b;font-size:.9375rem;font-weight:500;margin:0}.board-legend{gap:1rem}.board-legend,.legend-item{align-items:center;display:flex}.legend-item{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0cc;border-radius:9999px;box-shadow:0 2px 8px #00000014;color:#475569;font-size:.875rem;font-weight:600;gap:.5rem;padding:.625rem 1rem}.legend-icon{font-size:1.125rem;line-height:1}.kanban-columns-container{display:flex;flex:1 1;gap:1.5rem;overflow-x:auto;overflow-y:hidden;padding-bottom:1rem;scrollbar-color:#cbd5e1 #f1f5f9;scrollbar-width:thin}.kanban-columns-container::-webkit-scrollbar{height:8px}.kanban-columns-container::-webkit-scrollbar-track{background:#f1f5f9;border-radius:5px;margin:0 8px}.kanban-columns-container::-webkit-scrollbar-thumb{background:#cbd5e1;border:2px solid #f1f5f9;border-radius:5px;-webkit-transition:background .2s ease;transition:background .2s ease}.kanban-columns-container::-webkit-scrollbar-thumb:hover{background:#94a3b8}.kanban-run-wrapper{margin-bottom:.875rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.kanban-run-wrapper.dragging{cursor:grabbing;opacity:.4;transform:scale(1.05)}.drag-overlay-card{box-shadow:0 12px 40px #0003,0 6px 16px #00000026;cursor:grabbing}.kanban-run-wrapper:last-child{margin-bottom:0}.kanban-run-wrapper .production-run-card{cursor:grab;-webkit-user-select:none;user-select:none}.kanban-run-wrapper .production-run-card:active{cursor:grabbing}.drag-overlay-card{border-radius:12px;box-shadow:0 12px 40px #00000040,0 6px 16px #00000026;opacity:.95;transform:rotate(3deg)}.drag-overlay-card .production-run-card{background:linear-gradient(135deg,#fff,#f0f9ff);border-color:#2969ed;cursor:grabbing}.kanban-empty-state{align-items:center;background:linear-gradient(135deg,#fff,#f8fafc);border:2px dashed #e2e8f0cc;border-radius:16px;box-shadow:0 4px 16px #0000000f;display:flex;flex-direction:column;justify-content:center;min-height:400px;padding:3rem;text-align:center}.empty-state-icon{animation:emptyStatePulse 3s ease-in-out infinite;font-size:4rem;margin-bottom:1.5rem;opacity:.4}@keyframes emptyStatePulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.5;transform:scale(1.05)}}.kanban-empty-state h3{color:#1a202c;font-size:1.5rem;font-weight:700;margin:0 0 .75rem}.kanban-empty-state p{color:#64748b;font-size:1rem;font-weight:500;margin:0 0 .5rem;max-width:500px}.empty-state-hint{color:#94a3b8!important;font-size:.875rem!important;font-style:italic}.kanban-modal .status-change-visual{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #e2e8f0cc;border-radius:12px;display:flex;gap:1.5rem;justify-content:center;margin-bottom:1.5rem;padding:1.5rem}.status-change-visual .status-from,.status-change-visual .status-to{align-items:center;display:flex;flex:1 1;justify-content:center}.status-change-visual .status-label{border-radius:9999px;box-shadow:0 2px 8px #0000001f;font-size:.875rem;font-weight:700;letter-spacing:.05em;padding:.75rem 1.5rem;text-transform:uppercase;white-space:nowrap}.status-change-visual .status-from .status-label{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;text-shadow:0 1px 2px #0003}.status-change-visual .status-to .status-label{background:linear-gradient(135deg,#10b981,#059669);color:#fff;text-shadow:0 1px 2px #0003}.status-change-visual .status-arrow{animation:arrowPulse 1.5s ease-in-out infinite;color:#2969ed}@keyframes arrowPulse{0%,to{transform:translateX(0)}50%{transform:translateX(8px)}}@media (max-width:1400px){.kanban-columns-container{gap:1rem}}@media (max-width:1024px){.kanban-board{padding:1rem}.kanban-board-header{align-items:flex-start;flex-direction:column;gap:1rem}.board-legend{justify-content:flex-start;width:100%}.kanban-columns-container{gap:.875rem}}@media (max-width:768px){.kanban-board{padding:.75rem}.board-info h2{font-size:1.25rem}.board-info p{font-size:.875rem}.legend-item{font-size:.8125rem;padding:.5rem .875rem}.legend-icon{font-size:1rem}.kanban-columns-container{gap:.75rem;padding-bottom:.75rem}.kanban-run-wrapper{margin-bottom:.75rem}.status-change-visual{flex-direction:column;gap:1rem;padding:1rem}.status-change-visual .status-from,.status-change-visual .status-to{width:100%}.status-change-visual .status-arrow{transform:rotate(90deg)}@keyframes arrowPulse{0%,to{transform:rotate(90deg) translateX(0)}50%{transform:rotate(90deg) translateX(8px)}}}@media (max-width:480px){.kanban-board-header{padding-bottom:1rem}.board-legend{align-items:flex-start;flex-direction:column}.legend-item{width:100%}}@media (prefers-reduced-motion:reduce){.drag-overlay-card,.empty-state-icon,.kanban-run-wrapper,.legend-icon,.status-change-visual .status-arrow{animation:none;transition:none}.kanban-column{animation:none}}@media (prefers-contrast:high){.kanban-board{border:2px solid}.kanban-column{border-width:3px}.legend-item{border-width:2px}}@media print{.kanban-board{background:#fff;box-shadow:none}.kanban-columns-container{flex-wrap:wrap;overflow:visible}.kanban-column{break-inside:avoid;page-break-inside:avoid}.board-legend{display:none}}.ai-analytics-page{margin:0 auto;max-width:1200px;padding:1.5rem}.ai-analytics-header{margin-bottom:1.5rem}.ai-analytics-back{align-items:center;background:none;border:none;color:#6b7280;color:var(--text-secondary,#6b7280);cursor:pointer;display:inline-flex;font-size:.875rem;gap:.375rem;margin-bottom:.75rem;padding:0}.ai-analytics-back:hover{color:#3b82f6;color:var(--primary-color,#3b82f6)}.ai-analytics-title-row{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.ai-analytics-title-row h1{color:#111827;color:var(--text-color,#111827);font-size:1.5rem;font-weight:600;margin:0 0 .25rem}.ai-analytics-title-row p{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.875rem;margin:0}.ai-analytics-day-selector{display:flex;gap:.375rem}.day-btn{background:#fff;background:var(--bg-color,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:.375rem;color:#6b7280;color:var(--text-secondary,#6b7280);cursor:pointer;font-size:.8125rem;padding:.375rem .75rem;transition:all .15s}.day-btn:hover{color:#3b82f6;color:var(--primary-color,#3b82f6)}.day-btn.active,.day-btn:hover{border-color:#3b82f6;border-color:var(--primary-color,#3b82f6)}.day-btn.active{background:#3b82f6;background:var(--primary-color,#3b82f6);color:#fff}.ai-analytics-loading{color:#6b7280;color:var(--text-secondary,#6b7280);padding:3rem;text-align:center}.ai-analytics-error{background:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;color:#dc2626;font-size:.875rem;margin-bottom:1rem;padding:1rem}.ai-kpi-strip{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:1.25rem}.ai-kpi-card{background:#fff;background:var(--bg-color,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:.5rem;box-shadow:0 1px 3px #0000000f;padding:1.125rem 1.25rem}.ai-kpi-value{color:#3b82f6;color:var(--primary-color,#3b82f6);font-size:1.625rem;font-weight:700;line-height:1.2}.ai-kpi-label{color:#111827;color:var(--text-color,#111827);font-size:.8125rem;font-weight:500;margin-top:.25rem}.ai-kpi-sub{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-size:.75rem;margin-top:.2rem}.ai-charts-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:2fr 1fr;margin-bottom:1rem}.ai-chart-card{background:#fff;background:var(--bg-color,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:.5rem;box-shadow:0 1px 3px #0000000f;padding:1.25rem}.ai-chart-card--full{margin-bottom:1rem}.ai-chart-card h3{color:#111827;color:var(--text-color,#111827);font-size:.9375rem;font-weight:600;margin:0 0 1rem}.ai-chart-body{height:220px;position:relative}.ai-chart-body--tools{height:180px}.ai-empty-state{align-items:center;color:#9ca3af;color:var(--text-secondary,#9ca3af);display:flex;font-size:.875rem;height:100%;justify-content:center;min-height:80px}.ai-recent-card{background:#fff;background:var(--bg-color,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:.5rem;box-shadow:0 1px 3px #0000000f;padding:1.25rem}.ai-recent-card h3{color:#111827;color:var(--text-color,#111827);font-size:.9375rem;font-weight:600;margin:0 0 1rem}.ai-recent-table-wrap{overflow-x:auto}.ai-recent-table{border-collapse:collapse;font-size:.8125rem;width:100%}.ai-recent-table thead tr{background:#2563eb;color:#fff}.ai-recent-table th{font-weight:500;padding:.625rem .875rem;text-align:left;white-space:nowrap}.ai-recent-table td{border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--border-color,#f3f4f6);color:#374151;color:var(--text-color,#374151);padding:.5625rem .875rem;vertical-align:middle}.ai-recent-table tbody tr:nth-child(2n) td{background:#00000005}.ai-recent-table tbody tr:hover td{background:#3b82f60d}.ai-col-date{color:#6b7280;color:var(--text-secondary,#6b7280);white-space:nowrap}.ai-col-question{max-width:320px}.ai-col-mono{font-family:monospace;white-space:nowrap}.ai-intent-badge{background:#3b82f61f;border-radius:.25rem;color:#2563eb;display:inline-block;font-size:.75rem;font-weight:500;padding:.2rem .5rem;white-space:nowrap}.ai-intent-badge--unknown{background:#0000000f;color:#9ca3af;color:var(--text-secondary,#9ca3af)}.ai-status-badge{border-radius:.25rem;display:inline-block;font-size:.75rem;font-weight:500;padding:.2rem .5rem}.ai-status-badge--ok{background:#10b9811f;color:#059669}.ai-status-badge--err{background:#ef44441f;color:#dc2626}@media (max-width:768px){.ai-charts-row{grid-template-columns:1fr}.ai-kpi-strip{grid-template-columns:repeat(2,1fr)}.ai-analytics-title-row{flex-direction:column}}@media (max-width:480px){.ai-kpi-strip{grid-template-columns:1fr 1fr}}.qbo-page{margin:0 auto;max-width:800px;padding:1.5rem}.qbo-header{margin-bottom:1.5rem}.qbo-header h1{color:#111827;color:var(--text-color,#111827);font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.qbo-header p{margin:0}.qbo-header p,.qbo-loading{color:#6b7280;color:var(--text-secondary,#6b7280)}.qbo-loading{padding:2rem 0}.qbo-card{background-color:#fff;background-color:var(--bg-color,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:.5rem;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.qbo-status-row{align-items:center;display:flex;gap:.5rem;margin-bottom:.75rem}.qbo-status-dot{border-radius:50%;flex-shrink:0;height:.6rem;width:.6rem}.qbo-status-dot--off{background-color:#9ca3af}.qbo-status-dot--on{background-color:#22c55e}.qbo-status-dot--warn{background-color:#f59e0b}.qbo-status-label{color:#111827;color:var(--text-color,#111827);font-weight:600}.qbo-description{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.9rem;margin:0 0 1.25rem;max-width:60ch}.qbo-banner{border-radius:.375rem;font-size:.875rem;margin-bottom:1rem;padding:.75rem 1rem}.qbo-banner--warn{background-color:#f59e0b1a;border:1px solid #f59e0b4d;color:#92400e}.qbo-banner--error{background-color:#ef44441a;border:1px solid #ef44444d;color:#991b1b}.qbo-meta-grid{grid-gap:1rem;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color,#e5e7eb);display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:1.5rem;padding-bottom:1.5rem}.qbo-meta-item{display:flex;flex-direction:column;gap:.25rem}.qbo-meta-label{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.75rem;letter-spacing:.04em;text-transform:uppercase}.qbo-meta-value{color:#111827;color:var(--text-color,#111827);font-size:.95rem;font-weight:500}.qbo-meta-subvalue{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.78rem;margin-top:.1rem}.qbo-cogs-section{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color,#e5e7eb);margin-bottom:1.5rem;padding-bottom:1.5rem}.qbo-cogs-section h3{color:#111827;color:var(--text-color,#111827);font-size:1rem;font-weight:600;margin:0 0 .5rem}.qbo-cogs-empty,.qbo-cogs-loading{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.875rem}.qbo-account-list{border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:.375rem;display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;max-height:220px;overflow-y:auto;padding:.5rem}.qbo-account-item{align-items:center;color:#111827;color:var(--text-color,#111827);cursor:pointer;display:flex;font-size:.9rem;gap:.5rem}.qbo-sync-controls{margin-bottom:1.5rem}.qbo-sync-controls label{color:#6b7280;color:var(--text-secondary,#6b7280);display:block;font-size:.8rem;margin-bottom:.5rem}.qbo-sync-controls-row{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem}.qbo-sync-controls-row input{border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:.375rem;font-size:.9rem;padding:.5rem .75rem;width:9rem}.qbo-sync-controls-row span{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.85rem}.qbo-actions{display:flex;justify-content:flex-end}.btn-danger-outline,.btn-primary,.btn-secondary{border:1px solid #0000;border-radius:.375rem;cursor:pointer;font-size:.9rem;font-weight:500;padding:.55rem 1.1rem;transition:opacity .15s ease}.btn-danger-outline:disabled,.btn-primary:disabled,.btn-secondary:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background-color:#3b82f6;background-color:var(--primary-color,#3b82f6);color:#fff}.btn-secondary{background-color:#fff;background-color:var(--bg-color,#fff);border-color:#e5e7eb;border-color:var(--border-color,#e5e7eb);color:#111827;color:var(--text-color,#111827)}.btn-danger-outline{background-color:initial;border-color:#ef4444;color:#ef4444}
/*# sourceMappingURL=main.0843f896.css.map*/