:root{color:#172033;background:#eef2f7;font-family:Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}.shell{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.app{background:#eef2f7;grid-template-rows:auto minmax(0,1fr);min-height:100vh;display:grid}.app-header{z-index:10;background:#fff;border-bottom:1px solid #d8dee9;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:12px 20px;display:grid;position:sticky;top:0;box-shadow:0 8px 22px #1720330f}.app-body{grid-template-columns:var(--sidebar-width,280px) 34px minmax(0, 1fr);min-width:0;display:grid;position:relative}.sidebar{color:#172033;background:linear-gradient(#ffffffdb 0%,#f8fbfff0 38%,#eef4fb 100%),#f8fbff;border-right:1px solid #ccd7e6;grid-area:1/1;align-self:start;min-height:calc(100vh - 67px);max-height:calc(100vh - 67px);padding:14px 12px 18px;position:sticky;top:67px;overflow:auto;box-shadow:10px 0 26px #17203312,inset -1px 0 #ffffffc7}.app-body.sidebar-collapsed{grid-template-columns:34px minmax(0,1fr)}.app-body.sidebar-collapsed .sidebar{display:none}.app-body.sidebar-collapsed .sidebar-edge-rail{grid-column:1;width:34px;height:calc(100vh - 67px);position:sticky;top:67px;bottom:auto;left:auto;transform:none}.app-body.sidebar-collapsed .sidebar-edge-rail:before{display:none}.app-body.sidebar-collapsed .content{grid-column:2}.app-body.sidebar-collapsed .sidebar-resizer{display:none}.brand{align-items:center;gap:12px;min-width:220px;display:flex}.app-header .brand{margin-bottom:0}.brand.compact{margin-bottom:20px}.brand-mark{color:#fff;background:#3a8f6b;border-radius:8px;place-items:center;width:42px;height:42px;font-weight:700;display:grid}.brand-name{font-weight:700}.brand-subtitle,.muted,.topbar p,.app-header .brand-subtitle{color:#6b7280}.ui-version{color:#2f7d5e;background:#e9f6ef;border:1px solid #2f7d5e38;border-radius:999px;align-items:center;min-height:20px;padding:1px 7px;font-size:12px;font-weight:700;line-height:1.2;display:inline-flex}.module-tabs{align-items:center;gap:6px;min-width:0;padding:2px;display:flex;overflow-x:auto}.module-tab{color:#344054;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:7px;padding:10px 14px}.module-tab:hover{background:#f1f5f9}.module-tab.active{color:#fff;background:#172033;border-color:#172033}.sidebar-edge-rail{z-index:20;pointer-events:none;background:linear-gradient(#eef4fb 0%,#e7eef7 100%);border-left:1px solid #cbd5e1b8;border-right:1px solid #cbd5e1e0;grid-area:1/2;place-self:start stretch;width:34px;height:calc(100vh - 67px);position:sticky;top:67px;transform:none;box-shadow:inset 1px 0 #ffffffb8,8px 0 18px #1720330a}.sidebar-edge-rail:before{content:"";background:linear-gradient(#94a3b8b3,#cbd5e140);width:1px;position:absolute;top:48px;bottom:0;left:50%;transform:translate(-50%)}.sidebar-toggle{color:#344054;cursor:pointer;pointer-events:auto;background:linear-gradient(#fff 0%,#f7fafc 100%);border:1px solid #cbd5e1;border-radius:8px;flex:none;place-items:center;width:30px;height:30px;min-height:30px;padding:0;display:grid;position:absolute;top:10px;left:50%;transform:translate(-50%);box-shadow:0 8px 18px #17203324}.app-body.sidebar-collapsed .sidebar-toggle{top:10px;left:50%;transform:translate(-50%)}.sidebar-resizer{color:#64748b;width:14px;box-shadow:none;cursor:ew-resize;touch-action:none;pointer-events:auto;background:0 0;border:0;border-radius:0;position:absolute;top:52px;bottom:0;left:50%;transform:translate(-50%)}.sidebar-resizer:before{content:"";background:#cbd5e18c;width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.sidebar-resizer:after{content:"";background:0 0;border-radius:999px;width:3px;height:34px;position:absolute;top:20px;left:50%;transform:translate(-50%)}.sidebar-resizer:hover:before,.app-body.is-resizing-sidebar .sidebar-resizer:before{background:#42b883;width:2px}.sidebar-resizer:hover:after,.app-body.is-resizing-sidebar .sidebar-resizer:after{background:#42b883}body.sidebar-resize-active{cursor:ew-resize;-webkit-user-select:none;user-select:none}.sidebar-toggle:hover{color:#172033;background:#eef6ff}.sidebar-toggle:focus-visible{outline-offset:2px;outline:2px solid #42b883}.sidebar-toggle-icon{border:1.5px solid;border-radius:3px;width:18px;height:15px;display:block;position:relative}.sidebar-toggle-icon:before{content:"";opacity:.7;border-left:1.5px solid;position:absolute;top:0;bottom:0;left:5px}.sidebar-toggle-icon:after{content:"";background:currentColor;border-radius:50%;width:2px;height:2px;position:absolute;top:6px;left:2px}.sidebar-toggle.is-collapsed .sidebar-toggle-icon:before{left:10px}.app-user{align-items:center;gap:10px;display:flex}.user-name{text-overflow:ellipsis;white-space:nowrap;color:#344054;max-width:180px;font-weight:600;overflow:hidden}.context-menu{align-content:start;gap:9px;max-width:360px;display:grid}.context-header{background:#ffffff9e;border:1px solid #cbd5e1b8;border-radius:8px;gap:3px;margin:0 2px 8px;padding:12px 10px 10px;display:grid;box-shadow:0 6px 16px #1720330b}.context-title{color:#172033;font-size:18px;font-weight:700;line-height:1.2}.context-subtitle{color:#64748b;font-size:12px;line-height:1.25}.nav-group{border-top:1px solid #cbd5e19e;gap:4px;padding-top:7px;display:grid}.context-header+.nav-group{border-top:0;padding-top:0}.nav-group-title{color:#52637a;padding:0 10px 3px;font-size:13px;font-weight:700;line-height:1.25}.nav-item{text-align:left;color:#24324b;overflow-wrap:anywhere;cursor:pointer;background:0 0;border:0;border-left:3px solid #0000;border-radius:7px;min-height:40px;padding:10px 11px;line-height:1.28}.nav-item:hover{color:#172033;background:#2f7d5e14}.nav-item.active{color:#172033;background:linear-gradient(90deg,#d9f0e6 0%,#e8f3fb 100%);border-left-color:#42b883;font-weight:700;box-shadow:inset 0 0 0 1px #42b8832e}.content{grid-area:1/3;min-width:0;padding:24px}.topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.breadcrumb{color:#6b7280;margin-bottom:6px;font-size:13px}h1,h2,p{margin-top:0}h1{margin-bottom:4px;font-size:26px}h2{font-size:18px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.dashboard-section{gap:14px;display:grid}.dashboard-parity{grid-template-columns:minmax(0,1fr)}.dashboard-redesign{gap:12px;min-width:0}.dashboard-redesign .panel{min-width:0;box-shadow:none;padding:14px}.dashboard-redesign h2{margin:0 0 10px;font-size:16px}.dashboard-redesign .filters{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.dashboard-redesign .filters label{flex:180px;min-width:0}.dashboard-redesign .filters label:first-child{flex-basis:260px}.dashboard-redesign button,.dashboard-redesign input,.dashboard-redesign select{min-height:34px;padding:6px 10px;font-size:13px}.dashboard-redesign .filters>button{flex:none}.dashboard-redesign .metric-card{text-align:left;min-height:74px;box-shadow:none;background:#fff;padding:12px}.dashboard-redesign .metric-label{color:#4d6075}.dashboard-redesign .metric-card:hover:not(:disabled){background:#f3faf7;border-color:#2d8164}.dashboard-redesign .toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.dashboard-redesign .toolbar h2{margin:0}.dashboard-redesign .toolbar input{flex:230px;min-width:0}.dashboard-redesign .toolbar select{width:auto;max-width:100%}.dashboard-screen-links{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dashboard-redesign .dashboard-screen-links .primary:disabled{opacity:1}.dashboard-alerts{gap:8px;display:grid}.dashboard-alerts article{background:#fffaf0;border-left:3px solid #d7a442;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.dashboard-alerts article p{color:#596a7d;margin:4px 0 0}.dashboard-alerts article button{flex-shrink:0}.dashboard-redesign .table-wrap{max-height:60vh;overflow:auto}.dashboard-redesign .table-wrap th{z-index:1;background:#f3f6fa;position:sticky;top:0}.dashboard-redesign details>summary{cursor:pointer;font-weight:600}.dashboard-redesign details>.grid{margin-top:12px}.content.dashboard-content{padding:12px 16px}.workspace.dashboard-redesign{gap:6px}.dashboard-control-panel{background:#fff;border:1px solid #d8dee9;border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:8px 10px;display:flex}.dashboard-redesign .dashboard-control-panel .filters{background:0 0;border:0;flex:780px;margin:0;padding:0}.dashboard-redesign .dashboard-control-panel>nav{flex:none}.dashboard-redesign .dashboard-control-panel .filters label{flex:150px}.dashboard-redesign .dashboard-control-panel .filters label:first-child{flex-basis:240px}.dashboard-content .topbar{margin-bottom:8px;padding-top:0;padding-bottom:0}.dashboard-content .topbar h1{margin:3px 0 6px;font-size:24px}.dashboard-content .topbar .breadcrumb{margin-bottom:0;font-size:12px}.dashboard-redesign .dashboard-control-panel .filters label:first-child{flex:1.6 280px}.dashboard-redesign .dashboard-control-panel .filters label:nth-child(3){flex:.5 95px}.dashboard-redesign .dashboard-control-panel .filters label:last-of-type{flex:1.3 190px}.dashboard-redesign .dashboard-control-panel{align-items:end}.dashboard-redesign .dashboard-period-panel .data-tabs{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px 14px}.dashboard-redesign .dashboard-period-panel .data-tab-list{background:0 0;border:0;grid-area:1/1;padding:0}.dashboard-redesign .dashboard-period-panel .data-tab-panel,.dashboard-redesign .dashboard-period-panel .dashboard-section{display:contents}.dashboard-redesign .dashboard-period-panel .dashboard-section>.toolbar{grid-area:1/2;margin:0}.dashboard-redesign .dashboard-period-panel .metric-grid,.dashboard-redesign .dashboard-period-panel .dashboard-status-details{grid-column:1/-1}.dashboard-redesign .dashboard-period-panel .metric-card{background:#f8fafc}.dashboard-redesign .metric-card:focus-visible{outline-offset:2px;outline:2px solid #2d8164}@media (width<=600px){.dashboard-redesign .dashboard-period-panel .data-tabs{grid-template-columns:minmax(0,1fr)}.dashboard-redesign .dashboard-period-panel .dashboard-section>.toolbar{grid-area:2/1}}.dashboard-redesign{gap:8px;font-size:13px}.dashboard-redesign .panel{padding:10px 12px}.dashboard-redesign h2{margin-bottom:6px;font-size:15px}.dashboard-redesign p{margin-top:4px;margin-bottom:6px}.dashboard-redesign .filters{gap:8px}.dashboard-redesign .filters label{gap:3px}.dashboard-redesign button,.dashboard-redesign input,.dashboard-redesign select{min-height:32px;padding:5px 8px}.dashboard-redesign .dashboard-screen-links{gap:6px}.dashboard-kpi-groups{grid-template-columns:minmax(0,3fr) minmax(0,4fr);gap:8px;display:grid}.dashboard-redesign .dashboard-kpi-groups .metric-grid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.dashboard-redesign .metric-grid{grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:6px}.dashboard-redesign .metric-card{border:1px solid #e2e8ef;align-items:center;gap:8px;min-height:40px;padding:6px 8px;display:flex}.dashboard-redesign .metric-card .metric-value{flex:none;font-size:18px}.dashboard-redesign .metric-card>:last-child{overflow-wrap:anywhere;min-width:0}.dashboard-redesign .metric-card .metric-label{font-size:12px}.dashboard-redesign .dashboard-detail-panel .metric-card{flex-wrap:wrap}.dashboard-redesign .dashboard-trend-panel{flex-wrap:wrap;align-items:center;gap:6px 16px;display:flex}.dashboard-redesign .dashboard-trend-panel h2{margin:0}.dashboard-redesign .dashboard-trend-panel .trend-bars{flex:450px}.dashboard-redesign .dashboard-trend-panel .trend-bars>div{grid-template-columns:110px minmax(80px,1fr) 48px}.dashboard-redesign .dashboard-section>.toolbar{margin-bottom:0}.dashboard-redesign .metric-value{font-size:20px}.dashboard-redesign .metric-card span,.dashboard-redesign .metric-label{line-height:1.3}.dashboard-redesign .dashboard-section{gap:6px}.dashboard-redesign .toolbar{gap:6px;margin:0 0 6px}.dashboard-redesign .data-tabs{gap:6px}.dashboard-redesign .data-tab-list{gap:4px;min-height:0;padding:3px}.dashboard-redesign .data-tab-panel{padding:0}.dashboard-redesign .trend-bars{gap:5px}.dashboard-redesign .dashboard-alerts{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:6px}.dashboard-redesign .dashboard-alerts article{gap:8px;padding:8px 10px}.dashboard-redesign .dashboard-alerts article p{margin-bottom:0}.dashboard-redesign .dashboard-status-details summary{color:#52677d;font-size:12px}.dashboard-redesign .dashboard-status-panel{margin-top:6px}.dashboard-redesign .status-point-list{flex-wrap:wrap;gap:8px 20px;display:flex}.dashboard-redesign .status-point{gap:12px;padding:4px 0;display:flex}.dashboard-session-info{flex-wrap:wrap;gap:8px 24px;margin:10px 0 0;display:flex}.dashboard-session-info>div{flex-wrap:wrap;gap:6px;display:flex}.dashboard-session-info dt{color:#607287}.dashboard-session-info dd{overflow-wrap:anywhere;margin:0}.dashboard-redesign .dashboard-money-tools{margin-top:6px}.dashboard-redesign .dashboard-money-tools label{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.dashboard-redesign .dashboard-paging{justify-content:flex-end;margin-top:6px}.dashboard-redesign .pagination{gap:6px;margin:0;padding:0}.dashboard-redesign .dashboard-detail-panel>.table-wrap,.dashboard-redesign .dashboard-detail-panel>.table-column-settings{clear:both}.dashboard-redesign .table-column-settings{margin:0;padding:4px 8px}.dashboard-redesign .table-column-settings summary,.dashboard-redesign .dashboard-unit-note{font-size:12px}@media (width>=1000px){.dashboard-redesign .dashboard-section .metric-grid{grid-template-columns:none;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}}@media (width<=900px){.dashboard-kpi-groups{grid-template-columns:minmax(0,1fr)}.dashboard-redesign .dashboard-money-tools{float:none}}@media (width>=861px) and (width<=1100px){.dashboard-parity .filters{grid-template-columns:repeat(2,minmax(0,1fr))}}.dashboard-redesign .dashboard-money-summary{clear:both;grid-template-columns:minmax(0,1fr);gap:6px;display:grid}.dashboard-redesign .dashboard-money-summary .toolbar{float:none;margin:0}.dashboard-redesign .dashboard-money-summary .toolbar>.muted{flex:300px;font-size:12px}.dashboard-redesign .dashboard-money-summary .metric-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));width:100%;min-width:0}.dashboard-redesign .dashboard-money-summary .metric-card{flex-direction:column;justify-content:center;align-items:flex-start;gap:3px;min-width:0;min-height:60px;padding:8px 10px;display:flex}.dashboard-redesign .dashboard-money-summary .metric-value{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:19px}.dashboard-redesign .dashboard-money-summary .metric-card>:last-child{overflow-wrap:normal;word-break:normal;font-size:12px}.dashboard-redesign .dashboard-money-summary .dashboard-unit-note{margin:0;line-height:1.4}.dashboard-redesign .dashboard-detail-panel .table-wrap:has(.dashboard-money-summary-table){max-height:none}.dashboard-redesign .dashboard-money-table th,.dashboard-redesign .dashboard-money-table td{vertical-align:middle;padding:5px 8px;font-size:12px;line-height:1.35}.dashboard-redesign .dashboard-money-table td.number{white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right}.dashboard-redesign .dashboard-money-summary-table{table-layout:fixed;min-width:820px!important}.dashboard-redesign .dashboard-money-summary-table [data-column=STT]{text-align:center;width:4%}.dashboard-redesign .dashboard-money-summary-table [data-column=NoiDung]{overflow-wrap:break-word;width:32%}.dashboard-redesign .dashboard-money-summary-table [data-column=ThanhTienHopDong],.dashboard-redesign .dashboard-money-summary-table [data-column=GiaTriKyNay],.dashboard-redesign .dashboard-money-summary-table [data-column=ThanhTienDaThucHien],.dashboard-redesign .dashboard-money-summary-table [data-column=ThanhTienConLai]{text-align:right;width:16%}.dashboard-redesign .dashboard-money-table tr[data-row-type=GROUP]{background:#f0f5fa;font-weight:600}.dashboard-redesign .dashboard-money-table tr[data-row-type=TOTAL]{background:#eaf5ef;border-top:2px solid #bdd8cb;font-weight:700}.dashboard-redesign.dashboard-overview{gap:5px}.dashboard-overview .panel{padding:6px 10px}.dashboard-overview h2{margin-bottom:4px;font-size:14px}.dashboard-overview .dashboard-control-panel{padding:6px 8px}.dashboard-overview .metric-card{gap:6px;min-height:34px;padding:4px 7px}.dashboard-overview .metric-card .metric-value{font-size:17px}.dashboard-overview .metric-card span{font-size:12px}.dashboard-overview .dashboard-trend-panel{padding-top:5px;padding-bottom:5px}.dashboard-overview .dashboard-period-panel .data-tabs{gap:5px 12px}.dashboard-overview .dashboard-period-panel .data-tab-list button{min-height:28px;padding:3px 8px}.dashboard-overview .dashboard-status-details summary{font-size:11px}.dashboard-overview .dashboard-alerts article{padding:5px 8px}.dashboard-overview .dashboard-alerts article p{margin:2px 0 0;font-size:12px}.dashboard-overview .dashboard-money-summary .metric-card{min-height:52px;padding:6px 9px}.dashboard-overview .dashboard-money-summary .metric-value{font-size:18px}@media (width>=1200px){.dashboard-overview .dashboard-value-panel{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:5px 12px;display:grid}.dashboard-overview .dashboard-value-panel>.toolbar{grid-area:1/1;margin:0}.dashboard-overview .dashboard-money-summary{display:contents}.dashboard-overview .dashboard-money-summary>.toolbar{grid-area:1/2;justify-content:flex-end}.dashboard-overview .dashboard-money-summary>.toolbar>.muted{display:none}.dashboard-overview .dashboard-money-summary>.metric-grid,.dashboard-overview .dashboard-money-summary>.dashboard-unit-note{grid-column:1/-1}.dashboard-overview .dashboard-value-panel .metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.dashboard-redesign .dashboard-comparison-panel{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 10px;padding:6px 10px;display:grid}.dashboard-redesign .dashboard-comparison-panel>h2{grid-area:1/1;margin:0}.dashboard-redesign .dashboard-comparison-panel>.dashboard-unit-note{text-align:right;grid-area:1/2;margin:0}.dashboard-redesign .dashboard-comparison-panel>.dashboard-money-summary,.dashboard-redesign .dashboard-comparison-panel>.table-column-settings,.dashboard-redesign .dashboard-comparison-panel>.table-wrap{grid-column:1/-1;min-width:0}.dashboard-redesign .dashboard-comparison-panel>.dashboard-money-tools{grid-column:1;margin:0}.dashboard-redesign .dashboard-comparison-panel>.dashboard-paging{grid-column:2;margin:0}.dashboard-redesign .dashboard-comparison-panel .dashboard-money-summary{gap:4px}.dashboard-redesign .dashboard-comparison-panel .dashboard-money-summary .metric-card{gap:1px;min-height:44px;padding:4px 8px}.dashboard-redesign .dashboard-comparison-panel .dashboard-money-summary .metric-value{font-size:17px}.dashboard-redesign .dashboard-comparison-panel .dashboard-unit-note{line-height:1.3}.dashboard-redesign .dashboard-comparison-panel button,.dashboard-redesign .dashboard-comparison-panel select{min-height:28px;padding:3px 7px}@media (width>=1200px){.dashboard-redesign .dashboard-comparison-panel{grid-template-columns:minmax(0,1fr) auto}.dashboard-redesign .dashboard-comparison-panel .dashboard-money-summary{display:contents}.dashboard-redesign .dashboard-comparison-panel .dashboard-money-summary>.toolbar{grid-area:2/1}.dashboard-redesign .dashboard-comparison-panel .dashboard-money-summary>.toolbar:has(select)>.muted{display:none}.dashboard-redesign .dashboard-comparison-panel>.dashboard-money-tools{grid-area:2/2;justify-content:flex-end}.dashboard-redesign .dashboard-comparison-panel .dashboard-money-summary>.metric-grid{grid-area:3/1/auto/-1;grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-redesign .dashboard-comparison-panel .dashboard-money-summary>.dashboard-unit-note{grid-area:3/1/auto/-1}.dashboard-redesign .dashboard-comparison-panel>.dashboard-paging{grid-area:4/2}.dashboard-redesign .dashboard-comparison-panel>.table-column-settings{grid-area:4/1;justify-self:start;padding:3px 7px}.dashboard-redesign .dashboard-comparison-panel>.table-column-settings[open]{grid-area:5/1/auto/-1;justify-self:stretch}.dashboard-redesign .dashboard-comparison-panel>.table-wrap{grid-row:6}}@media (width<=1000px){.dashboard-redesign .dashboard-comparison-panel{grid-template-columns:minmax(0,1fr)}.dashboard-redesign .dashboard-comparison-panel>.dashboard-unit-note{text-align:left;grid-area:auto/1}.dashboard-redesign .dashboard-comparison-panel>.dashboard-paging{grid-column:1;justify-content:flex-start}}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.metric-card{background:#fff;border:1px solid #d8dee9;border-radius:8px;gap:6px;min-height:92px;padding:14px;display:grid;box-shadow:0 8px 24px #1720330d}.metric-value{color:#172033;overflow-wrap:anywhere;font-size:24px;font-weight:700;line-height:1.15}.metric-label{color:#516079;font-size:13px}.dashboard-status-panel{box-shadow:none}.status-point-list{gap:8px;display:grid}.status-point{border-bottom:1px solid #edf2f7;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.status-point:last-child{border-bottom:0}.panel{background:#fff;border:1px solid #d8dee9;border-radius:8px;padding:20px;box-shadow:0 10px 30px #1720330f}.wide{grid-column:1/-1}.login{gap:14px;width:min(420px,100%);display:grid}label{color:#344054;gap:6px;display:grid}input{border:1px solid #c7cfdd;border-radius:6px;width:100%;padding:10px 12px}select{background:#fff;border:1px solid #c7cfdd;border-radius:6px;width:100%;min-height:40px;padding:8px 10px}textarea{resize:vertical;width:100%;min-height:92px;font:inherit;border:1px solid #c7cfdd;border-radius:6px;padding:10px 12px}.primary,.secondary,.danger,.actions button{cursor:pointer;border:0;border-radius:6px;padding:10px 14px}.primary{color:#fff;background:#2f7d5e}.primary:disabled{opacity:.7;cursor:default}.secondary{color:#172033;background:#e5eaf2}.secondary.danger{color:#b42318;background:#fde8e8}.danger{color:#fff;background:#b42318}.actions button{color:#172033;white-space:nowrap;background:#edf2f7}button:disabled,.actions button:disabled{opacity:.55;cursor:default}.error{color:#a33232;background:#fff0f0;border:1px solid #f1b8b8;border-radius:6px;padding:10px 12px}dl{grid-template-columns:150px minmax(0,1fr);gap:10px 14px;margin:0;display:grid}dt{color:#6b7280}dd{overflow-wrap:anywhere;margin:0}.workspace{gap:14px;min-width:0;display:grid}.filters{grid-template-columns:minmax(220px,320px) minmax(260px,1fr) auto;align-items:end;gap:12px;display:grid}.filters-with-scope{grid-template-columns:minmax(220px,320px) minmax(260px,1fr) minmax(220px,320px) auto}.weekly-entry-screen{gap:8px}.weekly-filter-shell{grid-template-columns:minmax(0,1fr) 128px;align-items:start;gap:12px;display:grid}.weekly-filter-grid{grid-template-columns:minmax(210px,1fr) minmax(320px,2fr) minmax(220px,1fr);align-items:end;gap:8px 12px;display:grid}.weekly-filter-grid label{grid-template-columns:96px minmax(0,1fr);align-items:center;gap:8px;display:grid}.weekly-filter-grid .wide-field{grid-template-columns:118px minmax(0,1fr)}.contract-name-field{grid-column:span 1}.weekly-selected-summary{color:#516079;align-items:center;min-height:38px;font-size:13px;display:flex}.weekly-action-stack{gap:7px;display:grid}.weekly-action-stack button{justify-content:center;min-height:30px}.manage-filters{grid-template-columns:minmax(220px,320px) minmax(260px,1fr) auto}.editor-grid{background:#f8fafc;border:1px solid #d8dee9;border-radius:8px;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;padding:14px;display:grid}.editor-grid input[type=checkbox]{justify-self:start;width:auto;min-height:22px}.editor-actions{grid-column:1/-1}.password-form{gap:14px;max-width:460px;display:grid}.detail-editor{border-top:1px solid #d8dee9;grid-column:1/-1;gap:12px;padding-top:12px;display:grid}.user-permission-editor{background:#fff;border:1px solid #d8dee9;border-radius:8px;padding:14px}.permission-checklist{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px 14px;display:grid}.password-reset-grid{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;align-items:end;gap:12px;display:grid}.user-account-view{min-height:calc(100vh - 230px)}.user-account-toolbar{align-items:end;gap:8px;margin-bottom:6px}.search-field{gap:4px;min-width:240px}.user-account-toolbar input{min-height:34px;padding:6px 10px}.user-account-toolbar .primary,.user-account-toolbar .secondary{min-height:34px;padding:7px 12px;line-height:1}.user-account-layout{grid-template-columns:minmax(0,1fr) 390px;align-items:start;gap:16px;display:grid}.user-account-editor-section{gap:8px;min-width:0;display:grid}.account-editor-title{color:#172033;gap:2px;padding:0 2px;display:grid}.account-editor-title strong{font-size:15px}.account-editor-title span{color:#667085;font-size:12px}.user-account-table-wrap{background:#fff;border:1px solid #d8dee9;border-radius:8px;max-height:calc(100vh - 285px)}.user-account-table{min-width:1180px;font-size:13px}.user-account-table th,.user-account-table td{padding:6px 7px}.user-account-table th:first-child,.user-account-table td:first-child{text-align:center;width:28px}.user-account-table th:nth-child(2),.user-account-table td:nth-child(2),.user-account-table th:nth-child(8),.user-account-table td:nth-child(8),.user-account-table th:nth-child(9),.user-account-table td:nth-child(9){text-align:center;white-space:nowrap}.user-account-table .selected-row{background:#d9ebfb}.user-account-mobile-list{display:none}.user-account-card{color:#172033;text-align:left;background:#fff;border:1px solid #d8dee9;border-radius:8px;width:100%;padding:9px 10px}.user-account-card.selected-row{background:#d9ebfb;border-color:#8bbce8}.account-card-main{justify-content:space-between;gap:10px;font-weight:600;display:flex}.account-card-meta{color:#667085;margin-top:4px;font-size:12px;display:block}.check-cell input{width:16px;min-height:16px}.empty-cell{color:#667085;text-align:center;padding:16px}.user-account-editor{background:#f8fafc;border:1px solid #d8dee9;border-radius:8px;gap:7px;padding:12px;display:grid}.user-account-editor>label:not(.account-active-check){color:#24324b;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:8px;font-size:13px;display:grid}.user-account-editor input,.user-account-editor select{min-height:28px;padding:4px 8px;font-size:13px}.tree-select{min-width:0;position:relative}.tree-select-button{color:#172033;width:100%;min-height:28px;font:inherit;text-align:left;background:#fff;border:1px solid #b9c6d8;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:4px 8px;display:grid}.tree-select-button span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tree-select-popup{z-index:30;background:#fff;border:1px solid #b9c6d8;border-radius:8px;grid-template-rows:auto auto auto minmax(0,1fr);width:min(760px,100vw - 32px);min-width:0;max-height:calc(100vh - 32px);display:grid;position:absolute;top:calc(100% + 4px);left:auto;right:0;overflow:hidden;box-shadow:0 18px 36px #0f172a29}.tree-select-search{margin:8px}.tree-select-header,.tree-select-row{color:#172033;text-align:left;background:#fff;border:0;border-bottom:1px solid #edf1f7;grid-template-columns:minmax(220px,1.2fr) minmax(180px,1fr) 110px;align-items:center;gap:8px;width:100%;padding:6px 8px;font-size:12px;display:grid}.tree-select-header{z-index:1;color:#475569;background:#f2f6fb;font-weight:700;position:sticky;top:0}.tree-select-row{cursor:pointer}.tree-select-row:hover,.tree-select-row.selected{background:#dff3ed}.tree-select-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.tree-select-order{color:#667085;min-width:42px;font-weight:500;display:inline-block}.tree-select-list{min-height:0;overflow:auto}.tree-select-empty{color:#667085;text-align:center;padding:12px}.collapsible-tree-select .tree-select-popup{grid-template-rows:auto auto minmax(0,1fr)}.collapsible-tree-select .tree-select-popup.with-empty{grid-template-rows:auto auto auto minmax(0,1fr)}.collapsible-tree-select .tree-select-header,.collapsible-tree-select .tree-select-row{grid-template-columns:minmax(0,1fr) 110px}.collapsible-tree-select .tree-select-header{padding-right:68px}.collapsible-tree-select .tree-select-branch{grid-template-columns:minmax(0,1fr) 60px;align-items:center;display:grid}.collapsible-tree-select .tree-select-branch.selected,.collapsible-tree-select .tree-select-branch.selected .tree-select-row{background:#dff3ed}.collapsible-tree-select .tree-select-name{white-space:normal}.collapsible-tree-select .tree-select-branch>.secondary{margin-right:4px;padding:4px}.user-permission-box{gap:6px;padding-top:4px;display:grid}.user-permission-list{background:#fff;border:1px solid #cfd7e6;max-height:420px;overflow:auto}.user-permission-row{color:#24324b;border-bottom:1px solid #edf1f7;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:6px;padding:5px 6px;font-size:13px;line-height:1.25;display:grid}.user-permission-row:hover{background:#eef6ff}.user-permission-row input{width:14px;min-height:14px;margin-top:1px}.account-active-check{align-items:center;gap:6px;margin-top:2px;display:flex}.permission-filters{grid-template-columns:minmax(260px,1fr) repeat(4,auto)}.permission-scope-wrap{max-height:460px}.permission-scope-table{min-width:980px}.permission-scope-table input[type=checkbox]{width:auto;min-height:18px}.import-workspace{grid-template-columns:minmax(0,1fr)}.import-filters{grid-template-columns:minmax(0,360px) minmax(0,1fr) auto;width:100%;min-width:0}.import-filters>label,.import-filters input[type=file]{min-width:0}.import-filters input[type=file]{width:100%}.import-file-table{min-width:1120px}.import-file-table input{min-width:90px;padding:7px 8px}.sheet-picker{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:6px 12px;min-width:360px;display:grid}.inline-check{color:#344054;align-items:center;gap:6px;display:flex}.inline-check input[type=checkbox]{width:auto;min-height:18px}.import-mapping-wrap,.import-preview-wrap,.import-file-wrap{max-height:520px}.table-wrap>h2{margin:0;padding:12px 12px 0}.load-button{min-height:40px}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.online-summary{overflow-wrap:anywhere;min-width:0}.data-tabs{gap:12px;min-width:0;display:grid}.data-tab-list{background:#f8fafc;border:1px solid #d8dee9;border-radius:8px;flex-wrap:wrap;gap:6px;padding:6px;display:flex}.data-tab{color:#344054;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:8px 12px}.data-tab:hover{background:#edf2f7}.data-tab.active{color:#fff;background:#172033;border-color:#172033}.secondary-tabs .data-tab-list,.secondary-tab-list{background:#fff}.data-tab-panel{min-width:0}.empty-state{color:#516079;background:#f8fafc;border:1px dashed #c7cfdd;border-radius:8px;padding:14px}.scope-tabs,.issue-panel,.review-note{background:#f8fafc;border:1px solid #d8dee9;border-radius:8px;gap:10px;padding:12px;display:grid}.scope-hint{color:#516079;font-size:13px}.issue-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.issue-panel.collapsed{justify-content:flex-start;display:flex}.review-detail-grid{grid-template-columns:minmax(0,2fr) minmax(320px,1fr);align-items:start;gap:14px;display:grid}.review-detail-grid h2{margin-bottom:8px}.selected-row{background:#eef7f2}.history-table{min-width:720px}.status-text{color:#516079}.table-wrap{background:#fff;border:1px solid #d8dee9;border-radius:8px;width:100%;overflow:auto}.area-import-result{min-width:0;max-width:100%}.data-table{border-collapse:collapse;width:100%;min-width:1080px;font-size:14px}.data-table th,.data-table td{vertical-align:top;border-bottom:1px solid #e5eaf2;padding:9px 10px}.data-table th{z-index:1;color:#344054;text-align:left;background:#f6f8fb;font-weight:600;position:sticky;top:0}.data-table tbody tr:hover{background:#f9fbfd}.report-table td:nth-child(3){min-width:300px}.weekly-table-wrap{max-height:calc(100vh - 360px)}.weekly-report-table{min-width:1680px;font-size:13px}.weekly-report-table th,.weekly-report-table td{border-right:1px solid #e5eaf2;padding:6px 7px}.weekly-report-table th{text-align:center;white-space:normal}.weekly-report-table td:first-child{text-align:center;white-space:nowrap;width:80px}.weekly-report-table td:nth-child(2){min-width:520px}.weekly-report-table .editable-cell input{text-align:right;min-width:92px;padding:5px 6px}.weekly-report-table .note-cell input{text-align:left;min-width:160px}.weekly-grid-footer{color:#516079;background:#f8fafc;border-top:1px solid #d8dee9;padding:5px 8px;font-size:13px;position:sticky;left:0}.manage-table{min-width:960px}.manage-table td{overflow-wrap:anywhere;max-width:360px}.construction-unit-layout{grid-template-columns:minmax(0,1fr) 480px;align-items:stretch;gap:14px;display:grid}.construction-tree-panel{grid-template-rows:auto minmax(0,1fr);gap:10px;min-width:0;display:grid}.construction-search-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.construction-search-row input{border:1px solid #cbd5e1;border-radius:4px;min-height:34px;padding:6px 10px}.construction-tree-wrap{background:#fff;border:1px solid #d8dee9;border-radius:8px;max-height:calc(100vh - 245px)}.construction-tree-table{min-width:760px}.construction-tree-table th:first-child,.construction-tree-table td:first-child,.construction-tree-table th:nth-child(4),.construction-tree-table td:nth-child(4){text-align:center;white-space:nowrap;width:78px}.construction-tree-table th:nth-child(3),.construction-tree-table td:nth-child(3){text-align:center;width:180px}.construction-tree-table .selected-row{background:#d9ebfb}.tree-name-cell{min-width:300px}.tree-name-indent{align-items:center;gap:4px;display:inline-flex}.tree-toggle,.tree-toggle-placeholder{place-items:center;width:18px;min-width:18px;min-height:18px;display:inline-grid}.tree-toggle{color:#344054;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:0}.tree-toggle:hover{background:#eef2f7}.tree-strong-row{font-weight:700}.construction-tree-footer{color:#516079;background:#f8fafc;border-top:1px solid #d8dee9;padding:6px 10px;font-size:13px;position:sticky;left:0}.construction-editor{background:#f8fafc;border:1px solid #d8dee9;border-radius:8px;grid-template-rows:auto;align-content:start;gap:12px;padding:12px;display:grid}.construction-editor h2{margin:0 0 2px;font-size:15px}.construction-editor>label:not(.inline-check){color:#24324b;grid-template-columns:112px minmax(0,1fr);align-items:start;gap:8px;display:grid}.construction-editor input,.construction-editor select,.construction-editor textarea{color:#172033;background:#fff;border:1px solid #cbd5e1;border-radius:4px;width:100%;min-height:32px;padding:6px 8px}.construction-editor textarea{resize:vertical;min-height:88px}.construction-active-check{margin-left:112px}.construction-top-actions,.construction-bottom-actions{gap:8px}.construction-top-actions{justify-content:space-between}.construction-bottom-actions{justify-content:flex-end;margin-top:150px}.system-permission-layout{grid-template-columns:minmax(0,1fr) 450px;align-items:start;gap:16px;display:grid}.system-permission-table-wrap{background:#fff;border:1px solid #d8dee9;border-radius:8px;max-height:calc(100vh - 250px)}.system-permission-table{min-width:760px}.system-permission-table th:first-child,.system-permission-table td:first-child{text-align:center;width:28px}.system-permission-table th:nth-child(4),.system-permission-table td:nth-child(4),.system-permission-table th:nth-child(5),.system-permission-table td:nth-child(5){text-align:center;white-space:nowrap;width:78px}.system-permission-table .selected-row{background:#d9ebfb}.permission-name-cell{align-items:center;gap:8px;min-width:0;display:flex}.fixed-permission-badge{color:#475467;white-space:nowrap;background:#eef2f7;border-radius:999px;align-items:center;min-height:20px;padding:2px 7px;font-size:12px;display:inline-flex}.system-permission-footer{color:#516079;background:#f8fafc;border-top:1px solid #d8dee9;padding:6px 10px;font-size:13px;position:sticky;left:0}.system-permission-editor{background:#f8fafc;border:1px solid #d8dee9;border-radius:8px;gap:12px;min-height:430px;padding:12px;display:grid}.system-permission-editor>label,.permission-inline-fields>label:not(.inline-check){color:#24324b;grid-template-columns:86px minmax(0,1fr);align-items:start;gap:8px;display:grid}.system-permission-editor input,.system-permission-editor textarea{color:#172033;background:#fff;border:1px solid #cbd5e1;border-radius:4px;width:100%;min-height:32px;padding:6px 8px}.system-permission-editor textarea{resize:vertical;min-height:210px}.permission-inline-fields{grid-template-columns:minmax(160px,1fr) auto;align-items:center;gap:16px;display:grid}.system-permission-actions{justify-content:flex-end;gap:8px;margin-top:auto;padding-top:8px}.work-permission-view{padding:10px}.work-permission-layout{flex-wrap:wrap;gap:10px;min-height:650px;display:flex}.work-permission-list-panel,.work-permission-editor,.work-permission-box{background:#fff;border:1px solid #d5dce8}.work-permission-list-panel{flex:360px;grid-template-rows:auto auto minmax(0,1fr);min-width:0;display:grid}.work-permission-editor{flex:2 680px;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;min-width:0;padding:8px;display:grid}.work-permission-section-title{color:#172033;background:#eef2f7;border-bottom:1px solid #d5dce8;padding:7px 9px;font-weight:700}.work-permission-list-filters{grid-template-columns:minmax(0,1fr);gap:6px;padding:8px;display:grid}.work-permission-list-filters select,.work-permission-list-filters input{min-height:32px}.work-permission-list-wrap{border:0;border-top:1px solid #e1e7f0;max-height:610px;overflow:auto}.work-permission-list-table th,.work-permission-list-table td{vertical-align:top;min-width:120px}.work-permission-list-table th:first-child,.work-permission-list-table td:first-child{min-width:160px}.work-permission-list-table .selected-row{background:#d9ebfb}.work-permission-top{grid-template-columns:minmax(0,1.65fr) minmax(330px,.9fr);gap:8px;display:grid}.work-permission-box{grid-template-rows:auto minmax(0,1fr);min-width:0;display:grid}.work-permission-form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px 10px;padding:9px;display:grid}.work-permission-form-grid .span-2{grid-column:1/-1}.work-permission-form-grid label,.work-permission-date-grid label,.work-permission-note{color:#334155;gap:4px;font-size:13px;display:grid}.work-permission-form-grid input,.work-permission-form-grid select,.work-permission-date-grid input,.work-permission-note input{width:100%;min-width:0;min-height:32px}.work-permission-rights-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 10px;padding:9px 9px 4px;display:grid}.work-permission-date-grid{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px 10px;padding:4px 9px 9px;display:grid}.work-permission-scope-box{min-height:410px}.work-permission-scope-grid{grid-template-columns:minmax(300px,.9fr) minmax(0,1.5fr);gap:8px;min-height:0;padding:8px;display:grid}.work-permission-tree-panel{background:#f8fafc;border:1px solid #dbe2ec;grid-template-rows:auto auto auto auto minmax(0,1fr);min-width:0;display:grid}.work-permission-subtitle{color:#334155;padding:7px 8px;font-weight:700}.work-permission-scope-tools{grid-template-columns:minmax(0,1fr);gap:6px;padding:0 8px 6px;display:grid}.work-permission-scope-tools.two-columns{grid-template-columns:minmax(140px,.65fr) minmax(180px,1fr)}.work-permission-tree-actions{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.work-permission-scope-tools.two-columns .work-permission-tree-actions{grid-column:1/-1}.work-permission-scope-tools input,.work-permission-scope-tools select{min-height:30px}.mini-button{border-radius:5px;min-height:26px;padding:4px 8px;font-size:12px;line-height:1.1}.work-permission-scope-summary,.work-permission-save-summary{color:#64748b;font-size:12px;line-height:1.35}.work-permission-scope-summary{padding:0 8px 6px}.compact-tabs{border-bottom:1px solid #dbe2ec;gap:3px;padding:0 8px 7px;display:flex;overflow-x:auto}.compact-tabs button{color:#334155;white-space:nowrap;background:#fff;border:1px solid #cfd8e6;border-radius:5px;padding:5px 8px}.compact-tabs button.active{color:#166534;background:#e7f5ee;border-color:#2f855a;font-weight:700}.work-permission-tree-wrap{background:#fff;min-height:0;max-height:385px;overflow:auto}.work-permission-tree-table th,.work-permission-tree-table td{white-space:nowrap}.work-permission-tree-table .clickable-tree-row{cursor:pointer}.work-permission-tree-table .clickable-tree-row:hover{background:#f3f8fd}.area-tree-table td:nth-child(3),.work-tree-table td:nth-child(3){white-space:normal;min-width:260px}.work-tree-table td:nth-child(4),.work-tree-table td:nth-child(5){min-width:96px}.tree-toggle-cell,.tree-check-toggle-cell{text-align:center;width:54px}.tree-check-toggle-cell{white-space:nowrap}.tree-check-toggle-cell .tree-toggle,.tree-check-toggle-cell input{vertical-align:middle;margin:0 2px}.work-permission-actions{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.work-permission-action-left{gap:5px;min-width:0;display:grid}.work-permission-modal-backdrop{z-index:50;background:#0f172a5c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.work-permission-modal{background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:min(560px,100%);padding:16px;box-shadow:0 20px 55px #0f172a3d}.work-permission-modal h3{margin:0 0 8px;font-size:18px}.work-permission-modal p{color:#334155;margin:0 0 12px}.work-permission-conflict-list{color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;gap:4px;max-height:180px;margin-bottom:12px;padding:8px;font-size:13px;display:grid;overflow:auto}.work-permission-modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.compact-toolbar{justify-content:flex-end;gap:6px;margin:0}.compact-toolbar button{min-height:32px;padding:7px 12px}.title-row{background:#f3f6fb;font-weight:700}.danang-report-summary>.data-tab-list{align-items:center;margin-bottom:6px}.weekly-report-table .danang-report-totals td{z-index:2;background:#e7f3ed;border-top:2px solid #2c7c60;font-weight:700;position:sticky;bottom:0}.summary-row{background:#fffaf0;font-weight:600}.number{text-align:right;white-space:nowrap}.editable-cell input{min-width:96px;padding:7px 8px}.note-cell input{min-width:180px}.actions{gap:8px;display:flex}.badge{white-space:nowrap;border-radius:999px;align-items:center;padding:3px 8px;font-size:12px;display:inline-flex}.status-DaGui{color:#7a4b00;background:#fff4d6}.status-DaDuyet{color:#106238;background:#dcf7e7}.status-TuChoi{color:#a33232;background:#ffe3e3}.status-Nhap,.status-NhapLieu{color:#344054;background:#e9eef7}.status-DaKhoa{color:#374151;background:#e5e7eb}.report-period-view,.weekly-review-view{gap:12px;display:grid}.period-layout{grid-template-columns:minmax(0,1.8fr) minmax(360px,1fr);align-items:start;gap:14px;display:grid}.period-list-panel,.period-card,.review-history-section,.weekly-review-footer,.weekly-review-detail-collapse{background:#fff;border:1px solid #d8dee9;border-radius:8px}.period-list-panel,.period-card{min-width:0;padding:12px;box-shadow:0 1px 2px #0f172a0a}.period-side-panel{gap:12px;min-width:0;display:grid}.period-panel-title{color:#0f172a;margin-bottom:8px;font-weight:700}.period-card-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.period-card-header .period-panel-title{margin-bottom:0}.period-unsaved-badge{color:#7a4b00;background:#fff7d6;border:1px solid #f2c94c;border-radius:999px;flex:none;padding:3px 8px;font-size:12px;font-weight:700}.period-toolbar,.period-actions,.period-main-actions,.weekly-review-header,.weekly-review-contract,.review-action-stack{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.period-toolbar .search-field{min-width:240px}.period-rule-grid,.period-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.period-rule-grid{margin:8px 0 10px}.period-toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px;display:grid}.period-toggle-row{color:#334155;cursor:pointer;background:#f8fafc;border:1px solid #e1e7ef;border-radius:6px;align-items:center;gap:8px;min-width:0;min-height:36px;margin:0;padding:7px 9px;display:flex}.period-toggle-row:hover{background:#f3f7fb;border-color:#b8c6d8}.period-toggle-row input[type=checkbox]{accent-color:#2f7d5e;flex:0 0 16px;width:16px;height:16px;margin:0}.period-toggle-row span{min-width:0;line-height:1.3}.period-note-field{grid-column:1/-1}.period-note-field textarea,.review-note-field textarea{resize:vertical;min-height:76px}.period-table{min-width:860px}.period-table tbody tr{cursor:pointer}.period-table .status-pill{white-space:nowrap}.period-actions{border-top:1px solid #edf0f5;justify-content:flex-end;padding-top:10px}.period-actions button{min-width:92px;min-height:38px}.period-main-actions{margin-top:10px}.row-indicator{text-align:center;color:#0f172a;width:28px;font-weight:700}.checkbox-row{align-items:center;gap:8px;min-height:30px;display:flex}.weekly-review-header{justify-content:space-between;align-items:end}.weekly-review-view{grid-template-columns:minmax(0,1fr)}.weekly-review-view>*,.weekly-review-contract{min-width:0}.weekly-review-contract{flex:720px;grid-template-columns:minmax(260px,.75fr) minmax(360px,1.25fr);gap:10px;display:grid}.weekly-review-status{min-height:20px}.weekly-review-table{min-width:1320px}.weekly-review-table tbody tr{cursor:pointer}.weekly-review-table .selected-row{outline-offset:-1px;outline:1px solid #8cc6ff}.review-row-approved{background:#e9f9ee}.review-row-pending{background:#fff8e6}.review-row-rejected{background:#fff0f0}.review-history-section{padding:10px}.review-history-section h2{margin:0 0 8px;font-size:15px}.weekly-review-footer{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;padding:10px;display:grid}.review-action-stack{justify-content:flex-end;align-items:stretch}.review-note-field{min-width:0}.weekly-review-detail-collapse{padding:10px}.weekly-review-detail-collapse summary{cursor:pointer;color:#334155;font-weight:700}@media (width<=860px){.period-layout,.weekly-review-footer,.weekly-review-contract,.period-rule-grid,.period-form-grid,.period-toggle-grid{grid-template-columns:1fr}.period-actions{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));display:grid}.period-actions button{width:100%}.weekly-review-header{align-items:stretch}.weekly-review-header>button,.review-action-stack>button{width:100%}.review-action-stack{grid-template-columns:1fr;display:grid}.app-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;padding:8px 12px}.app-header .brand{gap:8px;min-width:0}.app-header .brand-mark{border-radius:7px;width:34px;height:34px;font-size:14px}.app-header .brand-name{font-size:15px;line-height:1.15}.app-header .brand-subtitle{font-size:13px;line-height:1.15}.module-tabs{order:3;grid-column:1/-1;gap:5px;width:100%;padding:0 0 1px}.module-tab{padding:7px 10px;font-size:14px}.sidebar-edge-rail{pointer-events:none;background:0 0;border:0;width:32px;height:32px;min-height:0;max-height:none;position:absolute;inset:10px 12px auto auto;transform:none}.sidebar-edge-rail:before{display:none}.sidebar-toggle{border-radius:6px;width:32px;height:32px;min-height:32px;top:0;left:0;transform:none}.app-body.sidebar-collapsed .sidebar-edge-rail{left:12px;right:auto}.sidebar-resizer{display:none}.app-user{justify-content:flex-end;gap:6px}.app-user .secondary{border-radius:6px;min-height:32px;padding:7px 10px;line-height:1}.user-name{display:none}.app-body{grid-template-columns:1fr}.app-body .content{grid-column:1/-1}.sidebar{min-height:0;max-height:none;padding:16px;position:static;overflow:visible}.context-menu{grid-template-columns:1fr;gap:12px}.grid,.issue-grid,.review-detail-grid{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:flex-start}.filters,.weekly-filter-shell,.weekly-filter-grid,.weekly-filter-grid label,.weekly-filter-grid .wide-field{grid-template-columns:1fr}.weekly-action-stack{grid-template-columns:repeat(3,minmax(0,1fr))}.permission-filters,.password-reset-grid{grid-template-columns:1fr}.construction-unit-layout{grid-template-columns:1fr;gap:10px}.construction-tree-wrap{max-height:none}.construction-editor{padding:10px}.construction-editor>label:not(.inline-check){grid-template-columns:1fr;gap:4px}.construction-active-check{margin-left:0}.construction-top-actions,.construction-bottom-actions{justify-content:flex-start}.construction-bottom-actions{margin-top:0}.system-permission-layout{grid-template-columns:1fr;gap:10px}.system-permission-table-wrap{max-height:none}.system-permission-editor{min-height:0;padding:10px}.system-permission-editor>label,.permission-inline-fields>label:not(.inline-check){grid-template-columns:1fr;gap:4px}.permission-inline-fields{grid-template-columns:1fr;gap:8px}.system-permission-actions{justify-content:flex-start;padding-top:0}.work-permission-layout,.work-permission-top,.work-permission-scope-grid,.work-permission-actions{grid-template-columns:1fr}.work-permission-list-wrap,.work-permission-tree-wrap{max-height:none}.work-permission-editor{min-height:0}.work-permission-form-grid,.work-permission-date-grid{grid-template-columns:1fr}.work-permission-rights-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-permission-scope-tools.two-columns{grid-template-columns:1fr}.compact-toolbar{justify-content:flex-start}.user-account-layout{grid-template-columns:1fr;gap:10px}.account-editor-title{padding:2px 0 0}.user-account-toolbar{align-items:stretch}.search-field{min-width:0}.user-account-table-wrap{display:none}.user-account-mobile-list{background:#f8fafc;border:1px solid #d8dee9;border-radius:8px;gap:8px;padding:10px;display:grid}.account-card-main{flex-direction:column;gap:2px}.user-account-editor{padding:10px}.user-account-editor>label:not(.account-active-check){grid-template-columns:1fr;gap:4px}.tree-select-popup{width:min(100%,100vw - 36px);min-width:0}.tree-select-header,.tree-select-row{grid-template-columns:minmax(190px,1.3fr) minmax(160px,1fr) 96px;min-width:520px}.tree-select-list{overflow:auto}.editor-grid{grid-template-columns:1fr}}@media (width<=520px){.app-header{padding:7px 10px}.app-header .brand-mark{width:30px;height:30px}.app-header .brand-name{font-size:14px}.app-header .brand-subtitle{font-size:12px}.module-tab{padding:6px 9px;font-size:13px}.sidebar-toggle{width:30px;height:30px;min-height:30px}.sidebar-edge-rail{width:30px;height:30px}.app-user .secondary{min-height:30px;padding:6px 9px;font-size:13px}.work-permission-view{padding:8px}.work-permission-list-table th,.work-permission-list-table td{min-width:150px}.work-permission-rights-grid{grid-template-columns:1fr}}.month-filter-grid,.export-filter-grid{grid-template-columns:240px minmax(260px,1fr) 240px;align-items:end;gap:12px;margin-bottom:12px;display:grid}.month-filter-grid label,.export-filter-grid label,.contract-name-field,.wide-field{min-width:0}.checkbox-line,.radio-line{align-items:center;gap:8px;min-height:34px;display:flex}.month-action-stack,.export-action-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.export-scope-box{border:1px solid #d7e0ec;border-radius:8px;grid-column:span 2;grid-template-columns:repeat(3,minmax(160px,1fr));gap:6px 14px;padding:10px 12px;display:grid}.export-scope-box legend{color:#475569;padding:0 6px;font-weight:700}.export-summary{color:#475569;margin:8px 0 12px;font-size:14px}.month-matrix-wrap{max-height:58vh}.month-matrix-table th,.month-matrix-table td{white-space:nowrap}.export-config-modal{width:min(1100px,100vw - 32px)}.export-config-modal .modal-actions>button.primary:not(.export-config-apply){display:none}.export-config-grid{grid-template-columns:1.2fr .8fr 1fr;gap:16px;display:grid}.export-config-list{background:#f8fbff;border:1px solid #d7e0ec;border-radius:8px;max-height:360px;padding:8px;overflow:auto}.export-config-list label{border-bottom:1px solid #e5edf7;flex-direction:column;gap:4px;padding:6px;display:flex}.export-config-list label.checkbox-line{flex-direction:row;align-items:center}.export-config-list label:last-child{border-bottom:0}.account-reset-password{width:100%;margin-top:4px}.account-password-modal{width:min(440px,100vw - 32px)}.account-password-modal>label{gap:6px;margin-top:12px;display:grid}.permission-usage-text,.inline-hint{color:#52627a;font-size:13px}.permission-usage-text{padding:8px 0}.inline-hint{background:#f3f8f6;border-left:3px solid #3b9d78;padding:8px 12px}@media (width<=980px){.month-filter-grid,.export-filter-grid{grid-template-columns:1fr 1fr}.export-scope-box,.export-action-row,.month-action-stack{grid-column:span 2}.export-config-grid{grid-template-columns:1fr}}@media (width<=640px){.month-filter-grid,.export-filter-grid,.export-scope-box{grid-template-columns:1fr}.export-scope-box,.export-action-row,.month-action-stack{grid-column:span 1}.month-action-stack button,.export-action-row button{width:100%}}.parity-modal{width:min(1280px,100vw - 32px);max-width:none;max-height:calc(100vh - 32px);overflow:auto}.parity-modal .table-wrap{max-height:42vh}.parity-modal input,.parity-modal select,.parity-modal textarea{max-width:100%}.trend-bars{gap:12px;display:grid}.trend-bars>div{grid-template-columns:minmax(120px,1fr) minmax(100px,3fr) 55px;align-items:center;gap:12px;display:grid}.trend-bars progress{accent-color:#286ca6;width:100%;height:18px}.dashboard-action{text-align:left;white-space:normal;width:100%;margin:8px 0;display:block}.dashboard-action small{padding-top:6px;display:block}.dashboard-my-work{min-width:0}.dashboard-my-work>.table-wrap{max-height:440px}.dashboard-my-work>.toolbar{margin-bottom:10px}.dashboard-my-work>.toolbar input{flex:240px;width:auto;min-width:0}.dashboard-my-work>.toolbar select{flex:0 240px;width:auto;max-width:100%}.dashboard-my-work .data-table td:nth-child(6),.dashboard-my-work .data-table td:nth-child(7){white-space:nowrap}.dashboard-my-work .data-table th:last-child,.dashboard-my-work .data-table td:last-child{background:#fff;min-width:150px;position:sticky;right:0;box-shadow:-2px 0 3px #d8dee9}.dashboard-my-work .data-table th:last-child{z-index:3;background:#f6f8fb}button.metric-card{text-align:left;white-space:normal}button.metric-card>span,button.metric-card>strong{display:block}.pagination{flex-wrap:wrap;justify-content:flex-end;padding:10px 0}.journal-parameters{white-space:pre-wrap;overflow-wrap:anywhere}.weekly-report-table th:first-child,.weekly-report-table td:first-child{z-index:1;background:#f6f9fc;position:sticky;left:0}.weekly-report-table th:first-child{z-index:3}.parity-modal ol{padding-left:24px;line-height:1.65}.parity-modal li{margin:10px 0}@media (width<=720px){.parity-modal .issue-grid{grid-template-columns:1fr;display:grid}.parity-modal .toolbar{align-items:stretch}.parity-modal .toolbar>input,.parity-modal .toolbar>select{width:100%}.trend-bars>div{grid-template-columns:95px minmax(80px,1fr) 45px;gap:8px}}.contract-select{grid-template-columns:minmax(120px,.8fr) minmax(150px,1.2fr);gap:6px;min-width:0;display:grid}.contract-select input,.contract-select select{width:100%;min-width:0}.contract-select-warning{grid-column:1/-1}@media (width<=700px){.contract-select{grid-template-columns:1fr}}.report-grid-tools{flex-wrap:wrap;align-items:center;gap:8px;padding:10px 0;display:flex}.report-grid-tools>input{flex:240px;min-width:160px}.report-grid-tools>select{max-width:100%}.report-grid-tools>small,.report-grid-tools>.pagination,.report-grid-tools>.status-text{flex-basis:100%}.report-grid-tools small{color:#526273}.table-column-settings{background:#f8fafc;border:1px solid #d8dee9;border-radius:6px;flex-basis:100%;min-width:0;padding:8px}.table-column-settings summary{cursor:pointer;color:#234878}.table-column-settings small{margin-top:8px;display:block}.table-column-options{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;padding:12px 0;display:grid}.table-column-options label{align-items:center;gap:6px;font-weight:400;display:flex}.table-column-options input[type=checkbox]{width:16px;min-width:16px;margin:0}.data-table [hidden]{display:none!important}.report-group-toggle{color:#234878;background:#e7eef8;border:1px solid #bdcee5;border-radius:4px;min-width:32px;margin-right:6px;padding:2px 5px}.report-group-toggle .group-count{font-size:11px}.weekly-report-table input.changed-input{background:#fff3cd;box-shadow:inset 3px 0 #ad7800}.weekly-report-table input:focus-visible{outline-offset:-2px;outline:2px solid #2563eb}.draft-recovery{margin-block:8px}.issue-grid>.draft-recovery{grid-column:1/-1}.draft-recovery td{white-space:pre-wrap;overflow-wrap:anywhere;max-width:340px}.contract-workflow{background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;margin-bottom:12px;padding:10px 12px}.workflow-context{overflow-wrap:anywhere;flex-wrap:wrap;gap:6px 16px;margin-bottom:8px;display:flex}.contract-workflow nav{gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.contract-workflow nav button{flex:none}:is(.import-workspace,.contract-review-screen,.weekly-entry-screen){gap:8px;padding:12px}:is(.import-workspace,.contract-review-screen,.weekly-entry-screen) :is(button,select,input:not([type=checkbox])){min-height:32px;padding:6px 9px}:is(.import-workspace,.contract-review-screen,.weekly-entry-screen) :is(p,h2,h3){margin-top:0;margin-bottom:0}:is(.import-workspace,.contract-review-screen,.weekly-entry-screen) .toolbar,:is(.import-workspace,.contract-review-screen,.weekly-entry-screen) .data-tabs{gap:6px}:is(.import-workspace,.contract-review-screen,.weekly-entry-screen) .data-tab-list{flex-wrap:nowrap;gap:3px;padding:3px;overflow-x:auto}:is(.import-workspace,.contract-review-screen,.weekly-entry-screen) .data-tab{white-space:nowrap;flex:none}:is(.import-workspace,.contract-review-screen,.weekly-entry-screen) .pagination{gap:6px;margin:0}.compact-workflow{align-items:center;gap:8px 12px;margin-bottom:8px;padding:6px 10px;display:flex}.compact-workflow .workflow-context{flex:0 340px;gap:2px 8px;min-width:0;margin:0;font-size:12px}.compact-workflow .workflow-context strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.compact-workflow nav{min-width:0;padding:0}.compact-workflow nav button{min-height:32px;padding:6px 9px}.compact-help{min-width:0;font-size:12px}.compact-help summary{cursor:pointer;color:#365777;padding:5px 0}.compact-help[open]{flex-basis:100%}.compact-help p{overflow-wrap:anywhere;padding:6px 0}.import-workspace .import-filters{grid-template-columns:minmax(260px,340px) minmax(180px,1fr) auto;gap:8px}.import-workspace .import-session{order:0}.import-workspace .import-file-table{min-width:860px}.import-workspace .sheet-picker{flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:200px;display:flex}.import-workspace .sheet-picker>*{flex:none;width:auto}.import-workspace .sheet-picker input[type=checkbox]{min-width:0;padding:0}.import-workspace .import-file-table td{vertical-align:top}.import-workspace .import-file-table td:nth-child(2){max-width:340px}.import-workspace .import-mapping .toolbar select{width:auto;max-width:100%}.import-workspace .import-history{padding:8px 10px}.import-workspace .import-history>summary{cursor:pointer;font-weight:600}.import-workspace .import-history[open]>summary{margin-bottom:8px}.import-workspace .import-history .toolbar input{flex:200px;width:auto}.import-workspace .import-history .pagination{margin:6px 0}.contract-review-screen .manage-filters{grid-template-columns:minmax(250px,300px) minmax(140px,1fr) minmax(180px,1fr) auto;gap:8px}.contract-review-screen .review-table-status{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.contract-review-screen .review-table-status .pagination{margin-left:auto}.contract-review-screen>.table-wrap{max-height:max(300px,100dvh - 290px)}.weekly-entry-screen .weekly-filter-shell{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.weekly-entry-screen .weekly-filter-grid{flex:720px;grid-template-columns:minmax(260px,1.2fr) minmax(240px,1fr) minmax(180px,1fr);gap:8px}.weekly-entry-screen .weekly-filter-grid label,.weekly-entry-screen .weekly-filter-grid .wide-field{grid-template-columns:minmax(0,1fr);gap:3px;display:grid}.weekly-entry-screen .weekly-action-stack{flex-wrap:wrap;gap:6px;display:flex}.weekly-entry-screen .compact-weekly-summary{overflow-wrap:anywhere;min-height:0;font-size:12px;display:block}.weekly-entry-screen .draft-recovery:empty{display:none}.weekly-entry-screen .report-grid-tools{gap:5px 8px;padding:0}.weekly-entry-screen .report-grid-tools>input{flex:220px;width:auto}.weekly-entry-screen .report-grid-tools>select{flex:0 230px;width:auto}.weekly-entry-screen .report-grid-tools>span{font-size:12px}.weekly-entry-screen .table-column-settings{flex:none;width:auto;padding:0 6px}.weekly-entry-screen .table-column-settings[open]{flex:1 0 100%}.weekly-entry-screen .report-grid-tools>.pagination{flex:1 0 auto;justify-content:flex-end}.report-keyboard-help,.weekly-entry-screen .report-keyboard-hint{display:none}.weekly-entry-screen .report-keyboard-help{display:block}.weekly-entry-screen .weekly-table-wrap{max-height:max(280px,100dvh - 390px)}@media (width<=1100px){.compact-workflow{flex-wrap:wrap}.compact-workflow .workflow-context{flex-basis:100%}.compact-workflow nav{width:100%}.contract-review-screen .manage-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.contract-review-screen .manage-filters>button{justify-self:end}}@media (width<=800px){.import-workspace .import-filters{grid-template-columns:minmax(0,1fr) auto}.import-workspace .import-filters>label:first-child{grid-column:1/-1}.weekly-entry-screen .weekly-filter-grid{flex-basis:100%;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.weekly-entry-screen .weekly-filter-grid>label:first-child{grid-column:1/-1}}@media (width<=600px){.contract-review-screen .manage-filters,.weekly-entry-screen .weekly-filter-grid,.import-workspace .import-filters{grid-template-columns:minmax(0,1fr)}.contract-review-screen .review-table-status .pagination{margin-left:0}.weekly-entry-screen .report-grid-tools>.pagination{flex-basis:100%}}@media (pointer:coarse){:is(.import-workspace,.contract-review-screen,.weekly-entry-screen) :is(button,select,summary){min-height:40px}}.export-job-panel{overflow-wrap:anywhere;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;min-width:0;margin:12px 0;padding:12px}.export-job-panel .report-grid-tools{padding-top:0}.export-job-panel label{flex:280px;min-width:0}.export-job-panel select{width:100%;min-width:0;display:block}.export-job-panel p{margin:6px 0}.export-job-panel progress{width:min(100%,360px)}.export-job-panel>small{color:#526273;margin-top:10px;display:block}.export-job-actions{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:8px;display:flex}fieldset.work-permission-editor{border:0;min-width:0;margin:0;padding:0}.permission-draft{min-width:0}.permission-draft .table-wrap{max-height:420px;overflow:auto}.permission-draft td{white-space:pre-wrap;overflow-wrap:anywhere;min-width:120px;max-width:320px}.dashboard-redesign .dashboard-group-tabs{grid-column:1/-1;gap:4px;min-width:0;padding:3px 0;display:flex;overflow-x:auto}.dashboard-redesign .dashboard-group-tabs button{white-space:nowrap;flex:none}.dashboard-redesign .dashboard-group-tabs small{opacity:.8}.dashboard-redesign .dashboard-group-context{color:#52677d;flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;gap:3px 12px;font-size:12px;display:flex}.dashboard-redesign .dashboard-money-table th[data-column=TyLeHoanThanh]{white-space:nowrap}.dashboard-redesign .dashboard-money-table td[data-column=TenCongViec]{min-width:220px}@media (width>=1200px){.dashboard-redesign .dashboard-comparison-panel>.dashboard-group-tabs{grid-row:5}.dashboard-redesign .dashboard-comparison-panel>.dashboard-group-context{grid-row:6}:is(.dashboard-redesign .dashboard-comparison-panel:has(.dashboard-group-tabs)>.dashboard-paging,.dashboard-redesign .dashboard-comparison-panel:has(.dashboard-group-tabs)>.table-column-settings){grid-row:7}.dashboard-redesign .dashboard-comparison-panel:has(.dashboard-group-tabs)>.table-column-settings[open]{grid-row:8}.dashboard-redesign .dashboard-comparison-panel:has(.dashboard-group-tabs)>.table-wrap{grid-row:9}}.dashboard-redesign .dashboard-area-tabs{grid-column:1/-1;gap:4px;min-width:0;padding:2px 0;display:flex;overflow-x:auto}.dashboard-redesign .dashboard-area-tabs button{white-space:nowrap;flex:none}.dashboard-redesign .dashboard-tree-name{align-items:baseline;gap:5px;display:inline-flex}.dashboard-redesign .dashboard-tree-name button{flex-shrink:0;min-width:22px;min-height:22px;padding:0 4px}.dashboard-redesign .dashboard-empty-scope{background:#fff8e9;grid-column:1/-1;padding:8px}.dashboard-redesign .dashboard-money-table [data-column=MaDongGoc]{white-space:nowrap;text-align:center;width:48px;min-width:48px}@media (width>=1200px){.dashboard-redesign .dashboard-comparison-panel>.dashboard-area-tabs{grid-row:6}.dashboard-redesign .dashboard-comparison-panel:has(.dashboard-area-tabs)>.dashboard-group-context{grid-row:7}:is(.dashboard-redesign .dashboard-comparison-panel:has(.dashboard-area-tabs)>.dashboard-paging,.dashboard-redesign .dashboard-comparison-panel:has(.dashboard-area-tabs)>.table-column-settings){grid-row:8}.dashboard-redesign .dashboard-comparison-panel:has(.dashboard-area-tabs)>.table-column-settings[open]{grid-row:9}.dashboard-redesign .dashboard-comparison-panel:has(.dashboard-area-tabs)>.table-wrap{grid-row:10}}
