/* Cụm K2 (CONTRACT §41): hồ sơ năng lực 3 bước, Gói hợp với bạn, Giấy tờ phải nộp. Token màu của app.css. */
/* ---- Hồ sơ 3 bước ---- */
.pf-h{padding-bottom:10px}
.pf-steps{list-style:none;margin:0 16px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-width:760px}
.pf-steps a{display:flex;align-items:center;gap:8px;min-height:44px;padding:6px 8px;border-radius:10px;border:1px solid var(--rule-2);background:var(--sheet);color:var(--ink-2);text-decoration:none;font-size:12.5px;font-weight:600;line-height:1.2}
.pf-steps b{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--muted-soft);font:600 13px/1 var(--f-num)}
.pf-steps b .ic{width:14px;height:14px;stroke-width:2.4}
.pf-steps a[aria-current="step"]{border-color:var(--accent);color:var(--ink);box-shadow:inset 0 -2px 0 var(--accent)}
.pf-steps a[aria-current="step"] b{background:var(--accent);color:var(--accent-ink)}
.pf-steps a.done b{background:var(--accent-soft);color:var(--accent)}
.pf-steps span{min-width:0;overflow-wrap:anywhere}
.pf-score{margin:10px 16px 0;max-width:760px}
.pf-score:empty{display:none}
.pf-score-on{display:flex;align-items:center;gap:10px;min-height:52px;padding:8px 12px;border-radius:var(--r-lg);background:var(--accent-soft);color:var(--ink);text-decoration:none}
.pf-score-on b{font-size:24px;color:var(--accent)}
.pf-score-on span{flex:1;font-size:13.5px;line-height:1.35}
.pf-score-on .ic{color:var(--accent);flex:none}
.pf-score-empty{display:flex;gap:8px;align-items:flex-start;margin:0;padding:10px 12px;border-radius:var(--r-lg);background:var(--sheet-2);border:1px dashed var(--rule);font-size:13px;color:var(--ink-2)}
.pf-score-empty .ic{flex:none;color:var(--ink-3);margin-top:1px}
.pf{padding-bottom:12px}
.pf .field{margin-top:12px}
.pf-tax{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.pf-tax input,.pf-unit input{width:100%;min-height:46px;border:1px solid var(--rule);border-radius:10px;background:var(--paper);padding:0 12px;font-size:16px}
.pf-tax .tbtn{min-height:46px}
.pf-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
.pf-two .fsel{min-height:46px}
.pf-unit{position:relative;display:block}
.pf-unit input{padding-right:70px}
.pf-unit span{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:13px;color:var(--ink-3);pointer-events:none}
.pf-sub{margin:12px 0 6px!important}
.pf .pill{min-height:40px;padding:0 13px;font-size:13.5px}
.pf-switch{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer;font-weight:600}
.pf-switch input{width:20px;height:20px;accent-color:var(--accent)}
.pf-prov{margin-top:6px}
.pf-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.pf-chips:empty{display:none}
.pf-chips .chip{min-height:36px;cursor:pointer}
.pf-select select{width:100%;min-height:46px;border:1px solid var(--rule);border-radius:10px;background:var(--paper);padding:0 12px;font-size:15px}
.pf-more summary{min-height:44px}
.pf-more summary small{font-weight:400;color:var(--ink-3);margin:0 auto 0 6px;background:none;padding:0}
.linkbtn{border:0;background:none;padding:0;color:var(--bad,var(--seal));font:inherit;text-decoration:underline;cursor:pointer;min-height:32px}
.pf-bar{position:sticky;bottom:calc(var(--tab) + 6px);z-index:5;display:flex;align-items:center;gap:8px;margin-top:14px;padding:10px;border:1px solid var(--rule-2);border-radius:var(--r-lg);background:var(--sheet);box-shadow:var(--shadow-1,var(--shadow))}
.pf-saved{flex:1 1 100%;order:-1;font-size:12px;color:var(--ink-3);min-height:16px}
.pf-saved:empty{display:none}
.pf-bar{flex-wrap:wrap}
.pf-bar .btn-primary{flex:1;min-width:0;min-height:48px}
.pf-back{display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:var(--ink);padding:0 14px;min-height:48px}
@media (min-width:760px){
  .pf-steps{margin:0 16px;gap:8px}
  .pf-steps a{font-size:13.5px;padding:8px 12px}
  .pf-bar{flex-wrap:nowrap}
  .pf-saved{flex:1 1 auto;order:0}
  .pf-bar .btn-primary{flex:0 0 auto;min-width:260px}
}
@media (min-width:1024px){.pf-bar{bottom:10px}}
@media (max-width:389px){.pf-steps span{font-size:11.5px}.pf-back span{display:none}}

/* ---- Gói hợp với bạn ---- */
.gy{padding:0 16px 32px;max-width:900px;display:grid;gap:12px}
.gy-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.gy-sum{margin:0;font-size:14px;color:var(--ink-2)}
.gy-sum b{font-size:22px;color:var(--ink)}
.gy-seg{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.gy-seg::-webkit-scrollbar{display:none}
.gy-seg a{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--rule);background:var(--sheet);color:var(--ink);text-decoration:none;font-size:13.5px;font-weight:600}
.gy-seg a small{font:600 12.5px/1 var(--f-num);color:var(--ink-3)}
.gy-seg a[aria-pressed="true"]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.gy-seg a[aria-pressed="true"] small{color:var(--accent)}
.gy-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.gy-card{background:var(--sheet);border:1px solid var(--rule-2);border-radius:var(--r-lg);padding:12px 14px;min-width:0}
.gy-title{display:block;font-weight:600;font-size:15px;line-height:1.4;color:var(--ink);text-decoration:none;overflow-wrap:anywhere}
.gy-title:hover{text-decoration:underline}
.gy-meta{margin:4px 0 0;font-size:13px;color:var(--ink-3);overflow-wrap:anywhere}
.gy-score{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:8px 0 0;font-size:13px;color:var(--ink-2)}
.gy-score b{font-size:20px;color:var(--ink)}
.gy-due{display:inline-flex;align-items:center;gap:4px;margin-left:auto;color:var(--ink-3);font-size:12.5px}
.gy-due .ic{width:14px;height:14px}
.gy-reasons{list-style:none;margin:8px 0 0;padding:8px 0 0;border-top:1px solid var(--rule-2);display:grid;gap:4px}
.gy-r{display:grid;grid-template-columns:18px minmax(0,1fr);gap:6px;font-size:13px;line-height:1.4;color:var(--ink-2)}
.gy-r .ic{width:15px;height:15px;margin-top:2px}
.gy-r.good .ic{color:var(--ok,var(--accent))}
.gy-r.bad .ic{color:var(--bad,var(--seal))}
.gy-r.warn .ic{color:var(--warn,var(--gold))}
.gy-more{justify-self:center;min-width:200px}
.gy-empty{display:grid;gap:10px}
.gy-empty p{margin:0;font-size:14px;color:var(--ink-2)}
.gy-empty .gy-empty-h{display:flex;gap:8px;align-items:center;font-weight:600;color:var(--ink);font-size:15px}
.gy-empty .btn-primary{justify-self:start}
.gy-mail{display:grid;gap:8px;padding:12px 14px;border-radius:var(--r-lg);background:var(--sheet-2);border:1px solid var(--rule-2)}
.gy-mail>p{display:flex;gap:8px;align-items:flex-start;margin:0;font-size:13.5px;color:var(--ink-2)}
.gy-mail>p .ic{flex:none;color:var(--accent);margin-top:1px}
.gy-mail-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.gy-mail-row input{min-height:46px;border:1px solid var(--rule);border-radius:10px;background:var(--sheet);padding:0 12px;font-size:16px;min-width:0}
.gy-mail.on{grid-template-columns:minmax(0,1fr) auto;align-items:center}
.gy-msg{margin:0;font-size:13px;color:var(--bad,var(--seal));min-height:0}
.gy-msg:empty{display:none}
.goi-y-banner{margin:10px 12px 0}
.goi-y-banner[hidden]{display:none}
.gy-banner{display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 12px;border-radius:var(--r-lg);border:1px solid var(--rule);background:var(--sheet);color:var(--ink);text-decoration:none;font-size:13.5px;line-height:1.35}
.gy-banner span{flex:1;min-width:0}
.gy-banner .ic{flex:none;color:var(--accent)}
.gy-banner.on{border-style:solid;background:var(--accent-soft)}
.gy-banner.on b{font-size:18px;color:var(--accent)}
@media (max-width:389px){.gy-mail-row{grid-template-columns:1fr}.gy-due{margin-left:0}}

/* ---- Giấy tờ phải nộp ---- */
.gt-intro{margin:0;font-size:13.5px;color:var(--ink-2)}
.gt-label{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;min-width:0}
.gt-form{font-size:12px;font-weight:600;padding:1px 7px;border-radius:6px;background:var(--muted-soft);color:var(--ink-2);white-space:nowrap}
.gt-when{flex-basis:100%;font-size:12.5px;color:var(--warn,var(--gold))}
.gt-more{margin:2px 0 0 36px}
.gt-detail{margin:0 0 2px;font-size:13px;color:var(--ink-2);white-space:pre-line;overflow-wrap:anywhere}
.gt-more .bl-src{margin:0}
.gt-src{margin:4px 0 0}
.gt .bl-label{overflow-wrap:anywhere}
.gt .bl-check{min-height:36px}
/* ---- E6 hợp đồng đã trúng, E7 cạnh tranh ở bên mời thầu ---- */
.pf-wins:empty{display:none}
.pf-wins{margin:10px 0 0;padding:10px 12px;border-radius:var(--r-lg);background:var(--accent-soft);font-size:13px}
.pf-wins-h{display:flex;gap:6px;align-items:flex-start;margin:0 0 6px;color:var(--ink)}
.pf-wins-h .ic{flex:none;color:var(--accent);margin-top:1px}
.pf-wins ul{margin:0;padding-left:20px;display:grid;gap:4px}
.pf-wins a{overflow-wrap:anywhere}
.kn{display:grid;gap:8px}
.kn-head{margin:0;font-size:13.5px;color:var(--ink-2)}
.kn-list{margin:0;display:grid;gap:6px}
.kn-list div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 12px;padding:6px 0;border-top:1px solid var(--rule-2)}
.kn-list div:first-child{border-top:0}
.kn-list dt{color:var(--ink-2);font-size:13.5px;min-width:0}
.kn-list dd{margin:0 0 0 auto;text-align:right}
.kn-list dd b{font-weight:600}
.kn-list dd small{display:block;font-size:12px;color:var(--ink-3)}
.kn-fit{margin:0;font-size:13.5px}
.gt .bl-check{min-height:44px}
.gt-mau{margin:0 0 6px;font-size:13.5px;font-weight:600;color:var(--ink)}
.gt-mau .gt-cite{font-size:inherit;font-weight:500}
.gt-own{font-size:12px;font-weight:600;padding:1px 7px;border-radius:6px;background:var(--accent-soft);color:var(--accent);white-space:nowrap}
.bl-h .gt-own{margin-left:4px;vertical-align:1px}
.gt-cite{color:var(--accent);font-size:12px;overflow-wrap:anywhere}
.gt-cites{display:block;margin-top:2px;font-size:12px;color:var(--ink-3)}
.gt-see{margin:2px 0 0;font-size:13px}
.gt-see a{display:inline-flex;align-items:center;min-height:32px;position:relative;z-index:1}
.gt-reject .gt-see{margin-bottom:14px}
.gt-pit{margin:2px 0 4px;font-size:13px;color:var(--ink-2)}
.gt-pit summary{cursor:pointer;color:var(--gold);font-weight:600;min-height:44px;display:inline-flex;align-items:center;gap:6px}
.gt-pit summary .ic{width:15px;height:15px}
.gt-pit ul{margin:0 0 6px;padding-left:18px}
.gt-pit li{margin:4px 0;line-height:1.45}
.gt-common{border:1px solid var(--gold-soft);background:color-mix(in srgb,var(--gold-soft) 45%,var(--sheet));border-radius:var(--r);padding:2px 12px}
.gt-common .gt-pit{margin:0}
.gt-common .gt-pit summary{min-height:44px;font-size:13.5px}
.gt-reject{border:1px solid var(--rule);border-radius:var(--r);padding:8px 12px}
.gt-reject .bl-h{justify-content:flex-start;align-items:center;margin:0 0 4px}
.gt-reject .bl-h .ic{width:16px;height:16px;color:var(--gold);flex:none}
.gt-reject>ul{margin:0;padding-left:18px;font-size:13.5px}
.gt-reject>ul>li{margin:6px 0}
.gt-reject p{margin:0;line-height:1.45}
.gt-sub{margin:4px 0 0;padding-left:16px;font-size:13px;color:var(--ink-2)}
.gt-note{margin:0;font-size:12.5px;color:var(--ink-3)}
.gt-all{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;margin:4px 0 0;border:1px solid var(--rule);border-radius:var(--r);background:var(--sheet);color:var(--accent);font-weight:600;font-size:13.5px}
.gt-rest{border-top:1px solid var(--rule-2)}
