:root{font-family:Arial,sans-serif;font-size:16px;color:#203846;background:#eef3f7;color-scheme:light;--blue:#1f5977;--line:#d4dfe7;--muted:#617482}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #b9cbd7;background:#fff;color:#23465d;border-radius:6px;padding:9px 13px;font-size:.875rem;min-height:36px}button:hover{background:#eaf2f7}button:disabled{opacity:.45;cursor:default}.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.primary:hover{background:#16465f}.danger{color:#9e2020;border-color:#d59d9d}input,select{border:1px solid #bbcbd5;background:#fff;border-radius:6px;padding:8px 10px;color:#203846;min-width:0;width:100%;min-height:36px;font-size:.875rem}label{display:grid;gap:5px;font-size:.875rem}input[type=checkbox]{width:17px;height:17px;min-height:0;accent-color:var(--blue)}input[type=file]{padding:7px}h1,h2,h3,p{margin:0}h1{font-size:1.2rem}h2{font-size:1.15rem}h3{font-size:1rem;margin:14px 0 8px}p{line-height:1.5}header{height:64px;padding:12px 24px;display:flex;justify-content:space-between;align-items:center;gap:12px;background:#183f57;color:#fff}.brand,.header-actions,.inline{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.brand-mark{display:inline-grid;place-items:center;width:32px;height:32px;background:#f1c768;color:#1d4055;border-radius:6px;font-weight:bold}.ptd-mark{width:42px;letter-spacing:.02em;font-size:.86rem}.brand-copy{display:grid;gap:1px;min-width:0}.brand-copy strong{white-space:nowrap}.brand-copy small{font-size:.66rem;letter-spacing:.08em;color:#d8e5ec;font-weight:600}.owner-line{margin:-10px 0 0!important;text-transform:uppercase;letter-spacing:.11em;font-size:.72rem!important;color:#6c7f8b!important;font-weight:700}.header-actions span{font-size:.875rem}header button{background:#244d65;border-color:#47667b;color:#fff}.brand strong{font-size:.9rem;letter-spacing:.04em}main{max-width:1440px;margin:auto;padding:16px 24px}.project-line{display:flex;align-items:end;gap:10px}.project-line label{flex:1}.project-line select{font-weight:bold}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:14px 0 10px}.section-heading span,.muted,#selection{color:var(--muted);font-size:.875rem}.stages{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stages button{display:flex;align-items:center;gap:10px;text-align:left;padding:10px 14px;background:#fff}.stages span{color:#70899b;font-size:.8rem}.stages button[aria-pressed=true]{background:#dcecf6;border:2px solid var(--blue);padding:9px 13px;color:#123f5c}.filters{display:grid;grid-template-columns:minmax(220px,1fr) 180px 180px;gap:12px;margin:12px 0}.table-wrap{border:1px solid var(--line);border-radius:8px;background:#fff;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.875rem}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid #e3eaf0;vertical-align:middle}th{background:#edf4f8;color:#496477;font-weight:normal}tr:last-child td{border-bottom:0}.check{width:52px}.name{width:38%}.record-link{background:none;border:none;padding:0;text-align:left;font-size:.875rem;color:#1b567c;min-height:0;font-weight:bold;line-height:1.35}.record-link:hover{text-decoration:underline;background:none}.record-sub{display:block;font-size:.75rem;color:#6a7e8d;margin-top:4px}.empty{text-align:center;padding:40px 12px;color:#62788a}footer{display:flex;justify-content:space-between;gap:12px;margin-top:12px;align-items:center}#toast{max-width:1392px;margin:0 auto;padding:8px 24px;font-size:.875rem;color:#285a40;min-height:34px}#toast.error{color:#a72e26}dialog{border:1px solid #c8d6df;border-radius:10px;padding:0;width:min(900px,94vw);max-height:94vh;box-shadow:0 18px 90px #16394d44;color:#203846}dialog::backdrop{background:#112c4960}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:1}#modal-body{padding:16px 18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.full{grid-column:1/-1}.actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:14px}.warning{background:#fff4da;color:#674b15;border:1px solid #e6ce90;padding:10px;border-radius:6px;margin-top:10px}.form-error{color:#a12727;margin:8px 0;font-size:.875rem}.meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:#f1f6f9;padding:12px;border-radius:6px}.meta span{font-size:.875rem}.meta strong{display:block;color:#67808e;font-size:.75rem;margin-bottom:4px}.file-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:.875rem}.file-row label{display:flex;align-items:center;gap:7px}.file-row span{overflow-wrap:anywhere}.login{max-width:390px;margin:9vh auto;background:white;border:1px solid var(--line);border-radius:12px;padding:28px;display:grid;gap:18px}.login-decoy{position:fixed!important;left:-10000px!important;top:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.login-secret{-webkit-text-security:disc}.login input::-webkit-contacts-auto-fill-button,.login input::-webkit-credentials-auto-fill-button{visibility:hidden;display:none!important;pointer-events:none;position:absolute;right:0}.login p{font-size:.875rem;color:#627686}.uat-banner{background:#fff0bd;color:#694c00;border:1px solid #dfc269;border-radius:6px;padding:8px 10px;font-weight:bold;text-align:center}.workspace-banner{border-radius:0;border-width:0 0 1px;padding:7px}.login h1{font-size:1.4rem}#login-error{color:#aa2e24}.badge{display:inline-block;border-radius:4px;background:#e9f1f6;padding:3px 6px;color:#355b74;font-size:.75rem}.compact-table{font-size:.8rem}.compact-table td{padding:7px}.checkbox-label{display:flex;align-items:center;gap:8px}.nowrap{white-space:nowrap}[hidden]{display:none!important}@media(min-width:900px) and (max-height:850px){header{height:52px}main{padding:10px 20px}.section-heading{margin:9px 0 7px}.filters{margin:9px 0}.stages button{padding:8px 12px}.stages button[aria-pressed=true]{padding:7px 11px}td,th{padding:7px 10px}}@media(min-width:900px) and (max-height:740px){header{height:44px;padding:6px 16px}.workspace-banner{padding:4px}main{padding:6px 16px}.section-heading{margin:5px 0 4px}.filters{margin:5px 0;gap:8px}button,input,select{min-height:32px}.stages button{padding:6px 10px}.stages button[aria-pressed=true]{padding:5px 9px}td,th{padding:5px 8px}.empty{padding:18px 10px}footer{margin-top:6px}#toast{padding:4px 16px;min-height:24px}}@media(max-width:760px){header{height:auto;align-items:flex-start;padding:12px}.brand{flex-wrap:nowrap}.header-actions{justify-content:flex-end}main{padding:12px}.project-line{flex-wrap:wrap}.project-line label{flex-basis:100%}.filters{grid-template-columns:1fr 1fr}.keyword{grid-column:1/-1}.stages{gap:5px}.stages button{padding:8px;display:block}.stages span{display:none}.form-grid,.meta{grid-template-columns:1fr}.full{grid-column:1}.name{min-width:220px}footer{flex-wrap:wrap}.login{margin:5vh 12px;max-width:none}}
.stages button{position:relative}.stages .stage-label{color:inherit;font-size:.875rem;flex:1}.stages button>strong{margin-left:auto;border-radius:999px;min-width:28px;padding:3px 7px;background:#edf3f7;text-align:center;color:#31566e;font-size:.78rem}.stages button[aria-pressed=true]>strong{background:#fff;color:#123f5c}.review-line{display:flex;align-items:center;gap:12px;margin:10px 0 0}.review-line button[aria-pressed=true]{background:#fff4da;border:2px solid #b47a16;padding:8px 12px;color:#674b15}.review-line button strong{display:inline-block;margin-left:6px;background:#fff;border-radius:999px;padding:2px 7px}.warn-badge{background:#fff0bd;color:#694c00}.ok-badge{background:#e4f3e9;color:#285a40}.smart-note,.classification-explain{display:grid;gap:6px;background:#f1f6f9;border:1px solid #d4e2ea;border-radius:7px;padding:11px 12px;margin:10px 0}.smart-note span,.classification-explain span{font-size:.875rem;line-height:1.45}.classification-explain small{color:var(--muted)}.summary-line{margin-bottom:12px}@media(max-width:760px){.review-line{align-items:stretch;flex-direction:column}.review-line .muted{padding:0 2px}.stages button>strong{margin:5px 0 0}.stages .stage-label{display:block}}

/* v3.1 OCR + checklist */
.checklist-bar{display:flex;align-items:center;gap:12px;margin:8px 0 12px;padding:10px 12px;border:1px solid #d7e0e5;border-radius:10px;background:#f8fbfc}
.checklist-bar[hidden]{display:none}
#checklist-open.attention{font-weight:700;border-color:#b7771b}
.checklist-list{display:grid;gap:8px;margin:8px 0 16px}
.checklist-item{display:flex;gap:10px;align-items:flex-start;padding:9px 10px;border:1px solid #dce4e8;border-radius:9px}
.checklist-item>span{font-weight:800;min-width:18px}
.checklist-item div{display:grid;gap:2px}
.checklist-item small{color:#60727d}
.checklist-item.missing{border-style:dashed}
.checklist-item.optional{opacity:.78}

/* v3.2.0 — prominent project/intake workflow */
.intake-home{margin:12px 0 14px;padding:14px;border:1px solid #bfd1dc;border-radius:10px;background:#fff;display:grid;gap:12px}.intake-copy{display:grid;gap:4px}.intake-copy strong{color:#184e6b;font-size:.9rem}.intake-copy span{color:#526d7e;font-size:.875rem;line-height:1.45}.intake-actions{display:flex;gap:8px;flex-wrap:wrap}.drop-zone{border:2px dashed #91aebf;border-radius:10px;background:#f6fafc;padding:18px;display:grid;place-items:center;text-align:center;gap:4px;color:#31586f;transition:.12s}.drop-zone span{font-size:.82rem;color:#6a7f8d}.drop-zone.active{border-color:#1f5977;background:#e8f3f8}.drop-zone.disabled{opacity:.55;background:#f3f5f6;cursor:not-allowed}.drop-zone:not(.disabled){cursor:copy}.intake-home .muted{margin:0}@media(max-width:760px){.intake-actions{display:grid;grid-template-columns:1fr}.intake-actions button{width:100%}}

@media(max-width:900px){.brand-copy small{display:none}.brand-copy strong{white-space:normal}.ptd-mark{width:38px}}

.about-card{display:flex;align-items:center;gap:16px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#f7fafc;margin-bottom:14px}.about-logo{display:grid;place-items:center;width:64px;height:64px;border-radius:14px;background:#183f57;color:#f1c768;font-size:1.25rem;font-weight:800;letter-spacing:.05em;flex:0 0 auto}.about-card h3,.about-card p{margin:0 0 5px}

/* v4.0 - project workbench and automatic drafting */
textarea{font:inherit;border:1px solid #bbcbd5;background:#fff;border-radius:6px;padding:8px 10px;color:#203846;min-width:0;width:100%}.drafting-home{margin:12px 0 14px;padding:14px;border:1px solid #d8c57d;border-radius:10px;background:#fffdf6;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.drafting-copy{display:grid;gap:4px;flex:1;min-width:280px}.drafting-copy strong{color:#5d4910;font-size:.9rem}.drafting-copy span{color:#625b43;font-size:.875rem;line-height:1.45}.drafting-actions{display:flex;gap:8px;flex-wrap:wrap}.drafting-home>.muted{flex-basis:100%}.draft-summary{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;background:#f5f8fa;border:1px solid var(--line);border-radius:9px;padding:11px 12px;margin-bottom:12px}.draft-summary span{font-size:.82rem;color:var(--muted)}.draft-summary button{grid-column:2;grid-row:1/3}.draft-presets{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:10px 0 14px}.draft-presets>span{font-size:.82rem;color:var(--muted)}.draft-layout{display:grid;grid-template-columns:minmax(310px,.9fr) minmax(360px,1.1fr);gap:16px}.draft-templates{max-height:62vh;overflow:auto;padding-right:4px}.draft-group{border:1px solid var(--line);border-radius:9px;margin-bottom:10px;overflow:hidden}.draft-group h3{margin:0;padding:9px 11px;background:#eef4f7}.draft-template{display:flex;grid-template-columns:none;align-items:flex-start;gap:9px;padding:9px 11px;border-top:1px solid #e5ebef}.draft-template input{margin-top:3px;flex:0 0 auto}.draft-template span{display:grid;gap:3px}.draft-template small{color:var(--muted);line-height:1.35}.draft-fields{display:grid;gap:9px;align-content:start}.draft-fields h3{margin:0 0 3px}.draft-fields details{border:1px solid var(--line);border-radius:8px;padding:9px}.draft-fields summary{cursor:pointer;font-weight:700}.draft-costs{margin-top:9px}.draft-fields .warning{font-size:.82rem}.draft-fields .actions{margin-top:2px}@media(max-width:900px){.draft-layout{grid-template-columns:1fr}.draft-templates{max-height:none}.drafting-home{display:grid}.drafting-actions{display:grid;grid-template-columns:1fr 1fr}.drafting-actions button{width:100%}}

/* v5.0 - drafting-only workspace */
.drafting-only #intake-home,.drafting-only .section-heading,.drafting-only .stages,.drafting-only .review-line,.drafting-only .checklist-bar,.drafting-only .filters,.drafting-only main>.table-wrap,.drafting-only main>footer{display:none!important}.drafting-only #smart-intake,.drafting-only #new-record{display:none!important}.process-home,.storage-home{margin:14px 0;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff}.process-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.process-head>div{display:grid;gap:5px}.process-head span,.storage-home p{color:var(--muted);font-size:.875rem}.workflow-list{display:grid;gap:8px;margin-top:13px}.workflow-step{display:grid;grid-template-columns:34px 1fr auto auto;gap:10px;align-items:center;padding:10px;border:1px solid #dde6ec;border-radius:9px;background:#f9fbfc}.workflow-custom{border-style:dashed;background:#fffdf6}.workflow-custom .workflow-no{background:#fff0c7;color:#755100}.workflow-no{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e6f0f5;color:#24556f;font-weight:700}.workflow-step div{display:grid;gap:3px}.workflow-step small{color:var(--muted)}.storage-home{display:grid;gap:12px;background:#f8fbf7;border-color:#cbdcc8}.storage-paths{display:grid;gap:8px}.storage-paths label{display:grid;grid-template-columns:150px 1fr;align-items:center}.storage-paths code,.path-code{display:block;background:#eef3f0;border:1px solid #d4dfd1;padding:8px;border-radius:6px;overflow-wrap:anywhere;font-family:Consolas,monospace}.storage-actions{display:flex;gap:8px;flex-wrap:wrap}#inbox-status{white-space:pre-line;line-height:1.45}@media(max-width:760px){.workflow-step{grid-template-columns:32px 1fr}.workflow-step button{grid-column:1/-1}.storage-paths label{grid-template-columns:1fr}}
.smart-advanced{border:1px solid var(--line);border-radius:8px;background:#fafcfd;padding:10px 12px}.smart-advanced summary{cursor:pointer;font-weight:700;color:#355b74}.smart-advanced>.form-grid{margin-top:10px}

/* v5.6.1 - missing-workflow highlighting + automatic schedule */
.workflow-step.workflow-missing{border-color:#e39a9a;background:#fff4f4}.workflow-step.workflow-missing .workflow-no{background:#fee2e2;color:#a61b1b}.workflow-status{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:2px 7px;font-size:.7rem;font-weight:800;letter-spacing:.02em}.workflow-status.missing{background:#fee2e2;color:#a61b1b}.workflow-status.ready{background:#e7f3ea;color:#326343}.schedule-home{margin:14px 0;padding:16px;border:1px solid #cdd9e0;border-radius:12px;background:#fbfdfe;display:grid;gap:12px}.schedule-controls{display:grid;grid-template-columns:minmax(300px,1.6fr) minmax(170px,.65fr) auto minmax(180px,.65fr);gap:10px;align-items:end}.schedule-controls label{display:grid;gap:5px;font-size:.82rem;color:var(--muted)}.schedule-commencement{display:grid;gap:2px;border:1px solid #d6c27b;border-radius:9px;background:#fffdf4;padding:8px 11px;min-height:54px;align-content:center}.schedule-commencement span{font-size:.72rem;color:#75652e;text-transform:uppercase;font-weight:700}.schedule-commencement strong{font-size:1.05rem;color:#5e4b0c}.schedule-commencement small{font-size:.72rem;color:var(--muted)}.schedule-table-wrap{max-height:430px;overflow:auto;border:1px solid #dfe7ec;border-radius:9px;background:#fff}.schedule-table{width:100%;border-collapse:collapse}.schedule-table thead{position:sticky;top:0;z-index:2;background:#eef4f7}.schedule-table th,.schedule-table td{vertical-align:top}.schedule-table .schedule-anchor-row{background:#fff8d9}.schedule-table .schedule-group-start td{border-top:2px solid #9eb6c4}.schedule-table td:nth-child(1),.schedule-table td:nth-child(5),.schedule-table td:nth-child(6),.schedule-table td:nth-child(7){white-space:nowrap}.schedule-main{display:grid;gap:2px}.schedule-main small{color:var(--muted)}
@media(max-width:980px){.schedule-controls{grid-template-columns:1fr 1fr}.schedule-commencement{grid-column:1/-1}}@media(max-width:680px){.schedule-controls{grid-template-columns:1fr}.schedule-table-wrap{max-height:520px}}

/* v5.6.2 - tiến độ trực quan: hoàn thành bình thường, chưa xong màu đỏ, bước hiện tại nổi bật */
.workflow-progress{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px 13px;border:1px solid #efb2b2;border-left:5px solid #c62828;border-radius:9px;background:#fff7f7;margin-bottom:4px}.workflow-progress>div{display:grid;gap:3px}.workflow-progress span{font-size:.68rem;font-weight:800;letter-spacing:.08em;color:#a32222}.workflow-progress strong{font-size:.92rem;color:#7f1717}.workflow-progress small{color:#6b4b4b;text-align:right}.workflow-progress small b{color:#a32222}.workflow-progress.complete{border-color:#cfdbe2;border-left-color:#607d8b;background:#f8fafb}.workflow-progress.complete span,.workflow-progress.complete strong{color:#405967}
.workflow-step.workflow-complete{background:#f9fbfc;border-color:#dde6ec}.workflow-step.workflow-complete .workflow-no{background:#e6f0f5;color:#24556f}.workflow-step.workflow-complete>div>strong{color:#163d53}
.workflow-step.workflow-incomplete{border-color:#df6f6f;background:#fdeaea}.workflow-step.workflow-incomplete .workflow-no{background:#f8cccc;color:#971d1d}.workflow-step.workflow-incomplete>div>strong{color:#8f1d1d}
.workflow-step.workflow-current{border:2px solid #c62828;border-left-width:6px;background:#ffdede;box-shadow:0 0 0 2px rgba(198,40,40,.06)}.workflow-step.workflow-current .workflow-no{background:#c62828;color:#fff}.workflow-step.workflow-current>div>strong{color:#7b1010}.workflow-step.workflow-gap{background:#fce8e8}.workflow-step.workflow-future{background:#fff1f1;border-color:#e8a1a1}
.workflow-status{margin-top:1px}.workflow-status.complete{background:#edf2f5;color:#526975}.workflow-status.current{background:#b71c1c;color:#fff}.workflow-status.missing{background:#f6caca;color:#8f1717}.workflow-status.pending{background:#fde0e0;color:#a12626}
@media(max-width:760px){.workflow-progress{align-items:flex-start;flex-direction:column}.workflow-progress small{text-align:left}}

.owner-lock{display:grid;gap:5px;margin:12px 0;padding:12px;border:1px solid #d8c27b;background:#fff8df;border-radius:8px;color:#5c4a13}.owner-lock strong{font-size:.82rem;letter-spacing:.05em}.owner-lock span{font-size:.84rem;line-height:1.45}.owner-lock.verified{border-color:#a8cfb5;background:#effaf2;color:#285a40}

/* v5.7.2 - owner-editable dossier component catalog */
.rule-editor-list{display:grid;gap:9px;margin:10px 0 14px}.rule-edit-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start;padding:10px;border:1px solid #dce5ea;border-radius:9px;background:#fbfdfe}.rule-edit-main{display:grid;grid-template-columns:1fr 1.2fr;gap:8px 10px}.rule-edit-main .checkbox-label{grid-column:1/-1;font-size:.82rem;color:var(--muted)}.rule-edit-row label{display:grid;gap:4px;font-size:.8rem;color:var(--muted)}.rule-remove{min-width:34px;padding:5px 9px}.rule-actions{justify-content:flex-start;margin:4px 0 12px}@media(max-width:760px){.rule-edit-main{grid-template-columns:1fr}}

/* v6.3.3 UI polish: nút Chấp thuận hoàn thành - bản giao diện chuyên nghiệp */
.workflow-step{grid-template-columns:34px minmax(0,1fr) auto auto;align-items:start}
.workflow-step .workflow-main{min-width:0;padding-top:1px}
.workflow-step [data-workflow-files],.workflow-step [data-workflow-step]{align-self:start;white-space:nowrap}
.workflow-step [data-workflow-approve]{grid-column:1 / 3;justify-self:start;align-self:start;margin:2px 0 0 0}
.workflow-approve{display:inline-flex!important;align-items:center;justify-content:flex-start;gap:11px;width:auto;min-width:210px;max-width:250px;min-height:54px;padding:9px 16px!important;border-radius:10px!important;font-weight:700;line-height:1.18;white-space:normal;text-align:left;box-shadow:0 2px 5px rgba(20,61,83,.12);transition:transform .12s ease,box-shadow .12s ease,background .12s ease,border-color .12s ease}
.workflow-approve:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 10px rgba(20,61,83,.16)}
.workflow-approve-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#fff;color:#176080;font-size:19px;font-weight:900;box-shadow:inset 0 0 0 1px rgba(22,86,116,.12)}
.workflow-approve-label{display:block;min-width:0;font-size:.93rem;letter-spacing:.005em}
.workflow-approve.primary{background:#176080!important;border:1px solid #176080!important;color:#fff!important}
.workflow-approve.primary:hover:not(:disabled){background:#12536f!important;border-color:#12536f!important}
.workflow-approve.is-approved{background:#f0f6f8!important;border:1px solid #b9ced9!important;color:#355969!important;box-shadow:none}
.workflow-approve.is-approved .workflow-approve-icon{background:#fff;color:#667d89}
@media(max-width:760px){.workflow-step{grid-template-columns:32px 1fr}.workflow-step button{grid-column:1/-1}.workflow-step [data-workflow-approve]{grid-column:1/-1;width:100%}.workflow-approve{width:100%;max-width:none;justify-content:center;text-align:center}}


/* v6.3.5 - gom toàn bộ thao tác của một bước trên cùng một hàng */
.workflow-step{grid-template-columns:34px minmax(0,1fr) auto;align-items:start}
.workflow-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;max-width:760px}
.workflow-actions>button{align-self:center;white-space:nowrap;margin:0}
.workflow-actions .workflow-approve{min-width:0;max-width:none;min-height:38px;padding:7px 12px!important;gap:7px;white-space:nowrap;text-align:center;box-shadow:none}
.workflow-actions .workflow-approve-icon{width:24px;height:24px;flex-basis:24px;font-size:14px}
.workflow-actions .workflow-approve-label{font-size:.86rem}
@media(max-width:1100px){.workflow-actions{max-width:560px}}
@media(max-width:760px){.workflow-step{grid-template-columns:32px 1fr}.workflow-actions{grid-column:1/-1;width:100%;justify-content:flex-start;max-width:none}.workflow-actions>button{grid-column:auto;width:auto}.workflow-actions .workflow-approve{width:auto;justify-content:center}}
.saved-ok{color:#287247!important;font-weight:700}.manual-save-ok{margin-top:8px;padding:9px 10px;border:1px solid #9cc9ae;border-radius:6px;background:#eef9f2;color:#245e3b;font-weight:700}
.workflow-summary-wrap{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.workflow-summary-wrap .workflow-progress{flex:1;min-width:520px}.workflow-summary-wrap>button{white-space:nowrap}.project-line label:first-child{min-width:150px}.project-line label:nth-child(2){flex:1;min-width:360px}

/* v6.5.1 - tổng quan hợp đồng/khối lượng và thư viện quy định */
.management-home,.reference-home{margin:14px 0;padding:16px;border:1px solid #cdd9e0;border-radius:12px;background:#fbfdfe;display:grid;gap:12px}
.management-cards{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:10px}.management-card{display:grid;gap:5px;padding:12px;border:1px solid #d7e2e8;border-radius:10px;background:#fff}.management-card strong{color:#496477;font-size:.82rem}.management-card b{font-size:1.05rem;color:#123f5c}.management-card small{color:var(--muted);line-height:1.3}.management-table-wrap,.reference-table-wrap{overflow:auto;border:1px solid #dfe7ec;border-radius:9px;background:#fff;max-height:520px}.management-table{min-width:1220px}.management-table th,.management-table td{vertical-align:top}.management-table .num{text-align:right;white-space:nowrap;font-weight:700}.year-chip{display:block;width:max-content;max-width:100%;margin-top:5px;padding:4px 8px;border:1px solid #d6e1e7;background:#f2f7fa;border-radius:6px;font-size:.76rem}.workload-detail{margin-top:8px;border-top:1px solid #e2e9ed;padding-top:7px}.workload-detail summary{cursor:pointer;color:#24556f;font-weight:700}.workload-detail div{margin-top:7px;line-height:1.45;white-space:pre-line}.workload-detail small{display:block;color:var(--muted);margin-top:6px}.row-actions{display:flex;gap:6px;flex-wrap:wrap}.reference-table{min-width:1180px}.reference-table td{vertical-align:top;line-height:1.42}.reference-source{font-size:.82rem;color:var(--muted)}.priority-badge{display:inline-block;padding:3px 7px;border-radius:999px;background:#fff1d8;color:#7b5613;font-weight:800;font-size:.72rem}.process-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.process-head>div:first-child{display:grid;gap:4px}.process-head>div:first-child>span{color:var(--muted);font-size:.875rem;line-height:1.4}
@media(max-width:1180px){.management-cards{grid-template-columns:repeat(3,1fr)}}@media(max-width:680px){.management-cards{grid-template-columns:1fr 1fr}.management-home,.reference-home{padding:12px}.process-head{flex-direction:column}.process-head .inline{width:100%}}


/* v6.5.1 FIX3 - login chuyên nghiệp, giữ nguyên lõi 6.5.1 */
.login-page{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 12% 16%,#dbe8ef 0,transparent 34%),linear-gradient(135deg,#eef4f7 0%,#f8fafb 58%,#e7eff4 100%)}
.login.login-pro{display:grid;grid-template-columns:310px minmax(360px,430px);gap:0;max-width:760px;width:min(760px,94vw);margin:0;padding:0;overflow:hidden;border:1px solid #ccd9e1;border-radius:16px;box-shadow:0 22px 60px rgba(28,58,76,.14);background:#fff}
.login-brand-panel{min-height:500px;padding:34px 30px;display:flex;flex-direction:column;color:#fff;background:linear-gradient(155deg,#153d55 0%,#1f5c78 62%,#24718e 100%);position:relative;overflow:hidden}
.login-brand-panel:after{content:'';position:absolute;width:230px;height:230px;border-radius:50%;right:-110px;bottom:-90px;border:42px solid rgba(255,255,255,.055)}
.login-logo{width:58px;height:58px;border-radius:14px;background:#f2c45e;color:#183f57;display:grid;place-items:center;font-weight:900;letter-spacing:.08em;box-shadow:0 7px 18px rgba(5,31,46,.22)}
.login-brand-copy{margin-top:34px;display:grid;gap:10px;position:relative;z-index:1}.login-brand-copy h1{font-size:1.55rem;line-height:1.15;color:#fff}.login-brand-copy p{font-size:.9rem;color:#d9e8ef;max-width:240px}.login-eyebrow{font-size:.68rem;letter-spacing:.13em;font-weight:800;color:#f2c45e}
.login-feature-list{display:grid;gap:12px;margin-top:34px;font-size:.84rem;color:#e8f2f6;position:relative;z-index:1}.login-feature-list span{display:flex;gap:7px;align-items:center}.login-brand-foot{margin-top:auto;font-size:.68rem;letter-spacing:.11em;color:#bcd2dc;font-weight:700;position:relative;z-index:1}
.login-form-panel{padding:38px 38px 32px;display:grid;gap:17px;align-content:center;background:#fff}.login-form-head{display:flex;align-items:center;gap:10px;padding-bottom:17px;border-bottom:1px solid #e3eaee}.login-form-head>div{display:grid;gap:2px}.login-form-head strong{font-size:.88rem;color:#173f56}.login-form-head small{font-size:.7rem;color:#758a97}.login-mini-mark{width:34px;height:34px;border-radius:8px;background:#f2c45e;color:#183f57;display:grid;place-items:center;font-weight:900;font-size:.74rem}
.login-intro{display:grid;gap:5px;margin-top:3px}.login-intro h2{font-size:1.28rem;color:#173f56}.login-intro p{font-size:.83rem;color:#6a7e8b}.login-field{font-weight:700;color:#314f60;gap:7px}.login-field input{height:44px;border-radius:8px;border-color:#b9cbd6;background:#fbfdfe;padding:10px 12px}.login-field input:focus{outline:3px solid rgba(31,89,119,.12);border-color:#1f5977;background:#fff}.login-submit{height:44px;border-radius:8px;font-weight:800;letter-spacing:.01em;box-shadow:0 5px 14px rgba(31,89,119,.18)}.login-security-note{font-size:.74rem!important;line-height:1.45!important;color:#758894!important;background:#f5f8fa;border:1px solid #e1e8ec;border-radius:8px;padding:9px 10px}.login-pro #login-error{min-height:19px;margin-top:-6px}.login-pro input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #fbfdfe inset!important;-webkit-text-fill-color:#203846!important}
@media(max-width:720px){.login-page{padding:14px}.login.login-pro{grid-template-columns:1fr;max-width:440px}.login-brand-panel{min-height:auto;padding:22px 24px}.login-brand-copy{margin-top:18px}.login-feature-list{display:none}.login-brand-foot{margin-top:18px}.login-form-panel{padding:28px 24px}}


/* v6.5.1 FIX7 - chọn nhiều bước và thao tác theo dự án/nhiệm vụ */
.workflow-step{grid-template-columns:26px 34px minmax(0,1fr) auto}
.workflow-pick{display:grid;place-items:center;min-height:34px;margin:0}.workflow-pick input{width:17px;height:17px;accent-color:#176080;cursor:pointer}
.workflow-bulkbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0 12px;padding:10px 12px;border:1px solid #c9dce6;border-radius:9px;background:#f4f9fb}.workflow-bulkbar strong{color:#244f66}.workflow-bulkbar span{color:#6c818e;margin-right:auto;font-size:.82rem}.workflow-bulkbar button{white-space:nowrap}
@media(max-width:760px){.workflow-step{grid-template-columns:26px 32px 1fr}.workflow-actions{grid-column:1/-1}.workflow-bulkbar span{width:100%;margin-right:0}}


/* v6.6.8 UI POLISH - nâng cấp hình ảnh, không thay đổi luồng nghiệp vụ */
:root{
  font-family:"Segoe UI Variable","Segoe UI",Arial,sans-serif;
  --blue:#164f6b;
  --blue-2:#0f3e56;
  --blue-soft:#edf5f8;
  --line:#d9e3e9;
  --line-strong:#c6d4dd;
  --muted:#647987;
  --text:#17384a;
  --surface:#ffffff;
  --surface-soft:#f7fafc;
  --gold:#d9ad4d;
  --shadow-sm:0 2px 8px rgba(18,55,75,.06);
  --shadow-md:0 10px 30px rgba(18,55,75,.10);
}
body{background:#f3f7f9;color:var(--text);font-family:inherit;letter-spacing:.002em}
button,input,select,textarea{font-family:inherit}
button{border-color:var(--line-strong);border-radius:8px;background:linear-gradient(#fff,#fbfdfe);color:#21495f;box-shadow:0 1px 2px rgba(16,57,78,.04);transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .08s ease}
button:hover:not(:disabled){background:#f2f7fa;border-color:#9fb7c5;box-shadow:0 2px 7px rgba(18,55,75,.08)}
button:active:not(:disabled){transform:translateY(1px)}
button.primary,.primary{background:linear-gradient(180deg,#1d6888 0%,#15536f 100%);border-color:#15536f;color:#fff;box-shadow:0 4px 12px rgba(21,83,111,.16)}
button.primary:hover:not(:disabled),.primary:hover{background:linear-gradient(180deg,#185d7b 0%,#10475f 100%);border-color:#10475f}
button.danger,.danger{background:#fffafa;color:#a12d2d;border-color:#e3b6b6}
button.danger:hover:not(:disabled),.danger:hover{background:#fff1f1;border-color:#d99c9c}
input,select,textarea{border-color:#bfcfd9;border-radius:8px;background:#fff;color:#18394b;box-shadow:inset 0 1px 1px rgba(17,54,74,.025);transition:border-color .15s ease,box-shadow .15s ease}
input:focus,select:focus,textarea:focus{outline:none;border-color:#397d9d;box-shadow:0 0 0 3px rgba(39,107,139,.11)}
header{height:68px;padding:12px 26px;background:linear-gradient(105deg,#123b53 0%,#174f6a 55%,#1b5c78 100%);box-shadow:0 3px 14px rgba(11,43,60,.18);position:sticky;top:0;z-index:50}
.brand-mark{border-radius:10px;background:linear-gradient(145deg,#f3cf76,#d8a93f);color:#163d52;box-shadow:0 4px 12px rgba(0,0,0,.14)}
.brand-copy strong{font-size:.94rem;letter-spacing:.055em}.brand-copy small{opacity:.9;letter-spacing:.065em}
header button{background:rgba(255,255,255,.085);border-color:rgba(255,255,255,.22);color:#fff;box-shadow:none}
header button:hover:not(:disabled){background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.32)}
main{max-width:1480px;padding:20px 26px 30px}
.project-line{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow-sm);align-items:end;gap:9px}
.project-line label{font-weight:650;color:#37596b}.project-line select{background:#fbfdfe;font-weight:700}
.drafting-home,.process-home,.schedule-home,.storage-home,.intake-home,.management-home,.reference-home{border:1px solid var(--line)!important;border-radius:14px!important;background:#fff!important;box-shadow:var(--shadow-sm);margin-top:14px!important}
.process-home,.schedule-home,.storage-home,.intake-home{padding:16px}
.process-head{padding-bottom:11px;border-bottom:1px solid #edf1f4;margin-bottom:2px}.process-head>div:first-child>strong{font-size:.92rem;letter-spacing:.045em;color:#16455e}.process-head>div:first-child>span{color:#718490}
.management-card{border-color:#dce6eb;border-radius:11px;background:linear-gradient(180deg,#fff,#fbfdfe);box-shadow:0 2px 7px rgba(18,55,75,.045);padding:13px}.management-card strong{color:#597181;font-weight:700}.management-card b{color:#123f5c;font-size:1.08rem;letter-spacing:.01em}
.management-table-wrap,.reference-table-wrap,.table-wrap,.schedule-table-wrap{border-color:#dce5ea;border-radius:10px;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
table{color:#213f50}th{background:#eef5f8;color:#34566a;font-size:.78rem;text-transform:none;font-weight:750;position:sticky;top:0;z-index:2}td{background:#fff}tbody tr:hover td{background:#f8fbfc}th,td{border-bottom-color:#e7edf1}
.section-heading{margin:18px 0 10px}.section-heading h1{font-size:1.12rem;color:#183f55;letter-spacing:.01em}
.stages{gap:11px}.stages button{border-radius:11px;border-color:#d6e1e7;box-shadow:var(--shadow-sm)}.stages button[aria-pressed=true]{background:linear-gradient(180deg,#e6f2f7,#dcecf3);border-color:#397d9d;color:#123f5c}
.workflow-list{display:grid;gap:8px}.workflow-step{border-color:#dce6eb!important;border-radius:11px!important;background:#fff;box-shadow:0 2px 7px rgba(18,55,75,.04);transition:box-shadow .15s ease,border-color .15s ease}.workflow-step:hover{border-color:#c6d8e2!important;box-shadow:0 4px 12px rgba(18,55,75,.07)}
.workflow-bulkbar{border-radius:11px;background:#f2f8fb;border-color:#cbdde6;box-shadow:var(--shadow-sm)}
.review-line,.checklist-bar{border-radius:10px!important}.filters{padding:12px;border:1px solid #e0e8ed;border-radius:11px;background:#fff;box-shadow:var(--shadow-sm)}
footer{padding-top:12px}
dialog{border:0!important;border-radius:16px!important;box-shadow:0 24px 70px rgba(15,45,61,.22)!important;overflow:hidden}.modal-head{background:#f7fafc;border-bottom:1px solid #e0e7eb;padding:14px 16px!important}.modal-head h2{color:#173f56;font-size:1.04rem}.modal-head button{border-radius:8px;min-width:34px;padding:6px 10px}#modal-body{padding:16px!important}
.login-page{background:radial-gradient(circle at 12% 14%,#d7e6ed 0,transparent 32%),linear-gradient(135deg,#eef4f7 0%,#fbfcfd 58%,#e7eff3 100%)}.login.login-pro{border-color:#c7d5dd;box-shadow:0 28px 75px rgba(24,57,75,.17)}.login-brand-panel{background:linear-gradient(150deg,#123a51 0%,#18516c 58%,#1c6785 100%)}.login-form-panel{background:linear-gradient(180deg,#fff,#fcfdfe)}
@media(max-width:900px){header{position:static;height:auto;padding:12px 16px}.header-actions{justify-content:flex-end}.project-line{align-items:stretch}.project-line{flex-wrap:wrap}main{padding:14px}}

/* v6.6.8 reference library split: Project legal vs KT-XH operations */
.reference-main-tabs{align-items:center}.reference-subtabs{display:flex;gap:7px;flex-wrap:wrap;padding:10px;border:1px solid var(--line);background:#f7fafc;border-radius:10px}.reference-subtabs button{border-radius:999px;padding:7px 11px;background:#fff}.reference-subtabs button.active{background:#123f5c;color:#fff;border-color:#123f5c}.reference-branch-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:14px 16px;border:1px solid #d9e4ea;border-radius:12px;background:linear-gradient(135deg,#f8fbfd,#eef6f8)}.reference-branch-head>div{display:grid;gap:4px}.reference-branch-head span{font-size:.72rem;font-weight:800;letter-spacing:.08em;color:#2b6b7b}.reference-branch-head h3{margin:0;color:#123f5c;font-size:1.05rem}.reference-branch-head p{margin:0;color:var(--muted);line-height:1.45}.reference-section-title{display:flex;justify-content:space-between;align-items:end;margin-top:4px;padding-top:10px;border-top:1px solid #e5ecef}.reference-section-title>div{display:grid;gap:3px}.reference-section-title strong{color:#123f5c}.reference-section-title span{font-size:.8rem;color:var(--muted)}.reference-empty{display:grid;gap:5px;padding:18px;border:1px dashed #c9d8df;border-radius:10px;background:#fbfdfe;color:#527083}.reference-empty strong{color:#123f5c}.reference-doc-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:9px}.reference-doc{display:flex;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid #dce6eb;border-radius:10px;background:#fff;box-shadow:0 2px 8px rgba(26,61,79,.04)}.reference-doc>div:first-child{display:grid;gap:4px;min-width:0}.reference-doc-topic{width:max-content;max-width:100%;font-size:.69rem;font-weight:800;color:#2b6b7b;background:#eaf4f6;border-radius:999px;padding:3px 7px}.reference-doc strong{color:#173f56;overflow-wrap:anywhere}.reference-doc small{color:var(--muted)}.reference-doc p{margin:2px 0 0;line-height:1.4}.reference-doc .row-actions{align-content:flex-start;justify-content:flex-end}.reference-coming{background:#fffdf7;border-color:#e9d9ab}@media(max-width:900px){.reference-doc-grid{grid-template-columns:1fr}.reference-branch-head{flex-direction:column}.reference-branch-head button{width:100%}}
