@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400;1,600&family=Outfit:wght@500;600;700;800&display=swap";:root{--md-sys-color-primary: #3B50DF;--md-sys-color-on-primary: #FFFFFF;--md-sys-color-primary-container: #EBEFFF;--md-sys-color-on-primary-container: #101B6B;--md-sys-color-primary-light: #6366F1;--md-sys-color-primary-dark: #2738B5;--md-sys-color-primary-alpha: rgba(59, 80, 223, .12);--md-sys-color-secondary: #0284C7;--md-sys-color-on-secondary: #FFFFFF;--md-sys-color-secondary-container: #E0F2FE;--md-sys-color-on-secondary-container: #03456C;--md-sys-color-secondary-alpha: rgba(2, 132, 199, .12);--md-sys-color-success: #059669;--md-sys-color-on-success: #FFFFFF;--md-sys-color-success-container: #D1FAE5;--md-sys-color-on-success-container: #064E3B;--md-sys-color-success-bg: rgba(16, 185, 129, .12);--md-sys-color-warning: #D97706;--md-sys-color-on-warning: #FFFFFF;--md-sys-color-warning-container: #FEF3C7;--md-sys-color-on-warning-container: #78350F;--md-sys-color-warning-bg: rgba(245, 158, 11, .12);--md-sys-color-danger: #DC2626;--md-sys-color-on-danger: #FFFFFF;--md-sys-color-danger-container: #FEE2E2;--md-sys-color-on-danger-container: #7F1D1D;--md-sys-color-danger-bg: rgba(239, 68, 68, .12);--md-sys-color-info: #2563EB;--md-sys-color-info-container: #DBEAFE;--md-sys-color-on-info-container: #1E40AF;--md-sys-color-surface: #F8FAFC;--md-sys-color-surface-dim: #F1F5F9;--md-sys-color-surface-container-lowest: #FFFFFF;--md-sys-color-surface-container-low: #F8FAFC;--md-sys-color-surface-container: #FFFFFF;--md-sys-color-surface-container-high: #F1F5F9;--md-sys-color-surface-container-highest: #E2E8F0;--md-sys-color-outline: #E2E8F0;--md-sys-color-outline-variant: #CBD5E1;--md-sys-color-on-surface: #0F172A;--md-sys-color-on-surface-variant: #64748B;--md-sys-color-on-surface-muted: #94A3B8;--color-primary: var(--md-sys-color-primary);--color-primary-light: var(--md-sys-color-primary-light);--color-primary-dark: var(--md-sys-color-primary-dark);--color-primary-alpha: var(--md-sys-color-primary-alpha);--color-secondary: var(--md-sys-color-secondary);--color-success: var(--md-sys-color-success);--color-success-bg: var(--md-sys-color-success-bg);--color-warning: var(--md-sys-color-warning);--color-warning-bg: var(--md-sys-color-warning-bg);--color-danger: var(--md-sys-color-danger);--color-danger-bg: var(--md-sys-color-danger-bg);--color-info: var(--md-sys-color-info);--color-bg-app: var(--md-sys-color-surface);--color-bg-card: var(--md-sys-color-surface-container);--color-bg-hover: var(--md-sys-color-surface-container-high);--color-border: var(--md-sys-color-outline);--color-text-main: var(--md-sys-color-on-surface);--color-text-muted: var(--md-sys-color-on-surface-variant);--color-text-inverse: #FFFFFF;--font-family: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-display: "Outfit", "Plus Jakarta Sans", sans-serif;--elevation-1: 0 1px 3px 1px rgba(0, 0, 0, .05), 0 1px 2px 0 rgba(0, 0, 0, .04);--elevation-2: 0 2px 6px 2px rgba(0, 0, 0, .06), 0 1px 2px 0 rgba(0, 0, 0, .04);--elevation-3: 0 4px 12px 3px rgba(0, 0, 0, .07), 0 1px 3px 0 rgba(0, 0, 0, .04);--elevation-4: 0 8px 24px 4px rgba(0, 0, 0, .08), 0 2px 6px 0 rgba(0, 0, 0, .04);--elevation-5: 0 16px 36px 6px rgba(0, 0, 0, .12), 0 4px 12px 0 rgba(0, 0, 0, .06);--shadow-sm: var(--elevation-1);--shadow-md: var(--elevation-2);--shadow-lg: var(--elevation-3);--shadow-hover: var(--elevation-4);--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 24px;--radius-full: 9999px;--motion-easing-standard: cubic-bezier(.2, 0, 0, 1);--motion-easing-emphasized: cubic-bezier(.2, 0, 0, 1.2);--motion-duration-short: .15s;--motion-duration-medium: .25s;--motion-duration-long: .4s;--transition-fast: var(--motion-duration-short) var(--motion-easing-standard);--transition-normal: var(--motion-duration-medium) var(--motion-easing-standard)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-family);background-color:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);line-height:1.5;letter-spacing:-.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100%;display:flex}.text-h1{font-family:var(--font-display);font-size:2rem;font-weight:700;line-height:1.2;letter-spacing:-.03em;color:var(--md-sys-color-on-surface)}.text-h2{font-family:var(--font-display);font-size:1.45rem;font-weight:700;line-height:1.3;letter-spacing:-.025em;color:var(--md-sys-color-on-surface)}.text-h3{font-size:1.15rem;font-weight:700;letter-spacing:-.015em;color:var(--md-sys-color-on-surface)}.text-body{font-size:.95rem;font-weight:400;line-height:1.5}.text-sm{font-size:.85rem}.text-xs{font-size:.75rem}.text-muted{color:var(--md-sys-color-on-surface-variant)}.text-primary{color:var(--md-sys-color-primary)}.text-success{color:var(--md-sys-color-success)}.text-warning{color:var(--md-sys-color-warning)}.text-danger{color:var(--md-sys-color-danger)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1;min-width:0}.w-full{width:100%}.h-full{height:100%}.grid{display:grid}.relative{position:relative}.overflow-hidden{overflow:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:var(--radius-full)}.card{background-color:var(--md-sys-color-surface-container);border-radius:var(--radius-xl);box-shadow:var(--elevation-1);border:1px solid var(--md-sys-color-outline);transition:box-shadow var(--transition-normal),transform var(--transition-normal),border-color var(--transition-normal);position:relative}.card:hover{box-shadow:var(--elevation-2)}.card-elevated{background-color:var(--md-sys-color-surface-container);border-radius:var(--radius-xl);box-shadow:var(--elevation-2);border:1px solid var(--md-sys-color-outline);transition:box-shadow var(--transition-normal),transform var(--transition-normal)}.card-elevated:hover{box-shadow:var(--elevation-4);transform:translateY(-2px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.55rem 1.15rem;font-size:.875rem;font-weight:600;border-radius:var(--radius-full);border:1px solid transparent;cursor:pointer;transition:all var(--transition-fast);outline:none;font-family:var(--font-family);white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary,.btn-filled{background:linear-gradient(135deg,var(--md-sys-color-primary) 0%,var(--md-sys-color-primary-dark) 100%);color:var(--md-sys-color-on-primary);box-shadow:0 2px 8px #3b50df59}.btn-primary:hover:not(:disabled),.btn-filled:hover:not(:disabled){box-shadow:0 4px 14px #3b50df73;filter:brightness(1.05);transform:translateY(-1px)}.btn-secondary,.btn-tonal{background-color:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border:1px solid transparent}.btn-secondary:hover:not(:disabled),.btn-tonal:hover:not(:disabled){background-color:#dee4fe;transform:translateY(-1px)}.btn-outlined{background-color:transparent;color:var(--md-sys-color-on-surface);border:1px solid var(--md-sys-color-outline-variant)}.btn-outlined:hover:not(:disabled){background-color:var(--md-sys-color-surface-container-high);border-color:var(--md-sys-color-primary);color:var(--md-sys-color-primary)}.btn-ghost,.btn-text{background-color:transparent;color:var(--md-sys-color-on-surface-variant);border:1px solid transparent}.btn-ghost:hover:not(:disabled),.btn-text:hover:not(:disabled){background-color:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface)}.input,.select{width:100%;padding:.65rem 1rem;font-size:.9rem;line-height:1.5;color:var(--md-sys-color-on-surface);background-color:var(--md-sys-color-surface-container-lowest);border:1.5px solid var(--md-sys-color-outline);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);font-family:var(--font-family);outline:none}.input:hover,.select:hover{border-color:var(--md-sys-color-outline-variant);background-color:#fafafa}.input:focus,.select:focus{border-color:var(--md-sys-color-primary);box-shadow:0 0 0 3.5px var(--md-sys-color-primary-alpha);background-color:#fff}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;font-size:.725rem;font-weight:700;border-radius:var(--radius-full);letter-spacing:.02em;white-space:nowrap;transition:all var(--transition-fast);border:1px solid transparent}.badge-chờ-nhận,.badge-cho-nhan{background-color:var(--md-sys-color-warning-container);color:var(--md-sys-color-on-warning-container);border-color:#d9770640}.badge-đang-thực-hiện,.badge-dang-thuc-hien{background-color:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);border-color:#0284c740}.badge-hoàn-thành,.badge-hoan-thanh{background-color:var(--md-sys-color-success-container);color:var(--md-sys-color-on-success-container);border-color:#05966940}.badge-đã-hủy,.badge-da-huy{background-color:var(--md-sys-color-danger-container);color:var(--md-sys-color-on-danger-container);border-color:#dc262640}.badge-appsheet{background-color:#eef2ff;color:#3730a3;border-color:#c7d2fe}.badge-vba{background-color:#f3e8ff;color:#6b21a8;border-color:#ddd6fe}.badge-đào-tạo,.badge-dao-tao{background-color:#ecfdf5;color:#065f46;border-color:#a7f3d0}.badge-ai{background-color:#fff7ed;color:#9a3412;border-color:#fed7aa}.badge-google-sheet,.badge-google-sheets{background-color:#ecfeff;color:#155e75;border-color:#a5f3fc}.badge-default{background-color:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface-variant);border-color:var(--md-sys-color-outline)}.glass{background:#ffffffd1;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(226,232,240,.8)}table{border-collapse:separate;border-spacing:0;width:100%}table th{text-align:left;font-weight:700;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;color:var(--md-sys-color-on-surface-variant);background-color:var(--md-sys-color-surface-container-high);padding:.85rem 1rem}table td{padding:.95rem 1rem;font-size:.875rem;color:var(--md-sys-color-on-surface);border-bottom:1px solid var(--md-sys-color-outline)}.hover-row{transition:background-color var(--transition-fast),transform var(--transition-fast)}.hover-row:hover{background-color:#f8fafc!important}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fadeIn .2s ease-out forwards}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.recharts-wrapper,.recharts-wrapper svg,.recharts-surface{outline:none!important}
