:root{--ink:#1d2d28;--muted:#66736d;--green:#2f5d50;--gold:#d5a45f;--blue:#6f8fa0;--cream:#fff8e8;--paper:#fffdf8;--line:#dfd0b5;--danger:#bc584e;--warn:#c1872d;--good:#3b7c58}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:linear-gradient(135deg,#f7ead4,#edf4f1);color:var(--ink);line-height:1.5}.shell{max-width:1180px;margin:auto;padding:28px 18px}.hero{min-height:90vh;display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center}.kicker{text-transform:uppercase;letter-spacing:.14em;color:#9b6d43;font-weight:700;font-size:12px}.hero h1{font-size:clamp(40px,7vw,82px);line-height:1.02;margin:12px 0;color:#18352d}.lead{font-size:20px;color:#40514b;max-width:780px}.card{background:rgba(255,255,255,.82);border:1px solid rgba(111,95,62,.18);box-shadow:0 24px 80px rgba(51,44,30,.12);border-radius:28px;padding:24px}.triad{display:grid;gap:14px}.triad div,.metric,.block-card,.question{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:16px}.triad b{color:var(--green);font-size:18px}button{border:0;border-radius:999px;background:var(--green);color:white;font-weight:700;padding:12px 18px;cursor:pointer;box-shadow:0 10px 24px rgba(47,93,80,.22)}button.secondary{background:#fff;color:var(--green);border:1px solid var(--line);box-shadow:none}button.danger{background:var(--danger)}button:disabled{opacity:.45;cursor:not-allowed}.topbar{position:sticky;top:0;background:rgba(247,238,222,.92);backdrop-filter:blur(10px);z-index:5;border-bottom:1px solid var(--line)}.topbar-inner{max-width:1180px;margin:auto;padding:12px 18px;display:flex;justify-content:space-between;align-items:center;gap:12px}.progress{height:8px;background:#eadbc0;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--gold));width:0}.grid{display:grid;gap:18px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.question h3{margin:0 0 6px;color:var(--green)}.question p{font-size:18px;margin:8px 0 14px}.scale{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.scale label{display:grid;place-items:center;padding:10px;border:1px solid var(--line);border-radius:14px;background:white;cursor:pointer}.scale input{display:none}.scale label:has(input:checked){background:var(--green);color:white;border-color:var(--green);transform:translateY(-1px)}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.muted{color:var(--muted)}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700;background:#f3ead9;color:#725634}.pill.good{background:#e7f3eb;color:var(--good)}.pill.warn{background:#fff2d7;color:var(--warn)}.pill.danger{background:#fae6e3;color:var(--danger)}.dash-head{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:42px;align-items:center;margin:12px 0 28px}.dash-head.fixed{overflow:visible}.score-panel{display:flex;align-items:center;justify-content:center;min-width:0}.score-ring{width:min(320px,100%);max-width:320px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--green) calc(var(--score)*1%),#eadbc0 0);padding:18px;position:relative;z-index:1;box-shadow:0 18px 46px rgba(47,93,80,.12)}.score-inner{width:100%;height:100%;border-radius:50%;background:var(--paper);display:grid;place-items:center;text-align:center;padding:20px}.score-num{font-size:52px;font-weight:700;color:var(--green)}.overview-card{position:relative;z-index:2}.bar{height:14px;background:#eadbc0;border-radius:999px;overflow:hidden}.bar span{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--gold));border-radius:999px}.block-card{display:grid;gap:10px}.block-card header{display:flex;justify-content:space-between;gap:8px;align-items:start}.metric strong{display:block;font-size:32px;color:var(--green)}.recommend{border-left:6px solid var(--gold);background:#fff4dd;border-radius:18px;padding:16px;margin-top:16px}.footer-note{font-size:13px;color:var(--muted);margin-top:20px}.field{display:grid;gap:7px;font-weight:700;color:var(--green)}.field input,.field textarea{width:100%;border:1px solid var(--line);border-radius:16px;padding:13px 14px;background:white;color:var(--ink);font:inherit}.field.full{margin-top:18px}.form-card{max-width:960px}.contact-card{margin-top:28px;padding:16px 18px;border:1px solid var(--line);border-radius:20px;background:rgba(255,253,248,.72);display:flex;gap:14px;flex-wrap:wrap;align-items:center;color:var(--muted)}.contact-card b{color:var(--green)}.contact-card a{color:var(--green);font-weight:700;text-decoration:none}.submit-state{font-weight:700;margin-top:12px}.submit-state.ok{color:var(--good)}.submit-state.warn{color:var(--warn)}@media(max-width:900px){.hero,.dash-head,.grid.two,.grid.three{grid-template-columns:1fr}.dash-head{gap:18px}.score-ring{max-width:240px}.topbar-inner{align-items:flex-start;flex-direction:column}.scale{grid-template-columns:repeat(5,1fr)}}
.privacy-note{background:#fff4dd;border:1px solid var(--line);border-radius:16px;padding:12px 14px;color:#725634}.honeypot{position:absolute;left:-10000px;opacity:0;height:0;overflow:hidden}.consent{display:flex;gap:10px;align-items:flex-start;margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fffdf8;color:var(--ink);font-weight:700}.consent input{margin-top:4px}

/* Report v1 */
.portrait{font-size:16px;line-height:1.65}
.small{font-size:12.5px}
.tone-good{border-color:#bfe0cb}
.tone-warn{border-color:#eccf9a}
.tone-danger{border-color:#e6b8b2}
.fill-good{background:linear-gradient(90deg,#3b7c58,#6fae86)!important}
.fill-warn{background:linear-gradient(90deg,#c1872d,#e0b565)!important}
.fill-danger{background:linear-gradient(90deg,#bc584e,#d98a82)!important}
.report-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:8px}
.report-card header{display:flex;justify-content:space-between;gap:8px;align-items:start}
.report-card p{margin:0;font-size:14px}
.good-card{border-left:6px solid var(--good)}
.gap-card{border-left:6px solid var(--gold)}
.program-card{border-left:6px solid var(--green);background:#f3f8f4}
.invite-card{border-left:6px solid var(--gold);background:#fff4dd}
.btn-contact{display:inline-block;text-decoration:none;background:var(--green);color:#fff;font-weight:700;padding:12px 18px;border-radius:999px;box-shadow:0 10px 24px rgba(47,93,80,.22)}
.btn-contact.secondary{background:#fff;color:var(--green);border:1px solid var(--line);box-shadow:none}

/* Priority badge (định tính) */
.block-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:2px}
.prio-badge{font-size:11.5px;font-weight:600;color:var(--green);background:#eef4f0;border:1px solid var(--line);border-radius:999px;padding:2px 10px;white-space:nowrap}
.legend-note{margin-top:6px}

/* Foundation layer */
.foundation-section{border-left:6px solid var(--gold)}
.cond-banner{border-radius:12px;padding:10px 12px;margin:8px 0;font-size:13.5px;font-weight:600}
.cond-banner.critical{background:#fdecea;border:1px solid #e6b8b2;color:#a3382c}
.cond-banner.watch{background:#fff4dd;border:1px solid #eccf9a;color:#8a6316}

/* Đào sâu cấu phần */
.deepfac.suggest{background:var(--green);color:#fff;border-color:var(--green)}

/* Score help + hints */
.hint{margin-top:6px;font-style:italic}
details.score-help{margin-top:14px;border:1px solid var(--line);border-radius:12px;padding:8px 12px;background:#faf9f6}
details.score-help summary{cursor:pointer;font-weight:700;color:var(--green)}
details.score-help ul{margin:8px 0 2px;padding-left:18px}
details.score-help li{font-size:13.5px;margin:4px 0}

/* Tagline formula */
.formula{font-weight:700;color:var(--green);font-size:15px;margin:2px 0 10px;letter-spacing:.2px}
