:root{--bg:#f5f8fb;--surface:#fff;--surface-2:#f8fafc;--text:#1d2733;--muted:#7f8b99;--line:#e7edf3;--primary:#31b9ee;--primary-2:#1ca5dd;--success:#2bc48a;--warning:#f5b64c;--danger:#ef6d6d;--sidebar-width:220px;--sidebar-collapsed:74px;--shadow:0 8px 28px #1f374e0f;--radius:12px}*{box-sizing:border-box}html,body{min-height:100%;color:var(--text);background:var(--bg);margin:0;font-family:Inter,Segoe UI,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}.app{grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh;transition:grid-template-columns .25s;display:grid}.app.sidebar-collapsed{grid-template-columns:var(--sidebar-collapsed) 1fr}.sidebar{background:var(--surface);border-right:1px solid var(--line);z-index:30;height:100vh;min-height:100vh;transition:width .25s,transform .25s;position:sticky;top:0;overflow:hidden}.sidebar-inner{box-sizing:border-box;flex-direction:column;height:100vh;padding:14px 12px;display:flex}.brand{border-bottom:1px solid var(--line);white-space:nowrap;flex-shrink:0;align-items:center;gap:10px;min-height:54px;padding:4px 8px 14px;display:flex}.logo-mark{color:#fff;background:linear-gradient(145deg,#2563eb,#22c4ee);border-radius:10px;place-items:center;width:34px;min-width:34px;height:34px;font-size:20px;font-weight:900;display:grid;box-shadow:0 8px 18px #2563eb38}.brand-title{letter-spacing:.5px;font-size:13px;font-weight:800}.brand-sub{color:var(--muted);margin-top:2px;font-size:10px}.collapse-btn{border:1px solid var(--line);color:#8995a3;cursor:pointer;background:#fff;border-radius:8px;width:28px;height:28px;margin-left:auto}.sidebar-collapsed .brand-copy,.sidebar-collapsed .nav-label,.sidebar-collapsed .section-title,.sidebar-collapsed .submenu,.sidebar-collapsed .profile-copy,.sidebar-collapsed .profile-arrow{display:none}.sidebar-collapsed .collapse-btn{margin-left:0;transform:rotate(180deg)}.sidebar-collapsed .brand{justify-content:center;gap:4px;padding-inline:0}.sidebar-collapsed .sidebar-inner{padding-inline:9px}.section-title{color:#a3adb8;text-transform:uppercase;letter-spacing:.9px;flex-shrink:0;padding:18px 10px 8px;font-size:10px}.nav{flex-direction:column;flex:auto;gap:3px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.nav::-webkit-scrollbar{width:4px}.nav::-webkit-scrollbar-track{background:0 0}.nav::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.nav::-webkit-scrollbar-thumb:hover{background:#94a3b8}.nav-item{color:#65717e;white-space:nowrap;border-radius:7px;align-items:center;gap:10px;min-height:39px;padding:0 10px;font-size:12px;transition:background .15s,color .15s;display:flex;position:relative}.nav-item .ico{text-align:center;color:#667784;width:20px;min-width:20px;font-size:16px}.nav-item .caret{margin-left:auto;font-size:12px}.nav-item:hover{color:#24313f;background:#f5f9fc}.nav-item.parent-active{color:var(--primary);background:#31b9ee14;font-weight:600}.nav-item.parent-active .ico{color:var(--primary)}.nav-item.active{color:#fff;background:linear-gradient(90deg,#31b9ee,#49c3f0);box-shadow:0 8px 18px #31b9ee38}.nav-item.active .ico{color:#fff}.sidebar-collapsed .nav-item{justify-content:center;padding:0}.sidebar-collapsed .nav-item .caret{display:none}.submenu{border-left:1px solid #e5ebf0;margin:2px 0 6px 28px;padding-left:10px}.submenu a{color:#6c7986;border-radius:6px;padding:7px 8px;font-size:11px;transition:background .15s,color .15s;display:block}.submenu a.active{color:#0284c7;background:#e0f2fe;font-weight:700}.submenu a:hover{background:#f6fafc}.profile{border-top:1px solid var(--line);white-space:nowrap;align-items:center;gap:9px;margin-top:auto;padding:12px 7px 2px;display:flex}.avatar{background:linear-gradient(145deg,#ffd9a8,#f9a96e);border-radius:50%;place-items:center;width:32px;min-width:32px;height:32px;font-size:17px;display:grid}.profile-name{font-size:11px;font-weight:700}.profile-email{color:var(--muted);margin-top:3px;font-size:9px}.profile-arrow{color:#96a1ac;margin-left:auto}.main{flex-direction:column;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--line);z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff2;align-items:center;height:76px;padding:0 22px;display:flex;position:sticky;top:0}.mobile-menu{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;width:38px;height:38px;margin-right:12px;display:none}.breadcrumb{color:#8995a3;align-items:center;margin-top:6px;font-size:11px;display:flex}.breadcrumb-link{color:var(--primary);font-weight:500;text-decoration:none;transition:color .15s}.breadcrumb-link:hover{color:var(--primary-dark,#0284c7);text-decoration:underline}.breadcrumb-separator{color:#cbd5e1;margin:0 2px}.breadcrumb-current{color:#64748b;font-weight:500}.top-actions{gap:10px;margin-left:auto;display:flex}.icon-btn{border:1px solid var(--line);cursor:pointer;color:#65727f;background:#fff;border-radius:9px;width:38px;height:38px;box-shadow:0 3px 10px #1f374e08}.content{width:100%;max-width:1600px;margin:0 auto;padding:16px 18px 24px}.panel,.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid #edf1f5}.panel-header{border-bottom:1px solid var(--line);align-items:center;gap:9px;min-height:46px;padding:0 15px;font-size:12px;font-weight:700;display:flex}.panel-header .more{color:#98a2ad;margin-left:auto}.product-panel{overflow:hidden}.product-body{grid-template-columns:1.4fr repeat(4,1fr);gap:0;padding:15px;display:grid}.product-intro{grid-template-columns:55px 1fr;gap:10px;padding-right:18px;display:grid}.product-thumb{background:#fff7ed;border-radius:10px;place-items:center;width:48px;height:48px;font-size:28px;display:grid}.product-name{margin-top:4px;font-size:13px;font-weight:800}.product-code{color:#697784;margin-top:4px;font-size:10px}.pill{border-radius:999px;align-items:center;margin-left:6px;padding:2px 7px;font-size:9px;font-weight:700;display:inline-flex}.pill.success{color:#199d6a;background:#dff8ec}.switch-grid{color:#53616e;grid-column:1/-1;grid-template-columns:repeat(2,1fr);gap:4px 12px;margin-top:8px;font-size:9px;display:grid}.toggle-line{justify-content:space-between;align-items:center;display:flex}.toggle{background:#d8dee5;border-radius:20px;width:22px;height:12px;position:relative}.toggle:after{content:"";background:#fff;border-radius:50%;width:8px;height:8px;transition:all .2s;position:absolute;top:2px;left:2px}.toggle.on{background:var(--success)}.toggle.on:after{left:12px}.info-cell{border-left:1px solid var(--line);min-width:0;padding:3px 17px}.info-label{color:#75818d;margin-bottom:7px;font-size:10px}.info-value{white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:800;overflow:hidden}.info-cell .second{margin-top:22px}.metrics{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px;display:grid}.metric{min-height:94px;padding:14px 15px;position:relative}.metric-title{color:#64717e;font-size:10px}.metric-value{margin-top:8px;font-size:18px;font-weight:800}.metric-sub{color:#a0a9b3;margin-top:4px;font-size:9px}.metric-badge{color:#169467;background:#ecfaf4;border-radius:99px;padding:4px 8px;font-size:9px;font-weight:700;position:absolute;bottom:13px;right:12px}.lower-grid{grid-template-columns:290px 1fr;gap:12px;margin-top:12px;display:grid}.stock-panel{padding-bottom:15px}.stock-copy{color:#687581;padding:14px 14px 4px;font-size:11px;line-height:1.5}.stock-mini{grid-template-columns:1fr 1fr;gap:10px;padding:10px 14px;display:grid}.mini-box{border:1px solid var(--line);border-radius:9px;padding:11px}.mini-icon{font-size:18px}.mini-label{color:#7b8792;margin-top:8px;font-size:10px}.mini-val{margin-top:2px;font-size:15px;font-weight:800}.stock-row{padding:2px 14px 10px}.stock-row-head{justify-content:space-between;gap:8px;font-size:10px;display:flex}.stock-row-head b{color:#2ca76f;font-size:9px}.bar-blocks{gap:3px;margin-top:8px;display:flex}.bar-blocks span{background:#dfe5eb;border-radius:3px;width:7px;height:17px;display:block}.bar-blocks span.fill{background:#42c4ec}.bar-blocks span.soft{background:#77d9d3}.stock-foot{justify-content:space-between;margin-top:5px;font-size:11px;font-weight:800;display:flex}.stock-foot .left{color:#2db7e6}.stock-foot .right{color:#4b5560}.tabs-panel{overflow:hidden}.tabs{border-bottom:1px solid var(--line);align-items:end;gap:24px;height:46px;padding:0 18px;display:flex;overflow:auto}.tab{white-space:nowrap;color:#4f5b67;align-items:center;height:46px;font-size:10px;display:flex;position:relative}.tab.active{color:#2b3440;font-weight:700}.tab.active:after{content:"";background:#269bff;height:2px;position:absolute;bottom:0;left:0;right:0}.filterbar{border:1px solid var(--line);color:#51606d;background:#fbfcfd;border-radius:7px;align-items:center;height:31px;margin:10px 14px;padding:0 10px;font-size:10px;font-weight:700;display:flex}.filterbar .chev{margin-left:auto}.table-wrap{padding:0 12px 12px;overflow:auto}table{border-collapse:collapse;width:100%;min-width:720px}th,td{text-align:left;white-space:nowrap;padding:10px 8px;font-size:10px}thead th{color:#697785;background:#f5f7fa;font-weight:600}tbody td{color:#36424e;border-bottom:1px solid #f0f3f6}tbody tr:last-child td{border-bottom:0}td.ref{color:#2788aa;font-weight:700}.overlay{display:none}.login-page{background:radial-gradient(circle at 10% 15%,#31b9ee29,#0000 30%),radial-gradient(circle at 85% 80%,#2bc48a1f,#0000 30%),#f5f8fb;place-items:center;min-height:100vh;padding:24px;display:grid}.login-shell{background:#fff;border:1px solid #e9eef3;border-radius:22px;grid-template-columns:1.05fr .95fr;width:min(980px,100%);min-height:580px;display:grid;overflow:hidden;box-shadow:0 24px 70px #1f374e1f}.login-visual{color:#fff;background:linear-gradient(140deg,#2563ebf0,#2abee5eb),linear-gradient(45deg,#2563eb,#28bcd9);padding:46px;position:relative;overflow:hidden}.login-visual:before,.login-visual:after{content:"";background:#ffffff1c;border-radius:50%;position:absolute}.login-visual:before{width:260px;height:260px;top:-70px;right:-90px}.login-visual:after{width:180px;height:180px;bottom:-60px;left:-60px}.login-brand{z-index:2;align-items:center;gap:12px;display:flex;position:relative}.login-brand .logo-mark{color:#2679d9;box-shadow:none;background:#fff}.login-brand-title{letter-spacing:.7px;font-size:17px;font-weight:900}.login-brand-sub{opacity:.85;margin-top:2px;font-size:11px}.login-visual h1{z-index:2;max-width:440px;margin:100px 0 14px;font-size:34px;line-height:1.12;position:relative}.login-visual p{opacity:.9;z-index:2;max-width:400px;font-size:13px;line-height:1.7;position:relative}.feature-list{z-index:2;gap:12px;margin-top:26px;display:grid;position:relative}.feature{align-items:center;gap:10px;font-size:12px;display:flex}.feature-dot{background:#ffffff2b;border-radius:8px;place-items:center;width:24px;height:24px;display:grid}.login-form-side{place-items:center;padding:40px;display:grid}.login-form{width:min(340px,100%)}.login-form h2{margin:0;font-size:27px}.login-form .intro{color:#85909b;margin:9px 0 28px;font-size:12px;line-height:1.6}.form-group{margin-bottom:16px}.form-label{margin-bottom:7px;font-size:11px;font-weight:700;display:block}.form-input{color:#26323e;background:#fbfcfe;border:1px solid #dfe6ed;border-radius:9px;outline:none;width:100%;height:44px;padding:0 13px}.form-input:focus{background:#fff;border-color:#42bde9;box-shadow:0 0 0 3px #31b9ee1f}.login-options{color:#75818d;justify-content:space-between;align-items:center;margin:2px 0 20px;font-size:10px;display:flex}.login-options label{align-items:center;gap:6px;display:flex}.primary-btn{cursor:pointer;color:#fff;background:linear-gradient(90deg,#27abe1,#38c1ec);border:0;border-radius:9px;width:100%;height:44px;font-weight:800;box-shadow:0 10px 22px #31b9ee40}.demo-note{color:#9aa5af;text-align:center;margin-top:16px;font-size:9px;line-height:1.5}@media (width<=1020px){.product-body{grid-template-columns:1.5fr repeat(2,1fr);row-gap:18px}.info-cell:nth-child(4){border-left:0}.lower-grid{grid-template-columns:1fr}.stock-panel{grid-template-columns:1.2fr 1fr 1fr;align-items:start;display:grid}.stock-panel .panel-header{grid-column:1/-1}.stock-copy{grid-column:1}.stock-mini{grid-column:2}.stock-row{grid-column:3;padding-top:14px}}@media (width<=760px){.app,.app.sidebar-collapsed{display:block}.sidebar{width:min(280px,86vw);position:fixed;top:0;left:0;transform:translate(-105%);box-shadow:14px 0 45px #1f374e26}.app.mobile-open .sidebar{transform:translate(0)}.sidebar-collapsed .brand-copy,.sidebar-collapsed .nav-label,.sidebar-collapsed .section-title,.sidebar-collapsed .profile-copy,.sidebar-collapsed .profile-arrow,.sidebar-collapsed .submenu{display:block}.sidebar-collapsed .nav-item{justify-content:flex-start;padding:0 10px}.sidebar-collapsed .nav-item .caret{display:block}.sidebar-collapsed .brand{justify-content:flex-start;padding:4px 8px 14px}.sidebar-collapsed .collapse-btn{margin-left:auto;transform:none}.mobile-menu{display:block}.overlay{z-index:25;background:#16212c4d;position:fixed;inset:0}.app.mobile-open .overlay{display:block}.topbar{height:66px;padding:0 14px}.content{padding:12px}.page-title{font-size:15px}.breadcrumb{font-size:10px}.product-body{grid-template-columns:1fr 1fr;padding:12px}.product-intro{grid-column:1/-1;padding-bottom:8px}.info-cell{border-left:0;border-top:1px solid var(--line);padding:12px 5px 0}.info-cell:nth-child(2n){border-left:1px solid var(--line);padding-left:12px}.info-cell .second{margin-top:15px}.metrics,.lower-grid{grid-template-columns:1fr}.stock-panel,.stock-panel .panel-header,.stock-copy,.stock-mini,.stock-row{display:block}.stock-mini{display:grid}.stock-row{padding-top:2px}.tabs{gap:18px}.login-shell{grid-template-columns:1fr;max-width:480px;min-height:auto}.login-visual{display:none}.login-form-side{padding:44px 26px}}@media (width<=440px){.top-actions .icon-btn:first-child{display:none}.product-body{grid-template-columns:1fr}.info-cell:nth-child(2n){border-left:0;padding-left:5px}.metric-value{font-size:17px}}.btn{cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;padding:8px 16px;font-size:13px;font-weight:500;transition:all .2s;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-2)}.btn-secondary{border-color:var(--line);color:var(--text);background:#fff}.btn-secondary:hover:not(:disabled){background:var(--surface-2)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){opacity:.9}.table-actions{justify-content:space-between;margin-bottom:16px;padding:15px 15px 0;display:flex}.search-box{width:250px;position:relative}.search-icon{width:16px;color:var(--muted);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-box .form-input{height:38px;padding-left:36px}.action-buttons{justify-content:center;gap:8px;display:flex}.btn-icon-small{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;transition:all .2s;display:flex}.btn-icon-small:hover:not(:disabled){background:var(--surface-2)}.btn-icon-small:disabled{opacity:.5;cursor:not-allowed}.pagination{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:12px;padding:16px 15px;display:flex}.btn-page{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:6px;padding:6px 12px;font-size:12px}.btn-page:hover:not(:disabled){background:var(--surface-2)}.btn-page:disabled{opacity:.5;cursor:not-allowed}.page-info{color:var(--muted);font-size:12px}.modal-overlay{z-index:999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#16212c80;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-content{border-radius:var(--radius);background:#fff;flex-direction:column;width:100%;max-width:550px;max-height:min(90vh,100vh - 32px);margin:auto;display:flex;overflow:hidden;box-shadow:0 16px 40px #0000002e}.modal-content>form{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.modal-header{border-bottom:1px solid var(--line);background:#fff;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-title{margin:0;font-size:16px;font-weight:700}.btn-close{cursor:pointer;color:var(--muted);background:0 0;border:none;font-size:20px;line-height:1}.btn-close:hover{color:var(--text)}.modal-body{-webkit-overflow-scrolling:touch;flex:auto;min-height:0;padding:20px;overflow-y:auto}.modal-footer{border-top:1px solid var(--line);background:#fff;flex-shrink:0;justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.modal-grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=760px){.table-actions{flex-direction:column;gap:12px;align-items:stretch!important;padding:15px 12px 10px!important}.table-actions>div{flex-direction:column;width:100%;align-items:stretch!important}.search-box{width:100%!important}.modal-overlay{align-items:flex-end;padding:8px}.modal-content{border-bottom-right-radius:0;border-bottom-left-radius:0;max-height:94vh;max-width:100%!important}.modal-body{padding:14px}.modal-grid-2{grid-template-columns:1fr!important}.pagination{flex-wrap:wrap;justify-content:center}}.loading-state{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;padding:40px 0;font-size:13px;display:flex}.spinner{border:3px solid var(--line);border-top-color:var(--primary);border-radius:50%;width:24px;height:24px;margin-bottom:12px;animation:1s linear infinite spin}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.has-tooltip{align-items:center;display:inline-flex;position:relative}.has-tooltip .tooltip-text{visibility:hidden;opacity:0;color:#fff;text-align:center;z-index:99999;white-space:normal;pointer-events:none;background-color:#0f172a;border-radius:6px;width:210px;padding:6px 10px;font-size:11px;font-weight:500;line-height:1.4;transition:opacity .2s,transform .2s;position:absolute;bottom:130%;left:50%;transform:translate(-50%);box-shadow:0 4px 15px #00000059}.has-tooltip .tooltip-text:after{content:"";border:5px solid #0000;border-top-color:#0f172a;margin-left:-5px;position:absolute;top:100%;left:50%}.has-tooltip:hover .tooltip-text{visibility:visible;opacity:1;transform:translate(-50%)translateY(-2px)}.swal2-container{z-index:99999!important}.table-sticky-wrapper{overflow-y:auto}.table-sticky-wrapper table{border-collapse:separate!important;border-spacing:0!important}.table-sticky-wrapper thead th{z-index:20!important;background:var(--surface-2,#f8fafc)!important;border-bottom:2px solid var(--line)!important;position:sticky!important;top:0!important}.table-sticky-wrapper tbody td{border-bottom:1px solid var(--line)!important;vertical-align:middle!important}@media print{.no-print,header,nav,aside,.sidebar,.top-bar,.table-actions,.pagination,.modal-header,.modal-footer{display:none!important}body *{visibility:hidden}.printable-area,.printable-area *{visibility:visible!important}.modal-overlay,.modal-content,.modal-body{box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:0 0!important;border:none!important;max-width:100%!important;height:auto!important;max-height:none!important;margin:0!important;padding:0!important;display:block!important;position:static!important;overflow:visible!important}.printable-area{font-size:12px;color:#000!important;box-sizing:border-box!important;background:#fff!important;width:100%!important;margin:0!important;padding:0!important;position:absolute!important;top:0!important;left:0!important}}.payroll-container{flex-direction:column;gap:16px;display:flex}.payroll-header-actions{background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.payroll-tabs-header{border-bottom:2px solid var(--line);background:var(--surface);gap:8px;padding:0 20px;display:flex}.payroll-tab-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;align-items:center;gap:8px;margin-bottom:-2px;padding:12px 18px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.payroll-tab-btn:hover{color:var(--primary)}.payroll-tab-btn.active{color:var(--primary);border-bottom-color:var(--primary);background:#31b9ee0a}.payroll-tab-badge{background:var(--surface-2);color:var(--text);border-radius:12px;padding:2px 7px;font-size:11px;font-weight:700}.payroll-tab-btn.active .payroll-tab-badge{background:var(--primary);color:#fff}.payroll-tab-content{background:var(--surface);padding:20px}.payroll-checklist-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.payroll-item-card{border:1px solid var(--line);background:var(--surface);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:10px;align-items:flex-start;gap:12px;padding:14px 16px;transition:all .2s;display:flex}.payroll-item-card:hover{border-color:var(--primary);box-shadow:0 2px 8px #0000000a}.payroll-item-card.is-selected{border-color:var(--primary);background:#31b9ee0d}.payroll-item-info{flex:1}.payroll-item-code{color:var(--muted);font-family:monospace;font-size:11px;font-weight:700}.payroll-item-name{color:var(--text);margin-top:2px;font-size:13px;font-weight:700}.payroll-item-value{margin-top:4px;font-size:12px;font-weight:700}.payroll-item-value.is-penambah{color:#16a34a}.payroll-item-value.is-pengurang{color:#dc2626}.payroll-employee-table{border-collapse:collapse;width:100%}.payroll-employee-table th{background:var(--surface-2);text-align:left;border-bottom:1px solid var(--line);padding:10px 14px;font-size:12px;font-weight:700}.payroll-employee-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:10px 14px;font-size:13px}.payroll-gaji-input{border:1px solid var(--line);text-align:right;background:var(--surface);width:180px;color:var(--text);border-radius:6px;padding:6px 10px;font-size:13px;font-weight:600}.payroll-gaji-input:focus{border-color:var(--primary);outline:none}.payroll-modal-filter-bar{flex-wrap:wrap;gap:12px;margin-bottom:14px;display:flex}.payroll-metrics-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:20px;display:grid}.payroll-metric-card{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;flex-direction:column;padding:14px 16px;display:flex}.payroll-metric-title{text-transform:uppercase;color:var(--muted);letter-spacing:.5px;font-size:11px;font-weight:700}.payroll-metric-value{color:var(--text);margin-top:6px;font-size:18px;font-weight:800}.payroll-metric-value.is-income{color:#16a34a}.payroll-metric-value.is-deduction{color:#dc2626}.payroll-metric-value.is-net{color:var(--primary)}.payroll-slip-paper{color:#1f2937;border:1px solid var(--line);background:#fff;border-radius:8px;padding:24px;font-family:inherit;font-size:12px}.payroll-slip-header{border-bottom:2px solid #e5e7eb;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:12px;display:flex}.payroll-slip-table{border-collapse:collapse;width:100%;margin-bottom:14px}.payroll-slip-table th,.payroll-slip-table td{border-bottom:1px solid #f3f4f6;padding:6px 8px;font-size:12px}.payroll-slip-table th{text-align:left;background:#f9fafb;font-weight:700}@media print{body *{visibility:hidden}.payroll-slip-paper,.payroll-slip-paper *{visibility:visible}.payroll-slip-paper{border:none;width:100%;padding:0;position:absolute;top:0;left:0}.modal-overlay,.modal-header,.btn-close,.payroll-no-print{display:none!important}}.command-palette-backdrop[data-v-e748a291]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#0f172a73;justify-content:center;align-items:flex-start;padding:80px 16px 24px;display:flex;position:fixed;inset:0}.command-palette-container[data-v-e748a291]{background:var(--surface,#fff);border:1px solid var(--line,#e2e8f0);border-radius:var(--radius,12px);flex-direction:column;width:100%;max-width:620px;animation:.18s cubic-bezier(.16,1,.3,1) slideDown-e748a291;display:flex;overflow:hidden;box-shadow:0 20px 40px -10px #0000002e,0 0 1px #0000001a}@keyframes slideDown-e748a291{0%{opacity:0;transform:translateY(-12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.palette-header[data-v-e748a291]{border-bottom:1px solid var(--line,#e2e8f0);background:var(--surface,#fff);align-items:center;gap:12px;padding:14px 18px;display:flex}.palette-search-icon[data-v-e748a291]{color:var(--muted,#64748b);flex-shrink:0}.palette-input[data-v-e748a291]{color:var(--text,#1e293b);background:0 0;border:none;outline:none;flex:1;font-size:15px;line-height:1.5}.palette-input[data-v-e748a291]::placeholder{color:var(--muted,#94a3b8);font-size:14px}.header-badges[data-v-e748a291]{align-items:center;gap:8px;display:flex}.clear-search-btn[data-v-e748a291]{color:var(--muted,#94a3b8);cursor:pointer;border-radius:4px;padding:2px 6px;font-size:13px;line-height:1}.clear-search-btn[data-v-e748a291]:hover{background:var(--surface-2,#f1f5f9);color:var(--text,#1e293b)}.palette-kbd[data-v-e748a291]{background:var(--surface-2,#f1f5f9);border:1px solid var(--line,#cbd5e1);color:var(--muted,#64748b);border-radius:4px;padding:3px 6px;font-size:11px;font-weight:600;box-shadow:0 1px #0000000f}.palette-body[data-v-e748a291]{max-height:380px;padding:8px;overflow-y:auto}.palette-section-header[data-v-e748a291]{justify-content:space-between;align-items:center;padding:8px 12px 6px;display:flex}.palette-section-title[data-v-e748a291]{text-transform:uppercase;letter-spacing:.05em;color:var(--muted,#64748b);align-items:center;font-size:11px;font-weight:700;display:flex}.clear-history-btn[data-v-e748a291]{color:var(--muted,#94a3b8);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:11px}.clear-history-btn[data-v-e748a291]:hover{color:var(--danger,#ef4444);background:#ef444414}.palette-item[data-v-e748a291]{cursor:pointer;border:1px solid #0000;border-radius:8px;align-items:center;gap:12px;padding:10px 12px;transition:background-color .12s,border-color .12s;display:flex}.palette-item.is-active[data-v-e748a291]{background:var(--surface-2,#f8fafc);border-color:var(--line,#e2e8f0)}.palette-item[data-v-e748a291]:hover{background:var(--surface-2,#f8fafc)}.item-icon-wrapper[data-v-e748a291]{background:var(--surface,#fff);border:1px solid var(--line,#e2e8f0);width:32px;height:32px;color:var(--primary,#31b9ee);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.palette-item.is-active .item-icon-wrapper[data-v-e748a291]{background:var(--primary,#31b9ee);color:#fff;border-color:var(--primary,#31b9ee)}.item-content[data-v-e748a291]{flex:1;min-width:0}.item-title[data-v-e748a291]{color:var(--text,#1e293b);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;overflow:hidden}.item-breadcrumb[data-v-e748a291]{color:var(--muted,#64748b);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11.5px;overflow:hidden}.item-meta[data-v-e748a291]{flex-shrink:0;align-items:center;gap:8px;display:flex}.access-badge[data-v-e748a291]{letter-spacing:.02em;border-radius:12px;padding:2px 7px;font-size:10px;font-weight:600}.badge-full[data-v-e748a291]{color:#1e9968;background:#2bc48a1f;border:1px solid #2bc48a40}.badge-view[data-v-e748a291]{color:var(--muted,#64748b);background:#7f8b991f;border:1px solid #7f8b9940}.item-arrow[data-v-e748a291]{color:var(--muted,#94a3b8);opacity:0;transition:all .15s;transform:translate(-4px)}.palette-item.is-active .item-arrow[data-v-e748a291]{opacity:1;color:var(--primary,#31b9ee);transform:translate(0)}[data-v-e748a291] .highlight{color:var(--text,#0f172a);background:#31b9ee38;border-radius:2px;padding:0 2px;font-weight:700}.palette-empty-prompt[data-v-e748a291]{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:40px 20px;display:flex}.prompt-icon[data-v-e748a291]{color:var(--muted,#94a3b8);opacity:.7;margin-bottom:12px}.prompt-text[data-v-e748a291]{color:var(--text,#1e293b);font-size:14px;font-weight:600}.prompt-subtext[data-v-e748a291]{color:var(--muted,#64748b);max-width:320px;margin-top:4px;font-size:12px}.palette-footer[data-v-e748a291]{background:var(--surface-2,#f8fafc);border-top:1px solid var(--line,#e2e8f0);color:var(--muted,#64748b);align-items:center;gap:16px;padding:10px 18px;font-size:11.5px;display:flex}.footer-tip[data-v-e748a291]{align-items:center;gap:5px;display:flex}.key-hint[data-v-e748a291]{background:var(--surface,#fff);border:1px solid var(--line,#cbd5e1);color:var(--text,#1e293b);border-radius:3px;padding:2px 5px;font-family:inherit;font-size:10px;font-weight:600;box-shadow:0 1px #0000000d}.fade-enter-active[data-v-e748a291],.fade-leave-active[data-v-e748a291]{transition:opacity .15s}.fade-enter-from[data-v-e748a291],.fade-leave-to[data-v-e748a291]{opacity:0}.grid-stack{position:relative}.grid-stack-placeholder>.placeholder-content{background-color:#0000001a;width:auto;margin:0;position:absolute;z-index:0!important}.grid-stack>.grid-stack-item{width:var(--gs-column-width);height:var(--gs-cell-height);padding:0;position:absolute;top:0}.grid-stack>.grid-stack-item>.grid-stack-item-content{width:auto;margin:0;position:absolute;overflow:hidden auto}.grid-stack>.grid-stack-item.size-to-content:not(.size-to-content-max)>.grid-stack-item-content{overflow-y:hidden}.grid-stack:not(.grid-stack-rtl)>.grid-stack-item{left:0}.grid-stack.grid-stack-rtl>.grid-stack-item{right:0}.grid-stack>.grid-stack-item>.grid-stack-item-content,.grid-stack>.grid-stack-placeholder>.placeholder-content{top:var(--gs-item-margin-top);right:var(--gs-item-margin-right);bottom:var(--gs-item-margin-bottom);left:var(--gs-item-margin-left)}.grid-stack-item>.ui-resizable-handle{-ms-touch-action:none;touch-action:none;-webkit-user-select:none;user-select:none;z-index:100;font-size:.1px;display:block;position:absolute}.grid-stack-item.ui-resizable-autohide>.ui-resizable-handle,.grid-stack-item.ui-resizable-disabled>.ui-resizable-handle{display:none}.grid-stack-item>.ui-resizable-ne,.grid-stack-item>.ui-resizable-nw,.grid-stack-item>.ui-resizable-se,.grid-stack-item>.ui-resizable-sw{z-index:101;background-image:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" stroke=\"%23666\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" viewBox=\"0 0 20 20\"><path d=\"m10 3 2 2H8l2-2v14l-2-2h4l-2 2\"/></svg>");background-position:50%;background-repeat:no-repeat}.grid-stack-item>.ui-resizable-ne,.grid-stack-item>.ui-resizable-sw{transform:rotate(45deg)}.grid-stack-item>.ui-resizable-nw,.grid-stack-item>.ui-resizable-se{transform:rotate(-45deg)}.grid-stack-item>.ui-resizable-nw{cursor:nw-resize;width:20px;height:20px;top:var(--gs-item-margin-top);left:var(--gs-item-margin-left)}.grid-stack-item>.ui-resizable-n{cursor:n-resize;height:10px;top:var(--gs-item-margin-top);left:25px;right:25px}.grid-stack-item>.ui-resizable-ne{cursor:ne-resize;width:20px;height:20px;top:var(--gs-item-margin-top);right:var(--gs-item-margin-right)}.grid-stack-item>.ui-resizable-e{cursor:e-resize;width:10px;top:15px;bottom:15px;right:var(--gs-item-margin-right)}.grid-stack-item>.ui-resizable-se{cursor:se-resize;width:20px;height:20px;bottom:var(--gs-item-margin-bottom);right:var(--gs-item-margin-right)}.grid-stack-item>.ui-resizable-s{cursor:s-resize;height:10px;left:25px;bottom:var(--gs-item-margin-bottom);right:25px}.grid-stack-item>.ui-resizable-sw{cursor:sw-resize;width:20px;height:20px;bottom:var(--gs-item-margin-bottom);left:var(--gs-item-margin-left)}.grid-stack-item>.ui-resizable-w{cursor:w-resize;width:10px;top:15px;bottom:15px;left:var(--gs-item-margin-left)}.grid-stack-item.ui-draggable-dragging>.ui-resizable-handle{display:none!important}.grid-stack-item.ui-draggable-dragging{will-change:left,right,top}.grid-stack-item.ui-resizable-resizing{will-change:width,height}.ui-draggable-dragging,.ui-resizable-resizing{z-index:10000}.ui-draggable-dragging>.grid-stack-item-content,.ui-resizable-resizing>.grid-stack-item-content{opacity:.8;box-shadow:1px 4px 6px #0003}.grid-stack-animate,.grid-stack-animate .grid-stack-item{transition:left .3s,right .3s,top .3s,height .3s,width .3s}.grid-stack-animate .grid-stack-item.grid-stack-placeholder,.grid-stack-animate .grid-stack-item.ui-draggable-dragging,.grid-stack-animate .grid-stack-item.ui-resizable-resizing{transition:left,right,top,height,width}.grid-stack>.grid-stack-item[gs-y="0"]{top:0}.grid-stack:not(.grid-stack-rtl)>.grid-stack-item[gs-x="0"]{left:0}.grid-stack.grid-stack-rtl>.grid-stack-item[gs-x="0"]{right:0}.gs-print-show{display:none}@media print{@page gs-landscape{size:landscape}@page gs-portrait{size:portrait}.grid-stack{height:auto!important;display:block!important;position:static!important}.grid-stack>.grid-stack-item{float:left!important;height:auto!important;width:calc(100% * var(--gs-w)/ var(--gs-columns,12))!important;break-inside:avoid!important;page-break-inside:avoid!important;display:block!important;position:static!important;top:auto!important;left:auto!important}.grid-stack>.grid-stack-item>.grid-stack-item-content{white-space:normal!important;height:auto!important;margin-top:var(--gs-item-margin-top)!important;margin-right:var(--gs-item-margin-right)!important;margin-bottom:var(--gs-item-margin-bottom)!important;margin-left:var(--gs-item-margin-left)!important;position:relative!important;inset:auto!important;overflow:visible!important}.gs-print-hide{display:none}.gs-print-show{display:block}.grid-stack>.grid-stack-item.gs-print-hide{display:none!important}.grid-stack>.grid-stack-item[gs-page-break=true],.grid-stack>.grid-stack-item[gs-print-orientation]{float:none!important;clear:both!important}.grid-stack>.grid-stack-item[gs-page-break=true]{page-break-before:always!important;break-before:page!important}.grid-stack>.grid-stack-item[gs-print-orientation=landscape]{page:gs-landscape;min-width:calc(100vmax * var(--gs-w)/ var(--gs-columns,12))!important}.grid-stack>.grid-stack-item[gs-print-orientation=portrait]{page:gs-portrait;min-width:calc(100vmin * var(--gs-w)/ var(--gs-columns,12))!important}.grid-stack>.grid-stack-item>.ui-resizable-handle{display:none!important}}.inventory-widget-card[data-v-da926b8b]{background-color:var(--surface-1,#fff);border:1px solid var(--line,#e2e8f0);box-sizing:border-box;border-radius:8px;flex-direction:column;height:100%;padding:14px 16px;display:flex}.widget-header[data-v-da926b8b]{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.widget-title-group[data-v-da926b8b]{align-items:center;gap:8px;display:flex}.widget-icon[data-v-da926b8b]{color:var(--primary,#31b9ee)}.widget-title[data-v-da926b8b]{color:var(--text,#1e293b);margin:0;font-size:15px;font-weight:600}.btn-refresh[data-v-da926b8b]{cursor:pointer;color:var(--muted,#64748b);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .15s;display:flex}.widget-header-actions[data-v-da926b8b]{align-items:center;gap:4px;display:flex}.btn-remove[data-v-da926b8b]{cursor:pointer;color:var(--muted,#64748b);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .15s;display:flex}.btn-remove[data-v-da926b8b]:hover{color:var(--danger,#ef4444);background:#ef44441a}.btn-refresh[data-v-da926b8b]:hover:not(:disabled){color:var(--primary,#31b9ee);background:var(--surface-2,#f8fafc)}.widget-loading[data-v-da926b8b],.widget-error[data-v-da926b8b]{color:var(--muted,#64748b);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;min-height:80px;font-size:13px;display:flex}.widget-error[data-v-da926b8b]{color:var(--danger,#ef4444)}.btn-retry[data-v-da926b8b]{background:var(--surface-2,#f8fafc);border:1px solid var(--line,#cbd5e1);cursor:pointer;border-radius:4px;padding:4px 10px;font-size:11px}.kpi-grid[data-v-da926b8b]{flex:1;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:stretch;gap:10px;display:grid}.kpi-card[data-v-da926b8b]{background:var(--surface-2,#f8fafc);border:1px solid var(--line,#e2e8f0);border-radius:8px;align-items:center;gap:10px;padding:10px 12px;transition:transform .15s;display:flex}.kpi-card[data-v-da926b8b]:hover{transform:translateY(-1px)}.kpi-icon-wrap[data-v-da926b8b]{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.primary-icon[data-v-da926b8b]{color:var(--primary,#31b9ee);background:#31b9ee1f}.default-icon[data-v-da926b8b]{color:var(--muted,#64748b);background:#64748b1f}.warning-icon[data-v-da926b8b]{color:#d97706;background:#f5b64c26}.danger-icon[data-v-da926b8b]{color:#dc2626;background:#ef44441f}.kpi-info[data-v-da926b8b]{flex:1;min-width:0}.kpi-label[data-v-da926b8b]{color:var(--muted,#64748b);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:500;overflow:hidden}.kpi-value[data-v-da926b8b]{color:var(--text,#1e293b);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:17px;font-weight:700;overflow:hidden}.kpi-sub[data-v-da926b8b]{color:var(--muted,#94a3b8);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:10px;overflow:hidden}.text-warning[data-v-da926b8b]{color:#d97706}.text-danger[data-v-da926b8b]{color:#dc2626}.spin[data-v-da926b8b]{animation:1s linear infinite spin-da926b8b}@keyframes spin-da926b8b{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.inventory-alerts-widget[data-v-5eac65c6]{background-color:var(--surface-1,#fff);border:1px solid var(--line,#e2e8f0);box-sizing:border-box;border-radius:8px;flex-direction:column;height:100%;padding:14px 16px;display:flex}.widget-header[data-v-5eac65c6]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.header-left[data-v-5eac65c6]{align-items:center;gap:8px;display:flex}.header-icon[data-v-5eac65c6]{color:#f59e0b}.widget-title[data-v-5eac65c6]{color:var(--text,#1e293b);margin:0;font-size:15px;font-weight:600}.header-right[data-v-5eac65c6]{align-items:center;gap:8px;display:flex}.tabs-nav[data-v-5eac65c6]{background:var(--surface-2,#f1f5f9);border-radius:6px;gap:2px;padding:2px;display:flex}.tab-btn[data-v-5eac65c6]{color:var(--muted,#64748b);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:6px;padding:4px 8px;font-size:11.5px;font-weight:500;transition:all .15s;display:flex}.tab-btn.active[data-v-5eac65c6]{background:var(--surface,#fff);color:var(--text,#1e293b);box-shadow:0 1px 2px #0000000f}.badge-count[data-v-5eac65c6]{color:#b45309;background:#f59e0b33;border-radius:10px;padding:1px 5px;font-size:10px;font-weight:700}.badge-expiry[data-v-5eac65c6]{color:#b91c1c;background:#ef444433}.btn-refresh[data-v-5eac65c6]{cursor:pointer;color:var(--muted,#64748b);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:flex}.btn-remove[data-v-5eac65c6]{cursor:pointer;color:var(--muted,#64748b);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .15s;display:flex}.btn-remove[data-v-5eac65c6]:hover{color:var(--danger,#ef4444);background:#ef44441a}.btn-refresh[data-v-5eac65c6]:hover:not(:disabled){color:var(--primary,#31b9ee);background:var(--surface-2,#f8fafc)}.widget-loading[data-v-5eac65c6],.widget-error[data-v-5eac65c6]{color:var(--muted,#64748b);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;min-height:120px;font-size:13px;display:flex}.widget-error[data-v-5eac65c6]{color:var(--danger,#ef4444)}.btn-retry[data-v-5eac65c6]{background:var(--surface-2,#f8fafc);border:1px solid var(--line,#cbd5e1);cursor:pointer;border-radius:4px;padding:4px 10px;font-size:11px}.widget-body[data-v-5eac65c6]{flex:1;min-height:0;overflow-y:auto}.alert-content[data-v-5eac65c6]{height:100%}.alert-list[data-v-5eac65c6]{flex-direction:column;gap:6px;display:flex}.alert-row[data-v-5eac65c6]{background:var(--surface-2,#f8fafc);border:1px solid var(--line,#e2e8f0);border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}.item-main[data-v-5eac65c6]{flex:1;min-width:0}.item-name[data-v-5eac65c6]{color:var(--text,#1e293b);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;overflow:hidden}.item-code[data-v-5eac65c6]{color:var(--muted,#64748b);margin-top:1px;font-size:11px}.item-stat[data-v-5eac65c6]{text-align:right;flex-shrink:0}.stock-qty[data-v-5eac65c6]{font-size:13px;font-weight:700}.stock-unit[data-v-5eac65c6]{color:var(--muted,#64748b);font-size:10.5px;font-weight:400}.stock-min[data-v-5eac65c6]{color:var(--muted,#94a3b8);font-size:10.5px}.item-badge[data-v-5eac65c6]{flex-shrink:0}.badge[data-v-5eac65c6]{border-radius:12px;padding:2px 7px;font-size:10.5px;font-weight:600}.badge-warning[data-v-5eac65c6]{color:#b45309;background:#f5b64c29}.badge-danger[data-v-5eac65c6]{color:#b91c1c;background:#ef444424}.text-warning[data-v-5eac65c6]{color:#d97706}.text-danger[data-v-5eac65c6]{color:#dc2626}.empty-state[data-v-5eac65c6]{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;min-height:120px;padding:16px;display:flex}.empty-icon.success[data-v-5eac65c6]{color:#10b981;margin-bottom:8px}.empty-title[data-v-5eac65c6]{color:var(--text,#1e293b);font-size:13px;font-weight:600}.empty-sub[data-v-5eac65c6]{color:var(--muted,#64748b);margin-top:2px;font-size:11px}.spin[data-v-5eac65c6]{animation:1s linear infinite spin-5eac65c6}@keyframes spin-5eac65c6{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.inventory-warehouse-widget[data-v-8e63b137]{background-color:var(--surface-1,#fff);border:1px solid var(--line,#e2e8f0);box-sizing:border-box;border-radius:8px;flex-direction:column;height:100%;padding:14px 16px;display:flex}.widget-header[data-v-8e63b137]{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.header-left[data-v-8e63b137]{align-items:center;gap:8px;display:flex}.header-icon[data-v-8e63b137]{color:var(--primary,#31b9ee)}.widget-title[data-v-8e63b137]{color:var(--text,#1e293b);margin:0;font-size:15px;font-weight:600}.btn-refresh[data-v-8e63b137]{cursor:pointer;color:var(--muted,#64748b);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:flex}.header-actions[data-v-8e63b137]{align-items:center;gap:4px;display:flex}.btn-remove[data-v-8e63b137]{cursor:pointer;color:var(--muted,#64748b);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .15s;display:flex}.btn-remove[data-v-8e63b137]:hover{color:var(--danger,#ef4444);background:#ef44441a}.btn-refresh[data-v-8e63b137]:hover:not(:disabled){color:var(--primary,#31b9ee);background:var(--surface-2,#f8fafc)}.widget-loading[data-v-8e63b137],.widget-error[data-v-8e63b137]{color:var(--muted,#64748b);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;min-height:120px;font-size:13px;display:flex}.widget-error[data-v-8e63b137]{color:var(--danger,#ef4444)}.btn-retry[data-v-8e63b137]{background:var(--surface-2,#f8fafc);border:1px solid var(--line,#cbd5e1);cursor:pointer;border-radius:4px;padding:4px 10px;font-size:11px}.widget-body[data-v-8e63b137]{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.total-bar[data-v-8e63b137]{background:var(--surface-2,#f8fafc);border:1px solid var(--line,#e2e8f0);border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:10px;padding:6px 10px;display:flex}.total-label[data-v-8e63b137]{color:var(--muted,#64748b);font-size:11.5px}.total-val[data-v-8e63b137]{color:var(--text,#1e293b);font-size:13.5px;font-weight:700}.warehouse-list[data-v-8e63b137]{flex-direction:column;gap:10px;display:flex}.wh-item[data-v-8e63b137]{background:var(--surface-2,#f8fafc);border:1px solid var(--line,#e2e8f0);border-radius:6px;flex-direction:column;gap:5px;padding:6px 8px;display:flex}.wh-top[data-v-8e63b137]{justify-content:space-between;align-items:center;gap:8px;display:flex}.wh-name-group[data-v-8e63b137]{align-items:center;gap:6px;min-width:0;display:flex}.wh-badge[data-v-8e63b137]{border-radius:4px;flex-shrink:0;padding:1px 5px;font-size:10px;font-weight:700}.wh-name[data-v-8e63b137]{color:var(--text,#1e293b);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;overflow:hidden}.wh-values[data-v-8e63b137]{flex-shrink:0;align-items:center;gap:4px;display:flex}.wh-amount[data-v-8e63b137]{color:var(--text,#1e293b);font-size:12.5px;font-weight:700}.wh-percent[data-v-8e63b137]{color:var(--muted,#64748b);font-size:11px}.progress-track[data-v-8e63b137]{background:var(--line,#e2e8f0);border-radius:3px;height:6px;overflow:hidden}.progress-fill[data-v-8e63b137]{border-radius:3px;height:100%;transition:width .4s}.wh-bottom[data-v-8e63b137]{color:var(--muted,#94a3b8);justify-content:space-between;font-size:10.5px;display:flex}.empty-state[data-v-8e63b137]{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;min-height:120px;padding:16px;display:flex}.empty-icon[data-v-8e63b137]{color:var(--muted,#94a3b8);margin-bottom:8px}.empty-title[data-v-8e63b137]{color:var(--text,#1e293b);font-size:13px;font-weight:600}.spin[data-v-8e63b137]{animation:1s linear infinite spin-8e63b137}@keyframes spin-8e63b137{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.procurement-widget-card[data-v-ade60e82]{background-color:var(--surface-1,#fff);border:1px solid var(--line,#e2e8f0);box-sizing:border-box;border-radius:8px;flex-direction:column;height:100%;padding:14px 16px;display:flex}.widget-header[data-v-ade60e82]{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.widget-title-group[data-v-ade60e82]{align-items:center;gap:8px;display:flex}.widget-icon[data-v-ade60e82]{color:#8b5cf6}.widget-title[data-v-ade60e82]{color:var(--text,#1e293b);margin:0;font-size:15px;font-weight:600}.period-pill[data-v-ade60e82]{background:var(--surface-2,#f1f5f9);color:var(--muted,#64748b);border:1px solid var(--line,#cbd5e1);border-radius:10px;padding:2px 7px;font-size:10px;font-weight:600}.widget-header-actions[data-v-ade60e82]{align-items:center;gap:4px;display:flex}.btn-refresh[data-v-ade60e82],.btn-remove[data-v-ade60e82]{cursor:pointer;color:var(--muted,#64748b);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .15s;display:flex}.btn-refresh[data-v-ade60e82]:hover:not(:disabled){color:var(--primary,#31b9ee);background:var(--surface-2,#f8fafc)}.btn-remove[data-v-ade60e82]:hover{color:var(--danger,#ef4444);background:#ef44441a}.widget-loading[data-v-ade60e82],.widget-error[data-v-ade60e82]{color:var(--muted,#64748b);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;min-height:80px;font-size:13px;display:flex}.widget-error[data-v-ade60e82]{color:var(--danger,#ef4444)}.btn-retry[data-v-ade60e82]{background:var(--surface-2,#f8fafc);border:1px solid var(--line,#cbd5e1);cursor:pointer;border-radius:4px;padding:4px 10px;font-size:11px}.kpi-grid[data-v-ade60e82]{flex:1;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:stretch;gap:10px;display:grid}.kpi-card[data-v-ade60e82]{background:var(--surface-2,#f8fafc);border:1px solid var(--line,#e2e8f0);border-radius:8px;align-items:center;gap:10px;padding:10px 12px;transition:transform .15s;display:flex}.kpi-card[data-v-ade60e82]:hover{transform:translateY(-1px)}.kpi-icon-wrap[data-v-ade60e82]{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.primary-icon[data-v-ade60e82]{color:#8b5cf6;background:#8b5cf61f}.default-icon[data-v-ade60e82]{color:var(--muted,#64748b);background:#64748b1f}.warning-icon[data-v-ade60e82]{color:#d97706;background:#f5b64c26}.danger-icon[data-v-ade60e82]{color:#dc2626;background:#ef44441f}.kpi-info[data-v-ade60e82]{flex:1;min-width:0}.kpi-label[data-v-ade60e82]{color:var(--muted,#64748b);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:500;overflow:hidden}.kpi-value[data-v-ade60e82]{color:var(--text,#1e293b);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:17px;font-weight:700;overflow:hidden}.kpi-sub[data-v-ade60e82]{color:var(--muted,#94a3b8);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:10px;overflow:hidden}.text-warning[data-v-ade60e82]{color:#d97706}.text-danger[data-v-ade60e82]{color:#dc2626}.spin[data-v-ade60e82]{animation:1s linear infinite spin-ade60e82}@keyframes spin-ade60e82{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.procurement-alerts-widget[data-v-a7e91cec]{background-color:var(--surface-1,#fff);border:1px solid var(--line,#e2e8f0);box-sizing:border-box;border-radius:8px;flex-direction:column;height:100%;padding:14px 16px;display:flex}.widget-header[data-v-a7e91cec]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.header-left[data-v-a7e91cec]{align-items:center;gap:8px;display:flex}.header-icon[data-v-a7e91cec]{color:#ef4444}.widget-title[data-v-a7e91cec]{color:var(--text,#1e293b);margin:0;font-size:15px;font-weight:600}.header-right[data-v-a7e91cec]{align-items:center;gap:8px;display:flex}.tabs-nav[data-v-a7e91cec]{background:var(--surface-2,#f1f5f9);border-radius:6px;gap:2px;padding:2px;display:flex}.tab-btn[data-v-a7e91cec]{color:var(--muted,#64748b);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:6px;padding:4px 8px;font-size:11.5px;font-weight:500;transition:all .15s;display:flex}.tab-btn.active[data-v-a7e91cec]{background:var(--surface,#fff);color:var(--text,#1e293b);box-shadow:0 1px 2px #0000000f}.badge-count[data-v-a7e91cec]{color:#b45309;background:#f59e0b33;border-radius:10px;padding:1px 5px;font-size:10px;font-weight:700}.badge-delayed[data-v-a7e91cec]{color:#b91c1c;background:#ef444433}.header-actions[data-v-a7e91cec]{align-items:center;gap:4px;display:flex}.btn-refresh[data-v-a7e91cec],.btn-remove[data-v-a7e91cec]{cursor:pointer;color:var(--muted,#64748b);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .15s;display:flex}.btn-refresh[data-v-a7e91cec]:hover:not(:disabled){color:var(--primary,#31b9ee);background:var(--surface-2,#f8fafc)}.btn-remove[data-v-a7e91cec]:hover{color:var(--danger,#ef4444);background:#ef44441a}.threshold-info[data-v-a7e91cec]{color:var(--muted,#64748b);background:var(--surface-2,#f8fafc);border:1px solid var(--line,#e2e8f0);border-radius:4px;align-items:center;gap:6px;margin-bottom:8px;padding:4px 8px;font-size:10.5px;display:flex}.widget-loading[data-v-a7e91cec],.widget-error[data-v-a7e91cec]{color:var(--muted,#64748b);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;min-height:120px;font-size:13px;display:flex}.widget-error[data-v-a7e91cec]{color:var(--danger,#ef4444)}.btn-retry[data-v-a7e91cec]{background:var(--surface-2,#f8fafc);border:1px solid var(--line,#cbd5e1);cursor:pointer;border-radius:4px;padding:4px 10px;font-size:11px}.widget-body[data-v-a7e91cec]{flex:1;min-height:0;overflow-y:auto}.alert-content[data-v-a7e91cec]{height:100%}.alert-list[data-v-a7e91cec]{flex-direction:column;gap:6px;display:flex}.alert-row[data-v-a7e91cec]{background:var(--surface-2,#f8fafc);border:1px solid var(--line,#e2e8f0);border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}.item-main[data-v-a7e91cec]{flex:1;min-width:0}.item-name[data-v-a7e91cec]{color:var(--text,#1e293b);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;overflow:hidden}.item-code[data-v-a7e91cec]{color:var(--muted,#64748b);margin-top:1px;font-size:11px}.item-stat[data-v-a7e91cec]{text-align:right;flex-shrink:0}.stock-qty[data-v-a7e91cec]{font-size:13px;font-weight:700}.stock-min[data-v-a7e91cec]{color:var(--muted,#94a3b8);font-size:10.5px}.item-badge[data-v-a7e91cec]{flex-shrink:0}.badge[data-v-a7e91cec]{border-radius:12px;padding:2px 7px;font-size:10.5px;font-weight:600}.badge-warning[data-v-a7e91cec]{color:#b45309;background:#f5b64c29}.badge-danger[data-v-a7e91cec]{color:#b91c1c;background:#ef444424}.text-warning[data-v-a7e91cec]{color:#d97706}.text-danger[data-v-a7e91cec]{color:#dc2626}.empty-state[data-v-a7e91cec]{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;min-height:120px;padding:16px;display:flex}.empty-icon.success[data-v-a7e91cec]{color:#10b981;margin-bottom:8px}.empty-title[data-v-a7e91cec]{color:var(--text,#1e293b);font-size:13px;font-weight:600}.empty-sub[data-v-a7e91cec]{color:var(--muted,#64748b);margin-top:2px;font-size:11px}.spin[data-v-a7e91cec]{animation:1s linear infinite spin-a7e91cec}@keyframes spin-a7e91cec{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.procurement-vendor-widget[data-v-310d8d4c]{background-color:var(--surface-1,#fff);border:1px solid var(--line,#e2e8f0);box-sizing:border-box;border-radius:8px;flex-direction:column;height:100%;padding:14px 16px;display:flex}.widget-header[data-v-310d8d4c]{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.header-left[data-v-310d8d4c]{align-items:center;gap:8px;display:flex}.header-icon[data-v-310d8d4c]{color:#8b5cf6}.widget-title[data-v-310d8d4c]{color:var(--text,#1e293b);margin:0;font-size:15px;font-weight:600}.period-pill[data-v-310d8d4c]{background:var(--surface-2,#f1f5f9);color:var(--muted,#64748b);border:1px solid var(--line,#cbd5e1);border-radius:10px;padding:2px 7px;font-size:10px;font-weight:600}.header-actions[data-v-310d8d4c]{align-items:center;gap:4px;display:flex}.btn-refresh[data-v-310d8d4c],.btn-remove[data-v-310d8d4c]{cursor:pointer;color:var(--muted,#64748b);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .15s;display:flex}.btn-refresh[data-v-310d8d4c]:hover:not(:disabled){color:var(--primary,#31b9ee);background:var(--surface-2,#f8fafc)}.btn-remove[data-v-310d8d4c]:hover{color:var(--danger,#ef4444);background:#ef44441a}.widget-loading[data-v-310d8d4c],.widget-error[data-v-310d8d4c]{color:var(--muted,#64748b);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;min-height:120px;font-size:13px;display:flex}.widget-error[data-v-310d8d4c]{color:var(--danger,#ef4444)}.btn-retry[data-v-310d8d4c]{background:var(--surface-2,#f8fafc);border:1px solid var(--line,#cbd5e1);cursor:pointer;border-radius:4px;padding:4px 10px;font-size:11px}.widget-body[data-v-310d8d4c]{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.total-bar[data-v-310d8d4c]{background:var(--surface-2,#f8fafc);border:1px solid var(--line,#e2e8f0);border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:10px;padding:6px 10px;display:flex}.total-label[data-v-310d8d4c]{color:var(--muted,#64748b);font-size:11.5px}.total-val[data-v-310d8d4c]{color:var(--text,#1e293b);font-size:13.5px;font-weight:700}.vendor-list[data-v-310d8d4c]{flex-direction:column;gap:10px;display:flex}.v-item[data-v-310d8d4c]{background:var(--surface-2,#f8fafc);border:1px solid var(--line,#e2e8f0);border-radius:6px;flex-direction:column;gap:5px;padding:6px 8px;display:flex}.v-top[data-v-310d8d4c]{justify-content:space-between;align-items:center;gap:8px;display:flex}.v-name-group[data-v-310d8d4c]{align-items:center;gap:6px;min-width:0;display:flex}.v-badge[data-v-310d8d4c]{border-radius:4px;flex-shrink:0;padding:1px 5px;font-size:10px;font-weight:700}.v-name[data-v-310d8d4c]{color:var(--text,#1e293b);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;overflow:hidden}.v-values[data-v-310d8d4c]{flex-shrink:0;align-items:center;gap:4px;display:flex}.v-amount[data-v-310d8d4c]{color:var(--text,#1e293b);font-size:12.5px;font-weight:700}.v-percent[data-v-310d8d4c]{color:var(--muted,#64748b);font-size:11px}.progress-track[data-v-310d8d4c]{background:var(--line,#e2e8f0);border-radius:3px;height:6px;overflow:hidden}.progress-fill[data-v-310d8d4c]{border-radius:3px;height:100%;transition:width .4s}.v-bottom[data-v-310d8d4c]{color:var(--muted,#94a3b8);justify-content:space-between;font-size:10.5px;display:flex}.empty-state[data-v-310d8d4c]{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;min-height:120px;padding:16px;display:flex}.empty-icon[data-v-310d8d4c]{color:var(--muted,#94a3b8);margin-bottom:8px}.empty-title[data-v-310d8d4c]{color:var(--text,#1e293b);font-size:13px;font-weight:600}.empty-sub[data-v-310d8d4c]{color:var(--muted,#64748b);margin-top:2px;font-size:11px}.spin[data-v-310d8d4c]{animation:1s linear infinite spin-310d8d4c}@keyframes spin-310d8d4c{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sales-summary-widget[data-v-898cdc33]{box-sizing:border-box;background:var(--surface-1);border-radius:8px;flex-direction:column;height:100%;padding:14px 16px;display:flex;overflow:hidden}.widget-header[data-v-898cdc33]{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.widget-title-group[data-v-898cdc33]{align-items:center;gap:8px;display:flex}.widget-icon[data-v-898cdc33]{color:#10b981}.widget-title[data-v-898cdc33]{color:var(--text);margin:0;font-size:13.5px;font-weight:600}.period-pill[data-v-898cdc33]{color:#10b981;letter-spacing:.2px;background:#10b9811f;border-radius:999px;padding:2px 7px;font-size:10.5px;font-weight:600}.widget-header-actions[data-v-898cdc33]{align-items:center;gap:6px;display:flex}.btn-refresh[data-v-898cdc33],.btn-remove[data-v-898cdc33]{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.btn-refresh[data-v-898cdc33]:hover{background:var(--surface-2);color:var(--text)}.btn-remove[data-v-898cdc33]:hover{color:#ef4444;background:#ef44441a}.widget-loading[data-v-898cdc33],.widget-error[data-v-898cdc33]{color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;min-height:120px;font-size:12px;display:flex}.widget-error[data-v-898cdc33]{color:#ef4444}.btn-retry[data-v-898cdc33]{border:1px solid var(--line);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:4px;padding:4px 10px;font-size:11px}.btn-retry[data-v-898cdc33]:hover{background:var(--surface-1)}.kpi-grid[data-v-898cdc33]{flex:1;grid-template-columns:repeat(2,1fr);align-content:stretch;gap:10px;display:grid}.kpi-card[data-v-898cdc33]{background:var(--surface-2);border:1px solid var(--line);border-radius:6px;align-items:center;gap:10px;min-width:0;padding:10px 12px;transition:all .2s;display:flex}.kpi-card[data-v-898cdc33]:hover{border-color:#10b98159;box-shadow:0 2px 6px #0000000a}.kpi-icon-wrap[data-v-898cdc33]{border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.success-icon[data-v-898cdc33]{color:#10b981;background:#10b9811f}.primary-icon[data-v-898cdc33]{color:#3b82f6;background:#3b82f61f}.warning-icon[data-v-898cdc33]{color:#f59e0b;background:#f59e0b1f}.danger-icon[data-v-898cdc33]{color:#ef4444;background:#ef44441f}.kpi-info[data-v-898cdc33]{flex:1;min-width:0}.kpi-label[data-v-898cdc33]{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:11px;font-weight:500;overflow:hidden}.kpi-value[data-v-898cdc33]{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:700;line-height:1.2;overflow:hidden}.text-success[data-v-898cdc33]{color:#10b981}.text-primary[data-v-898cdc33]{color:#3b82f6}.text-warning[data-v-898cdc33]{color:#f59e0b}.text-danger[data-v-898cdc33]{color:#ef4444}.kpi-sub[data-v-898cdc33]{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:10px;overflow:hidden}.spin[data-v-898cdc33]{animation:1s linear infinite spin-898cdc33}@keyframes spin-898cdc33{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=640px){.kpi-grid[data-v-898cdc33]{grid-template-columns:1fr}}.sales-alerts-widget[data-v-c86e7381]{box-sizing:border-box;background:var(--surface-1);border-radius:8px;flex-direction:column;height:100%;padding:14px 16px;display:flex;overflow:hidden}.widget-header[data-v-c86e7381]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.header-left[data-v-c86e7381]{align-items:center;gap:8px;display:flex}.header-icon[data-v-c86e7381]{color:#f59e0b}.widget-title[data-v-c86e7381]{color:var(--text);margin:0;font-size:13.5px;font-weight:600}.header-right[data-v-c86e7381]{align-items:center;gap:10px;display:flex}.tabs-nav[data-v-c86e7381]{background:var(--surface-2);border:1px solid var(--line);border-radius:6px;align-items:center;gap:2px;padding:2px;display:flex}.tab-btn[data-v-c86e7381]{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:5px;padding:4px 8px;font-size:11px;font-weight:500;transition:all .15s;display:flex}.tab-btn[data-v-c86e7381]:hover{color:var(--text)}.tab-btn.active[data-v-c86e7381]{background:var(--surface-1);color:var(--text);font-weight:600;box-shadow:0 1px 3px #00000014}.badge-count[data-v-c86e7381]{color:#ef4444;background:#ef444426;border-radius:999px;padding:1px 5px;font-size:10px;font-weight:700}.badge-count.badge-delayed[data-v-c86e7381]{color:#f59e0b;background:#f59e0b26}.header-actions[data-v-c86e7381]{align-items:center;gap:4px;display:flex}.btn-refresh[data-v-c86e7381],.btn-remove[data-v-c86e7381]{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.btn-refresh[data-v-c86e7381]:hover{background:var(--surface-2);color:var(--text)}.btn-remove[data-v-c86e7381]:hover{color:#ef4444;background:#ef44441a}.threshold-info[data-v-c86e7381]{color:var(--muted);background:#3b82f60f;border-left:3px solid #3b82f6;border-radius:0 4px 4px 0;align-items:center;gap:6px;margin-bottom:8px;padding:4px 8px;font-size:10.5px;display:flex}.threshold-info strong[data-v-c86e7381]{color:var(--text)}.widget-loading[data-v-c86e7381],.widget-error[data-v-c86e7381]{color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;min-height:140px;font-size:12px;display:flex}.widget-error[data-v-c86e7381]{color:#ef4444}.btn-retry[data-v-c86e7381]{border:1px solid var(--line);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:4px;padding:4px 10px;font-size:11px}.btn-retry[data-v-c86e7381]:hover{background:var(--surface-1)}.widget-body[data-v-c86e7381]{flex:1;min-height:0;overflow-y:auto}.alert-content[data-v-c86e7381],.alert-list[data-v-c86e7381]{flex-direction:column;gap:6px;display:flex}.alert-row[data-v-c86e7381]{background:var(--surface-2);border:1px solid var(--line);border-radius:6px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;transition:all .15s;display:flex}.alert-row[data-v-c86e7381]:hover{border-color:#f59e0b4d;box-shadow:0 1px 4px #0000000a}.item-main[data-v-c86e7381]{flex:1.2;min-width:0}.item-name[data-v-c86e7381]{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.item-code[data-v-c86e7381]{color:var(--muted);margin-top:1px;font-size:10.5px}.item-stat[data-v-c86e7381]{text-align:right;flex:1;min-width:0}.stock-qty[data-v-c86e7381]{font-size:12px;font-weight:700;line-height:1.2}.stock-min[data-v-c86e7381]{color:var(--muted);margin-top:1px;font-size:10px}.text-danger[data-v-c86e7381]{color:#ef4444}.text-warning[data-v-c86e7381]{color:#f59e0b}.item-badge[data-v-c86e7381]{flex-shrink:0}.badge-pill[data-v-c86e7381]{white-space:nowrap;border-radius:4px;padding:2px 7px;font-size:10px;font-weight:600;display:inline-block}.pill-overdue[data-v-c86e7381]{color:#ef4444;background:#ef44441f;border:1px solid #ef44444d}.pill-soon[data-v-c86e7381]{color:#f59e0b;background:#f59e0b1f;border:1px solid #f59e0b4d}.empty-state[data-v-c86e7381]{text-align:center;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;padding:24px 16px;display:flex}.empty-icon[data-v-c86e7381]{margin-bottom:8px}.empty-icon.success[data-v-c86e7381]{color:#10b981}.empty-title[data-v-c86e7381]{color:var(--text);margin-bottom:3px;font-size:13px;font-weight:600}.empty-sub[data-v-c86e7381]{max-width:300px;font-size:11px;line-height:1.4}.spin[data-v-c86e7381]{animation:1s linear infinite spin-c86e7381}@keyframes spin-c86e7381{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sales-bestseller-widget[data-v-6a95ee33]{box-sizing:border-box;background:var(--surface-1);border-radius:8px;flex-direction:column;height:100%;padding:14px 16px;display:flex;overflow:hidden}.widget-header[data-v-6a95ee33]{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.header-left[data-v-6a95ee33]{align-items:center;gap:8px;display:flex}.header-icon[data-v-6a95ee33]{color:#10b981}.widget-title[data-v-6a95ee33]{color:var(--text);margin:0;font-size:13.5px;font-weight:600}.period-pill[data-v-6a95ee33]{color:#10b981;letter-spacing:.2px;background:#10b9811f;border-radius:999px;padding:2px 7px;font-size:10.5px;font-weight:600}.header-actions[data-v-6a95ee33]{align-items:center;gap:6px;display:flex}.btn-refresh[data-v-6a95ee33],.btn-remove[data-v-6a95ee33]{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.btn-refresh[data-v-6a95ee33]:hover{background:var(--surface-2);color:var(--text)}.btn-remove[data-v-6a95ee33]:hover{color:#ef4444;background:#ef44441a}.widget-loading[data-v-6a95ee33],.widget-error[data-v-6a95ee33]{color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;min-height:140px;font-size:12px;display:flex}.widget-error[data-v-6a95ee33]{color:#ef4444}.btn-retry[data-v-6a95ee33]{border:1px solid var(--line);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:4px;padding:4px 10px;font-size:11px}.btn-retry[data-v-6a95ee33]:hover{background:var(--surface-1)}.widget-body[data-v-6a95ee33]{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.total-bar[data-v-6a95ee33]{background:var(--surface-2);border:1px solid var(--line);border-radius:6px;flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:10px;padding:6px 10px;display:flex}.total-label[data-v-6a95ee33]{color:var(--muted);font-size:11px;font-weight:500}.total-val[data-v-6a95ee33]{color:#10b981;font-size:12.5px;font-weight:700}.item-list[data-v-6a95ee33]{flex-direction:column;gap:8px;display:flex}.bestseller-item[data-v-6a95ee33]{background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:8px 10px;transition:all .2s}.bestseller-item[data-v-6a95ee33]:hover{border-color:#10b98166;box-shadow:0 2px 6px #0000000a}.item-top[data-v-6a95ee33]{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.name-group[data-v-6a95ee33]{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.rank-badge[data-v-6a95ee33]{white-space:nowrap;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:10px;font-weight:700}.item-name[data-v-6a95ee33]{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.item-values[data-v-6a95ee33]{flex-direction:column;flex-shrink:0;align-items:flex-end;display:flex}.val-qty[data-v-6a95ee33]{color:var(--text);font-size:12px;font-weight:700;line-height:1.2}.val-revenue[data-v-6a95ee33]{color:var(--muted);font-size:10px}.progress-track[data-v-6a95ee33]{background:var(--surface-1);border-radius:3px;height:5px;margin-bottom:5px;overflow:hidden}.progress-fill[data-v-6a95ee33]{border-radius:3px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.item-bottom[data-v-6a95ee33]{color:var(--muted);justify-content:space-between;align-items:center;font-size:10px;display:flex}.item-bottom strong[data-v-6a95ee33]{color:var(--text)}.empty-state[data-v-6a95ee33]{text-align:center;color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;padding:24px 16px;display:flex}.empty-icon[data-v-6a95ee33]{opacity:.5;margin-bottom:8px}.empty-title[data-v-6a95ee33]{color:var(--text);margin-bottom:3px;font-size:13px;font-weight:600}.empty-sub[data-v-6a95ee33]{max-width:280px;font-size:11px;line-height:1.4}.spin[data-v-6a95ee33]{animation:1s linear infinite spin-6a95ee33}@keyframes spin-6a95ee33{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sales-chart-widget[data-v-a617bc94]{box-sizing:border-box;background:var(--surface-1);border-radius:8px;flex-direction:column;height:100%;padding:14px 16px;display:flex;position:relative;overflow:hidden}.widget-header[data-v-a617bc94]{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.header-left[data-v-a617bc94]{align-items:center;gap:8px;display:flex}.header-icon[data-v-a617bc94]{color:#10b981}.widget-title[data-v-a617bc94]{color:var(--text);margin:0;font-size:13.5px;font-weight:600}.period-pill[data-v-a617bc94]{color:#10b981;letter-spacing:.2px;background:#10b9811f;border-radius:999px;padding:2px 7px;font-size:10.5px;font-weight:600}.header-actions[data-v-a617bc94]{align-items:center;gap:6px;display:flex}.btn-refresh[data-v-a617bc94],.btn-remove[data-v-a617bc94]{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.btn-refresh[data-v-a617bc94]:hover{background:var(--surface-2);color:var(--text)}.btn-remove[data-v-a617bc94]:hover{color:#ef4444;background:#ef44441a}.stats-bar[data-v-a617bc94]{background:var(--surface-2);border:1px solid var(--line);border-radius:6px;flex-shrink:0;align-items:center;gap:12px;margin-bottom:8px;padding:6px 12px;font-size:11px;display:flex;overflow-x:auto}.stat-item[data-v-a617bc94]{white-space:nowrap;align-items:center;gap:6px;display:flex}.stat-label[data-v-a617bc94]{color:var(--muted)}.stat-val[data-v-a617bc94]{color:var(--text);font-weight:700}.text-success[data-v-a617bc94]{color:#10b981}.text-primary[data-v-a617bc94]{color:#3b82f6}.stat-divider[data-v-a617bc94]{background:var(--line);width:1px;height:12px}.widget-loading[data-v-a617bc94],.widget-error[data-v-a617bc94]{color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;min-height:150px;font-size:12px;display:flex}.widget-error[data-v-a617bc94]{color:#ef4444}.btn-retry[data-v-a617bc94]{border:1px solid var(--line);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:4px;padding:4px 10px;font-size:11px}.btn-retry[data-v-a617bc94]:hover{background:var(--surface-1)}.chart-container[data-v-a617bc94]{flex:1;align-items:center;min-height:0;display:flex;position:relative}.chart-svg[data-v-a617bc94]{width:100%;height:100%;display:block;overflow:visible}.axis-label[data-v-a617bc94]{fill:var(--muted);font-family:inherit;font-size:10px}.chart-dot[data-v-a617bc94]{transition:r .15s}.chart-tooltip[data-v-a617bc94]{pointer-events:none;background:var(--surface-2);border:1px solid var(--line);z-index:20;border-radius:6px;min-width:140px;padding:7px 10px;font-size:11px;position:absolute;box-shadow:0 4px 14px #0000002e}.tooltip-header[data-v-a617bc94]{color:var(--text);border-bottom:1px solid var(--line);margin-bottom:4px;padding-bottom:3px;font-weight:700}.tooltip-row[data-v-a617bc94]{justify-content:space-between;align-items:center;gap:8px;font-size:10.5px;display:flex}.tooltip-label[data-v-a617bc94]{color:var(--muted)}.tooltip-val[data-v-a617bc94]{font-weight:600}.spin[data-v-a617bc94]{animation:1s linear infinite spin-a617bc94}@keyframes spin-a617bc94{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sales-chart-widget[data-v-6729068c]{box-sizing:border-box;background:var(--surface-1);border-radius:8px;flex-direction:column;height:100%;padding:14px 16px;display:flex;position:relative;overflow:hidden}.widget-header[data-v-6729068c]{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.header-left[data-v-6729068c]{align-items:center;gap:8px;display:flex}.header-icon[data-v-6729068c]{color:#3b82f6}.widget-title[data-v-6729068c]{color:var(--text);margin:0;font-size:13.5px;font-weight:600}.period-pill[data-v-6729068c]{color:#3b82f6;letter-spacing:.2px;background:#3b82f61f;border-radius:999px;padding:2px 7px;font-size:10.5px;font-weight:600}.header-actions[data-v-6729068c]{align-items:center;gap:6px;display:flex}.btn-refresh[data-v-6729068c],.btn-remove[data-v-6729068c]{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.btn-refresh[data-v-6729068c]:hover{background:var(--surface-2);color:var(--text)}.btn-remove[data-v-6729068c]:hover{color:#ef4444;background:#ef44441a}.stats-bar[data-v-6729068c]{background:var(--surface-2);border:1px solid var(--line);border-radius:6px;flex-shrink:0;align-items:center;gap:12px;margin-bottom:8px;padding:6px 12px;font-size:11px;display:flex;overflow-x:auto}.stat-item[data-v-6729068c]{white-space:nowrap;align-items:center;gap:6px;display:flex}.stat-label[data-v-6729068c]{color:var(--muted)}.stat-val[data-v-6729068c]{color:var(--text);font-weight:700}.text-primary[data-v-6729068c]{color:#3b82f6}.text-success[data-v-6729068c]{color:#10b981}.stat-divider[data-v-6729068c]{background:var(--line);width:1px;height:12px}.widget-loading[data-v-6729068c],.widget-error[data-v-6729068c]{color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;min-height:150px;font-size:12px;display:flex}.widget-error[data-v-6729068c]{color:#ef4444}.btn-retry[data-v-6729068c]{border:1px solid var(--line);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:4px;padding:4px 10px;font-size:11px}.btn-retry[data-v-6729068c]:hover{background:var(--surface-1)}.chart-container[data-v-6729068c]{flex:1;align-items:center;min-height:0;display:flex;position:relative}.chart-svg[data-v-6729068c]{width:100%;height:100%;display:block;overflow:visible}.axis-label[data-v-6729068c]{fill:var(--muted);font-family:inherit;font-size:10px}.chart-dot[data-v-6729068c]{transition:r .15s}.chart-tooltip[data-v-6729068c]{pointer-events:none;background:var(--surface-2);border:1px solid var(--line);z-index:20;border-radius:6px;min-width:140px;padding:7px 10px;font-size:11px;position:absolute;box-shadow:0 4px 14px #0000002e}.tooltip-header[data-v-6729068c]{color:var(--text);border-bottom:1px solid var(--line);margin-bottom:4px;padding-bottom:3px;font-weight:700}.tooltip-row[data-v-6729068c]{justify-content:space-between;align-items:center;gap:8px;font-size:10.5px;display:flex}.tooltip-label[data-v-6729068c]{color:var(--muted)}.tooltip-val[data-v-6729068c]{font-weight:600}.spin[data-v-6729068c]{animation:1s linear infinite spin-6729068c}@keyframes spin-6729068c{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.grid-stack-placeholder>.placeholder-content{border-radius:8px;border:1px dashed var(--primary)!important;background-color:#31b9ee33!important}.grid-stack-item-content{background:var(--surface-1)!important}.btn-reset-layout:hover{color:#ef4444!important;background:#ef44441f!important;border-color:#ef4444!important}.unplaced-widgets-scroll::-webkit-scrollbar{width:5px}.unplaced-widgets-scroll::-webkit-scrollbar-track{background:0 0}.unplaced-widgets-scroll::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}.unplaced-widgets-scroll::-webkit-scrollbar-thumb:hover{background:var(--muted)}
