@import"https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&family=Roboto:wght@400;500&display=swap";:root{--sidebar-bg: #0F172A;--sidebar-bg2: #020617;--sidebar-active-bg: #1E293B;--sidebar-accent: #F97316;--sidebar-text: #94A3B8;--sidebar-text-active: #F8FAFC;--sidebar-border: rgba(148,163,184,.12);--sidebar-width: 240px;--sidebar-width-collapsed: 64px;--primary-color: #F97316;--primary-hover: #EA580C;--accent-light: #FFF7ED;--background-bg: #F1F5F9;--surface-bg: #FFFFFF;--bg-card: #FFFFFF;--bg-card-hover: #FAFAFA;--border-color: #E2E8F0;--border-strong: #CBD5E1;--text-primary: #0F172A;--text-secondary: #64748B;--text-muted: #94A3B8;--success-color: #16A34A;--success-bg: #F0FDF4;--error-color: #DC2626;--error-bg: #FEF2F2;--warning-color: #D97706;--warning-bg: #FFFBEB;--info-color: #2563EB;--info-bg: #EFF6FF;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--shadow-sm: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 12px rgba(0,0,0,.08);--shadow-lg: 0 8px 24px rgba(0,0,0,.1);--secondary-color: #1A1A1A}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--background-bg);color:var(--text-primary);line-height:1.5;min-height:100vh}a{color:var(--primary-color);text-decoration:none;transition:color .2s ease}a:hover{color:var(--primary-hover)}button{font-family:inherit;border:none;cursor:pointer}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#c4cdd5;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#919eab}::-moz-selection{background:#f603;color:var(--primary-color)}::selection{background:#f603;color:var(--primary-color)}:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.login-page{min-height:100vh;display:flex}.login-brand{flex:1;background:linear-gradient(160deg,var(--sidebar-bg) 0%,#1a0a00 100%);display:flex;flex-direction:column;justify-content:center;padding:60px 64px;position:relative;overflow:hidden}.login-brand:before{content:"";position:absolute;top:-120px;right:-120px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(249,115,22,.15) 0%,transparent 70%);pointer-events:none}.login-brand:after{content:"";position:absolute;bottom:-80px;left:-80px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(249,115,22,.1) 0%,transparent 70%);pointer-events:none}.login-brand-logo{display:flex;align-items:center;gap:12px;margin-bottom:60px}.login-brand-icon{width:44px;height:44px;background:var(--primary-color);border-radius:10px;display:flex;align-items:center;justify-content:center}.login-brand-icon svg{width:26px;height:26px;fill:#fff}.login-brand-name{font-size:1.3rem;font-weight:700;color:#fff;letter-spacing:-.02em}.login-brand-tagline{font-size:2.1rem;font-weight:700;color:#fff;line-height:1.25;letter-spacing:-.03em;margin-bottom:16px;max-width:400px}.login-brand-tagline span{color:var(--primary-color)}.login-brand-sub{font-size:1rem;color:var(--sidebar-text);margin-bottom:48px;line-height:1.6;max-width:380px}.login-features{display:flex;flex-direction:column;gap:16px}.login-feature{display:flex;align-items:center;gap:14px}.login-feature-icon{width:36px;height:36px;border-radius:8px;background:#f9731626;border:1px solid rgba(249,115,22,.25);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--primary-color)}.login-feature-icon svg{width:16px;height:16px}.login-feature-text{font-size:.875rem;color:#cbd5e1;font-weight:500}.login-form-panel{flex:1;background:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:60px 40px}.login-form-inner{width:100%;max-width:400px}.login-form-header{margin-bottom:36px}.login-form-header h2{font-size:1.7rem;font-weight:700;color:var(--text-primary);letter-spacing:-.03em;margin-bottom:6px}.login-form-header p{color:var(--text-secondary);font-size:.9rem}.login-form{display:flex;flex-direction:column;gap:20px}.form-group label{color:var(--text-primary);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.form-group input{padding:13px 16px;border-radius:var(--radius-md);border:1.5px solid var(--border-color);background:var(--background-bg);color:var(--text-primary);font-size:.95rem;transition:all .2s ease;font-family:inherit}.form-group input:focus{outline:none;border-color:var(--primary-color);background:#fff;box-shadow:0 0 0 4px #f973161a}.form-group input::-moz-placeholder{color:var(--text-muted)}.form-group input::placeholder{color:var(--text-muted)}.login-btn{padding:14px 24px;border-radius:var(--radius-md);background:var(--primary-color);color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:4px;box-shadow:0 4px 14px #f9731659;font-family:inherit;letter-spacing:.01em}.login-btn:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 6px 20px #f9731673}.login-btn:disabled{opacity:.65;cursor:not-allowed;transform:none;box-shadow:none}.error-message{background:var(--error-bg);border:1px solid rgba(220,38,38,.2);color:var(--error-color);padding:12px 16px;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;display:flex;align-items:center;gap:8px}@media(max-width:900px){.login-page{flex-direction:column}.login-brand{padding:40px 32px 36px;flex:none}.login-brand-tagline{font-size:1.5rem}.login-features{display:none}.login-brand-sub{margin-bottom:0;font-size:.875rem}.login-form-panel{width:100%;padding:40px 32px;flex:1;align-items:stretch}.login-form-inner{max-width:100%}}@media(max-width:480px){.login-brand{padding:28px 20px}.login-form-panel{padding:32px 20px}.login-brand-tagline{font-size:1.3rem}}.dashboard-container{max-width:1400px;margin:0 auto}.dashboard-header{margin-bottom:24px}.dashboard-header h1{font-size:1.8rem;color:var(--text-primary);margin:0}.dashboard-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px}.dashboard-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);height:100%}.dashboard-card h3{font-size:.95rem;color:var(--text-secondary);margin:0 0 16px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.sales-overview-container{grid-column:span 12}.overview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.overview-header h3{margin:0;font-size:1.1rem;color:var(--text-secondary);font-weight:600}.view-toggle{display:flex;background:var(--background-bg);border:1px solid var(--border-color);border-radius:8px;padding:3px}.toggle-btn{border:none;background:transparent;padding:5px 12px;border-radius:6px;color:var(--text-secondary);font-weight:600;cursor:pointer;font-size:.85rem;transition:all .2s;font-family:inherit}.toggle-btn.active{background:var(--surface-bg);color:var(--primary-color);box-shadow:var(--shadow-sm)}.sales-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.stat-card{background:var(--bg-card);padding:20px;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;transition:box-shadow .2s}.stat-card:hover{box-shadow:var(--shadow-md)}.stat-content h4{margin:0;font-size:.9rem;color:var(--text-secondary);font-weight:500}.stat-value{font-size:1.8rem;font-weight:700;color:var(--text-primary);margin:8px 0 0}.stat-subtext{font-size:.85rem;color:var(--text-tertiary);margin-top:4px}.stat-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon.sales{background:var(--accent-light);color:var(--primary-color)}.stat-icon.orders{background:var(--info-bg);color:var(--info-color)}.stat-icon.avg{background:var(--success-bg);color:var(--success-color)}.machine-status-card{grid-column:span 4}.status-donut{display:flex;justify-content:center;position:relative;height:200px}.status-legend{display:flex;justify-content:space-around;margin-top:16px}.legend-item{display:flex;align-items:center;gap:8px;font-size:.9rem}.legend-dot{width:12px;height:12px;border-radius:50%}.transaction-status-card{height:400px;display:flex;flex-direction:column}.transaction-status-card .status-donut-wrap{flex-shrink:0}.status-legend-list{display:flex;flex-direction:column;margin-top:12px;flex:1;min-height:0;justify-content:space-evenly;gap:0;overflow:hidden}.status-legend-row{display:flex;align-items:center;gap:10px;padding:4px;border-radius:8px;font-size:.9rem;transition:opacity .15s,background .15s}.status-legend-row:hover{background:#f8fafc}.status-legend-row .legend-dot{flex-shrink:0}.status-legend-name{flex:1;color:#475569;text-transform:uppercase;font-size:.8rem;letter-spacing:.03em}.status-legend-val{font-weight:700;color:#0f172a;font-variant-numeric:tabular-nums}.status-legend-pct{min-width:52px;text-align:right;color:#94a3b8;font-size:.85rem;font-variant-numeric:tabular-nums}.restock-widget{grid-column:span 4;display:flex;flex-direction:column}.restock-list{flex:1;overflow-y:auto;max-height:300px}.restock-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border-color);cursor:pointer;transition:background .2s}.restock-item:hover{background:var(--background-bg)}.restock-item:last-child{border-bottom:none}.restock-total-slots{margin:2px 0 0;font-size:12px;color:var(--text-muted, #94a3b8);font-weight:400}.restock-empty{padding:32px 20px;text-align:center;color:var(--text-muted);font-size:.9rem}.restock-details{background:var(--background-bg);padding:10px 14px;border-radius:0 0 var(--radius-sm) var(--radius-sm)}.restock-slot-row{display:flex;justify-content:space-between;font-size:.82rem;padding:5px 0;border-bottom:1px solid var(--border-color);color:var(--text-body)}.restock-slot-row:last-child{border-bottom:none}.slot-product{color:var(--text-muted)}.slot-stock-ratio{color:var(--primary-color);font-weight:600}.restock-widget .view-toggle .toggle-btn{padding:4px 9px;font-size:.78rem;white-space:nowrap}.toggle-btn-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:4px 7px!important;color:var(--text-secondary)}.toggle-btn-icon.active{color:var(--primary-color)}.toggle-badge{position:absolute;top:-5px;right:-5px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--primary-color);color:#fff;font-size:.65rem;font-weight:700;line-height:16px;text-align:center;box-shadow:0 0 0 2px var(--surface-bg)}.machine-info h5{margin:0;font-size:.95rem}.restock-count{background:var(--accent-light);color:var(--primary-color);padding:4px 12px;border-radius:12px;font-size:.8rem;font-weight:600}.uptime-widget{grid-column:span 4}.transaction-chart{grid-column:span 8;height:400px}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.chart-toggles button{background:#f4f6f8;border:none;padding:6px 12px;border-radius:8px;font-size:.85rem;cursor:pointer;margin-left:8px;color:var(--text-secondary)}.chart-toggles button.active{background:var(--primary-color);color:#fff}.top-performers{grid-column:span 6}.performers-list{margin-top:16px}.performer-item{display:flex;align-items:center;padding:12px 0;border-bottom:1px solid var(--border-color)}.rank{width:24px;height:24px;background:#f4f6f8;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;color:var(--text-secondary);margin-right:12px;font-weight:600}.rank.top-1{background:gold;color:#fff}.rank.top-2{background:silver;color:#fff}.rank.top-3{background:#cd7f32;color:#fff}.performer-info{flex:1}.performer-name{display:block;font-weight:500;font-size:.95rem}.performer-sales{font-weight:600;color:var(--text-primary)}.performer-sub{display:block;font-size:.8rem;color:var(--text-muted);margin-top:1px}.no-data{font-size:.85rem;color:var(--text-muted);padding:16px 0}@media(max-width:1024px){.dashboard-grid{grid-template-columns:1fr;gap:16px}.machine-status-card,.restock-widget,.uptime-widget,.transaction-chart,.top-performers,.sales-overview-container{grid-column:span 1}.transaction-chart{height:320px}.dashboard-container{padding:12px}}@media(max-width:768px){.dashboard-grid{display:flex;flex-direction:column;gap:12px}.sales-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stat-card{padding:12px 10px;flex-direction:column;align-items:flex-start;gap:4px}.stat-icon{display:none}.stat-value{font-size:1.1rem}.stat-subtext{font-size:.7rem}.stat-content h4{font-size:.72rem}.transaction-chart,.transaction-status-card{height:auto}.chart-header{flex-direction:column;align-items:flex-start;gap:10px}.chart-toggles{width:100%;display:flex;gap:6px}.chart-toggles button{flex:1;margin-left:0;text-align:center;padding:8px 6px;font-size:.75rem}.restock-list{max-height:200px}.status-donut{height:160px}.performer-item{padding:10px 0}.performer-name{font-size:.85rem}.rank{width:20px;height:20px;font-size:.7rem;margin-right:8px}.dashboard-card{padding:14px}.dashboard-card h3{font-size:.95rem;margin-bottom:12px}}@media(max-width:400px){.sales-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.stat-card{padding:10px 8px}.stat-value{font-size:1rem}.transaction-chart{height:auto}.toggle-btn{padding:5px 8px;font-size:.75rem}.overview-header{flex-wrap:wrap;gap:8px}.dashboard-grid{gap:10px}.dashboard-card{padding:12px}}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes formSlideIn{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.product-form-overlay{position:fixed;inset:0;z-index:1000;background:#0f172a99;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:24px 16px;animation:overlayFadeIn .2s ease;overflow-y:auto}.product-form-container{position:relative;width:100%;max-width:720px;background:var(--surface-bg, #ffffff);border-radius:var(--radius-xl, 18px);box-shadow:0 24px 48px #0f172a2e,0 8px 16px #0f172a14;display:flex;flex-direction:column;max-height:calc(100vh - 48px);animation:formSlideIn .28s cubic-bezier(.16,1,.3,1);overflow:hidden;margin:0 auto}.product-form-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color, #E2E8F0);flex-shrink:0;position:sticky;top:0;background:var(--surface-bg, #ffffff);z-index:10}.product-form-header h2{margin:0;font-size:1.1rem;font-weight:700;color:var(--text-primary, #0F172A);letter-spacing:-.01em;line-height:1.3}.product-form-header-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:var(--background-bg, #F1F5F9);border-radius:10px;color:var(--text-secondary, #64748B);cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease;flex-shrink:0}.product-form-header-close:hover{background:#fee2e2;color:#ef4444;transform:rotate(90deg)}.product-form-loading{display:flex;align-items:center;justify-content:center;padding:60px 24px;color:var(--text-secondary, #64748B);font-size:.9rem;font-weight:500;letter-spacing:.01em}.error-banner{margin:12px 24px 0;padding:10px 14px;background:var(--error-bg, #FEF2F2);border:1px solid #fecaca;border-radius:var(--radius-md, 10px);color:var(--error-color, #DC2626);font-size:.875rem;font-weight:500;line-height:1.4;flex-shrink:0}.product-form{display:flex;flex-direction:column;flex:1;overflow:hidden;min-height:0}.product-form-body{display:flex;flex-direction:column;gap:16px;padding:20px 24px;overflow-y:auto;flex:1;min-height:0}.form-section{border:1px solid var(--border-color, #E2E8F0);border-radius:var(--radius-lg, 14px);background:var(--surface-bg, #ffffff)}.form-section>*:first-child{border-radius:var(--radius-lg, 14px) var(--radius-lg, 14px) 0 0}.form-section>*:last-child{border-radius:0 0 var(--radius-lg, 14px) var(--radius-lg, 14px)}.form-section-title{padding:9px 16px;background:var(--background-bg, #F1F5F9);border-bottom:1px solid var(--border-color, #E2E8F0);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-secondary, #64748B)}.form-section-body{padding:16px;display:flex;flex-direction:column;gap:14px}.form-group-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-group-row.three-col{grid-template-columns:1fr 1fr 1fr}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary, #64748B)}.form-group input[type=text],.form-group input[type=number],.form-group textarea,.category-search-input{padding:9px 12px;border:1.5px solid var(--border-color, #E2E8F0);border-radius:var(--radius-md, 10px);font-size:.9rem;color:var(--text-primary, #0F172A);background:var(--surface-bg, #ffffff);font-family:inherit;transition:border-color .18s ease,box-shadow .18s ease;outline:none;width:100%;box-sizing:border-box}.form-group input[type=text]:focus,.form-group input[type=number]:focus,.form-group textarea:focus,.category-search-input:focus{border-color:var(--primary-color, #F97316);box-shadow:0 0 0 3px #f973161f}.form-group input::-moz-placeholder,.form-group textarea::-moz-placeholder,.category-search-input::-moz-placeholder{color:var(--text-muted, #94A3B8)}.form-group input::placeholder,.form-group textarea::placeholder,.category-search-input::placeholder{color:var(--text-muted, #94A3B8)}.form-group small{font-size:.75rem;color:var(--text-muted, #94A3B8);line-height:1.4}.product-details-textarea{resize:vertical;min-height:80px;line-height:1.5}.category-search-input{margin-bottom:8px}.categories-grid{display:flex;flex-wrap:wrap;gap:8px;max-height:180px;overflow-y:auto;padding:4px 2px}.categories-grid::-webkit-scrollbar{width:4px}.categories-grid::-webkit-scrollbar-track{background:transparent}.categories-grid::-webkit-scrollbar-thumb{background:var(--border-strong, #CBD5E1);border-radius:999px}.category-checkbox-label{display:inline-flex;align-items:center;padding:5px 12px;border:1.5px solid var(--border-color, #E2E8F0);border-radius:999px;font-size:.8rem;font-weight:500;color:var(--text-secondary, #64748B);background:var(--surface-bg, #ffffff);cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease,box-shadow .15s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.category-checkbox-label input[type=checkbox]{display:none}.category-checkbox-label:hover{border-color:var(--primary-color, #F97316);background:var(--accent-light, #FFF7ED);color:var(--primary-color, #F97316)}.category-checkbox-label.selected{border-color:var(--primary-color, #F97316);background:var(--primary-color, #F97316);color:#fff;box-shadow:0 2px 6px #f9731640}.category-checkbox-label.selected:hover{background:var(--primary-hover, #EA580C);border-color:var(--primary-hover, #EA580C);color:#fff}.image-upload-container{border-radius:var(--radius-md, 10px);overflow:hidden;transition:background .2s ease}.upload-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:36px 24px;border:2px dashed var(--border-strong, #CBD5E1);border-radius:var(--radius-md, 10px);background:var(--background-bg, #F1F5F9);cursor:pointer;transition:border-color .2s ease,background .2s ease}.upload-placeholder:hover,.image-upload-container.dragging .upload-placeholder{border-color:var(--primary-color, #F97316);background:var(--accent-light, #FFF7ED)}.upload-placeholder span{font-size:.875rem;font-weight:600;color:var(--text-secondary, #64748B)}.upload-placeholder small{font-size:.75rem;color:var(--text-muted, #94A3B8)}.upload-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--surface-bg, #ffffff);border:1.5px solid var(--border-color, #E2E8F0);border-radius:var(--radius-md, 10px);color:var(--text-secondary, #64748B);box-shadow:var(--shadow-sm);margin-bottom:4px}.image-upload-container.dragging .upload-icon{border-color:var(--primary-color, #F97316);color:var(--primary-color, #F97316)}.image-preview-wrapper{position:relative;max-width:280px;border-radius:var(--radius-md, 10px);overflow:hidden;border:1.5px solid var(--border-color, #E2E8F0);box-shadow:var(--shadow-sm)}.image-preview{width:100%;height:auto;display:block}.image-actions{position:absolute;bottom:0;left:0;right:0;background:#0f172ab3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;padding:10px 12px;gap:8px}.change-img-btn,.remove-img-btn{flex:1;text-align:center;padding:6px 10px;border-radius:var(--radius-sm, 6px);cursor:pointer;font-size:.8rem;font-weight:600;transition:all .15s ease}.change-img-btn{background:#ffffffeb;color:var(--text-primary, #0F172A);border:none}.change-img-btn:hover{background:#fff}.remove-img-btn{background:transparent;border:1.5px solid rgba(255,255,255,.5);color:#fff}.remove-img-btn:hover{background:#ef4444cc;border-color:transparent}.org-toggle-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:11px 14px;background:var(--surface-bg, #ffffff);border:1.5px solid var(--border-color, #E2E8F0);border-radius:var(--radius-md, 10px);font-size:.875rem;font-weight:600;color:var(--text-primary, #0F172A);cursor:pointer;text-align:left;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;font-family:inherit}.org-toggle-btn:hover{border-color:var(--primary-color, #F97316);background:var(--accent-light, #FFF7ED);box-shadow:0 0 0 3px #f9731614}.org-toggle-label{display:flex;align-items:center;gap:8px;color:var(--text-secondary, #64748B)}.org-toggle-btn:hover .org-toggle-label{color:var(--primary-color, #F97316)}.org-toggle-chevron{width:16px;height:16px;color:var(--text-muted, #94A3B8);transition:transform .22s cubic-bezier(.16,1,.3,1);flex-shrink:0}.org-toggle-chevron.open{transform:rotate(180deg)}.org-prices-list{margin-top:10px;display:flex;flex-direction:column;gap:6px}.org-price-row{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--background-bg, #F1F5F9);border:1px solid var(--border-color, #E2E8F0);border-radius:var(--radius-md, 10px)}.org-name{flex:1;font-size:.875rem;font-weight:600;color:var(--text-primary, #0F172A);min-width:120px}.org-price-fields{display:flex;gap:8px;flex:2}.org-price-fields input{flex:1;padding:7px 10px;border:1.5px solid var(--border-color, #E2E8F0);border-radius:var(--radius-sm, 6px);font-size:.85rem;color:var(--text-primary, #0F172A);background:var(--surface-bg, #ffffff);font-family:inherit;outline:none;transition:border-color .18s ease,box-shadow .18s ease;min-width:0;box-sizing:border-box}.org-price-fields input:focus{border-color:var(--primary-color, #F97316);box-shadow:0 0 0 3px #f973161f}.org-price-fields input::-moz-placeholder{color:var(--text-muted, #94A3B8)}.org-price-fields input::placeholder{color:var(--text-muted, #94A3B8)}.duplicate-warning{background:var(--warning-bg, #FFFBEB);border:1.5px solid #fde68a;border-radius:var(--radius-lg, 14px);padding:16px 18px}.duplicate-warning h4{margin:0 0 8px;font-size:.9rem;font-weight:700;color:var(--warning-color, #D97706)}.duplicate-warning p{margin:0 0 10px;font-size:.875rem;color:#92400e;line-height:1.5}.duplicate-list{margin:0 0 14px;padding-left:18px;color:#92400e;font-size:.875rem}.duplicate-list li{margin-bottom:4px}.brand-badge{display:inline-block;background:#d97706;color:#fffbeb;padding:2px 7px;border-radius:999px;font-size:.72rem;font-weight:700;margin-left:6px;vertical-align:middle}.duplicate-actions{display:flex;gap:8px}.confirm-duplicate-btn,.cancel-duplicate-btn{padding:8px 16px;border-radius:var(--radius-sm, 6px);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s ease;font-family:inherit}.confirm-duplicate-btn{background:var(--error-color, #DC2626);border:none;color:#fff}.confirm-duplicate-btn:hover:not(:disabled){background:#b91c1c;transform:translateY(-1px)}.confirm-duplicate-btn:disabled{opacity:.6;cursor:not-allowed}.cancel-duplicate-btn{background:transparent;border:1.5px solid #d97706;color:#d97706}.cancel-duplicate-btn:hover{background:#fef3c7}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 24px;border-top:1px solid var(--border-color, #E2E8F0);flex-shrink:0;background:var(--surface-bg, #ffffff);position:sticky;bottom:0;z-index:10}.cancel-btn{padding:9px 20px;border-radius:var(--radius-md, 10px);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .18s ease;background:transparent;border:1.5px solid var(--border-strong, #CBD5E1);color:var(--text-secondary, #64748B);font-family:inherit}.cancel-btn:hover{background:var(--background-bg, #F1F5F9);border-color:var(--border-strong, #CBD5E1);color:var(--text-primary, #0F172A)}.save-btn{padding:9px 22px;border-radius:var(--radius-md, 10px);font-size:.875rem;font-weight:700;cursor:pointer;transition:all .18s ease;background:var(--primary-color, #F97316);border:none;color:#fff;box-shadow:0 2px 8px #f973164d;font-family:inherit}.save-btn:hover:not(:disabled){background:var(--primary-hover, #EA580C);box-shadow:0 4px 14px #f9731666;transform:translateY(-1px)}.save-btn:disabled{opacity:.65;cursor:not-allowed;transform:none;box-shadow:none}@media(max-width:768px){.product-form-overlay{padding:16px;align-items:center}.product-form-container{max-height:calc(100vh - 32px);border-radius:var(--radius-xl, 18px)}.form-group-row,.form-group-row.three-col{grid-template-columns:1fr 1fr}.image-preview-wrapper{max-width:100%}.duplicate-actions{flex-wrap:wrap}.confirm-duplicate-btn,.cancel-duplicate-btn{flex:1;text-align:center}}@media(max-width:560px){.product-form-overlay{padding:0;align-items:flex-end}.product-form-container{max-width:100%;border-radius:20px 20px 0 0;max-height:92vh;animation:modalSlideUp .3s cubic-bezier(.16,1,.3,1)}.product-form-header{padding:16px 18px}.product-form-body{padding:16px 18px;gap:12px}.form-section-body{padding:14px;gap:12px}.form-group-row,.form-group-row.three-col{grid-template-columns:1fr}.form-actions{padding:12px 18px;gap:8px;flex-direction:row}.cancel-btn{flex:1;text-align:center}.save-btn{flex:2;text-align:center}.org-price-row{flex-direction:column;align-items:stretch;gap:8px}.org-name{min-width:unset}.org-price-fields{flex:unset}.upload-placeholder{padding:28px 16px}.error-banner{margin:10px 18px 0}}@media(max-width:380px){.product-form-header h2{font-size:1rem}.categories-grid{max-height:140px}}.remove-org-overlay{position:fixed;inset:0;z-index:1000;background:#0f172a8c;display:flex;align-items:center;justify-content:center;padding:16px}.remove-org-modal{width:100%;max-width:440px;max-height:90vh;overflow-y:auto;background:var(--surface-bg, #ffffff);border-radius:var(--radius-xl, 18px);box-shadow:0 20px 50px #00000040;padding:22px}.remove-org-modal-header h3{margin:0 0 12px;font-size:1.05rem;color:var(--text-primary, #0F172A)}.remove-org-text{margin:0 0 14px;font-size:14px;line-height:1.5;color:var(--text-secondary, #64748B)}.remove-org-all{display:flex;align-items:center;gap:10px;padding:10px 12px;margin-bottom:10px;font-size:14px;font-weight:600;color:var(--text-primary, #0F172A);background:var(--background-bg, #F1F5F9);border-radius:var(--radius-md, 10px);cursor:pointer}.remove-org-list{display:flex;flex-direction:column;gap:4px;max-height:220px;overflow-y:auto;margin-bottom:6px}.remove-org-item{display:flex;align-items:center;gap:10px;padding:9px 12px;font-size:14px;color:var(--text-primary, #0F172A);border:1px solid var(--border-color, #E2E8F0);border-radius:var(--radius-md, 10px);cursor:pointer}.remove-org-item:hover{border-color:var(--error-color, #DC2626)}.remove-org-conflict{margin-top:12px;padding:12px 14px;font-size:13px;color:var(--error-color, #DC2626);background:var(--error-bg, #FEF2F2);border:1px solid var(--error-color, #DC2626);border-radius:var(--radius-md, 10px)}.remove-org-conflict p{margin:0 0 8px}.remove-org-conflict ul{margin:0;padding-left:18px}.remove-org-modal .error-banner{padding:10px 12px;font-size:13px;background:var(--error-bg, #FEF2F2);border:1px solid var(--error-color, #DC2626);border-radius:var(--radius-md, 10px);color:var(--error-color, #DC2626)}.remove-org-actions{display:flex;gap:10px;margin-top:20px}.remove-org-actions .cancel-btn{flex:1;padding:10px 16px;font-size:14px;font-weight:600;cursor:pointer;color:var(--text-secondary, #64748B);background:var(--surface-bg, #ffffff);border:1.5px solid var(--border-color, #E2E8F0);border-radius:var(--radius-md, 10px)}.remove-org-actions .cancel-btn:hover:not(:disabled){background:var(--background-bg, #F1F5F9)}.remove-org-confirm{flex:1;padding:10px 16px;font-size:14px;font-weight:600;cursor:pointer;color:#fff;background:var(--error-color, #DC2626);border:none;border-radius:var(--radius-md, 10px);transition:background .15s ease}.remove-org-confirm:hover:not(:disabled){background:#b91c1c}.remove-org-confirm.force{background:#b45309}.remove-org-confirm.force:hover:not(:disabled){background:#92400e}.remove-org-confirm:disabled,.remove-org-actions .cancel-btn:disabled{opacity:.55;cursor:not-allowed}.products-list-container{display:flex;flex-direction:column;gap:24px}.products-list-header{display:flex;justify-content:space-between;align-items:center;gap:16px}.products-list-header h2{margin:0;font-size:1.4rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.products-actions{display:flex;gap:10px;align-items:center}.products-search-input{padding:8px 14px;border:1px solid var(--border-color);border-radius:8px;min-width:240px;font-size:.875rem;color:var(--text-primary);background:#fff;outline:none;transition:border-color .15s,box-shadow .15s;font-family:inherit}.products-search-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #f973161f}.add-product-btn{display:inline-flex;align-items:center;gap:6px;background:var(--primary-color);color:#fff;border:none;padding:8px 18px;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap;font-family:inherit}.add-product-btn:hover{background:var(--primary-hover)}.export-products-btn{display:inline-flex;align-items:center;gap:6px;background:#fff;color:var(--primary-color);border:1px solid var(--primary-color);padding:8px 16px;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s;white-space:nowrap;font-family:inherit}.export-products-btn:hover{background:var(--primary-color);color:#fff}.export-products-btn:disabled{opacity:.6;cursor:default}.products-filter-toggle{display:inline-flex;align-items:center;justify-content:center;position:relative;width:38px;height:38px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;color:var(--text-secondary);transition:all .15s;flex-shrink:0}.products-filter-toggle:hover,.products-filter-toggle.active{border-color:var(--primary-color);color:var(--primary-color);background:var(--accent-light, #FFF7ED)}.products-filter-toggle.has-filters{border-color:var(--primary-color)}.filter-badge{position:absolute;top:6px;right:6px;width:7px;height:7px;background:var(--primary-color);border-radius:50%}.products-filter-panel{max-height:0;overflow:hidden;transition:max-height .3s ease,opacity .25s ease;opacity:0}.products-filter-panel.open{max-height:200px;opacity:1}.filter-panel-inner{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap;padding:16px 20px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg, 12px);box-shadow:0 2px 8px #0000000a}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.filter-price-inputs{display:flex;align-items:center;gap:8px}.price-input-wrapper{display:flex;align-items:center;background:#fff;border:1px solid var(--border-color);border-radius:8px;overflow:hidden;transition:border-color .15s,box-shadow .15s}.price-input-wrapper:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px #f973161f}.price-currency{padding:0 0 0 10px;font-size:.8rem;font-weight:600;color:var(--text-muted);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.filter-price-input{width:80px;padding:7px 10px 7px 4px;border:none;outline:none;font-size:.85rem;color:var(--text-primary);background:transparent;font-family:inherit}.filter-price-input::-moz-placeholder{color:var(--text-muted)}.filter-price-input::placeholder{color:var(--text-muted)}.filter-price-input::-webkit-inner-spin-button,.filter-price-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.filter-price-input[type=number]{-moz-appearance:textfield}.price-separator{color:var(--text-muted);font-weight:500;font-size:.9rem}.filter-select{padding:7px 32px 7px 12px;border:1px solid var(--border-color);border-radius:8px;font-size:.85rem;color:var(--text-primary);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") no-repeat right 10px center;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none;transition:border-color .15s,box-shadow .15s;font-family:inherit;min-width:130px}.filter-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #f973161f}.filter-clear-btn{padding:7px 16px;background:transparent;border:1px solid var(--border-color);border-radius:8px;font-size:.8rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .15s;font-family:inherit;white-space:nowrap}.filter-clear-btn:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.product-code-badge{display:inline-block;background:#eff6ff;color:#3b82f6;font-size:.68rem;font-weight:600;padding:2px 8px;border-radius:6px;border:1px solid #BFDBFE;font-family:monospace;letter-spacing:.02em;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.products-grouped-container{display:flex;flex-direction:column;gap:32px}.brand-group-title{display:flex;align-items:center;gap:12px;margin:0 0 14px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-secondary)}.brand-group-title span{background:#f6dbd2;padding:4px 12px;border-radius:6px;white-space:nowrap;flex-shrink:0}.brand-group-title:after{content:"";flex:1;height:1px;background:var(--border-color)}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.product-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s;box-shadow:var(--shadow-card, 0 1px 3px rgba(0, 0, 0, .06))}.product-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.product-image-container{width:100%;height:130px;background:#f4f6f8;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;border-bottom:1px solid #F0F0F0}.product-image-container img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;background:#fff;padding:8px;box-sizing:border-box}.image-placeholder{display:flex;flex-direction:column;align-items:center;gap:6px;color:#c4cdd5;width:100%;height:100%;background:#f4f6f8;justify-content:center}.image-placeholder svg{width:32px;height:32px;color:#c4cdd5}.image-placeholder span{font-size:.7rem;color:#94a3b8;font-weight:500;text-transform:uppercase;letter-spacing:.04em}.product-info{flex:1;padding:12px 14px 10px;display:flex;flex-direction:column;gap:6px}.product-name{margin:0;font-size:.875rem;font-weight:600;color:var(--text-primary);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-prices{display:flex;gap:10px;font-size:.8rem}.product-prices .price{font-weight:700;color:var(--success-color, #16A34A)}.product-prices .cost{color:var(--text-muted);font-weight:500}.product-categories-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.category-badge{background:var(--background-bg);color:var(--text-muted);font-size:.68rem;font-weight:600;padding:2px 7px;border-radius:10px;border:1px solid var(--border-color);text-transform:uppercase;letter-spacing:.03em}.product-card-actions{display:flex;gap:8px;margin:0 14px 12px;flex-shrink:0}.edit-product-btn{flex:1;min-width:0;padding:7px;background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);border-radius:7px;cursor:pointer;font-size:.8rem;font-weight:600;transition:all .15s;font-family:inherit}.edit-product-btn:hover{background:var(--accent-light);border-color:var(--primary-color);color:var(--primary-color)}.delete-product-btn{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:34px;padding:7px;background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);border-radius:7px;cursor:pointer;transition:all .15s;font-family:inherit}.delete-product-btn-label{display:none}.delete-product-btn:hover{background:var(--error-bg, #FEF2F2);border-color:var(--error-color, #DC2626);color:var(--error-color, #DC2626)}.no-products{text-align:center;padding:60px 20px;color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:.9rem}.loading-indicator{text-align:center;padding:32px;color:var(--text-muted);font-size:.875rem}.load-more-container{text-align:center;padding-top:8px}.load-more-btn{background:var(--bg-card);border:1px solid var(--border-color);padding:9px 28px;border-radius:8px;color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s;font-family:inherit}.load-more-btn:hover{background:var(--background-bg);color:var(--text-primary);border-color:var(--border-strong, #CBD5E1)}@media(max-width:1024px){.products-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}@media(max-width:768px){.products-list-header{flex-wrap:wrap;gap:10px}.products-actions{width:100%;gap:8px}.products-search-input{flex:1;min-width:0}.products-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.filter-panel-inner{flex-direction:column;align-items:stretch;gap:14px}.filter-price-inputs{width:100%}.price-input-wrapper{flex:1}.filter-price-input,.filter-select{width:100%}}@media(max-width:480px){.products-grid{grid-template-columns:1fr 1fr;gap:10px}.products-grouped-container{gap:24px}.add-product-btn{white-space:nowrap;padding:8px 14px;font-size:.8rem}}.sales-container{display:flex;flex-direction:column;gap:20px}.sales-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.summary-card{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}.summary-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.summary-card .label{font-size:.8rem;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.summary-card .value{font-size:1.6rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.summary-card .value.positive{color:var(--success-color)}.summary-card .value.negative{color:var(--error-color)}.sales-filters{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:16px 20px;box-shadow:var(--shadow-sm)}.filters-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:4px;min-width:0}.filter-group label{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.filter-group select,.filter-group input{padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.85rem;color:var(--text-primary);background:#fff;outline:none;transition:border-color .2s;font-family:inherit;min-width:120px}.filter-group select:focus,.filter-group input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #f973161f}.filter-group input[type=date]{min-width:140px}.filter-group input[type=number]{min-width:100px}.filter-actions{display:flex;gap:8px;align-items:flex-end;padding-bottom:1px}.filter-apply-btn{padding:8px 20px;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap}.filter-apply-btn:hover{background:var(--primary-hover)}.filter-clear-btn{padding:8px 16px;background:transparent;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.filter-clear-btn:hover{background:#f4f6f8;color:var(--text-primary)}.machine-chips{display:flex;flex-wrap:wrap;gap:8px;padding:4px 0}.machine-chip{padding:6px 14px;background:#fff;border:1px solid var(--border-color);border-radius:20px;font-size:.8rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.machine-chip:hover{background:#f4f6f8;color:var(--text-primary)}.machine-chip.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color);box-shadow:0 2px 6px #ff660040}.sales-table-wrapper{background-color:#fff;border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow-x:auto;overflow-y:visible;box-shadow:var(--shadow-sm);-webkit-overflow-scrolling:touch;scrollbar-width:none}.sales-table-wrapper::-webkit-scrollbar{display:none}.sales-scroll-indicator{padding:6px 4px 2px}.sales-scroll-indicator-track{position:relative;height:8px;background:#e2e8f0;border-radius:99px;cursor:pointer}.sales-scroll-indicator-thumb{position:absolute;top:0;height:100%;background:var(--primary-color);border-radius:99px;min-width:40px;cursor:grab;transition:none}.sales-scroll-indicator-thumb:active{cursor:grabbing;background:var(--primary-dark, #EA580C)}.sales-table{width:100%;min-width:700px;border-collapse:collapse}.sales-table thead th{background:var(--background-bg);padding:12px 16px;font-size:.72rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;text-align:left;border-bottom:1px solid var(--border-color);white-space:nowrap}.sales-table tbody td{padding:12px 16px;font-size:.88rem;color:var(--text-primary);border-bottom:1px solid #F4F6F8;vertical-align:middle}.sales-table tbody tr:hover{background:var(--background-bg)}.sales-table tbody tr:last-child td{border-bottom:none}.status-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.status-badge.SUCCESS{background:var(--success-bg);color:var(--success-color)}.status-badge.FAILED{background:var(--error-bg);color:var(--error-color)}.status-badge.REFUNDED{background:var(--background-bg);color:var(--text-secondary);border:1px solid var(--border-color)}.status-badge.DISPENSE_ERROR{background:var(--warning-bg);color:var(--warning-color)}.status-badge.CANCELLED{background:var(--background-bg);color:var(--text-secondary);border:1px solid var(--border-color)}.status-badge.MACHINE_ERROR{background:var(--warning-bg);color:var(--warning-color)}.sales-pagination{display:flex;justify-content:center;align-items:center;gap:12px;padding:16px}.pagination-btn{padding:8px 18px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#fff;color:var(--text-secondary);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.pagination-btn:hover:not(:disabled){background:#f4f6f8;color:var(--text-primary)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-info{font-size:.85rem;color:var(--text-secondary);font-weight:500}.sales-empty{text-align:center;padding:60px 20px;color:var(--text-secondary)}.sales-empty p{font-size:1rem}.sales-loading{display:flex;justify-content:center;padding:40px;color:var(--text-secondary)}@media(max-width:1024px){.sales-summary{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.sales-summary{grid-template-columns:1fr 1fr;gap:10px}.summary-card{padding:14px}.summary-card .value{font-size:1.2rem}.filters-row{flex-direction:column;align-items:stretch;gap:10px}.filter-group select,.filter-group input{width:100%;min-width:unset}.filter-actions{flex-direction:row;width:100%}.filter-apply-btn,.filter-clear-btn{flex:1;text-align:center}}@media(max-width:480px){.sales-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.sales-filters{padding:12px 14px}.sales-pagination{gap:8px;padding:12px}.pagination-btn{padding:8px 12px;font-size:.8rem}.pagination-info{font-size:.8rem}}.td-actions{width:36px;padding:8px 4px 8px 12px!important}.kebab-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:8px;background:transparent;color:var(--text-muted, #94a3b8);cursor:pointer;transition:all .2s ease}.kebab-btn:hover{background:#f1f5f9;color:var(--primary-color, #f97316);transform:scale(1.1)}.kebab-btn:active{transform:scale(.95)}.order-modal-overlay{position:fixed;inset:0;z-index:9999;background:#00000073;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:24px;animation:modalOverlayIn .2s ease}@keyframes modalOverlayIn{0%{opacity:0}to{opacity:1}}.order-modal{background:#fff;border-radius:16px;width:100%;max-width:560px;max-height:min(85vh,calc(100vh - 48px));overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 48px #0000002e,0 4px 12px #00000014,0 0 0 1px #0000000a;animation:modalSlideIn .25s cubic-bezier(.16,1,.3,1)}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.order-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #f1f5f9;flex-shrink:0}.order-modal-header h3{font-size:1.1rem;font-weight:700;color:#0f172a;margin:0;line-height:1.3}.order-modal-id{font-size:.78rem;font-weight:600;color:#94a3b8;font-family:SF Mono,Fira Code,monospace;letter-spacing:.02em}.order-modal-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:10px;background:#f8fafc;color:#64748b;cursor:pointer;transition:all .2s ease;flex-shrink:0}.order-modal-close:hover{background:#fee2e2;color:#ef4444;transform:rotate(90deg)}.order-modal-body{padding:20px 24px 24px;overflow-y:auto;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:20px}.order-modal-body>*{flex-shrink:0}.order-modal-status-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0}.order-modal-status-banner.SUCCESS{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#bbf7d0}.order-modal-status-banner.FAILED{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-color:#fecaca}.order-modal-status-banner.DISPENSE_ERROR{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#fde68a}.order-modal-status-banner.REFUNDED,.order-modal-status-banner.CANCELLED{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-color:#e2e8f0}.order-modal-status-banner.MACHINE_ERROR{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#fde68a}.order-modal-fail-reason{font-size:.82rem;color:#dc2626;font-weight:500;line-height:1.4}.order-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:#f1f5f9;border-radius:12px;overflow:hidden;border:1px solid #e2e8f0}.order-modal-field{display:flex;flex-direction:column;gap:4px;padding:14px 16px;background:#fff}.field-label{font-size:.7rem;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em}.field-value{font-size:.92rem;font-weight:600;color:#1e293b;word-break:break-all}.field-value.mono{font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.85rem;color:var(--primary-color, #f97316);background:#fff7ed;padding:4px 8px;border-radius:6px;display:inline-block;width:-moz-fit-content;width:fit-content}.order-modal-section{display:flex;flex-direction:column;gap:10px}.order-modal-section h4{font-size:.78rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.06em;margin:0;padding-bottom:4px;border-bottom:2px solid #f1f5f9}.extra-data-table-wrap{border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.extra-data-table{width:100%;border-collapse:collapse;font-size:.85rem}.extra-data-table thead th{background:linear-gradient(135deg,#f8fafc,#f1f5f9);padding:10px 16px;font-size:.7rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.06em;text-align:left;border-bottom:2px solid #e2e8f0}.extra-data-table thead th:first-child{width:35%}.extra-data-table tbody tr{transition:background .15s ease}.extra-data-table tbody tr:hover{background:#f8fafc}.extra-data-table tbody tr:not(:last-child) td{border-bottom:1px solid #f1f5f9}.extra-td-key{padding:11px 16px;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.8rem;font-weight:600;color:#475569;vertical-align:top;white-space:nowrap}.extra-td-val{padding:11px 16px;font-size:.85rem;font-weight:500;color:#1e293b;word-break:break-word;vertical-align:top}.extra-data-nested{width:100%;border-collapse:collapse;border-left:3px solid var(--primary-color, #f97316);border-radius:4px;margin:2px 0}.extra-data-nested td{padding:6px 12px!important;font-size:.8rem}.extra-data-nested td.extra-td-key{color:#94a3b8;font-size:.75rem;font-weight:600;width:40%}.extra-data-nested tr:not(:last-child) td{border-bottom:1px solid #f1f5f9}.extra-array{display:flex;flex-wrap:wrap;gap:6px}.extra-array-item{display:inline-block;padding:3px 10px;background:#eff6ff;color:#1d4ed8;font-size:.78rem;font-weight:600;border-radius:6px;border:1px solid #bfdbfe;font-family:SF Mono,Fira Code,monospace}.extra-bool{display:inline-block;padding:2px 10px;font-size:.75rem;font-weight:700;border-radius:6px;text-transform:uppercase;letter-spacing:.04em}.extra-bool.true{background:#dcfce7;color:#16a34a;border:1px solid #bbf7d0}.extra-bool.false{background:#fee2e2;color:#dc2626;border:1px solid #fecaca}.extra-null{color:#94a3b8;font-style:italic;font-size:.8rem}@media(max-width:560px){.order-modal-overlay{padding:0;align-items:flex-end}.order-modal{max-height:92vh;border-radius:20px 20px 0 0;animation:modalSlideUp .3s cubic-bezier(.16,1,.3,1);width:100%;max-width:100%}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.order-modal-grid{grid-template-columns:1fr 1fr;gap:1px}.order-modal-header{padding:16px 18px}.order-modal-body{padding:14px 18px 20px;gap:14px;overflow-y:auto;flex:1 1 auto;min-height:0}.order-modal-field{padding:10px 12px}.field-label{font-size:.65rem}.field-value{font-size:.85rem}.field-value.mono{font-size:.75rem;padding:3px 6px}.order-modal-section h4{font-size:.72rem}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.iv-mx-1{margin-left:.25rem;margin-right:.25rem}.iv-mx-auto{margin-left:auto;margin-right:auto}.iv-mb-1{margin-bottom:.25rem}.iv-mb-2{margin-bottom:.5rem}.iv-mb-4{margin-bottom:1rem}.iv-mb-6{margin-bottom:1.5rem}.iv-mt-1{margin-top:.25rem}.iv-mt-4{margin-top:1rem}.iv-block{display:block}.iv-flex{display:flex}.iv-hidden{display:none}.iv-h-10{height:2.5rem}.iv-h-12{height:3rem}.iv-h-px{height:1px}.iv-w-12{width:3rem}.iv-w-16{width:4rem}.iv-w-full{width:100%}.iv-w-px{width:1px}.iv-max-w-lg{max-width:32rem}.iv-max-w-md{max-width:28rem}.iv-max-w-screen-2xl{max-width:1536px}.iv-cursor-pointer{cursor:pointer}.iv-flex-col{flex-direction:column}.iv-items-center{align-items:center}.iv-justify-center{justify-content:center}.iv-justify-between{justify-content:space-between}.iv-gap-1{gap:.25rem}.iv-gap-3{gap:.75rem}.iv-gap-4{gap:1rem}.iv-rounded{border-radius:.25rem}.iv-rounded-full{border-radius:9999px}.iv-rounded-lg{border-radius:.5rem}.iv-rounded-xl{border-radius:.75rem}.iv-border{border-width:1px}.iv-border-2{border-width:2px}.iv-border-b-4{border-bottom-width:4px}.iv-border-dashed{border-style:dashed}.iv-border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.iv-border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.iv-border-ivend-orange{--tw-border-opacity: 1;border-color:rgb(249 115 22 / var(--tw-border-opacity, 1))}.iv-border-yellow-200{--tw-border-opacity: 1;border-color:rgb(254 240 138 / var(--tw-border-opacity, 1))}.iv-bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.iv-bg-orange-50{--tw-bg-opacity: 1;background-color:rgb(255 247 237 / var(--tw-bg-opacity, 1))}.iv-bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.iv-bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.iv-bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity, 1))}.iv-bg-yellow-50{--tw-bg-opacity: 1;background-color:rgb(254 252 232 / var(--tw-bg-opacity, 1))}.iv-p-12{padding:3rem}.iv-p-5{padding:1.25rem}.iv-px-1{padding-left:.25rem;padding-right:.25rem}.iv-px-3{padding-left:.75rem;padding-right:.75rem}.iv-px-4{padding-left:1rem;padding-right:1rem}.iv-px-6{padding-left:1.5rem;padding-right:1.5rem}.iv-py-1{padding-top:.25rem;padding-bottom:.25rem}.iv-py-10{padding-top:2.5rem;padding-bottom:2.5rem}.iv-py-2{padding-top:.5rem;padding-bottom:.5rem}.iv-py-20{padding-top:5rem;padding-bottom:5rem}.iv-py-3{padding-top:.75rem;padding-bottom:.75rem}.iv-py-4{padding-top:1rem;padding-bottom:1rem}.iv-text-center{text-align:center}.iv-font-body{font-family:Roboto,sans-serif}.iv-font-heading{font-family:Outfit,sans-serif}.iv-text-2xl{font-size:1.5rem;line-height:2rem}.iv-text-6xl{font-size:3.75rem;line-height:1}.iv-text-lg{font-size:1.125rem;line-height:1.75rem}.iv-text-sm{font-size:.875rem;line-height:1.25rem}.iv-text-xl{font-size:1.25rem;line-height:1.75rem}.iv-text-xs{font-size:.75rem;line-height:1rem}.iv-font-bold{font-weight:700}.iv-font-extrabold{font-weight:800}.iv-font-medium{font-weight:500}.iv-font-semibold{font-weight:600}.iv-uppercase{text-transform:uppercase}.iv-tracking-tight{letter-spacing:-.025em}.iv-tracking-wide{letter-spacing:.025em}.iv-text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.iv-text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.iv-text-ivend-navy{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.iv-text-ivend-orange{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity, 1))}.iv-text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.iv-text-yellow-700{--tw-text-opacity: 1;color:rgb(161 98 7 / var(--tw-text-opacity, 1))}.iv-underline{text-decoration-line:underline}.iv-shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.iv-transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.iv-transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.iv-duration-200{transition-duration:.2s}.iv-duration-300{transition-duration:.3s}.iv-tailwind-scope{font-family:Roboto,sans-serif;color:#1f2937}.iv-tailwind-scope h1,.iv-tailwind-scope h2,.iv-tailwind-scope h3,.iv-tailwind-scope h4{font-family:Outfit,sans-serif}.an-page{display:flex;flex-direction:column;gap:20px}.an-full-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:70vh}.an-full-spinner{width:42px;height:42px;border:4px solid #FFEDD5;border-top-color:#f97316;border-radius:50%;animation:an-spin .8s linear infinite}.an-full-loader-text{font-size:.9rem;font-weight:600;color:#94a3b8;font-family:Inter,sans-serif;margin:0}@keyframes an-spin{to{transform:rotate(360deg)}}.an-report-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.an-report-title{margin:0;font-size:1.5rem;font-weight:800;color:#0f172a;letter-spacing:-.025em;font-family:Outfit,sans-serif}.an-report-sub{margin:3px 0 0;font-size:.82rem;color:#94a3b8;font-family:Inter,sans-serif}.an-report-brand{font-family:Outfit,sans-serif;font-weight:800;font-size:1.35rem;color:#f97316;letter-spacing:-.02em}.an-report-right{display:flex;align-items:center;gap:18px}.an-measure-toggle{display:flex;align-items:center;gap:9px}.an-measure-label{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;font-family:Inter,sans-serif}.an-measure-toggle .an-time-tab{padding:6px 16px;font-size:.78rem}@media(max-width:600px){.an-report-head{flex-wrap:wrap}.an-report-right{width:100%;justify-content:space-between}}.an-kpi-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.an-kpi-card{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #E2E8F0;border-radius:14px;box-shadow:0 1px 2px #0f172a0a;padding:16px 18px;transition:box-shadow .2s ease,transform .2s ease}.an-kpi-card:hover{box-shadow:0 6px 18px #0f172a14;transform:translateY(-2px)}.an-kpi-icon{width:42px;height:42px;flex-shrink:0;display:grid;place-items:center;border-radius:12px}.an-kpi-icon.tone-orange{background:#fff7ed;color:#f97316}.an-kpi-icon.tone-green{background:#f0fdf4;color:#16a34a}.an-kpi-icon.tone-blue{background:#eff6ff;color:#2563eb}.an-kpi-icon.tone-violet{background:#f5f3ff;color:#7c3aed}.an-kpi-icon.tone-slate{background:#f1f5f9;color:#475569}.an-kpi-body{min-width:0;display:flex;flex-direction:column;gap:3px}.an-kpi-label{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;font-family:Inter,sans-serif}.an-kpi-value{font-size:1.5rem;font-weight:800;color:#0f172a;letter-spacing:-.025em;line-height:1.05;font-family:Inter,sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.an-kpi-sub{font-size:.7rem;color:#94a3b8;font-family:Inter,sans-serif}.an-card{background:#fff;border:1px solid #E2E8F0;border-radius:14px;box-shadow:0 1px 2px #0f172a0a;padding:18px 20px}.an-card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #F1F5F9;gap:12px}.an-card-title{font-size:.92rem;font-weight:700;color:#0f172a;margin:0;font-family:Outfit,sans-serif;letter-spacing:-.01em}.an-card-subtitle{font-size:.72rem;color:#94a3b8;margin:3px 0 0;font-family:Inter,sans-serif}.an-card-head-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.an-metric-tabs{flex-shrink:0}.an-metric-tabs .an-time-tab{padding:4px 12px;font-size:.7rem}.an-time-tabs{display:flex;gap:2px;background:#f1f5f9;border-radius:8px;padding:3px;flex-shrink:0}.an-time-tab{padding:4px 11px;font-size:.7rem;font-weight:600;border:none;border-radius:6px;cursor:pointer;background:transparent;color:#64748b;transition:all .15s;font-family:Inter,sans-serif;letter-spacing:.02em}.an-time-tab.active{background:var(--primary-color, #F97316);color:#fff;font-weight:700;box-shadow:0 1px 2px #f9731673,0 1px 6px #f973164d}.an-time-tab:hover:not(.active){color:#334155;background:#ffffffb3}.an-chart-row,.an-chart-row-3{display:grid;grid-template-columns:1fr 1fr;gap:20px}.an-filter-card{display:flex;align-items:flex-start;gap:0}.an-filter-divider{width:1px;align-self:stretch;background:#e2e8f0;margin:0 20px;flex-shrink:0}@media(max-width:700px){.an-filter-card{flex-direction:column;gap:0}.an-filter-divider{width:100%;height:1px;margin:14px 0;align-self:auto}}.an-filter-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;font-family:Inter,sans-serif;flex-shrink:0;white-space:nowrap;margin-bottom:8px;display:block}.an-df{display:flex;flex-direction:column;align-items:flex-start;gap:6px;flex-shrink:0}.an-df-custom{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px}.an-df-date-input{padding:5px 10px;border-radius:8px;border:1px solid #E2E8F0;font-size:.8rem;color:#334155;font-family:Inter,sans-serif;background:#f8fafc;outline:none;flex:0 0 auto;width:140px}.an-df-date-input:focus{border-color:#f97316}.an-df-sep{color:#94a3b8;font-size:.8rem;flex-shrink:0}.an-df-apply{padding:5px 14px;border-radius:8px;background:#f97316;color:#fff;border:none;font-size:.8rem;font-weight:600;cursor:pointer;font-family:Inter,sans-serif;white-space:nowrap}.an-df-apply:hover{background:#ea580c}.an-df-error{font-size:.75rem;color:#dc2626;font-family:Inter,sans-serif;width:100%}.an-fb{display:flex;flex-direction:column;gap:14px;flex:1;min-width:0}.an-fb-row{display:flex;flex-direction:column;gap:6px}.an-fb-pills{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.an-fb-pill{padding:5px 12px;border-radius:20px;font-size:.75rem;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;border:1.5px solid #E2E8F0;background:#f8fafc;color:var(--pill-color, #64748B);transition:all .15s;letter-spacing:.02em}.an-fb-pill:hover{border-color:var(--pill-color, #64748B);background:#fff}.an-fb-pill.active{background:var(--pill-color, #64748B);border-color:var(--pill-color, #64748B);color:#fff}.an-fb-clear{font-size:.7rem;color:#cbd5e1;background:none;border:none;cursor:pointer;font-family:Inter,sans-serif;font-weight:500;text-decoration:underline;padding:0}.an-fb-clear:hover{color:#dc2626}.an-fb-search-wrap{display:flex;align-items:center;gap:8px;padding:7px 12px;border-radius:8px;border:1.5px solid #E2E8F0;background:#f8fafc;transition:border-color .15s}.an-fb-search-wrap.focused{border-color:#f97316}.an-fb-search-icon{width:14px;height:14px;flex-shrink:0}.an-fb-search-input{flex:1;border:none;background:transparent;font-size:.82rem;color:#334155;font-family:Inter,sans-serif;outline:none;min-width:0}.an-fb-search-input::-moz-placeholder{color:#cbd5e1}.an-fb-search-input::placeholder{color:#cbd5e1}.an-fb-search-clear{background:none;border:none;cursor:pointer;color:#94a3b8;font-size:.72rem;padding:0;line-height:1;flex-shrink:0}.an-fb-search-clear:hover{color:#334155}.an-perf-table{width:100%;border-collapse:collapse;font-family:Inter,sans-serif;font-size:.8rem}.an-perf-table thead tr{border-bottom:1px solid #F1F5F9}.an-perf-table th{text-align:left;padding:8px 12px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#94a3b8}.an-perf-table th.an-num,.an-perf-table td.an-num{text-align:right}.an-perf-table tbody tr:nth-child(2n) td{background:#f8fafc}.an-perf-table tbody tr:hover td{background:#fff7ed}.an-perf-table td{padding:10px 12px;color:#334155;font-weight:500}.an-rank{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-size:.65rem;font-weight:700;color:#94a3b8;background:#f1f5f9}.an-rank.top{background:#fff7ed;color:#f97316}.an-revenue-bar-wrap{display:flex;align-items:center;gap:8px;min-width:100px}.an-revenue-bar-track{flex:1;height:5px;background:#f1f5f9;border-radius:3px;overflow:hidden}.an-revenue-bar-fill{height:100%;background:#f97316;border-radius:3px;transition:width .4s ease}.an-revenue-pct{font-size:.68rem;color:#94a3b8;width:30px;text-align:right;flex-shrink:0}.an-mu-card{display:flex;flex-direction:column}.an-mu-clear{font-size:.72rem;font-weight:600;color:#94a3b8;background:none;border:none;cursor:pointer;font-family:Inter,sans-serif;padding:4px 8px;border-radius:6px;transition:color .15s}.an-mu-clear:hover{color:#dc2626}.an-mu-list{display:flex;flex-direction:column;gap:4px;max-height:340px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#E2E8F0 transparent;margin:0 -4px;padding:0 4px}.an-mu-row{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:8px;cursor:pointer;transition:background .12s}.an-mu-row:hover{background:#f8fafc}.an-mu-row.selected{background:#fff7ed}.an-mu-row.dimmed{opacity:.35}.an-mu-rank{width:20px;height:20px;border-radius:50%;background:#f1f5f9;font-size:.62rem;font-weight:700;color:#94a3b8;font-family:Inter,sans-serif;display:flex;align-items:center;justify-content:center;flex-shrink:0}.an-mu-row.selected .an-mu-rank{background:#fed7aa;color:#f97316}.an-mu-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.an-mu-name{font-size:.78rem;font-weight:500;color:#334155;font-family:Inter,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.an-mu-row.selected .an-mu-name{color:#f97316;font-weight:600}.an-mu-bar-track{height:4px;background:#f1f5f9;border-radius:2px;overflow:hidden}.an-mu-bar-fill{height:100%;background:#f97316;border-radius:2px;transition:width .3s ease}.an-mu-count{font-size:.78rem;font-weight:700;color:#0f172a;font-family:Inter,sans-serif;flex-shrink:0;min-width:24px;text-align:right}.recharts-wrapper,.recharts-wrapper *:focus,.recharts-surface:focus,.recharts-bar-rectangle:focus,.recharts-rectangle:focus{outline:none!important}.an-mu-hint{font-size:.68rem;color:#cbd5e1;text-align:center;margin-top:10px;font-family:Inter,sans-serif;letter-spacing:.02em}.an-donut-wrap{position:relative}.an-donut-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none}.an-donut-total{font-size:1.1rem;font-weight:700;color:#0f172a;font-family:Inter,sans-serif;letter-spacing:-.02em}.an-donut-label{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;font-family:Inter,sans-serif}.an-legend{display:flex;flex-direction:column;gap:7px;margin-top:12px}.an-legend-item{display:flex;align-items:center;gap:8px}.an-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.an-legend-name{font-size:.72rem;color:#334155;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:Inter,sans-serif}.an-legend-val{font-size:.72rem;font-weight:700;color:#0f172a;flex-shrink:0;font-variant-numeric:tabular-nums;font-family:Inter,sans-serif}.an-legend-pct{font-size:.7rem;font-weight:600;color:#94a3b8;flex-shrink:0;min-width:42px;text-align:right;font-variant-numeric:tabular-nums;font-family:Inter,sans-serif}.an-stack{display:flex;flex-direction:column;gap:12px;min-width:0}.an-product-search{display:flex;align-items:center;gap:9px;padding:10px 14px;background:#fff;border:1px solid #E2E8F0;border-radius:12px;box-shadow:0 1px 2px #0f172a0a;transition:border-color .15s}.an-product-search:focus-within{border-color:#f97316;box-shadow:0 0 0 3px #f973161a}.an-product-search .an-fb-search-icon{width:15px;height:15px;flex-shrink:0}.an-product-search .an-fb-search-input{flex:1;border:none;background:transparent;outline:none;min-width:0;font-size:.85rem;color:#334155;font-family:Inter,sans-serif}.an-product-search .an-fb-search-clear{background:none;border:none;cursor:pointer;color:#94a3b8;font-size:.75rem;padding:0;line-height:1;flex-shrink:0}.an-product-search .an-fb-search-clear:hover{color:#dc2626}.an-chipbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:-6px}.an-chipbar-label{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#94a3b8;font-family:Inter,sans-serif}.an-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:#fff7ed;border:1px solid #FED7AA;border-radius:20px;font-size:.74rem;font-weight:600;color:#ea580c;font-family:Inter,sans-serif;cursor:pointer;transition:background .15s}.an-chip:hover{background:#ffedd5}.an-chip svg{opacity:.7}.an-chip-clear{background:none;border:none;font-size:.74rem;font-weight:600;color:#94a3b8;cursor:pointer;font-family:Inter,sans-serif;text-decoration:underline;padding:0 4px}.an-chip-clear:hover{color:#dc2626}.an-lb-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.an-lb-col{min-width:0}.an-lb-col-head{margin-bottom:12px}.an-lb-tag{display:inline-block;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;padding:3px 10px;border-radius:20px;font-family:Inter,sans-serif}.an-lb-tag.top{background:#f0fdf4;color:#16a34a}.an-lb-tag.bottom{background:#fef2f2;color:#dc2626}.an-lb-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.an-lb-row{display:grid;grid-template-columns:22px minmax(70px,1.2fr) 2fr auto;align-items:center;gap:10px;padding:8px;border-radius:8px;transition:background .12s}.an-lb-row:hover{background:#f8fafc}.an-lb-row.clickable{cursor:pointer}.an-lb-row.selected{background:#fff7ed;box-shadow:inset 0 0 0 1px #fed7aa}.an-lb-row.selected .an-lb-name{color:#ea580c;font-weight:700}.an-lb-rank{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#f1f5f9;color:#94a3b8;font-size:.66rem;font-weight:700;font-family:Inter,sans-serif}.an-lb-name{font-size:.82rem;font-weight:500;color:#334155;font-family:Inter,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.an-lb-bar-track{height:6px;background:#f1f5f9;border-radius:3px;overflow:hidden}.an-lb-bar-fill{display:block;height:100%;border-radius:3px;transition:width .4s cubic-bezier(.22,1,.36,1)}.an-lb-bar-fill.top{background:#16a34a}.an-lb-bar-fill.bottom{background:#fca5a5}.an-lb-val{font-size:.82rem;font-weight:700;color:#0f172a;font-family:Inter,sans-serif;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.an-lb-empty{font-size:.85rem;color:#94a3b8;text-align:center;padding:20px;font-family:Inter,sans-serif}@media(max-width:760px){.an-lb-grid{grid-template-columns:1fr;gap:22px}}@media(max-width:1280px){.an-kpi-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.an-chart-row,.an-chart-row-3{grid-template-columns:1fr}}@media(max-width:680px){.an-kpi-grid{grid-template-columns:1fr 1fr;gap:10px}.an-kpi-card{padding:13px 14px;gap:11px}.an-kpi-icon{width:36px;height:36px}.an-kpi-value{font-size:1.3rem}.an-card{padding:16px}.an-report-title{font-size:1.25rem}}.hover\:iv-border-ivend-orange:hover{--tw-border-opacity: 1;border-color:rgb(249 115 22 / var(--tw-border-opacity, 1))}.hover\:iv-bg-orange-50:hover{--tw-bg-opacity: 1;background-color:rgb(255 247 237 / var(--tw-bg-opacity, 1))}.hover\:iv-text-gray-600:hover{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.hover\:iv-text-ivend-orange-hover:hover{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity, 1))}.hover\:iv-shadow-lg:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@media(min-width:640px){.sm\:iv-block{display:block}.sm\:iv-hidden{display:none}.sm\:iv-flex-row{flex-direction:row}.sm\:iv-gap-10{gap:2.5rem}}.notif-bell{position:relative}.notif-bell-button{position:relative;background:transparent;border:1px solid var(--border-color);border-radius:9px;padding:7px 9px;cursor:pointer;color:var(--text-secondary);transition:color .18s ease,background .18s ease}.notif-bell-button:hover{color:var(--text-primary);background:var(--background-bg)}.notif-badge{position:absolute;top:-5px;right:-5px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--primary-color);color:#fff;font-size:.66rem;font-weight:700;line-height:17px;text-align:center;box-shadow:0 0 0 2px var(--surface-bg)}.notif-panel{position:absolute;top:calc(100% + 10px);right:0;width:min(380px,calc(100vw - 24px));max-height:min(520px,calc(100vh - 96px));overflow:hidden;background:var(--surface-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:50;display:flex;flex-direction:column;animation:notif-panel-in .18s cubic-bezier(.22,1,.36,1);transform-origin:top right}@keyframes notif-panel-in{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.notif-panel-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border-color);flex-shrink:0}.notif-panel-header h4{margin:0;font-size:.95rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.notif-panel-actions{display:flex;gap:8px}.notif-link{background:none;border:none;padding:0;cursor:pointer;color:var(--primary-color);font-size:.8rem;font-weight:600}.notif-link:hover{color:var(--primary-hover)}.notif-permission-btn{margin:10px 16px 4px;padding:9px 12px;border:1px solid var(--primary-color);background:transparent;color:var(--primary-color);border-radius:var(--radius-md);font-weight:600;font-size:.82rem;cursor:pointer;transition:background .18s ease}.notif-permission-btn:hover{background:var(--accent-light)}.notif-permission-status{margin:8px 16px;color:var(--text-muted);font-size:.78rem}.notif-list{list-style:none;margin:0;padding:0;overflow-y:auto}.notif-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 16px;color:var(--text-secondary);font-size:.88rem;font-weight:500}.notif-empty-icon{width:48px;height:48px;display:grid;place-items:center;background:var(--background-bg);border-radius:50%;color:var(--text-muted)}.notif-empty-icon svg{width:22px;height:22px}.notif-row{display:flex;gap:12px;padding:13px 16px;cursor:pointer;align-items:flex-start;transition:background .16s ease}.notif-row+.notif-row{border-top:1px solid var(--border-color)}.notif-row:hover{background:var(--bg-card-hover)}.notif-row.is-unread{background:#fff8f2}.notif-row.is-unread:hover{background:#fff3e9}.notif-row.is-read{opacity:.6}.notif-row.is-read .notif-token{filter:saturate(.65)}.notif-token{flex-shrink:0;width:34px;height:34px;display:grid;place-items:center;border-radius:9px;border:1px solid transparent}.notif-token svg{width:16px;height:16px}.notif-token.sev-critical{background:var(--error-bg);border-color:#fecaca;color:var(--error-color)}.notif-token.sev-warning{background:var(--warning-bg);border-color:#fde68a;color:var(--warning-color)}.notif-token.sev-info{background:var(--accent-light);border-color:#fed7aa;color:var(--primary-color)}.notif-text{flex:1;min-width:0;padding-top:1px}.notif-row-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.notif-title{font-weight:600;font-size:.87rem;color:var(--text-primary);letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-row.is-unread .notif-title{font-weight:700}.notif-time{font-size:.7rem;font-weight:500;color:var(--text-muted);flex-shrink:0;font-variant-numeric:tabular-nums}.notif-body{font-size:.8rem;color:var(--text-secondary);margin-top:3px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notif-machine-chip{display:inline-flex;align-items:center;gap:5px;margin-top:8px;padding:2px 9px;background:var(--background-bg);border-radius:20px;font-size:.7rem;font-weight:600;color:var(--text-secondary)}.notif-machine-chip svg{color:var(--text-muted)}.notif-unread-dot{width:8px;height:8px;border-radius:50%;background:var(--primary-color);margin-top:6px;flex-shrink:0;box-shadow:0 0 0 3px var(--accent-light)}.notif-see-all{flex-shrink:0;border:none;border-top:1px solid var(--border-color);background:var(--surface-bg);padding:13px 16px;font-size:.83rem;font-weight:600;color:var(--primary-color);cursor:pointer;transition:background .18s ease}.notif-see-all:hover{background:var(--background-bg)}@media(prefers-reduced-motion:reduce){.notif-panel{animation:none}}.notifpage{display:flex;flex-direction:column;gap:20px;width:100%;max-width:1280px;margin-inline:auto}.notifpage-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;position:relative;z-index:20}.notifpage-toolbar-left{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.notifpage-toolbar-right{display:flex;align-items:center;gap:6px}.notifpage-search{position:relative;display:inline-flex;align-items:center}.notifpage-search-icon{position:absolute;left:12px;color:var(--text-muted);pointer-events:none}.notifpage-search-input{width:240px;max-width:100%;height:38px;padding:0 12px 0 35px;background:var(--surface-bg);border:1px solid var(--border-color);border-radius:10px;font-size:.85rem;font-weight:500;color:var(--text-primary);box-shadow:var(--shadow-sm);transition:border-color .18s ease,box-shadow .18s ease}.notifpage-search-input::-moz-placeholder{color:var(--text-muted);font-weight:500}.notifpage-search-input::placeholder{color:var(--text-muted);font-weight:500}.notifpage-search-input:hover{border-color:var(--border-strong)}.notifpage-search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--accent-light)}.notifpage-search-clear{position:absolute;right:8px;display:grid;place-items:center;width:20px;height:20px;padding:0;border:none;border-radius:50%;background:var(--background-bg);color:var(--text-muted);cursor:pointer;transition:background .15s ease,color .15s ease}.notifpage-search-clear:hover{background:var(--border-color);color:var(--text-primary)}.notifpage-select-wrap{position:relative;display:inline-flex;align-items:center}.notifpage-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;height:38px;padding:0 36px 0 14px;background:var(--surface-bg);border:1px solid var(--border-color);border-radius:10px;font-size:.85rem;font-weight:600;color:var(--text-primary);box-shadow:var(--shadow-sm);cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease}.notifpage-select:hover{border-color:var(--border-strong)}.notifpage-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--accent-light)}.notifpage-select-chevron{position:absolute;right:12px;color:var(--text-muted);pointer-events:none;transition:transform .18s ease}.notifpage-select-wrap:hover .notifpage-select-chevron{color:var(--text-secondary)}.notifpage-segment{display:inline-flex;background:var(--background-bg);border:1px solid var(--border-color);border-radius:10px;padding:3px}.notifpage-segment button{border:none;background:transparent;padding:7px 16px;border-radius:7px;font-size:.82rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:color .18s cubic-bezier(.22,1,.36,1)}.notifpage-segment button:hover{color:var(--text-primary)}.notifpage-segment button.active{background:var(--surface-bg);color:var(--text-primary);box-shadow:var(--shadow-sm)}.notifpage-action{background:none;border:none;border-radius:8px;padding:8px 13px;font-size:.8rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:background .18s ease,color .18s ease}.notifpage-action:hover{background:var(--background-bg);color:var(--text-primary)}.notifpage-action-danger:hover{background:var(--error-bg);color:var(--error-color)}.notifpage-body{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.notifpage-feed{min-width:0}.notifpage-groups{display:flex;flex-direction:column;gap:26px}.notifpage-group-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;padding:0 4px}.notifpage-group-title{margin:0;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.notifpage-group-count{font-size:.68rem;font-weight:700;color:var(--text-muted);background:var(--background-bg);border-radius:20px;padding:1px 8px}.notifpage-list{list-style:none;margin:0;padding:0;background:var(--surface-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.notifpage-row{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;cursor:pointer;position:relative;transition:background .18s ease;animation:notif-rise .5s cubic-bezier(.22,1,.36,1) backwards;animation-delay:calc(var(--row-i, 0) * 45ms)}.notifpage-row+.notifpage-row{border-top:1px solid var(--border-color)}.notifpage-row:hover{background:var(--bg-card-hover)}.notifpage-row.is-unread{background:#fff8f2}.notifpage-row.is-unread:hover{background:#fff3e9}.notifpage-row.is-read{opacity:.6}.notifpage-row.is-read .notifpage-token{filter:saturate(.65)}@keyframes notif-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.notifpage-token{flex-shrink:0;width:40px;height:40px;display:grid;place-items:center;border-radius:11px;border:1px solid transparent}.notifpage-token.sev-critical{background:var(--error-bg);border-color:#fecaca;color:var(--error-color)}.notifpage-token.sev-warning{background:var(--warning-bg);border-color:#fde68a;color:var(--warning-color)}.notifpage-token.sev-info{background:var(--accent-light);border-color:#fed7aa;color:var(--primary-color)}.notifpage-text{flex:1;min-width:0;padding-top:2px}.notifpage-row-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.notifpage-title{font-weight:600;font-size:.92rem;color:var(--text-primary);letter-spacing:-.01em}.notifpage-row.is-unread .notifpage-title{font-weight:700}.notifpage-time{font-size:.72rem;font-weight:500;color:var(--text-muted);flex-shrink:0;font-variant-numeric:tabular-nums}.notifpage-body-text{margin:4px 0 0;font-size:.85rem;color:var(--text-secondary);line-height:1.5;max-width:64ch}.notifpage-machine-chip{display:inline-flex;align-items:center;gap:5px;margin-top:10px;padding:3px 10px;background:var(--background-bg);border-radius:20px;font-size:.72rem;font-weight:600;color:var(--text-secondary)}.notifpage-machine-chip svg{color:var(--text-muted)}.notifpage-dot{width:8px;height:8px;border-radius:50%;background:var(--primary-color);margin-top:7px;flex-shrink:0;box-shadow:0 0 0 3px var(--accent-light)}.notifpage-row.is-focused{animation:notif-flash 1.8s cubic-bezier(.22,1,.36,1)}@keyframes notif-flash{0%{background:var(--accent-light)}to{background:transparent}}.notifpage-empty{display:flex;flex-direction:column;align-items:center;gap:14px;padding:72px 20px;background:var(--surface-bg);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);color:var(--text-muted)}.notifpage-empty-icon{width:64px;height:64px;display:grid;place-items:center;background:var(--background-bg);border-radius:50%;color:var(--text-muted)}.notifpage-empty-icon svg{width:26px;height:26px}.notifpage-empty p{margin:0;font-size:.95rem;font-weight:500;color:var(--text-secondary)}.notifpage-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:24px;padding-bottom:8px}.notifpage-page-btn{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 16px;background:var(--surface-bg);border:1px solid var(--border-color);border-radius:10px;font-size:.82rem;font-weight:600;color:var(--text-primary);box-shadow:var(--shadow-sm);cursor:pointer;transition:border-color .18s ease,color .18s ease,background .18s ease,transform .12s ease}.notifpage-page-btn svg{color:var(--text-muted);transition:color .18s ease}.notifpage-page-btn:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color)}.notifpage-page-btn:hover:not(:disabled) svg{color:var(--primary-color)}.notifpage-page-btn:active:not(:disabled){transform:translateY(1px)}.notifpage-page-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.notifpage-page-status{font-size:.82rem;font-weight:500;color:var(--text-secondary);font-variant-numeric:tabular-nums}.notifpage-page-status strong{color:var(--text-primary);font-weight:700}.notifpage-aside{display:flex;flex-direction:column;gap:16px;position:sticky;top:16px}.notifpage-card{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:16px 18px}.notifpage-card-title{margin:0 0 14px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.notifpage-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 16px}.notifpage-stat{display:flex;flex-direction:column;gap:2px;padding:12px 14px;background:var(--background-bg);border-radius:var(--radius-md)}.notifpage-stat dt{font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.notifpage-stat dd{margin:0;font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1;font-variant-numeric:tabular-nums}.notifpage-stat dd.is-accent{color:var(--primary-color)}.notifpage-sev-rows{display:flex;flex-direction:column;gap:2px}.notifpage-sev-row{display:flex;align-items:center;gap:10px;padding:7px 4px}.notifpage-sev-row+.notifpage-sev-row{border-top:1px solid var(--border-color)}.notifpage-sev-dot{width:9px;height:9px;border-radius:3px;flex-shrink:0}.notifpage-sev-dot.sev-critical{background:var(--error-color)}.notifpage-sev-dot.sev-warning{background:var(--warning-color)}.notifpage-sev-dot.sev-info{background:var(--primary-color)}.notifpage-sev-label{flex:1;font-size:.82rem;font-weight:500;color:var(--text-secondary)}.notifpage-sev-count{font-size:.82rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.notifpage-machine-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.notifpage-machine-row{width:100%;display:flex;align-items:center;gap:8px;padding:8px 10px;background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:background .15s ease}.notifpage-machine-row:hover{background:var(--background-bg)}.notifpage-machine-row.active{background:var(--accent-light)}.notifpage-machine-name{flex:1;min-width:0;font-size:.82rem;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notifpage-machine-row.active .notifpage-machine-name{color:var(--primary-color);font-weight:600}.notifpage-machine-unread{font-size:.66rem;font-weight:700;color:#fff;background:var(--primary-color);border-radius:20px;padding:1px 7px;line-height:1.4}.notifpage-machine-count{font-size:.78rem;font-weight:700;color:var(--text-muted);font-variant-numeric:tabular-nums;min-width:16px;text-align:right}@media(max-width:980px){.notifpage-body{grid-template-columns:1fr}.notifpage-aside{position:static;flex-direction:row;flex-wrap:wrap}.notifpage-card{flex:1 1 240px}}@media(max-width:700px){.notifpage-toolbar{flex-direction:column;align-items:stretch}.notifpage-toolbar-left{justify-content:space-between}.notifpage-search{flex:1 1 100%}.notifpage-search-input{width:100%}.notifpage-toolbar-right{justify-content:flex-end}.notifpage-row{padding:14px}.notifpage-token{width:36px;height:36px}.notifpage-aside{display:none}}@media(prefers-reduced-motion:reduce){.notifpage-row,.notifpage-row.is-focused{animation:none}}.ups{margin-top:26px;background:var(--surface-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px 22px;display:flex;flex-direction:column;gap:20px}.ups-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.ups-head h3{margin:0;font-size:1rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.ups-sub{font-size:.78rem;color:var(--text-muted)}.ups-legend{display:flex;gap:14px;flex-wrap:wrap}.ups-leg{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;font-weight:500;color:var(--text-secondary)}.ups-swatch{width:11px;height:11px;border-radius:3px;flex-shrink:0}.ups-swatch.up{background:var(--success-color)}.ups-swatch.down{background:#fca5a5}.ups-leg-wrench{width:16px;height:16px;display:grid;place-items:center;background:var(--warning-bg);color:var(--warning-color);border:1px solid #fde68a;border-radius:50%;flex-shrink:0}.ups-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.ups-stat{display:flex;flex-direction:column;gap:4px;padding:12px 14px;background:var(--background-bg);border-radius:var(--radius-md)}.ups-stat-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.ups-stat-value{font-size:1.45rem;font-weight:700;color:var(--text-primary);line-height:1;font-variant-numeric:tabular-nums}.ups-stat-value.good{color:var(--success-color)}.ups-stat-value.warn{color:var(--warning-color)}.ups-stat-value.bad{color:var(--error-color)}.ups-bars{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;align-items:end;height:180px}.ups-bar-col{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}.ups-bar-track{position:relative;width:100%;max-width:46px;flex:1;display:flex;flex-direction:column;justify-content:flex-end;background:transparent;border-radius:7px;overflow:hidden}.ups-bar-down{width:100%;background:#fca5a5}.ups-bar-up{width:100%;background:linear-gradient(180deg,var(--success-color),#15803d);border-radius:0 0 7px 7px}.ups-bar-col:hover .ups-bar-up{filter:brightness(1.05)}.ups-svc-badge{position:absolute;top:-2px;z-index:2;width:20px;height:20px;display:grid;place-items:center;background:var(--warning-bg);color:var(--warning-color);border:1px solid #fde68a;border-radius:50%}.ups-bar-pct{font-size:.72rem;font-weight:700;color:var(--text-secondary);font-variant-numeric:tabular-nums}.ups-bar-day{font-size:.72rem;font-weight:600;color:var(--text-muted)}.ups-note{margin:0;font-size:.74rem;line-height:1.45;color:var(--text-muted)}.ups-today{display:flex;flex-direction:column;gap:7px}.ups-today-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.ups-today-strip{display:grid;grid-template-columns:repeat(24,1fr);gap:3px}.ups-cell{height:26px;border-radius:3px;background:var(--background-bg)}.ups-cell.up{background:var(--success-color)}.ups-cell.partial{background:#86efac}.ups-cell.down{background:#fca5a5}.ups-cell.none{background:#eef2f6}.ups-today-axis{display:flex;justify-content:space-between;font-size:.66rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.ups-loading{display:grid;place-items:center;padding:30px}.ups-spinner{width:28px;height:28px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:ups-spin .8s linear infinite}@keyframes ups-spin{to{transform:rotate(360deg)}}.ups-nodata{padding:24px;text-align:center;color:var(--text-muted);font-size:.88rem}@media(max-width:700px){.ups-stats{grid-template-columns:repeat(2,1fr)}.ups-cell{height:22px}}@media(prefers-reduced-motion:reduce){.ups-spinner{animation:none}}.phs{display:flex;flex-direction:column;gap:20px;width:100%;max-width:1280px;margin-inline:auto}.phs-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;position:relative;z-index:20}.phs-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.phs-segment{display:inline-flex;background:var(--background-bg);border:1px solid var(--border-color);border-radius:10px;padding:3px}.phs-segment button{border:none;background:transparent;padding:7px 14px;border-radius:7px;font-size:.8rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:color .18s ease}.phs-segment button:hover{color:var(--text-primary)}.phs-segment button.active{background:var(--surface-bg);color:var(--text-primary);box-shadow:var(--shadow-sm)}.phs-select{position:relative}.phs-select-trigger{display:flex;align-items:center;gap:10px;padding:11px 18px;background:var(--primary-color);border:none;border-radius:12px;font-size:.88rem;font-weight:700;color:#fff;cursor:pointer;box-shadow:0 4px 12px #f9731659;transition:box-shadow .15s,transform .15s}.phs-select-trigger:hover{box-shadow:0 6px 16px #f9731673;transform:translateY(-1px)}.phs-select-label{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phs-select-chevron{color:#ffffffd9;transition:transform .2s;flex-shrink:0}.phs-select-chevron.open{transform:rotate(180deg)}.phs-select-menu{position:absolute;top:calc(100% + 8px);left:0;width:300px;max-width:calc(100vw - 32px);background:#fff;border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-lg);overflow:hidden;z-index:200}.phs-select-search{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border-color);background:var(--background-bg)}.phs-select-search input{flex:1;border:none;background:transparent;font-size:.82rem;color:var(--text-primary);outline:none;font-family:inherit}.phs-select-list{max-height:300px;overflow-y:auto;padding:6px 0}.phs-select-item{width:100%;display:flex;align-items:center;gap:9px;padding:9px 14px;background:none;border:none;cursor:pointer;font-size:.82rem;color:var(--text-primary);text-align:left;transition:background .1s}.phs-select-item:hover{background:var(--background-bg)}.phs-select-item.active{background:var(--accent-light);color:var(--primary-color);font-weight:600}.phs-select-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phs-select-empty{padding:16px 14px;text-align:center;font-size:.8rem;color:var(--text-secondary)}.phs-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.phs-dot.online{background:var(--success-color)}.phs-dot.offline{background:var(--error-color)}.phs-insight{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--accent-light);border:1px solid #fed7aa;border-radius:var(--radius-md);font-size:.86rem;color:var(--text-primary)}.phs-insight strong{font-weight:700}.phs-insight-dot{width:8px;height:8px;border-radius:50%;background:var(--primary-color);flex-shrink:0;box-shadow:0 0 0 3px #f9731633}.phs-legend{display:flex;align-items:center;gap:18px;padding:0 4px;margin-top:-4px}.phs-legend-item{display:inline-flex;align-items:center;gap:7px;font-size:.76rem;font-weight:500;color:var(--text-secondary)}.phs-swatch{flex-shrink:0}.phs-swatch-bar{width:11px;height:11px;border-radius:2px;background:#fdba74}.phs-swatch-line{width:16px;height:0;border-top:2px dashed #475569}.phs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.phs-chart{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:14px 14px 10px;display:flex;flex-direction:column;gap:6px}.phs-chart-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.phs-chart-day{font-size:.82rem;font-weight:700;color:var(--text-primary);letter-spacing:.01em}.phs-chart-total{font-size:.78rem;font-weight:700;color:var(--primary-color);font-variant-numeric:tabular-nums}.phs-chart-body{width:100%}.phs-chart-foot{font-size:.72rem;color:var(--text-secondary);text-align:center;padding-top:2px}.phs-chart-foot strong{color:var(--text-primary);font-weight:700}.phs-chart-nodata{color:var(--text-muted)}.recharts-surface{overflow:visible}.phs-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:80px 20px;background:var(--surface-bg);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);text-align:center}.phs-empty-icon{width:70px;height:70px;display:grid;place-items:center;background:var(--accent-light);border-radius:50%;color:var(--primary-color)}.phs-empty p{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.phs-empty-sub{font-size:.84rem;color:var(--text-muted);max-width:40ch}.phs-loading{display:flex;flex-direction:column;align-items:center;gap:14px;padding:90px 20px;color:var(--text-secondary)}.phs-spinner{width:34px;height:34px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:phs-spin .8s linear infinite}@keyframes phs-spin{to{transform:rotate(360deg)}}@media(max-width:1180px){.phs-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:860px){.phs-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.phs-toolbar{flex-direction:column;align-items:stretch}.phs-controls{justify-content:space-between}}@media(max-width:520px){.phs-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.phs-spinner{animation:none}}.export-modal-overlay{position:fixed;inset:0;background:#0f172a73;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:exportFadeIn .18s ease}@keyframes exportFadeIn{0%{opacity:0}to{opacity:1}}.export-modal{background:#fff;border-radius:20px;width:92%;max-width:460px;max-height:82vh;display:flex;flex-direction:column;box-shadow:0 24px 64px #0f172a2e,0 4px 16px #0f172a14;animation:exportSlideUp .22s cubic-bezier(.34,1.56,.64,1);overflow:hidden}@keyframes exportSlideUp{0%{transform:translateY(24px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.export-modal-header{display:flex;align-items:center;gap:12px;padding:22px 24px 18px;border-bottom:1px solid #f1f5f9}.export-modal-header-icon{width:36px;height:36px;background:linear-gradient(135deg,#fff7ed 0% 100%);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#f97316}.export-modal-header-text{flex:1}.export-modal-header h3{margin:0 0 1px;font-size:1rem;font-weight:700;color:#0f172a;letter-spacing:-.01em}.export-modal-header p{margin:0;font-size:.75rem;color:#94a3b8}.export-modal-close{background:none;border:none;color:#94a3b8;cursor:pointer;padding:6px;border-radius:8px;transition:background .15s,color .15s;display:flex;align-items:center;justify-content:center;margin-left:auto}.export-modal-close:hover{background:#f1f5f9;color:#475569}.export-modal-search{display:flex;align-items:center;gap:8px;padding:12px 24px;border-bottom:1px solid #f1f5f9;color:#94a3b8}.export-modal-search input{flex:1;border:none;outline:none;font-size:.85rem;color:#1e293b;background:transparent}.export-modal-search input::-moz-placeholder{color:#94a3b8}.export-modal-search input::placeholder{color:#94a3b8}.export-search-clear{background:none;border:none;color:#94a3b8;cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.export-search-clear:hover{background:#f1f5f9;color:#475569}.export-modal-empty{padding:32px 16px;text-align:center;font-size:.82rem;color:#94a3b8}.export-modal-controls{padding:12px 24px;display:flex;align-items:center;gap:10px;background:#f8fafc;border-bottom:1px solid #f1f5f9}.export-select-all{display:flex;align-items:center;gap:9px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:.82rem;font-weight:600;color:#334155}.export-select-all input[type=checkbox],.export-machine-item input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:17px;height:17px;border:1.5px solid #cbd5e1;border-radius:5px;background:#fff;cursor:pointer;flex-shrink:0;transition:border-color .15s,background .15s,box-shadow .15s;position:relative}.export-select-all input[type=checkbox]:checked,.export-machine-item input[type=checkbox]:checked{background:linear-gradient(135deg,#f97316,#ea580c);border-color:#f97316}.export-select-all input[type=checkbox]:checked:after,.export-machine-item input[type=checkbox]:checked:after{content:"";position:absolute;left:4px;top:1.5px;width:5px;height:9px;border:2px solid #fff;border-top:none;border-left:none;transform:rotate(45deg)}.export-select-all input[type=checkbox]:focus-visible,.export-machine-item input[type=checkbox]:focus-visible{outline:2px solid #f97316;outline-offset:2px}.export-selected-count{margin-left:auto;font-size:.75rem;font-weight:600;color:#f97316;background:#fff7ed;padding:3px 10px;border-radius:20px;letter-spacing:.01em;transition:background .2s}.export-selected-count.none{color:#94a3b8;background:#f1f5f9}.export-modal-list{flex:1;overflow-y:auto;padding:8px 16px 12px;scrollbar-width:thin;scrollbar-color:#e2e8f0 transparent}.export-modal-list::-webkit-scrollbar{width:4px}.export-modal-list::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:4px}.export-machine-item{display:flex;align-items:center;gap:12px;padding:10px;border-radius:10px;cursor:pointer;transition:background .12s;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:1.5px solid transparent}.export-machine-item:hover{background:#f8fafc}.export-machine-item.selected{background:#fff7ed;border-color:#fed7aa}.export-machine-avatar{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,#fff7ed,#fff7ed);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:#f97316;flex-shrink:0;letter-spacing:.02em;text-transform:uppercase}.export-machine-info{flex:1;min-width:0}.export-machine-name{display:block;font-size:.875rem;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.export-machine-meta{display:flex;align-items:center;gap:5px;margin-top:2px}.export-machine-location{font-size:.73rem;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.export-machine-status-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.export-machine-status-dot.online{background:#22c55e}.export-machine-status-dot.offline{background:#cbd5e1}.export-modal-footer{padding:16px 24px;border-top:1px solid #f1f5f9;display:flex;align-items:center;justify-content:flex-end;gap:10px;background:#fff}.export-btn-cancel{padding:9px 20px;border-radius:10px;border:1.5px solid #e2e8f0;background:#fff;color:#64748b;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s}.export-btn-cancel:hover{background:#f8fafc;border-color:#cbd5e1;color:#334155}.export-btn-apply{padding:9px 22px;border-radius:10px;border:none;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;font-size:.85rem;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:7px;letter-spacing:.01em;box-shadow:0 2px 8px #f9731640}.export-btn-apply:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #f9731661}.export-btn-apply:active:not(:disabled){transform:translateY(0)}.export-btn-apply:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.app-shell{display:flex;min-height:100vh;background:var(--background-bg)}.sidebar{position:fixed;top:0;left:0;height:100vh;width:var(--sidebar-width-collapsed);background:linear-gradient(180deg,var(--sidebar-bg) 0%,var(--sidebar-bg2) 100%);display:flex;flex-direction:column;z-index:300;transition:width .25s ease,box-shadow .25s ease;overflow:hidden}.sidebar:hover,.sidebar.pinned{width:var(--sidebar-width);box-shadow:4px 0 32px #0003}.sidebar-logo-text,.sidebar-nav-label,.sidebar-section-label,.sidebar-user-info,.sidebar-logout-btn span,.sidebar-changepw-btn span,.sidebar-pin-btn{transition:opacity .18s ease;white-space:nowrap}.sidebar:not(:hover):not(.pinned) .sidebar-logo-text,.sidebar:not(:hover):not(.pinned) .sidebar-nav-label,.sidebar:not(:hover):not(.pinned) .sidebar-section-label,.sidebar:not(:hover):not(.pinned) .sidebar-user-info,.sidebar:not(:hover):not(.pinned) .sidebar-logout-btn span,.sidebar:not(:hover):not(.pinned) .sidebar-changepw-btn span,.sidebar:not(:hover):not(.pinned) .sidebar-pin-btn{opacity:0;pointer-events:none}.sidebar-pin-btn{margin-left:auto;flex-shrink:0;width:24px;height:24px;border:none;background:transparent;color:var(--sidebar-text);cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;padding:0;transition:opacity .18s ease,color .15s ease,background .15s ease}.sidebar-pin-btn:hover{background:#ffffff1a;color:var(--sidebar-text-active)}.sidebar-pin-btn svg{width:14px;height:14px}.sidebar-logo{display:flex;align-items:center;gap:10px;padding:20px 20px 16px;border-bottom:1px solid var(--sidebar-border);flex-shrink:0}.sidebar-logo-icon{width:34px;height:34px;background:var(--sidebar-accent);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-logo-icon svg{width:20px;height:20px;fill:#fff}.sidebar-logo-text{display:flex;flex-direction:column;line-height:1.15;overflow:hidden}.sidebar-logo-name{font-size:.95rem;font-weight:700;color:#fff;letter-spacing:-.02em;white-space:nowrap}.sidebar-logo-sub{font-size:.65rem;font-weight:500;color:var(--sidebar-text);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.sidebar-nav{flex:1;padding:12px 8px;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}.sidebar-nav::-webkit-scrollbar{display:none}.sidebar-section-label{font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--sidebar-text);padding:12px 12px 6px;white-space:nowrap;opacity:.6}.sidebar-nav-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;cursor:pointer;border:none;background:transparent;width:100%;text-align:left;transition:background .15s ease,color .15s ease;margin-bottom:2px;position:relative;white-space:nowrap;overflow:hidden}.sidebar-nav-item:hover{background:#ffffff0f}.sidebar-nav-item.active{background:var(--sidebar-active-bg)}.sidebar-nav-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:20px;background:var(--sidebar-accent);border-radius:0 3px 3px 0}.sidebar-nav-icon{flex-shrink:0;width:18px;height:18px;color:var(--sidebar-text);transition:color .15s ease}.sidebar-nav-item.active .sidebar-nav-icon,.sidebar-nav-item:hover .sidebar-nav-icon{color:var(--sidebar-text-active)}.sidebar-nav-item.active .sidebar-nav-icon{color:var(--sidebar-accent)}.sidebar-nav-label{font-size:.85rem;font-weight:500;color:var(--sidebar-text);transition:color .15s ease}.sidebar-nav-item:hover .sidebar-nav-label{color:var(--sidebar-text-active)}.sidebar-nav-item.active .sidebar-nav-label{color:var(--sidebar-text-active);font-weight:600}.sidebar-footer{padding:12px 8px;border-top:1px solid var(--sidebar-border);flex-shrink:0}.sidebar-user{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;margin-bottom:4px;overflow:hidden}.sidebar-avatar{width:30px;height:30px;border-radius:50%;background:var(--sidebar-accent);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#fff;flex-shrink:0}.sidebar-user-info{flex:1;min-width:0;overflow:hidden}.sidebar-username{font-size:.8rem;font-weight:600;color:var(--sidebar-text-active);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-size:.65rem;color:var(--sidebar-text);text-transform:capitalize}.sidebar-logout-btn{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;cursor:pointer;border:none;background:transparent;width:100%;text-align:left;transition:background .15s ease;color:var(--sidebar-text);font-size:.85rem;font-weight:500;white-space:nowrap}.sidebar-logout-btn:hover{background:#dc26261f;color:#fca5a5}.sidebar-logout-btn svg{width:18px;height:18px;flex-shrink:0}.sidebar-changepw-btn{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;cursor:pointer;border:none;background:transparent;width:100%;text-align:left;transition:background .15s ease;color:var(--sidebar-text);font-size:.85rem;font-weight:500;white-space:nowrap}.sidebar-changepw-btn:hover{background:#ffffff14;color:var(--sidebar-text-active)}.sidebar-changepw-btn svg{width:18px;height:18px;flex-shrink:0}.sidebar-role-switcher{margin:8px 0 6px;padding:8px 10px;background:#f9731612;border:1px dashed rgba(249,115,22,.3);border-radius:8px}.sidebar-role-switcher-label{display:flex;align-items:center;gap:5px;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--primary-color);margin-bottom:6px}.sidebar-role-switcher-pills{display:flex;flex-wrap:wrap;gap:4px}.role-pill{font-size:.62rem;font-weight:600;padding:2px 7px;border-radius:99px;border:1px solid rgba(255,255,255,.15);background:#ffffff12;color:var(--sidebar-text);cursor:pointer;transition:all .15s;font-family:inherit;white-space:nowrap}.role-pill:hover{background:#f973162e;border-color:var(--primary-color);color:#fff}.role-pill.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.sidebar-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:299;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.app-content{flex:1;min-width:0;min-height:100vh;display:flex;flex-direction:column;margin-left:var(--sidebar-width-collapsed);transition:margin-left .25s ease}.sidebar-pinned .app-content{margin-left:var(--sidebar-width)}.app-topbar{position:sticky;top:0;left:0;right:0;z-index:150;background:var(--surface-bg);border-bottom:1px solid var(--border-color);padding:0 28px;height:60px;display:flex;align-items:center;justify-content:space-between}.app-topbar-left{display:flex;align-items:center;gap:12px}.app-topbar-title{font-size:1rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.app-topbar-right{display:flex;align-items:center;gap:8px}.sidebar-toggle{display:none;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;border:none;background:transparent;cursor:pointer;color:var(--text-secondary);transition:background .15s}.sidebar-toggle:hover{background:var(--background-bg)}.sidebar-toggle svg{width:20px;height:20px}.page-content{padding:28px;flex:1}@media(max-width:1024px){.sidebar{position:fixed;top:0;left:0;width:var(--sidebar-width);transform:translate(-100%);box-shadow:none;transition:transform .25s ease,box-shadow .25s ease}.sidebar:hover,.sidebar.pinned{width:var(--sidebar-width);box-shadow:none}.sidebar.open{transform:translate(0);box-shadow:4px 0 32px #00000040}.sidebar.open .sidebar-logo-text,.sidebar.open .sidebar-nav-label,.sidebar.open .sidebar-section-label,.sidebar.open .sidebar-user-info,.sidebar.open .sidebar-logout-btn span,.sidebar.open .sidebar-changepw-btn span{opacity:1!important;pointer-events:auto!important}.sidebar-pin-btn{display:none!important}.sidebar-overlay.visible{display:block}.app-content{margin-left:0!important;width:100%;max-width:100vw;overflow-x:hidden}.app-topbar{left:0}.sidebar-toggle{display:flex}}@media(max-width:640px){.app-topbar{padding:0 16px}.page-content{padding:16px}}.home-loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:200px;color:var(--text-secondary);font-size:.9rem}.home-spinner{width:32px;height:32px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.home-empty-state{padding:60px 20px;text-align:center;color:var(--text-secondary);background:var(--surface-bg);border-radius:var(--radius-lg);border:1px dashed var(--border-color);font-size:.95rem}.home-error-banner{background:var(--error-bg);border-bottom:1px solid rgba(220,38,38,.15);color:var(--error-color);padding:10px 28px;font-size:.875rem;font-weight:500}.home-view-toggle{display:flex;background:var(--background-bg);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.home-view-toggle button{padding:6px 14px;border:none;background:transparent;color:var(--text-secondary);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s}.home-view-toggle button.active{background:var(--surface-bg);color:var(--primary-color);box-shadow:0 1px 3px #00000014}.btn-primary-sm{display:flex;align-items:center;gap:6px;padding:7px 14px;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s;font-family:inherit}.btn-primary-sm:hover{background:var(--primary-hover)}.machine-filter-bar{padding:0 0 16px;margin-bottom:8px;position:relative;z-index:100;display:flex;justify-content:center}.mpicker{position:relative;display:inline-block}.mpicker-trigger{display:flex;align-items:center;gap:10px;padding:11px 20px;background:var(--primary-color);border:none;border-radius:12px;font-size:.88rem;font-weight:700;color:#fff;cursor:pointer;font-family:inherit;transition:all .15s;box-shadow:0 4px 12px #f9731659;letter-spacing:.01em}.mpicker-trigger:hover{background:var(--primary-hover);box-shadow:0 6px 16px #f9731673;transform:translateY(-1px);border-color:var(--primary-color);color:var(--primary-color)}.mpicker-label{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mpicker-badge{background:#ffffff40;color:#fff;font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:20px;line-height:1.6}.mpicker-chevron{color:#fffc;transition:transform .2s;flex-shrink:0}.mpicker-chevron.open{transform:rotate(180deg)}.mpicker-dropdown{position:absolute;top:calc(100% + 8px);left:0;width:300px;max-width:calc(100vw - 32px);background:#fff;border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 24px #0000001f,0 2px 6px #0000000f;overflow:hidden;animation:mpicker-fade .15s ease;z-index:200}@keyframes mpicker-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.mpicker-search-row{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border-color);background:var(--background-bg)}.mpicker-search-input{flex:1;border:none;background:transparent;font-size:.82rem;color:var(--text-primary);font-family:inherit;outline:none}.mpicker-search-input::-moz-placeholder{color:#94a3b8}.mpicker-search-input::placeholder{color:#94a3b8}.mpicker-search-clear{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:.7rem;padding:0;line-height:1}.mpicker-search-clear:hover{color:var(--text-primary)}.mpicker-list{max-height:280px;overflow-y:auto;padding:6px 0;scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}.mpicker-item{display:flex;align-items:center;gap:9px;padding:9px 14px;cursor:pointer;font-size:.82rem;color:var(--text-primary);font-family:inherit;transition:background .1s}.mpicker-item:hover{background:var(--background-bg)}.mpicker-item.active{background:#fff7ed;color:var(--primary-color);font-weight:600}.mpicker-all-item{font-weight:600;color:var(--text-primary);border-bottom:1px solid var(--border-color);margin-bottom:4px}.mpicker-all-item.active{color:var(--primary-color)}.mpicker-select-all-item{border-bottom:1px solid var(--border-color);margin-bottom:4px;color:var(--text-secondary);font-size:.82rem}.mpicker-select-all-item:hover,.mpicker-select-all-item.active{color:var(--text-primary)}.mpicker-checkbox{width:16px;height:16px;border-radius:4px;border:1.5px solid var(--border-color);background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .12s,border-color .12s}.mpicker-checkbox.checked{background:var(--primary-color);border-color:var(--primary-color)}.mpicker-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mpicker-item-count{font-size:.72rem;color:var(--text-secondary);font-weight:500;flex-shrink:0}.mpicker-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.mpicker-dot.online{background:#16a34a}.mpicker-dot.offline{background:#dc2626}.mpicker-empty{padding:16px 14px;text-align:center;font-size:.8rem;color:var(--text-secondary)}.mpicker-footer{border-top:1px solid var(--border-color);padding:8px 12px;background:var(--background-bg)}.mpicker-footer button{background:none;border:none;font-size:.78rem;color:#dc2626;cursor:pointer;font-family:inherit;font-weight:600;padding:0}.mpicker-footer button:hover{text-decoration:underline}.machines-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:20px}.machines-search-bar{flex:1;min-width:0;display:flex;align-items:center;gap:10px;background:var(--surface-bg);border:1.5px solid var(--border-color);border-radius:12px;padding:10px 16px;transition:border-color .15s;box-shadow:0 1px 3px #0000000d}.machines-toolbar-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.machines-search-bar:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px #f9731614}.machines-search-input{flex:1;border:none;background:transparent;font-size:.875rem;color:var(--text-primary);font-family:inherit;outline:none}.machines-search-input::-moz-placeholder{color:#94a3b8}.machines-search-input::placeholder{color:#94a3b8}.machines-search-clear{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:.75rem;padding:0;line-height:1;flex-shrink:0}.machines-search-clear:hover{color:var(--text-primary)}.export-trigger-btn{display:flex;align-items:center;gap:6px;padding:7px 16px;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;border:none;border-radius:8px;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s ease;flex-shrink:0;font-family:inherit;white-space:nowrap}.export-trigger-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px #f9731659}.export-trigger-btn svg{flex-shrink:0}@media(max-width:640px){.machines-toolbar{flex-direction:column;align-items:stretch;gap:10px}.machines-toolbar-actions{gap:10px}.machines-toolbar-actions .export-trigger-btn{flex:1;justify-content:center;padding:10px 12px}}.machines-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.machine-card{background:var(--surface-bg);border-radius:var(--radius-lg);padding:20px;border:1px solid var(--border-color);cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm)}.machine-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--primary-color)}.machine-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.machine-card-arrow{color:var(--text-muted);transition:color .15s,transform .15s;margin-left:auto}.machine-card:hover .machine-card-arrow{color:var(--primary-color);transform:translate(2px)}.machine-status{display:flex;align-items:center;gap:7px}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-dot.online{background:var(--success-color);box-shadow:0 0 0 3px var(--success-bg)}.status-dot.offline{background:var(--error-color);box-shadow:0 0 0 3px var(--error-bg)}.status-text{color:var(--text-secondary);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700}.machine-name{color:var(--text-primary);font-size:1.15rem;font-weight:700;margin:0 0 6px;letter-spacing:-.02em}.machine-serial{color:var(--text-muted);font-size:.75rem;margin:0 0 8px;font-family:SF Mono,Fira Code,monospace;background:var(--background-bg);display:inline-block;padding:2px 7px;border-radius:4px;border:1px solid var(--border-color)}.machine-location{color:var(--text-secondary);font-size:.825rem;margin:0 0 14px;display:flex;align-items:center;gap:5px}.machine-location svg{color:var(--text-muted);flex-shrink:0}.machine-stats{display:flex;gap:8px;padding-top:14px;border-top:1px solid var(--border-color)}.stat{display:flex;align-items:center;gap:5px;color:var(--text-secondary);font-size:.78rem;font-weight:500;background:var(--background-bg);border:1px solid var(--border-color);padding:4px 10px;border-radius:20px}.stat svg{color:var(--text-muted)}.machine-inventory-progress{margin-top:14px;padding-top:14px;border-top:1px solid var(--border-color)}.progress-labels{display:flex;justify-content:space-between;font-size:.78rem;color:var(--text-secondary);margin-bottom:6px;font-weight:500}.progress-bar-bg{height:6px;background:var(--background-bg);border-radius:4px;overflow:hidden;position:relative;border:1px solid var(--border-color)}.progress-bar-fill{height:100%;background:var(--primary-color);border-radius:4px;transition:width .3s ease}.progress-bar-fill.over-capacity{background:var(--error-color)}@media(max-width:640px){.machines-grid{grid-template-columns:1fr;gap:12px}.machine-card{padding:16px}.machine-name{font-size:1rem}}.product-picker-modal{background:var(--surface-bg, #fff);border-radius:var(--radius-lg);width:100%;max-width:640px;max-height:88vh;box-shadow:0 20px 60px #0000002e,0 4px 16px #00000014;overflow:hidden;display:flex;flex-direction:column;animation:modalScaleIn .18s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid var(--border-color);background:var(--surface-bg, #fff);flex-shrink:0}.modal-header h2{margin:0;font-size:1rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.modal-close{width:28px;height:28px;border-radius:8px;border:1px solid var(--border-color);background:transparent;color:var(--text-muted);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;font-family:inherit;line-height:1}.search-container{padding:12px 16px;background:var(--surface-bg, #fff);border-bottom:1px solid var(--border-color);flex-shrink:0;position:relative}.search-input{width:100%;padding:9px 36px 9px 14px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--background-bg, #F9FAFB);color:var(--text-primary);font-size:.875rem;transition:border-color .15s,box-shadow .15s;font-family:inherit;box-sizing:border-box}.search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #f973161f;background:#fff}.search-input::-moz-placeholder{color:var(--text-faint, #C4CDD5)}.search-input::placeholder{color:var(--text-faint, #C4CDD5)}.clear-search{position:absolute;right:24px;top:50%;transform:translateY(-50%);width:22px;height:22px;border:none;background:var(--border-color);color:var(--text-muted);border-radius:50%;cursor:pointer;font-size:.8rem;display:flex;align-items:center;justify-content:center;transition:all .15s}.clear-search:hover{background:var(--border-strong, #CBD5E1);color:var(--text-primary)}.products-scroll-area{overflow-y:auto;background:var(--background-bg, #F4F6F8);flex:1;padding:16px}.brand-group{margin-bottom:24px}.brand-group:last-child{margin-bottom:0}.brand-header{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-secondary)}.brand-header span{background:#f6dbd2;padding:3px 10px;border-radius:6px;white-space:nowrap;flex-shrink:0}.brand-header:after{content:"";flex:1;height:1px;background:var(--border-color)}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.product-card{position:relative;background:#fff;border-radius:var(--radius-md);border:1px solid var(--border-color);overflow:hidden;cursor:pointer;transition:box-shadow .15s,transform .15s,border-color .15s;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.product-card:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:var(--shadow-md)}.product-card.selected{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color)}.product-card.empty-card{border-style:dashed;background:transparent}.product-image-container{width:100%;height:100px;background:var(--background-bg, #F4F6F8);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;border-bottom:1px solid var(--border-color)}.product-image{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;background:#fff;padding:8px;box-sizing:border-box}.product-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--background-bg, #F4F6F8);font-size:2rem;color:var(--border-strong, #CBD5E1)}.product-info{padding:8px 10px 10px;display:flex;flex-direction:column;gap:3px;flex:1}.product-info .product-name{color:var(--text-primary);font-size:.78rem;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;line-height:1.3;min-height:2.1em}.product-info .product-price{color:var(--primary-color);font-size:.875rem;font-weight:700;margin:2px 0 0}.product-categories{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.category-tag{background:var(--background-bg, #F4F6F8);color:var(--text-muted);font-size:.65rem;font-weight:600;padding:2px 6px;border-radius:8px;border:1px solid var(--border-color);text-transform:uppercase;letter-spacing:.03em}.selected-indicator{position:absolute;top:6px;right:6px;width:20px;height:20px;background:var(--primary-color);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.7rem;font-weight:700;box-shadow:var(--shadow-sm)}.no-results{text-align:center;padding:40px 20px;color:var(--text-muted);font-size:.875rem;background:#fff;border-radius:var(--radius-md);border:1px solid var(--border-color)}.loading-more{text-align:center;padding:20px;color:var(--text-muted);font-size:.85rem}.end-of-list{text-align:center;padding:12px;color:var(--text-faint, #C4CDD5);font-size:.78rem;border-top:1px solid var(--border-color);margin-top:12px}.saving-overlay span{margin-top:14px;color:var(--primary-color);font-weight:600;font-size:.95rem}.spinner{width:36px;height:36px;border:3px solid rgba(249,115,22,.12);border-top:3px solid var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}@media(max-width:480px){.products-grid{grid-template-columns:1fr 1fr;gap:8px}.product-image-container{height:80px}.modal-header{padding:14px 16px 12px}.products-scroll-area{padding:12px}}.modal-overlay{position:fixed;inset:0;background:#161c2466;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow-lg);border:none;overflow:hidden;animation:modalFadeIn .2s ease}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:18px 20px 14px;border-bottom:1px solid var(--border-color);background:var(--surface-bg, #fff)}.modal-header h2{color:var(--text-primary);font-size:1rem;font-weight:700;margin:0;display:flex;align-items:center;gap:8px;letter-spacing:-.01em}.modal-header-icon{color:var(--primary-color);flex-shrink:0}.modal-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color);background:transparent;color:var(--text-muted);font-size:1rem;border-radius:8px;cursor:pointer;transition:all .15s;line-height:1;font-family:inherit;flex-shrink:0}.modal-close:hover{background:var(--background-bg);color:var(--text-primary);border-color:var(--border-strong, #CBD5E1)}.modal-form{padding:24px}.form-group{margin-bottom:20px}.form-group label{display:block;color:var(--text-secondary);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.form-group input,.form-group select{width:100%;padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:#fff;color:var(--text-primary);font-size:1rem;transition:all .2s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #ff66001a}.form-group select option{background:#fff;color:var(--text-primary)}.form-hint{color:var(--text-secondary);font-size:.8rem;margin-top:6px}.uncouple-message{padding:16px;background:#fff5f5;border:1px solid #FEB2B2;border-radius:var(--radius-md);margin-bottom:20px}.uncouple-message p{color:#c53030;font-size:.95rem;margin:0;line-height:1.5;font-weight:500}.couple-message{padding:16px;background:#f0f9ff;border:1px solid #BEE3F8;border-radius:var(--radius-md);margin-bottom:20px}.couple-message p{color:#2b6cb0;font-size:.95rem;margin:0;line-height:1.5;font-weight:500}.modal-actions{display:flex;gap:12px;margin-top:8px}.btn-cancel,.btn-submit{flex:1;padding:12px 20px;border-radius:var(--radius-md);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-cancel{border:1px solid var(--border-color);background:#fff;color:var(--text-secondary)}.btn-cancel:hover{background:#f4f6f8;color:var(--text-primary);border-color:#c4cdd5}.btn-submit{border:none;background:var(--primary-color);color:#fff;box-shadow:0 4px 12px #ff660040}.btn-submit:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 6px 16px #ff66004d}.btn-submit:disabled{opacity:.7;cursor:not-allowed;background:#919eab;box-shadow:none}.saving-overlay{position:absolute;inset:0;background:#ffffffd9;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100;border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.saving-overlay span{margin-top:16px;color:var(--primary-color, #FF6600);font-weight:600;font-size:1.1rem}.spinner{width:40px;height:40px;border:3px solid rgba(255,102,0,.1);border-top:3px solid var(--primary-color, #FF6600);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.layer-type-options{display:flex;gap:10px;margin-top:6px}.layer-type-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 10px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--surface-bg, #fff);cursor:pointer;transition:all .15s;font-family:inherit;color:var(--text-muted)}.layer-type-btn:hover{border-color:var(--primary-color);background:var(--accent-light, #FFF4EC);color:var(--primary-color)}.layer-type-btn.active{border-color:var(--primary-color);background:var(--accent-light, #FFF4EC);box-shadow:inset 0 0 0 1px var(--primary-color);color:var(--primary-color)}.type-icon{display:flex;align-items:center;justify-content:center;line-height:1}.type-name{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.layer-type-btn.active .type-name{color:var(--primary-color)}.layer-warning{display:flex;align-items:flex-start;gap:7px;margin-top:8px;padding:9px 12px;background:#fffbeb;border:1px solid #FDE68A;border-radius:var(--radius-md);color:#92400e;font-size:.8rem;font-weight:500;line-height:1.4}.layer-warning svg{flex-shrink:0;margin-top:1px;color:#d97706}.internal-inventory-modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;justify-content:center;align-items:center;z-index:1200;padding:16px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.internal-inventory-modal-content{background:var(--surface-bg, #fff);width:100%;max-width:800px;max-height:88vh;border-radius:var(--radius-lg);display:flex;flex-direction:column;box-shadow:0 20px 60px #0000002e,0 4px 16px #00000014;overflow:hidden;animation:iiModalIn .18s ease;position:relative}@keyframes iiModalIn{0%{opacity:0;transform:scale(.97) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}.ii-modal-header{display:flex;justify-content:space-between;align-items:center;padding:18px 20px 14px;border-bottom:1px solid var(--border-color);background:var(--surface-bg, #fff);flex-shrink:0}.ii-modal-header h2{margin:0;font-size:1rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em;display:flex;align-items:center;gap:8px}.ii-header-icon{color:var(--primary-color);flex-shrink:0}.ii-close-btn{width:28px;height:28px;border-radius:8px;border:1px solid var(--border-color);background:transparent;color:var(--text-muted);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;font-family:inherit;line-height:1;flex-shrink:0}.ii-close-btn:hover{background:var(--background-bg);color:var(--text-primary);border-color:var(--border-strong, #CBD5E1)}.ii-error-banner{background:var(--error-bg, rgba(220,38,38,.08));color:var(--error-color, #DC2626);padding:10px 20px;font-size:.85rem;font-weight:500;border-bottom:1px solid rgba(220,38,38,.15);flex-shrink:0}.ii-modal-body{display:flex;flex:1;overflow:hidden}.ii-current-inventory{flex:1;border-right:1px solid var(--border-color);display:flex;flex-direction:column;background:var(--background-bg, #F4F6F8);min-width:0}.ii-current-inventory h3,.ii-add-new-section h3{margin:0;padding:12px 16px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);border-bottom:1px solid var(--border-color);background:var(--surface-bg, #fff);flex-shrink:0}.ii-items-list{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.ii-empty-state{margin:12px;padding:32px 20px;text-align:center;color:var(--text-muted);font-size:.875rem;background:var(--surface-bg, #fff);border:1px solid var(--border-color);border-radius:var(--radius-md)}.ii-inventory-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--surface-bg, #fff);box-shadow:var(--shadow-sm);transition:box-shadow .15s}.ii-inventory-item:hover{box-shadow:var(--shadow-md)}.ii-item-image{width:44px;height:44px;border-radius:var(--radius-sm, 6px);background:var(--background-bg, #F4F6F8);border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.ii-item-image img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.ii-no-image-placeholder{color:var(--text-muted);font-size:.65rem;text-align:center}.ii-item-details{flex:1;min-width:0}.ii-item-details h4{margin:0 0 3px;font-size:.875rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ii-price{font-size:.8rem;color:var(--primary-color);font-weight:600}.ii-quantity-controls{display:flex;align-items:center;gap:6px;background:var(--background-bg, #F4F6F8);padding:4px;border-radius:var(--radius-sm, 6px);flex-shrink:0}.ii-quantity-controls button{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color);background:var(--surface-bg, #fff);border-radius:6px;cursor:pointer;font-weight:700;font-size:.9rem;color:var(--text-primary);transition:all .15s;font-family:inherit}.ii-quantity-controls button:disabled{opacity:.45;cursor:not-allowed}.ii-quantity-controls button:hover:not(:disabled){background:var(--primary-color);border-color:var(--primary-color);color:#fff}.ii-qty{min-width:22px;text-align:center;font-weight:700;font-size:.875rem;color:var(--text-primary)}.ii-remove-btn{background:transparent!important;border-color:transparent!important;color:var(--text-muted)!important;margin-left:2px}.ii-remove-btn:hover:not(:disabled){background:var(--error-bg, rgba(220,38,38,.08))!important;border-color:var(--error-color, #DC2626)!important;color:var(--error-color, #DC2626)!important}.ii-add-new-section{width:340px;display:flex;flex-direction:column;background:var(--background-bg, #F4F6F8);flex-shrink:0}.ii-search-box{padding:12px;border-bottom:1px solid var(--border-color);background:var(--surface-bg, #fff)}.ii-search-box input{width:100%;padding:9px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.875rem;box-sizing:border-box;background:var(--background-bg, #F4F6F8);color:var(--text-primary);font-family:inherit;transition:border-color .15s,box-shadow .15s}.ii-search-box input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #f973161f;background:var(--surface-bg, #fff)}.ii-catalog-list{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.ii-catalog-item{background:var(--surface-bg, #fff);border:1px solid var(--border-color);padding:10px 12px;border-radius:var(--radius-md);display:flex;flex-direction:column;gap:8px;transition:border-color .15s,box-shadow .15s}.ii-catalog-item.ii-adding{border-color:var(--primary-color);box-shadow:0 0 0 3px #f973161a}.ii-catalog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ii-catalog-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.ii-catalog-image{width:56px;height:56px;border-radius:var(--radius-sm, 6px);background:var(--background-bg, #F4F6F8);border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.ii-catalog-image img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.ii-catalog-info strong{font-size:.875rem;font-weight:600;color:var(--text-primary)}.ii-catalog-brand{font-size:.775rem;color:var(--text-muted)}.ii-already-added{font-size:.78rem;color:#16a34a;font-weight:600;background:#f0fdf4;border:1px solid #BBF7D0;padding:5px 10px;border-radius:6px;text-align:center}.ii-start-add-btn{padding:7px 12px;background:transparent;border:1px solid var(--primary-color);color:var(--primary-color);border-radius:var(--radius-md);font-size:.825rem;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit}.ii-start-add-btn:hover{background:var(--primary-color);color:#fff}.ii-add-controls{display:flex;gap:6px;align-items:center}.ii-add-controls input{width:56px;padding:7px 8px;border:1px solid var(--border-color);border-radius:var(--radius-md);text-align:center;font-size:.875rem;font-family:inherit;background:var(--background-bg);color:var(--text-primary)}.ii-add-controls input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #f973161f}.ii-confirm-add-btn{flex:1;padding:7px 12px;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-md);font-size:.825rem;font-weight:600;cursor:pointer;transition:background .15s;font-family:inherit}.ii-confirm-add-btn:hover:not(:disabled){background:var(--primary-dark, #EA580C)}.ii-confirm-add-btn:disabled{opacity:.5;cursor:not-allowed}.ii-cancel-add-btn{padding:7px 10px;background:transparent;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.825rem;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit}.ii-cancel-add-btn:hover{background:var(--background-bg);color:var(--text-primary)}.ii-load-more{padding:9px 14px;background:var(--surface-bg, #fff);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;font-weight:600;font-size:.825rem;margin-top:4px;font-family:inherit;transition:all .15s}.ii-load-more:hover:not(:disabled){background:var(--background-bg);color:var(--text-primary);border-color:var(--border-strong, #CBD5E1)}.ii-searching,.ii-no-results{text-align:center;color:var(--text-muted);padding:24px 0;font-size:.875rem}.ii-drop-dialog-overlay{position:absolute;inset:0;background:#0f172a6b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:10;animation:iiDropOverlayIn .14s ease}@keyframes iiDropOverlayIn{0%{opacity:0}to{opacity:1}}.ii-drop-dialog{width:100%;max-width:360px;background:var(--surface-bg, #fff);border-radius:var(--radius-lg, 12px);border:1px solid var(--border-color);box-shadow:0 20px 50px #00000038,0 4px 14px #00000014;padding:20px;display:flex;flex-direction:column;gap:14px;animation:iiDropDialogIn .18s cubic-bezier(.16,1,.3,1)}@keyframes iiDropDialogIn{0%{opacity:0;transform:scale(.94) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.ii-drop-dialog-header{display:flex;gap:12px;align-items:center}.ii-drop-dialog-image{width:56px;height:56px;border-radius:var(--radius-sm, 8px);background:var(--background-bg, #F4F6F8);border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.ii-drop-dialog-image img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.ii-drop-dialog-info{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.ii-drop-dialog-info h3{margin:0;font-size:.95rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ii-drop-dialog-current{font-size:.75rem;color:var(--text-muted)}.ii-drop-dialog-current strong{color:var(--text-primary);font-weight:600}.ii-drop-dialog-new{color:var(--primary-color);font-weight:600}.ii-drop-dialog-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.ii-drop-dialog-qty-row{display:flex;align-items:stretch;gap:8px}.ii-drop-dialog-step{width:40px;height:44px;border-radius:var(--radius-md, 8px);border:1px solid var(--border-color);background:var(--background-bg, #F4F6F8);font-size:1.1rem;font-weight:700;color:var(--text-primary);cursor:pointer;transition:all .12s;display:flex;align-items:center;justify-content:center}.ii-drop-dialog-step:hover:not(:disabled){background:var(--surface-bg, #fff);border-color:var(--primary-color);color:var(--primary-color)}.ii-drop-dialog-step:disabled{opacity:.5;cursor:not-allowed}.ii-drop-dialog-input{flex:1;height:44px;border-radius:var(--radius-md, 8px);border:1px solid var(--border-color);background:var(--surface-bg, #fff);font-size:1.1rem;font-weight:700;color:var(--text-primary);text-align:center;font-family:inherit;outline:none;transition:border-color .12s,box-shadow .12s;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.ii-drop-dialog-input::-webkit-outer-spin-button,.ii-drop-dialog-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ii-drop-dialog-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #f9731626}.ii-drop-dialog-preview{font-size:.8rem;color:var(--text-secondary, var(--text-muted));padding:8px 12px;background:var(--background-bg, #F4F6F8);border-radius:var(--radius-sm, 6px);text-align:center}.ii-drop-dialog-preview strong{color:var(--primary-color);font-weight:700}.ii-drop-dialog-actions{display:flex;gap:8px;margin-top:4px}.ii-drop-dialog-cancel,.ii-drop-dialog-confirm{flex:1;height:42px;border-radius:var(--radius-md, 8px);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .12s;border:1px solid transparent;font-family:inherit}.ii-drop-dialog-cancel{background:transparent;border-color:var(--border-color);color:var(--text-secondary, var(--text-muted))}.ii-drop-dialog-cancel:hover:not(:disabled){background:var(--background-bg, #F4F6F8);color:var(--text-primary)}.ii-drop-dialog-confirm{background:var(--primary-color);color:#fff;box-shadow:0 2px 6px #f9731647}.ii-drop-dialog-confirm:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 4px 12px #f9731652}.ii-drop-dialog-confirm:disabled,.ii-drop-dialog-cancel:disabled{opacity:.55;cursor:not-allowed;transform:none}.ii-drop-hint{font-size:.72rem;color:var(--text-muted);padding:0 0 10px 20px;font-style:italic}.ii-current-inventory.ii-drop-active{background:#f9731614;outline:2px dashed var(--primary-color);outline-offset:-6px;border-radius:var(--radius-md)}.ii-current-inventory.ii-drop-active .ii-drop-hint{color:var(--primary-color);font-weight:600;font-style:normal}@media(min-width:1024px){.machine-container.panel-open .internal-inventory-modal-overlay{position:fixed;inset:60px 0 0 auto;width:45vw;max-width:640px;min-width:420px;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0;align-items:stretch;justify-content:stretch;z-index:160}.machine-container.panel-open .internal-inventory-modal-content{max-width:none;width:100%;max-height:none;height:100%;border-radius:0;border-left:1px solid var(--border-color);box-shadow:-8px 0 24px #00000014;animation:none}}@media(max-width:768px){.internal-inventory-modal-content{max-height:92vh}.ii-modal-body{flex-direction:column;overflow-y:auto}.ii-current-inventory,.ii-add-new-section{width:100%;flex:none;border-right:none}.ii-current-inventory{border-bottom:1px solid var(--border-color);min-height:260px;max-height:50vh}.ii-items-list{overflow-y:auto}.ii-add-new-section{min-height:300px}}.psp-overlay{position:fixed;inset:0;background:#00000073;display:flex;justify-content:center;align-items:center;z-index:1200;padding:16px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.psp-content{background:var(--surface-bg, #fff);width:100%;max-width:480px;max-height:88vh;border-radius:var(--radius-lg);display:flex;flex-direction:column;box-shadow:0 20px 60px #0000002e,0 4px 16px #00000014;overflow:hidden;position:relative}.psp-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 20px;border-bottom:1px solid var(--border-color);flex-shrink:0}.psp-header h2{margin:0;font-size:1rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:8px}.psp-close-btn{width:28px;height:28px;border-radius:8px;border:1px solid var(--border-color);background:transparent;color:var(--text-muted);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;line-height:1}.psp-close-btn:hover{background:var(--background-bg);color:var(--text-primary);border-color:var(--border-strong)}.psp-search-box{padding:12px 16px;border-bottom:1px solid var(--border-color);flex-shrink:0;position:relative}.psp-search-box input{width:100%;padding:9px 36px 9px 14px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--background-bg, #F9FAFB);color:var(--text-primary);font-size:.875rem;transition:border-color .15s,box-shadow .15s;font-family:inherit;box-sizing:border-box}.psp-search-box input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #f973161f;background:#fff}.psp-clear-search{position:absolute;right:24px;top:50%;transform:translateY(-50%);width:22px;height:22px;border:none;background:var(--border-color);color:var(--text-muted);border-radius:50%;cursor:pointer;font-size:.8rem;display:flex;align-items:center;justify-content:center}.psp-scroll-area{overflow-y:auto;background:var(--background-bg, #F4F6F8);flex:1;padding:10px 16px}.psp-brand-group{margin-bottom:24px}.psp-brand-group:last-child{margin-bottom:0}.psp-brand-header{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-secondary)}.psp-brand-header span{background:#f6dbd2;padding:3px 10px;border-radius:6px;white-space:nowrap;flex-shrink:0}.psp-brand-header:after{content:"";flex:1;height:1px;background:var(--border-color)}.psp-products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.psp-product-card{position:relative;background:#fff;border-radius:var(--radius-md);border:1px solid var(--border-color);overflow:hidden;cursor:grab;transition:box-shadow .15s,transform .15s,border-color .15s;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.psp-product-card:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:var(--shadow-md)}.psp-product-card:active{cursor:grabbing}.psp-product-image-container{width:100%;height:100px;background:var(--background-bg, #F4F6F8);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;border-bottom:1px solid var(--border-color)}.psp-product-image{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;background:#fff;padding:8px;box-sizing:border-box}.psp-product-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:var(--border-strong)}.psp-product-info{padding:8px 10px 10px;display:flex;flex-direction:column;gap:3px;flex:1}.psp-product-name{color:var(--text-primary);font-size:.78rem;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;line-height:1.3;min-height:2.1em}.psp-product-price{color:var(--primary-color);font-size:.875rem;font-weight:700;margin:2px 0 0}.psp-product-categories{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.psp-category-tag{background:var(--background-bg, #F4F6F8);color:var(--text-muted);font-size:.65rem;font-weight:600;padding:2px 6px;border-radius:8px;border:1px solid var(--border-color);text-transform:uppercase;letter-spacing:.03em}.psp-no-results{text-align:center;padding:40px 20px;color:var(--text-muted);font-size:.875rem;background:#fff;border-radius:var(--radius-md);border:1px solid var(--border-color)}.psp-loading-more{text-align:center;padding:20px;color:var(--text-muted);font-size:.85rem}.psp-end-of-list{text-align:center;padding:12px;color:var(--text-muted);font-size:.78rem;border-top:1px solid var(--border-color);margin-top:12px}.psp-hint-bar{padding:10px 16px;border-top:1px solid var(--border-color);font-size:.78rem;color:var(--text-muted);text-align:center;flex-shrink:0;background:var(--surface-bg, #fff)}@media(min-width:1024px){.machine-container.panel-open .psp-overlay{position:fixed;inset:60px 0 0 auto;width:32vw;max-width:420px;min-width:340px;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0;align-items:stretch;justify-content:stretch;z-index:160}.machine-container.panel-open .psp-content{max-width:none;width:100%;max-height:none;height:100%;border-radius:0;border-left:1px solid var(--border-color);box-shadow:-8px 0 24px #00000014}}.pending-commands-modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;justify-content:center;align-items:center;z-index:1200;padding:16px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.pending-commands-modal-content{background:var(--surface-bg, #fff);border-radius:var(--radius-lg);width:100%;max-width:480px;max-height:88vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000002e,0 4px 16px #00000014;overflow:hidden;animation:modalScaleIn .18s ease}@keyframes modalScaleIn{0%{opacity:0;transform:scale(.97) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}.pc-modal-header{display:flex;justify-content:space-between;align-items:center;padding:18px 20px 14px;border-bottom:1px solid var(--border-color);background:var(--surface-bg, #fff);flex-shrink:0}.pc-modal-header h2{margin:0;font-size:1rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em;display:flex;align-items:center;gap:8px}.pc-header-icon{color:var(--primary-color);flex-shrink:0}.pc-close-btn{width:28px;height:28px;border-radius:8px;border:1px solid var(--border-color);background:transparent;color:var(--text-muted);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;font-family:inherit;line-height:1;flex-shrink:0}.pc-close-btn:hover{background:var(--background-bg);color:var(--text-primary);border-color:var(--border-strong, #CBD5E1)}.pc-modal-body{padding:16px;overflow-y:auto;flex:1;background:var(--background-bg, #F4F6F8)}.pc-table-container{background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.pc-table{width:100%;border-collapse:collapse;text-align:left}.pc-table th{background:var(--background-bg, #F8FAFC);padding:10px;font-weight:700;color:var(--text-secondary);border-bottom:1px solid var(--border-color);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.pc-table td{padding:12px 10px;border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:.85rem;vertical-align:middle}.pc-table tr:last-child td{border-bottom:none}.pc-table th:nth-child(1),.pc-table td:nth-child(1){word-break:break-word;min-width:80px}.pc-table th:nth-child(2),.pc-table td:nth-child(2){white-space:nowrap}.pc-table th:nth-child(3),.pc-table td:nth-child(3){white-space:nowrap}.pc-type-badge{display:inline-block;padding:3px 8px;border-radius:6px;font-size:.72rem;font-weight:700;background:var(--accent-light, #FFF4EC);color:var(--primary-color);border:1px solid rgba(249,115,22,.2);letter-spacing:.02em}.pc-empty-state{text-align:center;padding:32px 20px;color:var(--text-muted);background:#fff;border-radius:var(--radius-md);border:1px solid var(--border-color)}.pc-empty-icon{font-size:2rem;margin-bottom:10px;display:block}.pc-empty-state p{margin:0;font-size:.875rem}.pc-modal-footer{padding:14px 16px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;align-items:center;gap:10px;background:var(--surface-bg, #fff);flex-shrink:0}.pc-reboot-btn{background:var(--error-color, #DC2626);color:#fff;border:none;padding:9px 16px;border-radius:var(--radius-md);font-weight:600;font-size:.85rem;cursor:pointer;transition:background .15s;display:flex;align-items:center;gap:6px;font-family:inherit;white-space:nowrap}.pc-reboot-btn:hover{background:#b91c1c}.pc-cancel-btn{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color);padding:9px 18px;border-radius:var(--radius-md);font-weight:600;font-size:.85rem;cursor:pointer;transition:all .15s;font-family:inherit;white-space:nowrap}.pc-cancel-btn:hover{background:var(--background-bg);color:var(--text-primary);border-color:var(--border-strong, #CBD5E1)}.machine-container{min-height:100vh;background:var(--background-bg)}.machine-header{position:fixed;top:0;left:0;right:0;z-index:150;display:flex;align-items:center;gap:12px;padding:0 24px;height:60px;background:var(--surface-bg);border-bottom:1px solid var(--border-color);flex-wrap:nowrap}.back-btn{display:flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap;flex-shrink:0}.back-btn:hover{background:var(--background-bg);color:var(--text-primary);border-color:var(--border-strong)}.machine-title-group{flex:1;min-width:0}.machine-title-row{display:flex;align-items:center;gap:8px}.machine-header h1{color:var(--text-primary);font-size:1rem;font-weight:700;margin:0;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.machine-massage{margin:0;color:var(--text-muted);font-size:.72rem;font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.machine-edit-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-muted);transition:all .15s;flex-shrink:0}.machine-edit-btn:hover{background:var(--background-bg);border-color:var(--border-color);color:var(--primary-color)}.machine-edit-form{flex:1;display:flex;align-items:center;gap:10px;min-width:0}.machine-edit-fields{display:flex;gap:8px;flex:1;min-width:0}.machine-edit-input{padding:6px 10px;border-radius:var(--radius-sm);border:1px solid var(--border-color);font-size:.85rem;color:var(--text-primary);background:#fff;outline:none;transition:border-color .15s;min-width:0;flex:1;font-family:inherit}.machine-edit-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #f973161a}.machine-edit-name{font-weight:600}.machine-edit-actions{display:flex;gap:6px;flex-shrink:0}.machine-edit-save{padding:6px 14px;border-radius:var(--radius-sm);border:none;background:var(--primary-color);color:#fff;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s;font-family:inherit}.machine-edit-save:hover:not(:disabled){background:var(--primary-hover)}.machine-edit-save:disabled{opacity:.6;cursor:not-allowed}.machine-edit-cancel{padding:6px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);font-size:.82rem;font-weight:500;cursor:pointer;transition:all .15s;font-family:inherit}.machine-edit-cancel:hover:not(:disabled){background:var(--background-bg);border-color:var(--border-strong)}.machine-edit-cancel:disabled{opacity:.6;cursor:not-allowed}.machine-header>div:last-child{display:flex;gap:6px;flex-shrink:0;align-items:center}.clear-jammed-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--surface-bg);color:var(--text-secondary);font-size:.78rem;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap;font-family:inherit}.clear-jammed-btn:hover{background:var(--error-bg);border-color:var(--error-color);color:var(--error-color)}.clear-jammed-btn.select-mode-active,.clear-jammed-btn.select-mode-active:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.export-inventory-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--surface-bg);color:var(--text-secondary);font-size:.78rem;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap;font-family:inherit}.export-inventory-btn:hover{background:var(--background-bg);border-color:var(--border-strong);color:var(--text-primary)}.header-actions-dropdown{position:relative}.header-actions-menu{position:fixed;background:#fff;border-radius:var(--radius-md);padding:4px;min-width:180px;box-shadow:0 8px 24px #00000026,0 2px 8px #00000014;border:1px solid var(--border-color);z-index:2000}.header-actions-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;background:transparent;color:var(--text-primary);font-size:.8rem;text-align:left;cursor:pointer;transition:background .1s,color .1s;font-weight:500;font-family:inherit;border-radius:6px;white-space:nowrap}.header-actions-menu button:hover{background:var(--background-bg);color:var(--primary-color)}.screen-time-bar{position:fixed;top:60px;left:0;right:0;z-index:140;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 24px;background:var(--background-bg);border-bottom:1px solid var(--border-color);font-size:.8rem}.screen-time-info{display:flex;align-items:center;gap:6px;color:var(--text-secondary)}.screen-time-info svg{color:var(--text-muted);flex-shrink:0}.screen-time-label{font-weight:600;color:var(--text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.screen-time-value{font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.screen-time-edit-btn{display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--surface-bg);color:var(--text-secondary);font-size:.72rem;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit;white-space:nowrap}.screen-time-edit-btn:hover{border-color:var(--primary-color);color:var(--primary-color);background:var(--accent-light)}.screen-time-edit{display:flex;align-items:center;gap:6px}.screen-time-input{padding:4px 8px;border-radius:var(--radius-sm);border:1px solid var(--border-color);font-size:.8rem;font-family:inherit;color:var(--text-primary);background:#fff;outline:none;transition:border-color .15s}.screen-time-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #f973161a}.screen-time-input:disabled{background:var(--background-bg);cursor:not-allowed}.screen-time-save-btn{padding:4px 10px;border-radius:var(--radius-sm);border:none;background:var(--primary-color);color:#fff;font-size:.8rem;font-weight:700;cursor:pointer;transition:background .15s;font-family:inherit}.screen-time-save-btn:hover:not(:disabled){background:var(--primary-hover)}.screen-time-save-btn:disabled{opacity:.6;cursor:not-allowed}.screen-time-cancel-btn{padding:4px 8px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s;font-family:inherit}.screen-time-cancel-btn:hover:not(:disabled){background:var(--background-bg);border-color:var(--border-strong)}.screen-time-cancel-btn:disabled{opacity:.6;cursor:not-allowed}.machine-container .screen-time-bar+.error-banner+.machine-frame,.machine-container .screen-time-bar~.machine-frame{margin-top:104px}.machine-container>.error-banner,.machine-container>.machine-status-bar{margin-top:0}.error-banner{background:var(--error-bg);border:1px solid rgba(220,38,38,.2);color:var(--error-color);padding:10px 20px;font-size:.85rem;font-weight:500}.loading-spinner{display:flex;justify-content:center;align-items:center;min-height:100vh;color:var(--text-secondary);font-size:1rem}.machine-frame{background:var(--surface-bg);border-radius:var(--radius-lg);padding:20px;border:1px solid var(--border-color);box-shadow:var(--shadow-sm);margin:72px 20px 20px;overflow-x:auto;-webkit-overflow-scrolling:touch;transition:margin-right .2s ease}.slot-item[draggable=true]{cursor:grab}.slot-item[draggable=true]:active{cursor:grabbing}.layer-bulk-btn{margin-top:2px;display:inline-flex;align-items:center;gap:4px;padding:3px 8px;font-size:.6rem;font-weight:700;color:var(--primary-color);background:#fff;border:1px solid var(--primary-color);border-radius:4px;cursor:pointer;font-family:inherit;transition:all .12s;white-space:nowrap}.layer-bulk-btn:hover{background:var(--primary-color);color:#fff}@media(max-width:767px){.layer-label{gap:4px}.layer-bulk-btn{padding:4px 6px;gap:3px;font-size:0;line-height:1}.layer-bulk-btn svg{width:13px;height:13px}.layer-bulk-btn-label{display:none}.layer-label.clickable:after{font-size:.55rem;padding:1px 6px}}.bulk-layer-modal{max-width:460px}.bulk-layer-modal .bulk-summary{font-size:.82rem;color:var(--text-secondary, var(--text-muted));background:var(--background-bg, #F4F6F8);border:1px solid var(--border-color);border-radius:var(--radius-sm, 6px);padding:10px 12px;margin-bottom:14px}.bulk-layer-modal .bulk-summary strong{color:var(--text-primary);font-weight:700}.bulk-layer-modal .bulk-field-group{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid var(--border-color);border-radius:var(--radius-md, 8px);background:var(--surface-bg, #fff);margin-bottom:12px}.bulk-layer-modal .bulk-field-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.bulk-layer-modal .bulk-field-row{display:flex;gap:10px;align-items:stretch}.bulk-layer-modal .bulk-field-row input{flex:1;min-width:0;height:40px;border-radius:var(--radius-md, 8px);border:1px solid var(--border-color);padding:0 12px;font-size:.95rem;font-family:inherit;color:var(--text-primary);background:#fff;outline:none;transition:border-color .12s,box-shadow .12s}.bulk-layer-modal .bulk-field-row input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #f9731626}.bulk-layer-modal .bulk-field-row input:disabled{background:var(--background-bg, #F4F6F8);cursor:not-allowed}.bulk-layer-modal .bulk-apply-btn{flex-shrink:0;height:40px;padding:0 16px;white-space:nowrap;font-size:.85rem}.bulk-layer-modal .bulk-field-hint{font-size:.7rem;color:var(--text-muted)}@media(max-width:560px){.bulk-layer-modal{max-width:100%}.bulk-layer-modal .bulk-summary{font-size:.78rem;padding:9px 11px;margin-bottom:10px}.bulk-layer-modal .bulk-field-group{padding:10px;gap:5px;margin-bottom:10px}.bulk-layer-modal .bulk-field-label{font-size:.68rem}.bulk-layer-modal .bulk-field-row{gap:8px}.bulk-layer-modal .bulk-field-row input{height:38px;font-size:.9rem;padding:0 10px}.bulk-layer-modal .bulk-apply-btn{height:38px;padding:0 12px;font-size:.78rem;min-width:92px}.bulk-layer-modal .bulk-field-hint{font-size:.66rem;line-height:1.4}}@media(min-width:1024px){.machine-container.panel-open .machine-frame{margin-right:calc(clamp(420px,45vw,640px) + 20px)}.machine-container.panel-open.psp-open .machine-frame{margin-right:calc(clamp(340px,32vw,420px) + 20px)}}@media(max-width:1023px){.header-actions-menu .psp-trigger-btn{display:none}}.machine-layer{display:flex;align-items:stretch;margin-bottom:12px;min-height:130px;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-color);scrollbar-width:none}.machine-layer::-webkit-scrollbar{display:none}.machine-layer:last-child{margin-bottom:0}.layer-label{width:88px;min-width:88px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:var(--background-bg);border-right:1px solid var(--border-color);padding:12px 8px;flex-shrink:0;transition:all .15s}.layer-label.clickable{cursor:pointer}.layer-label.clickable:after{content:"Edit";font-size:.6rem;font-weight:600;color:var(--primary-color);background:var(--accent-light);border:1px solid var(--primary-color);border-radius:4px;padding:2px 8px;opacity:.7;transition:opacity .15s}.layer-label.clickable:hover{background:var(--accent-light);border-right-color:var(--primary-color)}.layer-label.clickable:hover:after{opacity:1}.layer-name{font-size:.82rem;font-weight:700;color:var(--text-primary);text-align:center}.layer-label.clickable:hover .layer-name{color:var(--primary-color)}.layer-type{font-size:.62rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--border-color);padding:2px 6px;border-radius:4px;font-weight:600}.layer-slots{flex:1;display:flex;gap:10px;padding:12px;background:#fff;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch}.empty-layer{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.85rem;font-style:italic}.slot-item{position:relative;background:#fff;border-radius:var(--radius-md);border:1px solid var(--border-color);padding:10px 8px 8px;min-width:110px;transition:all .15s;flex-shrink:0;box-shadow:var(--shadow-sm)}.slot-item:hover,.slot-item.menu-open{border-color:var(--primary-color);box-shadow:0 0 0 2px #f973161f;z-index:50}.slot-item:not(.menu-open):hover{transform:translateY(-1px)}.slot-item.empty{background:var(--background-bg);border-style:dashed;border-color:var(--border-strong)}.slot-item.slot-out-of-stock{background:#fffbeb;border:1.5px solid #D97706}.slot-item.slot-out-of-stock:hover{border-color:var(--warning);box-shadow:0 0 0 2px #d977061f}.slot-item.slot-inactive{background:var(--error-bg);border:1.5px solid var(--error-color);opacity:.8}.slot-item.slot-inactive:hover{opacity:1;box-shadow:0 0 0 2px #dc26261f}.slot-menu-trigger{position:absolute;top:4px;right:4px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:6px;transition:background .15s;z-index:10;color:var(--text-muted)}.slot-menu-trigger:hover{background:var(--background-bg);color:var(--primary-color)}.dots{font-size:1rem;font-weight:700;line-height:1}.slot-menu{position:fixed;background:#fff;border-radius:var(--radius-md);padding:4px;min-width:180px;box-shadow:0 8px 24px #00000026,0 2px 8px #00000014;border:1px solid var(--border-color);z-index:2000}.slot-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;background:transparent;color:var(--text-primary);font-size:.8rem;text-align:left;cursor:pointer;transition:background .1s,color .1s;font-weight:500;font-family:inherit;border-radius:6px;white-space:nowrap}.slot-menu button:first-letter{display:inline-flex;width:16px;font-size:.85rem;color:var(--text-muted);flex-shrink:0}.slot-menu button:hover{background:var(--background-bg);color:var(--primary-color)}.slot-menu-divider{border:none;border-top:1px solid var(--border-color);margin:4px 0}.slot-menu button.menu-item-danger{color:var(--error-color, #DC2626);border-radius:0 0 6px 6px}.slot-menu button.menu-item-danger:hover{background:var(--error-bg, #FEF2F2);color:var(--error-color, #DC2626)}.slot-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:80px;gap:4px}.empty-text{color:var(--text-muted);font-size:.75rem;font-weight:500}.slot-number{color:var(--text-faint);font-size:.7rem}.slot-content{display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;padding-top:4px;padding-bottom:22px}.slot-image-container{width:64px;height:64px;border-radius:var(--radius-sm);overflow:hidden;background:var(--background-bg);flex-shrink:0;border:1px solid var(--border-color)}.slot-image{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;background:#fff}.slot-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1.6rem;background:var(--background-bg);color:var(--border-strong)}.slot-info{text-align:center;width:100%}.slot-product-name{color:var(--text-primary);font-size:.72rem;font-weight:600;margin:0 0 3px;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3;cursor:help;text-align:center}.slot-price{color:var(--primary-color);font-size:.85rem;font-weight:700;margin:0 0 3px}.slot-inventory{position:absolute;bottom:4px;left:4px;display:inline-flex;align-items:center;gap:2px;color:var(--text-muted);font-size:.68rem;background:var(--background-bg);padding:1px 5px;border-radius:20px;border:1px solid var(--border-color)}.slash{color:var(--border-strong)}.slot-number-badge{position:absolute;bottom:4px;right:4px;background:var(--background-bg);color:var(--text-muted);font-size:.6rem;font-weight:700;padding:1px 4px;border-radius:4px;border:1px solid var(--border-color)}.coupled-badge{position:absolute;top:4px;left:4px;background:var(--primary-color);color:#fff;font-size:.62rem;font-weight:700;padding:2px 5px;border-radius:4px;z-index:5}.slot-item.slot-selected{border-color:var(--primary-color);box-shadow:0 0 0 2px #f973162e;background:var(--accent-light)}.slot-item.slot-selected:hover{border-color:var(--primary-hover);box-shadow:0 0 0 2px #ea580c38}.slot-item.drop-target{border-color:var(--primary-color);box-shadow:0 0 0 2px #f9731659;background:var(--accent-light)}.multi-select-bar{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:16px 20px;background:var(--surface-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);white-space:nowrap}.multi-select-count{font-size:.9rem;font-weight:700;color:var(--text-primary)}.multi-select-actions{display:flex;align-items:stretch;gap:10px}.multi-select-buttons{display:flex;gap:10px}.multi-select-inputs{display:flex;flex-direction:column;gap:8px}.multi-select-field{display:flex;align-items:center;gap:8px}.multi-select-field-label{width:56px;flex-shrink:0;font-size:.76rem;font-weight:600;color:var(--text-muted)}.multi-select-input{width:64px;height:32px;padding:0 4px;text-align:center;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--background-bg);color:var(--text-primary);font-size:.85rem;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s}.multi-select-input::-moz-placeholder{color:var(--text-muted)}.multi-select-input::placeholder{color:var(--text-muted)}.multi-select-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #f973161f;background:#fff}.multi-select-input:disabled{opacity:.6;cursor:not-allowed}.multi-select-apply{padding:0 16px;border-radius:var(--radius-sm);border:none;background:var(--primary-color);color:#fff;font-size:.82rem;font-weight:700;cursor:pointer;transition:background .15s;font-family:inherit;white-space:nowrap}.multi-select-apply:hover:not(:disabled){background:var(--primary-hover)}.multi-select-apply:disabled{opacity:.5;cursor:not-allowed}.multi-select-clear{padding:0 12px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit}.multi-select-clear:hover:not(:disabled){background:var(--background-bg);border-color:var(--border-strong);color:var(--text-primary)}.multi-select-clear:disabled{opacity:.5;cursor:not-allowed}.select-mode-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;margin:0 0 8px;background:var(--surface-bg);border:1px solid var(--border-color);border-radius:var(--radius-md)}.select-mode-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 16px;font-size:.82rem;font-weight:600;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--surface-bg);color:var(--text-secondary);cursor:pointer;transition:all .15s}.select-mode-btn:hover{border-color:var(--primary);color:var(--primary)}.select-mode-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.select-mode-count{font-size:.82rem;font-weight:700;color:var(--primary)}.select-mode-hint{font-size:.78rem;color:var(--text-muted)}@media(max-width:560px){.multi-select-bar{bottom:12px;gap:10px;max-width:calc(100vw - 24px)}.multi-select-buttons{flex-direction:column;gap:8px}.multi-select-apply,.multi-select-clear{flex:1;width:100%}}.machine-status-bar{background:var(--surface-bg);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);margin:0 20px 16px;overflow:hidden}.pending-commands-section{padding:20px}.pending-commands-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:10px}.pending-commands-header h3{margin:0;font-size:.95rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.reboot-btn{padding:7px 14px;border-radius:var(--radius-sm);border:none;background:#1e293b;color:#fff;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit}.reboot-btn:hover{background:#0f172a;box-shadow:var(--shadow-md)}.pending-commands-table-container{overflow-x:auto}.pending-commands-table{width:100%;border-collapse:collapse;font-size:.85rem}.pending-commands-table th{text-align:left;padding:8px 12px;border-bottom:1px solid var(--border-color);color:var(--text-muted);font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}.pending-commands-table td{padding:10px 12px;border-bottom:1px solid var(--background-bg);color:var(--text-primary)}.command-type-badge{background:var(--background-bg);color:var(--text-secondary);padding:3px 8px;border-radius:20px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--border-color)}.no-pending-commands{color:var(--text-muted);font-style:italic;font-size:.85rem;margin:0}@media(max-width:768px){.machine-header{flex-wrap:wrap;height:auto;padding:10px 16px;gap:6px;row-gap:6px}.machine-title-group{flex:1;min-width:0}.machine-edit-form{width:100%;flex-direction:column;align-items:stretch;gap:8px}.machine-edit-fields{flex-direction:column}.machine-edit-input{width:100%;font-size:.9rem;padding:9px 12px}.machine-edit-actions{justify-content:flex-end}.machine-header:has(.machine-edit-form)~.machine-frame,.machine-header:has(.machine-edit-form)~.machine-status-bar{margin-top:226px}.machine-header>div:last-child{width:100%;margin-left:0!important;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap}.machine-header>div:last-child::-webkit-scrollbar{display:none}.machine-frame{margin:108px 12px 12px;padding:12px;border-radius:var(--radius-md)}.machine-status-bar{margin:0 12px 12px}.machine-layer{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.machine-layer::-webkit-scrollbar{display:none}.layer-label{position:sticky;left:0;z-index:5;box-shadow:2px 0 6px #0000000f}.layer-slots{min-width:320px}}@media(max-width:480px){.machine-header{padding:8px 12px}.machine-frame{margin:104px 10px 10px;padding:10px}.machine-status-bar{margin:0 10px 10px}.clear-jammed-btn,.export-inventory-btn{font-size:.72rem;padding:5px 10px}.layer-label{width:70px;min-width:70px}.layer-name{font-size:.76rem}.layer-type{font-size:.58rem;padding:1px 4px}.layer-slots{gap:8px;padding:8px;min-width:280px}.slot-item{min-width:96px;padding:8px 6px 6px}.slot-image-container{width:52px;height:52px}.slot-product-name{font-size:.68rem}.slot-price{font-size:.78rem}.slot-inventory{font-size:.65rem;padding:1px 5px}}.refill-page{min-height:100vh;background:var(--background-bg, #0f172a);color:var(--text-primary, #f1f5f9)}.refill-topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:var(--surface-bg, #1e293b);border-bottom:1px solid var(--border-color, rgba(255,255,255,.08));position:sticky;top:0;z-index:50}.refill-topbar-left{display:flex;align-items:center;gap:14px}.refill-back-btn{display:flex;align-items:center;gap:6px;background:none;border:1px solid var(--border-color, rgba(255,255,255,.12));color:var(--text-secondary, #94a3b8);padding:7px 14px;border-radius:8px;font-size:.82rem;font-weight:500;cursor:pointer;transition:all .15s ease;font-family:inherit}.refill-back-btn:hover{background:#ffffff0f;color:var(--text-primary, #f1f5f9)}.refill-title{font-size:1.15rem;font-weight:700;margin:0;letter-spacing:-.02em}.refill-topbar-right{display:flex;align-items:center;gap:10px}.refill-download-btn{display:flex;align-items:center;gap:6px;padding:8px 20px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit}.refill-download-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #10b98159}.refill-download-btn:disabled{opacity:.5;cursor:not-allowed}.refill-content{padding:24px;overflow-x:auto}.refill-table-wrapper{overflow-x:auto;border-radius:12px;border:1px solid var(--border-color, rgba(255,255,255,.08));background:var(--surface-bg, #1e293b)}.refill-table{width:100%;border-collapse:collapse;font-size:.84rem;min-width:600px}.refill-table thead th{background:#2d3748;color:#fff;font-weight:600;text-align:center;padding:10px 14px;white-space:nowrap;position:sticky;top:0;z-index:10;border-bottom:2px solid rgba(255,255,255,.1);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.refill-table tbody td{padding:10px;border-bottom:1px solid rgba(255,255,255,.04);text-align:center;vertical-align:middle}.refill-table tbody td:first-child,.refill-table tbody td:nth-child(2){text-align:left;font-weight:500}.refill-table tbody tr:hover{background:#ffffff08}.refill-cell-input{width:60px;padding:4px 6px;border:1px solid rgba(255,255,255,.1);border-radius:4px;background:#ffffff0a;color:var(--text-primary, #f1f5f9);text-align:center;font-size:.84rem;font-family:inherit;outline:none;transition:border-color .15s}.refill-cell-input:focus{border-color:#6366f1;background:#6366f114}.refill-cell-input::-webkit-inner-spin-button,.refill-cell-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.refill-cell-input[type=number]{-moz-appearance:textfield}.refill-row-red{background:#ffc7ce1f!important}.refill-row-red td{color:#fca5a5!important}.refill-row-not-found{background:#fbbf2414!important}.refill-row-not-found td{color:#f59e0b!important}.refill-row-not-found .refill-cell-onhand{font-style:italic}.refill-cell-yellow{background:#ffeb9c26!important}.refill-cell-yellow .refill-cell-input{border-color:#f59e0b;background:#f59e0b1f;color:#fbbf24}.refill-item-name-cell{display:flex;align-items:center;gap:8px}.refill-item-thumb{width:40px;height:40px;border-radius:8px;-o-object-fit:cover;object-fit:cover;flex-shrink:0;background:#f1f5f9}.refill-item-thumb-placeholder{width:40px;height:40px;border-radius:8px;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:#94a3b8;flex-shrink:0;text-transform:uppercase}.refill-slot-col-header{font-size:.7rem!important;color:#94a3b8!important;letter-spacing:.02em!important;background:#252e3d!important}.refill-slot-col{min-width:80px}.refill-slot-input{width:72px;padding:4px 6px;border:1px solid #e2e8f0;border-radius:4px;background:#f8fafc;color:#1e293b;text-align:center;font-size:.76rem;font-family:inherit;outline:none;transition:border-color .15s}.refill-slot-input:focus{border-color:#f97316;background:#f973160f;color:#1e293b}.refill-slot-input::-moz-placeholder{color:#94a3b866}.refill-slot-input::placeholder{color:#94a3b866}.refill-slot-input.refill-slot-conflict{border-color:#ef4444;background:#fff5f5}.refill-slot-hint{font-size:.66rem;color:#ef4444;margin-top:2px;white-space:nowrap}.refill-cell-total{font-weight:700;color:var(--text-primary, #f1f5f9)}.refill-cell-onhand{font-weight:600;color:#94a3b8}.refill-row-green{background:#22c55e1a!important}.refill-row-green td{color:#86efac!important}.refill-row-blue{background:#3b82f61a!important}.refill-row-blue td{color:#93c5fd!important}.refill-row-orange{background:#f973161a!important}.refill-row-orange td{color:#fdba74!important}.refill-row-purple{background:#a855f71a!important}.refill-row-purple td{color:#d8b4fe!important}.row-color-inline{display:flex;align-items:center;gap:6px;white-space:nowrap}.row-num-label{color:#94a3b8;font-size:.78rem;min-width:14px;text-align:right;flex-shrink:0}.row-color-swatches{display:flex;align-items:center;gap:4px}.color-picker-swatch{width:14px;height:14px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;flex-shrink:0;transition:transform .12s,box-shadow .12s;outline:none}.color-picker-swatch:hover{transform:scale(1.25)}.color-picker-swatch.active{border-color:#fff;box-shadow:0 0 0 2px currentColor;transform:scale(1.15)}.row-color-green{background:#22c55e}.row-color-blue{background:#3b82f6}.row-color-orange{background:#f97316}.row-color-purple{background:#a855f7}.refill-add-row{padding:16px 24px;display:flex;align-items:center;gap:12px}.refill-add-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#6366f11f;color:#818cf8;border:1px dashed rgba(99,102,241,.3);border-radius:8px;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .15s ease;font-family:inherit}.refill-add-btn:hover{background:#6366f12e;border-color:#6366f180}.refill-product-search{position:relative;flex:1;max-width:400px}.refill-product-search-input{width:100%;padding:8px 12px 8px 36px;border:1.5px solid #e2e8f0;border-radius:8px;background:#fff;color:#1e293b;font-size:.84rem;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.refill-product-search-input:focus{border-color:#f97316;box-shadow:0 0 0 3px #f973161a}.refill-product-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none;display:flex}.refill-product-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:260px;overflow-y:auto;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;box-shadow:0 8px 24px #0f172a1f;z-index:200;scrollbar-width:thin;scrollbar-color:#e2e8f0 transparent}.refill-product-option{padding:8px 12px;cursor:pointer;font-size:.82rem;transition:background .1s;display:flex;align-items:center;gap:10px}.refill-product-option:hover{background:#f8fafc}.refill-product-option-thumb{width:32px;height:32px;border-radius:6px;-o-object-fit:cover;object-fit:cover;flex-shrink:0;border:1px solid #f1f5f9;background:#f8fafc}.refill-product-option-thumb-placeholder{width:32px;height:32px;border-radius:6px;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;color:#94a3b8;flex-shrink:0;text-transform:uppercase}.refill-product-option-info{display:flex;flex-direction:column;gap:1px;min-width:0}.refill-product-option-name{color:#1e293b;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.refill-product-option-code{color:#94a3b8;font-size:.74rem}.refill-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:12px;color:var(--text-secondary, #94a3b8)}.refill-spinner{width:32px;height:32px;border:3px solid var(--border-color, rgba(255,255,255,.1));border-top-color:#6366f1;border-radius:50%;animation:refillSpin .7s linear infinite}@keyframes refillSpin{to{transform:rotate(360deg)}}.refill-error{text-align:center;padding:60px 20px;color:#f87171;font-size:.9rem}.multiplier-popup{position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);background:#1e293b;border:1px solid rgba(99,102,241,.3);border-radius:10px;padding:10px 12px;z-index:100;box-shadow:0 8px 24px #0006;display:flex;flex-direction:column;gap:6px;min-width:130px;animation:multiplierFadeIn .15s ease}@keyframes multiplierFadeIn{0%{opacity:0;transform:translate(-50%) translateY(-4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.multiplier-label{font-size:.7rem;color:#94a3b8;text-transform:none;letter-spacing:0;font-weight:500}.multiplier-input{width:100%;padding:5px 8px;border:1px solid rgba(99,102,241,.3);border-radius:6px;background:#ffffff0d;color:#f1f5f9;font-size:.85rem;font-family:inherit;outline:none;text-align:center}.multiplier-input:focus{border-color:#6366f1;background:#6366f114}.multiplier-input::-webkit-inner-spin-button,.multiplier-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.multiplier-input[type=number]{-moz-appearance:textfield}.multiplier-actions{display:flex;align-items:center;gap:6px;justify-content:flex-end}.multiplier-cancel{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:.8rem;padding:3px 6px;border-radius:4px}.multiplier-cancel:hover{color:#f87171}.multiplier-apply{padding:3px 10px;background:#6366f1;color:#fff;border:none;border-radius:6px;font-size:.75rem;font-weight:600;cursor:pointer;transition:background .15s}.multiplier-apply:hover{background:#5558e6}@media(max-width:768px){.refill-topbar{flex-direction:column;gap:12px;align-items:stretch}.refill-topbar-right{justify-content:flex-end}.refill-content{padding:12px}}.ic-page{min-height:100vh;background:var(--background-bg);color:var(--text-primary);font-family:inherit}.ic-topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:var(--surface-bg);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:50}.ic-topbar-left{display:flex;align-items:center;gap:14px}.ic-back-btn{display:flex;align-items:center;gap:6px;background:var(--surface-bg);border:1px solid var(--border-color);color:var(--text-secondary);padding:7px 14px;border-radius:var(--radius-sm);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .15s ease;font-family:inherit}.ic-back-btn:hover{background:var(--background-bg);border-color:var(--border-strong);color:var(--text-primary)}.ic-title{font-size:1.15rem;font-weight:700;margin:0;letter-spacing:-.02em;color:var(--text-primary)}.ic-download-btn{display:flex;align-items:center;gap:7px;padding:9px 18px;background:var(--success-color);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s ease;font-family:inherit;box-shadow:var(--shadow-sm)}.ic-download-btn:hover:not(:disabled){background:#15803d;box-shadow:var(--shadow-md)}.ic-download-btn:disabled{opacity:.5;cursor:not-allowed}.ic-controls{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;padding:20px 24px;border-bottom:1px solid var(--border-color)}.ic-control{display:flex;flex-direction:column;gap:6px;position:relative}.ic-control label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.ic-control input[type=datetime-local]{background:var(--surface-bg);border:1px solid var(--border-color);color:var(--text-primary);padding:8px 12px;border-radius:var(--radius-sm);font-size:.85rem;font-family:inherit;color-scheme:light;transition:border-color .15s,box-shadow .15s}.ic-control input[type=datetime-local]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--accent-light)}.ic-picker-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:200px;background:var(--surface-bg);border:1px solid var(--border-color);color:var(--text-primary);padding:8px 12px;border-radius:var(--radius-sm);font-size:.85rem;font-family:inherit;cursor:pointer;transition:border-color .15s,box-shadow .15s}.ic-picker-toggle:hover{border-color:var(--border-strong)}.ic-picker-toggle:focus-visible{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--accent-light)}.ic-picker-panel{position:absolute;top:calc(100% + 6px);left:0;z-index:60;width:260px;max-height:320px;display:flex;flex-direction:column;background:var(--surface-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden}.ic-picker-list{overflow-y:auto}.ic-picker-item{display:flex;align-items:center;gap:10px;padding:9px 14px;font-size:.85rem;cursor:pointer;color:var(--text-primary)}.ic-picker-item input[type=checkbox]{accent-color:var(--primary-color);cursor:pointer}.ic-picker-item:hover{background:var(--background-bg)}.ic-picker-all{border-bottom:1px solid var(--border-color);font-weight:600}.ic-picker-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ic-load-btn{padding:9px 22px;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s ease;box-shadow:var(--shadow-sm)}.ic-load-btn:hover:not(:disabled){background:var(--primary-hover);box-shadow:var(--shadow-md)}.ic-load-btn:disabled{opacity:.5;cursor:not-allowed}.ic-error{margin:14px 24px 0;padding:10px 14px;background:var(--error-bg);border:1px solid var(--error-color);color:var(--error-color);border-radius:var(--radius-sm);font-size:.82rem}.ic-empty{padding:60px 24px;text-align:center;color:var(--text-secondary);font-size:.9rem}.ic-content{padding:24px;display:flex;flex-direction:column;gap:28px}.ic-section-head{display:flex;align-items:baseline;gap:12px;margin-bottom:12px;flex-wrap:wrap}.ic-section-head h2{font-size:1rem;font-weight:700;margin:0;letter-spacing:-.01em;color:var(--text-primary)}.ic-section-sub{font-size:.78rem;color:var(--text-secondary)}.ic-table-wrap{overflow-x:auto;background:var(--surface-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.ic-table{width:100%;border-collapse:collapse;font-size:.84rem}.ic-table thead th{position:sticky;top:0;background:var(--surface-bg);text-align:left;padding:12px 16px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);border-bottom:1px solid var(--border-color);white-space:nowrap}.ic-table tbody td{padding:12px 16px;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.ic-table tbody tr:last-child td{border-bottom:none}.ic-table tbody tr:hover{background:var(--background-bg)}.ic-num{text-align:right;font-variant-numeric:tabular-nums}.ic-muted{color:var(--text-muted)}.ic-pos{color:var(--success-color);font-weight:600}.ic-neg{color:var(--error-color);font-weight:600}.ic-no-rows{text-align:center;color:var(--text-secondary);padding:24px}.change-pw-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f1f5f9;padding:24px}.change-pw-card{width:100%;max-width:420px;background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 10px 30px #0f172a14;padding:32px}.change-pw-header{text-align:center;margin-bottom:24px}.change-pw-icon{width:48px;height:48px;margin:0 auto 14px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#eef2ff;color:#4f46e5}.change-pw-icon svg{width:24px;height:24px}.change-pw-header h2{margin:0 0 6px;font-size:1.35rem;font-weight:700;color:#0f172a}.change-pw-header p{margin:0;font-size:.9rem;color:#64748b;line-height:1.4}.change-pw-form{display:flex;flex-direction:column;gap:16px}.change-pw-form .form-group{display:flex;flex-direction:column;gap:6px}.change-pw-form label{font-size:.82rem;font-weight:600;color:#334155}.change-pw-form input{width:100%;padding:11px 13px;border:1px solid #cbd5e1;border-radius:9px;font-size:.92rem;color:#0f172a;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.change-pw-form input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.change-pw-form .error-message{display:flex;align-items:center;gap:8px;background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-radius:9px;padding:10px 12px;font-size:.85rem}.change-pw-actions{display:flex;gap:10px;margin-top:4px}.change-pw-submit{flex:1;padding:11px 16px;border:none;border-radius:9px;background:#4f46e5;color:#fff;font-size:.92rem;font-weight:600;cursor:pointer;transition:background .15s}.change-pw-submit:hover:not(:disabled){background:#4338ca}.change-pw-submit:disabled{opacity:.6;cursor:not-allowed}.change-pw-cancel{padding:11px 16px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#475569;font-size:.92rem;font-weight:600;cursor:pointer;transition:background .15s}.change-pw-cancel:hover{background:#f8fafc}
