@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/noto-sans-thai-thai.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/noto-sans-thai-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/noto-sans-thai-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--flat-primary:#155eef;--flat-primary-hover:#004eeb;--flat-primary-soft:#eef4ff;--flat-bg:#f4f7fb;--flat-surface:#fff;--flat-surface-muted:#f9fafb;--flat-border:#d0d5dd;--flat-border-soft:#e4e7ec;--flat-text:#101828;--flat-text-muted:#667085;--flat-success:#16a34a;--flat-warning:#f59e0b;--flat-danger:#dc2626;--flat-cyan:#00a3a3;letter-spacing:0;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Noto Sans Thai,Kanit,Prompt,system-ui,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5}body,body *,button,input,textarea,select,.ant-app,.ant-app *,.ant-modal-root,.ant-modal-root *,.ant-message,.ant-message *,.ant-notification,.ant-notification *,.ant-dropdown,.ant-dropdown *,.ant-tooltip,.ant-tooltip *,.ant-picker-dropdown,.ant-picker-dropdown *,.ant-select-dropdown,.ant-select-dropdown *,.ant-upload,.ant-upload *,.ant-pagination,.ant-pagination *,.ant-float-btn,.ant-float-btn *{font-family:Noto Sans Thai,Kanit,Prompt,system-ui,Segoe UI,Roboto,sans-serif}.ant-typography,.ant-form-item-label>label,.ant-card-head-title,.ant-drawer-title,.ant-descriptions-item-label,.ant-descriptions-item-content,.ant-form-item-explain,.ant-checkbox-wrapper{line-height:1.5}.ant-form-item-label>label,.ant-card-head-title{white-space:normal;overflow-wrap:anywhere;min-width:0;height:auto}.ant-btn{justify-content:center;align-items:center}.ant-btn>span:not(.anticon){text-overflow:ellipsis;min-width:0;overflow:hidden}.ant-checkbox-wrapper{align-items:flex-start}.ant-checkbox+span,.ant-form-item-explain{overflow-wrap:anywhere;min-width:0}.ant-tag{max-width:100%;line-height:1.45}.thai-date-picker-popup .ant-picker-header-view{font-weight:600}.thai-date-picker-popup .ant-picker-content th{color:#595959;font-weight:600}.thai-date-picker-popup .ant-picker-cell-inner{font-variant-numeric:tabular-nums}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--flat-bg);color:var(--flat-text);margin:0}#root{width:100%;min-height:100svh}.ant-layout{background:var(--flat-bg)}.ant-card{border-color:var(--flat-border-soft);box-shadow:none!important}.ant-card-hoverable{transition:border-color .16s,transform .16s}.ant-card-hoverable:hover{border-color:var(--flat-primary);transform:translateY(-1px)}.ant-btn,.ant-input,.ant-input-number,.ant-picker,.ant-select-selector,.ant-segmented,.ant-upload-list-item{box-shadow:none!important}.ant-btn-primary:not(:disabled){background:var(--flat-primary);border-color:var(--flat-primary)}.ant-btn-primary:not(:disabled):hover{background:var(--flat-primary-hover);border-color:var(--flat-primary-hover)}.ant-input,.ant-input-number,.ant-picker,.ant-select-selector,.ant-input-affix-wrapper{border-color:var(--flat-border)}.ant-input:hover,.ant-input-number:hover,.ant-picker:hover,.ant-select-selector:hover,.ant-input-affix-wrapper:hover{border-color:var(--flat-primary)}.ant-segmented{background:var(--flat-surface-muted);border:1px solid var(--flat-border-soft)}.ant-segmented-item-selected{color:var(--flat-primary);font-weight:600}.ant-tag{font-weight:600}.ant-progress-line{line-height:1}.ant-progress-bg,.ant-progress-inner{border-radius:4px!important}.ant-empty-normal{margin-block:24px}.dashboard-workflow-table{border:1px solid var(--flat-border-soft);background:#fff;border-radius:6px;overflow:hidden}.dashboard-workflow-table .ant-table{background:#fff}.dashboard-workflow-table .ant-table-thead>tr>th{color:#475467;background:#f9fafb;font-size:12px;font-weight:700}.dashboard-workflow-table .ant-table-tbody>tr>td{border-bottom-color:var(--flat-border-soft)}.dashboard-workflow-table .ant-table-tbody>tr.ant-table-row{cursor:pointer}.dashboard-workflow-table .ant-table-tbody>tr.ant-table-row:hover>td{background:#f5f8ff}.dashboard-workflow-table .ant-table-cell{vertical-align:middle}.dashboard-workflow-table .ant-table-pagination{margin:12px}.dashboard-topbar{gap:10px;margin-bottom:12px;display:grid}.dashboard-topbar-title{min-width:0}.dashboard-toolbar{grid-template-columns:minmax(360px,1fr) auto;align-items:center;gap:8px;min-width:0;display:grid}.dashboard-search{width:100%;min-width:0}.dashboard-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;min-width:0;display:flex}.dashboard-stage-filter.ant-btn{min-width:0;max-width:220px}.dashboard-preset-toggle.ant-segmented,.dashboard-density-toggle.ant-segmented{max-width:100%}.dashboard-preset-toggle .ant-segmented-item,.dashboard-density-toggle .ant-segmented-item{min-width:0}.dashboard-create-button.ant-btn{flex:none}.dashboard-quick-strip{gap:8px;margin-bottom:12px;display:grid}.dashboard-quick-group{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.dashboard-quick-label{flex:none;font-size:12px;font-weight:700}.dashboard-quick-group .ant-space{min-width:0}.dashboard-quick-group .ant-btn{max-width:min(260px,100%)}.dashboard-stat-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:8px;display:grid}.dashboard-stat-pill{--stat-color:var(--flat-primary);border:1px solid var(--flat-border-soft);border-left:3px solid var(--stat-color);background:#fff;border-radius:6px;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:7px;min-width:0;min-height:34px;padding:5px 9px;display:grid}.dashboard-stat-dot{background:var(--stat-color);border-radius:999px;width:7px;height:7px}.dashboard-stat-label{color:#475467;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-weight:600;line-height:1.2;overflow:hidden}.dashboard-stat-value{color:var(--stat-color);font-variant-numeric:tabular-nums;text-align:right;font-size:17px;line-height:1}.contact-channel-selector{gap:8px;display:grid}.contact-channel-reveal.ant-btn{text-align:left;border-color:#d0d5dd;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;height:auto;min-height:44px;padding:7px 10px;display:grid}.contact-channel-reveal-icons{grid-template-columns:repeat(4,24px);gap:4px;display:inline-grid}.contact-channel-reveal-icons>span{width:24px;height:24px;color:var(--channel-color);background:var(--channel-soft);opacity:.45;border-radius:6px;place-items:center;font-size:13px;display:grid}.contact-channel-reveal-icons>span.is-filled{opacity:1;color:#fff;background:var(--channel-color)}.contact-channel-reveal-copy{gap:1px;min-width:0;display:grid}.contact-channel-reveal-copy>span:first-child{color:#101828;font-weight:700;line-height:1.2}.contact-channel-reveal-copy>span:last-child{color:#667085;font-size:11px;line-height:1.2}.contact-channel-grid{align-items:start;gap:8px}.contact-channel-card{border:1px solid var(--flat-border-soft);background:#fff;border-radius:6px;min-width:0;padding:8px;transition:border-color .2s,background-color .2s;overflow:hidden}.contact-channel-card.is-checked{border-color:var(--channel-color);background:var(--channel-soft)}.contact-channel-card.has-error{background:snow;border-color:#ff4d4f}.contact-channel-heading{grid-template-columns:24px minmax(0,1fr);align-items:center;gap:6px;margin-bottom:6px;display:grid}.contact-channel-icon{width:24px;height:24px;color:var(--channel-color);background:var(--channel-soft);border-radius:6px;place-items:center;font-size:13px;display:grid}.contact-channel-card.is-checked .contact-channel-icon{color:#fff;background:var(--channel-color)}.contact-channel-copy{min-width:0}.contact-channel-label{color:#101828;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-weight:700;line-height:1.25;overflow:hidden}.contact-channel-card .ant-input-affix-wrapper,.contact-channel-card .ant-input{font-size:12px}.contact-channel-card .ant-input-show-count-suffix{font-size:10px}.contact-channel-error{color:#cf1322;overflow-wrap:anywhere;margin-top:4px;font-size:11px;line-height:1.35}.coordinator-card{background:#fcfcfd;border:1px solid #e4e7ec;border-radius:8px;padding:10px}@media (width<=575px){.contact-channel-reveal.ant-btn{grid-template-columns:minmax(0,1fr) auto}.contact-channel-reveal-icons{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}.contact-channel-reveal-icons>span{width:100%}}.stage-form{max-width:100%}.stage-form .ant-form-item{margin-bottom:14px}.stage-form .ant-form-item-label{padding-bottom:4px}.stage-form .ant-form-item-label>label{color:#344054;font-weight:600}.stage-section-heading{margin:0 0 10px}.stage-section-heading+.ant-row{margin-top:0}.stage-section-title.ant-typography{color:#101828;margin:0}.stage-section-desc{margin-top:2px;font-size:12px;line-height:1.45;display:block}.stage-stat-grid{gap:8px;margin-bottom:14px;display:grid}.stage-stat-card{border-radius:6px;min-width:0;padding:9px 10px}.stage-stat-label{font-size:12px;line-height:1.35;display:block}.stage-stat-value{font-size:18px;line-height:1.3;display:block}.stage-task-card.ant-card{margin-bottom:12px}.stage-task-card .ant-card-body{padding:12px}.stage-row-action{align-items:flex-end;display:flex}.stage-submit-item.ant-form-item{margin:2px 0 0}.stage-submit-item .ant-form-item-control-input-content{justify-content:flex-end;display:flex}.stage-error-summary.ant-alert{border-radius:6px;margin-bottom:12px}.stage-error-link.ant-btn{text-align:left;white-space:normal;height:auto;min-height:24px;padding:0}.stage-error-link>span{display:inline}.stage-file-panel{border:1px solid var(--flat-border-soft);background:#fff;border-radius:6px;padding:10px}.stage-file-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.stage-file-title{flex:220px;min-width:0}.stage-file-mode-toggle.ant-segmented{max-width:100%}.stage-file-mode-toggle .ant-segmented-group{width:100%}.stage-file-mode-toggle .ant-segmented-item{min-width:0}.stage-link-row{align-items:start;gap:8px;width:100%;display:grid}.mobile-workflow-action-bar{z-index:20;padding:10px 10px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--flat-border-soft);background:#fffffffa;grid-template-columns:minmax(0,.9fr) minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-workflow-action-bar .ant-badge,.mobile-workflow-action-bar .ant-btn{width:100%}@media (width<=767px){.dashboard-topbar{gap:8px}.dashboard-toolbar{grid-template-columns:minmax(0,1fr)}.dashboard-toolbar-actions{grid-template-columns:minmax(0,1fr) auto;justify-content:stretch;gap:8px;display:grid}.dashboard-stage-filter.ant-btn,.dashboard-create-button.ant-btn{width:100%}.dashboard-preset-toggle.ant-segmented{grid-column:1/-1;width:100%}.dashboard-preset-toggle .ant-segmented-group{grid-template-columns:repeat(4,minmax(0,1fr));width:100%;display:grid}.dashboard-preset-toggle .ant-segmented-item-label{text-overflow:ellipsis;min-width:0;padding-inline:6px;overflow:hidden}.dashboard-stat-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.dashboard-stat-pill{min-height:32px;padding:5px 8px}.dashboard-stat-label{font-size:11px}.dashboard-stat-value{font-size:16px}.stage-form .ant-form-item{margin-bottom:12px}.stage-section-heading{margin-bottom:8px}.stage-stat-grid{gap:8px;margin-bottom:12px}.stage-stat-card{padding:8px 10px}.stage-stat-label{font-size:11px;line-height:1.3}.stage-stat-value{font-size:16px}.stage-submit-item .ant-form-item-control-input-content{display:block}.stage-row-action{align-items:stretch}.stage-file-header{gap:8px}.stage-file-mode-toggle.ant-segmented{width:100%}}@media (width<=1180px) and (width>=768px){.dashboard-toolbar{grid-template-columns:minmax(360px,1fr)}.dashboard-toolbar-actions{justify-content:flex-start}}
