.notification-center-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172a66;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;justify-content:flex-end;z-index:1000;animation:notifFadeIn .2s ease forwards}@keyframes notifFadeIn{0%{opacity:0}to{opacity:1}}@keyframes notifSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes notifSlideOut{0%{transform:translate(0)}to{transform:translate(100%)}}.notification-center-overlay.closing{animation:notifOverlayFadeOut .3s ease forwards;pointer-events:none}@keyframes notifOverlayFadeOut{0%{background:#0f172a66;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}to{background:#0f172a00;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}}.notification-center{width:400px;max-width:90vw;height:100vh;background:#fff;box-shadow:-8px 0 30px #0000001f;display:flex;flex-direction:column;animation:notifSlideIn .3s cubic-bezier(.16,1,.3,1) forwards}.notification-center.closing{animation:notifSlideOut .3s cubic-bezier(.55,0,1,.45) forwards}.notification-center-header{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid #e2e8f0;background:#fff;flex-shrink:0}.notification-center-header h2{margin:0;font-size:17px;font-weight:700;color:#0f172a;display:flex;align-items:center;gap:6px}.notification-header-count{font-size:14px;font-weight:500;color:var(--henaxis-accent, #2f9d6a)}.notification-center-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.notif-btn-mark-all{background:var(--henaxis-accent, #2f9d6a);border:1.5px solid var(--henaxis-accent, #2f9d6a);color:#fff;padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;transition:all .15s;white-space:nowrap}.notif-btn-mark-all:hover{background:#258a5a;border-color:#258a5a}.notif-btn-mark-all:disabled{opacity:.5;cursor:not-allowed;background:#94a3b8;border-color:#94a3b8}.notif-btn-close{background:transparent;border:1px solid #e2e8f0;color:#64748b;width:32px;height:32px;border-radius:6px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .15s}.notif-btn-close:hover{background:#f1f5f9;color:#1e293b;border-color:#cbd5e1}.notification-filters{display:flex;gap:4px;padding:10px 16px;border-bottom:1px solid #e2e8f0;background:#fafbfc;flex-shrink:0}.notification-filters button{flex:1;padding:6px 10px;border:none;background:transparent;cursor:pointer;font-size:12px;font-weight:600;color:#94a3b8;transition:all .15s;border-radius:6px}.notification-filters button.active{background:var(--henaxis-accent, #2f9d6a);color:#fff}.notification-filters button:not(.active):hover{background:#e2e8f0;color:#475569}.notification-list{flex:1;overflow-y:auto;padding:8px 12px}.notification-loading,.notification-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#94a3b8;font-size:13px}.notification-empty p{margin:0}.notification-item{display:flex;gap:10px;padding:12px;margin-bottom:4px;border-radius:8px;border-left:3px solid transparent;background:transparent;transition:background .15s;position:relative}.notification-item:hover{background:#f8fafc}.notification-item.unread{background:#f0fdf4;border-left-color:var(--henaxis-accent, #2f9d6a);cursor:pointer}.notification-item.unread:hover{background:#e6f9ed}.notification-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.notification-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.notification-title-row h4{margin:0;font-size:13px;font-weight:600;color:#1e293b;flex:1;line-height:1.3}.notification-time{font-size:11px;color:#94a3b8;white-space:nowrap;flex-shrink:0}.notification-message{margin:0;font-size:12px;color:#64748b;line-height:1.4}.notification-type-badge{font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;background:#f1f5f9;color:#64748b;white-space:nowrap;text-transform:uppercase;letter-spacing:.3px}.notification-controls{display:flex;flex-direction:column;gap:4px;flex-shrink:0;opacity:0;transition:opacity .15s}.notification-item:hover .notification-controls{opacity:1}.btn-icon{width:26px;height:26px;border-radius:4px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;color:#94a3b8;transition:all .15s}.btn-icon:hover{background:#e2e8f0;color:#475569}.btn-icon-dismiss:hover{background:#fef2f2;color:#ef4444}.notification-bell{position:relative;cursor:pointer;background:#ffffff1a;border:none;color:#fff;width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:20px;transition:all .2s}.notification-bell:hover{background:#fff3}.notification-bell-badge{position:absolute;top:-4px;right:-4px;background:var(--danger-color, #ef4444);color:#fff;font-size:10px;font-weight:700;padding:1px 5px;border-radius:10px;min-width:16px;text-align:center;line-height:1.4}@keyframes bellPulse{0%{transform:scale(1)}25%{transform:scale(1.15) rotate(-8deg)}50%{transform:scale(1.15) rotate(8deg)}75%{transform:scale(1.08)}to{transform:scale(1)}}.notification-bell-pulse{animation:bellPulse .5s ease-in-out 3}@media (max-width: 768px){.notification-center{width:100%;max-width:100%}.notification-center-header{padding:16px}.notification-filters button{padding:8px 10px;font-size:12px}.notification-list{padding:6px 8px}.notification-item{padding:12px 10px}.notification-controls{opacity:1;flex-direction:row}.notif-btn-mark-all{padding:6px 8px;font-size:11px}}@media (max-width: 480px){.notification-center-header{padding:14px 12px}.notification-center-header h2{font-size:15px}.notification-filters{padding:8px 10px}.notification-item{padding:10px 8px;gap:8px}.notification-title-row h4{font-size:12px}.notification-message{font-size:11px}}@media (hover: none) and (pointer: coarse){.notification-item{min-height:60px}.notification-filters button{min-height:40px}.notification-controls{opacity:1}.btn-icon{width:36px;height:36px}.notif-btn-mark-all{min-height:40px}}.app-layout{display:flex;min-height:100vh;background:var(--henaxis-bg)}.sidebar{width:260px;min-width:260px;background:#1a1d2e;color:#b8bcc8;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:1200;transition:width .25s ease,min-width .25s ease;overflow:hidden}.sidebar.collapsed{width:68px;min-width:68px}.sidebar.collapsed .sidebar-logo-text,.sidebar.collapsed .sidebar-nav-label,.sidebar.collapsed .sidebar-group-label,.sidebar.collapsed .sidebar-chevron,.sidebar.collapsed .sidebar-subnav,.sidebar.collapsed .sidebar-user-info{display:none}.sidebar.collapsed .sidebar-header{padding:16px 12px;justify-content:center}.sidebar.collapsed .sidebar-collapse-btn.desktop-only{display:none}.sidebar.collapsed .sidebar-nav-item{justify-content:center;padding:10px 0}.sidebar.collapsed .sidebar-user{justify-content:center;padding:12px}.sidebar.collapsed .sidebar-logout-btn{display:none}.sidebar-header{display:flex;align-items:center;justify-content:center;position:relative;padding:20px 20px 16px;border-bottom:1px solid rgba(255,255,255,.06)}.sidebar-logo{display:flex;align-items:center;gap:10px}.sidebar-logo img{height:32px;width:auto}.sidebar-logo-text{font-size:16px;font-weight:700;color:#fff;letter-spacing:-.02em}.sidebar-collapse-btn{background:none;border:none;color:#6c7293;cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .15s;position:absolute;right:20px}.sidebar-collapse-btn:hover{background:#ffffff14;color:#fff}.sidebar-expand-btn{background:none;border:none;color:#6c7293;cursor:pointer;width:100%;padding:10px 0;display:flex;align-items:center;justify-content:center;transition:all .15s;border-bottom:1px solid rgba(255,255,255,.06)}.sidebar-expand-btn:hover{background:#ffffff14;color:#fff}.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:12px 0;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.sidebar-nav-group{padding:4px 0}.sidebar-nav-group+.sidebar-nav-group{border-top:1px solid rgba(255,255,255,.04);margin-top:4px;padding-top:12px}.sidebar-group-label{display:block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#5a5e78;padding:4px 24px 8px}.sidebar-nav-item{display:flex;align-items:center;gap:12px;padding:9px 20px;margin:1px 8px;border-radius:8px;text-decoration:none;color:#b8bcc8;font-size:13.5px;font-weight:500;transition:all .15s;cursor:pointer;border:none;background:none;width:calc(100% - 16px);text-align:left;font-family:inherit}.sidebar-nav-item:hover{background:#ffffff0f;color:#e4e6eb}.sidebar-nav-item.active{background:#2f9d6a26;color:#5eead4}.sidebar-nav-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.sidebar-nav-icon svg{width:20px;height:20px}.sidebar-nav-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-chevron{margin-left:auto;flex-shrink:0;transition:transform .2s;opacity:.5}.sidebar-chevron.expanded{transform:rotate(180deg)}.sidebar-section-toggle{position:relative}.sidebar-subnav{padding:2px 0 4px}.sidebar-subnav-item{display:flex;align-items:center;gap:12px;padding:7px 20px 7px 44px;margin:1px 8px;border-radius:6px;text-decoration:none;color:#8b8fa4;font-size:13px;font-weight:450;transition:all .15s}.sidebar-subnav-item:hover{background:#ffffff0a;color:#c8cad3}.sidebar-subnav-item.active{color:#5eead4;background:#2f9d6a14}.subnav-dot{width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.4;flex-shrink:0}.sidebar-subnav-item.active .subnav-dot{opacity:1;background:#5eead4}.sidebar-footer{border-top:1px solid rgba(255,255,255,.06);padding:12px}.sidebar-user{display:flex;align-items:center;gap:10px;padding:8px;border-radius:10px;transition:background .15s}.sidebar-user:hover{background:#ffffff0a}.sidebar-user-avatar{width:34px;height:34px;border-radius:8px;background:linear-gradient(135deg,#2f9d6a,#217755);color:#fff;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-user-info{flex:1;min-width:0;display:flex;flex-direction:column}.sidebar-user-name{font-size:13px;font-weight:600;color:#e4e6eb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-size:11px;color:#6c7293;text-transform:capitalize}.sidebar-logout-btn{background:none;border:none;color:#6c7293;cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.sidebar-logout-btn:hover{background:#ef444426;color:#f87171}.sidebar-overlay{display:none}.app-main{flex:1;margin-left:260px;display:flex;flex-direction:column;min-height:100vh;transition:margin-left .25s ease}.sidebar.collapsed~.app-main{margin-left:68px}.topbar{height:56px;background:#fff;border-bottom:1px solid var(--henaxis-border);display:flex;align-items:center;padding:0 24px;position:sticky;top:0;z-index:1100}.topbar-menu-btn{display:none;background:none;border:1px solid var(--henaxis-border);border-radius:8px;padding:8px;cursor:pointer;color:var(--henaxis-text);transition:all .15s}.topbar-menu-btn:hover{background:var(--henaxis-bg)}.topbar-spacer{flex:1}.topbar-notification-btn{position:relative;background:none;border:1px solid var(--henaxis-border);border-radius:8px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--henaxis-muted);transition:all .15s}.topbar-notification-btn:hover{background:var(--henaxis-bg);color:var(--henaxis-text);border-color:var(--henaxis-accent)}.topbar-notification-badge{position:absolute;top:-6px;right:-6px;background:#ef4444;color:#fff;font-size:10px;font-weight:700;padding:1px 5px;border-radius:10px;min-width:18px;text-align:center;line-height:1.4}.main-content{flex:1;padding:24px;max-width:none;width:100%}.desktop-only{display:flex}@media (max-width: 1024px){.main-content{padding:20px}}@media (max-width: 768px){.sidebar{transform:translate(-100%);width:280px;min-width:280px}.sidebar.mobile-open{transform:translate(0)}.sidebar.collapsed{width:280px;min-width:280px}.sidebar.collapsed .sidebar-logo-text,.sidebar.collapsed .sidebar-nav-label,.sidebar.collapsed .sidebar-group-label,.sidebar.collapsed .sidebar-chevron,.sidebar.collapsed .sidebar-subnav,.sidebar.collapsed .sidebar-user-info,.sidebar.collapsed .sidebar-logout-btn,.sidebar.collapsed .sidebar-collapse-btn{display:unset}.sidebar.collapsed .sidebar-header{padding:20px 20px 16px;justify-content:space-between}.sidebar.collapsed .sidebar-nav-item{justify-content:flex-start;padding:9px 20px}.sidebar.collapsed .sidebar-user{justify-content:flex-start;padding:8px}.sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1199;animation:fadeIn .2s ease}.app-main{margin-left:0!important}.topbar-menu-btn{display:flex;align-items:center;justify-content:center}.desktop-only{display:none}.main-content{padding:16px}}@media (max-width: 480px){.sidebar{width:100%;min-width:100%}.main-content{padding:12px}.topbar{padding:0 12px;height:52px}}@media print{.sidebar,.topbar,.sidebar-overlay{display:none!important}.app-main{margin-left:0!important}}:root{--primary-color: #2f9d6a;--primary-dark: #217755;--secondary-color: #10b981;--danger-color: #ef4444;--warning-color: #f59e0b;--success-color: #2f9d6a;--info-color: #3b82f6;--henaxis-bg: #f6f7f9;--henaxis-surface: #ffffff;--henaxis-glass: rgba(255, 255, 255, .78);--henaxis-nav: #f0f2f5;--henaxis-border: #e2e8f0;--henaxis-divider: #e7ebf0;--henaxis-text: #0f172a;--henaxis-muted: #64748b;--henaxis-accent: #2f9d6a;--henaxis-accent-dark: #217755;--text-primary: #0f172a;--text-secondary: #64748b;--text-light: #94a3b8;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--border-color: #e2e8f0;--border-radius: 12px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 8px -1px rgba(0, 0, 0, .06), 0 2px 4px -1px rgba(0, 0, 0, .04);--shadow-lg: 0 12px 24px -4px rgba(0, 0, 0, .08), 0 4px 8px -2px rgba(0, 0, 0, .04);--shadow-xl: 0 24px 48px -8px rgba(0, 0, 0, .1), 0 8px 16px -4px rgba(0, 0, 0, .06);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--font-family: "Inter", -apple-system, "Segoe UI", sans-serif;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-md: 15px;--font-size-lg: 18px;--font-size-xl: 24px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);font-size:var(--font-size-md);line-height:1.55;color:var(--text-primary);background-color:var(--bg-secondary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"cv02","cv03","cv04","cv11"}a{color:inherit;text-decoration:none}a:visited{color:inherit}a:hover{color:var(--henaxis-accent)}@media (hover: none){button,a,input:not([type=checkbox]):not([type=radio]),select,textarea{min-height:44px;min-width:44px}}.container{max-width:none;width:100%;padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-xl)}.card{background:var(--bg-primary);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);border:1px solid var(--henaxis-border);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md);transition:box-shadow .2s ease}.section-card .section-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);border-bottom:1px solid var(--henaxis-border);padding-bottom:var(--spacing-md);margin-bottom:var(--spacing-md)}.page-header{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}@media (min-width: 768px){.page-header{flex-direction:row;align-items:center;justify-content:space-between}}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.catalog-section{margin-top:var(--spacing-xl)}.catalog-embed-wrapper .page-header{margin-bottom:var(--spacing-md)}.summary-card{border-radius:var(--border-radius);padding:var(--spacing-md);background:#fff;border:1px solid var(--henaxis-border);box-shadow:var(--shadow-sm)}.summary-label{font-size:var(--font-size-sm);color:var(--henaxis-muted);margin-bottom:var(--spacing-xs)}.summary-value{font-size:2rem;font-weight:700}.location-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--spacing-md)}.location-card{border:1px solid var(--henaxis-border);border-radius:var(--border-radius);padding:var(--spacing-md);background:#fff;box-shadow:var(--shadow-sm);text-align:left;transition:all .2s ease;cursor:pointer}.location-card:hover{border-color:var(--henaxis-accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.location-card.active{border-color:var(--henaxis-accent);box-shadow:0 8px 20px #2f9d6a26}.location-card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--spacing-md)}.location-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--henaxis-muted)}.location-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.location-stat-label{font-size:var(--font-size-xs);color:var(--henaxis-muted);text-transform:uppercase;letter-spacing:.08em}.location-stat-value{font-size:1.4rem;font-weight:600}.location-stat-value.warning{color:var(--warning-color)}.location-meta{display:flex;flex-direction:column;gap:4px;font-size:var(--font-size-sm);color:var(--henaxis-muted)}.status-chip-group{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.status-chip{border:1px solid var(--henaxis-border);border-radius:999px;padding:6px 16px;background:var(--henaxis-surface);cursor:pointer;font-weight:600;font-size:var(--font-size-sm);transition:all .2s ease}.status-chip.active{background:var(--henaxis-accent);border-color:transparent;color:#fff}.table-wrapper{width:100%;overflow-x:auto}.pagination-controls{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);flex-wrap:wrap;margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md)}.pagination-pages{display:flex;gap:4px;flex-wrap:wrap}.recipe-usage{margin-top:var(--spacing-lg)}.recipe-row{margin-bottom:var(--spacing-md)}.recipe-row-header{display:flex;justify-content:space-between;font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs)}.recipe-bar{height:8px;border-radius:999px;background:var(--bg-secondary);overflow:hidden}.recipe-bar-fill{height:100%;background:linear-gradient(135deg,var(--henaxis-accent),var(--henaxis-accent-dark));border-radius:999px}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-md)}.chart-card{border:1px solid var(--henaxis-border);border-radius:var(--border-radius);padding:var(--spacing-md);background:var(--bg-primary);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--spacing-sm)}.chart-card-header{display:flex;justify-content:space-between;align-items:flex-start}.trend-chart{display:flex;align-items:flex-end;gap:var(--spacing-sm);height:160px}.trend-bar{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs)}.trend-bar-fill{width:100%;border-radius:12px 12px 0 0;background:var(--henaxis-accent);transition:height .2s ease}.trend-bar-label{font-size:.75rem;color:var(--henaxis-muted)}.horizontal-chart{display:flex;flex-direction:column;gap:var(--spacing-md)}.horizontal-row{display:flex;flex-direction:column;gap:var(--spacing-xs)}.horizontal-row-header{display:flex;justify-content:space-between;align-items:center}.horizontal-row-title{display:flex;align-items:center;gap:var(--spacing-xs)}.legend-dot{width:10px;height:10px;border-radius:50%;background:var(--henaxis-accent)}.horizontal-bar{height:8px;border-radius:999px;background:var(--bg-secondary);overflow:hidden}.horizontal-bar-fill{height:100%;border-radius:999px}.insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.insight-card{border:1px solid var(--henaxis-border);border-radius:var(--border-radius);padding:var(--spacing-md);background:var(--bg-secondary)}.insight-card h4{margin-bottom:var(--spacing-sm);font-size:var(--font-size-md)}.insight-card ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.insight-card li{font-size:var(--font-size-sm);color:var(--text-primary)}.gauge{display:flex;justify-content:center;align-items:center}.gauge-ring{width:160px;height:160px;border-radius:50%;display:flex;justify-content:center;align-items:center;background:var(--bg-secondary);position:relative}.gauge-ring-inner{width:120px;height:120px;border-radius:50%;background:var(--bg-primary);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;box-shadow:inset 0 0 0 1px var(--henaxis-border)}.quality-range{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md)}.quality-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-md)}.quality-card{border:1px solid var(--henaxis-border);border-radius:var(--border-radius);padding:var(--spacing-md);text-align:center;background:var(--bg-primary);box-shadow:var(--shadow-sm)}.kpi-card{box-shadow:var(--shadow-md)}.public-library{display:grid;grid-template-columns:minmax(260px,380px) 1fr;gap:var(--spacing-lg)}@media (max-width: 992px){.public-library{grid-template-columns:1fr}}.public-list{max-height:70vh;overflow-y:auto;padding:0;gap:var(--spacing-sm);display:flex;flex-direction:column}.public-list .text-muted{margin-top:var(--spacing-sm)}.public-sheet{border:1px solid var(--henaxis-border);border-radius:var(--border-radius);padding:var(--spacing-md);width:100%;background:var(--bg-primary);text-align:left;display:flex;flex-direction:column;gap:var(--spacing-sm);transition:border-color .2s ease,box-shadow .2s ease}.public-sheet:not(:last-child){margin-bottom:var(--spacing-sm)}.public-sheet.active{border-color:var(--henaxis-accent);box-shadow:0 0 0 2px #2f9d6a33}.public-sheet-meta{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.public-sheet-footer{display:flex;justify-content:space-between;font-size:var(--font-size-sm);color:var(--text-secondary);flex-wrap:wrap;gap:var(--spacing-xs)}.public-preview{min-height:420px;display:flex;flex-direction:column;gap:var(--spacing-md)}.public-preview-header{display:flex;justify-content:space-between;gap:var(--spacing-md);flex-wrap:wrap;align-items:center}.public-preview-actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;justify-content:flex-end}.public-preview-body{flex:1;border:1px solid var(--henaxis-border);border-radius:var(--border-radius);overflow:hidden;min-height:360px;background:var(--henaxis-surface)}.public-preview-frame{width:100%;height:100%;border:none}.public-preview-notes{background:var(--bg-secondary);border-radius:var(--border-radius);padding:var(--spacing-md);border:1px solid var(--henaxis-border)}.public-links{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;justify-content:flex-end}.section-card .section-description{color:var(--henaxis-muted);font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}.section-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);align-items:center;justify-content:flex-end}.grid-responsive{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--spacing-lg)}.template-card{display:flex;flex-direction:column;gap:0;min-height:220px}.template-card-title{margin:0 0 8px;font-size:1rem;line-height:1.3;min-height:2.6em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.template-card-badges{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px;min-height:24px}.template-card-desc{font-size:.85rem;color:var(--text-muted, #6b7280);margin:0 0 8px;min-height:2.6em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}.template-card-freq{font-size:.85rem;margin:0 0 12px}.template-card-action{margin-top:auto}.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-md)}.filter-actions{display:flex;flex-direction:column;gap:var(--spacing-sm);justify-content:flex-end}@media (min-width: 768px){.filter-actions{flex-direction:row;align-items:flex-end}}.condition-filters{display:flex;flex-wrap:wrap;gap:8px}.condition-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--border-radius);background:var(--henaxis-surface);border:1px solid var(--henaxis-border);cursor:pointer;font-size:var(--font-size-sm);transition:all .2s ease;-webkit-user-select:none;user-select:none}.condition-tag:hover{background:#2f9d6a14}.condition-tag.active{background:#2f9d6a26;border-color:var(--henaxis-accent);color:var(--henaxis-accent-dark)}.condition-tag input[type=checkbox]{display:none}@media (max-width: 480px){.condition-filters{gap:6px}.condition-tag{padding:8px 10px;font-size:12px}}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;font-size:var(--font-size-sm);font-weight:600;border:none;border-radius:10px;cursor:pointer;transition:all .15s ease;text-decoration:none;gap:var(--spacing-sm);min-height:40px;letter-spacing:-.01em;white-space:nowrap}.btn-primary{background:var(--henaxis-accent);color:#fff;box-shadow:0 1px 2px #2f9d6a33}.btn-primary:hover{background:var(--henaxis-accent-dark);box-shadow:0 4px 12px #2f9d6a40;transform:translateY(-1px)}.btn-secondary{background:#fff;color:var(--henaxis-text);border:1px solid var(--henaxis-border)}.btn-secondary:hover{background:var(--bg-tertiary);border-color:#cbd5e1}.btn-danger{background:var(--danger-color);color:#fff;box-shadow:0 1px 2px #ef444433}.btn-danger:hover{background:#dc2626;box-shadow:0 4px 12px #ef444440;transform:translateY(-1px)}.btn-outline{background:transparent;border:1.5px solid var(--henaxis-accent);color:var(--henaxis-accent)}.btn-outline:hover{background:#2f9d6a0f;border-color:var(--henaxis-accent-dark)}.btn-success{background:var(--success-color);color:#fff;box-shadow:0 1px 2px #2f9d6a33}.btn-success:hover{background:var(--primary-dark);box-shadow:0 4px 12px #2f9d6a40;transform:translateY(-1px)}.btn-warning{background:var(--warning-color);color:#fff;box-shadow:0 1px 2px #f59e0b33}.btn-warning:hover{background:#d97706;transform:translateY(-1px)}.btn-outline-primary{background:transparent;border:1.5px solid var(--henaxis-accent);color:var(--henaxis-accent)}.btn-outline-primary:hover{background:#2f9d6a14}.btn-outline-secondary{background:transparent;border:1.5px solid var(--henaxis-muted);color:var(--text-secondary)}.btn-outline-secondary:hover{background:var(--bg-secondary);color:var(--text-primary)}.btn-outline-danger{background:transparent;border:1.5px solid var(--danger-color);color:var(--danger-color)}.btn-outline-danger:hover{background:#ef44440f}.btn-group{display:inline-flex;gap:6px;align-items:center;flex-wrap:nowrap}.btn-group .btn{white-space:nowrap}.btn-group-inline{display:flex;gap:4px;flex-wrap:nowrap;align-items:center}.btn-group-inline .btn{white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn:active:not(:disabled){transform:translateY(0)}.form-group{margin-bottom:var(--spacing-md)}.form-label{display:block;margin-bottom:var(--spacing-xs);font-weight:500;color:var(--text-primary)}.form-input,.form-select,.form-textarea{width:100%;padding:10px 14px;font-size:var(--font-size-sm);border:1px solid var(--henaxis-border);border-radius:10px;background:var(--henaxis-surface);color:var(--henaxis-text);transition:all .15s ease;min-height:42px}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--henaxis-accent);box-shadow:0 0 0 3px #2f9d6a1a}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-light)}.form-textarea{resize:vertical;min-height:100px}.form-error{color:var(--danger-color);font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}.form-checkbox{width:20px;height:20px;cursor:pointer}.alert{padding:12px 16px;border-radius:10px;margin-bottom:var(--spacing-md);font-size:var(--font-size-sm);font-weight:500;display:flex;align-items:center;gap:10px}.alert-success{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.alert-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.alert-warning{background:#fffbeb;color:#b45309;border:1px solid #fde68a}.alert-info{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.table{width:100%;border-collapse:collapse;background:var(--bg-primary);border-radius:var(--border-radius);overflow:hidden;border:1px solid var(--henaxis-border);font-size:var(--font-size-sm)}.table th{background:var(--bg-tertiary);padding:12px 16px;text-align:left;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--henaxis-muted);border-bottom:1px solid var(--henaxis-border)}.table td{padding:12px 16px;border-top:1px solid #f1f5f9;vertical-align:middle;color:var(--text-primary)}.table-compact th,.table-compact td{padding:10px 14px}.table-compact th{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--henaxis-muted);background:#f8fafc}.inventory-table tbody tr:nth-child(2n){background:#fefefe}.inventory-primary{font-weight:600;color:var(--text-primary)}.inventory-meta{font-size:.82rem;color:var(--text-secondary);margin-top:2px}.inventory-unit{font-size:.8rem;color:var(--text-secondary);margin-left:6px}.inventory-inline{margin-left:8px}.table-actions{display:flex;align-items:center;justify-content:flex-start;gap:var(--spacing-sm);min-width:200px}.table-actions .btn{flex:1 1 0;min-width:0;justify-content:center}.table tr:hover{background:var(--bg-secondary)}.table tbody tr:nth-child(2n){background:#fbfcfd}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:var(--spacing-md)}.table-responsive .table{margin-bottom:0;min-width:600px}.table td input[type=number],.table td input[type=text],.table td input[type=date],.table td input:not([type]),.table td select{min-width:80px;padding:6px 8px;font-size:14px;border:1px solid #d1d5db;border-radius:6px;width:100%;box-sizing:border-box;min-height:34px}.table td input[type=number]{min-width:90px}.table td input[type=date]{min-width:130px}.table td select{min-width:70px}.table td .form-input{padding:6px 8px;font-size:14px;min-height:34px;border-radius:6px}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:background-color .2s ease}.sortable-th:hover{background-color:#2f9d6a14}.sortable-th:active{background-color:#2f9d6a26}@media (max-width: 768px){.sortable-th{padding:10px 8px;font-size:12px}}.badge{display:inline-flex;align-items:center;padding:3px 10px;font-size:11px;font-weight:600;border-radius:6px;text-transform:uppercase;letter-spacing:.03em;line-height:1.4;white-space:nowrap}.badge-success{background:#ecfdf5;color:#047857}.badge-danger{background:#fef2f2;color:#b91c1c}.badge-warning{background:#fffbeb;color:#b45309}.badge-info{background:#eff6ff;color:#1d4ed8}.badge-primary{background:#2f9d6a1a;color:var(--henaxis-accent-dark)}.spinner{border:3px solid #e2e8f0;border-top-color:var(--primary-color);border-radius:50%;width:36px;height:36px;animation:spin .7s linear infinite;margin:var(--spacing-lg) auto}@keyframes spin{to{transform:rotate(360deg)}}.text-center{text-align:center}.text-right{text-align:right}.text-bold{font-weight:700}.text-sm{font-size:var(--font-size-sm)}.text-lg{font-size:var(--font-size-lg)}.mt-1{margin-top:var(--spacing-sm)}.mt-2{margin-top:var(--spacing-md)}.mt-3{margin-top:var(--spacing-lg)}.mb-1{margin-bottom:var(--spacing-sm)}.mb-2{margin-bottom:var(--spacing-md)}.mb-3{margin-bottom:var(--spacing-lg)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--spacing-md)}.w-full{width:100%}.hidden{display:none}.flex-wrap{flex-wrap:wrap}.ml-1{margin-left:var(--spacing-sm)}.text-danger{color:var(--danger-color)}.text-success{color:var(--success-color)}.text-light{color:var(--text-light)}.text-xs{font-size:.75rem}.modal-message{font-size:1rem;margin:var(--spacing-lg) 0}.form-stack{display:flex;flex-direction:column;gap:var(--spacing-md)}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}@media (max-width: 480px){.form-row-2{grid-template-columns:1fr}}.cost-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md)}.cost-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-md)}@media (max-width: 768px){.cost-grid-3,.cost-grid-4{grid-template-columns:1fr}}@media (max-width: 768px){.container{padding:var(--spacing-sm)}.card{padding:var(--spacing-md)}.table{font-size:var(--font-size-sm)}.table th,.table td{padding:var(--spacing-sm)}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172a80;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:modalOverlayIn .15s ease-out}@keyframes modalOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-content{background:var(--bg-primary);border:1px solid var(--henaxis-border);border-radius:16px;box-shadow:var(--shadow-xl);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;animation:modalSlideIn .2s ease-out}.modal-content.modal-lg{max-width:900px}.modal-content.modal-sm{max-width:450px}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--henaxis-border);background:var(--bg-primary)}.modal-header h2{margin:0;color:var(--text-primary);font-size:1.15rem;font-weight:650;letter-spacing:-.01em}.btn-close{background:none;border:none;font-size:22px;color:var(--text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .15s ease}.btn-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal-body{padding:var(--spacing-lg);background:var(--bg-primary);color:var(--text-primary)}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-md);padding:var(--spacing-lg);border-top:1px solid var(--border-color);background:var(--bg-primary)}.form-control{width:100%;padding:10px 14px;font-size:var(--font-size-sm);border:1px solid var(--henaxis-border);border-radius:10px;background:var(--henaxis-surface);color:var(--henaxis-text);transition:all .15s ease;min-height:42px}.form-control:focus{outline:none;border-color:var(--henaxis-accent);box-shadow:0 0 0 3px #2f9d6a1a}.form-control::placeholder{color:var(--text-light)}select option,select.form-control option,select.form-select option,select optgroup{background-color:#fff!important;color:#333!important;-webkit-text-fill-color:#333333!important}select.form-control{cursor:pointer;background-color:#fff!important;color:#333!important}textarea.form-control{resize:vertical;min-height:80px}.row{display:flex;flex-wrap:wrap;margin:0 -8px;gap:var(--spacing-sm)}.col-md-3,.col-md-4,.col-md-6,.col-md-8,.col-md-12{padding:0 8px;margin-bottom:var(--spacing-md)}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.333%;max-width:33.333%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-8{flex:0 0 66.666%;max-width:66.666%}.col-md-12{flex:0 0 100%;max-width:100%}@media (max-width: 768px){.col-md-3,.col-md-4,.col-md-6,.col-md-8{flex:0 0 100%;max-width:100%}}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg);flex-wrap:wrap;gap:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--henaxis-border)}.page-header h1{margin:0;color:var(--henaxis-text);font-size:1.35rem;font-weight:700;letter-spacing:-.02em}.card-body{padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.card.mb-3{margin-bottom:var(--spacing-md)}.btn-sm{padding:6px 16px;font-size:var(--font-size-sm);min-height:36px}.btn.ml-1,.btn-sm.ml-1{margin-left:8px}.btn.mr-1,.btn-sm.mr-1{margin-right:8px}.btn.mr-2{margin-right:var(--spacing-md)}.badge-secondary{background:var(--henaxis-nav);color:var(--henaxis-text)}.badge-dark{background:#374151;color:#fff}.badge.ml-2{margin-left:8px}.checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer}.text-muted{color:var(--henaxis-muted);font-size:var(--font-size-sm)}.table tr.bg-danger-light,.table tbody tr.bg-danger-light{background-color:#fee2e2!important}.table tr.bg-warning-light,.table tbody tr.bg-warning-light{background-color:#fef3c7!important}.bg-danger-light{background-color:#fee2e2}.bg-warning-light{background-color:#fef3c7}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.batch-filter-card{border:1px solid var(--henaxis-border, #e2e8f0);border-left:4px solid var(--primary-color, #2f9d6a)}.batch-filter-form{display:flex;flex-direction:column;gap:var(--spacing-md, 16px)}.batch-filter-row{display:flex;gap:var(--spacing-md, 16px);align-items:flex-start}.batch-filter-field,.batch-filter-field-conditions{flex:1;min-width:0}.batch-filter-row-bottom{align-items:flex-end;padding-top:var(--spacing-sm, 8px);border-top:1px solid var(--bg-tertiary, #f1f5f9)}@media (max-width: 768px){.batch-filter-row{flex-direction:column}.batch-filter-field,.batch-filter-field-conditions{flex:unset;width:100%}.batch-filter-row-bottom{flex-direction:column;align-items:stretch}.batch-filter-row-bottom .btn{width:100%}}@media (max-width: 992px){.container{padding:var(--spacing-md)}.summary-grid,.location-grid,.dashboard-grid,.insights-grid,.quality-range,.quality-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filter-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.grid-responsive{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}@media (max-width: 768px){.modal-content{max-width:100%;max-height:100vh;border-radius:0;margin:0}.modal-overlay{padding:0;align-items:stretch}.modal-header{padding:var(--spacing-md)}.modal-header h2{font-size:var(--font-size-lg)}.modal-body{padding:var(--spacing-md)}.modal-footer{padding:var(--spacing-md);flex-direction:column;gap:var(--spacing-sm)}.modal-footer .btn{width:100%}.page-header{flex-direction:column;align-items:flex-start}.page-header h1{font-size:var(--font-size-lg)}.table-wrapper{margin:0 calc(-1 * var(--spacing-md));padding:0 var(--spacing-md)}.table-actions{flex-direction:column;min-width:auto;gap:var(--spacing-xs)}.table-actions .btn{width:100%;flex:none}.card{padding:var(--spacing-md);border-radius:var(--border-radius)}.card-body{padding:var(--spacing-md)}.summary-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.summary-card{padding:var(--spacing-sm)}.summary-value{font-size:1.5rem}.location-grid{grid-template-columns:1fr}.location-stats{grid-template-columns:repeat(3,1fr);gap:var(--spacing-xs)}.location-stat-value{font-size:1.2rem}.dashboard-grid,.insights-grid,.quality-grid,.quality-range{grid-template-columns:1fr}.chart-card{padding:var(--spacing-sm)}.trend-chart{height:120px}.gauge-ring{width:120px;height:120px}.gauge-ring-inner{width:90px;height:90px}.grid-responsive{grid-template-columns:1fr}.template-card{min-height:auto}.filter-grid{grid-template-columns:1fr}.btn{padding:10px 16px;font-size:var(--font-size-sm)}.btn-sm{padding:8px 12px;font-size:var(--font-size-xs)}.flex.justify-between{flex-direction:column;align-items:stretch;gap:var(--spacing-md)}.flex.justify-between .btn{width:100%}.section-card .section-header{flex-direction:column;align-items:flex-start}.section-actions{width:100%;justify-content:stretch}.section-actions .btn{flex:1}.status-chip-group{width:100%}.status-chip{flex:1;text-align:center}.pagination-controls{flex-direction:column;gap:var(--spacing-md)}.pagination-controls .btn{width:100%}.public-library{grid-template-columns:1fr}.public-list{max-height:40vh}.public-preview{min-height:auto}.public-preview-header{flex-direction:column;align-items:stretch}.public-preview-actions{justify-content:stretch}.public-preview-actions .btn{flex:1}.public-links{justify-content:stretch}.public-links .btn{flex:1}}@media (max-width: 480px){:root{--spacing-lg: 16px;--spacing-xl: 24px}body{font-size:var(--font-size-sm)}.container{padding:var(--spacing-sm)}.card{padding:var(--spacing-sm);margin-bottom:var(--spacing-sm);border-radius:8px}.summary-grid{grid-template-columns:1fr}.summary-value{font-size:1.25rem}.location-stats{grid-template-columns:repeat(2,1fr)}.location-stat-value{font-size:1rem}.page-header{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm)}.page-header h1{font-size:var(--font-size-md)}.page-header .btn,.section-actions .btn{width:100%}.table{font-size:var(--font-size-xs)}.table th,.table td{padding:var(--spacing-xs);white-space:nowrap}.table td{white-space:normal;word-break:break-word}.table-compact th,.table-compact td{padding:6px 8px}.table-responsive{border-radius:var(--border-radius);border:1px solid var(--henaxis-border)}.table-responsive .table{border:none;min-width:500px}.table .hide-mobile{display:none}.table-actions{flex-direction:column;min-width:auto;gap:4px}.table-actions .btn{width:100%}.badge{padding:3px 8px;font-size:10px}.form-group{margin-bottom:var(--spacing-sm)}.form-input,.form-select,.form-textarea,.form-control{padding:8px 12px;font-size:var(--font-size-sm)}.alert{padding:var(--spacing-sm);font-size:var(--font-size-xs)}.modal-header h2{font-size:var(--font-size-md)}.checkbox-label{font-size:var(--font-size-sm)}.row{margin:0 -4px}.col-md-3,.col-md-4,.col-md-6,.col-md-8{padding:0 4px;margin-bottom:var(--spacing-sm)}.trend-chart{height:100px}.trend-bar-label{font-size:.65rem}.gauge-ring{width:100px;height:100px}.gauge-ring-inner{width:75px;height:75px;font-size:var(--font-size-sm)}}@media (hover: none) and (pointer: coarse){.btn{min-height:48px;min-width:48px}.btn-sm{min-height:40px;min-width:40px}.form-input,.form-select,.form-textarea,.form-control,.nav-link,.nav-dropdown-item{min-height:48px}.status-chip{min-height:44px}.badge{padding:6px 12px}.btn:hover,.card:hover,.table tr:hover{transform:none}.form-checkbox,.checkbox-label input[type=checkbox]{width:24px;height:24px}}@media (max-height: 500px) and (orientation: landscape){.modal-content{max-height:100vh}.modal-body{max-height:60vh;overflow-y:auto}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.card,.table,.btn{-webkit-font-smoothing:antialiased}}.page-hero{background:linear-gradient(135deg,var(--henaxis-accent) 0%,var(--henaxis-accent-dark) 100%);color:#fff;border-radius:var(--border-radius);padding:var(--spacing-lg) var(--spacing-xl);margin-bottom:var(--spacing-lg);border:none;box-shadow:var(--shadow-md)}.page-hero .page-hero-eyebrow{text-transform:uppercase;font-size:var(--font-size-xs);letter-spacing:.08em;opacity:.8;margin-bottom:var(--spacing-xs)}.page-hero h1{font-size:1.6rem;font-weight:700;margin-bottom:var(--spacing-xs);color:#fff}.page-hero .page-hero-desc{opacity:.85;font-size:var(--font-size-sm);margin:0}.filter-bar{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;align-items:flex-end;padding:var(--spacing-md)}.filter-bar .form-label{font-size:var(--font-size-xs)}.filter-bar .form-control,.filter-bar .form-input,.filter-bar .form-select{min-width:120px;flex:0 1 auto}.filter-bar .form-input[type=text],.filter-bar input[type=text]{flex:1 1 200px}.filter-bar-field{display:flex;flex-direction:column;gap:4px;flex:0 1 auto}.filter-bar-field .form-input,.filter-bar-field .form-select,.filter-bar-field .form-control{width:100%}.filter-compact{padding:var(--spacing-md);gap:var(--spacing-sm)}.filter-compact .filter-search{width:100%}.filter-compact-row{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;align-items:flex-end}.filter-compact-field{display:flex;flex-direction:column;gap:2px;flex:1 1 0;min-width:100px}.filter-compact-field .form-input,.filter-compact-field .form-select{width:100%;min-height:36px;padding:6px 10px;font-size:var(--font-size-sm)}.filter-compact-label{font-size:11px;font-weight:500;color:var(--henaxis-muted);text-transform:uppercase;letter-spacing:.04em}.filter-compact-action{justify-content:flex-end;flex:0 0 auto}.doc-folder-sidebar{background:var(--bg-primary, white);border:1px solid var(--henaxis-border, #e2e8f0);border-radius:var(--border-radius, 10px);overflow:hidden}.doc-folder-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--henaxis-border, #e2e8f0);background:var(--bg-secondary, #f8fafc)}.doc-folder-title{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--henaxis-muted, #6b7280)}.doc-folder-add-btn{width:24px;height:24px;border-radius:6px;border:1px solid var(--henaxis-border, #e2e8f0);background:#fff;cursor:pointer;font-size:1rem;line-height:1;display:flex;align-items:center;justify-content:center;color:var(--henaxis-muted, #6b7280);transition:all .15s}.doc-folder-add-btn:hover{background:var(--primary-color, #2f9d6a);color:#fff;border-color:var(--primary-color, #2f9d6a)}.doc-folder-list{padding:4px 0}.doc-folder-item{display:flex;align-items:center;gap:8px;padding:8px 14px;cursor:pointer;font-size:.82rem;transition:background .1s;border-left:3px solid transparent;position:relative}.doc-folder-item:hover{background:var(--bg-secondary, #f8fafc)}.doc-folder-item.active{background:#2f9d6a0f;border-left-color:var(--primary-color, #2f9d6a);font-weight:600}.doc-folder-icon{font-size:.9rem;flex-shrink:0}.doc-folder-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.doc-folder-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-folder-count{font-size:.7rem;color:var(--henaxis-muted, #6b7280);background:var(--bg-tertiary, #f1f5f9);padding:1px 6px;border-radius:8px;flex-shrink:0}.doc-folder-actions{display:none;gap:2px;flex-shrink:0}.doc-folder-item:hover .doc-folder-actions{display:flex}.doc-folder-item:hover .doc-folder-count{display:none}.doc-folder-action-btn{width:22px;height:22px;border:none;background:var(--bg-tertiary, #f1f5f9);border-radius:4px;cursor:pointer;font-size:11px;display:flex;align-items:center;justify-content:center;color:var(--henaxis-muted, #6b7280);transition:all .1s}.doc-folder-action-btn:hover{background:var(--henaxis-border, #e2e8f0);color:var(--text-primary, #1f2937)}.doc-folder-action-btn.danger:hover{background:#fee2e2;color:var(--danger-color, #ef4444)}.clickable-row{cursor:pointer}.clickable-row.selected-row{background:var(--primary-light, #e8f5ee)!important}.table-link{font-weight:600;color:var(--henaxis-accent);text-decoration:none}.table-link:hover{color:var(--henaxis-accent-dark);text-decoration:underline}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.kpi-card{padding:var(--spacing-md);border-radius:var(--border-radius);background:var(--bg-primary);border:1px solid var(--henaxis-border);box-shadow:var(--shadow-sm)}.kpi-card.kpi-accent{border-left:4px solid var(--henaxis-accent)}.kpi-card .kpi-label{font-size:var(--font-size-xs);color:var(--henaxis-muted);margin-bottom:var(--spacing-xs)}.kpi-card .kpi-value{font-size:1.3rem;font-weight:700;color:var(--text-primary)}.tab-nav{display:flex;gap:0;border-bottom:2px solid var(--henaxis-border);margin-bottom:var(--spacing-lg)}.tab-nav-item{padding:10px 20px;background:none;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;cursor:pointer;font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary);transition:all .15s ease;font-family:inherit}.tab-nav-item:hover{color:var(--text-primary)}.tab-nav-item.active{color:var(--henaxis-accent);border-bottom-color:var(--henaxis-accent);font-weight:600}.inline-alert{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:10px;margin-bottom:var(--spacing-md);font-size:var(--font-size-sm)}.inline-alert-danger{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.inline-alert-warning{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.inline-alert-info{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8}.inline-alert .inline-alert-close{background:none;border:none;cursor:pointer;color:inherit;font-weight:700;font-size:16px;padding:0 4px;opacity:.7}.inline-alert .inline-alert-close:hover{opacity:1}.info-box{padding:var(--spacing-md);border-radius:var(--border-radius);background:#f0fdf4;border-left:4px solid var(--henaxis-accent)}.info-box p:last-child{margin-bottom:0}.progress-bar-track{height:8px;border-radius:999px;background:var(--bg-tertiary);overflow:hidden}.progress-bar-fill{height:100%;border-radius:999px;transition:width .3s ease}.card-section-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--henaxis-border)}.card-section-header h3{margin:0;font-size:var(--font-size-md);font-weight:600}.empty-state{padding:40px var(--spacing-lg);text-align:center;border-radius:var(--border-radius)}.empty-state-icon{font-size:2rem;margin-bottom:var(--spacing-sm)}.empty-state-text{color:var(--henaxis-muted);font-size:var(--font-size-sm)}.code-box{display:flex;align-items:center;gap:var(--spacing-sm);background:var(--bg-primary);padding:12px;border-radius:8px;font-family:SF Mono,Fira Code,monospace;font-size:13px;word-break:break-all;border:1px solid var(--henaxis-border)}.cost-config-panel{background:var(--bg-secondary);padding:var(--spacing-md);border-radius:var(--border-radius);display:flex;flex-direction:column;gap:var(--spacing-md)}.expanded-section-divider{margin-top:var(--spacing-md);border-top:1px solid var(--henaxis-border);padding-top:var(--spacing-md)}.expanded-detail-cell{padding:var(--spacing-md)!important;background:var(--bg-secondary)!important}.expanded-panels{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}@media (max-width: 768px){.expanded-panels{grid-template-columns:1fr}}.expanded-panel{background:var(--bg-primary);border:1px solid var(--henaxis-border);border-radius:var(--border-radius);padding:var(--spacing-md)}.expanded-panel h4{margin:0;font-size:var(--font-size-md);font-weight:600}.expanded-panel-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.expanded-panel-header h4{margin:0;font-size:var(--font-size-md);font-weight:600}.text-accent{color:var(--henaxis-accent)}@media (max-width: 768px){.page-hero{padding:var(--spacing-md);border-radius:10px}.page-hero h1{font-size:1.25rem}.filter-bar{flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-sm)}.filter-bar .form-control,.filter-bar .form-input,.filter-bar .form-select{min-width:unset;width:100%;flex:unset}.filter-bar .btn,.filter-bar-field{width:100%}.filter-compact-row{flex-direction:column}.filter-compact-field{min-width:unset}.filter-compact-action,.filter-compact-action .btn{width:100%}.pagination-pages{width:100%;justify-content:center}.kpi-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.tab-nav{overflow-x:auto;-webkit-overflow-scrolling:touch}.tab-nav-item{padding:10px 14px;white-space:nowrap;font-size:var(--font-size-xs)}.empty-state{padding:var(--spacing-lg)}}@media (max-width: 480px){.page-hero{padding:var(--spacing-sm) var(--spacing-md);border-radius:8px}.page-hero h1{font-size:1.1rem}.page-hero .page-hero-desc{font-size:var(--font-size-xs)}.kpi-grid{grid-template-columns:1fr}.kpi-card .kpi-value{font-size:1.1rem}.info-box{padding:var(--spacing-sm);font-size:var(--font-size-sm)}}.selection-summary{display:flex;align-items:center;gap:var(--spacing-lg);flex-wrap:wrap;padding:12px 20px;margin-bottom:var(--spacing-md);background:linear-gradient(135deg,#2f9d6a0f,#2f9d6a05);border:1px solid rgba(47,157,106,.25);border-left:4px solid var(--henaxis-accent);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);animation:selectionSlideIn .2s ease-out}@keyframes selectionSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.selection-summary .selection-count{font-weight:700;color:var(--henaxis-accent);font-size:var(--font-size-md)}.selection-summary .selection-stat{font-size:var(--font-size-sm);color:var(--text-secondary)}.selection-summary .selection-stat strong{color:var(--text-primary);font-weight:600}.selection-summary .selection-total{font-size:1.05em;font-weight:700;color:var(--henaxis-accent)}.selection-summary .selection-deselect{margin-left:auto}@media (max-width: 768px){.selection-summary{gap:var(--spacing-md);padding:10px 14px}}@media print{.navbar,.mobile-menu-toggle,.btn,.modal-overlay{display:none!important}.container{max-width:100%;padding:0}.card{box-shadow:none;border:1px solid #ddd;page-break-inside:avoid}}.toggle-option-box{padding:10px;background:var(--bg-secondary);border-radius:var(--border-radius);border:1px solid var(--henaxis-border);transition:background .15s,border-color .15s}.toggle-option-box.active{background:#eff6ff;border-color:#93c5fd}.toggle-option-label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;margin:0}.toggle-option-hint{display:block;margin-top:6px;margin-left:24px}.lot-strategy-group{display:flex;gap:4px;flex-wrap:wrap}.lot-strategy-btn{flex:1 1 0;min-width:70px;padding:6px 8px;border:1px solid var(--henaxis-border);background:var(--bg-primary);color:var(--text-secondary);border-radius:6px;cursor:pointer;font-weight:400;font-size:12px;text-align:center;line-height:1.3;transition:all .15s}.lot-strategy-btn:hover{background:var(--bg-secondary)}.lot-strategy-btn.active{border:2px solid var(--henaxis-accent);background:#eff6ff;color:var(--henaxis-accent);font-weight:600}.lot-strategy-btn-label{font-weight:600}.lot-strategy-btn-desc{font-size:10px;opacity:.7}.lot-strategy-calc-btn{flex:1 1 0;min-width:120px;font-size:13px;font-weight:600}.manual-alloc-row{display:flex;align-items:center;gap:var(--spacing-sm);padding:6px 0;border-bottom:1px solid var(--bg-tertiary)}.manual-alloc-code{font-weight:600;font-size:13px;flex:0 0 auto}.manual-alloc-expiry{font-size:11px;color:var(--henaxis-muted)}.manual-alloc-input{width:90px;padding:4px 6px;border:1px solid var(--henaxis-border);border-radius:4px;font-size:13px}.manual-alloc-unit{font-size:11px;color:var(--henaxis-muted)}.manual-alloc-remove{background:none;border:none;color:var(--danger-color);cursor:pointer;font-size:16px;padding:0 4px}.manual-alloc-total{font-size:12px;margin-top:4px;font-weight:600}.manual-alloc-total.satisfied{color:var(--success-color)}.manual-alloc-total.unsatisfied{color:var(--danger-color)}.scan-lot-row{margin-top:var(--spacing-sm);display:flex;gap:6px;align-items:center}.scan-lot-input{flex:1;padding:6px 8px;border:1px solid var(--henaxis-border);border-radius:4px;font-size:13px}.scan-lot-cancel{background:none;border:1px solid var(--henaxis-border);border-radius:4px;padding:6px 10px;cursor:pointer;font-size:12px}.scan-lot-trigger{margin-top:var(--spacing-sm);background:#f0f7ff;border:1px solid #93c5fd;border-radius:6px;padding:6px 12px;cursor:pointer;font-size:12px;color:var(--henaxis-accent);font-weight:600}.scan-lot-trigger:hover{background:#e0efff}.exec-section{margin-bottom:var(--spacing-lg)}.exec-section-content{border:1px solid var(--henaxis-border);border-radius:var(--border-radius);padding:var(--spacing-md);background:var(--bg-secondary)}.scan-message{margin-top:var(--spacing-sm);padding:8px 12px;border-radius:6px;font-size:13px;font-weight:500}.scan-message.success{background:#dcfce7;color:#166534;border:1px solid #86efac}.scan-message.error{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.info-highlight{background:#eff6ff;border:1px solid #93c5fd;border-radius:var(--border-radius);padding:12px}.info-highlight p{margin:0;font-size:13px;color:#1e40af}.mass-balance-grid{display:flex;gap:var(--spacing-md);padding:10px 14px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--border-radius);margin-bottom:var(--spacing-md)}.mass-balance-item{flex:1}.mass-balance-label{font-size:12px;color:var(--henaxis-muted)}.mass-balance-value{font-size:16px;font-weight:700}.multi-output-row{display:flex;align-items:center;gap:var(--spacing-sm);padding:10px;border-radius:6px;margin-bottom:6px;border:1px solid var(--henaxis-border)}.multi-output-row:nth-child(2n){background:var(--bg-secondary)}.verify-scanner-area{margin-top:var(--spacing-md);padding:12px;background:var(--bg-secondary);border-radius:var(--border-radius)}.verify-scanner-area p{font-size:13px;color:var(--henaxis-muted);margin-bottom:var(--spacing-sm);text-align:center}.verify-result{margin-top:var(--spacing-sm);text-align:center;padding:8px;border-radius:6px;font-weight:600}.verify-result.match{background:#dcfce7;color:#166534}.verify-result.mismatch{background:#fee2e2;color:#991b1b}.waste-toggle{background:none;border:none;cursor:pointer;color:var(--henaxis-muted);font-size:13px;text-decoration:underline}.waste-form{margin-top:var(--spacing-sm);padding:12px;background:#fef3c7;border-radius:var(--border-radius);border:1px solid #fcd34d}.waste-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.waste-form-qty{display:flex;gap:4px}.output-batches-list{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--border-radius);padding:12px;margin-bottom:12px}.output-batches-list strong{font-size:13px}.output-batch-row{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;background:var(--bg-primary);border-radius:4px;font-size:13px;margin-top:6px}.batch-info-box{padding:12px;background:var(--bg-secondary);border-radius:var(--border-radius);margin-bottom:var(--spacing-md)}
