*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:Inter,sans-serif;font-size:13px}:root{--hdr:#2d3461;--hdr2:#252b55;--ui-surface:#026cb5;--ui-surface-hover:#025a9a;--ui-surface-border:#024f8a;--ui-surface-text:#fff;--action-primary:var(--ui-surface);--action-primary-hover:var(--ui-surface-hover);--action-primary-gradient:linear-gradient(135deg, var(--ui-surface) 0%, var(--ui-surface-hover) 100%);--bg:#f0f2f8;--white:#fff;--c1:#52bcf7;--c2:#32c1a4;--c3:#fabc1c;--c4:#de3e6b;--c5:#ff5c7f;--c6:#b674c0;--c7:#28bbd4;--c8:#27b6ac;--text:#1a1a2e;--muted:#6b7280;--border:#e5e7eb}#login-page{--login-text:#0f172a;--login-muted:#6b7280;--login-label:#6b7280;--login-primary:var(--ui-surface);--login-primary-hover:var(--ui-surface-hover);--login-primary-gradient:linear-gradient(135deg, #1565c0, #1976d2);--login-card:#fff;--login-border:#e5e7eb;--login-input-bg:#fff;background:#161616;flex-direction:column;width:100%;min-height:100vh;display:flex;position:relative;overflow:auto}.login-shell{box-sizing:border-box;flex:1;grid-template-columns:1fr minmax(480px,1fr);align-items:center;gap:24px;width:100%;min-height:100vh;margin:0;padding:72px 48px 56px 88px;display:grid;position:relative;overflow:hidden}.bg-video{object-fit:cover;z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.video-overlay{z-index:1;pointer-events:none;background:linear-gradient(65deg,#161616b8 18.92%,#00000026 36.24%,#212020e0 76.27%);position:absolute;inset:0}.login-brand{z-index:2;align-self:center;max-width:540px;padding-right:24px;position:relative}.login-logo-wrap{margin-bottom:28px}.login-logo{object-fit:contain;width:48px;height:48px;display:block}.login-title{color:#fff;letter-spacing:-.5px;max-width:480px;margin-bottom:10px;font-size:28px;font-weight:800;line-height:1.25}.login-accent-block{margin-bottom:28px}.login-accent-block strong{color:#fff;margin-bottom:8px;font-size:16px;font-weight:600;line-height:1.45;display:block}.login-accent-block p{color:#ffffffeb;max-width:440px;font-size:15px;line-height:1.65}.login-form-col{z-index:2;flex-direction:column;justify-content:center;justify-self:center;align-items:center;width:100%;max-width:480px;margin:0 auto;display:flex;position:relative}.lcard{background:var(--login-card);border:1px solid #eef0f2;border-radius:28px;width:100%;padding:44px 44px 40px;box-shadow:0 1px 2px #0f172a0a,0 12px 32px #0f172a0f,0 32px 64px #0f172a14}.lcard-head{margin-bottom:0}.lcard h2{color:var(--login-text);letter-spacing:-.6px;margin-bottom:6px;font-size:30px;font-weight:700;line-height:1.15}.lcard>.lcard-sub,.lcard-head .lcard-sub{color:#9ca3af;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.5}.lcard-rule{border:none;border-top:1px solid #e5e7eb;margin:22px 0 26px}.fg{margin-bottom:22px}.fg:last-of-type{margin-bottom:0}.fl{color:var(--login-label);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;font-size:10px;font-weight:700;display:block}.fl .req{color:#dc2626;margin-left:1px;font-weight:700}.fi{width:100%;height:50px;color:var(--login-text);background:var(--login-input-bg);border:1px solid #d1d5db;border-radius:12px;outline:none;padding:0 16px;font-family:Inter,sans-serif;font-size:15px;transition:border-color .2s,box-shadow .2s}.fi:focus{border-color:var(--login-primary);box-shadow:0 0 0 3px #026cb51f}.fi::placeholder{color:#9ca3af;font-weight:400}.forgot{text-align:right;margin:12px 0 22px}.forgot a{color:var(--login-primary);letter-spacing:-.01em;font-size:13px;font-weight:600;text-decoration:none}.forgot a:hover{color:var(--login-primary-hover)}.btn-login{cursor:pointer;background:var(--login-primary-gradient);width:100%;height:54px;color:var(--ui-surface-text);letter-spacing:.01em;border:none;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 24px;font-family:Inter,sans-serif;font-size:15px;font-weight:700;transition:transform .15s,box-shadow .2s,filter .2s;display:inline-flex;box-shadow:0 2px 8px #1565c047}.btn-login:hover{filter:brightness(1.03);transform:translateY(-1px);box-shadow:0 6px 18px #1565c066}.btn-login:disabled{opacity:.75;cursor:wait;transform:none}.btn-login span{margin-top:-1px;font-size:16px;line-height:1}.login-demo-details{width:100%;max-width:480px;color:var(--login-muted);text-align:center;margin-top:14px;font-size:11px}.login-form-col .login-demo-details .ldemo{text-align:left}.login-demo-details summary{cursor:pointer;color:var(--login-primary);-webkit-user-select:none;user-select:none;font-weight:600;list-style:none}.login-demo-details summary:hover{color:var(--login-primary-hover)}.login-demo-details summary::-webkit-details-marker{display:none}.ldemo{border:1px solid var(--login-border);color:var(--login-muted);background:#f9fafb;border-radius:10px;margin-top:10px;padding:12px 14px;font-size:11px;line-height:1.55}.ldemo strong{color:var(--login-text);font-weight:700}.lfooter{text-align:center;letter-spacing:.1em;color:#9ca3af;margin-top:22px;font-size:11px;font-weight:500}@media (width<=1024px){.login-shell{grid-template-columns:1fr;gap:36px;max-width:100%;min-height:auto;padding:80px 32px 48px}.login-brand{text-align:left;max-width:100%}.login-form-col{max-width:480px;padding-right:0}}@media (width<=520px){.login-shell{padding:72px 20px 32px}.login-title{letter-spacing:-.4px;font-size:26px}.login-accent-block strong{font-size:15px}.login-accent-block p{font-size:14px}.lcard{border-radius:20px;padding:32px 28px 28px}}#dash{background:var(--bg);flex-direction:column;height:100vh;display:none}#dash.show{display:flex}.topbar{background:var(--hdr);z-index:100;flex-shrink:0;justify-content:space-between;align-items:center;height:56px;padding:0 20px;display:flex;position:relative;box-shadow:0 2px 12px #00000047}.tb-l{align-items:center;gap:14px;display:flex}.tb-icon{border-radius:9px;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;display:flex}.tb-icon img{width:36px;height:36px}.tb-title{color:#fff;font-size:14px;font-weight:700;line-height:1.2}.tb-sub{color:#ffffffb8;font-size:13px;line-height:1.35}.tb-r{align-items:center;gap:14px;display:flex}.ic-btn{color:#ffffffb8;cursor:pointer;background:#ffffff14;border:none;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:15px;transition:background .2s;display:flex}.ic-btn:hover{background:#ffffff29}.live-pill{color:#fff;background:#ffffff14;border:1px solid #ffffff1f;border-radius:20px;align-items:center;gap:6px;padding:5px 13px;font-size:11px;font-weight:700;display:flex}.ld{background:#10b981;border-radius:50%;width:7px;height:7px;animation:2s infinite pulse}@keyframes pulse{0%,to{box-shadow:0 0 #10b98166}50%{box-shadow:0 0 0 4px #10b98100}}.avatar{color:#fff;cursor:pointer;background:linear-gradient(135deg,#f59e0b,#ef4444);border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:12px;font-weight:800;display:flex;box-shadow:0 0 0 2px #fff3}.umenu{z-index:200;background:#fff;border:1px solid #e5e7eb;border-radius:12px;min-width:200px;padding:8px;display:none;position:absolute;top:54px;right:16px;box-shadow:0 12px 40px #0000002e}.umenu.open{animation:.2s fd;display:block}@keyframes fd{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.um-hd{border-bottom:1px solid #f3f4f6;margin-bottom:6px;padding:10px 12px 12px}.um-name{color:var(--text);font-size:13px;font-weight:700}.um-role{color:#9ca3af;margin-top:2px;font-size:10.5px}.um-item{color:#374151;cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:9px 12px;font-size:12px;transition:background .15s;display:flex}.um-item:hover{background:#f3f4f6}.um-item.danger{color:#ef4444}.dash-body{flex:1;display:flex;overflow:hidden}.sidebar{background:var(--hdr2);flex-direction:column;flex-shrink:0;align-items:center;gap:8px;width:64px;padding:16px 0;display:flex}.sb.sb-role-hidden{display:none!important}.sb{color:#ffffff6b;cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;transition:all .2s;display:flex}.sb img{filter:brightness(0)invert();opacity:.55;width:60%;transition:opacity .2s}.sb:hover,.sb.on{color:#fff;background:#ffffff1f}.sb:hover img,.sb.on img{opacity:1}.sb-bot{margin-top:auto;padding-bottom:8px}.content{flex:1;padding:24px 28px;overflow-y:auto}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.bc{color:#9ca3af;align-items:center;gap:6px;margin-bottom:16px;font-size:14px;display:flex}#mod-visual .bc{display:none}.bc .active{color:#1565c0;font-weight:600}.bc .sep{color:#d1d5db}.ph{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.ph h1{color:var(--text);letter-spacing:-.5px;font-size:26px;font-weight:800}.ph-meta{color:#9ca3af;margin-top:5px;font-size:13px;line-height:1.45}#mod-dashboard .ph-meta,#mod-visual .ph-meta{font-size:15px}#mod-coes .ph-meta{color:#6b7280;margin-top:6px;font-size:17px}#mod-coes .mod-kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:20px}@media (width<=1100px){#mod-coes .mod-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}.coe-site-select-wrap{margin-bottom:16px;padding:16px 20px 18px}.coe-site-select-section{margin-bottom:0}.coe-site-select-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.coe-site-search{border:1px solid #e5e7eb;border-radius:10px;flex:1;min-width:220px;max-width:360px;height:38px;padding:0 14px;font-family:Inter,sans-serif;font-size:13px}.coe-site-select-count{color:#6b7280;font-size:12px}.coe-site-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.coe-site-card{text-align:left;cursor:pointer;background:#fff;border:1.5px solid #e5e7eb;border-radius:12px;padding:12px 12px 10px;transition:border-color .15s,box-shadow .15s;position:relative}.coe-site-card:hover{box-shadow:0 4px 14px #00000014}.coe-site-card.on{border-color:var(--ui-surface,#1565c0);box-shadow:0 0 0 1px var(--ui-surface,#1565c0)}.coe-site-card--all{background:#f8fafc}.coe-site-check{background:var(--ui-surface,#1565c0);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;display:none;position:absolute;top:8px;right:8px}.coe-site-card.on .coe-site-check{display:flex}.coe-site-name{color:#1f2937;padding-right:20px;font-size:13px;font-weight:700;line-height:1.35}.coe-site-reg{color:#9ca3af;margin-top:2px;font-size:11px}.coe-site-prog-track{background:#e5e7eb;border-radius:3px;height:5px;margin:10px 0 8px;display:block;overflow:hidden}.coe-site-prog-fill{border-radius:3px;height:100%;display:block}.coe-site-meta{color:#6b7280;flex-wrap:wrap;gap:6px 10px;font-size:10px;font-weight:600;display:flex}.coe-site-status{text-transform:uppercase;color:#6b7280;letter-spacing:.03em;margin-top:8px;font-size:9px;font-weight:700;display:inline-block}.coe-selected-banner{background:linear-gradient(135deg,#eff6ff 0%,#f8fafc 100%);border:1px solid #bfdbfe;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin:0 20px;padding:16px 18px;display:flex}.coe-site-focus{background:#fff;border:1px solid #bfdbfe;border-radius:12px;margin:0 20px 16px;overflow:hidden;box-shadow:0 1px 3px #0f172a0f}.coe-site-focus .coe-selected-banner{border:none;border-bottom:1px solid #dbeafe;border-radius:0;margin:0}.coe-site-focus .coe-civil-work-panel{background:#fff;border:none;border-radius:0;max-width:none;min-height:0;margin:0;padding:16px 18px 18px}.coe-site-focus .coe-civil-work-panel .pdm-panel-hd{margin-bottom:12px}.coe-selected-title{color:#1e3a8a;text-transform:uppercase;letter-spacing:.02em;margin:0;font-size:18px;font-weight:800}.coe-selected-sub{color:#6b7280;margin-top:4px;font-size:12px}.coe-selected-meta{color:#4b5563;flex-direction:column;gap:4px;font-size:11px;display:flex}.coe-selected-meta strong{color:#1f2937}.coe-viz-section{margin:0 0 20px;padding-bottom:8px}.coe-viz-hd{padding:20px 24px 0}.coe-viz-hd .csec-title{margin-bottom:4px}.coe-viz-sub{color:#9ca3af;font-size:11px}.coe-charts-grid{flex-direction:column;gap:16px;padding:16px 20px 20px;display:flex}.coe-charts-row{gap:16px;display:grid}.coe-charts-row--pies,.coe-charts-row--lines{grid-template-columns:repeat(2,minmax(0,1fr))}.coe-fin-view-toggle{background:#fff;border:1px solid #e5e7eb;border-radius:999px;align-items:center;gap:2px;padding:3px;display:inline-flex}.coe-fin-view-toggle button{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:999px;min-width:84px;height:28px;padding:0 12px;font-family:Inter,sans-serif;font-size:11px;font-weight:600;transition:background .15s,color .15s}.coe-fin-view-toggle button.on{background:var(--ui-surface);color:#fff}.coe-fin-import-input{display:none}.coe-fin-import-btn{color:#374151;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d1d5db;border-radius:6px;justify-content:center;align-items:center;padding:6px 10px;font-size:11px;font-weight:600;display:inline-flex}.coe-fin-import-btn:hover{background:#f9fafb;border-color:#9ca3af}.coe-period-filters{align-items:center;gap:6px;display:inline-flex}.coe-period-filters select{color:#374151;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:5px 8px;font-size:11px}.coe-site-card--featured{border-color:#2563eb;box-shadow:0 0 0 1px #2563eb26}.coe-pictures-section,.coe-guarantees-section{margin-top:16px}.coe-pictures-sub{color:#6b7280;margin-top:4px;font-size:12px}.coe-pictures-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;padding:16px;display:grid}.coe-pictures-card{background:#fafafa;border:1px solid #e5e7eb;border-radius:10px;padding:12px}.coe-pictures-site{color:#111827;font-size:13px;font-weight:700}.coe-pictures-region{color:#6b7280;margin-top:2px;font-size:11px}.coe-pictures-thumbs{flex-wrap:wrap;gap:8px;min-height:72px;margin:10px 0;display:flex}.coe-pictures-thumb{border:1px solid #e5e7eb;border-radius:8px;width:72px;height:72px;position:relative;overflow:hidden}.coe-pictures-thumb img{object-fit:cover;width:100%;height:100%}.coe-pictures-remove{color:#fff;cursor:pointer;background:#0000008c;border:none;border-radius:999px;width:18px;height:18px;font-size:12px;line-height:1;position:absolute;top:2px;right:2px}.coe-pictures-empty{color:#9ca3af;padding:8px 0;font-size:11px}.coe-pictures-upload{color:var(--ui-surface);cursor:pointer;font-size:11px;font-weight:600;display:inline-block}.coe-pictures-upload input{display:none}.coe-guarantee-alert{white-space:nowrap;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:700;display:inline-block}.coe-guarantee-alert--ok{color:#15803d;background:#dcfce7}.coe-guarantee-alert--warn{color:#9a3412;background:#ffedd5}.coe-guarantee-alert--expired{color:#991b1b;background:#fee2e2}.civ-table thead th.civ-th-wrap,.tbl-wrap .civ-table thead th.civ-th-wrap{vertical-align:bottom;min-width:72px;white-space:normal!important;text-overflow:unset!important;line-height:1.3!important;overflow:visible!important}.coe-chart-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;min-width:0;margin:0;display:flex;overflow:hidden}.coe-chart-hd{padding:14px 16px 0}.coe-chart-hd--with-actions{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.coe-chart-hd-text{flex:1;min-width:0}.coe-chart-hd-actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;padding-top:2px;display:flex}.coe-chart-title{color:#1f2937;font-size:12px;font-weight:700;line-height:1.35}.coe-chart-sub{color:#9ca3af;margin-top:3px;font-size:10px}.coe-chart-body{flex:1;position:relative}.coe-chart-body--pie{height:190px;padding:0 12px 8px}.coe-donut-panel{max-width:220px;height:100%;margin:0 auto;position:relative}.coe-donut-center{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;padding-bottom:28px;display:flex;position:absolute;inset:0}.coe-donut-center-val{color:#1f2937;font-size:22px;font-weight:800;line-height:1}.coe-donut-center-lbl{color:#9ca3af;text-transform:uppercase;letter-spacing:.04em;margin-top:3px;font-size:10px;font-weight:600}.coe-chart-body--line{height:300px;padding:8px 16px 12px}.coe-chart-body canvas{display:block;width:100%!important;height:100%!important}.coe-table-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.coe-table-toolbar .btn-listing-bar{margin-left:auto}.coe-table-section{margin-top:0}.coe-table-section .csec-hd{padding:20px 24px 0}.coe-table-section .csec-sub{color:#9ca3af;margin-top:4px;font-size:11px}.civ-date-overdue{color:#dc2626;font-weight:700}.civ-schedule-cell{text-align:left;min-width:118px;padding:2px 4px}.civ-schedule-meta{justify-content:space-between;gap:4px;margin-bottom:4px;font-size:10px;line-height:1.3;display:flex}.civ-schedule-pct{color:#6b7280;font-weight:600}.civ-schedule-days{white-space:nowrap;font-weight:700}.civ-schedule-days--ok{color:#059669}.civ-schedule-days--warn{color:#d97706}.civ-schedule-days--risk{color:#dc2626}.civ-schedule-days--muted{color:#9ca3af}.civ-schedule-track{margin-bottom:4px;display:block}.civ-schedule-status{text-transform:uppercase;letter-spacing:.03em;font-size:9px;font-weight:700;display:block}.civ-schedule-status--ok{color:#059669}.civ-schedule-status--warn{color:#d97706}.civ-schedule-status--risk{color:#dc2626}.civ-schedule-status--muted,.civ-schedule-na{color:#9ca3af}.coe-supervision-footer{text-align:center;background:#f8fafc;border:1.5px solid #e5e7eb;border-radius:10px;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin:0 24px 20px;padding:14px;display:flex}.coe-supervision-name{color:#1a1a2e;font-size:12px;font-weight:700}.coe-supervision-meta{color:#9ca3af;margin-top:2px;font-size:10px}.coe-supervision-value{text-align:center;flex-shrink:0}.coe-supervision-amt{color:#1565c0;font-size:13px;font-weight:800}.coe-supervision-status{color:#6b7280;justify-content:center;align-items:center;gap:6px;margin-top:4px;font-size:10px;display:flex}@media (width<=900px){.coe-charts-row--pies,.coe-charts-row--lines{grid-template-columns:1fr}.coe-chart-body--line{height:300px}}#mod-procurement .ph-meta{color:#6b7280;margin-top:6px;font-size:14px}.budget-table-note{color:#6b7280;padding:0 24px 12px;font-size:13px;line-height:1.45}#proc-cm-tbl .sec-div{letter-spacing:1.2px;padding:16px 24px 12px;font-size:15px}.dash-comp-subtitle{color:#6b7280;padding:0 24px 12px;font-size:14px;line-height:1.45}#mod-training #training-ph-meta,#mod-training .training-comp-subtitle{color:#6b7280;font-size:16px;line-height:1.45}#mod-training #training-ph-meta{margin-top:6px}#mod-training .training-comp-subtitle{margin:-6px 0 14px;padding:0 4px}#mod-training .training-comp-subtitle--c3{margin:0 0 12px;padding:0 4px}.dash-gender-hd{color:#374151;text-transform:uppercase;letter-spacing:1.2px;margin-bottom:10px;font-size:13px;font-weight:700}.inproc-usd-note{color:#6b7280;padding:0 24px 10px;font-size:13px;line-height:1.4}.tbl-wrap table.inproc-table{table-layout:fixed;width:100%}.tbl-wrap table.inproc-table:not(.inproc-table-yet) col.col-ref{width:10%}.tbl-wrap table.inproc-table:not(.inproc-table-yet) col.col-package{width:28%}.tbl-wrap table.inproc-table:not(.inproc-table-yet) col.col-type{width:11%}.tbl-wrap table.inproc-table:not(.inproc-table-yet) col.col-est{width:13%}.tbl-wrap table.inproc-table:not(.inproc-table-yet) col.col-remarks{width:38%}.tbl-wrap table.inproc-table.inproc-table-yet col.col-ref{width:11%}.tbl-wrap table.inproc-table.inproc-table-yet col.col-package{width:46%}.tbl-wrap table.inproc-table.inproc-table-yet col.col-type{width:15%}.tbl-wrap table.inproc-table.inproc-table-yet col.col-est{width:16%}.tbl-wrap table.inproc-table th.t-col-ref,.tbl-wrap table.inproc-table td.t-col-ref{vertical-align:middle;white-space:nowrap;box-sizing:border-box;min-width:118px;text-align:left!important;padding:12px 18px 12px 20px!important}.tbl-wrap table.inproc-table thead th.t-col-ref{text-transform:uppercase;letter-spacing:.04em;font-weight:600}.tbl-wrap table.inproc-table th.t-col-package,.tbl-wrap table.inproc-table td.t-col-package{vertical-align:middle;white-space:normal;box-sizing:border-box;line-height:1.45;text-align:left!important;padding:12px 16px!important}.tbl-wrap table.inproc-table td.t-col-package.t-wrap,.tbl-wrap table.inproc-table td.t-col-remarks.t-wrap-sm{max-width:none}.tbl-wrap table.inproc-table td.t-col-remarks{white-space:normal;line-height:1.45;text-align:left!important;padding:12px 16px!important}.sec-div.sec-div-lg{letter-spacing:1.4px;padding:16px 24px 12px;font-size:14px}#mod-dashboard .tbl-wrap thead th,#mod-dashboard .civ-table thead th,#mod-dashboard .tr-table thead th,#mod-dashboard .tr-table thead th.tr-col-action,#mod-dashboard .tr-table.coe-enrol-table thead th,#mod-dashboard .tr-table th.tr-hdr-group{font-size:12px!important}#mod-dashboard .tbl-wrap tbody td,#mod-dashboard .tbl-wrap tbody td .t-ref,#mod-dashboard .tbl-wrap tbody td .t-num-cell,#mod-dashboard .tbl-wrap tbody td .t-muted,#mod-dashboard .tbl-wrap tbody td .t-strong,#mod-dashboard .tbl-wrap tbody td .t-num-cell,#mod-dashboard .tbl-wrap tbody td .t-wrap,#mod-dashboard .tbl-wrap tbody td .t-wrap-sm,#mod-dashboard .tbl-wrap tbody td .c3-invoice-cell,#mod-dashboard .tbl-wrap tbody td .c3-date-cell,#mod-dashboard .tbl-wrap tbody td .civ-pct,#mod-dashboard .tbl-wrap tbody td .sc,#mod-dashboard .tbl-wrap tbody td .civ-st,#mod-dashboard .tbl-wrap tbody td .tcell-bar span,#mod-dashboard .tr-table tbody td,#mod-dashboard .tr-table tbody td.tr-inst-cell,#mod-dashboard .tr-table tbody td.tr-course-cell,#mod-dashboard .tr-table tbody td.tr-date,#mod-dashboard .tr-table tbody td.tr-principal,#mod-dashboard .tr-table tbody td.tr-principal-contact,#mod-dashboard .tr-table tbody td.tr-num,#mod-dashboard .tr-table tbody td.tr-pass,#mod-dashboard .tbl-wrap tbody td.t-num,#mod-dashboard .tbl-wrap tbody td span,#mod-dashboard .tbl-wrap tbody td .tbadge,#mod-training .tbl-wrap tbody td,#mod-training .tbl-wrap tbody td .t-ref,#mod-training .tbl-wrap tbody td .t-num-cell,#mod-training .tbl-wrap tbody td span,#mod-training .tr-table tbody td{font-family:Inter,sans-serif!important;font-size:12px!important}#mod-dashboard .tr-table.coe-enrol-table thead th.tr-col-narrow,#mod-dashboard .tr-table.coe-enrol-table thead th.tr-col-enroll,#mod-dashboard .tr-table.coe-enrol-table tbody td.tr-col-narrow,#mod-dashboard .tr-table.coe-enrol-table tbody td.tr-col-enroll,#mod-dashboard .tr-table.coe-enrol-table tbody td.tr-pass{text-align:center!important}.c3-quarterly-summary-hd{color:#374151;padding:10px 24px 6px;font-size:16px;font-weight:700;line-height:1.35}.mk.ongoing-stat-link{cursor:pointer;border:1px solid #0000;border-radius:8px;transition:transform .15s,box-shadow .15s,background .15s}.mk.ongoing-stat-link:hover{background:#ffffff8c;transform:translateY(-2px);box-shadow:0 6px 16px #0000001a}.mk.ongoing-stat-link:focus-visible{outline-offset:2px;outline:2px solid #1565c0}.civil-map-hint{color:#6b7280;margin-top:4px;font-size:13px;line-height:1.4}.ph-meta strong{color:#1565c0}.tfs{align-items:flex-start;gap:7px;padding-top:4px;display:none}.tf{cursor:pointer;color:#6b7280;background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:7px 14px;font-size:11px;font-weight:700;transition:all .2s}.tf:hover{color:#1565c0;border-color:#1565c0}.tf.on{color:#fff;background:#1565c0;border-color:#0000;box-shadow:0 2px 8px #1565c059}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px;display:grid}.kcard{cursor:pointer;border:2.5px solid #0000;border-radius:14px;flex-direction:column;justify-content:space-between;height:155px;min-height:155px;padding:22px 22px 20px;transition:transform .22s,box-shadow .22s,outline .1s;display:flex;position:relative;overflow:hidden}.kcard:after{content:"";pointer-events:none;background:#ffffff12;border-radius:50%;width:100px;height:100px;position:absolute;top:-40%;right:-30%}.kcard.filled{color:#fff}.kcard-icon{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;top:16px;right:18px}.kcard-icon img{object-fit:contain;width:30px;height:30px}.kcard .kcat{text-transform:uppercase;letter-spacing:1.5px;color:#ffffffc7;margin-bottom:14px;padding-right:52px;font-size:18px;font-weight:700}.kcard .kcard-body{flex-direction:column;gap:6px;min-width:0;display:flex}.kcard .knum{font-size:34px;font-weight:800;line-height:1.05;display:block}.kcard .ksub{color:#ffffffe0;font-size:14px;font-weight:600;line-height:1.35;display:block}.kcard.selected{outline-offset:2px;outline:3px solid #ffffffbf;transform:translateY(-4px);box-shadow:0 14px 36px #00000047}.kc4{background:#52bcf7}.kc1{background:#32c1a4}.kc3{background:#fabc1c}.kc2{background:#de3e6b}.kc5{background:#ff5c7f}.kc6{background:#b674c0}.kc7{background:#28bbd4}.kc8{background:#27b6ac}.mod-kpi-grid{margin-bottom:20px}.mod-kpi-grid .kcard{cursor:default}.mod-kpi-grid.c3-totals-kpi{grid-template-columns:repeat(2,1fr);max-width:720px}.mod-kpi-grid .kcard .kcat{text-transform:uppercase;letter-spacing:1.5px;color:#ffffffc7;margin-bottom:14px;padding-right:52px;font-size:18px;font-weight:700;line-height:1.25}.proc-history-section{margin-top:24px}.proc-history-section .csec-hd{padding-bottom:4px}.proc-history-section .csec-title{margin-bottom:0;font-size:18px}.proc-history-stats{grid-template-columns:repeat(3,1fr);margin-bottom:16px}.proc-history-table{max-height:280px;margin:0 0 16px;padding:0 24px 8px}.proc-history-empty{text-align:center;padding:24px 12px!important}.proc-inprocess-wrap{overflow-x:auto}.proc-inprocess-wrap table.proc-inprocess-table{table-layout:fixed;border-collapse:collapse;width:100%;min-width:2100px}.proc-inprocess-table col.pip-ref{width:88px}.proc-inprocess-table col.pip-name{width:240px}.proc-inprocess-table col.pip-type{width:108px}.proc-inprocess-table col.pip-amt{width:96px}.proc-inprocess-table col.pip-stage{width:200px}.proc-inprocess-table col.pip-date{width:102px}.proc-inprocess-table col.pip-short{width:72px}.proc-inprocess-table col.pip-firm{width:160px}.proc-inprocess-table col.pip-status{width:96px}.proc-inprocess-table col.pip-remarks{width:140px}.proc-inprocess-table col.pip-action{width:72px}.proc-inprocess-table thead th.pip-th{white-space:nowrap;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle;text-overflow:ellipsis;font-size:9px;font-weight:700;line-height:1.2;overflow:hidden;text-align:left!important;padding:12px 8px!important}.proc-inprocess-table tbody tr{height:42px}.proc-inprocess-table tbody td.pip-td{background:#fff;border:1px solid #e5e7eb;height:42px;max-height:42px;font-size:11px;line-height:1.25;vertical-align:middle!important;text-align:left!important;white-space:nowrap!important;text-overflow:ellipsis!important;padding:0 10px!important;overflow:hidden!important}.proc-inprocess-table td.pip-action-cell{white-space:nowrap;height:42px;max-height:42px;text-align:center!important;vertical-align:middle!important}.proc-inprocess-table td.pip-td .pip-clamp,.proc-inprocess-table td.pip-td .pip-ellipsis{word-break:normal;max-width:100%;display:block;white-space:nowrap!important;text-overflow:ellipsis!important;overflow:hidden!important}.proc-inprocess-table tbody td.pip-td .tbadge{vertical-align:middle;text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:inline-block;overflow:hidden}.proc-inprocess-table tbody td.pip-type-cell{text-align:center!important}.proc-inprocess-table td.t-num-cell{white-space:nowrap!important;text-align:right!important}.proc-inprocess-table thead th{z-index:2;position:sticky;top:0;background:var(--ui-surface)!important;color:#fff!important}.proc-inprocess-table thead th.pip-th{border:1px solid #ffffff38;border-bottom:2px solid #0000001f}.proc-inprocess-table tbody tr:nth-child(2n) td.pip-td{background:#f8fafc}.proc-inprocess-table tbody tr:hover td.pip-td{background:#eff6ff!important}.proc-inprocess-table tbody tr:last-child td.pip-td{border-bottom:1px solid #e5e7eb}.proc-inprocess-table thead th.pip-th:first-child,.proc-inprocess-table thead th.pip-th:nth-child(2),.proc-inprocess-table tbody td.pip-td:first-child,.proc-inprocess-table tbody td.pip-td:nth-child(2){z-index:1;position:sticky;box-shadow:2px 0 6px #0f172a0f}.proc-inprocess-table thead th.pip-th:first-child,.proc-inprocess-table thead th.pip-th:nth-child(2){z-index:3}.proc-inprocess-table thead th.pip-th:first-child,.proc-inprocess-table tbody td.pip-td:first-child{min-width:88px;left:0}.proc-inprocess-table thead th.pip-th:nth-child(2),.proc-inprocess-table tbody td.pip-td:nth-child(2){min-width:240px;left:88px}.proc-inprocess-table tbody td.pip-td:first-child,.proc-inprocess-table tbody td.pip-td:nth-child(2){background:#fff}.proc-inprocess-table tbody tr:nth-child(2n) td.pip-td:first-child,.proc-inprocess-table tbody tr:nth-child(2n) td.pip-td:nth-child(2){background:#f8fafc}.proc-inprocess-table tbody tr:hover td.pip-td:first-child,.proc-inprocess-table tbody tr:hover td.pip-td:nth-child(2){background:#eff6ff!important}.csec{background:#fff;border-radius:14px;animation:.28s slideUp;overflow:hidden;box-shadow:0 2px 10px #0000000f}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.csec-hd{padding:20px 24px 0}.csec-title{color:var(--text);letter-spacing:-.3px;margin-bottom:16px;font-size:20px;font-weight:800}.sbar{gap:10px;margin-bottom:14px;padding:0 24px;display:flex}.sbar input,.sbar select{color:var(--text);border:1.5px solid #e5e7eb;border-radius:8px;outline:none;padding:9px 14px;font-family:Inter,sans-serif;font-size:12px;transition:border .2s}.sbar input{flex:1}.sbar input:focus,.sbar select:focus{border-color:#1565c0}.sbar select{cursor:pointer;background:#fff}.rpills{background:0 0;border:none;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 20px;padding:0 24px;display:flex}.rpill{color:#64748b;cursor:pointer;white-space:nowrap;background:#fff;border:1.5px solid #d1d5db;border-radius:6px;padding:9px 22px;font-size:12px;font-weight:600;line-height:1.25;transition:border-color .2s,color .2s,background .2s,box-shadow .2s}.rpill:hover:not(.on){color:#343434;background:#f8fafc;border-color:#94a3b8}.rpill.on{background:var(--ui-surface);color:var(--ui-surface-text);border-color:#0000;box-shadow:0 2px 8px #026cb547}.btn-listing-bar{background:var(--ui-surface);color:var(--ui-surface-text);cursor:pointer;white-space:nowrap;border:none;border-radius:6px;align-items:center;gap:6px;padding:9px 22px;font-family:Inter,sans-serif;font-size:12px;font-weight:600;line-height:1.25;transition:background .2s,border-color .2s,box-shadow .2s;display:inline-flex;box-shadow:0 2px 8px #026cb540}.btn-listing-bar:hover{background:var(--ui-surface-hover);border:none;box-shadow:0 3px 10px #026cb559}.tbl-wrap{-webkit-overflow-scrolling:touch;background:#fff;border-top:1px solid #e8ecf0;overflow-x:auto}.tbl-wrap.civ-scroll{scroll-behavior:smooth;max-height:min(560px,100vh - 280px);overflow:auto}.tbl-wrap.civ-scroll .civ-table{border-collapse:separate;border-spacing:0}.tbl-wrap.civ-scroll .civ-table thead th{z-index:5;vertical-align:middle;position:sticky;top:0;box-shadow:0 1px #0000001f;background:var(--ui-surface)!important;color:#fff!important}.tbl-wrap.civ-scroll .civ-table .civ-col-freeze{z-index:3;background:#fff;position:sticky}.tbl-wrap.civ-scroll .civ-table thead .civ-col-freeze{z-index:7;background:var(--ui-surface)!important}.tbl-wrap.civ-scroll .civ-table .civ-col-freeze-1{min-width:44px;max-width:44px;left:0}.tbl-wrap.civ-scroll .civ-table .civ-col-freeze-2{min-width:150px;max-width:150px;left:44px;box-shadow:2px 0 6px #0f172a14}.tbl-wrap.civ-scroll .civ-table thead .civ-col-freeze-2{box-shadow:2px 0 6px #0f172a14,0 1px #0000001f;white-space:normal!important}.tbl-wrap::-webkit-scrollbar{width:8px;height:8px}.tbl-wrap::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.tbl-wrap::-webkit-scrollbar-thumb:hover{background:#94a3b8}.tbl-wrap.civ-scroll table:not(.tr-table):not(.proc-inprocess-table):not(.accounts-cashbook-table):not(.cm-services-table):not(.c3-noncomp-table):not(.cm-coe-goods-table):not(.cm-deliverables-table),.tbl-wrap .civ-table{table-layout:fixed;min-width:1320px}#proc-cm-tbl .tbl-wrap.civ-scroll table.cm-services-table{table-layout:auto;width:max-content;min-width:100%}#proc-cm-tbl .cm-services-table thead th{white-space:normal;text-overflow:clip;text-align:center;vertical-align:bottom;min-width:72px;padding:10px 8px;font-size:10px;line-height:1.3;overflow:visible}#proc-cm-tbl .cm-services-table thead th.cm-col-title,#proc-cm-tbl .cm-services-table tbody td.cm-col-title{text-align:left;min-width:220px;max-width:300px}#proc-cm-tbl .cm-services-table thead th.cm-col-firm,#proc-cm-tbl .cm-services-table tbody td.cm-col-firm{text-align:left;min-width:150px;max-width:240px}#proc-cm-tbl .cm-services-table thead th.cm-col-num,#proc-cm-tbl .cm-services-table tbody td.cm-col-num{white-space:nowrap;text-align:right;min-width:96px}.cm-form-sec-title{color:#1a1a2e;letter-spacing:.6px;text-transform:uppercase;border-bottom:1px solid #e5e7eb;margin-top:8px;padding-bottom:4px;font-size:12px;font-weight:700}.proc-detail-view{grid-template-columns:1fr 1fr;gap:12px 16px;max-height:70vh;padding-right:4px;display:grid;overflow-y:auto}.proc-detail-span2{grid-column:1/-1}.proc-detail-readonly{color:#374151;cursor:default;background:#f9fafb;border:1px solid #e5e7eb}.proc-detail-note{color:#6b7280;padding:8px 0;font-size:13px;font-style:italic}.proc-detail-deliverables .tbl-wrap{margin-top:8px}.cm-deliverables-editor{width:100%;margin-top:4px}.cm-deliverables-wrap{-webkit-overflow-scrolling:touch;border:1px solid #e8ecf0;border-radius:8px;max-height:none;overflow:auto visible}.cm-deliverables-wrap.cm-deliverables-wrap,.tbl-wrap.cm-deliverables-wrap{max-height:none}.tbl-wrap .cm-deliverables-table,.cm-deliverables-wrap .cm-deliverables-table,.cm-deliverables-table{table-layout:auto;border-collapse:separate;border-spacing:0;width:max-content;min-width:100%}.cm-deliverables-table thead th{z-index:2;text-overflow:clip;text-align:center;vertical-align:bottom;min-width:64px;padding:10px 8px;font-size:10px;line-height:1.3;position:sticky;top:0;overflow:visible;white-space:normal!important}.cm-deliverables-table tbody td{vertical-align:top;padding:8px;font-size:11px}.cm-deliverables-table thead th.cm-del-col-name,.cm-deliverables-table tbody td.cm-del-col-name,.cm-deliverables-table thead th.cm-del-col-remarks,.cm-deliverables-table tbody td.cm-del-col-remarks{text-align:left}.cm-deliverables-table thead th.cm-del-col-sr,.cm-deliverables-table tbody td.cm-del-col-sr{width:40px;min-width:40px}.cm-deliverables-table thead th.cm-del-col-name,.cm-deliverables-table tbody td.cm-del-col-name{min-width:168px;max-width:220px}.cm-deliverables-table thead th.cm-del-col-timeline,.cm-deliverables-table tbody td.cm-del-col-timeline{min-width:108px;max-width:140px}.cm-deliverables-table thead th.cm-del-col-date,.cm-deliverables-table tbody td.cm-del-col-date{min-width:132px}.cm-deliverables-table thead th.cm-del-col-amt,.cm-deliverables-table tbody td.cm-del-col-amt{min-width:96px}.cm-deliverables-table thead th.cm-del-col-pay,.cm-deliverables-table tbody td.cm-del-col-pay{min-width:118px}.cm-deliverables-table thead th.cm-del-col-status,.cm-deliverables-table tbody td.cm-del-col-status{min-width:120px}.cm-deliverables-table thead th.cm-del-col-remarks,.cm-deliverables-table tbody td.cm-del-col-remarks{min-width:150px;max-width:220px}.cm-deliverables-table thead th.cm-del-col-action,.cm-deliverables-table tbody td.cm-del-col-action{white-space:nowrap;min-width:76px}.cm-del-cell-input{box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:4px;width:100%;min-width:0;padding:6px 8px;font-family:inherit;font-size:11px}.cm-del-cell-date{min-width:124px}.cm-del-cell-textarea{resize:vertical;min-height:52px}.cm-del-cell-select{cursor:pointer}.cm-del-empty{text-align:center;padding:16px!important}.cm-deliverables-add-btn{margin-top:10px}.cm-deliverables-note{color:#6b7280;margin:0 0 8px;font-size:11px;line-height:1.4}.cm-payment-summary{background:linear-gradient(135deg,#eff6ff 0%,#f0fdf4 100%);border:1.5px solid #dbeafe;border-radius:10px;margin:4px 0 8px;padding:14px 16px}.cm-payment-summary--readonly{margin-bottom:12px}.cm-payment-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:8px;display:grid}@media (width<=900px){.cm-payment-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.cm-payment-summary-grid{grid-template-columns:1fr}}.cm-payment-summary-item{background:#ffffffd9;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.cm-payment-summary-label{text-transform:uppercase;letter-spacing:.4px;color:#6b7280;font-size:10px;font-weight:600}.cm-payment-summary-value{color:#1a1a2e;font-size:14px;font-weight:800}.cm-insurance-cell{flex-direction:column;align-items:center;gap:4px;display:flex}.cm-insurance-view-btn{cursor:pointer;color:#374151;background:#f9fafb;border:1px solid #e5e7eb;border-radius:5px;padding:2px 8px;font-size:9px}.cm-insurance-view-btn:hover{background:#eff6ff;border-color:#bfdbfe}#proc-cm-tbl .cm-services-table thead th.cm-col-date,#proc-cm-tbl .cm-services-table tbody td.cm-col-date{white-space:nowrap;text-align:center;min-width:96px}#proc-cm-tbl .cm-services-table thead th.cm-col-status,#proc-cm-tbl .cm-services-table tbody td.cm-col-status{text-align:center;min-width:88px}#proc-cm-tbl .cm-services-table thead th.cm-col-action,#proc-cm-tbl .cm-services-table tbody td.cm-col-action{text-align:center;white-space:nowrap;min-width:72px}.tbl-wrap.civ-scroll table.cm-coe-goods-table{table-layout:auto;width:max-content;min-width:100%}.cm-coe-goods-table thead th{white-space:normal;text-overflow:clip;text-align:center;vertical-align:bottom;min-width:64px;padding:10px 8px;font-size:10px;line-height:1.3;overflow:visible}.cm-coe-goods-table thead th.cm-cg-col-package,.cm-coe-goods-table tbody td.cm-cg-col-package{text-align:left;min-width:180px;max-width:260px}.cm-coe-goods-table thead th.cm-cg-col-vendor,.cm-coe-goods-table tbody td.cm-cg-col-vendor{text-align:left;min-width:120px;max-width:200px}.cm-coe-goods-table thead th.cm-cg-col-amt,.cm-coe-goods-table tbody td.cm-cg-col-amt{white-space:nowrap;min-width:96px}.cm-coe-goods-table thead th.cm-cg-col-date,.cm-coe-goods-table tbody td.cm-cg-col-date{white-space:nowrap;min-width:88px}.cm-coe-goods-table thead th.cm-cg-col-status-sm,.cm-coe-goods-table tbody td.cm-cg-col-status-sm,.cm-coe-goods-table thead th.cm-cg-col-warranty,.cm-coe-goods-table tbody td.cm-cg-col-warranty,.cm-coe-goods-table thead th.cm-cg-col-status,.cm-coe-goods-table tbody td.cm-cg-col-status{text-align:center;min-width:84px}.cm-coe-goods-table thead th.cm-cg-col-perf-type,.cm-coe-goods-table tbody td.cm-cg-col-perf-type,.cm-coe-goods-table thead th.cm-cg-col-perf-status,.cm-coe-goods-table tbody td.cm-cg-col-perf-status{text-align:center;min-width:92px;max-width:110px}.cm-coe-goods-table thead th.cm-cg-col-remarks,.cm-coe-goods-table tbody td.cm-cg-col-remarks{text-align:left;min-width:120px;max-width:200px}.cm-coe-goods-table thead th.cm-cg-col-sr,.cm-coe-goods-table tbody td.cm-cg-col-sr{width:40px;min-width:40px}.cm-coe-goods-table thead th.cm-cg-col-action,.cm-coe-goods-table tbody td.cm-cg-col-action{text-align:center;white-space:nowrap;min-width:72px}.cm-coe-goods-table tbody td.cm-cg-col-perf-type,.cm-coe-goods-table tbody td.cm-cg-col-perf-status{font-size:11px}.tbl-wrap.civ-scroll .tr-table{table-layout:auto;width:max-content;min-width:0}.tbl-wrap.civ-scroll .tr-table.tr-batches-table{table-layout:fixed;width:max-content;min-width:1540px}.tbl-wrap.civ-scroll .tr-table.coe-enrol-table{table-layout:fixed;width:100%;min-width:920px}.tbl-wrap.civ-scroll .tr-table.coe-enrol-table.coe-enrol-table--c1{table-layout:fixed;width:max-content;min-width:1962px}.civ-table thead th,.civ-table tbody td{text-align:center;vertical-align:middle}.civ-table thead th.t-col-site,.civ-table thead th.t-col-contractor,.civ-table tbody td.t-col-site,.civ-table tbody td.t-col-contractor{text-align:left}.civ-table thead th{letter-spacing:.45px;white-space:nowrap;text-overflow:ellipsis;padding:12px 8px;font-size:9px;line-height:1.25;overflow:hidden}.civ-table thead th.civ-th-wrap{white-space:normal;text-overflow:unset;font-size:10px;line-height:1.3;overflow:visible}.civ-table th.t-col-pct,.civ-table td.t-col-pct{box-sizing:border-box;text-align:center;min-width:0;overflow:hidden}.civ-table td.t-col-status{text-align:center}.civ-table .civ-prog{box-sizing:border-box;justify-content:center;align-items:center;gap:6px;min-width:0;max-width:100%;margin:0 auto;display:inline-flex}.civ-table .civ-prog .civ-pct{text-align:right;flex:none;min-width:32px}.civ-table .civ-prog-track{flex:0 0 48px;width:48px;height:6px}.civ-table td.t-col-pct .civ-pct{text-align:center;min-width:36px;display:inline-block}.tbl-wrap table{border-collapse:separate;border-spacing:0;border:1px solid #e8ecf0;width:100%}.tbl-wrap.civ-scroll table{border-collapse:separate;border-spacing:0}.tbl-wrap.civ-scroll thead th{z-index:5;position:sticky;top:0;box-shadow:0 1px #0000001f;background:var(--ui-surface)!important;color:#fff!important}.tbl-wrap thead{background:var(--ui-surface)}.tbl-wrap thead th,.tbl-wrap tbody td{box-sizing:border-box;text-align:left;vertical-align:middle}.tbl-wrap thead th{z-index:3;text-transform:uppercase;letter-spacing:.45px;white-space:nowrap;box-shadow:none;border-top:none;border-bottom:1px solid #00000014;border-left:none;border-right:1px solid #fff3;padding:12px 10px;font-size:12px;font-weight:400;line-height:1.25;position:sticky;top:0;color:#fff!important;background:var(--ui-surface)!important}.tbl-wrap thead th:last-child{border-right:none}.tbl-wrap thead th .sa,thead th .sa{display:none!important}.tbl-wrap tbody td{color:#343434;background:#fff;border:1px solid #e8ecf0;border-top:none;border-left:none;padding:14px 10px;font-size:12px;font-weight:500}.tbl-wrap tbody td:last-child{border-right:none}.tbl-wrap tbody tr:hover td{background:#fafbfc}.tbl-wrap tbody tr:last-child td{border-bottom:none}.tbl-wrap tbody tr.budget-total-row td{color:#343434;vertical-align:middle;background:#fff7ed;border-top:2px solid #fed7aa;border-bottom:none;border-right:1px solid #e8ecf0;padding:16px;font-size:12px;font-weight:700}.tbl-wrap tbody tr.budget-total-row td:last-child{border-right:none}.tbl-wrap tbody td.t-col-site{color:#343434;font-weight:600}.tbl-wrap thead th.t-col-site,.tbl-wrap thead th.t-col-contractor,.civ-table thead th.t-col-site,.civ-table thead th.t-col-contractor{font-weight:400;color:#fff!important}.tbl-wrap thead th.t-col-contractor{font-weight:400}.tbl-wrap tbody td.t-col-contractor{color:#343434;font-weight:400}.tbl-wrap .t-col-pct{white-space:nowrap}.tbl-wrap th.t-col-center,.tbl-wrap td.t-col-center,.tr-table th.t-col-center,.tr-table td.t-col-center{text-align:center!important}.tbl-wrap td.t-col-center .civ-prog{justify-content:center}.tbl-wrap .t-col-status{white-space:nowrap;min-width:120px}.tbl-wrap .t-ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tbl-wrap .t-date,.tbl-wrap .t-num{color:#343434;white-space:nowrap}.tbl-wrap .civ-pct{color:#343434;min-width:36px;font-size:12px;font-weight:600}.tbl-wrap .civ-prog{align-items:center;gap:10px;display:flex}.tbl-wrap .civ-prog-track{background:#e8ecf0;border-radius:999px;flex:1;min-width:56px;max-width:88px;height:6px;overflow:hidden}.tbl-wrap .civ-prog-fill{background:#22c55e;border-radius:999px;height:100%;display:block}.tbl-wrap .civ-prog-fill.is-warn{background:#f59e0b}.tbl-wrap .civ-prog-fill.is-risk{background:#ef4444}.tbl-wrap .civ-st{white-space:nowrap;border-radius:999px;padding:5px 12px;font-size:11px;font-weight:600;line-height:1.2;display:inline-block}.tbl-wrap .civ-st-track,.tbl-wrap .civ-st-green{color:#15803d;background:#dcfce7}.tbl-wrap .civ-st-ok,.tbl-wrap .civ-st-blue{color:#1e40af;background:#dbeafe}.tbl-wrap .civ-st-risk,.tbl-wrap .civ-st-red{color:#991b1b;background:#fee2e2}.tbl-wrap .civ-st-orange{color:#9a3412;background:#ffedd5}.tbl-wrap .civ-st-neutral{color:#4b5563;background:#f3f4f6}.tbl-wrap .civ-table .t-wrap{white-space:normal;word-break:break-word}.tbl-wrap .tbadge{color:#343434;background:0 0;padding:0;font-size:12px;font-weight:500}.tbl-wrap tbody td{color:#343434!important;font-family:Inter,sans-serif!important;font-size:12px!important;font-weight:500!important}.tbl-wrap tbody td .t-col-site,.tbl-wrap tbody td.t-col-site{font-weight:600!important}.tbl-wrap .civ-table thead th,.tbl-wrap .civ-table tbody td{text-align:center!important;vertical-align:middle!important}.tbl-wrap .civ-table thead th.t-col-site,.tbl-wrap .civ-table thead th.t-col-contractor,.tbl-wrap .civ-table tbody td.t-col-site,.tbl-wrap .civ-table tbody td.t-col-contractor{text-align:left!important}.tbl-wrap .civ-table thead th{white-space:nowrap!important;color:#fff!important;background:var(--ui-surface)!important;padding:12px 8px!important;line-height:1.25!important}.tbl-wrap .civ-table tbody td{padding:14px 10px!important}.tbl-wrap .civ-table td.t-col-pct .civ-prog{justify-content:center!important;margin-left:auto!important;margin-right:auto!important}.tbl-wrap tbody td .civ-pct,.tbl-wrap tbody td .pct-only{color:#343434!important;font-size:12px!important;font-weight:600!important}.tbl-wrap tbody td .sc,.tbl-wrap tbody td .civ-st{font-family:Inter,sans-serif!important;font-size:12px!important;font-weight:600!important}.tbl-wrap .sc:before{display:none}.tbl-wrap .sc{border-radius:999px;gap:0;padding:5px 12px;font-size:11px;font-weight:600}.tbl-wrap .t-ref{color:#1565c0;white-space:nowrap;font-family:Inter,sans-serif;font-size:12px}.tbl-wrap .t-muted{color:#6b7280;font-family:Inter,sans-serif;font-size:12px}.tbl-wrap .t-strong{color:#343434;font-family:Inter,sans-serif;font-size:12px;font-weight:600}.tbl-wrap .t-wrap{max-width:320px;line-height:1.45}.tbl-wrap .t-wrap-sm{max-width:180px;line-height:1.4}.tbl-wrap .t-num-cell{white-space:nowrap;font-family:Inter,sans-serif;font-size:12px}.tbl-wrap .t-time{color:#e65100;white-space:nowrap;font-family:Inter,sans-serif;font-size:12px;font-weight:700}.tbl-wrap.c3-wide-deliverables table{min-width:1180px}.tbl-wrap.c3-wide-expenses table{table-layout:auto;width:max-content;min-width:2200px}.tbl-wrap.c3-wide-expenses thead th.c3-col-head,.tbl-wrap.c3-wide-expenses tbody td.c3-col-head{white-space:normal;word-break:break-word;vertical-align:top;width:260px;min-width:260px;max-width:320px;padding-right:14px;line-height:1.4;text-align:left!important}.tbl-wrap.c3-wide-expenses thead th.c3-col-head{vertical-align:middle;white-space:nowrap;z-index:6;position:sticky;left:0;box-shadow:2px 0 4px #00000014}.tbl-wrap.c3-wide-expenses tbody td.c3-col-head{z-index:2;background:#fff;position:sticky;left:0;box-shadow:2px 0 4px #0000000f}.tbl-wrap.c3-wide-expenses tbody tr:hover td.c3-col-head{background:#fafbfc}.tbl-wrap.c3-wide-expenses tbody tr.budget-total-row td.c3-col-head{background:#fff7ed}.tbl-wrap tbody tr.c3-del-paid td{color:inherit!important}.tbl-wrap tbody tr.c3-del-paid:hover td{background:#f9fafb!important}.tbl-wrap .c3-invoice-cell{letter-spacing:.02em;font-family:Inter,sans-serif;font-size:12px}.tbl-wrap .c3-date-cell{color:#6b7280;white-space:nowrap;font-family:Inter,sans-serif;font-size:12px}.c3-del-summary{grid-template-columns:1fr 1fr;gap:10px;max-width:720px;margin:12px 24px 20px;display:grid}.c3-del-summary .c3-del-sum-row{background:#fff;border:1px solid #e8ecf0;border-radius:8px;justify-content:space-between;align-items:center;padding:10px 14px;font-size:12px;display:flex}.c3-del-summary .c3-del-sum-row.received strong{color:#1a1a2e}.c3-del-summary .c3-del-sum-row.outstanding strong{color:#343434}.c3-inner-tabs{border-top:1px solid #e8ecf0;margin:4px 0 16px;padding-top:4px}.c3-section-tabs{margin:0 0 12px}.csec:has(.c3-wide-noncomp) .tbl-wrap.c3-wide-noncomp{border:1px solid #e8ecf0;border-radius:0 0 8px 8px;margin:0 24px 20px}.tbl-wrap.c3-wide-noncomp{-webkit-overflow-scrolling:touch;overflow-x:auto}.tbl-wrap.c3-wide-noncomp table.c3-noncomp-table{table-layout:auto;border-collapse:separate;border-spacing:0;width:max-content;min-width:100%}.c3-noncomp-table col.c3nc-col-sr{width:52px}.c3-noncomp-table col.c3nc-col-desc{width:200px}.c3-noncomp-table col.c3nc-col-date{width:108px}.c3-noncomp-table col.c3nc-col-amt{width:120px}.c3-noncomp-table col.c3nc-col-status{width:88px}.c3-noncomp-table col.c3nc-col-pct{width:150px}.c3-noncomp-table col.c3nc-col-remarks{width:140px}.c3-noncomp-table col.c3nc-col-ref{width:120px}.c3-noncomp-table col.c3nc-col-action{width:72px}.c3-noncomp-table thead th.c3nc-th{white-space:normal;text-overflow:clip;vertical-align:bottom;text-align:center;letter-spacing:.35px;min-width:0;padding:10px 12px;font-size:10px;font-weight:600;line-height:1.35;overflow:visible}.c3-noncomp-table thead th.c3nc-th-desc,.c3-noncomp-table thead th.c3nc-th-remarks,.c3-noncomp-table thead th.c3nc-th-ref{text-align:left}.c3-noncomp-table thead th.c3nc-th-desc{min-width:180px}.c3-noncomp-table thead th.c3nc-th-amt{min-width:110px}.c3-noncomp-table thead th.c3nc-th-date{min-width:100px}.c3-noncomp-table thead th.c3nc-th-pct{min-width:140px}.c3-noncomp-table thead th.c3nc-th-sr{min-width:48px}.c3-noncomp-table thead th.c3nc-th-status{min-width:80px}.c3-noncomp-table thead th.c3nc-th-action{min-width:72px}.c3-noncomp-table tbody td.c3nc-td{vertical-align:middle;border-bottom:1px solid #e8ecf0;border-right:1px solid #e8ecf0;padding:12px;font-size:12px;line-height:1.4}.c3-noncomp-table tbody td.c3nc-td-desc,.c3-noncomp-table tbody td.c3nc-td-remarks,.c3-noncomp-table tbody td.c3nc-td-ref{text-align:left;white-space:normal;word-break:break-word}.c3-noncomp-table tbody td.c3nc-td-date,.c3-noncomp-table tbody td.c3nc-td-sr,.c3-noncomp-table tbody td.c3nc-td-status{text-align:center;white-space:nowrap}.c3-noncomp-table tbody td.c3nc-td-amt{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.c3-noncomp-table tbody td.c3nc-td-pct{text-align:center;white-space:normal;color:#6b7280;min-width:140px;font-size:11px}.c3-noncomp-table tbody td.c3nc-td-remarks{color:#6b7280}.c3-noncomp-table tbody tr.c3nc-empty-row td.c3nc-empty{text-align:center;color:#9ca3af;white-space:normal;border-bottom:none;padding:36px 24px;font-size:13px}.c3-noncomp-table tbody tr:hover td.c3nc-td{background:#fafbfc}.c3-noncomp-table tbody td:last-child.tr-col-action{text-align:center}.csec .c3-inner-tabs.dash-c3-inner-tabs{border-top:none;margin:0 0 14px;padding:0 24px}#dash-c3-tab-panel .tbl-wrap{margin-bottom:20px}#dash-c3-tab-panel .dash-c3-meta,.c3-section-note{color:#6b7280;padding:0 24px 12px;font-size:14px;line-height:1.45}.c3-section-note--below-hd{padding:0 24px 10px}.tbl-wrap.tr-table-wrap{box-shadow:none;-webkit-overflow-scrolling:touch;box-sizing:border-box;border:none;border-top:1px solid #e8ecf0;border-radius:0;margin:0 16px 16px;overflow:auto}.tbl-wrap.tr-table-wrap .tr-table:not(.coe-enrol-table):not(.tr-batches-table){width:max-content;min-width:100%}.tbl-wrap.tr-table-wrap .tr-table.tr-batches-table{table-layout:fixed;width:max-content;min-width:1540px}.tbl-wrap.tr-table-wrap .tr-table.coe-enrol-table{width:max-content;min-width:100%}.tbl-wrap.tr-table-wrap .tr-table.coe-enrol-table.coe-enrol-table--c1{table-layout:fixed;width:max-content;min-width:1962px}.tbl-wrap.tr-table-wrap thead th:last-child.tr-col-action,.tbl-wrap.tr-table-wrap tbody td:last-child.tr-col-action{border-right:1px solid #e8ecf0}.tbl-wrap.tr-table-wrap thead th.tr-col-action{border-right:1px solid #fff3!important}.csec:has(.tr-table-wrap) .tbl-wrap.tr-table-wrap{border:1px solid #e8ecf0;border-radius:8px}.tr-table{border-collapse:separate;border-spacing:0;min-width:1100px}.tr-table.tr-batches-table{min-width:1540px}.tr-table.tr-batches-table th.tr-col-narrow:not(.tr-col-action):not(.tr-col-tg),.tr-table.tr-batches-table td.tr-col-narrow:not(.tr-col-action):not(.tr-col-tg){width:52px;min-width:52px;max-width:58px;padding-left:6px!important;padding-right:6px!important}.tr-table.tr-batches-table th.tr-col-type,.tr-table.tr-batches-table td.tr-col-type{text-align:center;width:68px;min-width:68px}.tr-table.tr-batches-table th.tr-col-date,.tr-table.tr-batches-table td.tr-col-date{width:88px;min-width:88px}.tr-table.tr-batches-table th.tr-col-div,.tr-table.tr-batches-table td.tr-col-div{width:92px;min-width:92px}.tr-table.tr-batches-table th.tr-col-dist,.tr-table.tr-batches-table td.tr-col-dist{width:100px;min-width:100px}.tr-table.tr-batches-table th.tr-col-org,.tr-table.tr-batches-table td.tr-col-org{white-space:normal;width:72px;min-width:72px;line-height:1.3}.tr-table.tr-batches-table th.tr-col-inst,.tr-table.tr-batches-table td.tr-inst-cell{white-space:normal;text-align:left;width:168px;min-width:168px;max-width:none;line-height:1.35}.tr-table.tr-batches-table th.tr-col-course,.tr-table.tr-batches-table td.tr-course-cell{white-space:normal;text-align:left;width:196px;min-width:196px;max-width:none;line-height:1.35}.tr-table.tr-batches-table th.tr-col-principal,.tr-table.tr-batches-table td.tr-principal{white-space:normal;width:112px;min-width:112px;max-width:none;text-overflow:unset;text-align:left;overflow:visible}.tr-table.tr-batches-table th.tr-col-contact,.tr-table.tr-batches-table td.tr-principal-contact{white-space:nowrap;text-align:left;width:100px;min-width:100px}.tr-table.tr-batches-table thead th{white-space:normal;vertical-align:middle;padding:10px 8px;line-height:1.25}.tr-table.tr-batches-table thead tr.tr-hdr-sub th{white-space:nowrap;padding:6px 4px;font-size:10px}.tr-table.tr-batches-table thead tr.tr-hdr-sub th.tr-col-tg{white-space:normal}.tr-table.tr-batches-table tbody td{vertical-align:middle}.tr-table.tr-batches-table td.tr-inst-cell[rowspan],.tr-table.coe-enrol-table--c1 td.tr-inst-cell[rowspan]{vertical-align:top}.tr-table.tr-batches-table td.tr-col-org,.tr-table.tr-batches-table td.tr-col-div,.tr-table.tr-batches-table td.tr-col-dist,.tr-table.tr-batches-table td.tr-inst-cell,.tr-table.tr-batches-table td.tr-course-cell,.tr-table.tr-batches-table td.tr-principal,.tr-table.tr-batches-table td.tr-principal-contact,.tr-table.tr-batches-table thead th.tr-col-org,.tr-table.tr-batches-table thead th.tr-col-div,.tr-table.tr-batches-table thead th.tr-col-dist,.tr-table.tr-batches-table thead th.tr-col-inst,.tr-table.tr-batches-table thead th.tr-col-course,.tr-table.tr-batches-table thead th.tr-col-principal,.tr-table.tr-batches-table thead th.tr-col-contact{text-align:left}.tr-table.coe-enrol-table{min-width:920px}.tr-table thead th{text-align:center;vertical-align:middle;letter-spacing:.45px;text-transform:uppercase;white-space:nowrap;border-top:none;border-bottom:1px solid #00000014;border-left:none;border-right:1px solid #fff3;padding:12px 8px;font-size:12px;font-weight:400;line-height:1.25;color:#fff!important;background:var(--ui-surface)!important}.tr-table thead th:last-child:not(.tr-col-action){border-right:none}.tr-table thead tr.tr-hdr-sub th{text-transform:none;letter-spacing:0;padding:5px 4px;font-size:10px;font-weight:700}.tr-table th.tr-hdr-group{letter-spacing:.06em;border-bottom:1px solid #ffffff38;font-size:9px}.tr-table th.tr-hdr-enroll{background:color-mix(in srgb, var(--ui-surface) 88%, #1e88e5)}.tr-table th.tr-hdr-pass{background:color-mix(in srgb, var(--ui-surface) 88%, #5c6bc0)}.tr-table thead tr.tr-hdr-sub th.tr-sub-m{color:#bfdbfe}.tr-table thead tr.tr-hdr-sub th.tr-sub-f{color:#fbcfe8}.tr-table thead tr.tr-hdr-sub th.tr-sub-t{color:#bbf7d0}.tr-table thead th.tr-col-tg{white-space:normal;word-break:normal;-webkit-hyphens:none;hyphens:none;font-size:9px;font-weight:600;line-height:1.1;text-transform:none!important;padding-top:6px!important;padding-bottom:6px!important}.tr-table thead th.tr-col-tg .tr-tg-hd-line{display:block}.tr-table th.tr-col-tg,.tr-table td.tr-col-tg{text-align:center;vertical-align:middle;width:48px;min-width:48px;max-width:48px;padding-left:4px!important;padding-right:4px!important}.tr-table th.tr-col-narrow:not(.tr-col-action):not(.tr-col-tg),.tr-table td.tr-col-narrow:not(.tr-col-action):not(.tr-col-tg){width:36px;min-width:36px;max-width:44px;padding-left:4px!important;padding-right:4px!important}.tr-table th.tr-col-action,.tr-table td.tr-col-action{text-align:center;vertical-align:middle;white-space:nowrap;box-sizing:border-box;width:76px;min-width:76px;max-width:76px;overflow:hidden;padding:10px 8px!important}.tr-table thead th.tr-col-action{letter-spacing:.04em;text-transform:uppercase;font-size:12px}.tr-table td.tr-col-action{background:#fff}.tr-table tbody tr:hover td.tr-col-action{background:#fafbfc!important}.tr-table td.tr-col-action .tr-edit-btn{box-sizing:border-box;width:auto;max-width:100%;padding:4px 8px;font-size:10px;line-height:1.2;display:inline-block}.tr-table.coe-enrol-table th.tr-col-status,.tr-table.coe-enrol-table td.tr-col-status{width:110px;min-width:110px}.tr-table th.tr-col-date,.tr-table td.tr-col-date{width:72px;min-width:72px;font-family:Inter,sans-serif!important;font-size:12px!important}.tr-table.coe-enrol-table thead th{white-space:normal;text-transform:uppercase!important;letter-spacing:.04em!important;font-size:12px!important;line-height:1.25!important}.tbl-wrap .tr-table.coe-enrol-table thead th,.tbl-wrap.tr-table-wrap .tr-table.coe-enrol-table thead th,#csec .tr-table.coe-enrol-table thead th,#mod-dashboard .tr-table.coe-enrol-table thead th,#mod-training .tr-table.coe-enrol-table thead th{text-transform:uppercase!important;letter-spacing:.04em!important;font-size:12px!important;line-height:1.25!important}.tbl-wrap .tr-table.coe-enrol-table thead tr.tr-hdr-sub th,.tbl-wrap.tr-table-wrap .tr-table.coe-enrol-table thead tr.tr-hdr-sub th,#csec .tr-table.coe-enrol-table thead tr.tr-hdr-sub th,#mod-dashboard .tr-table.coe-enrol-table thead tr.tr-hdr-sub th,#mod-training .tr-table.coe-enrol-table thead tr.tr-hdr-sub th{text-transform:none!important}.tr-table.coe-enrol-table th.tr-col-enroll{width:auto;min-width:88px;max-width:120px}.tr-table.coe-enrol-table th:not(.tr-col-narrow):not(.tr-col-enroll){min-width:72px}.tr-table.coe-enrol-table--c1 th:not(.tr-col-narrow):not(.tr-col-enroll):not(.tr-hdr-group){min-width:0}.tr-table tbody td{vertical-align:middle;background:#fff;border:1px solid #e8ecf0;border-top:none;border-left:none;color:#343434!important;padding:14px 10px!important;font-family:Inter,sans-serif!important;font-size:12px!important;font-weight:500!important}.tr-table tbody td:last-child:not(.tr-col-action){border-right:none}.tr-table tbody tr:hover td{background:#fafbfc!important}.tr-table tbody tr:last-child td{border-bottom:none}.tr-table tbody tr:hover td.tr-group-cell{background:#eff6ff}.tr-table td.tr-group-cell{vertical-align:middle;text-align:left;background:#f8fafc;border-right:1px solid #e2e8f0;font-weight:600;color:#1e293b!important}.tr-table td.tr-inst-cell{white-space:normal;max-width:140px;line-height:1.35;font-family:Inter,sans-serif!important;font-size:12px!important}.tr-table td.tr-course-cell{white-space:normal;max-width:180px;line-height:1.35;font-family:Inter,sans-serif!important;font-size:12px!important;font-weight:500!important}.tr-table td.tr-num{text-align:center;font-variant-numeric:tabular-nums;font-weight:600}.tr-table td.tr-date{text-align:center;white-space:nowrap;color:#64748b!important;font-family:Inter,sans-serif!important;font-size:12px!important}.tr-table td.tr-principal{white-space:nowrap;text-overflow:ellipsis;max-width:110px;overflow:hidden;font-family:Inter,sans-serif!important;font-size:12px!important}.tr-table td.tr-principal-contact{font-variant-numeric:tabular-nums;color:#475569!important;font-family:Inter,sans-serif!important;font-size:12px!important}.tr-table td.tr-pass{text-align:center;background:#fafafa;color:#94a3b8!important}.tr-table td.tr-male{background:#f8faff;color:#1d4ed8!important;font-weight:700!important}.tr-table td.tr-female{background:#fff5f9;color:#be185d!important;font-weight:700!important}.tr-table td.tr-total{background:#f6fef8;color:#15803d!important;font-weight:800!important}.tr-table.tr-batches-table th.tr-col-type,.tr-table.tr-batches-table td.tr-col-type{text-align:center;overflow:visible;width:56px!important;min-width:56px!important;max-width:56px!important;padding-left:4px!important;padding-right:4px!important}.tr-table .tr-type-badge{letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;text-overflow:clip;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:700;display:inline-block;overflow:visible}.tr-table .tr-type-badge.tb{color:#1d4ed8;background:#dbeafe}.tr-table .tr-type-badge.tg{color:#4b5563;background:#f3f4f6}.tr-table .tr-edit-btn,.tbl-wrap .tr-edit-btn{cursor:pointer;color:var(--ui-surface);background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:4px 10px;font-size:10px;font-weight:600;transition:background .15s,border-color .15s}.tr-table .tr-edit-btn:hover,.tbl-wrap .tr-edit-btn:hover{background:var(--ui-surface);color:#fff;border-color:var(--ui-surface)}.tr-table .tr-edit-btn:disabled,.tbl-wrap .tr-edit-btn:disabled{opacity:.45;cursor:not-allowed;color:#9ca3af;background:#f3f4f6;border-color:#e5e7eb}.tr-table .tr-delete-btn,.tbl-wrap .tr-delete-btn{cursor:pointer;color:#dc2626;background:#fff;border:1px solid #fecaca;border-radius:6px;padding:4px 10px;font-size:10px;font-weight:600;transition:background .15s,border-color .15s,color .15s}.tr-table .tr-delete-btn:hover,.tbl-wrap .tr-delete-btn:hover{color:#fff;background:#dc2626;border-color:#dc2626}.gap-action-cell{flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;gap:6px;display:flex}.gap-table-wrap table.gap-activities-table{table-layout:fixed;width:100%;min-width:960px}.gap-table-wrap table.gap-activities-table col.gap-col-act{width:14%}.gap-table-wrap table.gap-activities-table col.gap-col-ind{width:22%}.gap-table-wrap table.gap-activities-table col.gap-col-resp{width:14%}.gap-table-wrap table.gap-activities-table col.gap-col-time{width:8%}.gap-table-wrap table.gap-activities-table col.gap-col-prog{width:28%}.gap-table-wrap table.gap-activities-table col.gap-col-status{width:8%}.gap-table-wrap table.gap-activities-table col.gap-col-action{width:6%}.gap-table-wrap table.gap-activities-table tbody td{vertical-align:top}.gap-table-wrap table.gap-activities-table td.gap-col-act,.gap-table-wrap table.gap-activities-table td.gap-col-ind,.gap-table-wrap table.gap-activities-table td.gap-col-resp,.gap-table-wrap table.gap-activities-table td.gap-col-prog{white-space:normal;word-break:break-word;overflow-wrap:anywhere;line-height:1.45}.gap-table-wrap table.gap-activities-table td.gap-col-time,.gap-table-wrap table.gap-activities-table td.gap-col-status,.gap-table-wrap table.gap-activities-table td.gap-col-action{white-space:nowrap}.gap-progress-cell{flex-direction:column;gap:4px;min-width:0;display:flex}.gap-progress-line{white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere}.gap-progress-link{color:#2563eb;text-underline-offset:2px;text-decoration:underline}.gap-progress-link:hover{color:#1d4ed8}.gap-alert-banner{background:linear-gradient(135deg,#fff7ed 0%,#fffbeb 100%);border:1px solid #fdba74;border-left:4px solid #ea580c;border-radius:12px;align-items:flex-start;gap:14px;margin:0 0 16px;padding:14px 18px;display:flex;box-shadow:0 2px 8px #ea580c14}.gap-alert-banner--editing{flex-wrap:wrap;align-items:stretch}.gap-alert-icon{color:#c2410c;background:#ffedd5;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.gap-alert-icon svg{width:18px;height:18px}.gap-alert-body{flex:1;min-width:0}.gap-alert-label{letter-spacing:.08em;text-transform:uppercase;color:#c2410c;margin-bottom:4px;font-size:10px;font-weight:700}.gap-alert-message{color:#7c2d12;margin:0;font-size:13px;line-height:1.55}.gap-alert-meta{color:#9a3412;opacity:.85;margin-top:6px;font-size:11px}.gap-alert-edit-btn{color:#c2410c;cursor:pointer;background:#fff;border:1px solid #fdba74;border-radius:8px;flex-shrink:0;align-self:center;padding:6px 12px;font-family:Inter,sans-serif;font-size:11px;font-weight:600;transition:background .15s,border-color .15s}.gap-alert-edit-btn:hover{background:#ffedd5;border-color:#fb923c}.gap-alert-textarea{color:#7c2d12;resize:vertical;background:#fff;border:1px solid #fdba74;border-radius:10px;outline:none;width:100%;min-height:84px;padding:10px 12px;font-family:Inter,sans-serif;font-size:13px;line-height:1.5}.gap-alert-textarea:focus{border-color:#ea580c;box-shadow:0 0 0 3px #ea580c1f}.gap-alert-edit-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.gap-alert-save-btn{height:36px;padding:0 16px;font-size:12px}.gap-alert-clear-btn{color:#b45309;cursor:pointer;background:0 0;border:none;margin-left:auto;padding:6px 10px;font-family:Inter,sans-serif;font-size:11px;font-weight:600;text-decoration:underline}.gap-alert-clear-btn:hover{color:#9a3412}#mod-gap .gap-alert-banner,.csec .gap-alert-banner{margin-left:0;margin-right:0}.csec .gap-alert-banner{margin:0 24px 16px}.gap-status-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.gap-module-toolbar{margin-bottom:8px}.gap-view-toggle{background:#fff;border:1px solid #e5e7eb;border-radius:999px;align-items:center;gap:2px;padding:3px;display:inline-flex}.gap-view-toggle button{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:999px;min-width:64px;height:30px;padding:0 12px;font-family:Inter,sans-serif;font-size:12px;font-weight:600;transition:background .15s,color .15s}.gap-view-toggle button.on{background:var(--ui-surface);color:#fff}.gap-mod-count{margin-bottom:12px;padding:0}.gap-card-board{grid-template-columns:repeat(4,minmax(240px,1fr));align-items:start;gap:14px;padding:0 24px 24px;display:grid}.gap-status-column{background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;min-width:0;overflow:hidden}.gap-status-column-hd{background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:flex-start;gap:10px;padding:14px 14px 12px;display:flex}.gap-status-column-title{color:#1f2937;font-size:13px;font-weight:700}.gap-status-column-count{color:#9ca3af;margin-top:2px;font-size:11px}.gap-status-column-body{flex-direction:column;gap:10px;max-height:68vh;padding:12px;display:flex;overflow:auto}.gap-col-completed .gap-status-column-hd{border-top:3px solid #10b981}.gap-col-progress .gap-status-column-hd{border-top:3px solid #2563eb}.gap-col-pending .gap-status-column-hd{border-top:3px solid #d97706}.gap-col-yet .gap-status-column-hd{border-top:3px solid #6b7280}.gap-activity-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:12px 12px 10px;box-shadow:0 1px 2px #0f172a0a}.gap-activity-card--empty{text-align:center;color:#9ca3af;box-shadow:none;background:0 0;border-style:dashed;padding:24px 12px;font-size:11px}.gap-card-completed{border-left:3px solid #10b981}.gap-card-progress{border-left:3px solid #2563eb}.gap-card-pending{border-left:3px solid #d97706}.gap-card-yet{border-left:3px solid #6b7280}.gap-activity-card-hd{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px;display:flex}.gap-activity-card-title{color:#111827;margin:0;font-size:12px;font-weight:700;line-height:1.45}.gap-activity-card-time{color:#ea580c;white-space:nowrap;flex-shrink:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:700}.gap-activity-card-ind,.gap-activity-card-resp,.gap-activity-card-prog{margin:0 0 6px;font-size:11px;line-height:1.5}.gap-activity-card-ind{color:#4b5563}.gap-activity-card-resp{color:#9ca3af}.gap-activity-card-prog{color:#374151}.gap-activity-card-actions{border-top:1px solid #f3f4f6;flex-wrap:wrap;gap:6px;margin-top:10px;padding-top:10px;display:flex}@media (width<=1200px){.gap-card-board{grid-template-columns:repeat(2,minmax(220px,1fr))}}@media (width<=720px){.gap-card-board{grid-template-columns:1fr}}.tbl-wrap .tcell-bar,.coe-compact .tcell-bar{justify-content:flex-start;gap:8px;width:72px;min-width:72px;margin:0}table{border-collapse:collapse;width:100%}thead{background:var(--ui-surface)}thead th{text-align:left;color:var(--ui-surface-text);text-transform:uppercase;letter-spacing:1px;white-space:nowrap;padding:12px 16px;font-size:10px;font-weight:400}.listing-table thead tr{background:var(--ui-surface)}.listing-table thead th{color:var(--ui-surface-text)!important;font-weight:400!important}tbody td{color:#374151;vertical-align:middle;text-align:left;border-bottom:1px solid #f3f4f6;padding:11px 16px;font-size:12px}.tbl-wrap thead th,.tbl-wrap tbody td{text-align:left}.tcell-bar{justify-content:flex-start;align-items:center;gap:6px;width:72px;min-width:72px;margin:0;display:flex}.tcell-bar-track{background:#e5e7eb;border-radius:3px;flex:1;min-width:50px;height:5px;overflow:hidden}.tcell-bar-fill{border-radius:3px;height:100%}.pct-only{font-size:11px;font-weight:700}.tbl-wrap tbody td>div[style*=display\:flex]{justify-content:flex-start!important;width:auto!important;margin-left:0!important;margin-right:0!important}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:#f9fafb}.sc{border-radius:20px;align-items:center;gap:5px;padding:3px 11px;font-size:10px;font-weight:700;display:inline-flex}.sc:before{content:"";border-radius:50%;width:5px;height:5px}.sc-g{color:#166534;background:#dcfce7}.sc-g:before{background:#16a34a}.sc-b{color:#1e40af;background:#dbeafe}.sc-b:before{background:#3b82f6}.sc-y{color:#854d0e;background:#fef9c3}.sc-y:before{background:#ca8a04}.sc-r{color:#991b1b;background:#fee2e2}.sc-r:before{background:#ef4444}.sc-p{color:#6b21a8;background:#f3e8ff}.sc-p:before{background:#a855f7}.sc-t{color:#115e59;background:#ccfbf1}.sc-t:before{background:#14b8a6}.sc-o{color:#9a3412;background:#ffedd5}.sc-o:before{background:#f97316}.sc-gray{color:#4b5563;background:#f3f4f6}.sc-gray:before{background:#9ca3af}.pb{justify-content:flex-start;align-items:center;gap:8px;width:72px;min-width:72px;display:flex}.pb-track{background:#e5e7eb;border-radius:3px;flex:1;height:6px;overflow:hidden}.pb-fill{background:linear-gradient(90deg,#16a34a,#4ade80);border-radius:3px;height:100%}.pb-val{color:#374151;min-width:36px;font-size:11px;font-weight:700}.mrow{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;padding:0 24px;display:grid}.mk{text-align:left;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:14px}.mk-n{color:#1565c0;margin-bottom:4px;font-size:22px;font-weight:800}.section-stats .mk-n,.fin-stats .util-pct,.fin-stats .fin-val{color:#343434}.section-stats.stats-kc1 .mk,.section-stats.stats-kc1>.mk{border-width:2px;border-color:#a9e5d9}.section-stats.stats-kc2 .mk,.section-stats.stats-kc2>.mk{border-width:2px;border-color:#f1aec1}.section-stats.stats-kc3 .mk,.section-stats.stats-kc3>.mk{border-width:2px;border-color:#fde3a0}.section-stats.stats-kc4 .mk,.section-stats.stats-kc4>.mk{border-width:2px;border-color:#b6e3fc}.section-stats.stats-kc5 .mk,.section-stats.stats-kc5>.mk{border-width:2px;border-color:#ffbbc9}.section-stats.stats-kc6 .mk,.section-stats.stats-kc6>.mk{border-width:2px;border-color:#e0c5e5}.section-stats.stats-kc7 .mk,.section-stats.stats-kc7>.mk{border-width:2px;border-color:#a5e2ed}.section-stats.stats-kc8 .mk,.section-stats.stats-kc8>.mk{border-width:2px;border-color:#a4e0dc}.fin-stats.stats-kc7>div{border-width:2px!important;border-color:#a5e2ed!important}.mk-l{text-transform:uppercase;letter-spacing:1.5px;color:#6b7280;font-size:9.5px;font-weight:700}.mk.ongo-stat-link{cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s}.mk.ongo-stat-link:hover{transform:translateY(-2px);box-shadow:0 6px 16px #026cb51f}.mk.ongo-stat-link:focus-visible{outline:2px solid var(--ui-surface);outline-offset:2px}.civ-grid{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px;padding:0 24px 20px;display:grid}.civ-card{background:#f8fafc;border:1.5px solid #e5e7eb;border-radius:12px;padding:16px;transition:box-shadow .2s;position:relative;overflow:hidden}.civ-card:hover{box-shadow:0 6px 20px #0000001a}.civ-card:before{content:"";height:3px;position:absolute;top:0;left:0;right:0}.civ-card.North:before{background:linear-gradient(90deg,#1565c0,#42a5f5)}.civ-card.Center:before{background:linear-gradient(90deg,#e65100,#ffa726)}.civ-card.South:before{background:linear-gradient(90deg,#b71c1c,#ef9a9a)}.civ-name{color:var(--text);margin-bottom:3px;font-size:13px;font-weight:700}.civ-meta{color:#9ca3af;margin-bottom:12px;font-size:10px}.civ-lbl{text-transform:uppercase;letter-spacing:1px;color:#6b7280;justify-content:space-between;margin-bottom:5px;font-size:9px;font-weight:700;display:flex}.cbar-wrap{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:8px;display:grid}.cbar{flex-direction:column;gap:3px;display:flex}.cbar-lbl{color:#9ca3af;font-size:8px}.cbar-track{background:#e5e7eb;border-radius:3px;height:5px;overflow:hidden}.cbar-fill{border-radius:3px;height:100%}.bp{background:#1565c033}.ba{background:#1565c0}.fp{background:#e6510033}.fa{background:#e65100}.str-fill{background:#0097a7}.mep-fill{background:#6a1b9a}.fin-fill{background:#2e7d32}.struc-row{border-top:1px solid #e5e7eb;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-top:10px;padding-top:8px;display:grid}.struc-item{text-align:center}.struc-val{margin-bottom:2px;font-size:10px;font-weight:800}.struc-lbl{color:#9ca3af;font-size:8px}.fin-row{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:10px 0;display:flex}.fin-row:last-child{border-bottom:none}.fin-lbl{color:#6b7280;font-size:12px}.fin-val{color:var(--text);font-size:12px;font-weight:600}.util-pct{color:#e65100;text-align:center;font-size:36px;font-weight:800}.util-track{background:#e5e7eb;border-radius:5px;height:10px;margin:10px 24px;overflow:hidden}.util-fill{background:linear-gradient(90deg,#e65100,#ff8f00);border-radius:5px;height:100%}.budget-util-charts{margin-top:20px}.budget-util-charts .csec-hd{flex-direction:column;align-items:flex-start;gap:4px}.budget-charts-sub{color:#9ca3af;letter-spacing:.02em;font-size:11px;font-weight:500}.budget-charts-body{grid-template-columns:minmax(260px,340px) 1fr;align-items:start;gap:28px;padding:8px 24px 28px;display:grid}@media (width<=900px){.budget-charts-body{grid-template-columns:1fr}}.budget-donut-panel{flex-direction:column;align-items:center;gap:18px;display:flex}.budget-donut-wrap{width:200px;height:200px;position:relative}.budget-donut-ring{border-radius:50%;width:100%;height:100%;-webkit-mask:radial-gradient(circle,#0000 58%,#000 59%);mask:radial-gradient(circle,#0000 58%,#000 59%)}.budget-donut-center{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.budget-donut-center .pct{color:#1a1a2e;font-size:28px;font-weight:800;line-height:1.1}.budget-donut-center .lbl{color:#9ca3af;font-size:11px;font-weight:600}.budget-donut-legend{flex-direction:column;gap:8px;width:100%;display:flex}.budget-legend-item{color:#374151;align-items:center;gap:10px;font-size:11px;display:flex}.budget-legend-swatch{border-radius:3px;flex-shrink:0;width:12px;height:12px}.budget-bar-panel{min-width:0}.budget-bar-panel .sec-div{margin:0 0 16px;font-size:10px}.budget-bar-chart{align-items:stretch;gap:12px;min-height:260px;display:flex}.budget-bar-yaxis{color:#9ca3af;text-align:right;flex-direction:column;justify-content:space-between;min-width:52px;padding:0 0 52px;font-size:9px;display:flex}.budget-bar-plot{background:repeating-linear-gradient(0deg,#0000,#0000 39px,#f3f4f6 39px 40px) 0 0/100% 40px;border-bottom:1px solid #e5e7eb;border-left:1px solid #e5e7eb;flex:1;justify-content:space-around;align-items:flex-end;gap:8px;min-height:220px;padding:0 8px 0 12px;display:flex}.budget-bar-group{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;max-width:88px;height:220px;display:flex}.budget-bar-pair{justify-content:center;align-items:flex-end;gap:6px;width:100%;height:168px;display:flex}.budget-bar{border-radius:4px 4px 0 0;width:22px;min-height:4px;transition:height .35s}.budget-bar.budget{background:#93c5fd;border:1.5px solid #1565c0}.budget-bar.utilized{background:#10b981}.budget-bar-label{color:#6b7280;text-align:center;transform-origin:top;white-space:nowrap;text-overflow:ellipsis;max-width:90px;margin-top:8px;font-size:9px;line-height:1.25;overflow:hidden;transform:rotate(-28deg)}.budget-bar-legend{color:#6b7280;justify-content:center;gap:20px;margin-top:14px;font-size:10px;display:flex}.budget-bar-legend span{align-items:center;gap:6px;display:flex}.budget-bar-legend i{border-radius:2px;width:14px;height:10px;display:inline-block}.budget-bar-legend i.budget-i{background:#93c5fd;border:1.5px solid #1565c0}.budget-bar-legend i.util-i{background:#10b981}.tbadge{border-radius:6px;padding:3px 9px;font-size:10px;font-weight:700;display:inline-block}.tg{color:#166534;background:#dcfce7}.tb{color:#1e40af;background:#dbeafe}.to{color:#9a3412;background:#ffedd5}.tp{color:#6b21a8;background:#f3e8ff}.tr{color:#991b1b;background:#fee2e2}.cpkr{color:#0f766e;background:#ccfbf1;border-radius:4px;margin-left:3px;padding:1px 6px;font-size:9px;font-weight:700;display:inline-block}.cusd{color:#1e40af;background:#dbeafe;border-radius:4px;margin-left:3px;padding:1px 6px;font-size:9px;font-weight:700;display:inline-block}.sec-div{text-transform:uppercase;letter-spacing:2px;color:#000;border-top:1px solid #f3f4f6;margin-top:4px;padding:14px 24px 10px;font-size:10px;font-weight:900}.list-accordion{background:#fff;border:1px solid #e8ecf0;border-radius:10px;margin:0 24px 12px;transition:border-color .2s,box-shadow .2s;overflow:hidden}.list-accordion:hover:not(.open){border-color:var(--ui-surface-hover);box-shadow:0 0 0 1px #025a9a24,0 4px 12px #025a9a1f}.list-accordion:hover:not(.open) .list-acc-hd{background:var(--ui-surface-hover);border-bottom-color:#ffffff26}.list-accordion:hover:not(.open) .list-acc-title,.list-accordion:hover:not(.open) .list-acc-meta,.list-accordion:hover:not(.open) .list-acc-chevron{color:#fff}.list-accordion:hover:not(.open) .list-acc-chevron{opacity:1}.list-accordion.open{border-color:var(--ui-surface-hover);box-shadow:0 0 0 1px #025a9a29}.list-acc-hd{cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border-bottom:1px solid #0000;align-items:center;gap:12px;padding:13px 16px;transition:background .2s,color .2s,border-color .2s;display:flex}.list-accordion.open .list-acc-hd{background:var(--ui-surface-hover);border-bottom-color:#fff3}.list-accordion.open:hover .list-acc-hd{background:var(--ui-surface-border)}.list-accordion.open .list-acc-title,.list-accordion.open .list-acc-meta,.list-accordion.open .list-acc-chevron{color:#fff}.list-accordion.open .list-acc-meta{opacity:.9}.list-acc-title{text-transform:uppercase;letter-spacing:1px;color:var(--hdr);flex:1;font-size:11px;font-weight:500}.list-acc-meta{color:#9ca3af;white-space:nowrap;font-size:11px;font-weight:400}.list-acc-chevron{color:var(--hdr);opacity:.55;font-size:9px;transition:transform .2s,opacity .15s}.list-accordion.open .list-acc-chevron{opacity:1;color:#fff;transform:rotate(180deg)}.list-acc-body{display:none}.list-accordion.open .list-acc-body{display:block}.list-acc-body .tbl-wrap{border:none;border-top:1px solid #e8ecf0;border-radius:0}.list-acc-tools{background:0 0;border-bottom:1px solid #e8ecf0;gap:10px;padding:12px 16px;display:flex}.list-acc-tools input,.list-acc-tools select{background:#fff;border:1.5px solid #e5e7eb;border-radius:8px;outline:none;flex:1;padding:8px 12px;font-family:Inter,sans-serif;font-size:12px}.list-acc-tools select{flex:none;min-width:140px}.toast{z-index:9999;color:#fff;opacity:0;background:#1f2937;border-radius:10px;align-items:center;gap:9px;padding:12px 18px;font-size:12.5px;font-weight:500;transition:all .3s;display:flex;position:fixed;bottom:24px;right:24px;transform:translateY(60px);box-shadow:0 8px 24px #0000004d}.toast.show{opacity:1;transform:translateY(0)}.dash-footer{background:var(--hdr2);flex-shrink:0;justify-content:space-between;align-items:center;padding:9px 28px;display:flex}.dash-footer p{color:#ffffff4d;font-size:10px}.module-view{animation:.28s slideUp}.sb.on{color:#fff;background:#4fc3f733}.sb{position:relative}.sb-tooltip{color:#fff;white-space:nowrap;pointer-events:none;opacity:0;z-index:999;background:#1f2937;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:600;transition:opacity .2s;position:absolute;top:50%;left:54px;transform:translateY(-50%)}.sb:hover .sb-tooltip{opacity:1}.de-overlay{z-index:1000;background:#0000008c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.de-modal{background:#fff;border-radius:16px;width:100%;max-width:720px;max-height:90vh;overflow-y:auto;box-shadow:0 24px 64px #0000004d}.de-modal.wide{max-width:1060px}.de-modal.xwide{max-width:min(1280px,96vw)}.de-modal-hd{background:var(--action-primary);border-bottom:1px solid var(--ui-surface-border);border-radius:16px 16px 0 0;justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.de-modal-hd h3{color:var(--ui-surface-text);letter-spacing:.02em;text-transform:uppercase;font-size:15px;font-weight:700}.de-modal-hd .close-btn{width:30px;height:30px;color:var(--ui-surface-text);cursor:pointer;background:#ffffff2e;border:1px solid #ffffff40;border-radius:50%;justify-content:center;align-items:center;font-size:18px;transition:background .2s;display:flex}.de-modal-hd .close-btn:hover{background:#ffffff47}.de-modal-body{padding:24px}.form-grid{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;display:grid}.form-grid.cols3{grid-template-columns:1fr 1fr 1fr}.form-grid.cols1{grid-template-columns:1fr}.fg2{flex-direction:column;gap:5px;display:flex}.fg2 label{color:#374151;text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700}.fg2 input,.fg2 select,.fg2 textarea{color:#1a1a2e;background:#fff;border:1.5px solid #e5e7eb;border-radius:8px;outline:none;padding:9px 12px;font-family:Inter,sans-serif;font-size:12.5px;transition:border .2s}.fg2 input:focus,.fg2 select:focus,.fg2 textarea:focus{border-color:var(--ui-surface);box-shadow:0 0 0 3px #026cb51f}.fg2 textarea{resize:vertical;min-height:70px}.form-section-lbl{text-transform:uppercase;letter-spacing:2px;color:#9ca3af;border-top:1px solid #f3f4f6;grid-column:1/-1;margin-top:4px;padding:12px 0 6px;font-size:10px;font-weight:700}.btn-submit{background:var(--action-primary);color:var(--ui-surface-text);cursor:pointer;border:none;border-radius:9px;padding:11px 28px;font-family:Inter,sans-serif;font-size:13px;font-weight:700;transition:background .2s,transform .2s,box-shadow .2s;box-shadow:0 2px 8px #026cb547}.btn-submit:hover{background:var(--action-primary-hover);transform:translateY(-1px);box-shadow:0 6px 18px #026cb561}.btn-secondary{color:#374151;cursor:pointer;background:#f3f4f6;border:none;border-radius:9px;margin-right:8px;padding:11px 22px;font-family:Inter,sans-serif;font-size:13px;font-weight:600}.de-form-footer{border-top:1px solid #f3f4f6;justify-content:flex-end;align-items:center;margin-top:4px;padding-top:16px;display:flex}.audit-pill{color:#9ca3af;margin-right:auto;font-size:10px}.mod-tabs{background:0 0;border:none;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;padding:0;display:flex}.mod-tab{cursor:pointer;color:#64748b;white-space:nowrap;background:#fff;border:1.5px solid #d1d5db;border-radius:6px;padding:9px 18px;font-size:12px;font-weight:600;line-height:1.25;transition:border-color .2s,color .2s,background .2s,box-shadow .2s}.mod-tab:hover:not(.on){color:#343434;background:#f8fafc;border-color:#94a3b8}.mod-tab.on{background:var(--ui-surface);color:var(--ui-surface-text);border-color:#0000;box-shadow:0 2px 8px #026cb547}.rpt-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px;display:grid}.rpt-card{cursor:pointer;text-align:center;background:#fff;border:1.5px solid #e5e7eb;border-radius:12px;padding:20px;transition:all .2s}.rpt-card:hover{border-color:#1565c0;transform:translateY(-2px);box-shadow:0 4px 16px #1565c01f}.rpt-icon{margin-bottom:8px;font-size:28px}.rpt-title{color:#1a1a2e;margin-bottom:4px;font-size:13px;font-weight:700}.rpt-sub{color:#9ca3af;font-size:11px}.coe-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-bottom:20px;display:grid}.coe-det-card{background:#fff;border:1.5px solid #e5e7eb;border-radius:12px;padding:16px;transition:box-shadow .2s}.coe-det-card:hover{box-shadow:0 4px 16px #00000014}.coe-det-title{color:#1a1a2e;margin-bottom:4px;font-size:13px;font-weight:700}.coe-det-sub{color:#9ca3af;margin-bottom:10px;font-size:10px}.coe-stat-row{border-bottom:1px solid #f3f4f6;justify-content:space-between;padding:4px 0;font-size:11px;display:flex}.coe-stat-row:last-child{border-bottom:none}.add-row-btn{border:1.5px dashed var(--ui-surface);color:var(--ui-surface);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:6px;margin-bottom:12px;padding:7px 14px;font-size:11px;font-weight:700;transition:all .2s;display:inline-flex}.mod-toolbar-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.mod-toolbar-row input[type=text],.mod-toolbar-row select{background:#fff;border:1.5px solid #e5e7eb;border-radius:8px;outline:none;padding:8px 12px;font-family:Inter,sans-serif;font-size:12px}.mod-toolbar-row input[type=text]{flex:1;min-width:200px}.mod-toolbar-row .add-row-btn{flex-shrink:0;margin-bottom:0}.mod-toolbar-row .mod-toolbar-end{margin-left:auto}.mod-toolbar-row--end{justify-content:flex-end}.mod-toolbar-row.c3-filters-row{padding:0 24px}.training-component-tabs{margin-bottom:16px}.tr-mod-count,.c3-mod-count{color:#9ca3af;margin-bottom:8px;font-size:11px}.tr-mod-count{padding:0}.c3-mod-count{padding:0 24px}.pdm-csec-host{margin-top:4px}.dash-c3-meta{color:#6b7280;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;margin-bottom:12px;padding:0 24px;font-size:11px;display:grid}.dash-c3-meta--module{padding:0 24px 12px}.dash-c3-meta--footer{margin-bottom:0;padding:12px 24px 20px}.c3-quarterly-summary-hd{color:#6b7280;text-transform:uppercase;letter-spacing:.5px;padding:0 24px 8px;font-size:11px;font-weight:700}.c3-quarterly-block{margin-top:12px;padding-bottom:16px}.c3-quarterly-csec{margin-top:16px}.c3-module-hd{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:18px 24px 12px;display:flex}.c3-module-panel,#c3-tab-panel{padding-bottom:24px}.c3-filter-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.c3-filter-kpi-grid .kcard{cursor:pointer}.c3-contingency-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}@media (width<=900px){.c3-contingency-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.c3-contingency-kpi-grid{grid-template-columns:1fr}}.ongoing-stat-link.is-on .mk-n,.ongoing-stat-link.is-on .mk-l{color:var(--ui-surface)}.ongoing-stat-link.is-on{background:#eff6ff;border-color:#bfdbfe}#mod-training .c3-filter-field{flex:1;min-width:200px;max-width:280px}.c3-month-hint{color:#9ca3af}.c3-form-lock-note{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;margin:0 0 12px;padding:10px 12px;font-size:12px;line-height:1.45}#c3-tab-panel .kpi-grid,#c3-tab-panel .mod-kpi-grid{margin-bottom:16px}.civil-map-section{padding:0 24px 20px}.civil-map-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px;margin-bottom:10px;display:flex}.civil-map-title{color:#1a1a2e;font-size:13px;font-weight:700}.civil-map-hint{color:#9ca3af;font-size:10px}.civil-map-wrap{background:#e8f4fc;border:1.5px solid #e5e7eb;border-radius:12px;height:380px;overflow:hidden;box-shadow:0 1px 4px #0f172a0f}#civil-punjab-map{z-index:1;width:100%;height:100%;min-height:380px}.civil-map-marker{background:0 0!important;border:none!important}.civil-map-pin{color:#fff;border:2.5px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-family:Inter,sans-serif;font-size:9px;font-weight:800;line-height:1;display:flex;box-shadow:0 2px 10px #00000047}.civil-map-legend{color:#6b7280;flex-wrap:wrap;align-items:center;gap:14px 20px;margin-top:10px;font-size:11px;display:flex}.civil-legend-dot{vertical-align:middle;border:1.5px solid #fff;border-radius:50%;width:10px;height:10px;margin-right:5px;display:inline-block;box-shadow:0 0 0 1px #0000001f}.btn-visual-rep{color:#fff;cursor:pointer;background:linear-gradient(135deg,#1565c0,#1976d2);border:none;border-radius:8px;align-items:center;gap:8px;margin:0 24px 16px;padding:9px 16px;font-family:Inter,sans-serif;font-size:12px;font-weight:700;transition:transform .15s,box-shadow .15s;display:inline-flex;box-shadow:0 2px 8px #1565c040}.btn-visual-rep:hover{transform:translateY(-1px);box-shadow:0 4px 14px #1565c059}.visual-module-grid{flex-direction:column;gap:20px;padding-bottom:24px;display:flex}.visual-map-card .civil-map-wrap{height:420px;position:relative;overflow:hidden}.visual-map-card .civil-map-wrap:after{content:"";z-index:450;pointer-events:none;border-radius:12px;position:absolute;inset:0;box-shadow:inset 0 0 28px 18px #f0f2f8eb}.visual-map-card #visual-civil-map{z-index:1;width:100%;height:100%;min-height:420px}.visual-map-card .leaflet-container{width:100%;height:100%;font-family:Inter,sans-serif}.visual-charts-row{grid-template-columns:1fr 1fr;gap:20px;padding:0 0 8px;display:grid}@media (width<=1000px){.visual-charts-row{grid-template-columns:1fr}}.visual-chart-card .budget-charts-body{grid-template-columns:1fr;padding:12px 20px 24px}.visual-chart-card .budget-donut-panel{flex-flow:wrap;justify-content:center}.visual-section-label{text-transform:uppercase;letter-spacing:1.4px;color:#374151;align-items:center;gap:10px;margin-top:4px;padding:8px 4px 0;font-size:13px;font-weight:800;display:flex}.visual-section-label:after{content:"";background:#e5e7eb;flex:1;height:1px}.visual-section-icon{border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;display:inline-flex}.visual-chart-card{min-height:0;padding:20px 22px 22px;box-shadow:0 1px 3px #0000000a,0 4px 16px #0f172a0d}@media (width>=1100px){.visual-charts-row--wide{grid-template-columns:1.65fr 1fr}.visual-charts-row--3{grid-template-columns:minmax(240px,1fr) minmax(0,2fr)}}.visual-chart-hd{border-bottom:1px solid #f1f5f9;margin-bottom:14px;padding-bottom:12px}.visual-chart-title{text-transform:uppercase;letter-spacing:.9px;color:#1a1a2e;font-size:11px;font-weight:800;line-height:1.35}.visual-chart-sub{color:#9ca3af;margin-top:5px;font-size:10.5px;font-weight:500;line-height:1.5}.visual-canvas-wrap{height:210px;position:relative}.visual-canvas-wrap--mid{height:230px}.visual-canvas-wrap--tall{height:320px}.visual-canvas-wrap canvas{display:block;width:100%!important;height:100%!important}.visual-chart-legend{color:#6b7280;border-top:1px solid #f1f5f9;flex-wrap:wrap;gap:12px 20px;margin-top:14px;padding-top:12px;font-size:10.5px;font-weight:600;display:flex}.visual-chart-legend--center{justify-content:center}.visual-chart-legend span{align-items:center;gap:6px;display:inline-flex}.visual-chart-legend i{border-radius:2px;flex-shrink:0;width:10px;height:10px;font-style:normal;display:inline-block}.visual-donut-wrap{width:168px;height:168px;margin:10px auto 0;position:relative}.visual-donut-wrap--sm{width:148px;height:148px}.visual-donut-center{pointer-events:none;text-align:center;flex-direction:column;justify-content:center;align-items:center;transition:opacity .15s;display:flex;position:absolute;inset:0}.visual-donut-pct{color:#28bbd4;letter-spacing:-.3px;font-size:22px;font-weight:900;line-height:1}.visual-donut-lbl{text-transform:uppercase;letter-spacing:.9px;color:#9ca3af;margin-top:4px;font-size:9px;font-weight:700}.visual-chart-card--donut{flex-direction:column;align-items:stretch;display:flex}.visual-chart-card--donut .visual-donut-wrap{align-self:center}.visual-gap-stats{color:#6b7280;border-top:1px solid #f1f5f9;flex-direction:column;gap:9px;width:100%;margin-top:16px;padding-top:12px;font-size:11px;display:flex}.visual-gap-stats div{justify-content:space-between;align-items:center;font-weight:600;display:flex}.visual-gap-stats .dot{vertical-align:middle;border-radius:2px;width:9px;height:9px;margin-right:6px;display:inline-block}.visual-gap-stats strong{color:#1a1a2e;font-size:14px;font-weight:800}.visual-chart-card .budget-bar-panel .sec-div{margin-top:0}.leaflet-popup-content-wrapper{border-radius:10px;box-shadow:0 8px 24px #0f172a26}.civil-map-popup{min-width:220px;margin:0;font-family:Inter,sans-serif;font-size:12px;line-height:1.4}.civil-map-popup strong{color:#1a1a2e;margin-bottom:8px;font-size:13px;display:block}.civil-map-popup-row{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:baseline;gap:12px;padding:5px 0;display:flex}.civil-map-popup-row:last-child{border-bottom:none}.civil-map-popup-row span:first-child{color:#9ca3af;text-transform:uppercase;letter-spacing:.4px;font-size:10px}.civil-map-popup-row strong{color:#1565c0;margin:0;font-size:12px;display:inline}.add-row-btn:hover{border-color:var(--ui-surface-hover);color:var(--ui-surface-hover);background:#026cb514}.tr-import-btn{border:1.5px solid var(--ui-surface);color:var(--ui-surface);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-size:11px;font-weight:700;transition:background .2s,color .2s;display:inline-flex}.tr-import-btn:hover{background:var(--ui-surface);color:#fff}.tr-excel-input,#tr-excel-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tr-import-label{cursor:pointer;-webkit-user-select:none;user-select:none;margin:0}.tr-data-actions{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}#mod-training .tr-c2-filter-bar{z-index:25;background:#fff;border-bottom:1px solid #e5e7eb;margin-top:20px;margin-bottom:14px;padding:8px 4px 10px;position:sticky;top:0;box-shadow:0 4px 12px #0f172a0a}#mod-training .tr-placement-subtitle{margin-top:0}#mod-training .tr-placement-proforma-wrap .coe-placement-table--proforma{table-layout:fixed;width:max-content;min-width:1960px}#mod-training .coe-placement-table--proforma th,#mod-training .coe-placement-table--proforma td{vertical-align:top;white-space:normal;word-break:break-word;text-overflow:unset;font-size:11px;overflow:visible}#mod-training .coe-placement-table--proforma th{padding:8px 10px;line-height:1.35}#mod-training .coe-placement-table--proforma td{padding:7px 10px}#mod-training .coe-placement-table--proforma .tr-col-inst,#mod-training .coe-placement-table--proforma .tr-col-trainee,#mod-training .coe-placement-table--proforma .tr-col-employer,#mod-training .coe-placement-table--proforma .tr-col-address,#mod-training .coe-placement-table--proforma .tr-col-employment{min-width:120px}#mod-training .tr-placement-empty-cell{text-align:center;color:#6b7280;line-height:1.6;padding:36px 24px!important}#mod-training .training-c1-subtabs{margin-top:12px;margin-bottom:4px;padding:0 4px}#mod-training .coe-placement-table{min-width:1680px}#mod-training .coe-placement-table th,#mod-training .coe-placement-table td{vertical-align:top;font-size:11px}#mod-training .coe-placement-table .tr-col-employment{white-space:normal;min-width:160px;max-width:220px}#mod-training .coe-placement-table .tr-col-address,#mod-training .coe-placement-table .tr-col-employer,#mod-training .coe-placement-table .tr-col-trainee{white-space:normal;min-width:120px}#mod-training .tr-c2-filter-row{flex-wrap:wrap;gap:12px;margin-bottom:10px;padding-top:4px;display:flex}#mod-training .tr-c2-filter-field{flex-direction:column;flex:1;gap:6px;min-width:220px;display:flex}#mod-training .tr-c2-filter-lbl{text-transform:uppercase;letter-spacing:.5px;color:#6b7280;font-size:11px;font-weight:700}#mod-training .tr-c2-filter-field select{background:#fff;border:1.5px solid #e5e7eb;border-radius:8px;outline:none;padding:8px 12px;font-family:Inter,sans-serif;font-size:12px}#mod-training .tr-multi-filter,#mod-training .tr-multi-wrap{position:relative}#mod-training .tr-multi-trigger{text-align:left;cursor:pointer;background:#fff;border:1.5px solid #e5e7eb;border-radius:8px;width:100%;padding:8px 12px;font-family:Inter,sans-serif;font-size:12px}#mod-training .tr-multi-panel{z-index:20;background:#fff;border:1px solid #e5e7eb;border-radius:8px;max-height:240px;padding:8px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto;box-shadow:0 8px 24px #0f172a1f}#mod-training .tr-multi-opt{cursor:pointer;align-items:flex-start;gap:8px;padding:6px 8px;font-size:12px;display:flex}#mod-training .tr-multi-opt:hover{background:#f9fafb}#mod-training .tr-multi-clear{color:#1d4ed8;cursor:pointer;background:#eff6ff;border:none;border-radius:6px;width:100%;margin-bottom:6px;padding:6px 8px;font-size:11px;font-weight:600}#mod-training .tr-multi-empty{color:#9ca3af;padding:8px;font-size:11px}#mod-training .tr-c2-filter-summary{background:linear-gradient(135deg,#f0f7ff 0%,#f8fafc 100%);border:1px solid #bfdbfe;border-radius:10px;padding:12px 16px}#mod-training .tr-c2-filter-summary-title{color:#1e40af;margin-bottom:6px;font-size:14px;font-weight:800}#mod-training .tr-c2-filter-summary-stats{color:#374151;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}#mod-training .tr-c2-filter-summary-stats strong{color:#111827;font-size:15px}#mod-training .tr-c2-filter-sep{color:#cbd5e1}.training-c2-kpi-wrap{flex-direction:column;gap:12px;margin-bottom:4px;display:flex}.tr-c2-target-bar{border:1.5px solid var(--border);background:#fff;border-radius:10px;padding:12px 16px}.tr-c2-target-hd{color:var(--muted);justify-content:space-between;gap:12px;margin-bottom:8px;font-size:12px;font-weight:600;display:flex}.tr-c2-target-track{background:#e5e7eb;border-radius:5px;height:12px;overflow:hidden}.tr-c2-target-fill{background:linear-gradient(90deg, var(--c2), var(--c1));border-radius:5px;height:100%}.tr-c2-target-note{color:#9ca3af;margin-top:8px;font-size:11px;line-height:1.4}.tr-table.tr-batches-table th.tr-col-target,.tr-table.tr-batches-table td.tr-col-target{text-align:center;color:#94a3b8;width:72px;min-width:72px}.tr-table.tr-batches-table th.tr-col-progress,.tr-table.tr-batches-table td.tr-col-progress{text-align:center;vertical-align:middle;width:112px;min-width:112px;max-width:112px}.tr-table.coe-enrol-table--c1 td.tr-col-progress .civ-prog,.tr-table.tr-batches-table td.tr-col-progress .civ-prog{justify-content:center;align-items:center;gap:8px;min-width:0;max-width:100%;margin:0 auto;display:inline-flex}.tr-table.coe-enrol-table--c1 td.tr-col-progress .civ-prog-track,.tr-table.tr-batches-table td.tr-col-progress .civ-prog-track{background:#e8ecf0;border-radius:999px;flex:0 0 56px;width:56px;min-width:56px;max-width:56px;height:6px;overflow:hidden}.tr-table.coe-enrol-table--c1 td.tr-col-progress .civ-prog-fill,.tr-table.tr-batches-table td.tr-col-progress .civ-prog-fill{background:#22c55e;border-radius:999px;height:100%;display:block}.tr-table.coe-enrol-table--c1 td.tr-col-progress .civ-prog-fill.is-warn,.tr-table.tr-batches-table td.tr-col-progress .civ-prog-fill.is-warn{background:#f59e0b}.tr-table.coe-enrol-table--c1 td.tr-col-progress .civ-prog-fill.is-risk,.tr-table.tr-batches-table td.tr-col-progress .civ-prog-fill.is-risk{background:#ef4444}.tr-table.coe-enrol-table--c1 td.tr-col-progress .civ-pct,.tr-table.tr-batches-table td.tr-col-progress .civ-pct{color:#343434;text-align:right;flex:none;min-width:34px;font-size:12px;font-weight:600}.tr-table.tr-batches-table .tr-c2-target-foot td{background:#f8fafc;border-top:2px solid #cbd5e1;padding:10px 8px;font-size:12px}.tr-table.tr-batches-table .tr-target-foot-label{color:#1e40af;text-align:right;padding-right:12px;font-weight:700}.tr-table.tr-batches-table .tr-target-foot-sub{color:#9ca3af;margin-top:2px;font-size:10px;font-weight:500;display:block}.tr-table.tr-batches-table .tr-target-foot-val{color:#111827;text-align:center;background:#eff6ff;font-size:14px;font-weight:800}.tr-table.tr-batches-table .tr-target-foot-meta{color:#6b7280;text-align:left;padding-left:10px;font-size:11px}.form-section-label{text-transform:uppercase;letter-spacing:.6px;color:#6b7280;margin:4px 0 8px;padding-top:4px;font-size:11px;font-weight:800}.tr-table.coe-enrol-table--c1{min-width:1962px}.tr-table.coe-enrol-table--c1 th.tr-col-narrow:not(.tr-col-action):not(.tr-col-tg),.tr-table.coe-enrol-table--c1 td.tr-col-narrow:not(.tr-col-action):not(.tr-col-tg){width:52px;min-width:52px;max-width:58px;padding-left:6px!important;padding-right:6px!important}.tr-table.coe-enrol-table--c1 th.tr-col-div,.tr-table.coe-enrol-table--c1 td.tr-col-div{width:76px;min-width:76px}.tr-table.coe-enrol-table--c1 th.tr-col-dist,.tr-table.coe-enrol-table--c1 td.tr-col-dist{width:84px;min-width:84px}.tr-table.coe-enrol-table--c1 th.tr-col-tg,.tr-table.coe-enrol-table--c1 td.tr-col-tg{text-align:center;vertical-align:middle;width:56px!important;min-width:56px!important;max-width:56px!important;padding-left:4px!important;padding-right:4px!important}.tr-table.coe-enrol-table--c1 thead th.tr-col-tg{white-space:normal!important;word-break:normal!important;-webkit-hyphens:none!important;hyphens:none!important;text-overflow:clip!important;text-transform:none!important;padding-top:6px!important;padding-bottom:6px!important;font-size:9px!important;font-weight:600!important;line-height:1.1!important;overflow:visible!important}.tr-table.coe-enrol-table--c1 thead th.tr-col-tg .tr-tg-hd,.tr-table.coe-enrol-table--c1 thead th.tr-col-tg .tr-tg-hd-line{line-height:1.05;display:block}.tr-table.coe-enrol-table--c1 th.tr-col-date,.tr-table.coe-enrol-table--c1 td.tr-col-date{width:88px;min-width:88px}.tr-table.coe-enrol-table--c1 th.tr-col-progress,.tr-table.coe-enrol-table--c1 td.tr-col-progress{width:118px;min-width:118px;max-width:118px}.tr-table.coe-enrol-table--c1 th.tr-col-org,.tr-table.coe-enrol-table--c1 td.tr-col-org{width:88px;min-width:88px}.tr-table.coe-enrol-table--c1 th.tr-col-inst,.tr-table.coe-enrol-table--c1 td.tr-inst-cell{white-space:normal;text-align:left;width:148px;min-width:148px;line-height:1.35}.tr-table.coe-enrol-table--c1 th.tr-col-course,.tr-table.coe-enrol-table--c1 td.tr-course-cell{white-space:normal;text-align:left;width:176px;min-width:176px;line-height:1.35}.tr-table.coe-enrol-table--c1 th.tr-col-target,.tr-table.coe-enrol-table--c1 td.tr-col-target{width:52px;min-width:52px}.tr-table.coe-enrol-table--c1 th.tr-col-principal,.tr-table.coe-enrol-table--c1 td.tr-principal{white-space:normal;text-align:left;width:108px;min-width:108px}.tr-table.coe-enrol-table--c1 th.tr-col-contact,.tr-table.coe-enrol-table--c1 td.tr-principal-contact{white-space:nowrap;text-align:left;width:100px;min-width:100px}.tr-table.coe-enrol-table--c1 thead th{white-space:normal;word-break:normal;-webkit-hyphens:none;hyphens:none;vertical-align:middle;padding:10px 8px!important;font-size:11px!important;line-height:1.25!important}.tr-table.coe-enrol-table--c1 thead th.tr-col-narrow:not(.tr-col-tg),.tr-table.coe-enrol-table--c1 thead th.tr-col-date,.tr-table.coe-enrol-table--c1 thead th.tr-col-target{white-space:nowrap!important}.tr-table.coe-enrol-table--c1 thead tr.tr-hdr-sub th{white-space:nowrap!important;text-transform:none!important;letter-spacing:0!important;padding:6px 4px!important;font-size:10px!important;font-weight:700!important}.tr-table.coe-enrol-table--c1 thead tr.tr-hdr-sub th.tr-col-tg{white-space:normal!important;text-transform:none!important}#mod-training .tr-table.coe-enrol-table--c1 thead tr.tr-hdr-sub th{text-transform:none!important;letter-spacing:0!important;font-size:10px!important}#mod-training .tr-table.coe-enrol-table--c1 thead tr.tr-hdr-sub th.tr-col-tg{text-transform:none!important;white-space:normal!important}.tr-table.coe-enrol-table--c1 tbody td{vertical-align:middle}.tr-table.coe-enrol-table--c1 th.tr-col-status,.tr-table.coe-enrol-table--c1 td.tr-col-status{text-align:center;vertical-align:middle;box-sizing:border-box;overflow:hidden;width:152px!important;min-width:152px!important;max-width:152px!important;padding-left:6px!important;padding-right:6px!important}.tr-table.coe-enrol-table--c1 td.tr-col-status .sc{white-space:nowrap;text-align:center;box-sizing:border-box;justify-content:center;align-items:center;max-width:100%;line-height:1.2;display:inline-flex;padding:4px 10px!important;font-size:10px!important}.tr-table.coe-enrol-table--c1 td.tr-col-div,.tr-table.coe-enrol-table--c1 td.tr-col-dist,.tr-table.coe-enrol-table--c1 td.tr-col-org,.tr-table.coe-enrol-table--c1 td.tr-inst-cell,.tr-table.coe-enrol-table--c1 td.tr-course-cell,.tr-table.coe-enrol-table--c1 td.tr-principal,.tr-table.coe-enrol-table--c1 td.tr-principal-contact,.tr-table.coe-enrol-table--c1 thead th.tr-col-div,.tr-table.coe-enrol-table--c1 thead th.tr-col-dist,.tr-table.coe-enrol-table--c1 thead th.tr-col-org,.tr-table.coe-enrol-table--c1 thead th.tr-col-inst,.tr-table.coe-enrol-table--c1 thead th.tr-col-course,.tr-table.coe-enrol-table--c1 thead th.tr-col-principal,.tr-table.coe-enrol-table--c1 thead th.tr-col-contact{text-align:left}.coe-name-cell{text-align:left;flex-direction:column;gap:6px;display:flex}.coe-name-main{color:#1e293b;font-weight:600;line-height:1.3}.coe-cum-badge{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;padding:5px 7px;font-size:10px;font-weight:600;line-height:1.35;display:block}.coe-cum-badge strong{font-weight:800}.coe-cum-sub{color:#3b82f6;margin-top:2px;font-size:9px;font-weight:600;display:block}.tr-table.coe-enrol-table--c1 .tr-hdr-place{background:#7c3aed!important}.tr-table.coe-enrol-table--c1 td.tr-place{color:#6d28d9;font-weight:600}#mod-dashboard.pdm-role-active #dash-classic-shell,#mod-dashboard:not(.pdm-role-active) #pdm-role-shell{display:none!important}#mod-dashboard.pdm-role-active #pdm-visual,#mod-dashboard.pdm-role-active #pdm-role-shell,#mod-dashboard.pdm-role-active .pdm-panels,#mod-dashboard.pdm-role-active .pdm-panel,#mod-dashboard.pdm-role-active .pdm-gauge-row,#mod-dashboard.pdm-role-active .pdm-gauge-wrap,#mod-dashboard.pdm-role-active .pdm-canvas-box{overflow:visible}#pdm-role-shell{margin-bottom:20px}#pdm-c1-kpi-row.pdm-c1-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}@media (width<=1100px){#pdm-c1-kpi-row.pdm-c1-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){#pdm-c1-kpi-row.pdm-c1-kpi-grid{grid-template-columns:1fr}}#pdm-c2-kpi-row.pdm-c2-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}@media (width<=1100px){#pdm-c2-kpi-row.pdm-c2-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){#pdm-c2-kpi-row.pdm-c2-kpi-grid{grid-template-columns:1fr}}#pdm-gap-section.pdm-gap-section,#pdm-accounts-section.pdm-accounts-section{margin-bottom:20px}#pdm-accounts-section #mod-accounts.accounts-pdm-embed .accounts-dashboard-panel{margin:0 0 20px}#pdm-accounts-section #mod-accounts.accounts-pdm-embed .accounts-dashboard-shell.csec{border:1.5px solid var(--border);background:#fff;border-radius:10px;overflow:hidden}#pdm-c3-top-section.pdm-c3-top-section{margin-bottom:20px}#pdm-c3-top-section .c3-inner-tabs{margin-bottom:14px}.pdm-c1-operational{flex-direction:column;gap:16px;margin-bottom:20px;display:flex}.pdm-c1-op-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}@media (width<=900px){.pdm-c1-op-cards{grid-template-columns:1fr}}.pdm-c1-op-card{border:1.5px solid var(--border);background:#fff;border-radius:12px;padding:18px 20px}.pdm-c1-op-card-hd{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:6px;display:flex}.pdm-c1-op-card-title{color:var(--text);margin:0;font-size:18px;font-weight:800}.pdm-c1-op-status{color:#1565c0;white-space:nowrap;background:#52bcf726;border-radius:999px;flex-shrink:0;padding:4px 10px;font-size:11px;font-weight:700}.pdm-c1-op-card-sub{color:var(--muted);margin-bottom:14px;font-size:12px}.pdm-c1-op-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.pdm-c1-op-stat{border:1px solid var(--border);text-align:center;background:#f8fafc;border-radius:10px;padding:12px 10px}.pdm-c1-op-stat-num{color:var(--text);font-size:24px;font-weight:800;line-height:1.1}.pdm-c1-op-stat-lbl{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:4px;font-size:10px;font-weight:700}.pdm-c1-op-courses-lbl{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:10px;font-weight:700}.pdm-c1-op-course-tags{flex-wrap:wrap;gap:8px;display:flex}.pdm-c1-op-course-tag{color:#1565c0;background:#52bcf71f;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:600;display:inline-block}.pdm-c1-op-chart-card{border:1.5px solid var(--border);background:#fff;border-radius:12px;overflow:hidden}.pdm-c1-op-chart-hd{padding:16px 20px 0}.pdm-c1-op-chart-title{color:var(--text);font-size:16px;font-weight:800}.pdm-c1-op-chart-sub{color:var(--muted);margin-top:4px;font-size:12px}.pdm-c1-op-chart-body{height:320px;padding:12px 16px 16px}#pdm-c3-kpi-row.pdm-c3-kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:16px}@media (width<=1100px){#pdm-c3-kpi-row.pdm-c3-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){#pdm-c3-kpi-row.pdm-c3-kpi-grid{grid-template-columns:1fr}}#pdm-visual-top,#pdm-visual-banner,#pdm-graphs-section,#pdm-visual-bottom{margin-bottom:20px}#pdm-visual-banner .pdm-level{margin-bottom:0}.pdm-graphs-section{flex-direction:column;gap:20px;display:flex}.pdm-graphs-new .coe-viz-section{margin-bottom:0}#pdm-civil-bars.pdm-graphs-bars{margin-top:0}#pdm-civil-bars .coe-site-bars-section{margin-bottom:0}.pdm-coe-card--all{border-style:dashed}.pdm-coe-card--all .pdm-coe-reg{color:#6b7280}.pdm-comp-tabs{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.pdm-comp-tab{border:1.5px solid var(--border);color:var(--muted);cursor:pointer;background:#fff;border-radius:8px;padding:10px 18px;font-family:Inter,sans-serif;font-size:16px;font-weight:700;transition:all .2s}.pdm-comp-tab.on{background:var(--hdr);border-color:var(--hdr);color:#fff}.pdm-level{margin-bottom:18px}.pdm-banner{background:linear-gradient(135deg, var(--hdr) 0%, #3d4a8f 100%);color:#fff;border-radius:10px;margin-bottom:16px;padding:16px 22px}.pdm-banner h2{letter-spacing:-.3px;font-size:17px;font-weight:800}.pdm-banner .pdm-banner-sub{opacity:.82;margin-top:4px;font-size:12px}.pdm-banner.coe-selected{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.pdm-banner.coe-selected .pdm-banner-meta{opacity:.9;flex-wrap:wrap;gap:20px;font-size:11px;display:flex}.pdm-kpi-row{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px;display:grid}@media (width<=1100px){.pdm-kpi-row{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.pdm-kpi-row{grid-template-columns:1fr}}.pdm-kpi{background:var(--c1);border:1.5px solid var(--border);border-top:4px solid var(--c1);border-radius:10px;padding:14px 16px}.pdm-kpi.kc2{background:var(--c2);border-top-color:var(--c2)}.pdm-kpi.kc3{background:var(--c3);border-top-color:var(--c3)}.pdm-kpi.kc4{background:var(--c4);border-top-color:var(--c4)}.pdm-kpi.kc5{background:var(--c5);border-top-color:var(--c5)}.pdm-kpi .pdm-kpi-lbl{color:#fff;text-transform:uppercase;letter-spacing:.4px;margin-bottom:14px;font-size:18px;font-weight:700}.pdm-kpi .pdm-kpi-val{color:#fff;margin-top:6px;font-size:34px;font-weight:800;line-height:1.15}.pdm-kpi .pdm-kpi-sub{color:#fff;margin-top:5px;font-size:16px}.pdm-kpi.pdm-has-tip{cursor:help}.pdm-kpi.pdm-has-tip:hover{box-shadow:0 4px 16px #1565c01f}.pdm-kpi-donut-wrap{align-items:center;gap:10px;margin-top:6px;display:flex}.pdm-kpi-donut-wrap canvas{width:52px!important;height:52px!important}.pdm-target-bar{border:1.5px solid var(--border);background:#fff;border-radius:10px;margin-bottom:16px;padding:12px 16px}.pdm-target-bar .pdm-tb-hd{color:var(--muted);justify-content:space-between;margin-bottom:8px;font-size:12px;font-weight:600;display:flex}.pdm-target-bar.pdm-has-tip{cursor:help}.pdm-tb-track{background:#e5e7eb;border-radius:5px;height:12px;overflow:hidden}.pdm-tb-fill{background:linear-gradient(90deg, var(--c2), var(--c1));border-radius:5px;height:100%}.pdm-coe-toolbar{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.pdm-coe-toolbar input{border:1.5px solid var(--border);border-radius:8px;flex:1;min-width:200px;padding:9px 12px;font-size:12px}.pdm-coe-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-bottom:10px;display:grid}.pdm-coe-card{border:1.5px solid var(--border);cursor:pointer;background:#fff;border-radius:10px;padding:12px 14px;transition:border-color .2s,box-shadow .2s;position:relative}.pdm-coe-card:hover{box-shadow:0 4px 14px #00000014}.pdm-coe-card.on{border-color:#1565c0;box-shadow:0 0 0 2px #1565c026}.pdm-coe-card .pdm-coe-check{color:#fff;background:#1565c0;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;font-weight:800;display:none;position:absolute;top:8px;right:10px}.pdm-coe-card.on .pdm-coe-check{display:flex}.pdm-coe-name{color:var(--text);padding-right:22px;font-size:16px;font-weight:700}.pdm-coe-reg{color:var(--muted);margin:2px 0 8px;font-size:12px}.pdm-coe-prog-track{background:#e5e7eb;border-radius:3px;height:6px;margin-bottom:6px;overflow:hidden}.pdm-coe-prog-fill{border-radius:3px;height:100%}.pdm-coe-count-banner{color:#1565c0;text-align:center;background:#e3f2fd;border:1px solid #90caf9;border-radius:8px;margin-bottom:16px;padding:8px;font-size:11px;font-weight:700}.pdm-panels{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;display:grid}@media (width<=1200px){.pdm-panels{grid-template-columns:repeat(2,1fr)}}@media (width<=700px){.pdm-panels{grid-template-columns:1fr}}.pdm-panels.fin-row{grid-template-columns:1fr}.pdm-panels.pdm-panels-2hr{grid-template-columns:repeat(2,1fr)}@media (width<=900px){.pdm-panels.pdm-panels-2hr{grid-template-columns:1fr}}.pdm-panels.pdm-panels-3hr{grid-template-columns:repeat(3,1fr)}@media (width<=1100px){.pdm-panels.pdm-panels-3hr{grid-template-columns:repeat(2,1fr)}}.pdm-panels.pdm-panels-4hr{grid-template-columns:repeat(4,1fr)}@media (width<=1200px){.pdm-panels.pdm-panels-4hr{grid-template-columns:repeat(2,1fr)}}.pdm-panel.pdm-panel-hr .pdm-hr-stat{grid-template-columns:1fr 1fr;gap:6px;margin-top:8px;display:grid}.pdm-hr-chip{text-align:center;background:#f8fafc;border:1px solid #e5e7eb;border-radius:6px;padding:8px}.pdm-hr-chip .n{color:var(--text);font-size:16px;font-weight:800}.pdm-hr-chip .l{color:var(--muted);margin-top:2px;font-size:9px}.pdm-c3-exp-layout{grid-template-columns:1fr minmax(220px,300px);align-items:start;gap:20px;display:grid}@media (width<=900px){.pdm-c3-exp-layout{grid-template-columns:1fr}}.pdm-c3-exp-hbars{min-height:300px;height:auto!important}.pdm-c3-exp-side{flex-direction:column;gap:14px;display:flex}.pdm-c3-util-summary{border:1.5px solid var(--border);text-align:center;background:#f8fafc;border-radius:10px;padding:14px}.pdm-c3-util-ring{width:140px;height:140px;margin:0 auto 12px;position:relative}.pdm-c3-util-ring canvas{width:140px!important;height:140px!important}.pdm-c3-util-pct{color:var(--text);pointer-events:none;justify-content:center;align-items:center;font-size:22px;font-weight:800;display:flex;position:absolute;inset:0}.pdm-c3-util-lines{text-align:left;font-size:12px;line-height:1.7}.pdm-c3-util-lines>div{border-bottom:1px solid #eef2f6;justify-content:space-between;gap:10px;padding:4px 0;display:flex}.pdm-c3-util-lines .k{color:var(--muted);font-weight:600}.pdm-c3-util-lines .v{color:var(--text);font-weight:800}.pdm-c3-exp-legend{border:1.5px solid var(--border);background:#fff;border-radius:10px;max-height:220px;padding:10px 12px;overflow-y:auto}.pdm-c3-exp-leg-row{border-bottom:1px solid #f3f4f6;grid-template-columns:8px 1fr auto;align-items:center;gap:8px;padding:6px 0;font-size:11px;display:grid}.pdm-c3-exp-leg-row:last-child{border-bottom:none}.pdm-c3-exp-leg-row .dot{border-radius:50%;width:8px;height:8px}.pdm-c3-exp-leg-row .name{color:var(--text);font-weight:600}.pdm-c3-exp-leg-row .pct{color:var(--hdr);font-weight:800}.pdm-type-pass-bars{margin-top:10px}.pdm-chart-note{color:#e65100;text-align:center;margin-top:6px;font-size:10px;font-weight:600}.pdm-q4-legend{color:var(--muted);justify-content:center;gap:12px;margin-top:6px;font-size:10px;display:flex}.pdm-q4-legend i{vertical-align:middle;background:#9ca3af59;border-radius:2px;width:12px;height:8px;margin-right:4px;display:inline-block}.pdm-gantt-group-hd{color:var(--hdr);margin:10px 0 4px;padding-left:2px;font-size:10px;font-weight:800}.pdm-panel{border:1.5px solid var(--border);background:#fff;border-radius:10px;min-height:200px;padding:14px}#mod-dashboard.pdm-role-active .chartjs-tooltip{pointer-events:none;z-index:100001!important}#pdm-hover-tip{z-index:100002;color:#f3f4f6;pointer-events:none;opacity:0;background:#1a1a2ef7;border:1px solid #ffffff1f;border-radius:10px;max-width:320px;padding:10px 14px;font-size:12px;line-height:1.55;transition:opacity .12s,transform .12s;position:fixed;transform:translateY(4px);box-shadow:0 8px 28px #00000047}#pdm-hover-tip.show{opacity:1;transform:translateY(0)}#pdm-hover-tip strong{color:#fff;font-weight:700}.pdm-has-tip{cursor:help}.pdm-mini-bar.pdm-has-tip:hover .pdm-mb-fill,.pdm-coe-card.pdm-has-tip:hover{filter:brightness(1.03)}.pdm-gantt .pdm-g-bar,.pdm-proportion-bar span{cursor:help}.pdm-panel-hd{color:var(--hdr);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #f3f4f6;margin-bottom:10px;padding-bottom:8px;font-size:12px;font-weight:800;line-height:1.35}.pdm-gauge-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.pdm-gauge-wrap{z-index:2;width:88px;height:88px;position:relative;overflow:visible}.pdm-gauge-wrap:hover{z-index:5}.pdm-gauge-wrap canvas{width:88px!important;height:88px!important}.pdm-gauge-pct{color:var(--text);pointer-events:none;justify-content:center;align-items:center;font-size:15px;font-weight:800;display:flex;position:absolute;inset:0}.pdm-gauge-wrap{cursor:help}.pdm-mini-bar{margin-top:10px}.pdm-mini-bar .pdm-mb-lbl{color:var(--text);justify-content:space-between;gap:8px;margin-bottom:5px;font-size:12px;font-weight:600;display:flex}.pdm-mini-bar .pdm-mb-lbl span:last-child{color:var(--muted);white-space:nowrap;font-weight:700}.pdm-mini-bar .pdm-mb-track{background:#e5e7eb;border-radius:5px;height:10px;overflow:hidden}.pdm-mini-bar .pdm-mb-fill{border-radius:3px;height:100%}.pdm-fin-kpis{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px;display:grid}.pdm-fin-kpi{text-align:center;background:#f8fafc;border-radius:8px;padding:8px}.pdm-fin-kpi .n{color:var(--text);font-size:20px;font-weight:800}.pdm-fin-kpi .l{color:var(--muted);margin-top:2px;font-size:12px}.pdm-section{border:1.5px solid var(--border);background:#fff;border-radius:10px;margin-bottom:16px;overflow:hidden}.none{display:none}.pdm-section-hd{background:var(--hdr);color:#fff;padding:10px 16px;font-size:12px;font-weight:700}.pdm-section-bd{padding:14px 16px}.pdm-charts-2{grid-template-columns:7fr 3fr;gap:14px;display:grid}.pdm-c2-visual{margin-bottom:20px}.pdm-c2-sla-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=720px){.pdm-c2-sla-grid{grid-template-columns:1fr}}.pdm-c2-sla-card{border:1px solid var(--border);background:#f8fafc;border-radius:10px;padding:14px}.pdm-c2-sla-card-hd{justify-content:space-between;align-items:center;margin-bottom:6px;font-size:14px;font-weight:700;display:flex}.pdm-c2-sla-card-hd.tevta{color:#2d6fa4}.pdm-c2-sla-card-hd.pvtc{color:#e8a020}.pdm-c2-sla-sub{color:var(--muted);font-size:12px}.pdm-c2-note{border-radius:8px;margin-top:10px;padding:10px 12px;font-size:12px;font-weight:600;line-height:1.45}.pdm-c2-note.amber{color:#92400e;background:#fef9c3;border:1px solid #fde68a}.pdm-c2-note.blue{color:#1565c0;background:#52bcf71f;border:1px solid #52bcf759}.pdm-c2-charts-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=960px){.pdm-c2-charts-grid{grid-template-columns:1fr}}.pdm-c2-chart-card{border:1.5px solid var(--border);background:#fff;border-radius:10px;min-width:0;padding:14px 16px 16px}.pdm-c2-chart-title{color:var(--text);margin-bottom:12px;font-size:13px;font-weight:700}.pdm-c2-chart-foot{color:var(--muted);margin-top:10px;font-size:10px;font-weight:600;line-height:1.5}.pdm-c2-pass-card .pdm-type-pass-bars{margin-top:4px}.pdm-c2-target-badge{color:#047857;background:#32c1a41f;border-radius:999px;margin-top:14px;padding:6px 12px;font-size:11px;font-weight:700;display:inline-block}.pdm-c2-summary{color:#1565c0;text-align:center;background:#52bcf71f;border-radius:8px;margin-top:12px;padding:10px 14px;font-size:11px;font-weight:600}@media (width<=960px){.pdm-charts-2{grid-template-columns:1fr}}.pdm-canvas-box{height:300px;min-height:220px;position:relative}.pdm-canvas-box.sm{height:230px;min-height:200px}.pdm-canvas-box.xs{height:180px;min-height:160px}.pdm-stacked-legend{color:var(--muted);flex-wrap:wrap;gap:12px;margin-top:8px;font-size:10px;display:flex}.pdm-stacked-legend i{vertical-align:middle;border-radius:2px;width:10px;height:10px;margin-right:4px;display:inline-block}.pdm-bullet-row{margin-bottom:10px}.pdm-bullet-lbl{justify-content:space-between;margin-bottom:5px;font-size:12px;font-weight:600;display:flex}.pdm-bullet-track{background:#e5e7eb;border-radius:4px;height:16px;position:relative;overflow:visible}.pdm-bullet-fill{border-radius:4px;max-width:100%;height:100%}.pdm-bullet-target{z-index:2;background:#dc2626;width:2px;position:absolute;top:-3px;bottom:-3px}.pdm-gantt-wrap{overflow-x:auto}.pdm-gantt{min-width:640px;font-size:10px}.pdm-gantt .pdm-g-row{grid-template-columns:140px 1fr;align-items:center;gap:8px;margin-bottom:6px;display:grid}.pdm-gantt .pdm-g-lbl{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.pdm-gantt .pdm-g-track{background:#f3f4f6;border-radius:4px;height:20px;position:relative}.pdm-gantt .pdm-g-bar{border-radius:3px;min-width:4px;height:14px;position:absolute;top:2px}.pdm-gantt .pdm-g-today{z-index:3;background:#dc2626;width:2px;position:absolute;top:0;bottom:0}.pdm-q-row{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}@media (width<=900px){.pdm-q-row{grid-template-columns:repeat(2,1fr)}}.pdm-q-card{border:1.5px solid var(--border);background:#f8fafc;border-radius:10px;padding:12px}.pdm-q-card.overspent{background:#fef2f2;border-color:#fca5a5}.pdm-q-card .pdm-q-title{color:var(--hdr);font-size:11px;font-weight:800}.pdm-q-card .pdm-q-line{color:var(--muted);margin-top:4px;font-size:10px}.pdm-proportion-bar{border-radius:6px;height:12px;margin-top:10px;display:flex;overflow:hidden}.pdm-proportion-bar span{height:100%;display:block}.pdm-tables-label{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;border-top:2px solid var(--border);margin:8px 0 12px;padding-top:8px;font-size:11px;font-weight:700}.pdm-badge-on{color:#166534;background:#dcfce7}.pdm-badge-risk{color:#92400e;background:#fef3c7}.pdm-badge-delay{color:#991b1b;background:#fee2e2}.pdm-status-pill{border-radius:20px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}#mod-dashboard.pdm-role-active #csec #dash-training-component-tabs,#mod-dashboard.pdm-role-active #csec>.mod-tabs:first-child,#mod-dashboard.pdm-role-active #csec .csec-hd .btn-visual-rep{display:none}.pdm-listing-tabs{border:1.5px solid var(--border);background:#fff;border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;padding:10px 12px;display:flex}.pdm-listing-tabs .pdm-listing-lbl{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;flex-shrink:0;margin-right:6px;font-size:10px;font-weight:800}.pdm-listing-tab{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:#f8fafc;border-radius:6px;padding:6px 12px;font-size:11px;font-weight:600;transition:all .15s}.pdm-listing-tab:hover{color:#1565c0;border-color:#90caf9}.pdm-listing-tab.on{color:#1565c0;background:#e3f2fd;border-color:#1565c0;font-weight:700}.pdm-listing-tab.sep{background:var(--border);cursor:default;pointer-events:none;border:none;width:1px;height:20px;padding:0}#mod-accounts .ph-meta{color:#6b7280;margin-top:6px;font-size:14px}#mod-accounts .ph{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}#mod-accounts .accounts-fy-panel{margin-bottom:16px}#mod-accounts .accounts-dashboard-panel{margin:0 16px 20px}#mod-accounts .accounts-dashboard-shell{padding-bottom:20px}#mod-accounts .accounts-dashboard-toolbar{border-bottom:1px solid var(--border);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:18px 24px;display:flex}#mod-accounts .accounts-dashboard-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-size:11px;font-weight:700;display:block}#mod-accounts .accounts-dashboard-fy-display{color:var(--text);letter-spacing:-.02em;font-size:18px;font-weight:800;display:block}#mod-accounts .accounts-dashboard-toolbar .accounts-fy-select{border:1.5px solid var(--border);min-width:180px;color:var(--text);background:#fff;border-radius:8px;padding:9px 14px;font-size:13px;font-weight:600}#mod-accounts .accounts-utilization-filter{border-bottom:1px solid var(--border);padding:0 24px 16px}#mod-accounts .accounts-utilization-filter-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;display:flex}#mod-accounts .accounts-utilization-filter-row select,#mod-accounts .accounts-utilization-filter-row input[type=month]{border:1.5px solid var(--border);background:#fff;border-radius:8px;padding:8px 12px;font-size:12px}#mod-accounts .accounts-utilization-filter-note{color:#6b7280;font-size:11px}#mod-accounts .accounts-hoa-tabs{margin-bottom:12px}#mod-accounts .accounts-passbook-account-stats{margin-top:8px}.training-placement-status-stats{margin-top:-8px;margin-bottom:12px}.tr-c1-target-fill{background:linear-gradient(90deg,#026cb5,#32c1a4)}#mod-accounts .accounts-funds-chart--ddo .accounts-funds-chart-total{color:#7c3aed}#mod-accounts .accounts-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:20px 24px 0;display:grid}#mod-accounts .accounts-dashboard-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}#mod-accounts .accounts-fund-card--ddo{grid-column:1/-1}@media (width<=1100px){#mod-accounts .accounts-dashboard-grid--3{grid-template-columns:1fr}#mod-accounts .accounts-fund-card--ddo{grid-column:auto}}@media (width<=960px){#mod-accounts .accounts-dashboard-grid{grid-template-columns:1fr}}#mod-accounts .accounts-fund-card{border-top:3px solid var(--ui-surface);overflow:hidden}#mod-accounts .accounts-fund-card--aaa{border-top-color:var(--c2)}#mod-accounts .accounts-fund-card--ddo{border-top-color:var(--c3)}#mod-accounts .accounts-fund-card--ddo .accounts-fund-card-badge{color:var(--c3)}#mod-accounts .accounts-delete-btn{color:#dc2626}#mod-accounts .acb-td-act{white-space:nowrap}#mod-accounts .accounts-fund-card-hd{justify-content:space-between;align-items:flex-start;gap:12px;min-height:72px;padding-bottom:0;display:flex}#mod-accounts .accounts-fund-card-sub{max-width:100%;margin:0;padding:0;line-height:1.35}#mod-accounts .accounts-fund-card-badge{background:var(--bg);border:1px solid var(--border);color:var(--ui-surface);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:6px 10px;font-size:11px;font-weight:700}#mod-accounts .accounts-fund-card--aaa .accounts-fund-card-badge{color:var(--c2)}#mod-accounts .accounts-fund-card-body{padding:0 0 4px}#mod-accounts .accounts-fund-card-title{margin-bottom:4px;font-size:20px}#mod-accounts .accounts-fund-card .accounts-funds-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:13px}#mod-accounts .accounts-fund-card .accounts-funds-col-label{width:44%}#mod-accounts .accounts-fund-card .accounts-funds-col-val{width:28%}#mod-accounts .accounts-fund-card--aaa .accounts-funds-col-label{width:34%}#mod-accounts .accounts-fund-card--aaa .accounts-funds-col-val{width:22%}#mod-accounts .accounts-fund-card .accounts-funds-table th,#mod-accounts .accounts-fund-card .accounts-funds-table td{vertical-align:middle;border-bottom:1px solid #f3f4f6;padding:12px 16px}#mod-accounts .accounts-fund-card .accounts-funds-table thead th{background:var(--ui-surface);color:var(--ui-surface-text);letter-spacing:.08em;text-transform:uppercase;text-align:center;white-space:nowrap;border-bottom:none;font-size:10px;font-weight:400}#mod-accounts .accounts-fund-card .accounts-funds-table thead .accounts-funds-row-hd{background:var(--ui-surface-hover);width:auto}#mod-accounts .accounts-fund-card .accounts-funds-table tbody th[scope=row]{text-align:left;color:var(--text);white-space:normal;background:#fafbfc;font-size:12px;font-weight:700;line-height:1.3}#mod-accounts .accounts-fund-card .accounts-funds-table tbody td{text-align:right;color:#374151;background:#fff;font-weight:600}#mod-accounts .accounts-fund-card .accounts-funds-table tbody tr:last-child th,#mod-accounts .accounts-fund-card .accounts-funds-table tbody tr:last-child td{border-bottom:none}#mod-accounts .accounts-funds-na{color:var(--muted)!important;font-weight:500!important}#mod-accounts .accounts-funds-un{color:var(--c2)!important}#mod-accounts .accounts-fy-empty{text-align:center;padding:36px 24px 28px}#mod-accounts .accounts-fy-empty p{color:var(--muted);margin:0;font-size:14px;line-height:1.5}#mod-accounts .accounts-cashbook-cta{border:1px solid var(--border);cursor:pointer;text-align:left;background:#fff;border-radius:10px;align-items:center;gap:14px;width:calc(100% - 48px);margin:16px 24px 0;padding:14px 16px;transition:border-color .15s,box-shadow .15s;display:flex}#mod-accounts .accounts-cashbook-cta:hover{border-color:var(--ui-surface);box-shadow:0 2px 10px #026cb51a}#mod-accounts .accounts-cashbook-cta-icon{background:var(--ui-surface);border-radius:8px;flex-shrink:0;width:40px;height:40px;position:relative}#mod-accounts .accounts-cashbook-cta-icon:before{content:"";border:2px solid var(--ui-surface-text);border-radius:3px;position:absolute;inset:10px 11px 10px 9px}#mod-accounts .accounts-cashbook-cta-icon:after{content:"";background:var(--ui-surface-text);border-radius:1px;width:2px;height:20px;position:absolute;top:10px;left:13px}#mod-accounts .accounts-cashbook-cta-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}#mod-accounts .accounts-cashbook-cta-copy strong{color:var(--text);font-size:14px;font-weight:800}#mod-accounts .accounts-cashbook-cta-copy span{color:var(--muted);font-size:12px;line-height:1.35}#mod-accounts .accounts-cashbook-cta-arrow{color:var(--ui-surface);font-size:18px;font-weight:700}#mod-accounts .accounts-fy-filter{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;align-items:center;margin:0 16px 14px;padding:12px 16px}#mod-accounts .accounts-fy-label{color:#374151;white-space:nowrap;font-size:13px;font-weight:700}#mod-accounts .accounts-fy-select{border:1.5px solid var(--border);min-width:180px;max-width:280px;color:var(--text);background:#fff;border-radius:8px;padding:9px 14px;font-size:13px;font-weight:600}#mod-accounts .accounts-fy-hint{margin:0 16px 16px;padding:20px 24px}#mod-accounts .accounts-fy-tabs{flex-wrap:wrap;gap:10px;padding:0 24px 20px;display:flex}#mod-accounts .accounts-fy-tabs .mod-tab{text-align:center;min-width:120px}#mod-accounts .accounts-summary-card{margin-bottom:14px}#mod-accounts .accounts-card-fy{color:var(--ui-surface);font-size:12px;font-weight:700}#mod-accounts .accounts-funds-table-wrap{padding:0 24px 16px}#mod-accounts .accounts-funds-table{border-collapse:collapse;width:100%;max-width:640px;font-size:13px}#mod-accounts .accounts-funds-table th,#mod-accounts .accounts-funds-table td{border:1px solid #e5e7eb;padding:10px 14px}#mod-accounts .accounts-funds-table thead th{text-transform:uppercase;letter-spacing:.4px;color:#64748b;text-align:center;background:#f8fafc;font-size:11px;font-weight:800}#mod-accounts .accounts-funds-table tbody th{text-align:left;color:#374151;background:#fafbfc;width:180px;font-weight:700}#mod-accounts .accounts-card-foot{color:#9ca3af;padding:0 24px 16px;font-size:11px}#mod-accounts .accounts-cashbook-tabs{margin-bottom:12px}#mod-accounts .accounts-cashbook-wrap{-webkit-overflow-scrolling:touch;max-height:min(560px,100vh - 280px);overflow:auto}#mod-accounts .accounts-cashbook-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:1480px;min-width:1480px}#mod-accounts .accounts-cashbook-table col.acb-date{width:96px}#mod-accounts .accounts-cashbook-table col.acb-chq{width:92px}#mod-accounts .accounts-cashbook-table col.acb-part{width:240px}#mod-accounts .accounts-cashbook-table col.acb-amt{width:118px}#mod-accounts .accounts-cashbook-table col.acb-rate{width:88px}#mod-accounts .accounts-cashbook-table col.acb-hoa{width:220px}#mod-accounts .accounts-cashbook-table col.acb-act{width:76px}#mod-accounts .accounts-cashbook-table thead th.acb-th{z-index:3;letter-spacing:.04em;text-transform:uppercase;white-space:normal;text-overflow:unset;vertical-align:bottom;border-right:1px solid #ffffff2e;font-size:10px;font-weight:700;line-height:1.3;position:sticky;top:0;overflow:visible;background:var(--ui-surface)!important;color:#fff!important;text-align:left!important;padding:10px 8px!important}#mod-accounts .accounts-cashbook-table thead th.acb-th.acb-th-num{text-align:right!important}#mod-accounts .accounts-cashbook-table thead th.acb-th.acb-th-act{text-align:center!important}#mod-accounts .accounts-cashbook-table tbody td.acb-td{vertical-align:middle;font-size:11px;line-height:1.35;padding:10px 8px!important}#mod-accounts .accounts-cashbook-table tbody td.acb-td-num{white-space:nowrap;text-align:right!important}#mod-accounts .accounts-cashbook-table tbody td.acb-td-act{white-space:nowrap;text-align:center!important}#mod-accounts .accounts-cashbook-table tbody td.acb-td-part{word-break:break-word}#mod-accounts .accounts-hoa-cell{min-width:220px;max-width:220px;padding:8px 6px!important}#mod-accounts .accounts-hoa-select{background:#fff;border:1.5px solid #e5e7eb;border-radius:6px;outline:none;width:100%;min-width:0;max-width:100%;padding:6px 8px;font-family:Inter,sans-serif;font-size:10px}#mod-accounts .accounts-hoa-wrap{max-height:min(560px,100vh - 280px);overflow:auto}#mod-accounts .accounts-hoa-table{table-layout:auto;width:max-content;min-width:100%}#mod-accounts .accounts-hoa-table thead th.accounts-hoa-th{white-space:normal;text-align:center;vertical-align:bottom;min-width:88px;padding:10px 8px;font-size:9px;line-height:1.25}#mod-accounts .accounts-hoa-table thead th.accounts-hoa-th:first-child,#mod-accounts .accounts-hoa-table thead th.accounts-hoa-th:nth-child(2){text-align:left;min-width:120px}#mod-accounts .accounts-hoa-table thead th.accounts-hoa-th:nth-child(2){min-width:200px}#mod-accounts .accounts-hoa-table thead th.accounts-hoa-th-act{text-align:center;min-width:200px}#mod-accounts .accounts-recon-hint{color:#9ca3af;align-self:center;font-size:11px}#mod-accounts .accounts-fs-header-row td{background:#f8fafc;font-weight:800}#mod-accounts .accounts-section-stats{margin:0;padding:0 12px 12px}#mod-accounts .accounts-toolbar{padding:0}#mod-accounts .accounts-mod-count{margin-bottom:10px}#mod-accounts .accounts-empty-cell{text-align:center;padding:24px!important}#mod-accounts .accounts-empty-note{padding-bottom:20px}#mod-accounts .accounts-summary-card .csec-hd{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}#mod-accounts .accounts-action-cell{white-space:nowrap}#mod-accounts .accounts-particulars-table thead th.accounts-hoa-th:first-child{width:72px}#mod-accounts .accounts-particulars-table thead th.accounts-hoa-th:nth-child(2){width:auto}#mod-accounts .accounts-hoa-select:focus{border-color:var(--ui-surface)}#mod-accounts .accounts-sub-row td{background:#fafbfc}#mod-accounts .accounts-recon-panel{margin-bottom:14px}#mod-accounts .accounts-recon-input{gap:10px;max-width:720px;padding:0 24px 16px;display:grid}#mod-accounts .accounts-recon-input .fg2 textarea{resize:vertical;min-height:88px}#mod-accounts .accounts-recon-grid{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:8px;display:grid}@media (width<=900px){#mod-accounts .accounts-recon-grid{grid-template-columns:1fr}}#mod-accounts .accounts-recon-table{max-height:320px}#mod-accounts .accounts-mismatch-row{background:#fef2f2!important}#mod-accounts .accounts-mismatch-row td{color:#991b1b}#mod-accounts .accounts-detail-grid{gap:10px;margin-bottom:4px;display:grid}#mod-accounts .accounts-detail-row{border-bottom:1px solid #f1f5f9;grid-template-columns:150px 1fr;gap:10px;padding-bottom:8px;font-size:13px;display:grid}#mod-accounts .accounts-detail-label{color:#6b7280;font-weight:700}#mod-accounts .accounts-detail-val{word-break:break-word;color:#111827}#mod-accounts .cb-journal{gap:18px;display:grid}#mod-accounts .cb-journal-meta{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;align-items:stretch;display:flex;overflow:hidden}#mod-accounts .cb-journal-meta-cell{flex:1;min-width:0;padding:14px 18px}#mod-accounts .cb-journal-meta-div{background:#e5e7eb;flex-shrink:0;width:1px}#mod-accounts .cb-journal-meta-lbl{color:#6b7280;margin-bottom:6px;font-size:11px;font-weight:600;display:block}#mod-accounts .cb-journal-meta-val{color:#111827;word-break:break-word;font-size:14px;font-weight:600}#mod-accounts .cb-journal-split{border:1px solid #e5e7eb;border-radius:10px;align-items:stretch;display:flex;overflow:hidden}#mod-accounts .cb-journal-panel{flex:1;min-width:0;padding:18px 20px}#mod-accounts .cb-journal-vrule{background:#e5e7eb;flex-shrink:0;width:1px}#mod-accounts .cb-journal-sec-title{color:#111827;margin:0 0 14px;font-size:14px;font-weight:700}#mod-accounts .cb-journal-field{margin-bottom:12px}#mod-accounts .cb-journal-field:last-child{margin-bottom:0}#mod-accounts .cb-journal-field--block .cb-journal-lbl{margin-bottom:8px}#mod-accounts .cb-journal-lbl{color:#6b7280;margin-bottom:4px;font-size:11px;font-weight:600;display:block}#mod-accounts .cb-journal-val{color:#111827;word-break:break-word;font-size:13px;font-weight:500}#mod-accounts .cb-journal-docs{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:18px 20px}#mod-accounts .cb-journal-narration{color:#111827;white-space:pre-wrap;word-break:break-word;background:#fafbfc;border:1px solid #e5e7eb;border-radius:8px;min-height:88px;padding:12px 14px;font-size:13px;line-height:1.55}#mod-accounts .cb-journal-signoff{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:18px 20px}#mod-accounts .cb-journal-signoff-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}#mod-accounts .cb-journal-sign-cell{min-width:0}#mod-accounts .cb-journal-sign-line{border-bottom:1px solid #9ca3af;min-height:1px;margin-top:28px;display:block}#mod-accounts .cb-journal-footer{gap:8px}@media (width<=760px){#mod-accounts .cb-journal-meta{flex-direction:column}#mod-accounts .cb-journal-meta-div{width:100%;height:1px}#mod-accounts .cb-journal-split{flex-direction:column}#mod-accounts .cb-journal-vrule{width:100%;height:1px}#mod-accounts .cb-journal-signoff-grid{grid-template-columns:1fr}}@media (width<=480px){#mod-accounts .cb-journal-signoff-grid{grid-template-columns:1fr}}#mod-accounts .de-form-grid{gap:12px;margin-bottom:4px;display:grid}.coe-site-bars-section{margin:0 0 20px}.coe-site-bars-grid{grid-template-columns:1fr 1fr;gap:16px;padding:16px 20px 20px;display:grid}.coe-site-bar-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;min-width:0;padding:14px 16px}.coe-site-bar-title{color:#1a1a2e;margin-bottom:4px;font-size:12px;font-weight:700}.coe-site-bar-avg{color:#6b7280;margin-bottom:8px;font-size:10px}.coe-site-bar-canvas{height:420px}@media (width<=1100px){.coe-site-bars-grid{grid-template-columns:1fr}}.coe-civil-work-section{margin:0 0 20px}.coe-civil-work-panel{max-width:420px}#mod-coes .coe-civil-work-section .coe-civil-work-panel{margin:0 auto}.coe-cwg-gauge-row{margin-bottom:4px}.coe-cwg-gauge-item{flex-direction:column;align-items:center;gap:4px;display:flex}.coe-cwg-gauge-lbl{text-align:center;color:#9ca3af;text-transform:capitalize;font-size:8px}.coe-charts-row--single{grid-template-columns:1fr}#mod-accounts .accounts-funds-charts-row,#pdm-accounts-section .accounts-funds-charts-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 24px 0;display:grid}@media (width<=900px){#mod-accounts .accounts-funds-charts-row,#pdm-accounts-section .accounts-funds-charts-row{grid-template-columns:1fr}}#mod-accounts .accounts-funds-chart,#pdm-accounts-section .accounts-funds-chart{border:1px solid #e5e7eb;border-top:3px solid var(--ui-surface);background:#fff;border-radius:12px;padding:16px 20px}#mod-accounts .accounts-funds-chart--aaa,#pdm-accounts-section .accounts-funds-chart--aaa{border-top-color:var(--c2)}#mod-accounts .accounts-funds-chart-hd,#pdm-accounts-section .accounts-funds-chart-hd{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}#mod-accounts .accounts-funds-chart-sub,#pdm-accounts-section .accounts-funds-chart-sub{color:#6b7280;margin:4px 0 0;font-size:11px;line-height:1.35}#mod-accounts .accounts-funds-chart-total,#pdm-accounts-section .accounts-funds-chart-total{color:#6b7280;flex-shrink:0;font-size:12px;font-weight:700}#mod-accounts .accounts-funds-chart-canvas,#pdm-accounts-section .accounts-funds-chart-canvas{max-width:100%;height:220px;margin:0 auto}.cm-bg-expiry-hint{margin-top:4px;font-size:11px;font-weight:600;display:block}.cm-bg-expiry-hint--expiring{color:#d97706}.cm-bg-expiry-hint--expired{color:#dc2626}.tr-target-progress{min-width:96px}.tr-target-progress-label{color:#6b7280;margin-bottom:4px;font-size:10px;display:block}.tr-c2-target-inline{margin-top:10px}.tr-c2-target-bar--inline{background:#e5e7eb;border-radius:999px;height:8px;overflow:hidden}.tr-c2-target-bar-fill{background:linear-gradient(90deg,#2563eb,#059669);border-radius:999px;height:100%}.tr-c2-division-inst-summary{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.training-c1-kpi-grid .kcard.kc8 .ksub{white-space:normal;font-size:11px;line-height:1.45}.tr-placement-status-summary{margin:0 0 12px;padding:0 4px}.tr-c2-inst-chip{background:#f8fafc;border:1px solid #e5e7eb;border-radius:999px;padding:4px 10px;font-size:11px}
