/* ── RESET ─────────────────────────────────────── */
.hrdc-report *,.hrdc-report *::before,.hrdc-report *::after{box-sizing:border-box;margin:0;padding:0}
.hrdc-report img{max-width:100%;display:block}
.hrdc-report a{text-decoration:none}
.hrdc-report ul,.hrdc-report ol{list-style:none}

/* ── TOKENS ────────────────────────────────────── */
.hrdc-report {
  --c-primary:      #363e3f;
  --c-mid:          #636f6f;
  --c-sky:          #b97b4e;
  --c-bright:       #c98d65;
  --c-sky-pale:     #f8f0e7;
  --c-gold:         #a06835;
  --c-gold-pale:    #fdf6ee;
  --c-ok:           #15803D;
  --c-ok-bg:        #DCFCE7;
  --c-ok-bd:        #86EFAC;
  --c-danger:       #B91C1C;
  --c-danger-bg:    #FEF2F2;
  --c-danger-bd:    #FECACA;
  --c-warn:         #92400E;
  --c-warn-bg:      #FFF7ED;
  --c-warn-bd:      #FED7AA;
  --c-amber:        #78350F;
  --c-amber-bg:     #FFFBEB;
  --c-amber-bd:     #FDE68A;
  --c-low:          #14532D;
  --c-low-bg:       #F0FDF4;
  --c-low-bd:       #86EFAC;
  --c-text:         #1e2425;
  --c-text2:        #3d4a4b;
  --c-text3:        #636f6f;
  --c-border:       #e4ddd6;
  --c-bg:           #f8f0e7;
  --c-surface:      #FFFFFF;
  --c-sbar:         #2a3132;
  --c-sbar-text:    rgba(255,255,255,.87);
  --c-sbar-muted:   rgba(255,255,255,.42);
  --c-sbar-hover:   rgba(255,255,255,.09);
  --ff:             'Montserrat',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --f-base:         17px;
  --lh:             1.65;
  --fw-n:           400;
  --fw-m:           500;
  --fw-s:           600;
  --fw-b:           700;
  --fw-x:           800;
  --r:              8px;
  --r-lg:           12px;
  --r-xl:           16px;
  --sh-sm:          0 1px 2px rgba(0,0,0,.06);
  --sh:             0 1px 3px rgba(0,0,0,.10),0 1px 2px rgba(0,0,0,.06);
  --sh-md:          0 4px 14px rgba(54,62,63,.12);
  --sh-lg:          0 10px 32px rgba(54,62,63,.20);
  --sidebar-w:      266px;
  --trans:          .18s ease;
  font-family:   var(--ff);
  font-size:     var(--f-base);
  line-height:   var(--lh);
  color:         var(--c-text);
  background:    var(--c-bg);
}

/* ── HEADER ────────────────────────────────────── */
.r-hdr{background:var(--c-primary);padding:.95rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;box-shadow:var(--sh-md);position:relative;z-index:100}
.r-hdr.is-stuck{position:fixed;top:98px;left:0;right:0;z-index:1000}
.r-hdr-brand h1{font-size:1.02rem;font-weight:var(--fw-b);color:#fff;letter-spacing:-.01em;line-height:1.2}
.r-hdr-brand p{font-size:.75rem;color:rgba(255,255,255,.5);margin-top:.12rem;font-weight:var(--fw-m);letter-spacing:.02em}
.r-hdr-actions{display:flex;align-items:center;gap:.6rem}
.r-gloss-btn{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);color:#fff;padding:.38rem .85rem;border-radius:var(--r);cursor:pointer;font-size:.8rem;font-family:var(--ff);font-weight:var(--fw-s);transition:var(--trans);display:flex;align-items:center;gap:.4rem;white-space:nowrap}
.r-gloss-btn:hover{background:rgba(255,255,255,.2)}
.r-hdr-date{font-size:.75rem;color:rgba(255,255,255,.4);white-space:nowrap}
.r-mob-btn{display:none;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);color:#fff;width:36px;height:36px;border-radius:var(--r);cursor:pointer;font-size:1.1rem;align-items:center;justify-content:center;flex-shrink:0}

/* Spacer injected by JS when header goes fixed so content doesn't jump */
.r-hdr-spacer{display:none;height:0}
.r-hdr-spacer.active{display:block}

/* ── LAYOUT ────────────────────────────────────── */
.r-layout{display:flex;align-items:flex-start;min-height:600px;background:linear-gradient(to right,var(--c-sbar) var(--sidebar-w),var(--c-bg) var(--sidebar-w))}

/* ── SIDEBAR ───────────────────────────────────── */
.r-sidebar{width:var(--sidebar-w);flex-shrink:0;align-self:flex-start;background:var(--c-sbar);position:relative;padding-bottom:2rem}
.r-sidebar.is-stuck{position:fixed;top:170px;width:var(--sidebar-w);max-height:calc(100vh - 150px);overflow-y:auto;z-index:999}
.r-sidebar::-webkit-scrollbar{width:3px}
.r-sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:3px}

/* Spacer injected by JS when sidebar goes fixed so layout doesn't collapse */
.r-sidebar-spacer{display:none;width:var(--sidebar-w);flex-shrink:0}
.r-sidebar-spacer.active{display:block}

.r-score-widget{padding:1.35rem 1.25rem 1.15rem;border-bottom:1px solid rgba(255,255,255,.09);display:flex;align-items:center;gap:.95rem}
.r-score-ring svg{display:block}
.r-score-num{font-size:2.1rem;font-weight:var(--fw-x);color:#fff;line-height:1;letter-spacing:-.02em}
.r-score-den{font-size:.95rem;color:rgba(255,255,255,.38);font-weight:var(--fw-m)}
.r-score-lbl{font-size:.68rem;color:var(--c-sbar-muted);font-weight:var(--fw-s);text-transform:uppercase;letter-spacing:.09em;margin-top:.3rem}
.r-score-grade{display:inline-block;margin-top:.3rem;padding:.12rem .5rem;background:rgba(251,191,36,.22);color:#FBBF24;border-radius:999px;font-size:.68rem;font-weight:var(--fw-x);letter-spacing:.04em;text-transform:uppercase}
.r-nav-lbl{padding:.95rem 1.25rem .28rem;font-size:.62rem;font-weight:var(--fw-b);letter-spacing:.13em;text-transform:uppercase;color:var(--c-sbar-muted)}
.r-nav{padding:0 .6rem}
.r-nav li a{display:flex;align-items:center;gap:.55rem;padding:.45rem .65rem;color:var(--c-sbar-text);font-size:.855rem;font-weight:var(--fw-m);border-radius:var(--r);transition:var(--trans);line-height:1.25}
.r-nav li a:hover{background:var(--c-sbar-hover);color:#fff}
.r-nav li a.rpt-active{background:var(--c-sky);color:#fff}
.r-nav-ico{font-size:.9rem;width:17px;text-align:center;flex-shrink:0}
.r-nav-sc{margin-left:auto;font-size:.7rem;font-weight:var(--fw-b);padding:.09rem .42rem;border-radius:999px;white-space:nowrap}
.r-nav-sc.sg{background:rgba(34,197,94,.18);color:#86EFAC}
.r-nav-sc.sm{background:rgba(251,191,36,.18);color:#FCD34D}
.r-nav-sc.sl{background:rgba(248,113,113,.18);color:#FCA5A5}
.r-nav-sc.svl{background:rgba(239,68,68,.25);color:#F87171}

/* ── MAIN ──────────────────────────────────────── */
.r-main{flex:1;min-width:0;padding:2.5rem 2.75rem;max-width:1300px}

/* ── SECTION ───────────────────────────────────── */
.r-sec{margin-bottom:3.5rem;scroll-margin-top:165px}
.r-sec-hdr{display:flex;align-items:center;gap:.65rem;padding-bottom:.85rem;border-bottom:2px solid var(--c-border);margin-bottom:1.65rem}
.r-sec-ico{font-size:1.3rem;line-height:1}
.r-sec-ttl{font-size:1.25rem;font-weight:var(--fw-b);color:var(--c-primary);letter-spacing:-.01em}
.r-sec-badge{margin-left:auto}

/* ── HERO ──────────────────────────────────────── */
.r-hero{background:linear-gradient(130deg,#2a3132 0%,#363e3f 60%,#b97b4e 100%);border-radius:var(--r-xl);padding:2rem 2.25rem;display:flex;align-items:center;gap:2.25rem;margin-bottom:1.65rem;box-shadow:var(--sh-lg)}
.r-hero-gauge{flex-shrink:0}
.r-hero-gauge svg{display:block}
.r-hero-text h2{font-size:1.5rem;font-weight:var(--fw-x);color:#fff;letter-spacing:-.02em;margin-bottom:.4rem}
.r-hero-text p{font-size:.9rem;color:rgba(255,255,255,.72);line-height:1.55;max-width:380px}
.r-hero-stats{display:flex;gap:1.75rem;margin-top:1.15rem;flex-wrap:wrap}
.r-hstat-val{font-size:1.45rem;font-weight:var(--fw-x);color:#fff;line-height:1}
.r-hstat-key{font-size:.68rem;color:rgba(255,255,255,.45);text-transform:uppercase;letter-spacing:.07em;margin-top:.18rem;font-weight:var(--fw-s)}

/* ── SCORE GRID ────────────────────────────────── */
.r-sgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.8rem;margin-bottom:1.65rem}
.r-scard{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:.95rem .9rem;text-align:center;box-shadow:var(--sh-sm);transition:var(--trans)}
.r-scard:hover{box-shadow:var(--sh-md);transform:translateY(-1px)}
.r-scard-val{font-size:1.9rem;font-weight:var(--fw-x);line-height:1;margin-bottom:.25rem;letter-spacing:-.02em}
.r-scard-lbl{font-size:.7rem;color:var(--c-text3);font-weight:var(--fw-s);text-transform:uppercase;letter-spacing:.05em;line-height:1.3}
.r-scard-wt{font-size:.68rem;color:var(--c-text3);margin-top:.12rem}
.cv-ok{color:var(--c-ok)}.cv-warn{color:#D97706}.cv-bad{color:var(--c-danger)}.cv-sky{color:var(--c-mid)}

/* ── CARD ──────────────────────────────────────── */
.r-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:1.4rem 1.5rem;margin-bottom:1.15rem;box-shadow:var(--sh-sm)}
.r-card-ttl{font-size:.9rem;font-weight:var(--fw-b);color:var(--c-text);margin-bottom:.9rem;display:flex;align-items:center;gap:.45rem}

/* ── 2-COL ─────────────────────────────────────── */
.r-2col{display:grid;grid-template-columns:1fr 1fr;gap:1.15rem;margin-bottom:1.15rem}

/* ── LISTS ─────────────────────────────────────── */
.r-lst{display:flex;flex-direction:column;gap:.55rem}
.r-li{display:flex;align-items:flex-start;gap:.7rem;padding:.8rem .95rem;border-radius:var(--r);font-size:.87rem;line-height:1.45}
.r-li.issue{background:var(--c-danger-bg);border-left:3px solid #FCA5A5}
.r-li.win{background:var(--c-ok-bg);border-left:3px solid var(--c-ok-bd)}
.r-li.note{background:var(--c-sky-pale);border-left:3px solid var(--c-sky)}
.r-li.warn{background:var(--c-warn-bg);border-left:3px solid #FDB97D}
.r-li-n{font-weight:var(--fw-x);width:21px;flex-shrink:0;font-size:.82rem;padding-top:.05em}
.r-li.issue .r-li-n{color:var(--c-danger)}
.r-li.win .r-li-n{color:var(--c-ok)}
.r-li.note .r-li-n{color:var(--c-mid)}
.r-li.warn .r-li-n{color:var(--c-warn)}
.r-li-body{color:var(--c-text2)}
.r-li-body strong{font-weight:var(--fw-s);color:var(--c-text);display:block;margin-bottom:.1rem}

/* ── BADGES ────────────────────────────────────── */
.r-bdg{display:inline-flex;align-items:center;gap:.22rem;padding:.16rem .55rem;border-radius:999px;font-size:.72rem;font-weight:var(--fw-b);white-space:nowrap;letter-spacing:.03em;text-transform:uppercase}
.r-bdg.critical{background:var(--c-danger-bg);color:var(--c-danger);border:1px solid var(--c-danger-bd)}
.r-bdg.high{background:var(--c-warn-bg);color:var(--c-warn);border:1px solid var(--c-warn-bd)}
.r-bdg.medium{background:var(--c-amber-bg);color:var(--c-amber);border:1px solid var(--c-amber-bd)}
.r-bdg.low{background:var(--c-low-bg);color:var(--c-low);border:1px solid var(--c-low-bd)}
.r-bdg.pass{background:var(--c-ok-bg);color:var(--c-ok);border:1px solid var(--c-ok-bd)}
.r-bdg.info{background:var(--c-sky-pale);color:var(--c-mid);border:1px solid #d4b99a}
.r-ok{color:var(--c-ok);font-style:normal}
.r-no{color:var(--c-danger);font-style:normal}
.r-wrn{color:#D97706;font-style:normal}

/* ── TABLE ─────────────────────────────────────── */
.r-tw{overflow-x:auto;border-radius:var(--r-lg);border:1px solid var(--c-border);margin-bottom:1.15rem;box-shadow:var(--sh-sm)}
.r-t{width:100%;border-collapse:collapse;font-size:.87rem}
.hrdc-report .r-t th{background:var(--c-primary)!important;color:#fff!important;padding:.62rem .95rem;text-align:left;font-size:.75rem;font-weight:var(--fw-b);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.r-t td{padding:.62rem .95rem;border-bottom:1px solid var(--c-border);color:var(--c-text2);vertical-align:top;line-height:1.4}
.r-t tr:last-child td{border-bottom:none}
.r-t tr:nth-child(even) td{background:#fdf8f3}
.r-t tr:hover td{background:var(--c-sky-pale)}
.r-t td:first-child{font-weight:var(--fw-s);color:var(--c-text)}

/* ── BARS ──────────────────────────────────────── */
.r-bars{display:flex;flex-direction:column;gap:.8rem}
.r-bar-row{display:flex;align-items:center;gap:.8rem}
.r-bar-lbl{width:155px;font-size:.82rem;font-weight:var(--fw-m);color:var(--c-text2);flex-shrink:0}
.r-bar-track{flex:1;height:9px;background:var(--c-border);border-radius:999px;overflow:hidden}
.r-bar-fill{height:100%;border-radius:999px;transition:width 1.3s cubic-bezier(.17,.67,.35,1)}
.r-bar-val{width:46px;text-align:right;font-size:.82rem;font-weight:var(--fw-b);color:var(--c-text)}
.bf-ok{background:linear-gradient(90deg,#16a34a,#22c55e)}
.bf-warn{background:linear-gradient(90deg,#D97706,#F59E0B)}
.bf-bad{background:linear-gradient(90deg,#B91C1C,#EF4444)}
.bf-sky{background:linear-gradient(90deg,var(--c-mid),var(--c-sky))}

/* ── NOTICE ────────────────────────────────────── */
.r-notice{padding:.85rem 1.05rem;border-radius:var(--r);font-size:.875rem;line-height:1.5;display:flex;gap:.6rem;align-items:flex-start;margin-bottom:1.05rem}
.r-notice-ico{flex-shrink:0;margin-top:.04rem}
.r-notice.info{background:var(--c-sky-pale);border-left:3px solid var(--c-sky);color:#363e3f}
.r-notice.warn{background:var(--c-warn-bg);border-left:3px solid #FB923C;color:var(--c-warn)}
.r-notice.danger{background:var(--c-danger-bg);border-left:3px solid #FCA5A5;color:var(--c-danger)}
.r-notice.success{background:var(--c-ok-bg);border-left:3px solid var(--c-ok-bd);color:var(--c-ok)}

/* ── CODE ──────────────────────────────────────── */
.r-code{background:#1e2424;color:#e8c89a;padding:1.05rem 1.35rem;border-radius:var(--r-lg);font-family:'Fira Code',Consolas,'Courier New',monospace;font-size:.78rem;line-height:1.8;overflow-x:auto;margin:.45rem 0 1.05rem;border:1px solid #2d3535;white-space:pre}
.r-tag{display:inline-block;padding:.04rem .42rem;background:var(--c-sky-pale);color:var(--c-primary);border-radius:4px;font-family:Consolas,monospace;font-size:.8em;font-style:normal}

/* ── ACTION PLAN ───────────────────────────────── */
.r-pgrp{margin-bottom:1.85rem}
.r-pttl{display:flex;align-items:center;gap:.65rem;padding:.6rem .95rem;border-radius:var(--r);font-weight:var(--fw-b);font-size:.85rem;margin-bottom:.7rem;text-transform:uppercase;letter-spacing:.04em}
.r-pttl.c{background:var(--c-danger-bg);color:var(--c-danger);border:1px solid var(--c-danger-bd)}
.r-pttl.h{background:var(--c-warn-bg);color:var(--c-warn);border:1px solid var(--c-warn-bd)}
.r-pttl.m{background:var(--c-amber-bg);color:var(--c-amber);border:1px solid var(--c-amber-bd)}
.r-pttl.l{background:var(--c-low-bg);color:var(--c-low);border:1px solid var(--c-low-bd)}
.r-chklist{display:flex;flex-direction:column;gap:.45rem}
.r-chk{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem .95rem;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r);font-size:.875rem;line-height:1.4;cursor:pointer;transition:var(--trans);user-select:none}
.r-chk:hover{border-color:var(--c-sky);background:var(--c-sky-pale)}
.r-chk.done{opacity:.45}
.r-chk.done .r-chk-body{text-decoration:line-through;color:var(--c-text3)}
.r-chk-box{width:18px;height:18px;border:2px solid var(--c-border);border-radius:4px;flex-shrink:0;margin-top:2px;display:flex;align-items:center;justify-content:center;font-size:.68rem;color:transparent;transition:var(--trans)}
.r-chk:hover .r-chk-box{border-color:var(--c-mid)}
.r-chk.done .r-chk-box{background:var(--c-ok);border-color:var(--c-ok);color:#fff}
.r-chk-body{flex:1;color:var(--c-text2)}
.r-chk-body strong{font-weight:var(--fw-s);color:var(--c-text);display:block;margin-bottom:.1rem}
.r-chk-time{margin-left:auto;font-size:.7rem;color:var(--c-text3);white-space:nowrap;padding-top:.12rem;font-weight:var(--fw-m);flex-shrink:0}

/* ── MODAL ─────────────────────────────────────── */
.r-backdrop{display:none;position:fixed;inset:0;background:rgba(0,28,58,.62);z-index:9999;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);align-items:center;justify-content:center;padding:1.5rem}
.r-backdrop.open{display:flex}
.r-modal{background:var(--c-surface);border-radius:var(--r-xl);box-shadow:var(--sh-lg);width:100%;max-width:680px;max-height:88vh;display:flex;flex-direction:column;overflow:hidden}
.r-modal-hdr{background:var(--c-primary);color:#fff;padding:1.05rem 1.45rem;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.r-modal-hdr h2{font-size:.95rem;font-weight:var(--fw-b);color:#fff}
.r-modal-cls{background:rgba(255,255,255,.12);border:none;color:#fff;width:31px;height:31px;border-radius:6px;cursor:pointer;font-size:.95rem;display:flex;align-items:center;justify-content:center;transition:var(--trans);flex-shrink:0}
.r-modal-cls:hover{background:rgba(255,255,255,.22)}
.r-modal-srch{padding:.8rem 1.45rem;border-bottom:1px solid var(--c-border);flex-shrink:0}
.r-modal-srch input{width:100%;padding:.52rem .85rem;border:1px solid var(--c-border);border-radius:var(--r);font-size:.875rem;font-family:var(--ff);color:var(--c-text);background:var(--c-bg);outline:none;transition:var(--trans)}
.r-modal-srch input:focus{border-color:var(--c-sky);box-shadow:0 0 0 3px rgba(185,123,78,.15)}
.r-modal-body{overflow-y:auto;padding:0 1.45rem 1.45rem;flex:1}
.r-gitem{padding:.85rem 0;border-bottom:1px solid var(--c-border)}
.r-gitem:last-child{border-bottom:none}
.r-gitem.g-hidden{display:none}
.r-gterm{font-weight:var(--fw-b);color:var(--c-primary);font-size:.9rem;margin-bottom:.28rem}
.r-gdef{font-size:.855rem;color:var(--c-text2);line-height:1.55}

/* ── RESPONSIVE ────────────────────────────────── */
@media(max-width:920px){
  .r-mob-btn{display:flex}
  .r-sidebar{position:fixed!important;top:0!important;left:-285px;height:100vh;max-height:100vh;z-index:500;transition:left .25s ease;padding-top:1rem;overflow-y:auto}
  .r-sidebar.is-stuck{position:fixed!important;top:0!important;left:-285px}
  .r-sidebar.open{left:0!important;box-shadow:var(--sh-lg)}
  .r-sidebar-spacer{display:none!important}
  .r-main{padding:1.5rem 1.25rem}
  .r-hero{flex-direction:column;align-items:flex-start;gap:1.2rem;padding:1.5rem}
  .r-2col{grid-template-columns:1fr}
  .r-sgrid{grid-template-columns:repeat(3,1fr)}
  .r-hdr-date{display:none}
}
@media(max-width:600px){
  .r-sgrid{grid-template-columns:repeat(2,1fr)}
  .r-hero-stats{gap:1.2rem}
  .r-bar-lbl{width:110px;font-size:.76rem}
}