/* HAJIME Team Hoa V1 Core — chỉ bổ sung component, giữ Design System PATCH06 làm chủ đạo. */
.fv1-metrics{margin-bottom:16px}.fv1-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr);gap:16px;margin-bottom:16px}.fv1-project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}.fv1-project-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;text-align:left;border:1px solid var(--border);background:var(--surface,#fff);border-radius:14px;padding:16px;cursor:pointer;color:inherit}.fv1-project-card:hover{border-color:var(--primary);box-shadow:0 7px 20px rgba(39,67,89,.08)}.fv1-project-card h3{margin:5px 0;font-size:18px}.fv1-project-card p{margin:0;color:var(--muted)}.fv1-project-card-stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding-top:12px;border-top:1px solid var(--border)}.fv1-project-card-stats span,.fv1-info-grid span{display:flex;flex-direction:column;min-width:0}.fv1-project-card-stats small,.fv1-info-grid small,.fv1-equation small{color:var(--muted);font-size:11px}.fv1-project-card-stats b{white-space:normal;font-size:13px}.fv1-compact-list{display:flex;flex-direction:column;gap:8px}.fv1-compact-list>button{border:1px solid var(--border);background:#fff;border-radius:10px;padding:10px 12px;text-align:left;display:flex;flex-direction:column;gap:3px;color:inherit}.fv1-compact-list span{font-size:12px;color:var(--muted)}.fv1-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--border)}.fv1-line:last-child{border-bottom:0}.fv1-line>div{display:flex;flex-direction:column;min-width:0}.fv1-line small{color:var(--muted)}.fv1-intake-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px}.fv1-intake-card .card-body{display:flex;flex-direction:column;gap:14px}.fv1-row-between{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.fv1-row-between h3{margin:4px 0}.fv1-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px;background:var(--bg,#f7f8fa);border-radius:10px}.fv1-info-grid b{font-size:13px;overflow-wrap:anywhere}.fv1-project-header{margin-bottom:0}.fv1-project-tabs{margin-bottom:16px;overflow-x:auto;scrollbar-width:thin}.fv1-project-tabs .tab-btn{white-space:nowrap}.fv1-list-toolbar{display:flex;justify-content:space-between;margin:4px 0 12px}.fv1-list-toolbar>div{display:flex;flex-direction:column}.fv1-list-toolbar span{font-size:12px;color:var(--muted)}.fv1-requirements{display:flex;flex-direction:column;gap:12px}.fv1-requirement{overflow:hidden}.fv1-requirement summary{list-style:none;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(480px,1fr);gap:14px;align-items:center;padding:14px 16px;cursor:pointer}.fv1-requirement summary::-webkit-details-marker{display:none}.fv1-req-title{display:grid;grid-template-columns:78px minmax(0,1fr);gap:12px;align-items:center;min-width:0}.fv1-req-title h3{margin:2px 0 4px;font-size:16px}.fv1-req-title p{margin:0;color:var(--muted);font-size:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.fv1-thumb{width:72px;height:72px;border-radius:10px;object-fit:cover;border:1px solid var(--border);background:#f4f5f6}.fv1-fallback{display:grid;place-items:center;font-size:28px}.fv1-req-metrics{display:grid;grid-template-columns:repeat(4,minmax(88px,1fr)) auto;gap:8px;align-items:center}.fv1-req-metrics span:not(.chip){display:flex;flex-direction:column;min-width:0}.fv1-req-metrics small{font-size:10px;color:var(--muted)}.fv1-req-metrics b{font-size:12px;overflow-wrap:anywhere}.fv1-req-body{border-top:1px solid var(--border);padding:14px 16px;background:#fbfcfd}.fv1-list-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.fv1-list-head>div:first-child{display:flex;flex-direction:column}.fv1-list-head small{color:var(--muted)}.fv1-flower-rows{display:flex;flex-direction:column;gap:6px}.fv1-flower-row{display:grid;grid-template-columns:minmax(260px,1.3fr) minmax(180px,.75fr) minmax(190px,.8fr) 130px 115px;gap:10px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:10px;padding:9px}.fv1-flower-ident{display:grid;grid-template-columns:48px minmax(0,1fr);gap:9px;align-items:center}.fv1-flower-ident .fv1-thumb{width:48px;height:48px}.fv1-flower-ident>div{display:flex;flex-direction:column;min-width:0}.fv1-flower-ident small{color:var(--muted);overflow-wrap:anywhere}.fv1-equation{display:flex;flex-direction:column;min-width:0}.fv1-equation b{font-size:12px;overflow-wrap:anywhere}.fv1-row-actions{display:flex;justify-content:flex-end;gap:4px;flex-wrap:wrap}.btn.danger{color:#a13b3b}.fv1-search-inline{display:flex;gap:7px;align-items:center}.fv1-search-inline input{min-width:220px}.fv1-toolbar-right{justify-content:flex-end;margin-bottom:12px}.fv1-order{display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px;padding:12px 0;border-bottom:1px solid var(--border)}.fv1-order>div:first-child{display:flex;flex-direction:column}.fv1-order-versions{display:flex;gap:8px;flex-wrap:wrap}.fv1-order-versions>span{display:flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:10px;padding:6px 8px}.fv1-deep-placeholder{min-height:260px}.fv1-material-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:10px}.fv1-material-card{display:grid;grid-template-columns:74px minmax(0,1fr);gap:12px;border:1px solid var(--border);border-radius:12px;padding:10px;background:#fff}.fv1-material-main{display:flex;flex-direction:column;gap:8px;min-width:0}.fv1-material-main small,.fv1-product small{display:block;color:var(--muted)}.fv1-source-chips{display:flex;gap:5px;flex-wrap:wrap}.fv1-source-chips span{font-size:11px;background:#f4f6f7;padding:4px 7px;border-radius:999px}.fv1-quality-line{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.fv1-quality-line span{border-radius:999px;background:#f4f6f7;padding:5px 9px;font-size:12px}.fv1-quality-line .warning{background:#fff5df}.fv1-product{display:grid;grid-template-columns:74px minmax(0,1fr);gap:12px;border:1px solid var(--border);border-radius:12px;padding:10px}.fv1-change{display:flex;flex-direction:column;gap:8px;padding:12px 0;border-bottom:1px solid var(--border)}.fv1-change>div:first-child{display:flex;flex-direction:column}.fv1-diff{display:grid;grid-template-columns:1fr 1fr;gap:8px}.fv1-diff span{display:flex;flex-direction:column;background:#f7f8fa;border-radius:8px;padding:8px;min-width:0}.fv1-diff code{white-space:pre-wrap;overflow-wrap:anywhere;font-size:10px}.fv1-price-tabs{margin-bottom:12px}
@media(max-width:1280px){.fv1-dashboard-grid{grid-template-columns:1fr}.fv1-requirement summary{grid-template-columns:1fr}.fv1-flower-row{grid-template-columns:minmax(220px,1.3fr) minmax(160px,.8fr) minmax(170px,.9fr) 120px 105px}.fv1-project-card-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.fv1-flower-row{grid-template-columns:1fr}.fv1-req-metrics{grid-template-columns:repeat(2,1fr)}.fv1-info-grid{grid-template-columns:1fr 1fr}.fv1-material-grid{grid-template-columns:1fr}.fv1-diff{grid-template-columns:1fr}.fv1-order{grid-template-columns:1fr}.fv1-project-card-stats{grid-template-columns:1fr 1fr}}
.fv1-source-chip{border:1px solid var(--border,#e5e7eb);background:var(--surface,#fff);border-radius:999px;padding:5px 9px;font:inherit;color:inherit;cursor:pointer}.fv1-source-chip:hover{border-color:var(--primary,#2563eb);box-shadow:0 0 0 2px rgba(37,99,235,.08)}


/* TEAM HOA V1 CORE CANDIDATE02 */
.fv1-missing-supplier{border-left:3px solid #e6a23c;background:#fffaf1}
.fv1-warn-text{color:#a15c00!important;font-weight:700}
.fv1-attention{outline:3px solid rgba(230,162,60,.35);box-shadow:0 0 0 5px rgba(230,162,60,.12)}
.fv1-source-preview,.fv1-callout,.fv1-order-readiness,.fv-shared-price-note{margin-top:8px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:#f8fafc;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.fv1-source-preview small,.fv1-callout small{display:block;width:100%;color:var(--muted)}
.fv1-snapshot-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.fv1-snapshot-field small{grid-column:1/-1;color:var(--muted)}
.fv1-split-grid{display:grid;gap:8px;margin:14px 0}.fv1-split-grid label{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:12px;align-items:center;border:1px solid var(--border);border-radius:10px;padding:10px}.fv1-split-grid small{display:block;color:var(--muted);margin-top:3px}
.fv1-order-readiness{justify-content:space-between;margin-bottom:12px}.fv1-order-readiness.warning{border-color:#f0c36d;background:#fffaf0}.fv1-order-readiness.ready{border-color:#a9d8b5;background:#f2fbf5}.fv1-order-readiness small{display:block;color:var(--muted);margin-top:4px}
.fv1-diff-table{border:1px solid var(--border);border-radius:10px;overflow:hidden;margin:10px 0}.fv1-diff-table>div{display:grid;grid-template-columns:150px minmax(0,1fr) minmax(0,1fr);gap:0}.fv1-diff-table>div>*{padding:8px 10px;border-bottom:1px solid var(--border)}.fv1-diff-table>div:last-child>*{border-bottom:0}.fv1-diff-table .head{background:#f6f8fb;font-weight:700}.fv1-order-impact{padding:9px 11px;border-radius:9px;background:#fff3e5;color:#7a4600;margin:8px 0}
.fv-shared-price-note{margin:12px 0}.fv-shared-price-note span{color:var(--muted)}
@media(max-width:900px){.fv1-snapshot-field,.fv1-split-grid label{grid-template-columns:1fr}.fv1-diff-table>div{grid-template-columns:110px 1fr 1fr}}

/* TEAM HOA V1 CORE CANDIDATE03 */
.fv1-precontract-note{border-left:3px solid #8aa6cf;background:#f8fbff;margin-bottom:14px}
.fv1-precontract-note p{margin:6px 0 0;color:var(--muted,#667085)}
.fv1-stage-value{font-size:16px!important;line-height:1.35}
.fv1-shared-price-note{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:11px 14px;margin:12px 0;border:1px solid var(--line,#e4e7ec);border-radius:12px;background:#fafbfc}
.fv1-shared-price-note span{color:var(--muted,#667085);font-size:13px;text-align:right}
@media(max-width:900px){.fv1-shared-price-note{align-items:flex-start;flex-direction:column}.fv1-shared-price-note span{text-align:left}}
/* Candidate05B */
.c05b-prelist-note{display:flex;gap:10px;align-items:center;margin:0 16px 10px;padding:9px 12px;border-radius:10px;background:#fff7e8;border:1px solid #ecd7aa;color:#6a5333}.c05b-prelist-note b{white-space:nowrap;font-size:12px}.c05b-prelist-note span{font-size:12px}.c05b-diff-summary{display:flex;align-items:center;gap:12px;margin:10px 0}.c05b-diff-summary>span:not(:nth-child(2)){padding:8px 10px;border:1px solid #e5e7eb;border-radius:8px;min-width:180px}.c05b-diff-summary small{display:block;color:#6b7280}.c05b-diff-item{display:grid;grid-template-columns:minmax(140px,1fr) minmax(100px,.7fr) 24px minmax(140px,1fr) minmax(100px,.7fr);gap:8px;align-items:center;padding:7px 0;border-top:1px solid #eee;font-size:12px}.c05b-lifecycle-actions{display:flex;align-items:center;margin-left:auto}.c05b-contract-diff .btn{margin-top:10px}
