:root{--font-family: "Be Vietnam Pro", "Segoe UI", -apple-system, sans-serif;--font-ma: ui-monospace, "Cascadia Mono", Consolas, monospace;--bg-dark: #f3f1ea;--bg-card: #ffffff;--bg-card-hover: #f0eee6;--bg-sidebar: #e9e6db;--border-color: #d9d5c9;--border-light: #e7e3d8;--primary: #0e6b5c;--primary-hover: #0a4f44;--primary-light: #e2efec;--success: #14603e;--success-light: #ddf1e4;--warning: #b97d00;--warning-light: #fdf0cf;--danger: #b3261e;--danger-light: #fbe7e5;--text-main: #21322e;--text-muted: #6b7a74;--text-inverse: #fbfaf6;--indigo-bright: #0a5c4e;--emerald-bright: #14603e;--amber-bright: #8a5b00;--red-bright: #b3261e;--shadow-sm: 0 1px 0 rgba(33, 50, 46, .05);--shadow-md: 0 2px 8px rgba(33, 50, 46, .12);--shadow-lg: 0 12px 28px rgba(33, 50, 46, .18);--kc-2: 2px;--kc-4: .25rem;--kc-8: .5rem;--kc-12: .75rem;--kc-16: 1rem;--kc-20: 1.25rem;--kc-24: 1.5rem;--kc-32: 2rem;--hover-hang: #f6f4ec;--tab-nghi: #efece2;--radius-sm: 3px;--radius-md: 4px;--radius-lg: 6px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);font-variant-numeric:tabular-nums;background-color:var(--bg-dark);color:var(--text-main);min-height:100vh;-webkit-font-smoothing:antialiased}.app-container{display:flex;flex-direction:row;height:100vh;overflow:hidden}.sidebar{width:190px;background-color:var(--bg-sidebar);border-right:1px solid var(--border-color);display:flex;flex-direction:column;gap:0;padding:var(--kc-12) 0 var(--kc-12) var(--kc-8);flex-shrink:0;overflow-y:auto}.sidebar .brand-text h1{font-size:.95rem!important}.nav-item,.nav-item button{display:flex;align-items:center;gap:.5rem;padding:var(--kc-8) var(--kc-12);margin-bottom:3px;border:1px solid var(--border-color);border-right:none;border-radius:var(--radius-sm) 0 0 var(--radius-sm);background:var(--tab-nghi);color:var(--text-muted);font-size:.85rem;font-weight:600;cursor:pointer;font-family:inherit;white-space:nowrap;transition:background .15s ease,color .15s ease;text-align:left;width:100%}.nav-item:hover,.nav-item button:hover{background:var(--bg-card);color:var(--text-main)}.nav-item.active,.nav-item button.active{background:var(--bg-card)!important;color:var(--primary-hover)!important;font-weight:800;border-left:2px solid var(--primary)}.nav-item svg{width:15px;height:15px;flex-shrink:0}.main-wrapper{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.main-content{flex:1;padding:var(--kc-16) var(--kc-20);overflow-y:auto;overflow-x:hidden}.top-bar{height:44px;border-bottom:2px solid var(--primary);display:flex;align-items:center;justify-content:space-between;padding:0 1.25rem;background-color:var(--bg-card);position:sticky;top:0;z-index:100}.page-title{font-size:1.05rem;font-weight:800;letter-spacing:.02em}.user-badge{display:flex;align-items:center;gap:.75rem;font-size:.9rem;color:var(--text-muted)}.avatar{width:30px;height:30px;border-radius:var(--radius-sm);background-color:var(--primary);color:var(--text-inverse);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.8rem}.grid-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:0;border:1px solid var(--border-color);background:var(--border-color);grid-auto-rows:1fr;margin-bottom:1.25rem}.grid-stats>*{margin:0}.stat-card{background-color:var(--bg-card);border:none;outline:1px solid var(--border-color);border-radius:0;padding:var(--kc-12) var(--kc-16);display:flex;align-items:flex-start;justify-content:space-between;transition:background .15s ease}.stat-card:hover{background:var(--bg-card-hover);transform:none;box-shadow:none}.stat-info .title{font-size:.72rem;color:var(--text-muted);margin-bottom:.35rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.stat-info .value{font-size:1.5rem;font-weight:800;letter-spacing:-.01em}.stat-icon{width:40px;height:40px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.stat-icon.primary{background-color:var(--primary-light);color:var(--primary)}.stat-icon.success{background-color:var(--success-light);color:var(--success)}.stat-icon.warning{background-color:var(--warning-light);color:var(--warning)}.stat-icon.danger{background-color:var(--danger-light);color:var(--danger)}.card-table{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:0;overflow-x:clip;overflow-y:visible;box-shadow:none}.table-header-tools{padding:var(--kc-12) var(--kc-16);border-bottom:2px solid var(--text-main);display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.search-input{background-color:var(--bg-dark);border:1px solid var(--border-color);color:var(--text-main);padding:var(--kc-8) var(--kc-12);border-radius:var(--radius-sm);font-size:.85rem;outline:none;font-family:inherit;width:260px}.search-input:focus{border-color:var(--primary)}table{width:100%;border-collapse:collapse;text-align:left;font-size:.85rem}th{background-color:var(--primary);color:var(--text-inverse);font-weight:700;padding:var(--kc-8) var(--kc-12);border:1px solid var(--primary-hover);text-transform:uppercase;font-size:.7rem;letter-spacing:.07em;white-space:nowrap}td{padding:var(--kc-8) var(--kc-12);border:1px solid var(--border-light);color:var(--text-main);white-space:nowrap;max-width:240px;overflow:hidden;text-overflow:ellipsis;background:var(--bg-card)}.table-dense th,.table-dense td{padding:var(--kc-4) var(--kc-8)!important}tr:last-child td{border-bottom:1px solid var(--border-light)}tr:hover td{background-color:var(--hover-hang)}.row-huy td{color:var(--text-muted);text-decoration:line-through;text-decoration-color:var(--danger);text-decoration-thickness:1.5px}.badge{display:inline-flex;align-items:center;padding:var(--kc-2) var(--kc-8);border-radius:2px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.badge.success{background-color:var(--success-light);color:var(--success)}.badge.warning{background-color:var(--warning-light);color:var(--warning)}.badge.danger{background-color:var(--danger-light);color:var(--danger)}.badge.info{background-color:var(--primary-light);color:var(--primary)}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:var(--kc-8) var(--kc-16);border-radius:var(--radius-sm);font-size:.85rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:background .15s ease;font-family:inherit}.btn-primary{background-color:var(--primary);color:var(--text-inverse);border-color:var(--primary-hover)}.btn-primary:hover{background-color:var(--primary-hover);box-shadow:none}.btn-secondary{background-color:var(--bg-card);border:1px solid var(--text-muted);color:var(--text-main)}.btn-secondary:hover{background-color:var(--bg-dark)}.btn-sm{padding:.3rem .7rem;font-size:.78rem}.btn-saas-new{background:var(--primary);color:var(--text-inverse);font-weight:800;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;padding:0 .85rem;height:28px;border-radius:var(--radius-sm);border:1px solid var(--primary-hover);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:none;transition:background .15s ease;font-family:inherit}.btn-saas-new:hover{background:var(--primary-hover);transform:none;box-shadow:none}.btn-saas-new:active{transform:none}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#21322e73;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background-color:var(--bg-card);border:1.5px solid var(--text-main);border-radius:var(--radius-sm);width:100%;max-width:540px;padding:1.25rem;box-shadow:var(--shadow-lg);max-height:90vh;overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;border-bottom:2px solid var(--text-main);padding-bottom:.6rem}.modal-header h3{font-size:1rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.close-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1.25rem}.close-btn:hover{color:var(--danger)}.form-group{margin-bottom:.9rem}.form-group label{display:block;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:.35rem}.form-control{width:100%;background-color:var(--bg-card);border:1px solid var(--border-color);color:var(--text-main);padding:var(--kc-8) var(--kc-12);border-radius:2px;font-size:.9rem;outline:none;font-family:inherit}select.form-control,select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236b7a74' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat!important;background-position:right .4rem center!important;padding-right:1.5rem!important}select.form-control-warning{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23b97d00' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right .4rem center!important}.form-control:focus{border:1.5px solid var(--primary)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.empty-state{padding:2rem;text-align:center;color:var(--text-muted)}.no-spinner::-webkit-outer-spin-button,.no-spinner::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.no-spinner{-moz-appearance:textfield}:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.form-control:focus-visible,.search-input:focus-visible{outline:none;border-color:var(--primary)}.ma-so{font-family:var(--font-ma);font-weight:700;letter-spacing:.02em}html[data-theme]:not([data-theme=so-tinh]) .chi-so-tinh{display:none!important}html[data-theme=fiori] th,html[data-theme=dynamics] th,html[data-theme=salesforce] th,html[data-theme=odoo] th,html[data-theme=workday] th{background:var(--bg-card);color:var(--text-muted);border:none;border-bottom:1px solid var(--border-color);font-weight:600}html[data-theme=fiori] td,html[data-theme=dynamics] td,html[data-theme=salesforce] td,html[data-theme=odoo] td,html[data-theme=workday] td{border:none;border-bottom:1px solid var(--border-light)}html[data-theme=fiori] .nav-item,html[data-theme=dynamics] .nav-item,html[data-theme=salesforce] .nav-item,html[data-theme=odoo] .nav-item,html[data-theme=workday] .nav-item,html[data-theme=fiori] .nav-item button,html[data-theme=dynamics] .nav-item button,html[data-theme=salesforce] .nav-item button,html[data-theme=odoo] .nav-item button,html[data-theme=workday] .nav-item button{background:transparent;border:none;border-radius:var(--radius-sm);margin-right:var(--kc-8)}html[data-theme=fiori] .nav-item.active,html[data-theme=dynamics] .nav-item.active,html[data-theme=salesforce] .nav-item.active,html[data-theme=odoo] .nav-item.active,html[data-theme=workday] .nav-item.active,html[data-theme=fiori] .nav-item button.active,html[data-theme=dynamics] .nav-item button.active,html[data-theme=salesforce] .nav-item button.active,html[data-theme=odoo] .nav-item button.active,html[data-theme=workday] .nav-item button.active{background:var(--primary-light)!important;color:var(--primary-hover)!important;border-left:none}html[data-theme=fiori] .grid-stats,html[data-theme=dynamics] .grid-stats,html[data-theme=salesforce] .grid-stats,html[data-theme=odoo] .grid-stats,html[data-theme=workday] .grid-stats{gap:.75rem;border:none;background:transparent}html[data-theme=fiori] .stat-card,html[data-theme=dynamics] .stat-card,html[data-theme=salesforce] .stat-card,html[data-theme=odoo] .stat-card,html[data-theme=workday] .stat-card{outline:none;border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}html[data-theme=fiori] .card-table,html[data-theme=dynamics] .card-table,html[data-theme=salesforce] .card-table,html[data-theme=odoo] .card-table,html[data-theme=workday] .card-table{border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}html[data-theme=fiori] .top-bar,html[data-theme=dynamics] .top-bar,html[data-theme=salesforce] .top-bar,html[data-theme=odoo] .top-bar,html[data-theme=workday] .top-bar{border-bottom:1px solid var(--border-color)}html[data-theme=fiori]{--hover-hang: #f0f4f8;--tab-nghi: #f5f6f7;--bg-dark: #f5f6f7;--bg-card: #ffffff;--bg-card-hover: #f0f4f8;--bg-sidebar: #ffffff;--border-color: #e5e9ed;--border-light: #eef1f4;--primary: #0070f2;--primary-hover: #0059d6;--primary-light: #eaf3fe;--success: #188918;--success-light: #ebf8eb;--warning: #c35500;--warning-light: #fef0e6;--danger: #d20a0a;--danger-light: #fde9e9;--text-main: #1d2d3e;--text-muted: #556b82;--text-inverse: #ffffff;--indigo-bright: #0064d9;--emerald-bright: #188918;--amber-bright: #c35500;--red-bright: #cc1919;--shadow-sm: 0 0 2px rgba(34, 54, 73, .16), 0 2px 4px rgba(34, 54, 73, .08);--shadow-md: 0 2px 8px rgba(34, 54, 73, .16);--shadow-lg: 0 10px 28px rgba(34, 54, 73, .22);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px}html[data-theme=fiori] .stat-info .value{font-weight:400}html[data-theme=dynamics]{--hover-hang: #f3f2f1;--tab-nghi: #faf9f8;--font-family: "Segoe UI", "Be Vietnam Pro", system-ui, sans-serif;--bg-dark: #faf9f8;--bg-card: #ffffff;--bg-card-hover: #f3f2f1;--bg-sidebar: #f3f2f1;--border-color: #edebe9;--border-light: #f3f2f1;--primary: #0078d4;--primary-hover: #106ebe;--primary-light: #eff6fc;--success: #107c10;--success-light: #dff6dd;--warning: #986f0b;--warning-light: #fff4ce;--danger: #a4262c;--danger-light: #fde7e9;--text-main: #242424;--text-muted: #605e5c;--text-inverse: #ffffff;--indigo-bright: #0067b8;--emerald-bright: #107c10;--amber-bright: #986f0b;--red-bright: #a4262c;--shadow-sm: 0 1.6px 3.6px rgba(0, 0, 0, .06);--shadow-md: 0 3.2px 7.2px rgba(0, 0, 0, .11);--shadow-lg: 0 12px 26px rgba(0, 0, 0, .16);--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px}html[data-theme=salesforce]{--hover-hang: #f7f9fb;--tab-nghi: #fafaf9;--bg-dark: #f3f3f3;--bg-card: #ffffff;--bg-card-hover: #f7f9fb;--bg-sidebar: #ffffff;--border-color: #e5e5e5;--border-light: #f0f0f0;--primary: #0176d3;--primary-hover: #014486;--primary-light: #eef4ff;--success: #2e844a;--success-light: #ebf7e6;--warning: #a86403;--warning-light: #fef1de;--danger: #ba0517;--danger-light: #feded8;--text-main: #181818;--text-muted: #444444;--text-inverse: #ffffff;--indigo-bright: #0b5cab;--emerald-bright: #2e844a;--amber-bright: #a86403;--red-bright: #ba0517;--shadow-sm: 0 2px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 8px rgba(0, 0, 0, .12);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .18);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px}html[data-theme=salesforce] .top-bar{border-bottom:3px solid var(--primary)}html[data-theme=odoo]{--hover-hang: #f4f2f6;--tab-nghi: transparent;--bg-dark: #f9f9fb;--bg-card: #ffffff;--bg-card-hover: #f4f2f6;--bg-sidebar: #714b67;--border-color: #e7e9ed;--border-light: #eff1f4;--primary: #714b67;--primary-hover: #5e3f56;--primary-light: #f1ebf0;--success: #28a745;--success-light: #e6f4ea;--warning: #9a6b2f;--warning-light: #fce9d0;--danger: #dc3545;--danger-light: #fbe9eb;--text-main: #374151;--text-muted: #6b7280;--text-inverse: #ffffff;--indigo-bright: #714b67;--emerald-bright: #28a745;--amber-bright: #9a6b2f;--red-bright: #dc3545;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 3px 9px rgba(0, 0, 0, .12);--shadow-lg: 0 10px 26px rgba(0, 0, 0, .18);--radius-sm: 4px;--radius-md: 6px;--radius-lg: 10px}html[data-theme=odoo] .sidebar{border-right:none}html[data-theme=odoo] .nav-item,html[data-theme=odoo] .nav-item button{color:#ffffffbf}html[data-theme=odoo] .nav-item:hover,html[data-theme=odoo] .nav-item button:hover{background:#ffffff1a;color:#fff}html[data-theme=odoo] .nav-item.active,html[data-theme=odoo] .nav-item button.active{background:#ffffff2e!important;color:#fff!important}html[data-theme=odoo] .sidebar .brand-text h1,html[data-theme=odoo] .sidebar .brand-text>div{color:#fff!important}html[data-theme=workday]{--hover-hang: #f2f6fb;--tab-nghi: #fafbfc;--bg-dark: #f6f7f8;--bg-card: #ffffff;--bg-card-hover: #f2f6fb;--bg-sidebar: #ffffff;--border-color: #eef0f2;--border-light: #f4f6f7;--primary: #0875e1;--primary-hover: #0662be;--primary-light: #e8f2fd;--success: #2a9134;--success-light: #e5f4e7;--warning: #8a6116;--warning-light: #fff3d9;--danger: #c42d2d;--danger-light: #fbe9e9;--text-main: #333a42;--text-muted: #6b7684;--text-inverse: #ffffff;--indigo-bright: #0875e1;--emerald-bright: #2a9134;--amber-bright: #8a6116;--red-bright: #c42d2d;--shadow-sm: 0 1px 3px rgba(40, 50, 60, .08);--shadow-md: 0 4px 12px rgba(40, 50, 60, .12);--shadow-lg: 0 12px 30px rgba(40, 50, 60, .16);--radius-sm: 10px;--radius-md: 12px;--radius-lg: 16px}html[data-theme=workday] .badge{border-radius:999px}html[data-theme=workday] .avatar{border-radius:50%}html[data-theme=netsuite]{--hover-hang: #eef0f3;--tab-nghi: transparent;--font-family: Arial, "Segoe UI", "Be Vietnam Pro", sans-serif;--bg-dark: #f2f3f5;--bg-card: #ffffff;--bg-card-hover: #eef0f3;--bg-sidebar: #383838;--border-color: #d5d8dd;--border-light: #e4e6ea;--primary: #607799;--primary-hover: #4d5f7a;--primary-light: #e8eaee;--success: #2a7a2a;--success-light: #e8f3e8;--warning: #c46e00;--warning-light: #fdf0dc;--danger: #b02a37;--danger-light: #f9e5e7;--text-main: #333333;--text-muted: #666f7a;--text-inverse: #ffffff;--indigo-bright: #3c5a8c;--emerald-bright: #2a7a2a;--amber-bright: #c46e00;--red-bright: #b02a37;--shadow-sm: none;--shadow-md: 0 2px 6px rgba(0, 0, 0, .18);--shadow-lg: 0 8px 22px rgba(0, 0, 0, .25);--radius-sm: 2px;--radius-md: 3px;--radius-lg: 4px}html[data-theme=netsuite] th{background:#e8eaee;color:#444c5c;border:1px solid var(--border-color)}html[data-theme=netsuite] td{border:1px solid var(--border-light)}html[data-theme=netsuite] tbody tr:nth-child(2n) td{background:#f7f8fa}html[data-theme=netsuite] .sidebar{border-right:none}html[data-theme=netsuite] .nav-item,html[data-theme=netsuite] .nav-item button{background:transparent;border:none;border-radius:var(--radius-sm);color:#c9cdd3;margin-right:var(--kc-8)}html[data-theme=netsuite] .nav-item:hover,html[data-theme=netsuite] .nav-item button:hover{background:#ffffff14;color:#fff}html[data-theme=netsuite] .nav-item.active,html[data-theme=netsuite] .nav-item button.active{background:#4a4a4a!important;color:#f9803c!important;border-left:2px solid #f9803c}html[data-theme=netsuite] .sidebar .brand-text h1,html[data-theme=netsuite] .sidebar .brand-text>div{color:#fff!important}html[data-theme=ca-dem]{--hover-hang: rgba(255, 255, 255, .04);--tab-nghi: transparent;--bg-dark: #0f172a;--bg-card: #1e293b;--bg-card-hover: #334155;--bg-sidebar: #090d16;--border-color: #334155;--border-light: #1e293b;--primary: #6366f1;--primary-hover: #4f46e5;--primary-light: rgba(99, 102, 241, .15);--success: #10b981;--success-light: rgba(16, 185, 129, .15);--warning: #f59e0b;--warning-light: rgba(245, 158, 11, .15);--danger: #ef4444;--danger-light: rgba(239, 68, 68, .15);--text-main: #f8fafc;--text-muted: #94a3b8;--text-inverse: #ffffff;--indigo-bright: #818cf8;--emerald-bright: #34d399;--amber-bright: #fbbf24;--red-bright: #f87171;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .2);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -1px rgba(0, 0, 0, .2);--shadow-lg: 0 10px 25px -5px rgba(0, 0, 0, .4), 0 8px 10px -6px rgba(0, 0, 0, .3);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px}html[data-theme=ca-dem] th{background:#0003;color:var(--text-muted);border:none;border-bottom:1px solid var(--border-color)}html[data-theme=ca-dem] td{border:none;border-bottom:1px solid var(--border-color)}html[data-theme=ca-dem] .nav-item,html[data-theme=ca-dem] .nav-item button{background:transparent;border:none;border-radius:var(--radius-sm);margin-right:var(--kc-8)}html[data-theme=ca-dem] .nav-item:hover,html[data-theme=ca-dem] .nav-item button:hover{background:#ffffff14}html[data-theme=ca-dem] .nav-item.active,html[data-theme=ca-dem] .nav-item button.active{background:var(--primary)!important;color:#fff!important;border-left:none}html[data-theme=ca-dem] .grid-stats{gap:1rem;border:none;background:transparent}html[data-theme=ca-dem] .stat-card{outline:none;border:1px solid var(--border-color);border-radius:var(--radius-md)}html[data-theme=ca-dem] .card-table{border-radius:var(--radius-md)}html[data-theme=ca-dem] .vong-bi ellipse{stroke:#93c5fd}
