:root{--color-brand-900:#0f172a;--color-brand-800:#0f3c73;--color-brand-700:#1e3a8a;--color-brand-600:#1e5fa8;--color-brand-500:#2563eb;--color-brand-400:#3b82f6;--color-brand-100:#dbeafe;--color-brand-50:#eff6ff;--color-success-700:#14532d;--color-success-600:#16a34a;--color-success-500:#10b981;--color-success-100:#dcfce7;--color-success-50:#f0fdf4;--color-warning-700:#92400e;--color-warning-600:#b45309;--color-warning-500:#d97706;--color-warning-400:#f59e0b;--color-warning-100:#fef3c7;--color-warning-50:#fffbeb;--color-danger-700:#7f1d1d;--color-danger-600:#b91c1c;--color-danger-500:#dc2626;--color-danger-400:#ef4444;--color-danger-100:#fee2e2;--color-danger-50:#fef2f2;--color-info-600:#0369a1;--color-info-500:#0891b2;--color-info-100:#e0f2fe;--color-info-50:#ecfeff;--color-teal-600:#0d9488;--color-teal-100:#ccfbf1;--color-teal-50:#f0fdfa;--color-violet-700:#4c1d95;--color-violet-600:#7c3aed;--color-violet-100:#ede9fe;--color-violet-50:#f5f3ff;--color-neutral-900:#0f172a;--color-neutral-700:#334155;--color-neutral-600:#475569;--color-neutral-500:#64748b;--color-neutral-400:#94a3b8;--color-neutral-300:#cbd5e1;--color-neutral-200:#e2e8f0;--color-neutral-100:#f1f5f9;--color-neutral-50:#f8fafc;--color-white:#fff;--color-text-primary:var(--color-neutral-900);--color-text-secondary:var(--color-neutral-500);--color-text-muted:var(--color-neutral-400);--color-bg-page:var(--color-neutral-50);--color-bg-card:var(--color-white);--color-border:var(--color-neutral-200);--color-border-subtle:var(--color-neutral-100);--text-xs:.72rem;--text-sm:.8rem;--text-base:.875rem;--text-md:1rem;--text-lg:1.15rem;--text-xl:1.5rem;--fw-normal:400;--fw-medium:500;--fw-semibold:500;--fw-bold:600;--fw-black:600;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--shadow-xs:0 1px 3px #0000000a;--shadow-sm:0 2px 8px #0000000f;--shadow-md:0 4px 16px #0000001a;--shadow-lg:0 12px 32px #00000024;--shadow-xl:0 24px 60px #0000002e;--transition-fast:all .12s ease;--transition-normal:all .22s ease;--transition-slow:all .35s ease;--z-dropdown:100;--z-sticky:200;--z-overlay:300;--z-modal:9999;--z-toast:10000;--bottom-nav-height:64px;--mobile-safe-bottom:env(safe-area-inset-bottom,0px);--primary-color:var(--color-brand-900);--primary-light:var(--color-brand-700);--sidebar-bg:var(--color-brand-900);--sidebar-hover:#1e293b;--bg-color:var(--color-bg-page);--card-bg:var(--color-bg-card);--text-main:var(--color-text-primary);--text-muted:var(--color-neutral-500);--text-secondary:var(--color-text-secondary);--text-sidebar:#9ca3af;--text-sidebar-active:#fff;--border-color:var(--color-border);--status-pending:var(--color-warning-400);--status-approved:var(--color-success-500);--status-rejected:var(--color-danger-400);--status-normal:var(--color-success-500);--status-low:var(--color-warning-400);--status-out:var(--color-danger-400);--erp-status-neutral-bg:var(--color-neutral-100);--erp-status-neutral-text:var(--color-neutral-600);--erp-status-info-bg:var(--color-brand-50);--erp-status-info-text:var(--color-brand-700);--erp-status-warning-bg:var(--color-warning-50);--erp-status-warning-text:var(--color-warning-600);--erp-status-success-bg:var(--color-success-50);--erp-status-success-text:var(--color-success-600);--erp-status-danger-bg:var(--color-danger-50);--erp-status-danger-text:var(--color-danger-600);--sidebar-width:260px;--header-height:70px;--border-radius:var(--radius-md);--transition-speed:.2s;--erp-page-gap:var(--space-3);--erp-card-padding:var(--space-4);--erp-table-cell-x:var(--space-3);--erp-table-cell-y:.52rem;font-family:Rubik Variable,Rubik,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-main);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Rubik Variable,Rubik,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:400;line-height:1.5;overflow-x:hidden}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6{letter-spacing:0;font-weight:600;line-height:1.25}p,span,td,th,label,input,select,textarea,button{letter-spacing:0}a{color:inherit;text-decoration:none}ul{list-style:none}.text-primary{color:var(--primary-light)}.text-success{color:var(--status-approved)}.text-danger{color:var(--status-rejected)}.text-warning{color:var(--status-pending)}.text-muted{color:var(--text-muted)}.bg-white{background-color:#fff}.shadow-sm{box-shadow:0 1px 2px #0000000d}.shadow{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.flex{display:flex}.flex-col{flex-direction:column;display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:1rem}.gap-4{gap:1.5rem}.w-full{width:100%}.h-full{height:100%}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn{border-radius:var(--radius-sm);font-size:var(--text-base);font-weight:var(--fw-semibold);cursor:pointer;transition:var(--transition-fast);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;display:inline-flex}.btn:focus-visible{outline:2px solid var(--primary-light);outline-offset:2px}.btn-primary{background-color:var(--primary-light);color:#fff}.btn-primary:hover{background-color:var(--primary-color)}.btn-primary:focus-visible{outline-color:var(--color-brand-400)}.btn-outline{border:1px solid var(--border-color);color:var(--text-main);background-color:#0000}.btn-outline:hover{background-color:var(--color-neutral-50)}.btn-icon{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.5rem;font-size:1.25rem;display:flex}.btn-icon:hover{background-color:var(--border-color);color:var(--text-main)}.badge{border-radius:9999px;justify-content:center;align-items:center;gap:.25rem;padding:.25rem .6rem;font-size:.7rem;font-weight:600;display:inline-flex}.badge-pending{background-color:var(--color-warning-100);color:var(--color-warning-700)}.badge-approved{background-color:var(--color-success-100);color:var(--color-success-700);animation:2s infinite pulseGreen}.badge-rejected{background-color:var(--color-danger-100);color:var(--color-danger-700);animation:2s infinite pulseRed}.badge-neutral{background-color:var(--color-neutral-100);color:var(--color-neutral-700)}.erp-status-pill{white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.25rem;min-height:22px;padding:.16rem .52rem;font-size:.68rem;font-weight:600;line-height:1.15;display:inline-flex}.erp-status-neutral{background:var(--erp-status-neutral-bg);color:var(--erp-status-neutral-text);border-color:#e2e8f0}.erp-status-info{background:var(--erp-status-info-bg);color:var(--erp-status-info-text);border-color:#bfdbfe}.erp-status-warning{background:var(--erp-status-warning-bg);color:var(--erp-status-warning-text);border-color:#fde68a}.erp-status-success{background:var(--erp-status-success-bg);color:var(--erp-status-success-text);border-color:#a7f3d0}.erp-status-danger{background:var(--erp-status-danger-bg);color:var(--erp-status-danger-text);border-color:#fecaca}.erp-menu-badge{color:#fff;background:#ef4444;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 .42rem;font-size:.62rem;font-weight:600;line-height:1;display:inline-flex}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}.filter-pill{cursor:pointer;white-space:nowrap;border:1px solid var(--border-color);color:var(--text-muted);background-color:#fff;border-radius:9999px;padding:.4rem 1rem;font-size:.8rem;font-weight:500;transition:all .2s}.filter-pill.active{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.filter-row{-webkit-overflow-scrolling:touch;gap:.5rem;margin-bottom:1rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.filter-row::-webkit-scrollbar{display:none}.fab{bottom:calc(env(safe-area-inset-bottom) + 80px);color:#fff;box-shadow:var(--shadow-md);cursor:pointer;z-index:var(--z-sticky);transition:var(--transition-fast);background-color:#2563eb;border:none;border-radius:12px;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.875rem;font-weight:500;display:flex;position:fixed;right:1.5rem}.fab:active{transform:scale(.95)}.card{background-color:var(--card-bg);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-xs);margin-bottom:var(--space-4);overflow:hidden}.card-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.card-title{color:var(--text-main);font-size:.95rem;font-weight:600}.card-body{padding:1.5rem}.form-group{margin-bottom:1rem}.form-label{color:var(--text-muted);margin-bottom:.35rem;font-size:.78rem;font-weight:600;display:block}.form-control{border:1px solid var(--border-color);width:100%;color:var(--text-main);transition:border-color var(--transition-speed);border-radius:6px;outline:none;padding:.5rem .75rem;font-family:inherit;font-size:.875rem;font-weight:400}.form-control:focus{border-color:var(--primary-light);box-shadow:0 0 0 2px #1976d233}.table-responsive{overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th{text-align:left;color:var(--text-muted);text-transform:uppercase;border-bottom:1px solid var(--border-color);background-color:#f9fafb;padding:.75rem 1rem;font-size:.75rem;font-weight:600}.table td{border-bottom:1px solid var(--border-color);color:var(--text-main);vertical-align:middle;padding:1rem;font-size:.875rem;font-weight:400}.table tbody tr:hover{background-color:#f9fafb}.erp-list-page{gap:var(--erp-page-gap);flex-direction:column;width:100%;display:flex}.erp-page-header{background:#fff;border:1px solid #e2e8f0;border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.1rem;display:flex;box-shadow:0 1px 2px #0f172a0a}.erp-page-title-wrap{align-items:center;gap:.85rem;min-width:0;display:flex}.erp-page-icon{color:#0f3c73;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.erp-page-title{color:var(--text-main);margin:0;font-size:1.05rem;font-weight:600}.erp-page-subtitle{color:var(--text-muted);margin:.15rem 0 0;font-size:.8rem;font-weight:500}.erp-summary-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;display:grid}.erp-summary-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--erp-card-padding);box-shadow:var(--shadow-sm)}.erp-summary-label{color:var(--text-muted);text-transform:uppercase;font-size:.74rem;font-weight:600}.erp-summary-value{color:var(--text-main);margin-top:.4rem;font-size:1.35rem;font-weight:600;line-height:1}.erp-table-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.erp-table-toolbar{background:#fff;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.55rem;padding:.75rem .85rem;display:flex}.erp-toolbar-title{color:#0f3c73;align-items:center;gap:.5rem;font-size:.88rem;font-weight:600;display:inline-flex}.erp-count-badge{background:var(--color-brand-100);color:var(--color-brand-700);font-size:var(--text-xs);font-weight:var(--fw-black);border-radius:var(--radius-full);padding:.1rem .5rem}.erp-count-badge-warning{background:var(--color-warning-100);color:var(--color-warning-700)}.erp-count-badge-danger{background:var(--color-danger-100);color:var(--color-danger-700)}.erp-count-badge-success{background:var(--color-success-100);color:var(--color-success-700)}.erp-search-wrap{flex:1;min-width:220px;max-width:440px;position:relative}.erp-search-icon{color:#94a3b8;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.erp-search-input{border-radius:8px;padding-left:2.25rem}.erp-tab-filter{border-bottom:2px solid #e2e8f0;align-self:flex-end;gap:0;display:flex;overflow-x:auto}.erp-tab-filter button{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:.45rem .85rem;font-size:.78rem;font-weight:500}.erp-tab-filter button.active{color:#0f3c73;border-bottom-color:#0f3c73;font-weight:600}.erp-table{border-collapse:collapse;width:100%;font-size:.875rem}.erp-table thead tr{border-bottom:1px solid var(--color-border,#e2e8f0);background:0 0}.erp-table th{text-align:left;color:#64748b;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;background:#fff;padding:.95rem 1rem;font-size:.74rem;font-weight:500}.erp-table th[data-sortable]{cursor:pointer;-webkit-user-select:none;user-select:none}.erp-table th[data-sortable]:after{content:"";vertical-align:middle;border-top:5px solid #cbd5e1;border-left:4px solid #0000;border-right:4px solid #0000;width:0;height:0;margin-left:.45rem;transition:border-top-color .12s,transform .12s;display:inline-block}.erp-table th[data-sortable][aria-sort=ascending]:after{border-top-color:#2563eb;transform:rotate(180deg)}.erp-table th[data-sortable][aria-sort=descending]:after{border-top-color:#2563eb}.erp-table td{color:var(--text-main,#1e293b);vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:.95rem 1rem;font-weight:400}.erp-table tbody tr:last-child td{border-bottom:none}.erp-table tbody tr{transition:background-color .12s}.erp-table tbody tr:hover{background:#f8fafc}.erp-table .erp-num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum";letter-spacing:-.005em}@media (width<=991px){.erp-table-wrap>.table-responsive{overflow-x:auto}.erp-table-wrap>.table-responsive>.erp-table{min-width:max-content}}.erp-table-footer{color:var(--text-muted,#64748b);background:#fff;border-top:1px solid #f1f5f9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.85rem 1.1rem;font-size:.8rem;font-weight:500;display:flex}.erp-pagination{align-items:center;gap:.3rem;margin-left:auto;display:inline-flex}.erp-pagination-btn{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;min-width:30px;height:30px;padding:0 .6rem;font-family:inherit;font-size:.78rem;font-weight:500;transition:background-color .12s,border-color .12s}.erp-pagination-btn:not(:disabled):hover{background:#f8fafc;border-color:#cbd5e1}.erp-pagination-btn.active{color:#fff;cursor:default;background:#2563eb;border-color:#2563eb}.erp-pagination-btn:disabled{opacity:.45;cursor:not-allowed}.erp-pill{letter-spacing:.02em;white-space:nowrap;border-radius:999px;align-items:center;gap:.3rem;padding:.28rem .75rem;font-size:.7rem;font-weight:500;display:inline-flex}.erp-btn-outline{color:#2563eb;cursor:pointer;background:0 0;border:1px solid #2563eb;border-radius:6px;align-items:center;gap:.3rem;padding:.4rem .85rem;font-family:inherit;font-size:.78rem;font-weight:500;transition:background-color .12s;display:inline-flex}.erp-btn-outline:hover{background:#2563eb14}.erp-btn-outline:disabled{opacity:.5;cursor:not-allowed}.erp-table-empty{text-align:center;color:#64748b;padding:3rem 1.5rem}.erp-table-empty-title{color:#334155;margin-bottom:.35rem;font-size:.95rem;font-weight:500}.erp-table-empty-subtitle{color:#94a3b8;font-size:.82rem}.erp-action-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.32rem;display:flex}.erp-action-left{justify-content:flex-start}.erp-action-center{justify-content:center}.erp-action-cell{white-space:nowrap;width:1%;min-width:118px}.erp-cell-main{color:var(--text-main);font-weight:600;line-height:1.25}.erp-cell-sub{color:var(--text-muted);margin-top:.12rem;font-size:.72rem;line-height:1.25}.erp-document-section{background:#fff;border:1px solid #dbeafe;border-radius:8px;overflow:hidden;box-shadow:0 6px 18px #0f3c730b}.erp-document-section+.erp-document-section{margin-top:.85rem}.erp-document-section-header{background:#f8fbff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.75rem .85rem;display:flex}.erp-document-section-header h3{color:var(--text-main);margin:0;font-size:.9rem;font-weight:600}.erp-document-section-header p{color:var(--text-muted);margin:.16rem 0 0;font-size:.76rem}.erp-document-section-actions{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.erp-document-section-body{padding:.85rem}.erp-empty-state{color:var(--text-secondary,#64748b);flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:3rem 1rem;display:flex}.erp-empty-state-icon{font-size:2.5rem}.erp-empty-state-title{color:var(--text-primary,#1e293b);font-size:1rem;font-weight:500}.erp-empty-state-desc{text-align:center;max-width:320px;font-size:.85rem}.erp-empty-state-action{margin-top:.5rem}.erp-loading-center{justify-content:center;align-items:center;padding:2rem;display:flex}.erp-loading-spinner{border:3px solid var(--border-color,#e2e8f0);border-top-color:var(--primary-color,#3b82f6);border-radius:50%;animation:.7s linear infinite erp-spin}@keyframes erp-spin{to{transform:rotate(360deg)}}.erp-confirm-backdrop{z-index:calc(var(--z-modal) + 1);background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.erp-confirm-dialog{background:#fff;border-radius:12px;width:90%;max-width:380px;padding:1.5rem;box-shadow:0 20px 60px #0003}.erp-confirm-title{margin-bottom:.5rem;font-size:1rem;font-weight:600}.erp-confirm-message{color:#64748b;margin-bottom:1.25rem;font-size:.875rem}.erp-confirm-actions{justify-content:flex-end;gap:.5rem;display:flex}.erp-btn{cursor:pointer;border:none;border-radius:6px;padding:.45rem 1rem;font-size:.875rem;font-weight:500}.erp-btn-primary{background:var(--primary-color,#3b82f6);color:#fff}.erp-btn-secondary{color:#334155;background:#f1f5f9}.erp-btn-danger{color:#fff;background:#ef4444}.erp-list-page .card{border:1px solid #dbeafe;border-radius:10px;box-shadow:0 8px 24px #0f3c730d}.erp-list-page .card-header{background:#fff;border-bottom:1px solid #e2e8f0;padding:1rem 1.15rem}.erp-list-page .card-title{color:var(--text-main);font-size:.92rem;font-weight:600}.erp-list-page .metrics-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:0}.erp-list-page .metric-card{min-height:112px;padding:1rem 1.1rem}.erp-list-page .metric-title{color:var(--text-muted);text-transform:uppercase;font-size:.74rem;font-weight:600}.erp-list-page .metric-value{color:var(--text-main);font-size:1.55rem;font-weight:600;line-height:1}.erp-list-page .search-box{background:#fff;border:1px solid #e2e8f0;border-radius:8px;min-height:38px;padding:.5rem .75rem}.erp-list-page .search-box input{color:var(--text-main);font:inherit}.erp-list-page table{border-collapse:collapse;width:100%;font-size:.84rem}.erp-list-page table thead tr{background:#f8fbff;border-bottom:1px solid #dbeafe}.erp-list-page table th{color:#475569;text-transform:uppercase;letter-spacing:0;white-space:nowrap;padding:.78rem 1rem;font-size:.72rem;font-weight:600}.erp-list-page table td{color:var(--text-main);vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:.78rem 1rem}.erp-list-page table tbody tr:hover{background:#f8fafc}.erp-subnav-card{background:#fff;border:1px solid #dbeafe;border-radius:10px;flex-wrap:wrap;gap:.4rem;padding:.45rem;display:flex;box-shadow:0 8px 24px #0f3c730d}@media (width<=768px){.erp-page-header{flex-direction:column;align-items:flex-start}.erp-page-header .btn{width:100%}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:.3s ease-out forwards fadeIn}.lucide-icon{transition:all .2s ease-in-out}.btn:hover .lucide-icon,.btn-icon:hover .lucide-icon,.sidebar-menu li a:hover .lucide-icon,.sidebar-menu li.active>a .lucide-icon{transform:scale(1.15)}.animate-spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulseGreen{0%{box-shadow:0 0 #10b98199}70%{box-shadow:0 0 0 6px #10b98100}to{box-shadow:0 0 #10b98100}}@keyframes onlinePulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:0;transform:scale(2.2)}}.indicator-active{animation:2s infinite pulseGreen}@keyframes gradientFlow{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.line-active{background:linear-gradient(90deg,#10b981,#6ee7b7,#10b981) 0 0/200% 100%;animation:2s linear infinite gradientFlow}@keyframes pulseRed{0%{box-shadow:0 0 #ef444499}70%{box-shadow:0 0 0 6px #ef444400}to{box-shadow:0 0 #ef444400}}.indicator-rejected{animation:2s infinite pulseRed}.modal-body .form-label{color:#374151;margin-bottom:.3rem;font-size:.8rem;font-weight:500;display:block}.modal-body .form-control{color:#1f2937;background:#fff;border:1px solid #e2e8f0;border-radius:7px;width:100%;padding:.45rem .75rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.modal-body .form-control:focus{border-color:var(--primary-light);outline:none;box-shadow:0 0 0 3px #1976d21f}.modal-body .form-control:disabled,.modal-body .form-control[readonly]{color:#94a3b8;cursor:not-allowed;background:#f8fafc}.modal-section-title{letter-spacing:.07em;text-transform:uppercase;color:#94a3b8;border-bottom:1px solid #f1f5f9;margin:1.25rem 0 .6rem;padding-bottom:.4rem;font-size:.72rem;font-weight:600}.modal-info-box{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;align-items:flex-start;gap:.6rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.82rem;display:flex}.modal-footer{border-top:1px solid #f1f5f9;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1rem;display:flex}.modal-backdrop{animation:.18s ease-out backdropIn}@keyframes backdropIn{0%{opacity:0}to{opacity:1}}.modal-panel{animation:.22s cubic-bezier(.16,1,.3,1) modalSlideIn}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.rfq-soft-pulse{transform-origin:50%;animation:1.9s ease-in-out infinite rfqSoftPulse}@keyframes rfqSoftPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.78;transform:scale(1.08)}}@media (width<=768px){.desktop-only{display:none!important}}@media (width>=769px){.mobile-only{display:none!important}}.app-container{background-color:var(--bg-color);zoom:.8;height:125vh;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-width);background-color:var(--sidebar-bg);color:var(--text-sidebar);z-index:var(--z-dropdown);flex-direction:column;flex-shrink:0;transition:transform .3s;display:flex}.sidebar-header{height:var(--header-height);border-bottom:1px solid #ffffff0d;align-items:center;padding:0 1.5rem;display:flex}.sidebar-logo{color:#fff;align-items:center;gap:.75rem;font-size:1.25rem;font-weight:600;display:flex}.sidebar-logo i{color:var(--primary-light);font-size:1.75rem}.sidebar-logo span{flex-direction:column;font-size:1.1rem;line-height:1.1;display:flex}.sidebar-logo small{color:var(--text-sidebar);font-size:.65rem;font-weight:400}.sidebar-nav{flex:1;padding:1rem 0;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-thumb{background-color:#ffffff1a;border-radius:4px}.nav-label{text-transform:uppercase;letter-spacing:.05em;color:#6b7280;margin-top:.5rem;padding:.5rem 1.5rem;font-size:.7rem;font-weight:500}.nav-section{margin-bottom:.25rem}.nav-section-header{text-transform:uppercase;letter-spacing:.08em;color:#4b5563;align-items:center;gap:.5rem;margin-top:.5rem;padding:.6rem 1.5rem .4rem;font-size:.68rem;font-weight:600;display:flex;position:relative}.nav-section-header:after{content:"";background-color:#ffffff12;flex:1;height:1px;margin-left:.5rem}.nav-section-icon{color:#6b7280;flex-shrink:0}.nav-section+.nav-section{border-top:1px solid #ffffff0a;padding-top:.25rem}.nav-item{color:var(--text-sidebar);cursor:pointer;border-left:3px solid #0000;align-items:center;gap:.75rem;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500;transition:all .2s;display:flex}.nav-item:hover{background-color:var(--sidebar-hover);color:#fff}.nav-item.active{background-color:var(--sidebar-hover);color:#fff;border-left-color:var(--primary-light)}.nav-item i{font-size:1.25rem}.nav-item-badge{background-color:var(--status-pending);color:#fff;border-radius:12px;margin-left:auto;padding:.1rem .4rem;font-size:.7rem;font-weight:600}.sidebar-footer{cursor:pointer;border-top:1px solid #ffffff0d;align-items:center;gap:.75rem;padding:1rem 1.5rem;display:flex}.sidebar-footer:hover{background-color:var(--sidebar-hover)}.user-avatar{object-fit:cover;color:#fff;background-color:#374151;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-weight:500;display:flex}.user-info{flex-direction:column;display:flex}.user-name{color:#fff;font-size:.85rem;font-weight:500}.user-role{color:var(--text-sidebar);font-size:.75rem}.main-content{flex-direction:column;flex:1;display:flex;overflow:hidden}.topbar{height:var(--header-height);border-bottom:1px solid var(--border-color);z-index:50;background-color:#fff;justify-content:space-between;align-items:center;padding:0 1.5rem;display:flex}.topbar-left{align-items:center;gap:1rem;display:flex}.menu-toggle{color:var(--text-main);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.5rem;font-size:1.5rem;display:flex}.menu-toggle:hover{background-color:var(--bg-color)}.page-title{color:var(--primary-light);flex:1;justify-content:center;align-items:center;font-size:1.1rem;font-weight:600;display:flex}.topbar-right{align-items:center;gap:1rem;display:flex}.search-box{background-color:var(--bg-color);border-radius:999px;align-items:center;width:250px;padding:.4rem 1rem;display:flex}.search-box i{color:var(--text-muted);font-size:1.1rem}.search-box input{background:0 0;border:none;outline:none;width:100%;padding-left:.5rem;font-size:.85rem}.topbar-actions{align-items:center;gap:.5rem;display:flex}.topbar-btn{position:relative}.notification-dot{background-color:var(--status-rejected);border:2px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;top:4px;right:4px}.notification-count{background-color:var(--status-rejected);color:#fff;border:1px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:.65rem;font-weight:600;display:flex;position:absolute;top:-2px;right:-2px}.page-content{flex:1;padding:1.5rem;overflow-y:auto}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.metric-card{flex-direction:column;padding:1.25rem;display:flex;position:relative;overflow:hidden}.metric-title{color:var(--text-muted);margin-bottom:.5rem;font-size:.85rem;font-weight:500}.metric-value{color:var(--text-main);margin-bottom:.5rem;font-size:1.75rem;font-weight:500}.metric-trend{align-items:center;gap:.25rem;font-size:.75rem;font-weight:500;display:flex}.trend-up{color:var(--status-approved)}.trend-down{color:var(--status-rejected)}.trend-neutral{color:var(--text-muted)}.metric-icon{border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.5rem;display:flex;position:absolute;top:1.25rem;right:1.25rem}.icon-blue{color:var(--primary-light);background-color:#1976d21a}.icon-orange{color:var(--status-pending);background-color:#f59e0b1a}.icon-green{color:var(--status-approved);background-color:#10b9811a}.icon-red{color:var(--status-rejected);background-color:#ef44441a}.dash-grid-2{grid-template-columns:2fr 1fr;gap:1.5rem;margin-bottom:1.5rem;display:grid}.dash-grid-3{grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:1.5rem;display:grid}.list-item{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1rem 0;display:flex}.list-item:last-child{border-bottom:none}.list-info{flex-direction:column;display:flex}.list-title{font-size:.875rem;font-weight:500}.list-desc{color:var(--text-muted);font-size:.75rem}.list-action{color:var(--primary-light);font-size:.75rem;font-weight:500}.custom-legend{flex-direction:column;gap:.5rem;margin-top:1rem;display:flex}.legend-item{justify-content:space-between;align-items:center;font-size:.8rem;display:flex}.legend-label{color:var(--text-muted);align-items:center;gap:.5rem;display:flex}.legend-dot{border-radius:50%;width:8px;height:8px}.legend-value{color:var(--text-main);font-weight:500}.mobile-bottom-nav{display:none}.sidebar-overlay{z-index:var(--z-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#00000080;animation:.2s fadeIn;display:none;position:fixed;inset:0}@keyframes iconBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.icon-bounce{animation:1.5s ease-in-out infinite iconBounce}@keyframes iconShake{0%,to{transform:translate(0)}25%{transform:translate(-2px)rotate(-5deg)}75%{transform:translate(2px)rotate(5deg)}}.icon-shake{animation:.5s ease-in-out infinite iconShake}@media (width>=992px){.sidebar.desktop-closed{margin-left:calc(-1 * var(--sidebar-width))}}@media (width<=1024px){.dash-grid-2{grid-template-columns:1fr}.dash-grid-3,.metrics-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=991px){.sidebar-overlay,.menu-toggle{display:block}.sidebar{height:100dvh;z-index:var(--z-sticky);position:fixed;transform:translate(-100%);box-shadow:4px 0 20px #00000040}.sidebar.mobile-open{transform:translate(0)}.search-box{display:none}.dash-grid-2,.dash-grid-3{grid-template-columns:1fr}.metrics-grid{grid-template-columns:repeat(2,1fr)}.topbar{padding:0 1rem}.page-title{text-align:center;pointer-events:none;font-size:1.1rem;position:absolute;left:0;right:0;border:none!important}.page-content{background-color:var(--bg-color);padding:1rem}.install-btn-text{display:none}.user-info-text{display:none!important}.card-header{flex-wrap:wrap;gap:.5rem}.erp-table-toolbar{display:none!important}.mobile-bottom-nav{border-top:1px solid var(--border-color);z-index:90;width:100%;padding:.5rem 0;padding-bottom:calc(.5rem + env(safe-area-inset-bottom));background:#fff;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;box-shadow:0 -4px 6px -1px #00000005}.mobile-nav-item{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;align-items:center;gap:.2rem;padding:.25rem .75rem;font-size:.65rem;font-weight:500;transition:all .2s;display:flex}.mobile-nav-item.active{color:var(--primary-light)}.mobile-nav-item i{font-size:1.4rem}.app-container{padding-bottom:64px}.mobile-topbar-only{display:flex!important}.desktop-topbar-only{display:none!important}}.mobile-topbar-only{display:none}.desktop-topbar-only{display:flex}.mobile-only{display:none!important}.desktop-only{display:block}@media (width<=991px){.mobile-only{display:block!important}.desktop-only{display:none!important}.erp-list-page{padding:0!important}.erp-page-header{border-bottom:1px solid var(--border-color)!important;background:#fff!important;border-radius:0!important;margin-bottom:0!important;padding:1rem 1rem .875rem!important}.erp-page-title{font-size:1.05rem!important}.erp-page-subtitle{font-size:.72rem!important}.erp-page-icon{width:36px!important;height:36px!important}.erp-table-card{box-shadow:none!important;border-left:none!important;border-right:none!important;border-radius:0!important}.erp-summary-grid{grid-template-columns:repeat(2,1fr)!important;gap:.625rem!important;padding:.875rem!important}.erp-summary-card{padding:.75rem!important}.erp-summary-value{font-size:1.4rem!important}.page-content{padding:0!important}.mobile-fab{bottom:calc(72px + env(safe-area-inset-bottom));color:#fff;cursor:pointer;z-index:95;background:linear-gradient(135deg,#0f3c73,#1e5fa8);border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;transition:transform .15s,box-shadow .15s;animation:.3s cubic-bezier(.34,1.56,.64,1) fabIn;display:flex;position:fixed;right:1.25rem;box-shadow:0 4px 20px #0f3c7373}.mobile-fab:active{transform:scale(.92);box-shadow:0 2px 10px #0f3c734d}@keyframes fabIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.mobile-filter-bar{-webkit-overflow-scrolling:touch;scrollbar-width:none;border-bottom:1px solid var(--border-color);z-index:10;background:#fff;gap:.5rem;padding:.625rem 1rem;display:flex;position:sticky;top:0;overflow-x:auto}.mobile-filter-bar::-webkit-scrollbar{display:none}.mobile-filter-chip{color:#64748b;white-space:nowrap;cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:999px;flex-shrink:0;align-items:center;gap:.3rem;padding:.35rem .875rem;font-size:.75rem;font-weight:500;transition:all .15s;display:flex}.mobile-filter-chip.active{color:#fff;background:#0f3c73;border-color:#0f3c73}.mobile-list-container{padding-bottom:calc(80px + env(safe-area-inset-bottom));flex-direction:column;gap:0;display:flex}.mobile-erp-card{cursor:default;background:#fff;border-bottom:1px solid #f1f5f9;padding:1rem;transition:background .1s}.mobile-erp-card:active{background:#f8fafc}.mobile-erp-card:first-child{margin-top:.5rem}.mobile-action-row{gap:.5rem;margin-top:.75rem;display:flex}.mobile-action-btn{cursor:pointer;border:none;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:.3rem;padding:.6rem 0;font-size:.75rem;font-weight:500;transition:opacity .1s;display:flex}.mobile-action-btn:active{opacity:.7}.mobile-search-overlay{z-index:300;background:#fff;flex-direction:column;display:flex;position:fixed;inset:0}.mobile-search-header{border-bottom:1px solid var(--border-color);align-items:center;gap:.75rem;padding:.875rem 1rem;display:flex}.mobile-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;border-bottom:2px solid var(--border-color);z-index:10;background:#fff;gap:0;padding:0 1rem;display:flex;position:sticky;top:0;overflow-x:auto}.mobile-tabs::-webkit-scrollbar{display:none}.mobile-tabs button{flex-shrink:0}}@media (width<=480px){.metrics-grid{grid-template-columns:1fr}.topbar{padding:0 .75rem}.page-content{padding:.75rem}.card-body{padding:1rem}.card-header{padding:.75rem 1rem}.table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}.table th,.table td{white-space:nowrap}}@keyframes progress-stripes{0%{background-position:1rem 0}to{background-position:0 0}}@media (width<=480px){.modal-backdrop{align-items:flex-end!important;padding:0!important}.modal-panel{border-radius:20px 20px 0 0!important;max-width:100%!important;max-height:96vh!important}.modal-header{padding:.75rem 1rem!important}.modal-header:before{content:"";background:#e2e8f0;border-radius:2px;width:36px;height:4px;margin:0 auto .5rem;display:block}.modal-body{padding:.875rem 1rem!important}}@media (width>=481px) and (width<=768px){.modal-backdrop{padding:.5rem!important}.modal-panel{max-height:94vh!important}}@media (width<=991px){.btn-icon{justify-content:center!important;align-items:center!important;width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;padding:0!important;display:flex!important}.btn,.btn-outline,.btn-primary,.btn-soft{min-height:44px!important;padding-top:.65rem!important;padding-bottom:.65rem!important}.mobile-nav-item{min-width:52px!important;min-height:56px!important;padding:.4rem .5rem!important}.erp-tab-filter button{min-height:36px!important;padding:.4rem .75rem!important}.form-control,input[type=text],input[type=date],input[type=number],input[type=email],select,textarea{min-height:44px!important;font-size:16px!important}.erp-action-row{gap:.6rem!important}.badge,[class*=badge-]{font-size:.72rem!important}.erp-table td,.erp-table th{font-size:.8rem!important}.text-muted{font-size:.75rem!important}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideOutLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-30%)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30%)}to{opacity:1;transform:translate(0)}}@media (width<=991px){.page-enter{animation:.28s cubic-bezier(.25,.46,.45,.94) forwards slideInRight}.page-enter-back{animation:.25s cubic-bezier(.25,.46,.45,.94) forwards slideInLeft}.animate-fade-in{animation:.22s ease-out forwards fadeIn}.mobile-nav-item{position:relative}.mobile-nav-item.active:before{content:"";background:var(--primary-light,#1e3a8a);border-radius:0 0 3px 3px;width:32px;height:3px;position:absolute;top:0;left:50%;transform:translate(-50%)}.mobile-nav-badge{color:#fff;pointer-events:none;background:#ef4444;border:2px solid #fff;border-radius:9999px;justify-content:center;align-items:center;min-width:17px;height:17px;padding:0 .25rem;font-size:.62rem;font-weight:600;line-height:1;display:flex;position:absolute;top:-5px;right:-8px}.mobile-nav-item span{letter-spacing:-.01em;font-weight:500;font-size:.72rem!important}.mobile-nav-item.active span{font-weight:600}}@keyframes cardSlideOut{0%{opacity:1;max-height:200px;margin-bottom:.5rem;transform:translate(0)}60%{opacity:0;max-height:200px;transform:translate(60px)}to{opacity:0;max-height:0;margin-bottom:0;padding:0;transform:translate(60px)}}.card-slide-out{animation:.38s cubic-bezier(.55,.06,.68,.19) forwards cardSlideOut;overflow:hidden}@keyframes cardSlideOutLeft{0%{opacity:1;max-height:200px;margin-bottom:.5rem;transform:translate(0)}60%{opacity:0;max-height:200px;transform:translate(-60px)}to{opacity:0;max-height:0;margin-bottom:0;padding:0;transform:translate(-60px)}}.card-slide-out-left{animation:.38s cubic-bezier(.55,.06,.68,.19) forwards cardSlideOutLeft;overflow:hidden}@keyframes sheetSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes sheetSlideDown{0%{transform:translateY(0)}to{transform:translateY(100%)}}.bottom-sheet{z-index:var(--z-modal,9999);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#fff;border-radius:20px 20px 0 0;max-height:85vh;animation:.3s cubic-bezier(.25,.46,.45,.94) forwards sheetSlideUp;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -8px 32px #00000029}.bottom-sheet-closing{animation:.25s cubic-bezier(.55,.06,.68,.19) forwards sheetSlideDown}.bottom-sheet-backdrop{z-index:calc(var(--z-modal,9999) - 1);background:#0f172a8c;animation:.2s forwards fadeIn;position:fixed;inset:0}.bottom-sheet-handle{background:var(--color-neutral-300,#cbd5e1);border-radius:2px;width:40px;height:4px;margin:.75rem auto .25rem}.date-group-label{font-size:var(--text-xs,.72rem);color:var(--color-neutral-400,#94a3b8);text-transform:uppercase;letter-spacing:.06em;margin-top:.5rem;padding:.25rem 0;font-weight:600}.progress-bar-animated{background-image:linear-gradient(45deg,#ffffff40 25%,#0000 25% 50%,#ffffff40 50% 75%,#0000 75%,#0000);background-size:1rem 1rem;animation:1s linear infinite progress-stripes}@keyframes step-pulse{0%,to{box-shadow:0 0 #f59e0b80}50%{box-shadow:0 0 0 5px #f59e0b00}}.step-active-pulse{animation:1.4s ease-in-out infinite step-pulse}.pipeline-step{cursor:default;outline:none;position:relative}.pipeline-floating-tooltip{z-index:9999;color:#0f172a;pointer-events:none;background:#fff;border:1px solid #bfdbfe;border-top:3px solid #0f3c73;border-radius:8px;padding:.75rem;position:fixed;box-shadow:0 16px 36px #0f3c732e}.pipeline-floating-tooltip-top{transform:translate(-50%,-100%)}.pipeline-floating-tooltip-bottom{transform:translate(-50%)}.pipeline-floating-head{border-bottom:1px solid #e2e8f0;align-items:center;gap:.55rem;margin-bottom:.55rem;padding-bottom:.55rem;display:flex}.pipeline-floating-code{color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:.7rem;font-weight:600;display:inline-flex}.pipeline-floating-title{color:#0f3c73;font-size:.78rem;font-weight:600;line-height:1.2}.pipeline-floating-state{margin-top:.1rem;font-size:.68rem;font-weight:600}.pipeline-floating-body{gap:.38rem;display:grid}.pipeline-floating-row{grid-template-columns:96px 1fr;align-items:start;gap:.55rem;font-size:.68rem;line-height:1.35;display:grid}.pipeline-floating-row span{color:#64748b;font-weight:600}.pipeline-floating-row strong{color:#1e293b;overflow-wrap:anywhere;font-weight:600}@media (width<=640px){.pipeline-floating-row{grid-template-columns:86px 1fr}}@keyframes step-pulse-blue{0%,to{box-shadow:0 0 #3b82f680}50%{box-shadow:0 0 0 5px #3b82f600}}.step-active-pulse-blue{animation:1.4s ease-in-out infinite step-pulse-blue}.skeleton{background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9 50%,#e2e8f0 75%) 0 0/200% 100%;border-radius:4px;animation:1.5s infinite skeletonLoading}.skeleton-circle{border-radius:50%}@keyframes skeletonLoading{0%{background-position:200% 0}to{background-position:-200% 0}}
