/* Reports & Audit Trails page. Loads after entity.css (shared windows, builder, questions, related cards) and platform.css. Prefixes: rph- hero, rw- workflow, rb- builder, pp- preview, tr- traceability, at- audit timeline, vc- version comparison, au2- audiences. */
.fp-rep { --paper:#fffdf8; }

/* report status */
.rps { display:inline-block; font-style:normal; font-size:.75rem; font-weight:700; padding:3px 11px; border-radius:999px; white-space:nowrap; line-height:1.4; border:1px solid transparent; }
.rps--draft { background:#e4ebee; color:#41565f; border-color:#c5d2d8; } .rps--review { background:#fbefcf; color:#7a5300; border-color:#ecd28f; } .rps--appr { background:#d9f4ea; color:#075c47; border-color:#a9e2cd; } .rps--sup { background:#ece4f7; color:#4b2d7f; border-color:#d3c3ec; } .rps--exp { background:#e2e9ff; color:#2c3e88; border-color:#bccbf5; }
/* nature of a statement */
.rpt { display:inline-block; font-style:normal; font-size:.6875rem; font-weight:700; padding:2px 9px; border-radius:4px; letter-spacing:.02em; white-space:nowrap; }
.rpt--src { background:#d9f4ea; color:#075c47; } .rpt--int { background:#e2e9ff; color:#2c3e88; } .rpt--dec { background:#0a2a36; color:#fff; }
/* citations */
.rc { all:unset; box-sizing:border-box; display:inline-block; font:700 .75rem/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; color:#0a7d62; padding:0 4px; border-radius:3px; cursor:pointer; vertical-align:baseline; }
.rc:hover { background:#d9f4ea; text-decoration:underline; } .rc:focus-visible { outline:2px solid var(--em); outline-offset:1px; } .rc.is-on { background:#0a7d62; color:#fff; }
.rc--s { cursor:default; color:#6fd6b4; } .rc--s:hover { background:none; text-decoration:none; }
.pp .rc--s, .rw-wrap .rc--s { color:#0a7d62; }
.rp-key { list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:26px 0 0; padding:0; } .rp-key li { margin:0; display:flex; gap:12px; align-items:flex-start; padding:14px 16px; background:var(--mint-l); border:1px solid #d3e6de; border-radius:8px; } .rp-key span { font-size:.9375rem; color:var(--mute); line-height:1.45; }
.fp-content .rp-key { margin-top:26px; }

/* ---------- hero ---------- */
.rph-mesh { position:absolute; inset:0; pointer-events:none; opacity:.9; }
.rph-mesh svg { display:block; width:100%; height:100%; } .rph-mesh path { stroke:rgba(24,199,155,.2); } .rph-mesh path.d { stroke-dasharray:4 12; }
.rph-nodes circle { fill:#18c79b; filter:drop-shadow(0 0 6px rgba(24,199,155,.8)); animation:ei-blink 3.6s ease-in-out infinite; } .rph-nodes circle:nth-child(even) { animation-delay:1.4s; }
.fu--rep { font-size:.875rem; }
.rph-body { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:12px; padding:14px; }
.rph-doc { background:#fffdf8; color:#1c3340; border-radius:6px; padding:16px 18px; display:grid; gap:12px; align-content:start; box-shadow:0 0 0 1px #d8e2de; min-width:0; }
.rph-dh { display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap; align-items:flex-start; } .rph-dh small { display:block; color:#0a7d62; font-size:.75rem; } .rph-dh b { display:block; font-size:1.0625rem; line-height:1.3; letter-spacing:-.01em; color:#0e2230; max-width:26ch; }
.rph-pills { display:flex; align-items:center; gap:6px; } .rph-ver { font-style:normal; font-size:.75rem; font-weight:700; color:#41565f; padding:3px 9px; border:1px solid #c5d2d8; border-radius:999px; }
.rph-meta { margin:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; padding:10px 0; border-block:1px solid #e3ebe7; } .rph-meta dt { color:#5a7079; font-size:.6875rem; text-transform:uppercase; letter-spacing:.06em; margin-bottom:3px; } .rph-meta dd { margin:0; font-size:.8125rem; color:#0e2230; line-height:1.3; }
.rph-av { display:inline-grid; place-items:center; width:20px; height:20px; border-radius:50%; background:#12363f; color:#7ee8c8; font:700 .5rem ui-monospace,Consolas,monospace; margin-right:6px; vertical-align:middle; } .rph-av--b { background:#1f3350; color:#a9c4f5; }
.rph-sum small { display:block; font-size:.6875rem; text-transform:uppercase; letter-spacing:.1em; color:#0a7d62; font-weight:700; margin-bottom:8px; } .rph-sum ol { list-style:none; margin:0; padding:0; display:grid; gap:8px; } .rph-sum li { margin:0; display:grid; grid-template-columns:20px 1fr; gap:8px; font-size:.8125rem; line-height:1.4; color:#1c3340; }
.rph-n { display:grid; place-items:center; width:20px; height:20px; border-radius:50%; background:#0a2a36; color:#7ee8c8; font-size:.6875rem; font-weight:700; } .rph-c { font-style:normal; color:#0a7d62; font-family:ui-monospace,Consolas,monospace; font-size:.75rem; }
.rph-lines { display:grid; gap:6px; margin-top:10px; } .rph-lines i { height:5px; border-radius:3px; background:#e3ebe7; } .rph-lines i.s { width:60%; }
.rph-keys { display:flex; flex-wrap:wrap; gap:6px; }
.rph-side { display:grid; gap:10px; align-content:start; min-width:0; }
.rph-box { background:#0a1c28; border:1px solid #1b3d4e; border-radius:6px; padding:10px 12px; }
.rph-box-h { display:flex; justify-content:space-between; gap:8px; margin-bottom:8px; font-size:.6875rem; letter-spacing:.08em; text-transform:uppercase; color:#86a9ae; font-weight:650; } .rph-box-h span:last-child { text-transform:none; letter-spacing:0; font-weight:500; }
.rph-act { list-style:none; margin:0; padding:0 0 0 12px; border-left:2px dashed #2f6b74; display:grid; gap:10px; } .rph-act li { margin:0; position:relative; color:#dcebe8; font-size:.8125rem; line-height:1.35; } .rph-act li::before { content:''; position:absolute; left:-18px; top:5px; width:8px; height:8px; border-radius:50%; background:#18c79b; } .rph-act time { display:block; color:#7ee8c8; font-size:.6875rem; }
.rph-export { display:grid; grid-template-columns:1fr 1fr; gap:8px; } .rph-btn { text-align:center; padding:10px 8px; border-radius:6px; background:#18c79b; color:#03241c; font-weight:700; font-size:.8125rem; } .rph-btn--g { background:transparent; border:1px solid #2b6b62; color:#7ee8c8; }

/* ---------- 1. workflow ---------- */
.rw { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:0; position:relative; }
.rw::before { content:''; position:absolute; left:7%; right:7%; top:68px; border-top:3px solid #d3e6de; }
.rw-s { margin:0; position:relative; padding:0 8px; display:grid; justify-items:center; gap:8px; align-content:start; text-align:center; }
.rw-g { justify-self:stretch; padding:5px 6px; font-size:.6875rem; letter-spacing:.1em; text-transform:uppercase; font-weight:700; border-radius:4px; margin-bottom:8px; }
.rw-s--src .rw-g { background:#d9f4ea; color:#075c47; } .rw-s--int .rw-g { background:#e2e9ff; color:#2c3e88; } .rw-s--dec .rw-g { background:#0a2a36; color:#fff; } .rw-s--rec .rw-g { background:#e4ebee; color:#41565f; }
.rw-i { position:relative; z-index:1; display:grid; place-items:center; width:64px; height:64px; border-radius:12px; background:#fffdf8; color:#0a7d62; border:2px solid #0a7d62; box-shadow:0 0 0 6px #fff; } .rw-i svg { width:28px; height:28px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.rw-s--int .rw-i { border-color:#4c6fa5; color:#2c3e88; } .rw-s--dec .rw-i { border-color:#0a2a36; background:#0a2a36; color:#7ee8c8; } .rw-s--rec .rw-i { border-color:#8fa3ab; color:#41565f; }
.rw-n { position:absolute; top:44px; left:calc(50% + 22px); z-index:2; width:24px; height:24px; border-radius:50%; background:var(--em); color:#fff; font-size:.8125rem; display:grid; place-items:center; box-shadow:0 0 0 3px #fff; font-family:ui-monospace,Consolas,monospace; font-weight:700; }
.rw-s h3 { margin:8px 0 0; font-size:1.0625rem; line-height:1.25; letter-spacing:-.01em; } .rw-s p { margin:0; font-size:.9375rem; line-height:1.45; color:var(--mute); }

/* ---------- 2. report builder ---------- */
.rb-win { max-width:100%; }
.rb-grid { display:grid; grid-template-columns:210px minmax(0,1fr) 260px; min-height:460px; }
.rb-nav { padding:12px; background:#0b2130; border-right:1px solid #1d4254; display:grid; gap:2px; align-content:start; }
.rb-nav button { all:unset; box-sizing:border-box; display:flex; align-items:center; gap:10px; padding:11px 12px; font-size:.9375rem; font-weight:600; color:#9fbfc4; border-radius:6px; cursor:pointer; } .rb-nav button:hover { background:#10303f; color:#fff; } .rb-nav button[aria-selected="true"] { background:#123f3a; color:#7ee8c8; box-shadow:inset 3px 0 0 #18c79b; } .rb-nav button:focus-visible { outline:2px solid #fff; outline-offset:-2px; }
.rb-d { width:10px; height:10px; border-radius:50%; border:2px solid #3a6b7c; flex:none; } .rb-d--done { background:#18c79b; border-color:#18c79b; } .rb-d--now { border-color:#e0a92e; background:#e0a92e; opacity:.9; } .rb-d--auto { border-color:#4c7bd9; background:#4c7bd9; }
.rb-main { padding:22px; min-width:0; } .rb-panel[hidden] { display:none; }
.rb-ph { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:14px; padding-bottom:12px; border-bottom:1px solid #1d4254; } .rb-ph h3 { margin:0; color:#fff; font-size:1.5rem; letter-spacing:-.02em; }
.rb-doc { background:#fffdf8; color:#1c3340; border-radius:6px; padding:20px 22px; box-shadow:0 0 0 1px #d8e2de; font-size:1rem; line-height:1.65; } .rb-doc p { margin:0!important; color:#1c3340!important; font-size:1rem!important; line-height:1.65!important; }
.rb-doc .rc--s { color:#0a7d62; }
.rb-fi { margin:0; padding:0; list-style:none; display:grid; gap:12px; } .rb-fi li { margin:0; } .rb-fi b { display:inline-block; min-width:28px; color:#0a7d62; font-family:ui-monospace,Consolas,monospace; font-size:.8125rem; }
.rb-sg del { background:#fde0e0; color:#8f1d1d; text-decoration:line-through; padding:0 3px; border-radius:3px; } .rb-sg ins { background:#d9f4ea; color:#075c47; text-decoration:none; padding:0 3px; border-radius:3px; margin-left:4px; }
.rb-tbd { background:#fbefcf; color:#7a5300; font-style:normal; padding:0 5px; border-radius:3px; }
.rb-tb { width:100%; border-collapse:collapse; font-size:.9375rem; } .rb-tb th { text-align:left; padding:8px 10px; font-size:.75rem; text-transform:uppercase; letter-spacing:.08em; color:#5a7079; border-bottom:2px solid #d3e6de; } .rb-tb td { padding:10px; border-bottom:1px solid #e8f0ed; } .rb-tb td.m { font-family:ui-monospace,Consolas,monospace; color:#0a7d62; font-weight:700; }
.rb-cm { display:grid; grid-template-columns:34px 1fr; gap:12px; margin-top:14px; padding:12px 14px; background:#10303f; border:1px solid #1f4557; border-left:3px solid #e0a92e; border-radius:6px; } .rb-cav { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:#3a2f16; color:#f2c777; font:700 .6875rem ui-monospace,Consolas,monospace; } .rb-cm b { color:#fff; font-size:.875rem; } .rb-cm p { margin:2px 0 0!important; color:#dcebe8!important; font-size:.9375rem!important; line-height:1.5!important; }
.rb-stt { display:flex; justify-content:space-between; margin-top:14px; color:#8fb0b5; font-size:.875rem; } .rb-stt b { color:#7ee8c8; }
.rb-side { padding:18px; background:#0b2130; border-left:1px solid #1d4254; display:grid; gap:16px; align-content:start; }
.rb-c small { display:block; font-size:.6875rem; letter-spacing:.1em; text-transform:uppercase; color:#86a9ae; font-weight:650; margin-bottom:8px; } .rb-c span { display:block; margin-top:8px; color:#dcebe8; font-size:.875rem; }
.rb-bar { height:8px; border-radius:4px; background:#16394a; overflow:hidden; } .rb-bar i { display:block; height:100%; background:linear-gradient(90deg,#0f8f6e,#18c79b); }
.rb-v { margin:0; } .rb-v div { display:flex; justify-content:space-between; gap:10px; padding:9px 0; border-bottom:1px solid #16394a; } .rb-v dt { color:#8fb0b5; font-size:.875rem; } .rb-v dd { margin:0; color:#fff; font-size:.875rem; text-align:right; } .rb-v dd.m { font-size:.8125rem; }
.rb-act { display:grid; gap:8px; } .rb-act button { all:unset; box-sizing:border-box; text-align:center; padding:10px 14px; border:1px solid #2b6b62; border-radius:6px; color:#7ee8c8; font-size:.875rem; font-weight:650; opacity:.85; cursor:not-allowed; } .rb-act .hot { background:#123f3a; }
.rb-demo { margin:0!important; color:#8fb0b5!important; font-size:.75rem!important; }

/* ---------- 3. preview ---------- */
.ppw { background:#e3ede8; border:1px solid #cfe0d8; border-radius:12px; padding:0 0 28px; overflow:hidden; box-shadow:0 30px 60px -44px rgba(6,40,50,.6); }
.pp-bar { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; padding:12px 22px; background:#0a2a36; color:#dcebe8; font-size:.875rem; font-weight:600; }
.pp-pages { display:grid; grid-template-columns:1fr 1fr; gap:28px; padding:28px 28px 0; }
.pp { position:relative; background:#fffdf8; color:#1c3340; border-radius:3px; padding:34px 36px 52px; box-shadow:0 2px 0 #d8e2de,0 30px 50px -30px rgba(6,40,50,.45); min-height:640px; overflow:hidden; }
.pp h4 { margin:22px 0 8px; font-size:.75rem; letter-spacing:.14em; text-transform:uppercase; color:#0a7d62; font-weight:700; border-bottom:1px solid #e3ebe7; padding-bottom:6px; } .pp p { margin:0; font-size:.9375rem; line-height:1.55; color:#1c3340; }
.pp-cv { padding:22px 0 20px; border-bottom:3px solid #0a2a36; } .pp-cv small { font-size:.75rem; letter-spacing:.14em; text-transform:uppercase; color:#5a7079; } .pp-cv h3 { margin:8px 0 10px; font-size:1.625rem; line-height:1.15; letter-spacing:-.02em; color:#0e2230; } .pp-cv .m { color:#0a7d62; font-size:.9375rem; font-weight:700; font-family:ui-monospace,Consolas,monospace; }
.pp-mt { margin:14px 0 0; display:grid; grid-template-columns:1fr 1fr; gap:10px 20px; } .pp-mt dt { font-size:.6875rem; text-transform:uppercase; letter-spacing:.08em; color:#5a7079; } .pp-mt dd { margin:1px 0 0; font-size:1rem; color:#0e2230; font-weight:600; } .pp-mt dd.m { font-family:ui-monospace,Consolas,monospace; font-size:.9375rem; }
.pp-fi, .pp-li { margin:0; padding-left:20px; display:grid; gap:7px; font-size:.9375rem; line-height:1.5; }
.pp-tb { width:100%; border-collapse:collapse; font-size:.875rem; } .pp-tb th { text-align:left; padding:6px 8px; font-size:.6875rem; text-transform:uppercase; letter-spacing:.06em; color:#5a7079; border-bottom:2px solid #d3e6de; } .pp-tb td { padding:8px; border-bottom:1px solid #eef3f0; } .pp-tb td.m { font-family:ui-monospace,Consolas,monospace; color:#0a7d62; font-weight:700; }
.pp-svg { display:block; width:100%; height:auto; background:#f7faf8; border:1px solid #e3ebe7; border-radius:4px; }
.pp-dec { display:grid; grid-template-columns:1.3fr 1fr; gap:16px; padding:14px 16px; border:1px solid #0a2a36; border-left-width:5px; border-radius:4px; } .pp-dec b { display:block; margin:6px 0 4px; font-size:1.0625rem; color:#0e2230; } .pp-dec dl { margin:0; display:grid; gap:8px; align-content:start; } .pp-dec dt { font-size:.6875rem; text-transform:uppercase; letter-spacing:.08em; color:#5a7079; } .pp-dec dd { margin:1px 0 0; font-size:.9375rem; font-weight:600; }
.pp footer { position:absolute; left:36px; right:36px; bottom:16px; padding-top:8px; border-top:1px solid #e3ebe7; font-size:.75rem; color:#5a7079; font-family:ui-monospace,Consolas,monospace; }
.pp-wm { position:absolute; right:-40px; top:44%; transform:rotate(-24deg); font-size:3.2rem; font-weight:800; letter-spacing:.2em; color:rgba(10,125,98,.06); pointer-events:none; white-space:nowrap; }

/* ---------- 4. traceability ---------- */
.tr { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:22px; align-items:start; }
.tr-l, .tr-r { background:#fff; border:1px solid #d3e6de; border-radius:12px; padding:22px; box-shadow:0 26px 50px -42px rgba(6,40,50,.5); }
.tr-h { display:flex; justify-content:space-between; margin-bottom:14px; padding-bottom:12px; border-bottom:1px solid #e1ebe7; } .tr-h small { font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; color:var(--em); font-weight:650; } .tr-h span { color:var(--mute); font-size:.875rem; }
.tr-f { list-style:none; margin:0; padding:0; display:grid; gap:12px; } .tr-f li { margin:0; display:grid; grid-template-columns:38px 1fr; gap:6px 14px; padding:14px 16px; background:var(--mint-l); border:1px solid #d3e6de; border-radius:8px; } .tr-f li:last-child { background:#0a2a36; border-color:#0a2a36; } .tr-f li:last-child p { color:#fff; } .tr-f li:last-child .tr-id { background:#18c79b; color:#03241c; }
.tr-id { display:grid; place-items:center; width:38px; height:38px; border-radius:8px; background:#0a2a36; color:#7ee8c8; font:700 .8125rem ui-monospace,Consolas,monospace; } .tr-f p { margin:0; font-size:1.0625rem; line-height:1.5; color:var(--ink); } .tr-c { grid-column:2; display:flex; flex-wrap:wrap; gap:4px; } .tr-c .rc { font-size:.875rem; padding:2px 7px; background:#fff; border:1px solid #bfe0d3; } .tr-c .rc:hover { background:#d9f4ea; } .tr-c .rc.is-on { background:#0a7d62; color:#fff; border-color:#0a7d62; }
.tr-e { list-style:none; margin:0 0 16px; padding:0; display:grid; gap:6px; } .tr-e li { margin:0; }
.tr-b { all:unset; box-sizing:border-box; width:100%; display:grid; grid-template-columns:26px 36px minmax(0,1fr) auto; gap:10px; align-items:center; padding:9px 12px; border:1px solid #d3e6de; border-radius:8px; cursor:pointer; background:#fff; transition:border-color .15s,background .15s; } .tr-b:hover { border-color:#9fd0c1; } .tr-b:focus-visible { outline:2px solid var(--em); outline-offset:2px; }
.tr-e li.is-on .tr-b { border-color:#0a7d62; background:#f0faf5; box-shadow:0 0 0 1px #0a7d62 inset; }
.tr-n { font:700 .8125rem ui-monospace,Consolas,monospace; color:#0a7d62; } .tr-i { display:grid; place-items:center; width:36px; height:36px; border-radius:8px; background:var(--mint); color:var(--em); } .tr-i svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.tr-t b { display:block; font-size:.9375rem; color:var(--ink); } .tr-t small { color:var(--mute); font-size:.8125rem; }
.tr-d { padding:18px; background:#0a2028; color:#dcebe8; border-radius:10px; } .tr-d > small { font-size:.6875rem; letter-spacing:.1em; text-transform:uppercase; color:#6fd6b4; font-weight:650; } .tr-d h3 { margin:4px 0 10px; color:#fff; font-size:1.25rem; } .tr-dn { color:#7ee8c8; font-family:ui-monospace,Consolas,monospace; }
.tr-d dl { margin:0 0 10px; } .tr-d dl div { display:flex; justify-content:space-between; gap:10px; padding:7px 0; border-bottom:1px solid #16394a; } .tr-d dt { color:#8fb0b5; font-size:.875rem; } .tr-d dd { margin:0; color:#fff; font-size:.875rem; text-align:right; } .tr-d p { margin:0 0 8px!important; color:#b7cccd!important; font-size:.9375rem!important; line-height:1.5!important; } .tr-hint { color:#8fb0b5; font-size:.8125rem; }

/* ---------- 5. audit timeline ---------- */
.at { list-style:none; margin:0; padding:0; display:grid; gap:14px; position:relative; }
.at::before { content:''; position:absolute; left:23px; top:24px; bottom:24px; border-left:2px dashed #2f6b74; }
.at-i { margin:0; display:grid; grid-template-columns:48px 1fr; gap:18px; position:relative; }
.at-dot { display:grid; place-items:center; width:48px; height:48px; border-radius:50%; background:#0f2b3b; border:2px solid #18c79b; color:#18c79b; z-index:1; } .at-dot svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.at-c { padding:18px 22px; background:#0c2230; border:1px solid #1d4254; border-radius:10px; display:grid; gap:12px; }
.at-t { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; align-items:baseline; } .at-t h3 { margin:0; color:#fff; font-size:1.25rem; } .at-t time { color:#7ee8c8; font-size:.875rem; font-family:ui-monospace,Consolas,monospace; }
.at-u { margin:0!important; display:flex; gap:10px; align-items:center; flex-wrap:wrap; } .at-role { color:#dcebe8; font-size:.9375rem; font-weight:600; } .at-act { font-size:.75rem; font-weight:700; padding:2px 10px; border-radius:4px; background:#123f3a; color:#7ee8c8; letter-spacing:.04em; text-transform:uppercase; }
.at-d { display:grid; grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr); gap:10px; align-items:stretch; } .at-o, .at-n { padding:10px 14px; border-radius:6px; } .at-o { background:#2a1a1f; border:1px solid #5a2a33; } .at-n { background:#0f2f2b; border:1px solid #1f5a4f; }
.at-d small, .at-r small { display:block; font-size:.6875rem; letter-spacing:.1em; text-transform:uppercase; font-weight:650; margin-bottom:3px; } .at-o small { color:#ff9aa5; } .at-n small { color:#6fd6b4; } .at-d span { color:#eaf4f2; font-size:.9375rem; line-height:1.4; } .at-o span { text-decoration:line-through; text-decoration-color:#a04654; color:#d8b8bd; }
.at-ar { display:grid; place-items:center; color:#7ee8c8; font-size:1.25rem; } .at-r { display:flex; align-items:center; gap:10px; flex-wrap:wrap; } .at-r small { color:#86a9ae; margin:0; } .at-none { color:#8fb0b5; font-size:.875rem; } .at .rc--s { color:#7ee8c8; font-size:.875rem; }
.at-note { display:flex; gap:12px; margin:22px 0 0!important; padding:16px 20px; background:#3a2f16; border:1px solid #6b5420; border-left:4px solid #e0a92e; border-radius:8px; color:#f6e4b8!important; font-size:1rem!important; line-height:1.55!important; } .at-note b { color:#fff; } .at-note svg, .q-note svg { flex:none; width:24px; height:24px; fill:none; stroke:#f2c777; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.fp-content .at-note { margin-top:22px; }

/* ---------- 6. versions ---------- */
.vc { background:#fff; border:1px solid #d3e6de; border-radius:12px; overflow:hidden; box-shadow:0 26px 50px -42px rgba(6,40,50,.5); }
.vc-top { display:grid; grid-template-columns:1fr 60px 1fr; align-items:center; gap:0; padding:22px 24px; background:#0a2a36; color:#dcebe8; }
.vc-v { display:grid; gap:6px; justify-items:start; } .vc-v small { font-size:.6875rem; letter-spacing:.1em; text-transform:uppercase; color:#86a9ae; font-weight:650; } .vc-v b { color:#fff; font-size:1.625rem; letter-spacing:-.02em; } .vc-v span { font-size:.9375rem; color:#b7cccd; } .vc-v--n { justify-items:end; text-align:right; }
.vc-mid { display:grid; place-items:center; color:#18c79b; } .vc-mid svg { width:32px; height:32px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; }
.vc-s { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); border-bottom:1px solid #e1ebe7; } .vc-s li { margin:0; padding:16px 12px; text-align:center; border-right:1px solid #e8f0ed; } .vc-s li:last-child { border:0; } .vc-s b { display:block; font-size:1.75rem; letter-spacing:-.02em; color:var(--ink); } .vc-s span { font-size:.875rem; color:var(--mute); } .vc-p { color:#0a7d62!important; } .vc-m { color:#c23a3a!important; } .vc-c { color:#9a6b00!important; }
.vc-l { list-style:none; margin:0; padding:0; } .vc-r { margin:0; display:grid; grid-template-columns:36px 190px minmax(0,1fr); gap:16px; align-items:start; padding:18px 24px; border-bottom:1px solid #e8f0ed; } .vc-r:last-child { border:0; }
.vc-ic { display:grid; place-items:center; width:32px; height:32px; border-radius:6px; font:700 1.125rem ui-monospace,Consolas,monospace; } .vc-r--add .vc-ic { background:#d9f4ea; color:#075c47; } .vc-r--rem .vc-ic { background:#fde0e0; color:#8f1d1d; } .vc-r--chg .vc-ic { background:#fbefcf; color:#7a5300; }
.vc-h b { display:block; font-size:1.0625rem; color:var(--ink); } .vc-h small { color:var(--mute); font-size:.875rem; }
.vc-b { display:grid; gap:6px; } .vc-b del, .vc-b ins { display:block; padding:8px 12px; border-radius:6px; font-size:1rem; line-height:1.5; text-decoration:none; } .vc-b del { background:#fdecec; color:#8f1d1d; text-decoration:line-through; text-decoration-color:#d68a8a; } .vc-b ins { background:#eaf6f0; color:#075c47; } .vc-b em { font-style:normal; font-size:.875rem; color:var(--mute); }

/* ---------- 7. audiences ---------- */
.au2-tabs { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:18px; } .au2-tabs button { all:unset; box-sizing:border-box; padding:11px 18px; border:1px solid #24485a; border-radius:999px; color:#b7cccd; font-size:.9375rem; font-weight:600; cursor:pointer; } .au2-tabs button:hover { border-color:#3a6b7c; color:#fff; } .au2-tabs button[aria-selected="true"] { background:#18c79b; border-color:#18c79b; color:#03241c; } .au2-tabs button:focus-visible { outline:2px solid #fff; outline-offset:2px; }
.au2-panel { display:grid; grid-template-columns:minmax(0,4fr) minmax(0,7fr); gap:20px; } .au2-panel[hidden] { display:none; }
.au2-in, .au2-map { background:#0c2230; border:1px solid #1d4254; border-radius:12px; padding:24px; } .au2-in small, .au2-map > small, .au2-same small { display:block; font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; color:#6fd6b4; font-weight:650; margin-bottom:8px; }
.au2-in h3 { margin:0 0 8px; color:#fff; font-size:1.75rem; letter-spacing:-.02em; } .au2-in p { margin:0 0 14px; color:#b7cccd; font-size:1.0625rem; line-height:1.5; } .au2-in .au2-inc { color:#dcebe8; padding-top:14px; border-top:1px solid #1d4254; margin:14px 0 0; }
.au2-lv { display:flex; justify-content:space-between; align-items:center; padding:12px 14px; background:#0a1c28; border:1px solid #1b3d4e; border-radius:8px; } .au2-lv span { color:#8fb0b5; font-size:.875rem; } .au2-lv b { color:#f2c777; }
.au2-map ul { list-style:none; margin:0 0 18px; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; } .au2-s { margin:0; display:flex; justify-content:space-between; align-items:center; gap:10px; padding:11px 14px; border-radius:6px; border:1px solid #1b3d4e; background:#0a1c28; color:#eaf4f2; font-size:.9375rem; } .au2-s i { font-style:normal; font-size:.75rem; font-weight:700; padding:2px 9px; border-radius:4px; }
.au2-s--full { border-color:#2a6b62; } .au2-s--full i { background:#123f3a; color:#7ee8c8; } .au2-s--part i { background:#3a2f16; color:#f2c777; } .au2-s--off { opacity:.5; } .au2-s--off i { background:#26404c; color:#b3c6cc; }
.au2-same { padding-top:14px; border-top:1px solid #1d4254; } .au2-refs { display:flex; flex-wrap:wrap; gap:6px; } .au2-refs .rc--s { padding:3px 9px; background:#12363f; border:1px solid #24485a; border-radius:4px; color:#7ee8c8; font-size:.8125rem; }

.fp-rep .q-note { display:flex; gap:12px; margin:20px 0 0!important; padding:14px 18px; background:#3a2f16; border:1px solid #6b5420; border-left:4px solid #e0a92e; border-radius:8px; font-size:.9375rem!important; line-height:1.5!important; color:#f6e4b8!important; } .fp-content .q-note { margin-top:20px; } .fp-rep .q-note b { color:#fff; }

@media (max-width:1280px) {
	.rw { grid-template-columns:repeat(4,minmax(0,1fr)); row-gap:30px; } .rw::before { display:none; }
	.rb-grid { grid-template-columns:190px minmax(0,1fr); } .rb-side { grid-column:1 / -1; border-left:0; border-top:1px solid #1d4254; grid-template-columns:1fr 1fr; }
	.tr { grid-template-columns:1fr; }
}
@media (max-width:1024px) {
	.rph-body { grid-template-columns:1fr; } .pp-pages { grid-template-columns:1fr; } .pp { min-height:0; padding-bottom:60px; }
	.au2-panel { grid-template-columns:1fr; } .rp-key { grid-template-columns:1fr; }
	.vc-s { grid-template-columns:repeat(3,minmax(0,1fr)); } .vc-s li:nth-child(3) { border-right:0; }
}
@media (max-width:768px) {
	.rw { grid-template-columns:1fr 1fr; } .rph-meta { grid-template-columns:1fr 1fr; }
	.rb-grid { grid-template-columns:1fr; } .rb-nav { grid-auto-flow:column; overflow-x:auto; border-right:0; border-bottom:1px solid #1d4254; } .rb-nav button { white-space:nowrap; } .rb-side { grid-template-columns:1fr; } .rb-main { padding:14px; } .rb-doc { padding:14px; }
	.pp { padding:24px 20px 56px; } .pp footer { left:20px; right:20px; } .pp-dec { grid-template-columns:1fr; } .pp-mt { grid-template-columns:1fr; }
	.tr-b { grid-template-columns:22px 32px minmax(0,1fr); } .tr-b .rpt { grid-column:3; justify-self:start; }
	.at-i { grid-template-columns:40px 1fr; gap:12px; } .at-dot { width:40px; height:40px; } .at::before { left:19px; } .at-c { padding:14px 16px; } .at-d { grid-template-columns:1fr; } .at-ar { transform:rotate(90deg); }
	.vc-top { grid-template-columns:1fr; gap:14px; } .vc-mid { display:none; } .vc-v--n { justify-items:start; text-align:left; } .vc-r { grid-template-columns:32px 1fr; gap:10px 12px; padding:14px 16px; } .vc-b { grid-column:1 / -1; } .vc-s { grid-template-columns:repeat(2,minmax(0,1fr)); } .vc-s li { border-bottom:1px solid #e8f0ed; }
	.au2-map ul { grid-template-columns:1fr; }
}
@media (max-width:480px) { .rw { grid-template-columns:1fr; } .rw-s { grid-template-columns:64px 1fr; justify-items:start; text-align:left; gap:2px 14px; } .rw-g { grid-column:1 / -1; } .rw-i { grid-row:2 / span 3; } .rw-n { top:50px; left:48px; } }
@media (prefers-reduced-motion:reduce) { .rph-nodes circle { animation:none; } }
.rph-sum li { display:block; position:relative; padding-left:28px; } .rph-sum .rph-n { position:absolute; left:0; top:0; }
