:root{--canvas:#f7f8fa;--surface:#fff;--ink:#111827;--muted:#667085;--border:#d9dee7;--border-strong:#aeb7c5;--blue:#1769e0;--blue-soft:#eaf2ff;--green:#138a5b;--green-soft:#e7f7f0;--amber:#9a6500;--amber-soft:#fff4d6;--red:#b42318;--red-soft:#ffebe9;--radius:6px;--shadow:0 10px 30px rgba(16,24,40,.08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--canvas)}*{box-sizing:border-box}body{margin:0;min-width:320px;font-size:14px;line-height:1.45}button,input{font:inherit}button{touch-action:manipulation}.topbar{height:68px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:10}.brand{display:flex;gap:10px;align-items:center;color:inherit;text-decoration:none}.brand-mark{width:34px;height:34px;display:grid;place-items:center;background:var(--ink);color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em;border-radius:4px}.brand strong,.brand small{display:block}.brand strong{font-size:14px}.brand small{color:var(--muted);font-size:11px;letter-spacing:.015em}.connection{display:flex;align-items:center;gap:8px}.connection label{font-size:12px;font-weight:600;color:var(--muted)}input{height:38px;border:1px solid var(--border-strong);background:#fff;border-radius:var(--radius);padding:0 11px;color:var(--ink);min-width:0}input:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid rgba(23,105,224,.24);outline-offset:2px;border-color:var(--blue)}.connection input{width:180px;height:34px}.status-dot{font-size:12px;color:var(--muted);min-width:90px}.status-dot::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--border-strong);margin-right:6px}.status-dot.ok{color:var(--green)}.status-dot.ok::before{background:var(--green)}.shell{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:calc(100vh - 68px)}.rail{background:#f0f2f5;border-right:1px solid var(--border);padding:28px 24px}.eyebrow{margin:0 0 5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:10px;font-weight:700}.rail h1{font-size:24px;line-height:1.15;letter-spacing:-.015em;margin:0}.rail-copy{color:var(--muted);margin:10px 0 24px;max-width:32ch}.rail form{display:grid;gap:7px}.rail label,.search-field{font-size:12px;font-weight:600}.rail form input{width:100%;margin-bottom:5px}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.button{height:38px;border:1px solid transparent;border-radius:var(--radius);padding:0 13px;font-weight:600;font-size:13px;letter-spacing:.01em;cursor:pointer}.button:disabled{opacity:.45;cursor:not-allowed}.button-primary{background:var(--blue);color:#fff}.button-primary:hover{background:#0e5dce}.button-quiet{background:#fff;border-color:var(--border-strong);color:var(--ink)}.button-quiet:hover{background:#f7f8fa}.divider{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;margin:22px 0}.divider::before,.divider::after{content:"";height:1px;background:var(--border);flex:1}.inline-field{display:grid;grid-template-columns:1fr auto;gap:7px}.workspace{padding:30px 34px 64px;min-width:0}.workspace-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.workspace h2{font-size:26px;line-height:1.15;letter-spacing:-.02em;margin:0;text-wrap:balance}.meta{color:var(--muted);margin:7px 0 0}.pipeline{display:grid;grid-template-columns:repeat(8,minmax(90px,1fr));padding:0;margin:26px 0 30px;list-style:none;border-top:1px solid var(--border);overflow-x:auto;max-width:100%}.pipeline li{position:relative;padding:16px 8px 0 0;color:var(--muted);font-size:11px;letter-spacing:.015em}.pipeline li::before{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;background:var(--surface);border:2px solid var(--border-strong);border-radius:50%}.pipeline li.done{color:var(--green)}.pipeline li.done::before{background:var(--green);border-color:var(--green)}.pipeline li.active{color:var(--blue);font-weight:700}.pipeline li.active::before{background:#fff;border-color:var(--blue);box-shadow:0 0 0 4px var(--blue-soft)}.notice{border:1px solid #e9c46a;background:var(--amber-soft);color:#704a00;padding:11px 13px;border-radius:var(--radius);margin-bottom:20px}.notice.error{border-color:#f4a7a1;background:var(--red-soft);color:var(--red)}.notice.success{border-color:#92d5b8;background:var(--green-soft);color:#0d6742}.recovery-bar{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:0 0 20px;padding:14px 15px;border:1px solid #e9c46a;border-left:4px solid var(--amber);background:var(--amber-soft)}.recovery-bar strong{display:block;font-size:13px}.recovery-bar p:not(.eyebrow){margin:3px 0 0;color:#704a00;font-size:12px}.recovery-bar .button{flex:0 0 auto}@media(max-width:700px){.recovery-bar{align-items:flex-start;flex-direction:column}.recovery-bar .button{width:100%;min-height:44px}}.empty-state{min-height:360px;border-top:1px solid var(--border);display:grid;align-content:center;justify-items:center;text-align:center}.empty-glyph{font-weight:700;letter-spacing:.08em;font-size:12px;border:1px solid var(--border-strong);padding:10px 12px;border-radius:4px}.empty-state h3{font-size:20px;margin:14px 0 5px}.empty-state p{color:var(--muted);max-width:48ch;margin:0}
/* Lối vào Research nhanh từ màn hình trống — đây là lúc nó hữu ích nhất */
.empty-alt{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-top:16px!important;font-size:12px}.panel{border-top:1px solid var(--border);padding-top:24px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:18px}.section-head h3{font-size:20px;margin:0}.section-head p:not(.eyebrow){margin:5px 0 0;color:var(--muted);max-width:65ch}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:var(--radius);background:#fff}table{width:100%;border-collapse:collapse;min-width:680px}th,td{text-align:left;padding:11px 13px;border-bottom:1px solid var(--border);vertical-align:middle}th{background:#f6f7f9;color:#475467;font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:700}tbody tr:last-child td{border-bottom:0}td{font-variant-numeric:tabular-nums}td input[type="text"]{width:100%;height:34px;border-color:transparent;background:transparent}td input[type="text"]:hover{border-color:var(--border)}.check-col{width:68px}.lock{font-size:11px;color:var(--muted)}.lock.locked{color:var(--green)}input[type="checkbox"]{width:16px;height:16px;accent-color:var(--blue)}.search-field{display:grid;gap:5px;color:var(--muted)}.search-field input{width:220px}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:14px;color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}@media(max-width:900px){.topbar{height:auto;min-height:68px;align-items:flex-start;padding:16px;gap:16px}.connection{flex-wrap:wrap;justify-content:flex-end}.connection label{display:none}.shell{grid-template-columns:1fr}.rail{border-right:0;border-bottom:1px solid var(--border)}.workspace{padding:24px 18px 48px}.pipeline{overflow-x:auto;grid-template-columns:repeat(8,110px)}.section-head{align-items:flex-start;flex-direction:column}.section-head .button{width:100%}}@media(max-width:560px){.brand small,.status-dot{display:none}.connection input{width:120px}.workspace-head{align-items:flex-start}.two-fields{grid-template-columns:1fr}.rail{padding:22px 18px}}

.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.status-pill{display:inline-flex;align-items:center;height:30px;padding:0 9px;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.015em}.status-pill.ok{border-color:#92d5b8;background:var(--green-soft);color:#0d6742}.status-pill.error{border-color:#f4a7a1;background:var(--red-soft);color:var(--red)}.settings-grid{display:grid;gap:32px}.settings-section{border-top:1px solid var(--border);padding-top:20px}.subhead{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px}.subhead h4{font-size:16px;margin:0}.subhead p{margin:4px 0 0;color:var(--muted)}.model-form{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(200px,1fr) auto;gap:10px;align-items:end;margin-bottom:16px}.model-form label{display:grid;gap:5px;font-size:12px;font-weight:600;color:var(--muted)}.model-form input{width:100%}.settings-table select,.settings-table input[type="number"]{width:100%;height:34px;border:1px solid var(--border-strong);border-radius:var(--radius);background:#fff;padding:0 8px}.settings-table select{min-width:180px}.settings-table input[type="number"]{min-width:92px}
/* Task đang dùng chung model của task khác — xem TASK_MODEL_FALLBACK ở repository.js */
.route-inherited{display:block;margin-top:4px;color:var(--muted);font-size:11px;line-height:1.4}.actions-col{width:190px}.row-actions{display:flex;gap:6px;justify-content:flex-end}.button-danger{background:#fff;border-color:#e8a29c;color:var(--red)}.button-small{height:32px;padding:0 9px;font-size:12px}.model-name strong,.model-name small{display:block}.model-name small{color:var(--muted);font-size:11px;letter-spacing:.015em}.state-text{font-size:12px;font-weight:600}.state-text.on{color:var(--green)}.state-text.off{color:var(--muted)}@media(max-width:900px){.model-form{grid-template-columns:1fr}.ai-heading .header-actions{width:100%;justify-content:flex-start}.subhead{align-items:flex-start;flex-direction:column}.subhead .button{width:100%}}@media(max-width:560px){#open-ai{width:100%}.connection{max-width:230px}.header-actions .button{flex:1}.settings-table select{min-width:150px}}

[hidden]{display:none!important}.settings-grid,.settings-section,.model-form,.settings-section .table-wrap{min-width:0}@media(max-width:900px){.settings-section{width:100%}.model-form>*{min-width:0}}

.meta-inline{color:var(--muted);font-size:11px;letter-spacing:.015em}.review-state{display:inline-flex;align-items:center;height:25px;padding:0 8px;border:1px solid var(--border);border-radius:999px;color:var(--amber);background:var(--amber-soft);font-size:11px;font-weight:600}.review-state.approved{color:var(--green);background:var(--green-soft);border-color:#92d5b8}

.cluster-panel{margin-top:32px}.cluster-workbench{display:grid;grid-template-columns:220px minmax(0,1fr) 260px;min-height:520px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.cluster-index,.cluster-detail,.conflict-inspector{min-width:0}.cluster-index{border-right:1px solid var(--border);background:#fafbfc}.cluster-detail{padding:18px}.conflict-inspector{border-left:1px solid var(--border);background:#fafbfc;padding:18px}.workbench-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.cluster-index>.workbench-head{padding:18px 16px 13px;border-bottom:1px solid var(--border)}.workbench-head h4{font-size:15px;line-height:1.25;margin:0}.count-label{color:var(--muted);font-size:11px;white-space:nowrap;font-variant-numeric:tabular-nums}.cluster-list{max-height:660px;overflow:auto;overscroll-behavior:contain}.cluster-row{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:stretch;border-bottom:1px solid var(--border);content-visibility:auto;contain-intrinsic-size:0 86px}.cluster-row:last-child{border-bottom:0}.cluster-row.selected{background:var(--blue-soft);box-shadow:inset 3px 0 0 var(--blue)}.cluster-row>label{display:grid;place-items:start center;padding-top:17px;cursor:pointer}.cluster-open{appearance:none;border:0;background:transparent;color:inherit;text-align:left;padding:13px 13px 13px 0;cursor:pointer;min-width:0}.cluster-open:focus-visible{outline:3px solid rgba(23,105,224,.24);outline-offset:-3px}.cluster-open strong,.cluster-open small{display:block}.cluster-open strong{font-size:13px;line-height:1.35}.cluster-open small{color:var(--muted);font-size:11px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cluster-row.selected .cluster-open small{color:#355f99}.cluster-lock-note{color:var(--green)!important}.workbench-empty{color:var(--muted);font-size:12px;margin:0;padding:18px 16px}.detail-empty{min-height:480px;display:grid;place-items:center;text-align:center}.cluster-fields{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(260px,1.3fr);gap:12px;margin:20px 0}.cluster-fields label{display:grid;gap:5px;color:var(--muted);font-size:12px;font-weight:600}.cluster-fields input{width:100%}.member-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin:4px 0 12px}.member-head h5{font-size:13px;margin:0}.member-head p{color:var(--muted);font-size:11px;margin:3px 0 0}.member-table table{min-width:540px}.member-table th,.member-table td{padding:9px 10px}.primary-choice{display:grid;place-items:center}.conflict-inspector .workbench-head{padding-bottom:12px;border-bottom:1px solid var(--border)}.inspector-copy{color:var(--muted);font-size:11px;line-height:1.45;margin:11px 0}.conflict-list{max-height:530px;overflow:auto;overscroll-behavior:contain}.conflict-item{display:grid;grid-template-columns:24px minmax(0,1fr);gap:7px;padding:13px 0;border-bottom:1px solid var(--border);content-visibility:auto;contain-intrinsic-size:0 136px}.conflict-item:last-child{border-bottom:0}.conflict-item>label{cursor:pointer;padding-top:2px}.conflict-body strong,.conflict-body small{display:block}.conflict-body strong{font-size:12px;line-height:1.4}.conflict-body small{color:var(--muted);font-size:11px;line-height:1.45;margin-top:5px}.risk-tag{display:inline-flex;align-items:center;height:22px;padding:0 7px;border:1px solid var(--border);border-radius:999px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.risk-tag.high{color:var(--red);background:var(--red-soft);border-color:#f4a7a1}.risk-tag.medium{color:var(--amber);background:var(--amber-soft);border-color:#e9c46a}.risk-tag.low{color:var(--muted);background:#fff}.conflict-locked{color:var(--green);font-weight:600}.conflict-blocked{color:var(--amber)!important}.inspector-actions{display:grid;gap:8px;margin-top:14px}.inspector-actions .button{width:100%}@media(max-width:1240px){.pipeline{grid-template-columns:repeat(8,100px)}.cluster-workbench{grid-template-columns:230px minmax(0,1fr)}.cluster-fields{grid-template-columns:1fr}.conflict-inspector{grid-column:1/-1;border-left:0;border-top:1px solid var(--border)}.conflict-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px;max-height:none}.conflict-item:nth-last-child(2):nth-child(odd){border-bottom:0}}@media(max-width:760px){.cluster-workbench{grid-template-columns:1fr}.cluster-index{border-right:0;border-bottom:1px solid var(--border)}.cluster-list{max-height:280px}.cluster-detail{padding:16px}.cluster-fields{grid-template-columns:1fr}.member-head{align-items:flex-start;flex-direction:column}.member-head .button{width:100%}.conflict-inspector{grid-column:auto}.conflict-list{grid-template-columns:1fr}.detail-empty{min-height:180px}}

.undo-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:-6px 0 12px;padding:9px 11px;border:1px solid #b8d2f5;background:var(--blue-soft);color:#214f8e;border-radius:var(--radius);font-size:12px}.structure-toolbar{display:grid;grid-template-columns:auto minmax(190px,1fr) auto auto;align-items:end;gap:8px;margin:0 0 11px;padding:10px 0;border-top:1px solid var(--border)}.structure-toolbar>label{display:grid;grid-template-columns:auto minmax(150px,1fr);align-items:center;gap:7px;color:var(--muted);font-size:11px;font-weight:600}.structure-toolbar select{height:32px;min-width:0;width:100%;border:1px solid var(--border-strong);border-radius:var(--radius);background:#fff;color:var(--ink);padding:0 8px}.structure-toolbar select:focus-visible{outline:3px solid rgba(23,105,224,.24);outline-offset:2px;border-color:var(--blue)}.split-editor{display:grid;grid-template-columns:minmax(160px,1fr) minmax(220px,1.25fr);gap:10px;align-items:end;margin:0 0 12px;padding:12px;background:#f6f7f9;border:1px solid var(--border);border-radius:var(--radius)}.split-editor>div:first-child{align-self:center;grid-column:1/-1}.split-editor>.row-actions{grid-column:1/-1;justify-content:flex-start}.split-editor>div:first-child strong{font-size:12px}.split-editor>label{display:grid;gap:4px;color:var(--muted);font-size:11px;font-weight:600}.split-editor input{width:100%;height:34px}.member-select{display:grid;place-items:center}@media(max-width:1040px){.structure-toolbar{grid-template-columns:1fr 1fr}.structure-toolbar>label{grid-template-columns:1fr}.split-editor{grid-template-columns:1fr 1fr}.split-editor>.row-actions{justify-content:flex-start}}@media(max-width:760px){.undo-bar{align-items:flex-start;flex-direction:column}.undo-bar .button{width:100%}.structure-toolbar{grid-template-columns:1fr}.structure-toolbar .button{width:100%}.split-editor{grid-template-columns:1fr}.split-editor .row-actions{display:grid;grid-template-columns:1fr 1fr}.split-editor .button{width:100%}}







/* Journey and Blueprint review workbenches */
select,textarea{font:inherit;color:var(--ink);border:1px solid var(--border-strong);border-radius:var(--radius);background:#fff}select{height:38px;padding:0 30px 0 10px}textarea{width:100%;padding:9px 11px;resize:vertical;line-height:1.45}.version-picker{display:grid;grid-template-columns:auto minmax(150px,1fr);align-items:center;gap:7px;color:var(--muted);font-size:11px;font-weight:600}.version-picker select{min-width:170px}.checkpoint-gate{display:flex;align-items:center;gap:12px;margin:-4px 0 15px;padding:10px 12px;border:1px solid #e9c46a;border-left:4px solid var(--amber);background:var(--amber-soft);color:#704a00;font-size:12px}.checkpoint-gate strong{white-space:nowrap}.journey-panel,.blueprint-panel{margin-top:32px}.journey-empty,.blueprint-empty{min-height:150px;display:grid;place-items:center;border:1px solid var(--border);background:#fff;text-align:center}.coverage-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--border);border-bottom:0;background:#fff}.coverage-cell{padding:12px 14px;border-right:1px solid var(--border)}.coverage-cell:last-child{border-right:0}.coverage-cell>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px}.coverage-cell span{color:var(--muted)}.coverage-cell strong{font-size:13px;font-variant-numeric:tabular-nums}.coverage-track{height:4px;margin-top:8px;background:#e9edf3;overflow:hidden}.coverage-track span{display:block;height:100%;background:var(--blue);transition:width 160ms ease}.journey-workbench{display:grid;grid-template-columns:minmax(0,1fr) 310px;border:1px solid var(--border);background:#fff;min-width:0}.journey-main{min-width:0;border-right:1px solid var(--border)}.graph-toolbar{height:62px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 14px;border-bottom:1px solid var(--border)}.graph-toolbar strong{font-size:13px}.journey-graph-viewport{max-width:100%;overflow:auto;overscroll-behavior:contain;background:#f8f9fb}.journey-graph-viewport:focus-visible{outline:3px solid rgba(23,105,224,.24);outline-offset:-3px}.journey-canvas{position:relative;min-width:920px;min-height:470px;padding:16px}.journey-edge-svg{position:absolute;inset:0;z-index:1;overflow:visible;pointer-events:none}.journey-edge-svg marker path{fill:#7b8798}.journey-edge{fill:none;stroke:#7b8798;stroke-width:1.5}.journey-edge.relation-branch{stroke:var(--amber);stroke-dasharray:5 4}.journey-edge.relation-support{stroke:var(--green);stroke-dasharray:2 4}.journey-lanes{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,minmax(205px,1fr));gap:12px;min-height:438px}.journey-lane{border-left:1px solid var(--border);min-width:0}.journey-lane:first-child{border-left:0}.journey-lane>header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-bottom:1px solid var(--border);color:#475467;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.journey-lane>header small{color:var(--muted);font-weight:500;text-transform:none;letter-spacing:0}.journey-lane-nodes{display:grid;align-content:start;gap:28px;padding:16px 10px}.journey-node{position:relative;width:100%;min-height:92px;padding:11px 12px;border:1px solid var(--border-strong);border-radius:var(--radius);background:#fff;color:var(--ink);text-align:left;cursor:pointer;transition:border-color 140ms ease,background 140ms ease}.journey-node:hover{border-color:#7ba9e8}.journey-node.selected{border-color:var(--blue);background:var(--blue-soft);box-shadow:inset 3px 0 0 var(--blue)}.journey-node strong,.journey-node small{display:block}.journey-node strong{font-size:12px;line-height:1.4;margin:7px 0 5px}.journey-node small{color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.node-role{display:inline-flex;padding:2px 6px;background:#f1f3f6;color:#475467;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.lane-empty{margin:0;padding:20px 8px;color:var(--muted);font-size:11px;text-align:center}.journey-inspector,.blueprint-evidence{min-width:0;padding:18px;background:#fafbfc}.journey-inspector>.workbench-head,.blueprint-evidence>.workbench-head{padding-bottom:12px;border-bottom:1px solid var(--border)}.journey-inspector form,.blueprint-evidence form,.blueprint-document form{display:grid;gap:11px;margin-top:14px}.journey-inspector form>label,.blueprint-evidence form>label,.blueprint-document form>label,.journey-inspector .two-fields label,.blueprint-evidence .two-fields label{display:grid;gap:5px;color:var(--muted);font-size:11px;font-weight:600}.journey-inspector input,.journey-inspector select,.blueprint-evidence input,.blueprint-document input{width:100%}.inspector-path{margin:0;padding:8px 9px;border-left:3px solid var(--blue);background:var(--blue-soft);color:#214f8e;font-size:10px;overflow-wrap:anywhere}.evidence-list{border-top:1px solid var(--border);padding-top:10px}.evidence-list dl{display:grid;gap:9px;margin:0}.evidence-list dl>div{display:grid;grid-template-columns:82px minmax(0,1fr);gap:8px}.evidence-list dt{color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.evidence-list dd{margin:0;font-size:11px;overflow-wrap:anywhere}.gap-section{border:1px solid var(--border);border-top:0;background:#fff;padding:17px}.gap-section .subhead{margin-bottom:10px}.gap-list{border-top:1px solid var(--border)}.gap-item{display:grid;grid-template-columns:180px minmax(220px,.8fr) minmax(260px,1.2fr);align-items:center;gap:15px;padding:12px 0;border-bottom:1px solid var(--border)}.gap-item:last-child{border-bottom:0}.gap-item>div{display:flex;align-items:center;gap:8px}.gap-item strong{font-size:12px}.gap-item p{margin:0;color:var(--muted);font-size:11px}.gap-stage{font-size:10px;color:var(--muted)}.blueprint-workbench{display:grid;grid-template-columns:minmax(0,1fr) 360px;border:1px solid var(--border);background:#fff;min-width:0}.blueprint-document{min-width:0;padding:19px;border-right:1px solid var(--border)}.document-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.document-heading>div{display:flex;align-items:center;gap:9px}.document-heading .eyebrow{margin:0}.blueprint-outline-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 8px;padding-top:16px;border-top:1px solid var(--border)}.blueprint-node-list{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.blueprint-node-group{border-bottom:1px solid var(--border)}.blueprint-node-group:last-child{border-bottom:0}.blueprint-node-group>h4{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;padding:9px 12px;background:#f4f6f9;border-bottom:1px solid var(--border);color:#475467;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.blueprint-node-group>h4 small{color:var(--muted);font-weight:500;text-transform:none;letter-spacing:0;white-space:nowrap}.blueprint-node-row{appearance:none;width:100%;display:grid;grid-template-columns:42px minmax(0,1fr);gap:11px;padding:12px;border:0;border-bottom:1px solid var(--border);background:#fff;color:inherit;text-align:left;cursor:pointer;transition:background 140ms ease}.blueprint-node-row:last-child{border-bottom:0}.blueprint-node-row:hover{background:#f7f8fa}.blueprint-node-row.selected{background:var(--blue-soft);box-shadow:inset 3px 0 0 var(--blue)}.blueprint-node-row strong,.blueprint-node-row small{display:block}.blueprint-node-row strong{font-size:12px;line-height:1.4}.blueprint-node-row small{color:var(--muted);font-size:10px;margin-top:4px}.outline-index{color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.form-hint{margin:0;color:var(--muted);font-size:10px;line-height:1.45}@media(max-width:1180px){.journey-workbench,.blueprint-workbench{grid-template-columns:1fr}.journey-main,.blueprint-document{border-right:0;border-bottom:1px solid var(--border)}.journey-inspector,.blueprint-evidence{min-height:260px}.gap-item{grid-template-columns:150px minmax(0,1fr)}}@media(max-width:760px){.journey-heading .header-actions,.blueprint-heading .header-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.version-picker{grid-column:1/-1;grid-template-columns:1fr}.version-picker select{min-width:0;width:100%}.coverage-strip{grid-template-columns:1fr 1fr}.coverage-cell:nth-child(2){border-right:0}.coverage-cell:nth-child(-n+2){border-bottom:1px solid var(--border)}.checkpoint-gate{align-items:flex-start;flex-direction:column}.journey-canvas{min-width:880px}.gap-item{grid-template-columns:1fr;gap:7px}.blueprint-document,.journey-inspector,.blueprint-evidence{padding:15px}.document-heading{align-items:flex-start;flex-direction:column}.document-heading .button{width:100%}.journey-inspector .two-fields,.blueprint-evidence .two-fields{grid-template-columns:1fr}}@media(max-width:460px){.journey-heading .header-actions,.blueprint-heading .header-actions{grid-template-columns:1fr}.version-picker{grid-column:auto}.coverage-strip{grid-template-columns:1fr}.coverage-cell{border-right:0;border-bottom:1px solid var(--border)}.coverage-cell:last-child{border-bottom:0}.graph-toolbar{align-items:flex-start;height:auto;min-height:62px;flex-direction:column}.journey-graph-viewport{max-height:620px}.blueprint-node-row{grid-template-columns:32px minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.coverage-track span,.journey-node,.blueprint-node-row{transition:none}}
/* Admin session and runtime integration settings */
.auth-gate{min-height:calc(100vh - 68px);display:grid;place-items:start center;padding:9vh 20px 56px;background:var(--canvas)}.auth-panel{width:min(100%,460px);padding:28px;background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--ink);border-radius:var(--radius)}.auth-panel h1{margin:0;font-size:25px;line-height:1.2;letter-spacing:-.02em;text-wrap:balance}.auth-copy{margin:9px 0 22px;color:var(--muted);text-wrap:pretty}.login-form{display:grid;gap:7px}.login-form label{font-size:12px;font-weight:600;color:#475467}.login-form input{width:100%;height:42px}.login-form .button{width:100%;margin-top:5px}.auth-note{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--border);color:var(--muted);font-size:11px}.auth-config-error{display:grid;gap:5px;margin:18px 0;padding:12px;border:1px solid #f4a7a1;border-left:4px solid var(--red);background:var(--red-soft);color:var(--red);font-size:12px}.auth-config-error span{line-height:1.55}.form-error{margin:3px 0;color:var(--red);font-size:12px}.root-secret-note{display:flex;align-items:flex-start;gap:12px;margin:-3px 0 23px;padding:12px 14px;border:1px solid #e9c46a;border-left:4px solid var(--amber);background:var(--amber-soft);color:#704a00;font-size:12px}.root-secret-note strong{white-space:nowrap}.root-secret-note span{overflow-wrap:anywhere}code{padding:1px 4px;background:rgba(17,24,39,.07);border-radius:3px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.92em}.integration-list{border-top:1px solid var(--border)}.integration-row{display:grid;grid-template-columns:minmax(190px,.65fr) minmax(390px,1.35fr) auto;align-items:center;gap:24px;padding:18px 0;border-bottom:1px solid var(--border)}.integration-identity strong,.integration-identity span{display:block}.integration-identity strong{font-size:14px}.integration-identity span{margin-top:4px;color:var(--muted);font-size:11px;line-height:1.45}.integration-facts{display:grid;grid-template-columns:minmax(120px,.75fr) minmax(145px,1fr) minmax(180px,1.2fr);gap:16px;margin:0}.integration-facts>div{min-width:0}.integration-facts dt{margin-bottom:5px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.integration-facts dd{margin:0;color:#475467;font-size:12px;overflow-wrap:anywhere}.integration-actions{display:grid;grid-template-columns:auto auto auto;gap:6px;justify-content:end}.integration-actions .button{white-space:nowrap}.integration-editor{margin-top:24px;padding:20px;background:#f6f7f9;border:1px solid var(--border);border-radius:var(--radius)}.integration-editor .subhead{align-items:flex-start;margin-bottom:18px}.integration-editor .subhead h4{margin:0}.integration-form{display:grid;grid-template-columns:minmax(240px,1fr) minmax(220px,1fr);gap:13px 16px}.integration-form>label{display:grid;gap:5px;color:#475467;font-size:12px;font-weight:600}.integration-form input{width:100%}.integration-form .form-hint,.integration-form .form-error,.integration-form-actions{grid-column:1/-1}.integration-form .form-hint{margin:0}.integration-form-actions{display:flex;justify-content:flex-end;padding-top:2px}.settings-panel .status-pill.error{border-color:#f4a7a1;background:var(--red-soft);color:var(--red)}.button-danger:disabled{border-color:var(--border);color:var(--muted)}textarea:focus-visible{outline:3px solid rgba(23,105,224,.24);outline-offset:2px;border-color:var(--blue)}
@media(max-width:1160px){.integration-row{grid-template-columns:190px minmax(0,1fr)}.integration-actions{grid-column:1/-1;justify-content:start}}
@media(max-width:900px){.settings-heading .button{width:100%}.root-secret-note{align-items:flex-start;flex-direction:column;gap:4px}.integration-row{grid-template-columns:1fr;gap:15px}.integration-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.integration-actions{grid-column:auto}.integration-form{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.topbar .brand>span:last-child{display:none}.connection{max-width:none}.connection .status-dot{display:none}.connection .button{height:34px;padding:0 9px;font-size:11px}.auth-gate{min-height:calc(100vh - 67px);padding:42px 16px}.auth-panel{padding:23px 20px}.settings-heading .button{min-height:42px}.integration-facts{grid-template-columns:1fr;gap:11px}.integration-facts dt{margin-bottom:2px}.integration-actions{grid-template-columns:1fr 1fr}.integration-actions .remove-integration{grid-column:1/-1}.integration-actions .button{min-height:42px}.integration-form{grid-template-columns:1fr}.integration-form .form-hint,.integration-form .form-error,.integration-form-actions{grid-column:auto}.integration-form-actions .button{width:100%;min-height:42px}}
@media(max-width:420px){.topbar{padding:12px}.connection{gap:5px}.connection .button{padding:0 7px}.integration-actions{grid-template-columns:1fr}.integration-actions .remove-integration{grid-column:auto}.integration-editor{margin-left:-8px;margin-right:-8px;padding:16px 14px}.auth-panel h1{font-size:23px}}

/* Quản trị hệ thống (panel AI Models) — xem renderAdminSystem() trong app.js */
.settings-block{margin-top:18px;padding-top:14px;border-top:1px dashed var(--border)}.settings-block h5{font-size:13px;margin:0 0 8px}.settings-block h5 small{font-weight:400;color:var(--muted)}.settings-block .hint{color:var(--muted);font-size:11px;line-height:1.5;margin:7px 0 0}.settings-block code{background:#f6f7f9;border:1px solid var(--border);border-radius:4px;padding:2px 5px;font-size:11px}.settings-block input[type="password"]{height:34px;border:1px solid var(--border-strong);border-radius:var(--radius);background:#fff;padding:0 9px}#admin-system .hint{color:var(--muted);font-size:11px;line-height:1.5}@media(max-width:560px){.settings-block input[type="password"],.settings-block .button{width:100%}}

/* THÀNH PHẨM — kế hoạch nội dung (xem renderContentPlan trong app.js) */
.plan-panel{margin-top:32px}.plan-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:0 0 18px}.plan-stat{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:12px 13px}.plan-stat strong{display:block;font-size:20px;line-height:1.15;font-variant-numeric:tabular-nums}.plan-stat small{color:var(--muted);font-size:11px}
.plan-gaps{border:1px solid #e9c46a;background:var(--amber-soft);border-radius:var(--radius);padding:13px 15px;margin:0 0 18px}.plan-gaps h4{font-size:13px;margin:0 0 9px}.plan-gap{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:start;padding:6px 0;font-size:12px;line-height:1.5}.plan-gap small{color:#7a5c12}
.plan-items{display:grid;gap:14px}.plan-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:15px 17px}.plan-item-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start}.plan-order{display:grid;place-items:center;width:30px;height:30px;border-radius:999px;background:var(--blue-soft);color:#214f8e;font-weight:700;font-size:13px;font-variant-numeric:tabular-nums}.plan-item h4{font-size:15px;line-height:1.3;margin:2px 0 6px}
.plan-meta{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin:0;color:var(--muted);font-size:11px}.plan-meta code{background:#f6f7f9;border:1px solid var(--border);border-radius:4px;padding:2px 6px;color:var(--ink);font-size:11px}.plan-chip{display:inline-flex;align-items:center;height:21px;padding:0 8px;border:1px solid var(--border);border-radius:999px;background:#fff;font-weight:600}
.plan-objective{font-size:12px;line-height:1.55;margin:11px 0 0}.plan-rationale{color:var(--muted);font-size:11px;line-height:1.5;margin:5px 0 0}
.plan-keywords{margin-top:11px}.plan-keywords summary{cursor:pointer;color:var(--muted);font-size:11px;font-weight:600}.plan-keywords table{margin-top:9px}
.plan-links{margin-top:12px;padding-top:11px;border-top:1px dashed var(--border);font-size:12px;line-height:1.6}.plan-links strong{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.plan-link{margin-top:5px}.plan-link code{background:#f6f7f9;border:1px solid var(--border);border-radius:4px;padding:1px 5px;font-size:11px}.plan-links-empty{color:var(--muted);font-size:11px}
@media(max-width:760px){.plan-panel .header-actions{width:100%}.plan-panel .header-actions .button{flex:1}.plan-item{padding:13px 14px}.plan-item-head{grid-template-columns:1fr}.plan-order{margin-bottom:4px}}

/* Chạy tự động (xem runAutopilot trong app.js + src/autorun-service.js) */
.autopilot-progress{border:1px solid var(--border);border-radius:var(--radius);background:#fafbfc;padding:12px 14px;margin:0 0 16px;font-size:12px;line-height:1.6}.autopilot-line{padding:2px 0}.autopilot-line small{color:var(--muted)}.autopilot-tick{color:var(--green);font-weight:700;margin-right:5px}.autopilot-done{margin-top:9px;padding-top:9px;border-top:1px solid var(--border);color:#0d6742}.autopilot-error{color:var(--red);padding:2px 0}

/* Entity map dạng cây 4 tầng (xem renderEntityRows trong app.js) */
.entity-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 11px}.entity-tier-summary{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:11px;color:var(--muted)}.entity-tier-summary strong{font-size:12px;color:var(--ink)}.tier-count{display:inline-flex;align-items:center;height:21px;padding:0 8px;border:1px solid var(--border);border-radius:999px;background:#fff;font-weight:600;font-variant-numeric:tabular-nums}.tier-count.empty{opacity:.45}.tier-warn{color:var(--amber);font-weight:600}
.entity-view-toggle{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);white-space:nowrap}
/* Chọn định dạng file xuất entity map — dạng ngang / dạng cây, xem suggestEntities trong app.js */
.entity-format-label{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);white-space:nowrap}
.entity-format-label select{height:28px;border:1px solid var(--border-strong);border-radius:var(--radius);background:#fff;padding:0 6px;font:inherit;font-size:11px}
.entity-name-cell{padding-left:calc(10px + var(--indent,0) * 22px)!important;position:relative}.entity-branch{position:absolute;left:calc(var(--indent,0) * 22px - 10px);top:50%;width:12px;height:1px;background:var(--border-strong)}.entity-name-cell input{width:100%}
.tier-badge{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.05em;border:1px solid var(--border)}
.tier-badge.tier-macro{background:#eef2f7;color:#41546b}.tier-badge.tier-main{background:var(--blue-soft);color:#214f8e;border-color:#b8d2f5}.tier-badge.tier-sub{background:var(--green-soft);color:#0d6742;border-color:#92d5b8}.tier-badge.tier-micro{background:#fbf3e4;color:#7a5c12;border-color:#e9c46a}
.tier-count.tier-macro{color:#41546b}.tier-count.tier-main{color:#214f8e}.tier-count.tier-sub{color:#0d6742}.tier-count.tier-micro{color:#7a5c12}
.entity-row.tier-main .entity-name input{font-weight:600}.entity-row.tier-micro .entity-name input{color:var(--muted)}
/* Gợi ý chọn entity của AI (task entity_selection) */
.stage-badge{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:4px;font-size:10px;font-weight:700;border:1px solid var(--border);white-space:nowrap}
.stage-badge.stage-awareness{background:#eef2f7;color:#41546b}.stage-badge.stage-consideration{background:var(--blue-soft);color:#214f8e;border-color:#b8d2f5}.stage-badge.stage-decision{background:var(--green-soft);color:#0d6742;border-color:#92d5b8}.stage-badge.stage-retention{background:#fbf3e4;color:#7a5c12;border-color:#e9c46a}
/* Dòng AI khuyên bỏ / đã loại khi duyệt: mờ cho dễ lướt, KHÔNG ẩn — phải soát lại được */
.entity-row.suggested-drop{opacity:.55}.entity-row.suggested-drop:hover{opacity:1}
.lock.excluded{color:var(--muted);background:#f1f3f5;border-color:var(--border)}
.entity-dropped-count{color:var(--muted)}
/* Nhắc bảng đã chuyển sang chế độ chỉ xem sau khi duyệt xong */
.entity-readonly-note{margin:0 0 12px;padding:9px 12px;border:1px solid var(--border);border-left:3px solid var(--blue);border-radius:var(--radius);background:var(--blue-soft);color:#214f8e;font-size:12px;line-height:1.5}
@media(max-width:760px){.entity-toolbar{flex-direction:column;align-items:stretch}.entity-name-cell{padding-left:calc(8px + var(--indent,0) * 12px)!important}}

/* Research nhanh (xem runQuickResearch trong app.js) */
.quick-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:18px 20px;margin-bottom:28px}
.quick-form{display:grid;gap:12px;margin-bottom:14px}.quick-modes{display:flex;gap:18px;flex-wrap:wrap;font-size:12px}.quick-modes label{display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.quick-form label{display:grid;gap:5px;font-size:12px;font-weight:600;color:var(--muted)}.quick-form label small{font-weight:400}.quick-form input,.quick-form textarea,.quick-form select{width:100%;border:1px solid var(--border-strong);border-radius:var(--radius);background:#fff;padding:7px 9px;font:inherit}
.quick-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(140px,1fr);gap:12px}
.quick-summary{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin:0 0 12px;font-size:12px}.quick-summary strong{font-size:14px}.quick-summary .hint{color:var(--muted);font-size:11px}
.quick-group{border-top:1px solid var(--border);padding:9px 0}.quick-group summary{cursor:pointer;font-size:12px;font-weight:600;display:flex;align-items:center;gap:8px}
.quick-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.quick-chip{display:inline-flex;align-items:center;padding:3px 9px;border:1px solid var(--border);border-radius:999px;background:#fafbfc;font-size:11px}
.quick-result .hint{color:var(--muted);font-size:11px}
@media(max-width:760px){.quick-row{grid-template-columns:1fr}.quick-panel .header-actions{width:100%}.quick-panel .header-actions .button{flex:1}}

/* Chuỗi content theo hành vi (xem buildChains trong deliverable-service.js) */
.plan-chains-title{font-size:13px;margin:0 0 10px}.plan-chain{border:1px solid var(--border);border-left:3px solid var(--blue);border-radius:var(--radius);background:var(--surface);padding:12px 14px;margin:0 0 10px}.plan-chain.supporting{border-left-color:var(--border-strong);background:#fafbfc}
.plan-chain-head{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-bottom:9px;font-size:12px}.plan-chain-head strong{font-size:13px}
.plan-chip.ok{border-color:#92d5b8;background:var(--green-soft);color:#0d6742}.plan-chip.warn{border-color:#e9c46a;background:var(--amber-soft);color:#7a5c12}
.plan-chain-path{display:flex;flex-wrap:wrap;gap:6px;align-items:stretch}.plan-step{display:flex;flex-direction:column;justify-content:center;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;font-size:12px;line-height:1.35;max-width:230px}.plan-step b{color:#214f8e;margin-right:3px}.plan-step small{color:var(--muted);font-size:10px;margin-top:3px}
.plan-arrow{align-self:center;color:var(--muted);font-weight:700}
.plan-chain-support{color:var(--muted);font-size:11px;margin:9px 0 0}
@media(max-width:760px){.plan-chain-path{flex-direction:column}.plan-step{max-width:none}.plan-arrow{transform:rotate(90deg)}}

/* Danh sách dự án + thanh việc đang chạy */
.project-list-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:20px 0 8px}.project-list-head strong{font-size:12px}
#project-search{width:100%;height:32px;border:1px solid var(--border-strong);border-radius:var(--radius);padding:0 9px;font:inherit;margin-bottom:8px}
.project-list{display:grid;gap:6px;max-height:340px;overflow:auto;overscroll-behavior:contain}
.project-item{display:grid;gap:3px;text-align:left;padding:9px 10px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;cursor:pointer;font:inherit}
.project-item:hover{border-color:var(--border-strong)}.project-item.current{border-color:var(--blue);background:var(--blue-soft)}
.project-item strong{font-size:12px;line-height:1.3}.project-item small{color:var(--muted);font-size:10px;line-height:1.4}
.project-id{font-variant-numeric:tabular-nums;opacity:.65}
.project-meta-line{display:flex;flex-wrap:wrap;gap:5px;align-items:center;font-size:10px}
.project-stage{color:var(--muted)}
.project-running{color:#7a5c12;background:var(--amber-soft);border:1px solid #e9c46a;border-radius:999px;padding:0 6px;font-weight:600}
.project-done{color:#0d6742;background:var(--green-soft);border:1px solid #92d5b8;border-radius:999px;padding:0 6px;font-weight:600}
.project-empty{color:var(--muted);font-size:11px;margin:4px 0}
.running-bar{border:1px solid #b8d2f5;background:var(--blue-soft);border-radius:var(--radius);padding:10px 13px;margin:0 0 14px}
.running-item{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;font-size:12px;padding:2px 0}
.running-item small{color:#355f99}.running-pct{font-variant-numeric:tabular-nums;font-weight:600;color:#214f8e}
.running-dot{width:7px;height:7px;border-radius:999px;background:var(--blue);animation:running-pulse 1.4s ease-in-out infinite}
@keyframes running-pulse{0%,100%{opacity:.35}50%{opacity:1}}
.running-note{display:block;color:#355f99;font-size:10px;margin-top:6px}
@media(prefers-reduced-motion:reduce){.running-dot{animation:none}}

/* Thanh Chạy tự động — nằm NGOÀI panel nên thấy được ở cả stage journey/blueprint,
   xem renderAutopilotBar trong app.js */
.autopilot-bar{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:0 0 16px;padding:14px 15px;border:1px solid #b8d2f5;border-left:4px solid var(--blue);background:var(--blue-soft);border-radius:var(--radius)}.autopilot-bar strong{display:block;font-size:13px;color:#214f8e}.autopilot-bar p{margin:3px 0 0;color:#355f99;font-size:12px;max-width:70ch}.autopilot-bar .button{flex:0 0 auto}@media(max-width:700px){.autopilot-bar{align-items:flex-start;flex-direction:column}.autopilot-bar .button{width:100%;min-height:44px}}

/* Bảng từ khoá đầy đủ trong ô chi tiết Luồng hành vi + Blueprint.
   Trước đây hai chỗ này chỉ hiện "12 keyword" và "#3435, #3482" — người duyệt
   không thấy từ khoá nào nên không duyệt được. Xem keywordListHtml trong app.js */
.kw-block{margin-top:12px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;overflow:hidden}
.kw-head{display:flex;flex-wrap:wrap;gap:10px;align-items:baseline;padding:9px 11px;background:#f6f7f9;border-bottom:1px solid var(--border);font-size:11px;color:var(--muted)}
.kw-head strong{font-size:12px;color:var(--ink)}
.kw-list{list-style:none;margin:0;padding:0;max-height:360px;overflow:auto;overscroll-behavior:contain}
.kw-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;align-items:baseline;padding:7px 11px;border-bottom:1px solid var(--border);font-size:12px}
.kw-item:last-child{border-bottom:0}
.kw-item.primary{background:var(--blue-soft)}
.kw-item.cited{box-shadow:inset 3px 0 0 var(--green)}
.kw-text{min-width:0;overflow-wrap:anywhere}
.kw-vol{font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap}
.kw-tags{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:5px;font-size:10px;color:var(--muted)}
.kw-tags span,.kw-tags em{display:inline-flex;align-items:center;height:18px;padding:0 6px;border:1px solid var(--border);border-radius:999px;font-style:normal}
.kw-tags em{border-color:#b8d2f5;background:var(--blue-soft);color:#214f8e;font-weight:600}
.kw-tags em.cite{border-color:#92d5b8;background:var(--green-soft);color:#0d6742}
.kw-empty{color:var(--muted);font-size:12px;margin:10px 0 0}
@media(max-width:760px){.kw-list{max-height:260px}}

/* Độ mới thật của job đang chạy — xem jobFreshnessText trong app.js.
   Trước đây chấm xanh nhấp nháy vô điều kiện, không phân biệt được "đang chạy
   bình thường" với "đứng im từ lâu" hay "mất kết nối tới server". */
.running-fresh{color:var(--muted);font-variant-numeric:tabular-nums}
.running-item.stale{opacity:.9}
.running-dot.stale{background:var(--amber);animation:none}
.running-fresh.stale{color:var(--amber);font-weight:600}
.autopilot-line.stale .running-fresh{color:var(--amber);font-weight:600}
.running-issue{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;padding:6px 0;color:#704a00;border-bottom:1px dashed #e9c46a;margin-bottom:6px}
.running-issue small{color:#8a6100}

/* ═══ Kế hoạch đa nền tảng ═══ */
.platform-panel{margin-top:32px}
.platform-step{border:1px solid var(--border);background:#fff;padding:16px;margin-top:12px}
.platform-step-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.platform-step .eyebrow{margin:0 0 10px}
.platform-choices{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.platform-choice{display:flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid var(--border-strong);border-radius:var(--radius);background:#fff;font-size:12px;cursor:pointer}
.platform-choice small{color:var(--muted);font-size:10px}
.platform-choice.all{font-weight:700}
.platform-choice:has(input:checked){border-color:var(--blue);background:var(--blue-soft)}
.platform-matrix-wrap{max-width:100%;max-height:520px;overflow:auto;border:1px solid var(--border);margin:10px 0}
.platform-matrix{border-collapse:collapse;width:100%;font-size:11px}
.platform-matrix th,.platform-matrix td{border-bottom:1px solid var(--border);padding:5px 8px;text-align:center}
.platform-matrix thead th{position:sticky;top:0;z-index:1;background:#f4f6f9;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#475467;white-space:nowrap}
.platform-matrix thead th small{display:block;text-transform:none;letter-spacing:0;font-weight:500;color:var(--muted)}
.platform-matrix tbody th{text-align:left;font-weight:500;min-width:220px}
.platform-matrix tbody th small{display:block;color:var(--muted);font-size:10px}
.platform-entity.micro{padding-left:12px}
.platform-cell{width:26px;height:26px;border:1px solid var(--border-strong);border-radius:4px;background:#fff;color:var(--blue);font-weight:700;cursor:pointer}
.platform-cell.suggested{border-style:dashed}
.platform-cell.on{background:var(--blue-soft);border-color:var(--blue);border-style:solid}
.platform-actions{display:flex;gap:8px;justify-content:flex-end}
.platform-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.platform-card{border:1px solid var(--border);border-radius:var(--radius);padding:12px;font-size:12px}
.platform-card header{display:flex;flex-direction:column;margin-bottom:6px}
.platform-card header small,.platform-card.empty p{color:var(--muted)}
.platform-card p{margin:3px 0}
.platform-card.selected{border-color:var(--blue);box-shadow:inset 3px 0 0 var(--blue)}
.platform-basis{color:var(--muted);font-size:11px}
.platform-stale{color:#704a00;background:var(--amber-soft);padding:4px 6px;font-size:11px}
.platform-card-actions{display:flex;gap:6px;margin-top:8px}
.platform-view{margin-top:14px}
.platform-view-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.platform-table-wrap{max-width:100%;overflow:auto;border:1px solid var(--border)}
.platform-table{border-collapse:collapse;font-size:11px;min-width:900px}
.platform-table th,.platform-table td{border-bottom:1px solid var(--border);padding:7px 9px;text-align:left;vertical-align:top}
.platform-table thead th{background:#f4f6f9;position:sticky;top:0}
.platform-table td small{display:block;color:var(--muted);font-size:10px;margin-top:2px}
.basis-tag{display:inline-block;padding:2px 6px;font-size:10px;border-radius:3px;background:#f1f3f6;color:#475467}
.basis-tag.google_search{background:#e6f5ee;color:var(--green)}

/* ═══ Hồ sơ sản phẩm (không bắt buộc) ═══ */
.product-panel{padding:0}
.product-panel>details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;cursor:pointer;list-style:none}
.product-panel>details>summary::-webkit-details-marker{display:none}
.product-panel>details>summary::before{content:'▸';color:var(--muted);margin-right:6px}
.product-panel>details[open]>summary::before{content:'▾'}
.product-summary-title{font-weight:700;font-size:13px;flex:1}
.product-summary-title em{font-weight:400;color:var(--muted);font-style:normal}
.product-panel>details>*:not(summary){margin-left:18px;margin-right:18px}
.product-panel>details[open]{padding-bottom:16px}
.product-add{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;margin:10px 18px 4px}
.product-add label{display:grid;gap:5px;flex:1;min-width:240px;color:var(--muted);font-size:11px;font-weight:600}
.product-add input{width:100%;height:38px;padding:0 10px;border:1px solid var(--border-strong);border-radius:var(--radius)}
.product-list{display:grid;gap:10px;margin-top:10px}
.product-card{border:1px solid var(--border);border-radius:var(--radius);padding:12px;background:#fff}
.product-card header{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.product-card header strong{flex:1;font-size:13px}
.product-source{font-size:10px;color:var(--muted);background:#f1f3f6;padding:2px 6px;border-radius:3px}
.product-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.product-fields label{display:grid;gap:4px;color:var(--muted);font-size:11px;font-weight:600}
.product-fields input{height:34px;padding:0 9px;border:1px solid var(--border-strong);border-radius:var(--radius);width:100%}
.product-fields label:has(textarea){grid-column:span 1}
.product-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:12px}
@media(max-width:760px){.product-fields{grid-template-columns:1fr}}
