/* RiskDocx Password Policy Assessment (embed styles)
   Extracted from pwd_assessment.html to keep HTML clean.
*/
/* Password assessment design tokens + components (scoped) */
    .pwd-assessment{
      --deep-blue:#0b3a66;
      --primary-orange:#f97316;
      --soft-bg:#f6fbff;
      --border:#e3ecf6;
      --text-main:#0f172a;
      --text-muted:#5b6b7f;
      --radius-lg:18px;
      --radius-md:14px;
      --radius-sm:12px;
    }
    /* Prevent site typography helpers from making the assessment look "thin" */
    .pwd-assessment, .pwd-assessment *{
      box-sizing:border-box;
    }
    .pwd-assessment{
      color:var(--text-main);
    }
    .pp-card{
      border:1px solid var(--border);
      border-radius:var(--radius-lg);
      background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
      box-shadow:0 6px 18px rgba(15,23,42,.08);
    }
    .pp-h2{
      color:var(--deep-blue);
      font-weight:900;
      letter-spacing:.12em;
      text-transform:uppercase;
    }
    .pp-kpi-box{
      border:1px solid var(--border);
      border-radius:var(--radius-md);
      background:var(--soft-bg);
    }
    /* Make radar responsive */
    #radar{
      width:100%;
      height:340px;
      display:block;
    }
    @media (min-width: 768px){
      #radar{ height:380px; }
    }
    /* Keep long table text from blowing layout */
    .pwd-assessment table td, .pwd-assessment table th{
      vertical-align:top;
    }
    .pwd-assessment td{ word-break:break-word; }
    #summaryBody td:nth-child(2){ word-break:normal; }
  /* --- Visual Risk Meter component --- */
.pp-meter{
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 2px 12px rgba(15,23,42,.06);
  padding:14px;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.pp-meter:hover{
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(15,23,42,.10);
  border-color: #c9d7e7;
}
.pp-meter-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.pp-meter-title{
  font-weight:900;
  color:var(--deep-blue);
  font-size:13px;
  line-height:1.2;
}
.pp-meter-sub{
  margin-top:4px;
  font-size:11px;
  color:var(--text-muted);
  line-height:1.35;
}
.pp-meter-pill{
  white-space:nowrap;
  border:1px solid var(--border);
  background: var(--soft-bg);
  color: var(--text-muted);
  border-radius:999px;
  padding:4px 10px;
  font-size:11px;
  font-weight:900;
}
.pp-meter-track{
  margin-top:10px;
  height:10px;
  border-radius:999px;
  background: #edf2f7;
  border: 1px solid #e8eef6;
  overflow:hidden;
}
.pp-meter-fill{
  height:100%;
  border-radius:999px;
  transition: width .3s ease;
}
.pp-meter-bottom{
  margin-top:10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:11px;
  color:var(--text-muted);
}
.pp-meter-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight:900;
}
.pp-meter-dot{
  width:8px;
  height:8px;
  border-radius:999px;
  display:inline-block;
}
  
/* --- Shared UI components --- */
.pp-panel{
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 2px 12px rgba(15,23,42,.06);
}
.pp-panel-soft{
  background: linear-gradient(180deg, var(--soft-bg) 0%, #ffffff 100%);
}
.pp-divider{
  height:1px;
  background: linear-gradient(90deg, transparent 0%, rgba(15,23,42,.10) 20%, rgba(15,23,42,.10) 80%, transparent 100%);
}
.pp-progress{
  height:10px;
  border-radius:999px;
  background:#edf2f7;
  border:1px solid #e8eef6;
  overflow:hidden;
}
.pp-progress > div{
  height:100%;
  width:0%;
  border-radius:999px;
  background: var(--primary-orange);
  transition: width .3s ease;
}

.pp-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  border-radius:12px;
  padding:.65rem 1rem;
  font-size:14px;
  font-weight:900;
  letter-spacing:.01em;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease, color .15s ease;
  user-select:none;
}
.pp-btn:focus-visible{
  outline:3px solid rgba(249,115,22,.35);
  outline-offset:2px;
}
.pp-btn[disabled]{
  opacity:.5;
  cursor:not-allowed;
}
.pp-btn-outline{
  background:#fff;
  border:1px solid var(--border);
  color:var(--text-main);
  box-shadow:0 1px 6px rgba(15,23,42,.06);
}
.pp-btn-outline:hover{ background:#f8fafc; transform:translateY(-1px); }
.pp-btn-primary{
  border:1px solid rgba(0,0,0,0);
  background: linear-gradient(180deg, #fb8a3c 0%, var(--primary-orange) 100%);
  color:#fff;
  box-shadow:0 10px 18px rgba(249,115,22,.20);
}
.pp-btn-primary:hover{ transform:translateY(-1px); box-shadow:0 16px 26px rgba(37, 99, 235, 0.15); }
    /* Ensure primary action is always visible even if the site theme overrides button display */
    #startBtn{display:inline-flex !important;}
    .pp-btn{display:inline-flex; align-items:center; justify-content:center;}

.pp-btn-ghost{
  background:transparent;
  border:1px solid transparent;
  color:var(--text-muted);
}
.pp-btn-ghost:hover{ background:#f8fafc; border-color:var(--border); color:var(--text-main); }

.pp-badge{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:6px 12px;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.10em;
  border:1px solid rgba(0,0,0,0);

  white-space:nowrap;
  word-break:keep-all;
  overflow-wrap:normal;
}

.pp-badge-strong{ background:#dcfce7; color:#166534; border-color:#bbf7d0; }
.pp-badge-acceptable{ background:#fef3c7; color:#92400e; border-color:#fde68a; }
.pp-badge-weak{ background:#ffedd5; color:#9a3412; border-color:#fed7aa; }
.pp-badge-fail{ background:#fee2e2; color:#991b1b; border-color:#fecaca; }
.pp-badge-neutral{ background:#eef2ff; color:#3730a3; border-color:#c7d2fe; }

.pp-choice{
  width:100%;
  text-align:left;
  border:1px solid var(--border);
  border-radius:14px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 2px 12px rgba(15,23,42,.06);
  padding:14px;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease;
}
.pp-choice:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(15,23,42,.10);
  border-color: rgba(249,115,22,.55);
  background:#FFF7ED;
}
.pp-choice:focus-visible{
  outline:3px solid rgba(249,115,22,.35);
  outline-offset:2px;
}

.pp-table-wrap{
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:0 2px 12px rgba(15,23,42,.06);
}
.pp-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
}
.pp-table thead th{
  background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
  color:#475569;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding:10px 12px;
  border-bottom:1px solid #e2e8f0;
}
.pp-table tbody td{
  padding:12px;
  border-bottom:1px solid #eef2f7;
  color:#0f172a;
  font-size:13px;
  line-height:1.35;
}
.pp-table tbody tr:nth-child(even) td{ background:#fbfdff; }
.pp-table tbody tr:hover td{ background:#f6fbff; }
