.nva-pcafc,
.nva-pcafc * { box-sizing: border-box; }

.nva-pcafc {
  --nva-primary:#17395c;
  --nva-primary-dark:#0d2748;
  --nva-accent:#d6bd78;
  --nva-surface:#f4eee4;
  --nva-paper:#fffdf8;
  --nva-text:#29455e;
  --nva-muted:#5f6f7d;
  --nva-border:#d8d0c2;
  --nva-eyebrow:#756331;
  --nva-warning:#8a5a16;
  --nva-warning-accent:#c59632;
  --nva-accent-soft:rgba(214,189,120,.16);
  --nva-focus:rgba(214,189,120,.62);
  --nva-shadow:rgba(13,39,72,.11);
  --nva-on-primary:#fff;
  --nva-on-primary-muted:#dbe3ea;
  --nva-on-primary-accent:#eadcae;
  --nva-on-accent:#111820;
  --nva-track:#e7e1d7;
  width:100%; color:var(--nva-primary); font-family:Arial,Helvetica,sans-serif;
}

.nva-pcafc--theme-navigatingva {
  --nva-primary:#17395c; --nva-primary-dark:#0d2748; --nva-accent:#d6bd78;
  --nva-surface:#f4eee4; --nva-paper:#fffdf8; --nva-text:#29455e;
  --nva-muted:#5f6f7d; --nva-border:#d8d0c2; --nva-eyebrow:#756331;
  --nva-accent-soft:rgba(214,189,120,.16); --nva-focus:rgba(214,189,120,.62);
  --nva-shadow:rgba(13,39,72,.11); --nva-on-primary:#fff;
  --nva-on-primary-muted:#dbe3ea; --nva-on-primary-accent:#eadcae; --nva-on-accent:#111820;
}

.nva-pcafc--theme-chapter82 {
  --nva-primary:#173522; --nva-primary-dark:#0d2416; --nva-accent:#b8cf39;
  --nva-surface:#f6f3e8; --nva-paper:#fffdf8; --nva-text:#405047;
  --nva-muted:#667068; --nva-border:#d7d4c6; --nva-eyebrow:#62753d;
  --nva-accent-soft:rgba(184,207,57,.15); --nva-focus:rgba(184,207,57,.55);
  --nva-shadow:rgba(23,53,34,.10); --nva-on-primary:#fff;
  --nva-on-primary-muted:#dce4de; --nva-on-primary-accent:#d9e78d; --nva-on-accent:#111820;
}

.nva-pcafc--embed { padding:18px; background:var(--nva-paper); }
.nva-pcafc-embed-page { margin:0; background:#fffdf8; }
.nva-pcafc__shell { width:100%; max-width:1320px; margin:0 auto; }

.nva-pcafc__header { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.46fr); gap:34px; align-items:end; margin-bottom:22px; }
.nva-pcafc__eyebrow,.nva-pcafc__panel-kicker { margin:0 0 8px; color:var(--nva-eyebrow); font-size:12px; font-weight:800; line-height:1.4; letter-spacing:.11em; text-transform:uppercase; }
.nva-pcafc h2,.nva-pcafc h3,.nva-pcafc h4,.nva-pcafc h5,.nva-pcafc h6 { color:var(--nva-primary); font-family:Georgia,"Times New Roman",serif; }
.nva-pcafc h2 { margin:0 0 14px; font-size:clamp(38px,5vw,58px); line-height:1.06; letter-spacing:-.025em; }
.nva-pcafc__intro { max-width:820px; margin:0; color:var(--nva-text); font-family:Georgia,"Times New Roman",serif; font-size:clamp(19px,2vw,24px); line-height:1.5; }
.nva-pcafc__privacy,.nva-pcafc__notice { padding:18px 20px; color:var(--nva-text); background:var(--nva-surface); border:1px solid var(--nva-border); border-left:6px solid var(--nva-accent); border-radius:8px; font-size:13px; line-height:1.6; }
.nva-pcafc__notice { margin:18px 0; }
.nva-pcafc__notice--important { border-left-color:var(--nva-warning-accent); }

.nva-pcafc__progress { margin-bottom:22px; }
.nva-pcafc__progress-copy { display:flex; justify-content:space-between; gap:20px; margin-bottom:8px; color:var(--nva-text); font-size:13px; }
.nva-pcafc__progress-track { height:9px; overflow:hidden; background:var(--nva-track); border-radius:999px; }
.nva-pcafc__progress-track span { display:block; width:0; height:100%; background:var(--nva-accent); border-radius:inherit; transition:width .18s ease; }

.nva-pcafc__tabs { overflow:hidden; background:var(--nva-paper); border:1px solid var(--nva-border); border-top:7px solid var(--nva-accent); border-radius:12px; box-shadow:0 14px 32px var(--nva-shadow); }
.nva-pcafc__tablist { display:flex; overflow-x:auto; background:var(--nva-primary-dark); scrollbar-width:thin; }
.nva-pcafc__tablist button { min-height:58px; padding:13px 17px; flex:1 0 auto; color:var(--nva-on-primary-muted); background:transparent; border:0; border-right:1px solid rgba(255,255,255,.12); font-size:13px; font-weight:800; cursor:pointer; }
.nva-pcafc__tablist button[aria-selected="true"] { color:var(--nva-on-accent); background:var(--nva-accent); }
.nva-pcafc__tablist button:focus-visible { outline:4px solid var(--nva-focus); outline-offset:-4px; }
.nva-pcafc__tabpanel { padding:32px; }
.nva-pcafc__tabpanel[hidden] { display:none !important; }

.nva-pcafc__start-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr); gap:30px; align-items:start; }
.nva-pcafc__start-grid h3,.nva-pcafc__panel-heading h3 { margin:0 0 12px; font-size:31px; line-height:1.2; }
.nva-pcafc__start-grid p,.nva-pcafc__panel-heading p { color:var(--nva-text); line-height:1.68; }
.nva-pcafc__checklist { display:grid; gap:10px; margin:22px 0 26px; padding:0; list-style:none; }
.nva-pcafc__checklist li { position:relative; padding-left:28px; color:var(--nva-text); line-height:1.5; }
.nva-pcafc__checklist li::before { position:absolute; left:0; top:1px; display:flex; width:19px; height:19px; content:"✓"; align-items:center; justify-content:center; color:var(--nva-on-accent); background:var(--nva-accent); border-radius:50%; font-size:10px; font-weight:900; }
.nva-pcafc__start-card { padding:25px; color:var(--nva-on-primary); background:var(--nva-primary); border-radius:9px; }
.nva-pcafc__start-card h4 { margin:0 0 14px; color:var(--nva-on-primary); font-size:22px; }
.nva-pcafc__start-card ul { display:grid; gap:9px; padding-left:20px; color:var(--nva-on-primary-muted); line-height:1.5; }
.nva-pcafc__start-card p { margin:17px 0 0; color:var(--nva-on-primary-accent); font-size:13px; }

.nva-pcafc__button { display:inline-flex; min-height:50px; padding:12px 20px; align-items:center; justify-content:center; border:2px solid transparent; border-radius:7px; font-weight:800; text-decoration:none !important; cursor:pointer; transition:transform .16s ease,background .16s ease,border-color .16s ease; }
.nva-pcafc__button--primary { color:var(--nva-on-primary) !important; background:var(--nva-primary); border-color:var(--nva-primary); }
.nva-pcafc__button--primary:hover { background:var(--nva-primary-dark); border-color:var(--nva-primary-dark); transform:translateY(-1px); }
.nva-pcafc__button--secondary { color:var(--nva-primary) !important; background:transparent; border-color:var(--nva-primary); }
.nva-pcafc__button--secondary:hover { color:var(--nva-on-primary) !important; background:var(--nva-primary); transform:translateY(-1px); }
.nva-pcafc__button:focus-visible { outline:4px solid var(--nva-focus); outline-offset:3px; }

.nva-pcafc__panel-heading { display:flex; justify-content:space-between; gap:24px; align-items:end; margin-bottom:25px; padding-bottom:18px; border-bottom:1px solid var(--nva-border); }
.nva-pcafc__panel-heading p { margin:0; max-width:860px; }
.nva-pcafc__panel-actions { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; margin-top:28px; padding-top:22px; border-top:1px solid var(--nva-border); }

.nva-pcafc__activity-groups { display:grid; gap:24px; }
.nva-pcafc__activity-group { overflow:hidden; background:var(--nva-surface); border:1px solid var(--nva-border); border-radius:10px; }
.nva-pcafc__activity-group-header { padding:22px 24px; background:var(--nva-primary); }
.nva-pcafc__activity-group-header h4 { margin:0 0 6px; color:var(--nva-on-primary); font-size:24px; }
.nva-pcafc__activity-group-header p { margin:0; color:var(--nva-on-primary-muted); line-height:1.55; }
.nva-pcafc__activity-list { display:grid; gap:14px; padding:18px; }
.nva-pcafc__activity-card { overflow:hidden; background:var(--nva-paper); border:1px solid var(--nva-border); border-left:5px solid var(--nva-accent); border-radius:8px; }
.nva-pcafc__activity-card--disabled { opacity:.68; }
.nva-pcafc__activity-main { display:grid; grid-template-columns:minmax(0,1fr) minmax(270px,.52fr); gap:24px; align-items:center; padding:22px; }
.nva-pcafc__activity-copy h5 { margin:0 0 7px; font-size:21px; }
.nva-pcafc__activity-copy p { margin:0; color:var(--nva-text); font-size:14px; line-height:1.58; }
.nva-pcafc__activity-drawer { border-top:1px solid var(--nva-border); }
.nva-pcafc__activity-drawer > summary { display:flex; justify-content:space-between; gap:18px; padding:15px 20px; color:var(--nva-primary); background:var(--nva-accent-soft); font-weight:800; cursor:pointer; list-style:none; }
.nva-pcafc__activity-drawer > summary::-webkit-details-marker { display:none; }
.nva-pcafc__activity-drawer > summary::after { content:"+"; font-size:20px; line-height:1; }
.nva-pcafc__activity-drawer[open] > summary::after { content:"−"; }
.nva-pcafc__activity-drawer > summary span { color:var(--nva-muted); font-size:12px; font-weight:600; }
.nva-pcafc__drawer-body { padding:22px; }
.nva-pcafc__drawer-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.nva-pcafc__drawer-section { margin:20px 0 0; }
.nva-pcafc__drawer-section h6 { margin:0 0 10px; font-size:15px; }
.nva-pcafc__check-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.nva-pcafc__check-option { display:flex; gap:9px; align-items:flex-start; padding:10px 11px; color:var(--nva-text); background:var(--nva-surface); border:1px solid var(--nva-border); border-radius:6px; font-size:13px; line-height:1.4; }
.nva-pcafc__check-option input { margin-top:2px; accent-color:var(--nva-primary); }
.nva-pcafc__guidance-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:20px; }
.nva-pcafc__guidance-row details { padding:13px 14px; background:var(--nva-surface); border:1px solid var(--nva-border); border-radius:7px; }
.nva-pcafc__guidance-row summary { color:var(--nva-primary); font-weight:800; cursor:pointer; }
.nva-pcafc__guidance-row p,.nva-pcafc__guidance-row li { color:var(--nva-text); font-size:13px; line-height:1.55; }
.nva-pcafc__guidance-row ul { margin-bottom:0; padding-left:18px; }
.nva-pcafc__preview { margin-top:18px; padding:15px 16px; color:var(--nva-text); background:var(--nva-paper); border:1px solid var(--nva-border); border-left:5px solid var(--nva-accent); border-radius:7px; }
.nva-pcafc__preview p { margin:6px 0 0; line-height:1.55; }
.nva-pcafc__mobility-status { display:grid; grid-template-columns:minmax(0,.72fr) minmax(0,1fr); gap:20px; align-items:end; padding:18px 22px; background:var(--nva-paper); border-bottom:1px solid var(--nva-border); }
.nva-pcafc__mobility-status p { margin:0; color:var(--nva-muted); font-size:13px; line-height:1.55; }

.nva-pcafc__field { display:grid; gap:7px; color:var(--nva-text); font-size:13px; font-weight:700; }
.nva-pcafc__field small { color:var(--nva-muted); font-weight:400; line-height:1.4; }
.nva-pcafc__field select,.nva-pcafc__field textarea,.nva-pcafc__field input[type=text] { width:100%; padding:11px 12px; color:var(--nva-text); background:var(--nva-paper); border:1px solid var(--nva-border); border-radius:6px; font:inherit; font-weight:400; }
.nva-pcafc__field select:focus,.nva-pcafc__field textarea:focus,.nva-pcafc__field input:focus { outline:3px solid var(--nva-focus); outline-offset:1px; }

.nva-pcafc__supervision-grid { display:grid; gap:18px; }
.nva-pcafc__supervision-card { padding:23px; background:var(--nva-surface); border:1px solid var(--nva-border); border-left:6px solid var(--nva-accent); border-radius:9px; }
.nva-pcafc__supervision-card header h4 { margin:0 0 7px; font-size:24px; }
.nva-pcafc__supervision-card header > p:last-child { margin:0 0 18px; color:var(--nva-text); line-height:1.58; }
.nva-pcafc__supervision-body { display:grid; gap:16px; }

.nva-pcafc__record-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.nva-pcafc__record-item { padding:17px; background:var(--nva-surface); border:1px solid var(--nva-border); border-left:5px solid var(--nva-accent); border-radius:8px; }

.nva-pcafc__review-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr); gap:20px; }
.nva-pcafc__summary-card,.nva-pcafc__review-card { padding:23px; background:var(--nva-surface); border:1px solid var(--nva-border); border-radius:9px; }
.nva-pcafc__summary-card h4,.nva-pcafc__review-card h4 { margin:0 0 16px; font-size:23px; }
.nva-pcafc__summary-section { margin-top:18px; padding-top:16px; border-top:1px solid var(--nva-border); }
.nva-pcafc__summary-section:first-child { margin-top:0; padding-top:0; border-top:0; }
.nva-pcafc__summary-section h5 { margin:0 0 10px; font-size:18px; }
.nva-pcafc__summary-section p { margin:0 0 9px; color:var(--nva-text); font-size:13px; line-height:1.55; }
.nva-pcafc__flag-list { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.nva-pcafc__flag-list li { padding:12px 13px; color:var(--nva-text); background:var(--nva-paper); border:1px solid var(--nva-border); border-left:5px solid var(--nva-warning-accent); border-radius:6px; font-size:13px; line-height:1.5; }
.nva-pcafc__empty { color:var(--nva-text); line-height:1.6; }
.nva-pcafc__book-card { display:flex; justify-content:space-between; gap:30px; align-items:center; margin-top:22px; padding:23px; color:var(--nva-on-primary); background:var(--nva-primary); border-left:7px solid var(--nva-accent); border-radius:9px; }
.nva-pcafc__book-card h4 { margin:0 0 7px; color:var(--nva-on-primary); font-size:23px; }
.nva-pcafc__book-card p { margin:0; color:var(--nva-on-primary-muted); line-height:1.55; }
.nva-pcafc__book-card a { flex:0 0 auto; padding:12px 18px; color:var(--nva-on-accent) !important; background:var(--nva-accent); border-radius:7px; font-weight:800; text-decoration:none !important; }

.nva-pcafc__footer { display:flex; justify-content:space-between; gap:24px; align-items:center; margin-top:20px; padding:18px 20px; color:var(--nva-on-primary); background:var(--nva-primary); border-radius:8px; font-size:13px; }
.nva-pcafc__footer > div:first-child { display:grid; gap:3px; }
.nva-pcafc__footer span { color:var(--nva-on-primary-muted); font-size:11px; }
.nva-pcafc__footer-links { display:flex; flex-wrap:wrap; gap:16px; }
.nva-pcafc__footer a { color:var(--nva-on-primary-accent) !important; font-weight:800; }
.nva-pcafc__disclaimer { margin:16px 0 0; color:var(--nva-muted); font-size:12px; line-height:1.55; text-align:center; }

@media (max-width:1000px) {
  .nva-pcafc__header,.nva-pcafc__start-grid,.nva-pcafc__review-grid { grid-template-columns:1fr; }
  .nva-pcafc__privacy { max-width:760px; }
  .nva-pcafc__activity-main { grid-template-columns:1fr; }
  .nva-pcafc__record-grid { grid-template-columns:1fr; }
}

@media (max-width:760px) {
  .nva-pcafc--embed { padding:12px; }
  .nva-pcafc__tabpanel { padding:22px 18px; }
  .nva-pcafc__drawer-grid,.nva-pcafc__check-grid,.nva-pcafc__guidance-row,.nva-pcafc__mobility-status { grid-template-columns:1fr; }
  .nva-pcafc__activity-main { padding:18px; }
  .nva-pcafc__drawer-body { padding:18px; }
  .nva-pcafc__footer,.nva-pcafc__book-card { align-items:flex-start; flex-direction:column; }
  .nva-pcafc__book-card a { width:100%; text-align:center; }
}

@media (max-width:520px) {
  .nva-pcafc h2 { font-size:36px; }
  .nva-pcafc__tablist button { min-height:52px; padding:11px 13px; font-size:12px; }
  .nva-pcafc__panel-actions { flex-direction:column; }
  .nva-pcafc__button { width:100%; }
  .nva-pcafc__activity-drawer > summary { align-items:flex-start; flex-direction:column; gap:4px; }
}

@media print {
  body * { visibility:hidden !important; }
  .nva-pcafc,.nva-pcafc * { visibility:visible !important; }
  .nva-pcafc { position:absolute; inset:0; color:#000; background:#fff; }
  .nva-pcafc__header,.nva-pcafc__privacy,.nva-pcafc__notice,.nva-pcafc__progress,.nva-pcafc__tablist,.nva-pcafc__panel-actions,.nva-pcafc__footer,.nva-pcafc__disclaimer,.nva-pcafc__book-card { display:none !important; }
  .nva-pcafc__tabpanel { display:none !important; padding:0; }
  .nva-pcafc__tabpanel[data-nva-pcafc-panel="review"] { display:block !important; }
  .nva-pcafc__tabs { border:0; box-shadow:none; }
  .nva-pcafc__review-grid { display:block; }
  .nva-pcafc__summary-card,.nva-pcafc__review-card { margin-bottom:18px; background:#fff; border:1px solid #aaa; }
}
