:root{--exp-primary:#4c806b;--exp-primary-dark:#3b6455;--exp-primary-light:#e8f2ef;--exp-primary-hover:#5c9078;--exp-interactive:#2563eb;--exp-interactive-light:#dbeafe;--exp-bg:#f9fafb;--exp-surface:#fff;--exp-surface-hover:#f3f4f6;--exp-text-primary:#111827;--exp-text-secondary:#374151;--exp-text-muted:#6b7280;--exp-border:#e5e7eb;--exp-danger:#dc2626;--exp-danger-light:#fee2e2;--exp-warning:#d97706;--exp-warning-light:#fef3c7;--exp-success:#16a34a;--exp-success-light:#dcfce7;--exp-purple:#7c3aed;--exp-purple-light:#ede9fe;--exp-radius-sm:6px;--exp-radius-md:10px;--exp-radius-lg:14px;--exp-radius-xl:20px;--exp-radius-full:9999px;--exp-shadow-sm:0 1px 3px #0000000d,0 1px 2px #00000008;--exp-shadow-md:0 4px 12px #0000000f,0 2px 6px #0000000a;--exp-shadow-lg:0 12px 32px #00000014;--exp-font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.exp-module *,.exp-module :before,.exp-module :after{box-sizing:border-box;margin:0;padding:0}.exp-module{font-family:var(--exp-font);color:var(--exp-text-primary);background:var(--exp-bg);-webkit-font-smoothing:antialiased;flex-direction:row;flex:1;width:100%;height:100vh;font-size:14px;line-height:1.5;display:flex;position:relative;overflow:hidden}.exp-sidebar{border-right:1px solid var(--exp-border);background-color:#fff;flex-direction:column;flex-shrink:0;gap:16px;width:280px;min-width:260px;padding:24px 20px;display:flex;overflow-y:auto}.exp-sidebar-header{border-bottom:1px solid #f3f4f6;padding-bottom:16px}.exp-sidebar-brand{align-items:center;gap:12px;display:flex}.exp-sidebar-icon{background-color:#f0f9f6;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex}.exp-sidebar-title{color:#111827;margin:0;font-size:16px;font-weight:700;line-height:1.3}.exp-sidebar-subtitle{color:#9ca3af;margin:2px 0 0;font-size:12px}.exp-summary-mint{background-color:#f0f9f6;border:1px solid #d1fae5;border-radius:12px;flex-direction:column;gap:4px;padding:16px;display:flex}.exp-summary-label{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:11px;font-weight:600}.exp-summary-val{color:#d97706;margin:0;font-size:21px;font-weight:800}.exp-summary-val-dark{color:#166534;margin:0;font-size:20px;font-weight:800}.exp-summary-val-purple{color:#7c3aed;margin:0;font-size:20px;font-weight:800}.exp-summary-val-amber{color:#f59e0b;margin:0;font-size:15px;font-weight:600}.exp-summary-divider{background-color:#d1fae5;height:1px;margin:8px 0}.exp-sidebar-cta{color:#16432e;cursor:pointer;background-color:#d5ebdd;border:1px solid #92c6aa;border-radius:10px;justify-content:center;align-items:center;gap:8px;margin-top:auto;padding:13px 16px;font-family:inherit;font-size:14px;font-weight:700;transition:all .15s;display:flex;box-shadow:0 1px 3px #16432e14}.exp-sidebar-cta:hover{background-color:#c3e3ce}.exp-main{background-color:var(--exp-bg);flex-direction:column;flex:1;min-width:0;display:flex;position:relative;overflow:hidden}.exp-breadcrumb{border-bottom:1px solid var(--exp-border);background-color:#fff;flex-direction:row;flex-shrink:0;align-items:center;gap:6px;padding:10px 24px;font-size:12px;display:flex}.exp-breadcrumb-link{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:4px;align-items:center;gap:4px;padding:2px 6px;font-family:inherit;font-size:12px;font-weight:500;display:inline-flex}.exp-breadcrumb-badge{color:var(--exp-primary);background-color:#ebf5f0;border-radius:4px;padding:2px 8px;font-weight:700}.exp-top-bar{border-bottom:1px solid var(--exp-border);background:#fff;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:14px 24px;display:flex}.exp-tabs{gap:8px;display:flex}.exp-tab{color:var(--exp-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:7px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s;display:flex}.exp-tab:hover{color:var(--exp-text-primary);background:#f3f4f6}.exp-tab.active{color:#16432e;background:#d5ebdd;border-color:#92c6aa}.exp-tab-badge{border-radius:var(--exp-radius-full);color:#4b5563;background:#f3f4f6;padding:2px 6px;font-size:11px;font-weight:700}.exp-tab.active .exp-tab-badge{color:#16432e;background:#fff}.exp-metric-strip{border-bottom:1px solid var(--exp-border);background-color:#fff;flex-shrink:0;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;padding:14px 24px;display:grid}.exp-metric-card{border-radius:10px;flex-direction:row;align-items:center;gap:12px;padding:12px 14px;display:flex;box-shadow:0 1px 3px #0000000a}.exp-metric-icon-box{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.exp-metric-info{flex-direction:column;gap:2px;min-width:0;display:flex}.exp-metric-val{text-align:left;margin:0;font-size:17px;font-weight:800}.exp-metric-label{color:#6b7280;text-align:left;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:11px;font-weight:600;overflow:hidden}.exp-filter-bar{border-bottom:1px solid var(--exp-border);background:#fff;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 24px;display:flex}.exp-search-box{background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;flex:1;align-items:center;gap:8px;min-width:220px;max-width:340px;padding:8px 12px;display:flex}.exp-search-input{color:var(--exp-text-primary);background:0 0;border:none;outline:none;width:100%;font-family:inherit;font-size:13px}.exp-select{color:var(--exp-text-primary);cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;outline:none;padding:8px 12px;font-family:inherit;font-size:13px}.exp-select:focus{border-color:var(--exp-primary)}.exp-btn{font-family:var(--exp-font);border-radius:var(--exp-radius-sm);cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:7px;padding:8px 14px;font-size:13px;font-weight:600;line-height:1;transition:all .15s;display:inline-flex}.exp-btn:active{transform:translateY(1px)}.exp-btn-primary{background:var(--exp-primary);color:#fff;box-shadow:0 1px 4px #4c806b4d}.exp-btn-primary:hover:not(:disabled){background:var(--exp-primary-dark)}.exp-btn:disabled,.exp-btn-primary:disabled,.exp-btn.disabled,.exp-btn-primary.disabled{opacity:.45!important;cursor:not-allowed!important;box-shadow:none!important;pointer-events:none!important;background:#9ca3af!important;border-color:#9ca3af!important}.exp-btn-secondary{color:#4c806b;background:#ebf5f0;border:1px solid #a7d7c5;font-weight:700}.exp-btn-secondary:hover{background:#d8ece3;border-color:#4c806b}.exp-btn-outline{color:#374151;background:#fff;border:1px solid #d1d5db}.exp-btn-outline:hover{background:#f3f4f6}.exp-scroll-content{flex-direction:column;flex:1;padding:20px 24px 40px;display:flex;overflow-y:auto}.exp-table-wrapper{border:1px solid var(--exp-border);background:#fff;border-radius:10px;overflow-x:auto;box-shadow:0 1px 3px #0000000d}.exp-table{border-collapse:collapse;background:#fff;width:100%;font-size:13px}.exp-table th{text-transform:uppercase;letter-spacing:.05em;color:#6b7280;text-align:left;border-bottom:1px solid var(--exp-border);white-space:nowrap;z-index:1;background:#f9fafb;padding:10px 14px;font-size:11px;font-weight:700;position:sticky;top:0}.exp-table td{vertical-align:middle;color:#374151;border-bottom:1px solid #f3f4f6;padding:12px 14px;font-size:13px}.exp-table tbody tr:nth-child(2n){background:#fafafa}.exp-table tbody tr:hover td{background:#f0f9f6}.exp-table tbody tr:last-child td{border-bottom:none}.exp-badge{border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:11.5px;font-weight:600;display:inline-flex}.exp-badge-manual{color:#374151;background:#f3f4f6}.exp-badge-system{background:var(--exp-purple-light);color:var(--exp-purple)}.exp-badge-vendor{color:#2d5a46;background:#ebf5f0;border:1px solid #c6e7d9}.exp-badge-advance{background:var(--exp-warning-light);color:var(--exp-warning)}.exp-badge-category{background:var(--exp-primary-light);color:var(--exp-primary-dark)}.exp-pagination{border-top:1px solid var(--exp-border);color:var(--exp-text-muted);background:#fafafa;justify-content:space-between;align-items:center;padding:12px 16px;font-size:12.5px;display:flex}.exp-page-btn{border-radius:var(--exp-radius-sm);border:1px solid var(--exp-border);cursor:pointer;color:var(--exp-text-primary);background:#fff;padding:5px 10px;font-size:12px;font-weight:500}.exp-page-btn:disabled{opacity:.4;cursor:not-allowed}.exp-page-btn:hover:not(:disabled){background:#f3f4f6}.exp-empty{text-align:center;padding:60px 24px}.exp-empty-icon{margin-bottom:12px;font-size:40px}.exp-empty-title{color:var(--exp-text-primary);margin-bottom:4px;font-size:16px;font-weight:700}.exp-empty-desc{color:var(--exp-text-muted);max-width:400px;margin:0 auto;font-size:13px}.exp-right-panel{border-left:1px solid var(--exp-border);border-top:6px solid var(--exp-primary);z-index:40;background-color:#fff;flex-direction:column;flex-shrink:0;width:500px;min-width:460px;max-width:560px;height:100%;animation:.22s cubic-bezier(.16,1,.3,1) expSlideInRight;display:flex;overflow:hidden;box-shadow:-4px 0 24px #00000014}@keyframes expSlideInRight{0%{opacity:.8;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.exp-right-panel-header{border-bottom:1px solid var(--exp-border);background-color:#fff;flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.exp-right-panel-title{color:#111827;margin:0;font-size:17px;font-weight:800}.exp-right-panel-subtitle{color:#6b7280;margin:3px 0 0;font-size:12px}.exp-right-panel-close{cursor:pointer;color:#6b7280;background:#f3f4f6;border:none;border-radius:14px;justify-content:center;align-items:center;width:28px;height:28px;transition:all .12s;display:flex}.exp-right-panel-close:hover{color:#111827;background:#e5e7eb}.exp-right-panel-body{flex:1;padding:24px;overflow-y:auto}.exp-right-panel-footer{border-top:1px solid var(--exp-border);box-sizing:border-box;background-color:#fff;flex-shrink:0;align-items:center;gap:12px;padding:18px 24px;display:flex}.exp-right-panel-footer .exp-btn{border-radius:8px;justify-content:center;height:44px;font-size:14px;font-weight:600}.exp-right-panel-footer .exp-btn-outline{color:#374151;border:1.5px solid #d1d5db;flex:1}.exp-right-panel-footer .exp-btn-primary{flex:2;font-weight:700;box-shadow:0 2px 8px #4c806b40}.exp-right-panel-footer .exp-btn-primary:disabled,.exp-right-panel-footer .exp-btn-primary.disabled{box-shadow:none!important;cursor:not-allowed!important;opacity:.45!important;background:#9ca3af!important;border-color:#9ca3af!important}.gf-field{margin-bottom:22px;position:relative}.gf-label{color:#4b5563;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:12px;font-weight:700;transition:color .18s;display:block}.gf-field:focus-within .gf-label{color:var(--exp-primary)}.gf-input-container{align-items:center;width:100%;display:flex;position:relative}.gf-input{font-family:var(--exp-font);color:#111827;box-shadow:none;box-sizing:border-box;background:#f9fafb;border:none;border-bottom:2px solid #d1d5db;border-radius:6px 6px 0 0;outline:none;width:100%;padding:12px 14px;font-size:15px;font-weight:500;transition:background .18s,border-color .18s}.gf-input:hover{background:#f3f4f6;border-bottom-color:#9ca3af}.gf-input:focus{background:#f0f9f6;border-bottom-color:#d1d5db}.gf-input::placeholder{color:#9ca3af;font-weight:400}.exp-module input[type=number]::-webkit-outer-spin-button,.exp-module input[type=number]::-webkit-inner-spin-button,.exp-right-panel input[type=number]::-webkit-outer-spin-button,.exp-right-panel input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.exp-module input[type=number],.exp-right-panel input[type=number]{-moz-appearance:textfield;appearance:textfield}.gf-line-anim{background:var(--exp-primary);transform-origin:50%;pointer-events:none;z-index:2;height:2.5px;transition:transform .26s cubic-bezier(.4,0,.2,1);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.gf-field:focus-within .gf-line-anim{transform:scaleX(1)}.gf-date-btn{font-size:14.5px;font-family:var(--exp-font);color:#111827;cursor:pointer;box-sizing:border-box;background:#f9fafb;border:none;border-bottom:2px solid #d1d5db;border-radius:6px 6px 0 0;justify-content:space-between;align-items:center;width:100%;padding:12px 14px;font-weight:600;transition:background .18s,border-color .18s;display:flex;position:relative}.gf-date-btn:hover{background:#f3f4f6;border-bottom-color:#9ca3af}.gf-date-btn:focus,.gf-date-btn:active{background:#f0f9f6;outline:none}.exp-cat-wrapper{margin-bottom:22px;position:relative}.exp-cat-dropdown-btn{font-size:14.5px;font-family:var(--exp-font);color:#111827;cursor:pointer;box-sizing:border-box;background:#f9fafb;border:none;border-bottom:2px solid #d1d5db;border-radius:6px 6px 0 0;justify-content:space-between;align-items:center;width:100%;padding:12px 14px;font-weight:600;transition:background .18s,border-color .18s;display:flex}.exp-cat-dropdown-btn:hover{background:#f3f4f6;border-bottom-color:#9ca3af}.exp-cat-dropdown-menu{z-index:50;background:#fff;border:1px solid #e5e7eb;border-radius:10px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden;box-shadow:0 10px 25px #0000001f}.exp-cat-add-opt{color:var(--exp-primary);cursor:pointer;background:#f0f9f6;border-bottom:1px solid #e5e7eb;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:700;transition:background .12s;display:flex}.exp-cat-add-opt:hover{background:#e0f2ec}.exp-cat-search-box{background:#fafafa;border-bottom:1px solid #f3f4f6;padding:8px 12px}.exp-cat-search-input{box-sizing:border-box;border:1px solid #d1d5db;border-radius:6px;outline:none;width:100%;padding:7px 10px;font-family:inherit;font-size:13px}.exp-cat-search-input:focus{border-color:var(--exp-primary)}.exp-cat-list{max-height:190px;overflow-y:auto}.exp-cat-item{color:#374151;cursor:pointer;justify-content:space-between;align-items:center;padding:9px 14px;font-size:13px;transition:background .1s;display:flex}.exp-cat-item:hover{color:#111827;background:#f3f4f6}.exp-cat-item.active{color:var(--exp-primary);background:#f0f9f6;font-weight:700}.exp-cat-inline-add{background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;margin-top:4px;padding:14px}.exp-cat-inline-input{border:1.5px solid var(--exp-primary);box-sizing:border-box;background:#fff;border-radius:6px;outline:none;width:100%;padding:9px 12px;font-family:inherit;font-size:14px}.exp-cat-suggestions{background:#fff;border:1px solid #e5e7eb;border-radius:6px;margin-top:8px;padding:8px 10px}.exp-cat-sugg-title{color:#6b7280;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:700}.exp-cat-sugg-item{color:var(--exp-primary);cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:4px 6px;font-size:12.5px;display:flex}.exp-cat-sugg-item:hover{background:#f0f9f6}.exp-payment-row{flex-direction:row;gap:8px;width:100%;margin-top:6px;display:flex}.exp-payment-opt-btn{cursor:pointer;color:#6b7280;box-sizing:border-box;background-color:#fff;border:1px solid #afbdb8;border-radius:10px;outline:none;flex-direction:row;flex:1;justify-content:center;align-items:center;gap:6px;padding:11px 8px;font-family:inherit;font-size:13.5px;font-weight:600;transition:all .15s;display:flex}.exp-payment-opt-btn:hover{color:#111827;background-color:#f8faf9;border-color:#4c806b}.exp-payment-opt-btn.active{color:#fff;background-color:#4c806b;border-color:#4c806b;box-shadow:0 2px 8px #4c806b47}.exp-toggle-switch{cursor:pointer;background-color:#d1d5db;border:none;border-radius:13px;outline:none;flex-shrink:0;align-items:center;width:46px;height:26px;padding:0;transition:background-color .2s,box-shadow .2s;display:inline-flex;position:relative}.exp-toggle-switch:hover{background-color:#9ca3af}.exp-toggle-switch.active{background-color:var(--exp-primary);box-shadow:0 2px 6px #4c806b4d}.exp-toggle-thumb{background-color:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s cubic-bezier(.4,0,.2,1);position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.exp-toggle-switch.active .exp-toggle-thumb{transform:translate(20px)}@media (width<=1080px){.exp-right-panel{z-index:100;width:90vw;max-width:500px;position:absolute;top:0;bottom:0;right:0}}@media (width<=900px){.exp-module{flex-direction:column;height:auto;min-height:100vh}.exp-sidebar{border-right:none;border-bottom:1px solid var(--exp-border);width:100%;min-width:100%}}