:root{color:#172b4d;font-synthesis:none;text-rendering:optimizelegibility;background:#f3f6fa;font-family:Inter,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100vh}.app-error-fallback{color:#172033;background:#f4f7fb;place-items:center;min-height:100vh;padding:24px;display:grid}.app-error-fallback section{text-align:center;background:#fff;border:1px solid #dfe6ef;border-radius:16px;width:min(520px,100%);padding:32px;box-shadow:0 12px 36px #0f23411a}.app-error-fallback h1{margin:0 0 12px;font-size:24px}.app-error-fallback p{color:#5b667a;margin:0 0 20px}.app-error-fallback button{color:#fff;font:inherit;cursor:pointer;background:#1677ff;border:0;border-radius:8px;padding:10px 18px}.portfolio-gantt-card{border:1px solid #e3eaf3;margin-top:16px}.portfolio-gantt-card .ant-card-head-title{white-space:normal;min-width:0}.portfolio-gantt-toolbar{background:#f8fafc;border:1px solid #e6ebf2;border-radius:8px;align-items:flex-end;gap:12px;margin:0 0 16px;padding:14px;display:flex}.portfolio-gantt-filter{flex-direction:column;flex:320px;gap:5px;min-width:260px;display:flex}.portfolio-gantt-filter>.ant-select{width:100%}.portfolio-gantt-sort{flex-basis:210px;min-width:180px;max-width:230px}.portfolio-gantt-actions{margin-left:auto}.portfolio-gantt-scroll{border-radius:8px;max-height:720px;position:relative;overflow:auto}.portfolio-gantt{border:1px solid #e6ebf2;border-radius:8px;min-width:1080px;overflow:visible}.portfolio-gantt-header,.portfolio-gantt-row{grid-template-columns:440px minmax(720px,1fr);min-height:48px;display:grid}.portfolio-gantt-header{z-index:8;background:#f5f7fa;min-height:44px;font-weight:600;position:sticky;top:0}.portfolio-project-label{z-index:7;box-sizing:border-box;background:#fff;border-right:1px solid #e6ebf2;position:sticky;left:0;box-shadow:3px 0 7px #0f172a1f}.portfolio-gantt-header>.portfolio-project-label{z-index:11;background:#f5f7fa}.portfolio-group-row>.portfolio-project-label{background:#f8fbff}.portfolio-resizable-label{align-items:center;gap:8px;display:flex;position:relative}.portfolio-column-width{margin-left:auto;font-size:11px;font-weight:400}.portfolio-label-resize-handle{z-index:12;cursor:col-resize;width:9px;position:absolute;top:0;bottom:0;right:-4px}.portfolio-label-resize-handle:after{content:"";background:#91a4bc;border-radius:2px;width:2px;position:absolute;top:8px;bottom:8px;right:4px}.portfolio-label-resize-handle:hover:after,body.portfolio-resizing .portfolio-label-resize-handle:after{background:#1677ff;width:3px}body.portfolio-resizing{-webkit-user-select:none;user-select:none;cursor:col-resize!important}.portfolio-gantt-exporting .portfolio-project-label,.portfolio-gantt-exporting .portfolio-gantt-header{position:static}.portfolio-gantt-exporting .portfolio-label-resize-handle,.portfolio-gantt-exporting .portfolio-column-width{display:none}.portfolio-gantt-scroll.portfolio-gantt-export-container{max-height:none;overflow:visible}.portfolio-gantt-header>.portfolio-project-label{padding:11px 14px}.portfolio-axis{display:flex}.portfolio-axis span{text-align:center;white-space:nowrap;border-right:1px solid #e2e8f0;padding:11px 8px}.portfolio-year-axis{align-items:stretch}.portfolio-year-group{text-align:center;border-right:2px solid #b8c5d6;flex-direction:column;min-width:0;display:flex}.portfolio-year-group>strong{color:#1e3a5f;height:25px;padding-top:4px}.portfolio-quarters{flex:1;display:flex}.portfolio-quarters span{color:#52657d;text-align:center;border-top:1px solid #dce3ec;border-right:1px solid #d5deea;padding:4px 0;font-size:11px;font-weight:600}.portfolio-gantt-body{position:relative}.portfolio-gantt-row{border-top:1px solid #edf0f5;min-height:64px}.portfolio-group-row{background:#f8fbff;min-height:55px}.portfolio-tree-label{align-items:center;gap:6px;padding:7px 10px;display:flex;overflow:hidden}.portfolio-expand{flex:0 0 24px;width:24px;padding:0}.portfolio-expand-spacer{flex:0 0 24px}.portfolio-name-button{color:#10233f;text-align:left;cursor:default;background:0 0;border:0;flex-direction:column;flex:1;gap:1px;min-width:0;padding:0;display:flex;overflow:hidden}.portfolio-group-row .portfolio-name-button{cursor:pointer}.portfolio-name-button strong{color:#64748b;font-size:11px}.portfolio-name-button span{overflow-wrap:anywhere;white-space:normal;line-height:1.35;overflow:visible}.portfolio-row-tags{flex:0 auto;min-width:0}.portfolio-row-tags .ant-tag:first-child{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.portfolio-row-tags .ant-tag{margin-inline-end:0}.portfolio-track{background-color:#fff;background-image:repeating-linear-gradient(90deg,#0000,#0000 calc(10% - 1px),#eef1f5 10%);position:relative}.portfolio-year-track{background-image:linear-gradient(90deg,#0000 calc(100% - 1px),#e1e8f0 calc(100% - 1px));background-repeat:repeat-x}.portfolio-group-row .portfolio-track{background-color:#f8fbff}.portfolio-project-bar{background:#dceaff;border-radius:6px;min-width:8px;height:25px;position:absolute;top:20px;overflow:hidden;box-shadow:inset 0 0 0 1px #8db9f8}.portfolio-project-bar>span{background:#1677ff;height:100%;display:block}.portfolio-project-bar>em{color:#10233f;font-size:11px;font-style:normal;font-weight:700;position:absolute;top:3px;right:5px}.portfolio-task-bar{background:#e6f4ff;border-radius:4px;height:18px;top:23px}.portfolio-task-bar>span{background:#4096ff}.portfolio-project-bar.late{background:#fff1f0;box-shadow:inset 0 0 0 1px #ff7875}.portfolio-project-bar.late>span{background:#ff4d4f}.portfolio-task-milestone{background:#ffd666;border:2px solid #d48806;width:14px;height:14px;position:absolute;top:25px;transform:rotate(45deg)}.portfolio-task-milestone.late{background:#ff7875;border-color:#cf1322}.portfolio-today{z-index:6;pointer-events:none;background:#f5222d;width:2px;position:absolute;top:0;bottom:0}.portfolio-today span{color:#cf1322;white-space:nowrap;background:#fff1f0;border-radius:4px;padding:1px 5px;font-size:10px;position:sticky;top:45px;left:5px}@media (width<=1100px){.portfolio-gantt-toolbar{flex-wrap:wrap;align-items:stretch}.portfolio-gantt-actions{margin-left:0}}@media (width<=640px){.portfolio-gantt-card .ant-card-head{padding-inline:16px}.portfolio-gantt-card .ant-card-body{padding:16px}.portfolio-gantt-toolbar{grid-template-columns:1fr;padding:12px;display:grid}.portfolio-gantt-filter,.portfolio-gantt-sort{width:100%;min-width:0;max-width:none}.portfolio-gantt-toolbar .ant-segmented{width:100%}.portfolio-gantt-toolbar .ant-segmented-group{display:flex}.portfolio-gantt-toolbar .ant-segmented-item{flex:1}.portfolio-gantt-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.portfolio-gantt-actions .ant-btn:last-child{grid-column:1/-1}}.portfolio-cancelled-project{color:#8c8c8c;opacity:.75;text-decoration:line-through}.workforce-insights-card{border:1px solid #e3eaf3;margin-top:16px}.workforce-kpis{background:#f7f9fc;border-radius:8px;margin:16px 0;padding:14px}.workforce-project-link{text-align:left;white-space:normal;height:auto;padding:0}.performer-table{margin-top:16px}.performer-rank{color:#475569;background:#eef2f7;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-weight:700;display:inline-flex}.performer-rank.rank-1{color:#ad6800;background:#fff1b8}.performer-rank.rank-2{color:#52606d;background:#e8edf3}.performer-rank.rank-3{color:#ad4e00;background:#ffe7d1}.workforce-kpi-trigger{cursor:pointer;border-radius:8px;margin:-8px -10px;padding:8px 10px;transition:background .2s,box-shadow .2s}.workforce-kpi-trigger:hover{background:#fff;box-shadow:0 2px 10px #0f172a14}.workforce-detail-trigger{cursor:pointer}.workforce-detail-trigger:hover{filter:brightness(.94)}.workforce-detail-project{margin-bottom:8px}.workforce-detail-summary{margin-top:14px}.workforce-task-list{flex-wrap:wrap;gap:6px;margin-top:9px;display:flex}.workforce-task-list .ant-tag{white-space:normal;margin:0}.app-shell{background:#f3f6fa;min-height:100vh}.sidebar{position:relative;box-shadow:2px 0 12px #081f401f;background:#0b1f3a!important}.brand{color:#fff;border-bottom:1px solid #ffffff17;align-items:center;gap:12px;height:74px;padding:0 20px;display:flex}.brand-mark{background:url(/assets/LOgo%20%C4%90%E1%BB%93ng%20Ti%E1%BA%BFn-C2-PtY8A.png) 50%/cover no-repeat;border-radius:10px;place-items:center;width:40px;height:40px;padding:2px;display:grid;overflow:hidden}.brand-logo{object-fit:contain;width:100%;height:100%;display:block}.brand-name{letter-spacing:.4px;font-weight:700}.brand-caption{color:#8ba6c8;margin-top:1px;font-size:11px}.sidebar .ant-menu{background:0 0;padding:12px 8px}.environment-badge{color:#83a4cc;letter-spacing:1.4px;text-align:center;font-size:10px;position:absolute;bottom:20px;left:20px;right:20px}.sidebar .ant-layout-sider-trigger{justify-content:center;align-items:center;display:flex;background:0 0!important;border-radius:0!important;width:36px!important;height:100vh!important;padding:0!important;top:0!important;bottom:0!important}.sidebar .ant-layout-sider-trigger:before,.sidebar .ant-layout-sider-trigger:after{top:50%!important;transform:translateY(-50%)!important}.sider-toggle{z-index:1200;justify-content:center;align-items:center;width:36px;height:100vh;transition:left .2s;display:flex;position:absolute;top:0}.sider-toggle .toggle-button{background:#ffffff05;border-radius:6px;justify-content:center;align-items:center;width:36px;height:48px;display:flex}@media (width<=768px){.sider-toggle{width:32px}.sider-toggle .toggle-button{height:40px}}.topbar{background:#fff;border-bottom:1px solid #e7edf5;justify-content:space-between;align-items:center;height:64px;padding:0 28px;display:flex}.avatar{background:#1769e0}.content{width:100%;max-width:1500px;margin:0 auto;padding:28px}.page-heading h2{color:#10233f;margin:0 0 4px}.summary-row,.overview-dashboard-row{margin:24px 0}.overview-card{border:1px solid #e3eaf3;box-shadow:0 2px 8px #10233f0d}.health-metrics,.utilization-summary{gap:16px;margin-top:16px;display:grid}.overview-metric-item{cursor:pointer;border:1px solid #0000;border-radius:12px;padding:14px;transition:background .18s,border .18s}.overview-metric-item:hover{background:#52b9810d;border-color:#52b98126}.health-metric-row,.utilization-metric-row{gap:8px;display:grid}.health-metric-label,.utilization-metric-label{justify-content:space-between;align-items:center;gap:14px;margin-bottom:6px;display:flex}.health-summary{border-top:1px solid #f0f3f7;padding-top:10px}.detail-panel{padding:18px 0 0}.utilization-summary__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.utilization-summary__header div{flex-direction:column;gap:4px;display:flex}.utilization-summary__value{color:#10233f;font-size:28px;font-weight:700}.donut-chart-wrapper{justify-content:center;align-items:center;display:flex}.donut-chart{background:conic-gradient(#52c41a 0 50%, #00000014 0 100%);border-radius:50%;place-items:center;width:96px;height:96px;display:grid;position:relative}.donut-center{color:#10233f;background:#fff;border-radius:50%;place-items:center;width:60px;height:60px;font-weight:700;display:grid;box-shadow:inset 0 0 0 6px #ffffffe6}.resource-subtitle{color:#7f8fa4;font-size:12px}.utilization-metric-row .ant-progress{width:100%}.summary-row .ant-card{border:1px solid #e3eaf3;box-shadow:0 2px 8px #10233f08}.summary-row .ant-statistic-title{font-size:13px}.project-table-card{border:1px solid #e3eaf3;box-shadow:0 4px 18px #10233f0a}.project-table-card .ant-card-head-title{color:#10233f}.project-code{color:#1769e0}.row-subtitle{font-size:11px}.create-form{margin-top:22px}.full-width{width:100%}.clickable-row{cursor:pointer}.clickable-row:hover td{background:#f0f6ff!important}.manager-select{width:100%;min-width:260px}.team-editor{margin-bottom:14px}.team-resource-select{flex:1;min-width:240px}.issue-heading{margin-bottom:8px}.module-card{margin-top:24px}.module-placeholder{place-items:center;min-height:420px;margin-top:24px;display:grid}.session-loading{color:#64748b;place-items:center;min-height:100vh;display:grid}@media (width<=768px){.content{padding:14px}.topbar{padding:0 14px}.topbar>div:first-child{display:none}.topbar .ant-space{margin-left:auto}.page-heading{margin-bottom:16px}.page-heading h2{font-size:24px}.summary-row{margin:16px 0}.summary-row .ant-card-body{padding:14px}.summary-row .ant-statistic-content{font-size:22px}.ant-modal{max-width:calc(100vw - 24px)}.ant-modal .ant-modal-body{max-height:68vh;overflow:auto}.ant-drawer-content-wrapper{width:100%!important}}.project-cancelled-row{background:#fafafa}.project-cancelled-row .row-subtitle{opacity:.65}.login-page{background:radial-gradient(circle at 0 0,#dceaff 0,#f3f6fa 45%,#e8eef8 100%);place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{border:0;width:min(430px,100%);box-shadow:0 20px 60px #0b1f3a24}.login-brand{align-items:center;gap:12px;margin-bottom:28px;display:flex}.login-brand h3{margin:0}.login-hint{text-align:center;margin:18px 0 0;font-size:12px}.account-mobile-list,.my-work-mobile{display:none}.my-work-workflow-card{background:linear-gradient(135deg,#f5faff 0%,#fff 70%);border-color:#91caff;margin-bottom:16px}.my-work-workflow{align-items:stretch;gap:10px;display:flex}.my-work-step{background:#fff;border:1px solid #d6e4ff;border-radius:8px;flex-direction:column;flex:1 1 0;gap:4px;min-width:0;padding:12px;display:flex}.my-work-arrow{color:#1677ff;flex:none;align-self:center}.my-work-status-alert{margin-bottom:12px}.my-work-summary{margin-bottom:16px}.my-work-summary .ant-card{height:100%}.my-work-awaiting-card{background:#fffbe6;border-color:#ffd666}.my-work-rework-card{background:#fff2f0;border-color:#ffccc7}.my-work-tree-table .my-work-awaiting-row>td{background:#fffbe6!important}.my-work-tree-table .my-work-rework-row>td{background:#fff2f0!important}.my-work-progress-cell{width:100%}.my-work-progress-cell .ant-progress{margin:0}.my-work-modal-note{margin-bottom:16px}@media (width<=768px){.account-desktop-table,.my-work-desktop{display:none}.account-mobile-list,.my-work-mobile{display:block}.login-card .ant-card-body{padding:24px}.mobile-task-card{margin-bottom:12px}.mobile-task-card .ant-progress{margin-top:8px}.my-work-workflow{flex-direction:column}.my-work-arrow{transform:rotate(90deg)}}
