@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=Outfit:wght@400;500;600;700;800&display=swap";
:root{--red-primary:#dc2626;--red-hover:#b91c1c;--red-dark:#991b1b;--red-subtle:#fef2f2;--red-border:#fecaca;--red-text:#991b1b;--black:#09090b;--black-elevated:#18181b;--black-surface:#27272a;--white:#fff;--gray-50:#fafafa;--gray-100:#f4f4f5;--gray-200:#e4e4e7;--gray-300:#d4d4d8;--gray-400:#a1a1aa;--gray-500:#71717a;--gray-600:#52525b;--gray-700:#3f3f46;--gray-800:#27272a;--gray-900:#18181b;--bg-main:#fafafa;--bg-sidebar:#09090b;--bg-sidebar-hover:#18181b;--bg-card:#fff;--bg-card-hover:#fff;--bg-elevated:#fff;--border-subtle:#e4e4e7;--border-medium:#d4d4d8;--border-focus:#dc2626;--text-main:#09090b;--text-muted:#71717a;--text-light:#a1a1aa;--text-sidebar:#f4f4f5;--text-sidebar-muted:#a1a1aa;--shadow-xs:0 1px 2px 0 #0000000a;--shadow-sm:0 1px 3px 0 #0000000d, 0 1px 2px -1px #0000000d;--shadow-md:0 4px 6px -1px #0000000d, 0 2px 4px -2px #0000000a;--shadow-lg:0 10px 15px -3px #0000000f;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;color:var(--text-main);background-color:var(--bg-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif}h1,h2,h3,h4,h5,h6{color:var(--black);letter-spacing:-.025em;font-family:Outfit,Plus Jakarta Sans,sans-serif;font-weight:700}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#d4d4d8;border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:#a1a1aa}.erp-layout{background:var(--bg-main);min-height:100vh;display:flex}.erp-sidebar{background:var(--bg-sidebar);width:260px;color:var(--text-sidebar);z-index:40;border-right:1px solid var(--gray-800);flex-direction:column;flex-shrink:0;height:100vh;display:flex;position:sticky;top:0}.erp-main{flex-direction:column;flex:1;min-width:0;display:flex;overflow-y:auto}.erp-header{border-bottom:1px solid var(--border-subtle);z-index:30;background:#fff;justify-content:space-between;align-items:center;height:64px;padding:0 32px;display:flex;position:sticky;top:0}.erp-content{flex:1;width:100%;max-width:1560px;margin:0 auto;padding:32px}.sidebar-brand{border-bottom:1px solid var(--gray-800);align-items:center;gap:12px;padding:22px 20px;display:flex}.brand-icon{border-radius:var(--radius-md);background:var(--red-primary);color:#fff;justify-content:center;align-items:center;width:38px;height:38px;font-size:19px;font-weight:800;display:flex}.brand-info h2{color:#fff;letter-spacing:-.01em;font-size:16px;font-weight:800;line-height:1.2}.brand-info p{color:var(--gray-400);font-size:11px;font-weight:500}.sidebar-nav{flex-direction:column;flex:1;gap:3px;padding:16px 12px;display:flex;overflow-y:auto}.sidebar-section-title{text-transform:uppercase;color:var(--gray-500);letter-spacing:.08em;padding:12px 10px 6px;font-size:10.5px;font-weight:700}.nav-link{color:var(--gray-400);border-radius:var(--radius-md);transition:all var(--transition-fast);align-items:center;gap:11px;padding:9px 12px;font-size:13.5px;font-weight:500;display:flex}.nav-link:hover{background:var(--gray-800);color:#fff}.nav-link.active{background:var(--gray-800);color:#fff;font-weight:600;position:relative}.nav-link.active:before{content:"";background:var(--red-primary);border-radius:0 2px 2px 0;width:3px;position:absolute;top:6px;bottom:6px;left:0}.sidebar-footer{border-top:1px solid var(--gray-800);background:#000;align-items:center;gap:10px;padding:14px 18px;display:flex}.card{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);transition:border-color var(--transition-fast);background:#fff;overflow:hidden}.card:hover{border-color:var(--gray-300)}.card-header{border-bottom:1px solid var(--border-subtle);background:#fff;justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.card-title{color:var(--black);align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.card-body{padding:22px}.stat-card{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);transition:border-color var(--transition-fast);background:#fff;flex-direction:column;padding:20px;display:flex;position:relative}.stat-card:hover{border-color:var(--gray-300)}.stat-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.stat-title{color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:600}.stat-icon{border-radius:var(--radius-sm);background:var(--gray-100);width:36px;height:36px;color:var(--black);border:1px solid var(--gray-200);justify-content:center;align-items:center;display:flex}.stat-value{color:var(--black);letter-spacing:-.02em;margin-bottom:4px;font-family:Outfit,sans-serif;font-size:26px;font-weight:800;line-height:1.1}.stat-meta{color:var(--gray-500);align-items:center;gap:5px;font-size:12px;display:flex}.btn{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;padding:8px 16px;font-family:Plus Jakarta Sans,sans-serif;font-size:13.5px;font-weight:600;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--red-primary);color:#fff;border-color:var(--red-primary)}.btn-primary:hover{background:var(--red-hover);border-color:var(--red-hover)}.btn-dark{background:var(--black);color:#fff;border-color:var(--black)}.btn-dark:hover{background:var(--gray-800)}.btn-secondary{border-color:var(--border-subtle);color:var(--black);background:#fff}.btn-secondary:hover{background:var(--gray-50);border-color:var(--gray-300)}.btn-danger{background:var(--red-subtle);color:var(--red-dark);border-color:var(--red-border)}.btn-danger:hover{background:var(--red-primary);color:#fff}.btn-sm{border-radius:var(--radius-sm);padding:5px 10px;font-size:12px}.btn-icon{border-radius:var(--radius-sm);width:34px;height:34px;padding:0}.badge{border-radius:var(--radius-sm);letter-spacing:.02em;border:1px solid #0000;align-items:center;gap:5px;padding:3px 8px;font-size:11.5px;font-weight:600;display:inline-flex}.badge-dot{border-radius:50%;width:5px;height:5px}.badge-success{background:var(--gray-100);color:var(--black);border-color:var(--gray-200)}.badge-success .badge-dot{background:var(--black)}.badge-danger{background:var(--red-subtle);color:var(--red-text);border-color:var(--red-border)}.badge-danger .badge-dot{background:var(--red-primary)}.badge-neutral{background:var(--gray-100);color:var(--gray-600);border-color:var(--gray-200)}.badge-neutral .badge-dot{background:var(--gray-400)}.badge-warning{background:var(--gray-100);color:var(--gray-800);border-color:var(--gray-300)}.badge-warning .badge-dot{background:var(--gray-600)}.badge-info{color:var(--black);border-color:var(--gray-300);background:#fff}.badge-info .badge-dot{background:var(--black)}.badge-purple{background:var(--gray-100);color:var(--black);border-color:var(--gray-200)}.badge-purple .badge-dot{background:var(--gray-600)}.table-container{border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:#fff;overflow-x:auto}.table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.table th{background:var(--gray-50);color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-subtle);white-space:nowrap;padding:12px 18px;font-size:11.5px;font-weight:600}.table td{border-bottom:1px solid var(--border-subtle);color:var(--black);vertical-align:middle;padding:14px 18px}.table tbody tr{transition:background-color var(--transition-fast)}.table tbody tr:hover{background-color:var(--gray-50)}.table tbody tr:last-child td{border-bottom:none}.form-group{flex-direction:column;gap:5px;margin-bottom:16px;display:flex}.form-label{color:var(--black);font-size:12.5px;font-weight:600}.form-input,.form-select,.form-textarea{width:100%;color:var(--black);border:1px solid var(--gray-300);border-radius:var(--radius-md);transition:border-color var(--transition-fast);background:#fff;outline:none;padding:9px 12px;font-family:inherit;font-size:13.5px}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--black);box-shadow:0 0 0 1px var(--black)}.form-textarea{resize:vertical;min-height:80px}.form-helper{color:var(--gray-500);font-size:11.5px}.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#09090bb3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--gray-300);background:#fff;width:100%;max-width:620px;max-height:90vh;overflow-y:auto}.modal-header{border-bottom:1px solid var(--border-subtle);z-index:10;background:#fff;justify-content:space-between;align-items:center;padding:18px 24px;display:flex;position:sticky;top:0}.modal-title{color:var(--black);font-size:17px;font-weight:700}.modal-body{padding:24px}.modal-footer{border-top:1px solid var(--border-subtle);background:var(--gray-50);justify-content:flex-end;align-items:center;gap:10px;padding:16px 24px;display:flex}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.flex-between{justify-content:space-between;align-items:center;display:flex}.flex-center{justify-content:center;align-items:center;display:flex}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}@media (max-width:1024px){.grid-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3,.grid-cols-2{grid-template-columns:repeat(1,minmax(0,1fr))}}@media (max-width:768px){.erp-sidebar{display:none}.erp-header{padding:0 16px}.erp-content{padding:16px}.grid-cols-4,.form-grid-2,.form-grid-3{grid-template-columns:repeat(1,minmax(0,1fr))}}
