:root{--inv-primary:#6366f1;--inv-primary-dark:#4f46e5;--inv-primary-darker:#4338ca;--inv-violet:#7c3aed;--inv-purple:#9333ea;--inv-success:#10b981;--inv-success-bg:#d1fae5;--inv-success-text:#065f46;--inv-warning:#f59e0b;--inv-warning-bg:#fef3c7;--inv-warning-text:#92400e;--inv-danger:#ef4444;--inv-danger-bg:#fee2e2;--inv-danger-text:#991b1b;--inv-info:#06b6d4;--inv-info-bg:#cffafe;--inv-info-text:#155e75;--inv-muted:#6b7280;--inv-text:#111827;--inv-border:#eef2ff;--inv-border-soft:#f1f5f9;--inv-bg-soft:#fafbff;--inv-shadow-sm:0 1px 3px rgba(0,0,0,.04);--inv-shadow-md:0 8px 20px rgba(0,0,0,.08);--inv-shadow-lg:0 10px 30px rgba(79,70,229,.25);--inv-radius-card:14px;--inv-radius-header:18px}.inv-container{max-width:1400px;margin:0 auto;padding:0 1.5rem 3rem}.inv-container.narrow{max-width:900px}.inv-header{background:linear-gradient(135deg,var(--inv-primary-dark) 0%,var(--inv-violet) 50%,var(--inv-purple) 100%);border-radius:var(--inv-radius-header);padding:1.75rem 2rem;margin:1.5rem 0 1.75rem;box-shadow:var(--inv-shadow-lg);color:#fff;position:relative;overflow:hidden}.inv-header::before{content:"";position:absolute;right:-60px;top:-60px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.18) 0%,transparent 70%);pointer-events:none}.inv-header-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;position:relative}.inv-title{font-size:1.7rem;font-weight:700;margin:0;display:flex;align-items:center;gap:.65rem}.inv-title i{font-size:1.5rem}.inv-subtitle{margin:.25rem 0 0;opacity:.85;font-size:.92rem}.inv-header-actions{display:flex;gap:.5rem;flex-wrap:wrap}.inv-header-actions .btn,.inv-header-actions a.btn{background:rgba(255,255,255,.18);color:#fff;border:1px solid rgba(255,255,255,.28);font-weight:600;padding:.55rem 1rem;border-radius:10px;backdrop-filter:blur(8px);transition:all .15s}.inv-header-actions .btn:hover,.inv-header-actions a.btn:hover{background:rgba(255,255,255,.28);color:#fff;transform:translateY(-1px)}.inv-header-actions .btn-primary-on-grad,.inv-header-actions a.btn-primary-on-grad{background:#fff;color:var(--inv-primary-dark);border-color:#fff}.inv-header-actions .btn-primary-on-grad:hover,.inv-header-actions a.btn-primary-on-grad:hover{background:#f9fafb;color:var(--inv-primary-darker)}.inv-header-actions .dropdown-menu{border-radius:10px;border:1px solid #e5e7eb;box-shadow:0 8px 24px rgba(0,0,0,.12);margin-top:6px}.inv-header.compact{padding:1.25rem 1.75rem;margin-bottom:1.25rem}.inv-header.compact .inv-title{font-size:1.35rem}.inv-header.compact .inv-title i{font-size:1.2rem}.inv-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.75rem}@media(max-width:992px){.inv-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:576px){.inv-stats{grid-template-columns:1fr}}.inv-stats.cols-3{grid-template-columns:repeat(3,1fr)}.inv-stats.cols-2{grid-template-columns:repeat(2,1fr)}@media(max-width:992px){.inv-stats.cols-3,.inv-stats.cols-2{grid-template-columns:repeat(2,1fr)}}@media(max-width:576px){.inv-stats.cols-3,.inv-stats.cols-2{grid-template-columns:1fr}}.stat-card{background:#fff;border-radius:var(--inv-radius-card);padding:1.25rem 1.25rem 1rem;border:1px solid var(--inv-border);box-shadow:var(--inv-shadow-sm);position:relative;overflow:hidden;transition:transform .15s,box-shadow .15s}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--inv-shadow-md)}.stat-card::before{content:"";position:absolute;top:0;left:0;height:4px;width:100%;background:var(--accent,var(--inv-primary))}.stat-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.stat-label{font-size:.78rem;font-weight:600;color:var(--inv-muted);text-transform:uppercase;letter-spacing:.04em;margin:0}.stat-value{font-size:2rem;font-weight:700;color:var(--inv-text);margin:.25rem 0 0;line-height:1.1}.stat-value small{font-size:.85rem;font-weight:500;color:var(--inv-muted)}.stat-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--accent-bg,var(--inv-border));color:var(--accent,var(--inv-primary));font-size:1.25rem}.stat-link{display:inline-flex;align-items:center;gap:.25rem;font-size:.82rem;font-weight:600;color:var(--accent,var(--inv-primary));text-decoration:none;margin-top:.75rem}.stat-link:hover{color:var(--accent-hover,var(--inv-primary-darker));gap:.5rem}.stat-card.primary{--accent:#6366f1;--accent-bg:#eef2ff;--accent-hover:#4338ca}.stat-card.success{--accent:#10b981;--accent-bg:#d1fae5;--accent-hover:#047857}.stat-card.warning{--accent:#f59e0b;--accent-bg:#fef3c7;--accent-hover:#b45309}.stat-card.danger{--accent:#ef4444;--accent-bg:#fee2e2;--accent-hover:#b91c1c}.stat-card.info{--accent:#06b6d4;--accent-bg:#cffafe;--accent-hover:#0e7490}.stat-card.muted{--accent:#9ca3af;--accent-bg:#f3f4f6;--accent-hover:#6b7280}.inv-card{background:#fff;border-radius:var(--inv-radius-card);border:1px solid var(--inv-border);box-shadow:var(--inv-shadow-sm);overflow:hidden}.inv-card-head{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--inv-border-soft);background:#fff;gap:1rem;flex-wrap:wrap}.inv-card-title{font-size:1rem;font-weight:700;margin:0;color:var(--inv-text);display:flex;align-items:center;gap:.5rem}.inv-card-title i{color:var(--inv-primary)}.inv-card-subtitle{font-size:.8rem;color:var(--inv-muted);margin:.15rem 0 0}.inv-card-body{padding:0}.inv-card-body.padded{padding:1.5rem}.inv-card-body.padded-sm{padding:1rem 1.25rem}.inv-section-title{font-size:.78rem;font-weight:700;color:var(--inv-muted);text-transform:uppercase;letter-spacing:.04em;margin:1.5rem 0 1rem;display:flex;align-items:center;gap:.5rem}.inv-section-title:first-child{margin-top:0}.inv-section-title i{color:var(--inv-primary)}.inv-form .form-label{font-weight:600;color:#374151;font-size:.88rem;margin-bottom:.35rem}.inv-form .form-label .text-danger{font-weight:700}.inv-form .form-control,.inv-form .form-select{border-radius:10px;border:1px solid #e5e7eb;padding:.55rem .85rem;font-size:.92rem;transition:border-color .15s,box-shadow .15s}.inv-form .form-control:focus,.inv-form .form-select:focus{border-color:var(--inv-primary);box-shadow:0 0 0 3px rgba(99,102,241,.15)}.inv-form .input-group-text{background:#f9fafb;border-color:#e5e7eb;color:#6b7280;border-radius:10px;font-weight:600;font-size:.92rem}.inv-form .input-group .form-control,.inv-form .input-group .form-select{border-radius:0 10px 10px 0}.inv-form .input-group .input-group-text:first-child{border-radius:10px 0 0 10px}.inv-form .input-group>.btn{border-radius:0 10px 10px 0}.inv-form .input-group>.btn~.btn{border-radius:0 10px 10px 0;margin-left:0}.inv-form .form-check-input:checked{background-color:var(--inv-primary);border-color:var(--inv-primary)}.inv-form .form-switch .form-check-input{width:2.5em;height:1.25em}.inv-form-card{background:#fff;border:1px solid var(--inv-border);border-radius:var(--inv-radius-card);box-shadow:var(--inv-shadow-sm);padding:1.75rem}@media(max-width:576px){.inv-form-card{padding:1.25rem}}.inv-form-footer{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding-top:1.25rem;margin-top:1.5rem;border-top:1px solid var(--inv-border-soft);flex-wrap:wrap}.btn-inv-primary{background:var(--inv-primary);border-color:var(--inv-primary);color:#fff;font-weight:600;border-radius:10px;padding:.55rem 1.1rem;transition:all .15s}.btn-inv-primary:hover{background:var(--inv-primary-darker);border-color:var(--inv-primary-darker);color:#fff}.btn-inv-outline{background:#fff;color:var(--inv-primary-dark);border:1px solid #e5e7eb;font-weight:600;border-radius:10px;padding:.55rem 1.1rem;transition:all .15s}.btn-inv-outline:hover{background:#f9fafb;border-color:#c7d2fe;color:var(--inv-primary-darker)}.inv-table{width:100%;margin:0}.inv-table thead th{background:var(--inv-bg-soft);color:var(--inv-muted);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.75rem 1rem;border-bottom:1px solid var(--inv-border-soft);white-space:nowrap}.inv-table tbody td{padding:.85rem 1rem;border-bottom:1px solid #f5f7fb;vertical-align:middle}.inv-table tbody tr:last-child td{border-bottom:0}.inv-table tbody tr:hover{background:var(--inv-bg-soft)}.inv-table code{background:#f3f4f6;color:var(--inv-primary-darker);padding:2px 7px;border-radius:6px;font-size:.78rem;font-weight:600}.inv-pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em}.inv-pill.success{background:var(--inv-success-bg);color:var(--inv-success-text)}.inv-pill.warning{background:var(--inv-warning-bg);color:var(--inv-warning-text)}.inv-pill.danger{background:var(--inv-danger-bg);color:var(--inv-danger-text)}.inv-pill.info{background:var(--inv-info-bg);color:var(--inv-info-text)}.inv-pill.primary{background:#eef2ff;color:var(--inv-primary-darker)}.inv-pill.muted{background:#f3f4f6;color:#374151}.pill,.inv-pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em}.pill-receive{background:var(--inv-success-bg);color:var(--inv-success-text)}.pill-ship{background:var(--inv-warning-bg);color:var(--inv-warning-text)}.pill-transfer{background:var(--inv-info-bg);color:var(--inv-info-text)}.pill-adjust{background:#e5e7eb;color:#374151}.pill-return{background:#dbeafe;color:#1e40af}.pill-writeoff{background:var(--inv-danger-bg);color:var(--inv-danger-text)}.inv-empty{text-align:center;padding:3rem 1.25rem;color:var(--inv-muted)}.inv-empty i{font-size:2.75rem;color:#d1d5db}.inv-empty p{margin:.75rem 0 1.25rem;font-size:.95rem}.inv-alert{display:flex;align-items:center;gap:.65rem;padding:.85rem 1.1rem;border-radius:12px;margin-bottom:1rem;font-weight:500;border:1px solid transparent}.inv-alert.success{background:var(--inv-success-bg);color:var(--inv-success-text);border-color:#a7f3d0}.inv-alert.danger{background:var(--inv-danger-bg);color:var(--inv-danger-text);border-color:#fecaca}.inv-alert.warning{background:var(--inv-warning-bg);color:var(--inv-warning-text);border-color:#fde68a}.inv-alert .btn-close{margin-left:auto}.inv-grid{display:grid;grid-template-columns:2fr 1fr;gap:1.25rem}@media(max-width:992px){.inv-grid{grid-template-columns:1fr}}.inv-filter-bar{background:#fff;border:1px solid var(--inv-border);border-radius:var(--inv-radius-card);padding:1rem 1.25rem;margin-bottom:1rem;box-shadow:var(--inv-shadow-sm)}.stock-progress{height:6px;background:#f3f4f6;border-radius:999px;overflow:hidden}.stock-progress .bar{height:100%;border-radius:999px;transition:width .3s}.bar-danger{background:linear-gradient(90deg,#ef4444,#dc2626)}.bar-warning{background:linear-gradient(90deg,#f59e0b,#d97706)}.bar-info{background:linear-gradient(90deg,#06b6d4,#0891b2)}.bar-success{background:linear-gradient(90deg,#10b981,#059669)}.qa-grid{display:grid;gap:.5rem}.qa-btn{display:flex;align-items:center;gap:.75rem;padding:.75rem .9rem;border-radius:10px;background:#f9fafb;border:1px solid var(--inv-border-soft);color:#374151;font-weight:600;font-size:.9rem;text-decoration:none;transition:all .15s;position:relative}.qa-btn:hover{background:#eef2ff;border-color:#c7d2fe;color:var(--inv-primary-darker);transform:translateX(2px)}.qa-btn i.qa-icon{font-size:1.1rem;width:28px;text-align:center}.qa-btn.success i.qa-icon{color:var(--inv-success)}.qa-btn.warning i.qa-icon{color:var(--inv-warning)}.qa-btn.info i.qa-icon{color:var(--inv-info)}.qa-btn.muted i.qa-icon{color:var(--inv-muted)}.qa-btn.primary i.qa-icon{color:var(--inv-primary)}.qa-btn .qa-badge{margin-left:auto;background:var(--inv-danger);color:#fff;font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:999px}.low-card{border:1px solid #fecaca}.low-card .inv-card-head{background:linear-gradient(135deg,var(--inv-danger) 0%,#dc2626 100%);color:#fff;border-bottom:0}.low-card .inv-card-title,.low-card .inv-card-title i{color:#fff}.low-count-badge{background:rgba(255,255,255,.25);color:#fff;padding:4px 12px;border-radius:999px;font-size:.78rem;font-weight:700;border:1px solid rgba(255,255,255,.35)}.wh-row{display:flex;justify-content:space-between;align-items:center;padding:.55rem 0;font-size:.9rem}.wh-row+.wh-row{border-top:1px dashed #e5e7eb}.wh-row .label{color:var(--inv-muted)}.wh-row .value{font-weight:700;color:var(--inv-text)}.wh-row .value.money{color:#059669}