# phpinfo-wp/7.2.6/css/style.css

phpinfo() WP – Site Health, PHP Compatibility &amp; Server Audit, version 7.2.6. 4,725 lines.

- Page: https://pluginprobe.com/plugins/phpinfo-wp/7.2.6/code/css/style.css
- Raw: https://pluginprobe.com/plugins/phpinfo-wp/7.2.6/raw/css/style.css
- Modified: 2026-08-21T22:17:24+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/phpinfo-wp/7.2.6/code/css/style.css#L10-L20`.

```css
/* =========================================================
   phpinfo() page — override phpinfo's own dated CSS
   ========================================================= */

/* Strip phpinfo's default table width, re-lay it out cleanly */
#phpinfo-WP .center {
  text-align: left;
}

#phpinfo-WP .center table {
  width: 100% !important;
  max-width: 100% !important;
  border-collapse: collapse !important;
  border: none !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, .08) !important;
  margin: 0 0 20px !important;
  border-radius: 6px;
  overflow: hidden;
}

/* Section header rows */
#phpinfo-WP .center tr.h th,
#phpinfo-WP .center tr.h td {
  background: #777BB3 !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .6px !important;
  padding: 10px 14px !important;
  text-align: left !important;
  border: none !important;
}

/* Directive name cell */
#phpinfo-WP .center td.e {
  background: #f5f5f8 !important;
  color: #1d2327 !important;
  font-family: monospace !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  padding: 7px 14px !important;
  width: 280px !important;
  border: none !important;
  border-bottom: 1px solid #eee !important;
  vertical-align: top !important;
}

/* Value cell */
#phpinfo-WP .center td.v {
  background: #fff !important;
  color: #2c2c2c !important;
  font-size: 12px !important;
  padding: 7px 14px !important;
  border: none !important;
  border-bottom: 1px solid #eee !important;
  max-width: none !important;
  overflow-x: auto !important;
  word-break: break-word !important;
}

/* Alternating rows */
#phpinfo-WP .center tr:nth-child(even) td.e {
  background: #ededf2 !important;
}

#phpinfo-WP .center tr:nth-child(even) td.v {
  background: #f9f9fc !important;
}

/* Section h1 / h2 */
#phpinfo-WP .center h1 {
  font-size: 18px !important;
  color: #1d2327 !important;
  margin: 8px 0 20px !important;
  font-weight: 700 !important;
}

#phpinfo-WP .center h2 {
  font-size: 14px !important;
  color: #777BB3 !important;
  margin: 28px 0 6px !important;
  padding-bottom: 6px !important;
  border-bottom: 2px solid #e0e0e8 !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .5px !important;
  scroll-margin-top: 60px;
}

/* phpinfo image (PHP logo) */
#phpinfo-WP .center img {
  display: none;
}

/* Links inside phpinfo */
#phpinfo-WP .center a {
  color: #777BB3;
}

/* Search highlight */
#phpinfo-WP tr.phpinfowp-row-hl td.e,
#phpinfo-WP tr.phpinfowp-row-hl td.v {
  background: #fffde7 !important;
}

#phpinfo-wp-notice {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

#htaccess-warning {
  color: red;
  font-weight: 600;
  font-size: 20px;
  margin: 10px;
}

#phpinfo-htaccess-save,
#phpinfo-htaccess-backup,
#phpinfo-htaccess-restore {
  background-color: #777BB3;
  margin: 15px 10px 10px 10px;
  border: none;
  border-radius: 5px;
  height: 40px;
  width: 100px;
  color: white;
  font-weight: 400;
  cursor: pointer;
  text-transform: uppercase;
}

#htaccess-phpinfo-des {
  font-size: 16px;
  max-width: 1100px;
  margin: 0 auto;
  padding: 20px;
  line-height: 1.5;
}

#htaccess-editor {
  min-width: 700px;
  margin-top: 10px;
  height: 370px;
}

.phpinfo-extensions {
  margin-top: 20px;
  -webkit-column-count: 5;
  -moz-column-count: 5;
  column-count: 5;
  -webkit-column-gap: 50px;
  -moz-column-gap: 50px;
  column-gap: 0px;
  -webkit-column-rule: 1px single grey;
  -moz-column-rule: 1px single grey;
  column-rule: 1px single grey;
  text-align: center;
  font-size: 15px;
  line-height: 25px;
  font-weight: bolder;
}

#title-phpinfo-WP {
  margin-top: 30px;
  margin-bottom: 30px;
  letter-spacing: 10px;
  margin-left: 20px;
}

#heading-phpinfo-WP {
  color: #777BB3;
}

html {
  scroll-behavior: smooth;
}

#topButtonImage-phpinfo-WP {
  height: 30px;
  width: 30px;
}

#topButton-phpinfo-WP {
  position: fixed;
  bottom: 20px;
  right: 30px;
  z-index: 99;
  border: none;
  outline: none;
  background-color: #777BB3;
  color: white;
  cursor: pointer;
  padding: 15px;
  border-radius: 10px;
  font-size: 18px;
}

#topButton-phpinfo-WP:hover {
  background-color: #555;
}

.center pre {
  margin: 0;
  font-family: Poppins, sans-serif;
}

.center a:link {
  color: #009;
  text-decoration: none;
  background-color: #fff;
}

.center a:hover {
  text-decoration: underline;
}

.center table {
  border-collapse: collapse;
  border: 0;
  width: 934px;
  box-shadow: 1px 2px 3px #ccc;
  text-align: left;
  margin: 10px auto;
}

.center table th {
  text-align: center !important;
}

.center table td,
.center table th {
  border: 1px solid #666;
  font-size: 75%;
  vertical-align: baseline;
  padding: 5px 5px;
  text-align: center;
}

.center h1,
.center h2 {
  text-transform: uppercase;
}

.center .p {
  text-align: left;
}

.center .e {
  background-color: #ccf;
  width: 300px;
  font-weight: bold;
}

.center .h {
  background-color: #99c;
  font-weight: bold;
}

.center .v {
  background-color: #ddd;
  max-width: 300px;
  overflow-x: auto;
  word-wrap: break-word;
}

.center .v i {
  color: #999;
}

.center img {
  float: right;
  border: 0;
}

.center hr {
  width: 934px;
  background-color: #ccc;
  border: 0;
  height: 1px;
}

.tab {
  overflow: hidden;
  border: 1px solid #ccc;
  background-color: #f1f1f1;
}

.tab button {
  background-color: inherit;
  float: left;
  border: none;
  outline: none;
  cursor: pointer;
  padding: 14px 16px;
  transition: 0.3s;
  font-size: 17px;
}

.tab button:hover {
  background-color: #777BB3;
  color: white;
}

.tab button.active {
  background-color: #777BB3;
  color: white;
}

.tabcontent {
  padding: 6px 12px;
  border: 1px solid #ccc;
  border-top: none;
  width: 97%;
}

#phpinfo-WP {
  text-align: center;
}

#phpinfo-wp {
  margin-right: 20px;
}

#phpinfo-output {
  text-align: center;
  font-size: 30px;
  margin-top: 20px;
  font-weight: 600;
  color: #777BB3;
}

#phpinfo-log {
  line-height: 1.5;
  height: 400px;
  width: 98.24%;
  overflow: auto;
  background-color: floralwhite;
  color: #777BB3;
  font-family: sans-serif;
  padding: 10px;
  margin-top: 30px;
  border-radius: 10px;
  font-weight: 400;
  font-size: 18px;
}

#phpinfo-disk-info {
  font-size: 14px;
}

#info-phpinfo-WP {
  display: flex;
  justify-content: space-between;
}

#phpinfo_mc {
  margin-top: 21px;
  letter-spacing: 10px;
  margin-left: 20px;
}

.editor {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

/* =========================================================
   Design system — shared across all pages
   ========================================================= */

/* Fix WP 7.x overriding dashicons color and alignment inside buttons */
.phpinfowp-page .button .dashicons {
  color: inherit !important;
  line-height: 1 !important;
  margin-top: -2px !important;
}

.phpinfowp-page .button-primary .dashicons {
  color: #fff !important;
}

.phpinfowp-page-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}

.phpinfowp-page-header h1 {
  margin: 0 0 24px;
  font-size: 22px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.phpinfowp-page-subtitle {
  margin: 0;
  color: #666;
  font-size: 13px;
}

.phpinfowp-section-heading {
  margin: 32px 0 14px;
  padding-bottom: 8px;
  border-bottom: 1px solid #e0e0e0;
  font-size: 16px;
}

/* Score card (security headers + config grader) */
.phpinfowp-score-card {
  display: flex;
  align-items: center;
  gap: 24px;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 20px 24px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, .06);
}

.phpinfowp-score-card-body {
  flex: 1;
}

.phpinfowp-score-card-value {
  font-size: 36px;
  font-weight: 800;
  color: #1d2327;
  line-height: 1;
  margin-bottom: 6px;
}

.phpinfowp-score-card-value span {
  font-size: 16px;
  font-weight: 400;
  color: #888;
}

.phpinfowp-score-card-meta {
  font-size: 13px;
  color: #666;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

/* =========================================================
   Pro shared
   ========================================================= */
.phpinfowp-pro-page {
  max-width: 1100px;
  padding: 20px 0 40px;
}

.phpinfowp-pro-page h1 {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 24px;
}

.phpinfowp-pro-badge {
  display: inline-block;
  background: #777BB3;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1px;
  padding: 2px 7px;
  border-radius: 3px;
  vertical-align: middle;
}

/* =========================================================
   Unified Design System & Brand Palette
   Brand Primary: #777BB3 | Hover: #62659e | Active: #515488
   Surface: #f8f8fc | Border: #d8daeb | Text: #2c2f48
   ========================================================= */

/* Every button in the plugin gets modern 6px rounded corners */
body.phpinfowp-page .button,
body.phpinfowp-page .button-primary,
body.phpinfowp-page .button-secondary,
body.phpinfowp-page .button-small,
body.phpinfowp-page .button-large,
body.phpinfowp-page .button-hero,
.phpinfowp-btn,
.phpinfowp-btn-primary,
.phpinfowp-btn-secondary {
  border-radius: 6px !important;
  font-family: inherit !important;
  line-height: 1.4 !important;
  transition: all 0.15s ease-in-out !important;
}

/* Secondary / Default Outline Buttons (e.g. White-label, Clear, Reset, Backup, etc.) */
body.phpinfowp-page .button:not(.button-primary):not(.button-link):not(.button-link-delete):not(.phpinfowp-btn-danger):not(.phpinfowp-btn-primary),
body.phpinfowp-page .button-secondary,
.phpinfowp-btn-secondary {
  background: #ffffff !important;
  border: 1px solid #d8daeb !important;
  color: #3b3e58 !important;
  font-weight: 600 !important;
  border-radius: 6px !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
  text-shadow: none !important;
}

body.phpinfowp-page .button:not(.button-primary):not(.button-link):not(.button-link-delete):not(.phpinfowp-btn-danger):not(.phpinfowp-btn-primary):hover,
body.phpinfowp-page .button-secondary:hover,
.phpinfowp-btn-secondary:hover {
  background: #f8f8fc !important;
  border-color: #777BB3 !important;
  color: #777BB3 !important;
  box-shadow: 0 2px 5px rgba(119, 123, 179, 0.15) !important;
  transform: translateY(-1px);
}

body.phpinfowp-page .button:not(.button-primary):not(.button-link):not(.button-link-delete):not(.phpinfowp-btn-danger):not(.phpinfowp-btn-primary):active,
body.phpinfowp-page .button-secondary:active,
.phpinfowp-btn-secondary:active {
  background: #eff0f9 !important;
  border-color: #777BB3 !important;
  color: #515488 !important;
  transform: translateY(0);
}

/* Primary Action Buttons */
body.phpinfowp-page .button-primary:not(.phpinfowp-btn-danger):not(.phpinfowp-btn-secondary),
body.phpinfowp-page .button.button-primary:not(.phpinfowp-btn-danger):not(.phpinfowp-btn-secondary),
.phpinfowp-btn-primary {
  background: #777BB3 !important;
  border-color: #777BB3 !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  border-radius: 6px !important;
  box-shadow: 0 1px 2px rgba(119, 123, 179, 0.25) !important;
  text-shadow: none !important;
  transition: all 0.15s ease-in-out !important;
}

body.phpinfowp-page .button-primary:not(.phpinfowp-btn-danger):not(.phpinfowp-btn-secondary):hover,
body.phpinfowp-page .button.button-primary:not(.phpinfowp-btn-danger):not(.phpinfowp-btn-secondary):hover,
.phpinfowp-btn-primary:hover {
  background: #62659e !important;
  border-color: #62659e !important;
  color: #ffffff !important;
  transform: translateY(-1px);
  box-shadow: 0 3px 6px rgba(119, 123, 179, 0.3) !important;
}

body.phpinfowp-page .button-primary:not(.phpinfowp-btn-danger):not(.phpinfowp-btn-secondary):active,
body.phpinfowp-page .button.button-primary:not(.phpinfowp-btn-danger):not(.phpinfowp-btn-secondary):active,
.phpinfowp-btn-primary:active {
  background: #515488 !important;
  border-color: #515488 !important;
  transform: translateY(0);
}

/* Unified Action Banner / Hero Card */
.phpinfowp-action-banner {
  background: linear-gradient(135deg, #f8f8fc 0%, #eff0f9 100%) !important;
  border: 1px solid #d8daeb !important;
  border-radius: 8px !important;
  padding: 16px 20px !important;
  margin-bottom: 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  box-shadow: 0 1px 3px rgba(119, 123, 179, 0.06) !important;
}

.phpinfowp-action-banner strong {
  font-size: 14px;
  color: #2c2f48;
}

.phpinfowp-action-banner p {
  margin: 4px 0 0;
  color: #555870;
  font-size: 12.5px;
  line-height: 1.5;
}

/* Active Nav Side Tab */
.phpinfowp-side-nav-item.is-active {
  background: #eff0f9 !important;
  color: #2c2f48 !important;
  border-left: 3px solid #777BB3 !important;
  font-weight: 600 !important;
}

.phpinfowp-side-nav-item.is-active .phpinfowp-side-nav-icon {
  color: #777BB3 !important;
}

/* =========================================================
   Upgrade gate
   ========================================================= */
.phpinfowp-upgrade-gate {
  display: flex;
  justify-content: center;
  padding: 48px 20px;
}

.phpinfowp-upgrade-inner {
  max-width: 700px;
  width: 100%;
  background: #fff;
  border: 1px solid #dcdcde;
  border-radius: 10px;
  padding: 40px 48px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, .08);
  text-align: center;
}

.phpinfowp-upgrade-badge {
  display: inline-block;
  background: #777BB3;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 2px;
  padding: 4px 14px;
  border-radius: 4px;
  margin-bottom: 16px;
}

.phpinfowp-upgrade-title {
  font-size: 22px;
  font-weight: 700;
  margin: 0 0 6px;
  color: #1d2327;
}

.phpinfowp-upgrade-price {
  font-size: 14px;
  color: #666;
  margin: 0 0 28px;
}

.phpinfowp-upgrade-features {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 24px;
  text-align: left;
  margin-bottom: 32px;
}

@media (max-width: 600px) {
  .phpinfowp-upgrade-features {
    grid-template-columns: 1fr;
  }
}

.phpinfowp-upgrade-feature {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13px;
}

.phpinfowp-upgrade-feature .dashicons {
  color: #777BB3;
  flex-shrink: 0;
  margin-top: 1px;
  font-size: 18px;
  width: 18px;
  height: 18px;
}

.phpinfowp-upgrade-feature strong {
  display: block;
  margin-bottom: 1px;
  color: #1d2327;
  font-size: 13px;
}

.phpinfowp-upgrade-feature span {
  color: #666;
  font-size: 12px;
  line-height: 1.4;
}

.phpinfowp-upgrade-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}

.phpinfowp-upgrade-cta {
  display: inline-block;
  background: #777BB3;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  padding: 12px 32px;
  border-radius: 6px;
  text-decoration: none;
  transition: background .15s;
}

.phpinfowp-upgrade-cta:hover {
  background: #6366a0;
  color: #fff;
}

.phpinfowp-upgrade-secondary {
  font-size: 13px;
  color: #777BB3;
  text-decoration: underline;
}

.phpinfowp-upgrade-footer {
  font-size: 12px;
  color: #888;
  margin: 0;
}

/* =========================================================
   License page
   ========================================================= */
.phpinfowp-license-card {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-left: 4px solid #ccc;
  border-radius: 8px;
  padding: 22px 26px;
  max-width: 760px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, .05);
  margin-bottom: 8px;
}

.phpinfowp-license-card.is-active {
  border-left-color: #00a32a;
}

.phpinfowp-license-card.is-inactive {
  border-left-color: #d63638;
}

.phpinfowp-license-status {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding-bottom: 18px;
  border-bottom: 1px solid #f0f0f0;
  margin-bottom: 18px;
}

.phpinfowp-license-status .dashicons {
  font-size: 28px;
  width: 28px;
  height: 28px;
  margin-top: 2px;
  flex-shrink: 0;
}

.phpinfowp-license-status-title {
  font-size: 16px;
  font-weight: 700;
  color: #1d2327;
  margin-bottom: 2px;
}

.phpinfowp-license-status-sub {
  font-size: 13px;
  color: #666;
}

.phpinfowp-license-key-display {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
}

.phpinfowp-license-key-label {
  font-weight: 600;
  color: #555;
}

.phpinfowp-license-key-display code {
  background: #f0f0f1;
  padding: 4px 10px;
  border-radius: 4px;
  font-size: 12px;
  letter-spacing: .5px;
}

.phpinfowp-license-form {
  margin: 0;
}

.phpinfowp-license-input-label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: #1d2327;
  margin-bottom: 8px;
}

.phpinfowp-license-input-row {
  display: flex;
  gap: 8px;
  align-items: center;
}

.phpinfowp-license-input-row input {
  flex: 1;
  font-family: monospace;
  font-size: 13px;
  padding: 8px 12px;
  border: 1px solid #c3c4c7;
  border-radius: 4px;
  background: #fff;
  min-width: 0;
}

.phpinfowp-license-input-row input:focus {
  border-color: #777BB3;
  box-shadow: 0 0 0 1px #777BB3;
  outline: none;
}

.phpinfowp-license-input-row .button {
  flex-shrink: 0;
}

/* Features grid */
.phpinfowp-license-features-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 14px;
  max-width: 1100px;
  margin-bottom: 24px;
}

.phpinfowp-license-feature {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .04);
}

.phpinfowp-license-feature .dashicons {
  flex-shrink: 0;
  color: #777BB3;
  font-size: 22px;
  width: 22px;
  height: 22px;
  margin-top: 1px;
}

.phpinfowp-license-feature-title {
  font-size: 13px;
  font-weight: 700;
  color: #1d2327;
  margin-bottom: 3px;
}

.phpinfowp-license-feature-desc {
  font-size: 12px;
  color: #666;
  line-height: 1.45;
}

.phpinfowp-license-cta-row {
  margin-top: 8px;
  padding: 20px 24px;
  background: linear-gradient(135deg, #f6f4ff 0%, #fff 100%);
  border: 1px solid #e8e3ff;
  border-radius: 8px;
  text-align: center;
  max-width: 1100px;
}

.phpinfowp-license-cta-meta {
  margin: 10px 0 0;
  font-size: 12px;
  color: #777;
}

/* =========================================================
   EOL Alerts
   ========================================================= */
.phpinfowp-eol-current-card {
  display: flex;
  align-items: center;
  gap: 32px;
  background: #fff;
  border: 1px solid #dcdcde;
  border-left: 5px solid #8c8fae;
  border-radius: 6px;
  padding: 20px 28px;
  max-width: 800px;
}

.eol-status-eol {
  border-left-color: #d63638;
}

.eol-status-warning {
  border-left-color: #dba617;
}

.eol-status-ok {
  border-left-color: #00a32a;
}

.phpinfowp-eol-current-version {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 120px;
}

.version-label {
  font-size: 11px;
  color: #666;
  text-transform: uppercase;
  letter-spacing: .5px;
}

.version-number {
  font-size: 26px;
  font-weight: 700;
  color: #1d2327;
  margin-top: 4px;
}

.phpinfowp-eol-current-info p {
  margin: 6px 0 0;
  font-size: 14px;
}

.eol-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1px;
  padding: 2px 8px;
  border-radius: 3px;
}

.eol-badge-eol {
  background: #fce8e8;
  color: #d63638;
}

.eol-badge-warning {
  background: #fff8e5;
  color: #996800;
}

.eol-badge-ok {
  background: #edfaef;
  color: #1a7f37;
}

.eol-badge-unknown {
  background: #f0f0f1;
  color: #50575e;
}

.phpinfowp-eol-table th,
.phpinfowp-eol-table td {
  vertical-align: middle;
}

.phpinfowp-current-row {
  background: #f0f4ff !important;
}

/* =========================================================
   Security Headers
   ========================================================= */
.phpinfowp-sec-header-summary {
  display: flex;
  align-items: center;
  gap: 28px;
  background: #fff;
  border: 1px solid #dcdcde;
  border-radius: 6px;
  padding: 20px 28px;
  max-width: 800px;
}

.phpinfowp-grade-circle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  font-size: 26px;
  font-weight: 800;
  flex-shrink: 0;
  color: #fff;
  background: #8c8fae;
}

.phpinfowp-grade-circle.grade-aplus,
.phpinfowp-grade-circle.grade-a {
  background: #00a32a;
}

.phpinfowp-grade-circle.grade-b {
  background: #1a7f37;
}

.phpinfowp-grade-circle.grade-c {
  background: #dba617;
}

.phpinfowp-grade-circle.grade-d {
  background: #d63638;
}

.phpinfowp-grade-circle.grade-f {
  background: #8d2626;
}

.phpinfowp-sec-table td {
  vertical-align: top;
  padding: 10px 12px;
}

.phpinfowp-header-missing td:first-child {
  opacity: .8;
}

/* =========================================================
   Config Snapshots
   ========================================================= */
.phpinfowp-snap-card {
  background: #fff;
  border: 1px solid #dcdcde;
  border-radius: 6px;
  padding: 20px 24px;
  min-width: 280px;
}

.phpinfowp-snap-select {
  max-width: 340px;
  width: 100%;
}

.phpinfowp-diff-table td {
  vertical-align: middle;
}

.diff-changed {
  background: #fff8e5 !important;
}

.diff-added {
  background: #edfaef !important;
}

.diff-removed {
  background: #fce8e8 !important;
}

.diff-badge {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .5px;
  padding: 2px 6px;
  border-radius: 3px;
}

.diff-badge-changed {
  background: #fff8e5;
  color: #996800;
}

.diff-badge-added {
  background: #edfaef;
  color: #1a7f37;
}

.diff-badge-removed {
  background: #fce8e8;
  color: #d63638;
}

/* =========================================================
   Error Log Viewer
   ========================================================= */
.phpinfowp-log-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

.phpinfowp-log-meta {
  font-size: 13px;
  color: #444;
}

#phpinfowp-log-viewer {
  font-family: monospace;
  font-size: 12px;
  line-height: 1.6;
  background: #1e1e2e;
  color: #cdd6f4;
  border-radius: 6px;
  padding: 12px 16px;
  max-height: 550px;
  overflow-y: auto;
  white-space: pre-wrap;
  word-break: break-all;
}

.log-line {
  padding: 1px 0;
}

.log-fatal {
  color: #f38ba8;
  font-weight: 600;
}

.log-warning {
  color: #fab387;
}

.log-notice {
  color: #f9e2af;
}

.log-debug {
  color: #89dceb;
}

.log-default {
  color: #cdd6f4;
}

/* =========================================================
   OPcache Dashboard
   ========================================================= */
.phpinfowp-opcache-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 16px;
  max-width: 960px;
}

.phpinfowp-opcache-card {
  background: #fff;
  border: 1px solid #dcdcde;
  border-radius: 6px;
  padding: 20px 24px;
}

.phpinfowp-opcache-hitrate {
  display: flex;
  align-items: center;
  gap: 20px;
  grid-column: 1 / -1;
}

.phpinfowp-opcache-hitrate .phpinfowp-grade-circle {
  font-size: 19px;
  letter-spacing: -0.5px;
}

.phpinfowp-progress-bar-wrap {
  background: #f0f0f1;
  border-radius: 4px;
  height: 12px;
  overflow: hidden;
  margin-bottom: 4px;
}

.phpinfowp-progress-bar {
  height: 100%;
  border-radius: 4px;
  transition: width .3s;
}

/* =========================================================
   Config Grader
   ========================================================= */
.phpinfowp-grade-table td {
  vertical-align: top;
  padding: 8px 10px;
  font-size: 13px;
}

.phpinfowp-grade-table code {
  font-size: 12px;
}

/* =========================================================
   phpinfo page — search toolbar
   ========================================================= */
.phpinfowp-toolbar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 0 16px;
  flex-wrap: wrap;
}

/* =========================================================
   Extensions page
   ========================================================= */
.phpinfowp-ext-page {
  padding-top: 20px;
}

.phpinfowp-ext-section {
  margin-bottom: 28px;
}

.phpinfowp-ext-heading {
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .5px;
  margin: 0 0 10px;
  padding-bottom: 6px;
  border-bottom: 2px solid #dcdcde;
}

.phpinfowp-ext-heading-loaded {
  color: #1d2327;
  border-color: #00a32a;
}

.phpinfowp-ext-heading-missing {
  color: #d63638;
  border-color: #d63638;
}

.phpinfowp-ext-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
  gap: 6px;
}

.phpinfowp-ext-item {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 5px 8px;
  border-radius: 4px;
  font-size: 13px;
  background: #f9f9f9;
  border: 1px solid #e8e8e8;
}

.phpinfowp-ext-loaded {
  background: #f0faf2;
  border-color: #c3e6cb;
}

.phpinfowp-ext-missing {
  background: #fff4f4;
  border-color: #f5c6c6;
}

.phpinfowp-ext-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}

.phpinfowp-ext-dot-loaded {
  background: #00a32a;
}

.phpinfowp-ext-dot-missing {
  background: #d63638;
}

.phpinfowp-ext-name {
  font-family: monospace;
  font-size: 12px;
  flex: 1;
}

.phpinfowp-ext-ver {
  font-size: 10px;
  color: #666;
  white-space: nowrap;
}

/* =========================================================
   Basic Info / Server Overview
   ========================================================= */
.phpinfowp-info-page {
  max-width: 1000px;
  padding-top: 20px;
}

.phpinfowp-info-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 14px;
  margin-bottom: 8px;
}

.phpinfowp-info-card {
  background: #fff;
  border: 1px solid #dcdcde;
  border-radius: 6px;
  padding: 16px 18px;
}

.phpinfowp-info-card-label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .5px;
  color: #666;
  margin-bottom: 6px;
}

.phpinfowp-info-card-value {
  font-size: 22px;
  font-weight: 700;
  color: #1d2327;
  margin-bottom: 4px;
}

.phpinfowp-info-card-sub {
  font-size: 12px;
  color: #555;
}

.phpinfowp-mini-bar-wrap {
  background: #f0f0f1;
  border-radius: 3px;
  height: 5px;
  margin-top: 6px;
  overflow: hidden;
}

.phpinfowp-mini-bar {
  height: 100%;
  border-radius: 3px;
}

.phpinfowp-info-table td:first-child {
  width: 210px;
  color: #555;
  font-size: 13px;
}

.phpinfowp-info-table td:last-child {
  font-size: 13px;
}

.phpinfowp-info-section-head {
  background: #f8f8fa !important;
  font-size: 11px !important;
  text-transform: uppercase;
  letter-spacing: .5px;
  color: #777BB3 !important;
  padding: 8px 12px !important;
}

/* =========================================================
   .htaccess Change Log
   ========================================================= */
/* =========================================================
   Activity Log
   ========================================================= */
/* .phpinfowp-log-page composes with .phpinfowp-pro-page for consistent
   width and top-padding — no overrides needed here. */

.phpinfowp-log-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.phpinfowp-log-filters {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.phpinfowp-log-filter-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  color: #555;
  background: #f0f0f1;
  border: 1px solid #dcdcde;
  transition: background .15s, color .15s;
}

.phpinfowp-log-filter-pill:hover {
  background: #e0e0e0;
  color: #333;
}

.phpinfowp-log-filter-pill.active {
  background: #777BB3;
  color: #fff;
  border-color: #777BB3;
}

.phpinfowp-log-filter-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 9px;
  font-size: 10px;
  font-weight: 700;
  background: rgba(0, 0, 0, .12);
}

.phpinfowp-log-filter-pill.active .phpinfowp-log-filter-count {
  background: rgba(255, 255, 255, .25);
}

.phpinfowp-log-empty {
  text-align: center;
  padding: 56px 20px;
  background: #f9f9f9;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
}

/* Timeline */
.phpinfowp-timeline {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  overflow: hidden;
}

.phpinfowp-timeline-entry {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 14px 18px;
  background: #fff;
  border-bottom: 1px solid #f0f0f1;
  border-left: 4px solid #ccc;
  transition: background .12s;
}

.phpinfowp-timeline-entry:last-child {
  border-bottom: none;
}

.phpinfowp-timeline-entry:hover {
  background: #fafafa;
}

.phpinfowp-timeline-icon {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 1px;
}

.phpinfowp-timeline-body {
  flex: 1;
  min-width: 0;
}

.phpinfowp-timeline-top {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 4px;
}

.phpinfowp-timeline-badge {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .5px;
  padding: 2px 7px;
  border-radius: 3px;
  color: #fff;
  flex-shrink: 0;
}

.phpinfowp-timeline-file {
  font-size: 12px;
  background: #f0f0f0;
  padding: 1px 6px;
  border-radius: 3px;
  color: #444;
}

.phpinfowp-timeline-user {
  font-size: 12px;
  color: #888;
}

.phpinfowp-timeline-meta {
  font-size: 12px;
  color: #999;
  display: flex;
  gap: 6px;
  align-items: center;
  flex-wrap: wrap;
}

/* =========================================================
   .htaccess Editor
   ========================================================= */
.phpinfowp-htaccess-page {
  max-width: 1200px;
}

.phpinfowp-htaccess-layout {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 3fr);
  gap: 28px;
  align-items: flex-start;
}

.phpinfowp-htaccess-editor-col,
.phpinfowp-htaccess-preview-col {
  min-width: 0;
}

@media (max-width: 960px) {
  .phpinfowp-htaccess-layout {
    grid-template-columns: 1fr;
  }
}

#htaccess-editor {
  width: 100%;
  min-height: 260px;
  font-family: monospace;
  font-size: 13px;
  line-height: 1.6;
  box-sizing: border-box;
  resize: vertical;
}

.phpinfowp-htaccess-buttons {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 12px;
  flex-wrap: wrap;
  gap: 8px;
}

.phpinfowp-htaccess-preview {
  background: #1e1e2e;
  color: #cdd6f4;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 11.5px;
  line-height: 1.5;
  padding: 12px 14px;
  border-radius: 6px;
  max-height: 360px;
  overflow-x: hidden;
  overflow-y: auto;
  white-space: pre-wrap;
  word-break: break-all;
  margin: 0;
}

/* Long file paths in the banner + footer (.user.ini location etc.) must
   wrap, not push the layout sideways. */
.phpinfowp-htaccess-page code {
  word-break: break-all;
  overflow-wrap: anywhere;
  white-space: normal;
}

.phpinfowp-htaccess-banner {
  font-size: 13px;
  line-height: 1.55;
}

.phpinfowp-htaccess-banner code {
  display: inline-block;
  max-width: 100%;
  vertical-align: bottom;
}

/* =========================================================
   SSL Monitor
   ========================================================= */
.phpinfowp-ssl-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 18px;
  margin-top: 20px;
}

.phpinfowp-ssl-card {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-top: 4px solid #ccc;
  border-radius: 8px;
  padding: 18px 20px 16px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, .06);
}

.phpinfowp-ssl-error {
  border-top-color: #d63638 !important;
}

.phpinfowp-ssl-card-host {
  font-size: 14px;
  font-weight: 700;
  color: #1d2327;
  margin-bottom: 6px;
  word-break: break-all;
}

.phpinfowp-ssl-card-days {
  font-size: 28px;
  font-weight: 800;
  line-height: 1.1;
  margin: 8px 0;
}

.phpinfowp-ssl-card-status {
  margin-bottom: 12px;
}

.phpinfowp-ssl-card-meta {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
  color: #555;
}

.phpinfowp-ssl-card-meta td {
  padding: 3px 0;
}

.phpinfowp-ssl-card-meta td:first-child {
  color: #888;
  width: 52px;
}

@media (max-width: 600px) {
  .phpinfowp-ssl-grid {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   Admin Bar Indicator
   ========================================================= */
#wpadminbar #wp-admin-bar-phpinfowp-indicator>.ab-item {
  font-size: 12px !important;
  padding: 0 10px !important;
}

#wpadminbar #wp-admin-bar-phpinfowp-indicator .ab-sub-wrapper {
  min-width: 200px;
}

#wpadminbar #wp-admin-bar-phpinfowp-indicator .ab-submenu .ab-item {
  font-size: 12px !important;
}

/* =========================================================
   Topbar (Elementor-style header) — every plugin page
   ========================================================= */
.phpinfowp-topbar {
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  height: 52px;
  padding: 0 24px;
  background: #777BB3;
  color: #fff;
  box-sizing: border-box;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}

body.phpinfowp-page .phpinfowp-topbar {
  display: flex;
}

.phpinfowp-topbar-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.phpinfowp-topbar-logo {
  display: inline-flex;
  align-items: center;
  line-height: 0;
  flex-shrink: 0;
}

.phpinfowp-topbar-logo svg {
  fill: #ffffff !important;
}

.phpinfowp-topbar-name {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .2px;
  color: #ffffff;
  white-space: nowrap;
}

.phpinfowp-topbar-sep {
  color: rgba(255, 255, 255, 0.45);
  margin: 0 3px;
}

.phpinfowp-topbar-title {
  font-size: 14px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.92);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.phpinfowp-topbar-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.phpinfowp-topbar-cta {
  display: inline-block;
  padding: 6px 14px;
  background: #ffffff;
  color: #777BB3 !important;
  text-decoration: none;
  border-radius: 6px;
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
  transition: all .15s ease;
}

.phpinfowp-topbar-cta:hover,
.phpinfowp-topbar-cta:focus {
  background: #f8f8fc;
  color: #515488 !important;
  transform: translateY(-1px);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}

.phpinfowp-topbar-pro-active {
  font-size: 12px;
  font-weight: 600;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.18);
  padding: 3px 10px;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  letter-spacing: .2px;
}

/* Page-wide breathing room on every plugin page.
   #wpbody-content already has WP's bottom padding; we add top/right and
   .phpinfowp-has-sidenav adds left padding below.
   box-sizing:border-box prevents the added padding from creating horizontal
   overflow (WP's default #wpbody-content is width:100% content-box). */
body.phpinfowp-page #wpbody-content {
  padding-top: 18px;
  padding-right: 24px;
  box-sizing: border-box;
}

/* The topbar lives inside #wpcontent, which has 20px of left padding by
   default. Pull the bar flush to the left edge of #wpcontent so it spans
   the full content area (matches Elementor's full-bleed header). */
body.phpinfowp-page .phpinfowp-topbar {
  margin-left: -20px;
}

/* =========================================================
   Secondary sidebar — Audit / Tools / Reports
   Layout: an absolutely-positioned column on the left of #wpbody-content,
   sitting below the topbar. body.phpinfowp-has-sidenav pushes content right.
   ========================================================= */
.phpinfowp-side-nav {
  position: absolute;
  top: 18px;
  left: 0;
  width: 240px;
  margin: 0 0 20px;
  padding: 12px;
  background: #fff;
  border: 1px solid #e4e6eb;
  border-radius: 8px;
  box-sizing: border-box;
  z-index: 1;
}

.phpinfowp-side-nav-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.phpinfowp-side-nav-list li {
  margin: 0;
}

.phpinfowp-side-nav-list li+li {
  margin-top: 2px;
}

.phpinfowp-side-nav-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 14px;
  font-size: 14px;
  font-weight: 500;
  color: #1d2327;
  text-decoration: none;
  border-radius: 6px;
  transition: background .12s, color .12s;
}

.phpinfowp-side-nav-icon {
  width: 20px;
  height: 20px;
  font-size: 20px;
  line-height: 1;
  flex-shrink: 0;
  color: #50575e;
}

.phpinfowp-side-nav-label-text {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.phpinfowp-side-nav-item:hover,
.phpinfowp-side-nav-item:focus {
  background: #f2f3f5;
  color: #1d2327;
  box-shadow: none;
  outline: none;
}

.phpinfowp-side-nav-item:hover .phpinfowp-side-nav-icon,
.phpinfowp-side-nav-item:focus .phpinfowp-side-nav-icon {
  color: #1d2327;
}

.phpinfowp-side-nav-item.is-active {
  background: #e8eaed;
  color: #1d2327;
  font-weight: 600;
}

.phpinfowp-side-nav-item.is-active .phpinfowp-side-nav-icon {
  color: #1d2327;
}

.phpinfowp-side-nav-pro {
  display: inline-block;
  background: #777BB3;
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .4px;
  padding: 1px 5px;
  border-radius: 3px;
  flex-shrink: 0;
}

/* Push the page content right so it sits beside the sidebar.
   We pad #wpbody-content itself (not just .wrap) because most phpinfo views
   render content directly into #wpbody-content without a .wrap wrapper.
   The sidebar is position:absolute so padding doesn't shift it.
   left padding stacks with the page-wide right padding from .phpinfowp-page. */
body.phpinfowp-has-sidenav #wpbody-content {
  position: relative;
  padding-left: 260px;
  box-sizing: border-box;
}

@media (max-width: 782px) {
  .phpinfowp-side-nav {
    position: static;
    width: auto;
    margin: 10px 0 16px;
  }

  body.phpinfowp-has-sidenav #wpbody-content {
    padding-left: 0;
  }

  body.phpinfowp-page #wpbody-content {
    padding-right: 12px;
  }
}

/* =========================================================
   Dashboard
   ========================================================= */
.phpinfowp-dashboard .phpinfowp-page-header {
  align-items: center;
}

.phpinfowp-dash-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 28px;
}

@media (max-width: 900px) {
  .phpinfowp-dash-stats {
    grid-template-columns: repeat(2, 1fr);
  }
}

.phpinfowp-dash-stat {
  display: block;
  padding: 18px 20px;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  text-decoration: none;
  color: inherit;
  transition: box-shadow .15s, transform .15s, border-color .15s;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .04);
}

.phpinfowp-dash-stat:hover {
  border-color: #c8d0e0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
  transform: translateY(-1px);
  color: inherit;
}

.phpinfowp-dash-stat-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .5px;
  color: #888;
  margin-bottom: 6px;
}

.phpinfowp-dash-stat-value {
  font-size: 38px;
  font-weight: 800;
  line-height: 1;
  color: #1d2327;
  margin-bottom: 6px;
}

.phpinfowp-dash-stat-meta {
  font-size: 12px;
  color: #666;
}

/* Grade-coloured stat values */
.phpinfowp-dash-stat-value.grade-aplus,
.phpinfowp-dash-stat-value.grade-a {
  color: #00a32a;
}

.phpinfowp-dash-stat-value.grade-b {
  color: #5b9b3a;
}

.phpinfowp-dash-stat-value.grade-c {
  color: #dba617;
}

.phpinfowp-dash-stat-value.grade-d {
  color: #d68f17;
}

.phpinfowp-dash-stat-value.grade-f {
  color: #d63638;
}

.phpinfowp-dash-section {
  margin-top: 32px;
}

.phpinfowp-dash-section-title {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .6px;
  color: #1d2327;
  margin: 0 0 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e0e0e0;
}

/* Active issues panel */
.phpinfowp-dash-issues {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.phpinfowp-dash-issue {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-left: 3px solid #dba617;
  border-radius: 4px;
  text-decoration: none;
  color: #1d2327;
  font-size: 13px;
  transition: background .15s;
}

.phpinfowp-dash-issue:hover {
  background: #fafafb;
  color: #1d2327;
}

.phpinfowp-dash-issue-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}

.phpinfowp-dash-issue-detail {
  color: #666;
  font-size: 12px;
  margin-left: auto;
}

/* Feature card grid */
.phpinfowp-dash-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 12px;
}

.phpinfowp-dash-card {
  display: block;
  padding: 16px 18px;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  text-decoration: none;
  color: #1d2327;
  transition: box-shadow .15s, transform .15s, border-color .15s;
  position: relative;
}

.phpinfowp-dash-card:hover {
  border-color: #777BB3;
  box-shadow: 0 2px 8px rgba(119, 123, 179, .15);
  transform: translateY(-1px);
  color: #1d2327;
}

.phpinfowp-dash-card .dashicons {
  font-size: 22px;
  width: 22px;
  height: 22px;
  color: #777BB3;
  margin-bottom: 8px;
}

.phpinfowp-dash-card-title {
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 4px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.phpinfowp-dash-card-desc {
  font-size: 12px;
  color: #666;
  line-height: 1.45;
}

.phpinfowp-dash-card-pro {
  display: inline-block;
  background: #777BB3;
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  padding: 1px 5px;
  border-radius: 3px;
  letter-spacing: .4px;
}

.phpinfowp-dash-card.is-locked {
  opacity: .82;
}

.phpinfowp-dash-card.is-locked:hover {
  opacity: 1;
}

/* =========================================================
   Security Headers — row cards
   ========================================================= */
.phpinfowp-sec-rows {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.phpinfowp-sec-row {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 14px 18px;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-left: 4px solid #ccc;
  border-radius: 6px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .05);
}

.phpinfowp-sec-row-icon {
  flex-shrink: 0;
  margin-top: 1px;
}

.phpinfowp-sec-row-icon .dashicons {
  font-size: 22px;
  width: 22px;
  height: 22px;
}

.phpinfowp-sec-row-body {
  flex: 1;
  min-width: 0;
}

.phpinfowp-sec-row-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 4px;
  flex-wrap: wrap;
}

.phpinfowp-sec-row-points {
  font-size: 12px;
  font-weight: 700;
  flex-shrink: 0;
}

.phpinfowp-sec-row-desc {
  font-size: 13px;
  color: #555;
  margin-bottom: 6px;
}

.phpinfowp-sec-row-value {
  display: inline-block;
  background: #f0f0f1;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 12px;
  word-break: break-all;
  margin-bottom: 4px;
}

.phpinfowp-sec-row-missing {
  font-size: 12px;
  color: #d63638;
  font-style: italic;
}

.phpinfowp-sec-row-note {
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.4;
}

/* Mail DNS rows (compact) */
.phpinfowp-mail-row {
  padding: 8px 12px;
  border-left-width: 3px;
  box-shadow: none;
  background: #fff !important;
  gap: 10px;
}

.phpinfowp-mail-row .phpinfowp-sec-row-title {
  margin-bottom: 2px;
  font-size: 13px;
}

.phpinfowp-mail-row .phpinfowp-sec-row-value {
  margin-bottom: 2px;
  background: transparent;
  padding: 0;
  font-size: 12px;
  color: #444;
}

.phpinfowp-mail-row .phpinfowp-sec-row-icon {
  margin-top: 0;
}

.phpinfowp-mail-row .phpinfowp-sec-row-icon .dashicons {
  font-size: 18px;
  width: 18px;
  height: 18px;
}

.phpinfowp-mail-row .phpinfowp-sec-row-note {
  margin-top: 4px;
}

/* =========================================================
   Config Grader — section + check cards
   ========================================================= */

/* ----- Context banner: what we tuned the recommendations for ----- */
.phpinfowp-cg-context {
  margin: 0 0 14px;
  padding: 12px 14px;
  background: #f6f7fb;
  border: 1px solid #e0e2ea;
  border-radius: 8px;
}

.phpinfowp-cg-context-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
  color: #50575e;
  margin-bottom: 8px;
}

.phpinfowp-cg-context-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.phpinfowp-cg-chip {
  display: inline-flex;
  align-items: center;
  font-size: 11px;
  font-weight: 500;
  padding: 3px 9px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid #d0d4dd;
  color: #1d2327;
}

.phpinfowp-cg-chip-php {
  background: #efeefd;
  border-color: #c8c4f3;
  color: #4a3da0;
}

.phpinfowp-cg-chip-host {
  background: #ecf6ff;
  border-color: #b3d4f7;
  color: #1a4a8a;
}

.phpinfowp-cg-chip-plugin {
  background: #fff;
  border-color: #d0d4dd;
  color: #1d2327;
}

.phpinfowp-cg-chip-dev {
  background: #fff5d6;
  border-color: #e9c977;
  color: #8a6500;
}

/* ----- Severity pills (Critical / High / Medium / Low) ----- */
.phpinfowp-sev {
  display: inline-block;
  margin-left: 8px;
  vertical-align: middle;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .4px;
  text-transform: uppercase;
  padding: 2px 7px;
  border-radius: 999px;
  border: 1px solid;
  background: #fff;
  line-height: 1.5;
}

.phpinfowp-sev-critical {
  background: #fbe7e8;
}

.phpinfowp-sev-high {
  background: #fff5d6;
}

.phpinfowp-sev-medium {
  background: #efeefd;
}

.phpinfowp-sev-low {
  background: #f0f0f3;
}

/* ----- Trend indicator next to the score ----- */
.phpinfowp-trend {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  margin-left: 10px;
  font-size: 14px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 999px;
  vertical-align: middle;
}

.phpinfowp-trend small {
  font-size: 10px;
  font-weight: 500;
  color: inherit;
  opacity: .7;
}

.phpinfowp-trend-up {
  color: #00a32a;
  background: #e8f6ec;
}

.phpinfowp-trend-down {
  color: #d63638;
  background: #fbe7e8;
}

.phpinfowp-trend-flat {
  color: #646970;
  background: #f0f0f3;
}

/* ----- Cross-directive consistency issues ----- */
.phpinfowp-cg-cross {
  margin: 0 0 24px;
  padding: 16px 18px;
  background: #fffbea;
  border: 1px solid #f4d35e;
  border-left: 4px solid #dba617;
  border-radius: 8px;
}

.phpinfowp-cg-cross-heading {
  margin: 0 0 12px;
  font-size: 14px;
  font-weight: 700;
  color: #6b4d00;
  display: flex;
  align-items: center;
  gap: 6px;
}

.phpinfowp-cg-cross-sub {
  font-weight: 400;
  color: #8a6500;
  font-size: 13px;
}

.phpinfowp-cg-cross-row {
  background: #fff;
  border: 1px solid #f0d995;
  border-radius: 6px;
  padding: 10px 12px;
  margin-top: 10px;
}

.phpinfowp-cg-cross-row:first-of-type {
  margin-top: 0;
}

.phpinfowp-cg-cross-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}

.phpinfowp-cg-cross-reason {
  font-size: 12.5px;
  color: #3c434a;
  line-height: 1.5;
}

.phpinfowp-cg-cross-fix {
  margin-top: 6px;
  font-size: 12.5px;
  color: #1d2327;
  background: #f0f6ff;
  border: 1px solid #c8d8f5;
  border-radius: 4px;
  padding: 6px 10px;
}

/* ----- Live evidence chip under a check ----- */
.phpinfowp-grade-check-live {
  margin-top: 8px;
  padding: 8px 10px;
  background: #f0f6ff;
  border: 1px solid #c8d8f5;
  border-left: 3px solid #2271b1;
  border-radius: 4px;
  font-size: 12px;
  line-height: 1.5;
  color: #1a3a72;
  display: flex;
  align-items: flex-start;
  gap: 6px;
}

.phpinfowp-grade-check-live .dashicons {
  flex-shrink: 0;
  color: #2271b1;
  font-size: 14px;
  width: 14px;
  height: 14px;
  margin-top: 2px;
}

/* ----- Host-aware fix hint under a check ----- */
.phpinfowp-grade-check-host {
  margin-top: 8px;
  padding: 8px 10px;
  background: #fafafb;
  border: 1px dashed #c0c4cc;
  border-radius: 4px;
  font-size: 12px;
  line-height: 1.5;
  color: #3c434a;
}

.phpinfowp-grade-check-host a {
  margin-left: 6px;
  font-weight: 500;
}

.phpinfowp-grade-section {
  margin-bottom: 28px;
}

.phpinfowp-grade-section-heading {
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .5px;
  color: #1d2327;
  margin: 0 0 12px 0;
  display: flex;
  align-items: center;
  gap: 10px;
  border-bottom: 2px solid #e0e0e8;
  padding-bottom: 8px;
}

.phpinfowp-grade-section-badge {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .4px;
  padding: 2px 8px;
  border-radius: 3px;
  color: #fff;
  text-transform: uppercase;
}

.phpinfowp-grade-checks {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.phpinfowp-grade-check {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 16px;
  border: 1px solid #e0e0e0;
  border-left: 4px solid #ccc;
  border-radius: 6px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .04);
}

.phpinfowp-grade-check-icon {
  flex-shrink: 0;
  margin-top: 1px;
}

.phpinfowp-grade-check-icon .dashicons {
  font-size: 20px;
  width: 20px;
  height: 20px;
}

.phpinfowp-grade-check-body {
  flex: 1;
  min-width: 0;
}

.phpinfowp-grade-check-key {
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 5px;
}

.phpinfowp-grade-check-key code {
  background: #f0f0f1;
  padding: 1px 6px;
  border-radius: 3px;
  font-size: 12px;
}

.phpinfowp-grade-check-values {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 12px;
  margin-bottom: 4px;
}

.phpinfowp-grade-check-values code {
  padding: 1px 5px;
  border-radius: 3px;
  background: rgba(0, 0, 0, .05);
  font-size: 11px;
}

.phpinfowp-grade-check-note {
  font-size: 12px;
  color: #666;
  line-height: 1.4;
  margin-top: 4px;
}

/* =========================================================
   Extension page — heading count badge
   ========================================================= */
.phpinfowp-ext-heading-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #e0e0e0;
  color: #555;
  font-size: 11px;
  font-weight: 700;
  min-width: 22px;
  height: 18px;
  padding: 0 5px;
  border-radius: 9px;
  margin-left: 4px;
  vertical-align: middle;
}

/* =========================================================
   PHP Compatibility Scanner
   ========================================================= */
.phpinfowp-compat-controls {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}

.phpinfowp-compat-controls select {
  margin-left: 8px;
  padding: 4px 28px 4px 10px;
  min-width: 110px;
}

/* Vertically center the dashicon against the button label — inline
   vertical-align:middle leaves the 20px glyph sitting low, so use flex. */
.phpinfowp-compat-controls .button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.phpinfowp-compat-controls .button .dashicons {
  font-size: 18px;
  width: 18px;
  height: 18px;
  line-height: 1;
}

.phpinfowp-compat-empty {
  text-align: center;
  padding: 60px 20px;
  background: #fff;
  border: 2px dashed #e0e0e0;
  border-radius: 8px;
  color: #888;
}

.phpinfowp-compat-empty .dashicons {
  font-size: 48px;
  width: 48px;
  height: 48px;
  color: #ccc;
  margin-bottom: 12px;
}

.phpinfowp-compat-empty h3 {
  margin: 0 0 8px;
  color: #444;
}

.phpinfowp-compat-owner {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  margin-bottom: 8px;
  overflow: hidden;
}

.phpinfowp-compat-owner summary {
  cursor: pointer;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  list-style: none;
  user-select: none;
}

.phpinfowp-compat-owner summary::-webkit-details-marker {
  display: none;
}

.phpinfowp-compat-owner summary::before {
  content: '▸';
  font-size: 10px;
  color: #888;
  transition: transform .15s;
}

.phpinfowp-compat-owner[open] summary::before {
  transform: rotate(90deg);
}

.phpinfowp-compat-owner-type {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .4px;
  padding: 3px 7px;
  border-radius: 3px;
  color: #fff;
}

.phpinfowp-compat-owner-name {
  flex: 1;
  color: #1d2327;
  word-break: break-all;
}

.phpinfowp-compat-owner-counts {
  font-size: 12px;
  color: #666;
  display: flex;
  gap: 8px;
  align-items: center;
}

.phpinfowp-compat-issues {
  padding: 4px 16px 14px;
  border-top: 1px solid #f0f0f0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.phpinfowp-compat-issue {
  padding: 10px 12px;
  background: #fafafa;
  border-left: 3px solid #ccc;
  border-radius: 4px;
}

.phpinfowp-compat-issue-head {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 4px;
}

.phpinfowp-compat-sev {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .4px;
  padding: 2px 6px;
  border-radius: 3px;
  color: #fff;
}

.phpinfowp-compat-name {
  background: #f0f0f1;
  padding: 1px 6px;
  border-radius: 3px;
  font-size: 12px;
}

.phpinfowp-compat-where {
  font-size: 11px;
  color: #666;
  font-family: monospace;
}

.phpinfowp-compat-issue-meta {
  font-size: 12px;
  color: #555;
  padding-left: 0;
}

.phpinfowp-compat-fix {
  color: #444;
  font-style: italic;
}

/* =========================================================
   Database Health
   ========================================================= */
.phpinfowp-dbh-server {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-left: 5px solid #ccc;
  border-radius: 8px;
  padding: 18px 22px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}

.phpinfowp-dbh-server-engine {
  font-size: 22px;
  font-weight: 700;
  color: #1d2327;
}

.phpinfowp-dbh-server-full {
  font-size: 12px;
  color: #888;
  font-family: monospace;
  margin-top: 2px;
}

.phpinfowp-dbh-server-status {
  text-align: right;
}

.phpinfowp-dbh-badge {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .5px;
  padding: 3px 9px;
  border-radius: 3px;
  color: #fff;
  display: inline-block;
}

.phpinfowp-dbh-server-eol {
  font-size: 12px;
  color: #555;
  margin-top: 4px;
}

.phpinfowp-dbh-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 14px;
  margin-bottom: 20px;
}

.phpinfowp-dbh-metric {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-top: 3px solid #777BB3;
  border-radius: 6px;
  padding: 14px 16px;
}

.phpinfowp-dbh-metric-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .5px;
  color: #666;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 6px;
}

.phpinfowp-dbh-metric-badge {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .4px;
  padding: 1px 5px;
  border-radius: 2px;
  color: #fff;
}

.phpinfowp-dbh-metric-value {
  font-size: 22px;
  font-weight: 700;
  color: #1d2327;
  line-height: 1.1;
  margin-bottom: 4px;
}

.phpinfowp-dbh-metric-sub {
  font-size: 11px;
  color: #888;
}

/* =========================================================
   WP Cron Monitor
   ========================================================= */
.phpinfowp-cron-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  margin-bottom: 8px;
}

.phpinfowp-cron-stat {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-top: 3px solid #777BB3;
  border-radius: 6px;
  padding: 16px 18px;
  text-align: center;
}

.phpinfowp-cron-stat-num {
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 4px;
  color: #1d2327;
}

.phpinfowp-cron-stat-label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .4px;
  color: #666;
}

.phpinfowp-cron-overdue td {
  background: #fff4f4 !important;
}

.phpinfowp-cron-imminent td {
  background: #fffbf0 !important;
}

.phpinfowp-cron-orphan-badge {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .4px;
  background: #dba617;
  color: #fff;
  padding: 1px 6px;
  border-radius: 3px;
  margin-left: 6px;
  text-transform: uppercase;
}

/* =========================================================
   Mail deliverability
   ========================================================= */
.phpinfowp-mail-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 20px 24px;
  margin-bottom: 8px;
}

.phpinfowp-mail-summary-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .5px;
  color: #888;
  margin-bottom: 4px;
}

.phpinfowp-mail-summary-value {
  font-size: 18px;
  font-weight: 600;
  color: #1d2327;
  margin-bottom: 2px;
  word-break: break-all;
}

.phpinfowp-mail-summary-sub {
  font-size: 12px;
  color: #777;
}

.phpinfowp-mail-test-form {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

/* =========================================================
   Audit Report (print-friendly)
   ========================================================= */
.phpinfowp-report {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 40px 48px;
  max-width: 1100px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, .06);
}

.phpinfowp-report-cover {
  text-align: center;
  padding: 16px 0 28px;
  margin-bottom: 24px;
  border-bottom: 2px solid #777BB3;
}

.phpinfowp-report-logo {
  display: block;
  max-width: 200px;
  max-height: 80px;
  margin: 0 auto 14px;
  object-fit: contain;
}

.phpinfowp-logo-picker {
  display: flex;
  align-items: center;
  gap: 14px;
}

.phpinfowp-logo-preview {
  width: 88px;
  height: 88px;
  border: 1px dashed #c8c8d0;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fafafb;
  overflow: hidden;
  flex-shrink: 0;
}

.phpinfowp-logo-preview img {
  max-width: 80px;
  max-height: 80px;
  object-fit: contain;
}

.phpinfowp-logo-empty {
  font-size: 11px;
  color: #888;
}

.phpinfowp-logo-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}

.phpinfowp-report-brand {
  font-size: 12px;
  letter-spacing: 2px;
  color: #777BB3;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 10px;
}

.phpinfowp-report-title {
  margin: 0 0 8px;
  font-size: 28px;
  color: #1d2327;
}

.phpinfowp-report-site {
  font-size: 18px;
  color: #444;
  margin-bottom: 4px;
}

.phpinfowp-report-url {
  font-size: 13px;
  color: #777;
  margin-bottom: 12px;
}

.phpinfowp-report-date {
  font-size: 12px;
  color: #999;
}

.phpinfowp-report-h {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .6px;
  color: #1d2327;
  margin: 28px 0 12px;
  padding-bottom: 6px;
  border-bottom: 1px solid #e0e0e0;
}

.phpinfowp-report-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 14px;
  margin-bottom: 8px;
}

.phpinfowp-report-stat {
  background: #fafafa;
  border: 1px solid #ececec;
  border-radius: 6px;
  padding: 14px 16px;
}

.phpinfowp-report-stat-label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .5px;
  color: #888;
  margin-bottom: 6px;
}

.phpinfowp-report-stat-value {
  font-size: 18px;
  font-weight: 700;
  color: #1d2327;
  margin-bottom: 2px;
}

.phpinfowp-report-stat-sub {
  font-size: 12px;
  color: #666;
}

.phpinfowp-report-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.phpinfowp-report-table th,
.phpinfowp-report-table td {
  border: 1px solid #e8e8e8;
  padding: 8px 12px;
  text-align: left;
  vertical-align: top;
}

.phpinfowp-report-table th {
  background: #f6f6f6;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .4px;
  color: #555;
}

.phpinfowp-report-list {
  margin: 4px 0 12px 18px;
  font-size: 13px;
  line-height: 1.6;
}

.phpinfowp-report-footer {
  margin-top: 32px;
  padding-top: 16px;
  border-top: 1px solid #e0e0e0;
  font-size: 11px;
  color: #999;
  text-align: center;
}

/* ---------- Overall site-health hero (page 1) ---------- */
.phpinfowp-report-overall {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 28px;
  align-items: center;
  padding: 22px 24px;
  border: 1px solid #e8e8ee;
  border-radius: 12px;
  background: linear-gradient(180deg, #fafafd 0%, #ffffff 100%);
  margin-bottom: 22px;
}

.phpinfowp-report-overall-donut {
  position: relative;
  width: 180px;
  height: 180px;
}

.phpinfowp-donut {
  display: block;
}

.phpinfowp-report-overall-num {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.phpinfowp-report-overall-num-big {
  font-size: 56px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -1px;
}

.phpinfowp-report-overall-num-sm {
  font-size: 12px;
  color: #888;
  margin-top: 2px;
}

.phpinfowp-report-overall-label {
  font-size: 11px;
  letter-spacing: .6px;
  text-transform: uppercase;
  color: #6b6b75;
  font-weight: 700;
  margin-bottom: 4px;
}

.phpinfowp-report-overall-verdict {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -.3px;
  margin-bottom: 4px;
}

.phpinfowp-report-overall-grade {
  font-size: 14px;
  color: #50575e;
  margin-bottom: 10px;
}

.phpinfowp-report-overall-grade strong {
  font-size: 16px;
  color: #1d2327;
}

.phpinfowp-report-overall-counts {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 10px;
}

.phpinfowp-rc {
  font-size: 11px;
  font-weight: 600;
  padding: 3px 9px;
  border-radius: 999px;
  border: 1px solid;
}

.phpinfowp-rc-crit {
  color: #8e1414;
  background: #fbe7e8;
  border-color: #ecb4b5;
}

.phpinfowp-rc-warn {
  color: #8a6500;
  background: #fff5d6;
  border-color: #e9c977;
}

.phpinfowp-rc-ok {
  color: #0a7d2e;
  background: #e8f6ec;
  border-color: #a7d8b3;
}

.phpinfowp-report-overall-note {
  margin: 0;
  font-size: 13px;
  color: #50575e;
  line-height: 1.5;
}

@media (max-width: 720px) {
  .phpinfowp-report-overall {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .phpinfowp-report-overall-donut {
    margin: 0 auto;
  }

  .phpinfowp-report-overall-counts {
    justify-content: center;
  }
}

/* ---------- Verdict pills (used everywhere) ---------- */
.phpinfowp-rv {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid;
  white-space: nowrap;
  vertical-align: middle;
}

.phpinfowp-rv-ic {
  font-size: 10px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
}

/* ---------- Subscore bar chart ---------- */
.phpinfowp-report-bars-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px 24px;
}

@media (max-width: 640px) {
  .phpinfowp-report-bars-grid {
    grid-template-columns: 1fr;
  }
}

.phpinfowp-report-bar-top {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 4px;
}

.phpinfowp-report-bar-lbl {
  font-size: 12px;
  color: #1d2327;
  font-weight: 500;
}

.phpinfowp-report-bar-num {
  font-size: 14px;
  font-weight: 700;
}

.phpinfowp-report-bar-track {
  height: 8px;
  background: #eef0f4;
  border-radius: 6px;
  overflow: hidden;
}

.phpinfowp-report-bar-fill {
  height: 100%;
  border-radius: 6px;
  transition: width .4s ease;
}

/* ---------- Critical issues banner ---------- */
.phpinfowp-report-critbar {
  margin: 22px 0;
  border: 1px solid #ecb4b5;
  background: #fef5f5;
  border-radius: 10px;
  padding: 16px 18px;
}

.phpinfowp-report-critbar-head {
  display: flex;
  gap: 14px;
  align-items: center;
  margin-bottom: 10px;
}

.phpinfowp-report-critbar-ic {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #d63638;
  color: #fff;
  border-radius: 50%;
  font-size: 18px;
  font-weight: 700;
}

.phpinfowp-report-critbar-title {
  font-size: 15px;
  font-weight: 700;
  color: #8e1414;
}

.phpinfowp-report-critbar-sub {
  font-size: 12px;
  color: #6b1a1a;
  margin-top: 2px;
}

.phpinfowp-report-critbar-list {
  margin: 8px 0 0;
  padding-left: 22px;
  font-size: 13px;
  line-height: 1.5;
  color: #2c2c33;
}

.phpinfowp-report-critbar-list li {
  margin-bottom: 8px;
}

.phpinfowp-report-critbar-list li:last-child {
  margin-bottom: 0;
}

.phpinfowp-report-critbar-cat {
  display: inline-block;
  margin-left: 6px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .4px;
  text-transform: uppercase;
  color: #6b1a1a;
  background: #fce9ea;
  padding: 1px 7px;
  border-radius: 999px;
}

.phpinfowp-report-critbar-reason {
  color: #50575e;
  font-size: 12px;
  margin-top: 2px;
}

/* ---------- Top-N priority action cards ---------- */
.phpinfowp-report-h-page2 {
  page-break-before: always;
}

.phpinfowp-report-h-sub {
  margin: -8px 0 14px;
  color: #50575e;
  font-size: 13px;
}

.phpinfowp-report-priorities {
  list-style: none;
  padding: 0;
  margin: 0 0 8px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.phpinfowp-report-priority {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 14px;
  background: #fff;
  border: 1px solid #e8e8ee;
  border-radius: 10px;
  padding: 16px 18px;
}

.phpinfowp-report-priority-critical {
  border-left: 4px solid #d63638;
}

.phpinfowp-report-priority-warning {
  border-left: 4px solid #dba617;
}

.phpinfowp-report-priority-num {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #1d2327;
  color: #fff;
  font-weight: 700;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.phpinfowp-report-priority-critical .phpinfowp-report-priority-num {
  background: #d63638;
}

.phpinfowp-report-priority-warning .phpinfowp-report-priority-num {
  background: #dba617;
}

.phpinfowp-report-priority-head {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-bottom: 4px;
}

.phpinfowp-report-priority-cat {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .4px;
  text-transform: uppercase;
  color: #6b6b75;
}

.phpinfowp-report-priority-title {
  font-size: 16px;
  font-weight: 700;
  color: #1d2327;
  margin-bottom: 8px;
  line-height: 1.3;
}

.phpinfowp-report-priority-why,
.phpinfowp-report-priority-how {
  font-size: 13px;
  color: #2c2c33;
  line-height: 1.5;
  margin-bottom: 6px;
}

.phpinfowp-report-priority-how {
  color: #1d2327;
}

.phpinfowp-report-priority-why strong,
.phpinfowp-report-priority-how strong {
  font-weight: 700;
  color: #50575e;
  margin-right: 4px;
}

.phpinfowp-report-priority code {
  background: #f6f7f7;
  padding: 1px 6px;
  border-radius: 3px;
  font-size: 12px;
}

/* ---------- Snapshot stat refinements (verdict + caption) ---------- */
.phpinfowp-report-stat-label {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 6px;
}

.phpinfowp-report-stat-value-sub {
  font-size: 13px;
  color: #888;
  font-weight: 400;
  margin-left: 4px;
}

.phpinfowp-report-stat-cap {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px dashed #ececec;
  font-size: 11px;
  color: #6b6b75;
  line-height: 1.4;
}

.phpinfowp-report-inline-cap {
  font-size: 11px;
  color: #6b6b75;
  font-weight: 400;
}

/* ---------- Print refinements specific to the new report ---------- */
@media print {
  .phpinfowp-report-overall {
    background: #fff !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .phpinfowp-report-critbar {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .phpinfowp-report-priority {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  /* Don't force the page break before "Top actions" in print — modern browsers
     handle this gracefully with break-inside above. The forced break was for
     A4 layout but it can leave a near-empty page 1 on shorter reports. */
  .phpinfowp-report-h-page2 {
    page-break-before: auto;
  }
}

@media print {

  /* Hide WP admin chrome + in-page controls. The previous visibility:hidden
     trick produced blank pages in Chrome/Safari because the report sits
     inside multiple nested containers (#wpwrap > #wpcontent > #wpbody-content)
     and position:absolute on an inner element doesn't escape them cleanly. */
  #wpadminbar,
  #adminmenuback,
  #adminmenuwrap,
  #adminmenumain,
  #wpfooter,
  #screen-meta,
  #screen-meta-links,
  .update-nag,
  .notice,
  .updated,
  .error,
  .no-print,
  .phpinfowp-report-branding-form,
  .phpinfowp-page-header,
  .phpinfowp-pro-page>h1,
  .phpinfowp-pro-page>.phpinfowp-pro-badge,
  /* Plugin's own chrome — top bar with breadcrumb + Pro badge,
     and the per-group sidebar nav rendered inside the page body. */
  .phpinfowp-topbar,
  .phpinfowp-side-nav,
  .phpinfowp-sidebar-flyouts {
    display: none !important;
  }

  /* Neutralize the admin layout containers so the report flows from the
     top of the page with no left margin from the admin sidebar.
     The trailing selector overrides body.phpinfowp-has-sidenav, which adds
     260px of left padding to make room for the absolutely-positioned plugin
     side nav — that nav is hidden above, so the gutter must collapse too. */
  html,
  body,
  #wpwrap,
  #wpcontent,
  #wpbody,
  #wpbody-content,
  body.phpinfowp-page #wpbody-content,
  body.phpinfowp-has-sidenav #wpbody-content {
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    float: none !important;
    overflow: visible !important;
    min-height: 0 !important;
  }

  html.wp-toolbar {
    padding-top: 0 !important;
  }

  #wpcontent,
  #wpbody-content {
    padding-left: 0 !important;
  }

  body {
    font-size: 11pt;
    line-height: 1.45;
    color: #1d2327;
    -webkit-font-smoothing: antialiased;
  }

  /* Strip the wrapper card chrome so the report fills the page. */
  .phpinfowp-pro-page {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
  }

  .phpinfowp-report {
    background: #fff !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    max-width: 100% !important;
    border-radius: 0 !important;
  }

  /* Keep things together that look broken if split across pages. */
  .phpinfowp-report-grid,
  .phpinfowp-report-stat,
  .phpinfowp-report-table {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .phpinfowp-report-h {
    page-break-after: avoid;
    break-after: avoid-page;
  }

  .phpinfowp-report-cover {
    page-break-after: avoid;
  }

  /* Force backgrounds and colors to actually print — Chrome strips them
     by default unless you opt into the exact color profile. */
  *,
  *::before,
  *::after {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    color-adjust: exact !important;
  }

  a,
  a:visited {
    color: inherit !important;
    text-decoration: none !important;
  }

  @page {
    size: A4;
    margin: 14mm 12mm;
  }
}

/* ---------- Config Grader free-tier teaser ---------- */
.phpinfowp-grader-teaser {
  position: relative;
  margin-top: 24px;
  border: 1px solid #e2e4e7;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}

.phpinfowp-grader-teaser-blur {
  padding: 18px 22px;
  filter: blur(4px);
  pointer-events: none;
  user-select: none;
  opacity: .7;
}

.phpinfowp-teaser-row {
  padding: 7px 0;
  font-size: 13px;
  color: #1d2327;
  border-bottom: 1px solid #f0f0f0;
}

.phpinfowp-teaser-row:last-child {
  border-bottom: 0;
}

.phpinfowp-teaser-row code {
  background: #f3f3f5;
  padding: 1px 6px;
  border-radius: 3px;
  font-size: 12px;
}

.phpinfowp-grader-teaser-cta {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: linear-gradient(180deg, rgba(255, 255, 255, .55) 0%, rgba(255, 255, 255, .95) 60%);
  text-align: center;
  padding: 20px;
}

.phpinfowp-grader-teaser-cta h3 {
  margin: 0 0 6px;
  font-size: 18px;
  color: #1d2327;
}

.phpinfowp-grader-teaser-cta p {
  margin: 0 0 14px;
  max-width: 540px;
  color: #555;
  font-size: 13px;
  line-height: 1.5;
}

/* ---------- EOL Pro upsell footer ---------- */
.phpinfowp-eol-upsell {
  margin-top: 28px;
  padding: 22px 24px;
  display: flex;
  gap: 18px;
  align-items: flex-start;
  background: #f7f5fc;
  border: 1px solid #d9d3ec;
  border-left: 5px solid #777BB3;
  border-radius: 8px;
}

.phpinfowp-eol-upsell-icon .dashicons {
  font-size: 36px;
  width: 36px;
  height: 36px;
  color: #777BB3;
}

.phpinfowp-eol-upsell-body {
  flex: 1;
}

.phpinfowp-eol-upsell-body h3 {
  margin: 0 0 6px;
  font-size: 16px;
  color: #1d2327;
}

.phpinfowp-eol-upsell-body p {
  margin: 0 0 12px;
  font-size: 13px;
  color: #555;
  line-height: 1.5;
}

.phpinfowp-eol-upsell-list {
  margin: 0 0 14px 0;
  padding: 0;
  list-style: none;
}

.phpinfowp-eol-upsell-list li {
  padding: 4px 0;
  font-size: 13px;
  color: #444;
  padding-left: 22px;
  position: relative;
}

.phpinfowp-eol-upsell-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 4px;
  color: #00a32a;
  font-weight: 700;
}

/* ---------- Error log diagnostic (empty-state) ---------- */
.phpinfowp-errlog-diag {
  background: #fff;
  border: 1px solid #e0e0e6;
  border-radius: 10px;
  padding: 20px 22px;
  max-width: 820px;
}

.phpinfowp-errlog-diag-head {
  margin-bottom: 4px;
}

.phpinfowp-errlog-diag-pill {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .6px;
  padding: 3px 9px;
  border-radius: 999px;
  border: 1px solid;
}

.phpinfowp-errlog-diag-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.phpinfowp-errlog-diag-table td {
  padding: 7px 10px;
  border-bottom: 1px solid #f1f1f4;
  vertical-align: top;
}

.phpinfowp-errlog-diag-table tr:last-child td {
  border-bottom: 0;
}

.phpinfowp-errlog-diag-table code {
  background: #f6f7f7;
  padding: 1px 6px;
  border-radius: 3px;
  font-size: 12px;
}

.phpinfowp-errlog-diag-paths code {
  background: transparent;
  padding: 0;
  word-break: break-all;
}

/* ---------- Plugins-screen deactivate retention modal ---------- */
.phpinfowp-dm {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 100000;
}

.phpinfowp-dm.is-open {
  display: block;
}

.phpinfowp-dm-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 17, 20, .55);
  backdrop-filter: blur(2px);
}

.phpinfowp-dm-dialog {
  position: relative;
  max-width: 720px;
  margin: 6vh auto 0;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .35);
  padding: 26px 28px 22px;
}

.phpinfowp-dm-close {
  position: absolute;
  top: 10px;
  right: 12px;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 26px;
  line-height: 1;
  color: #888;
  padding: 4px 8px;
}

.phpinfowp-dm-close:hover {
  color: #1d2327;
}

.phpinfowp-dm-header {
  display: flex;
  gap: 14px;
  align-items: center;
  margin-bottom: 18px;
}

.phpinfowp-dm-logo {
  border-radius: 10px;
}

.phpinfowp-dm-title {
  margin: 0 0 4px;
  font-size: 20px;
  color: #1d2327;
}

.phpinfowp-dm-sub {
  margin: 0;
  color: #50575e;
  font-size: 13px;
}

.phpinfowp-dm-body {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  margin-bottom: 16px;
}

.phpinfowp-dm-body:has(.phpinfowp-dm-col-pro) {
  grid-template-columns: 1fr 1fr;
}

@media (max-width: 720px) {
  .phpinfowp-dm-body {
    grid-template-columns: 1fr !important;
  }
}

.phpinfowp-dm-col {
  border: 1px solid #e8e8ee;
  border-radius: 10px;
  padding: 14px 16px;
  background: #fafafb;
}

.phpinfowp-dm-col-pro {
  background: rgba(124, 58, 237, 0.045);
  border-color: rgba(124, 58, 237, 0.18);
}

.phpinfowp-dm-col-label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .6px;
  color: #6b6b75;
  margin-bottom: 10px;
}

.phpinfowp-dm-col-pro .phpinfowp-dm-col-label {
  color: #6d28d9;
}

.phpinfowp-dm-list {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 13px;
  line-height: 1.5;
  color: #2c2c33;
}

.phpinfowp-dm-list li {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  padding: 4px 0;
}

.phpinfowp-dm-x {
  flex-shrink: 0;
  font-size: 16px;
  width: 16px;
  height: 16px;
  color: #d63638;
  margin-top: 1px;
}

.phpinfowp-dm-warn {
  display: flex;
  gap: 10px;
  background: #fffbea;
  border: 1px solid #f4d35e;
  border-radius: 8px;
  padding: 10px 14px;
  font-size: 13px;
  color: #4d3700;
  margin-bottom: 18px;
}

.phpinfowp-dm-warn .dashicons {
  color: #b78900;
  flex-shrink: 0;
}

.phpinfowp-dm-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.phpinfowp-dm-confirm {
  color: #888 !important;
  text-decoration: none;
  font-size: 13px;
}

.phpinfowp-dm-confirm:hover {
  color: #d63638 !important;
}

.phpinfowp-dm-keep {
  min-width: 180px;
}

/* ---------- License view: plan comparison table ---------- */
.phpinfowp-compare-wrap {
  margin: 0 0 8px;
  overflow-x: auto;
  border: 1px solid #e0e0e6;
  border-radius: 10px;
  background: #fff;
}

.phpinfowp-compare {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  font-size: 13px;
  color: #1d2327;
}

.phpinfowp-compare thead th {
  background: #fafafb;
  border-bottom: 1px solid #e8e8ee;
  text-align: center;
  padding: 14px 12px 12px;
  vertical-align: bottom;
}

.phpinfowp-compare thead th.is-featured {
  background: rgba(124, 58, 237, 0.06);
}

.phpinfowp-compare thead th.phpinfowp-compare-feat {
  text-align: left;
  font-size: 11px;
  letter-spacing: .5px;
  text-transform: uppercase;
  color: #6b6b75;
}

.phpinfowp-compare-tier {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .6px;
  text-transform: uppercase;
  color: #4a4a55;
  margin-bottom: 4px;
}

.phpinfowp-compare-price {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 3px;
}

.phpinfowp-compare-amount {
  font-size: 22px;
  font-weight: 700;
  color: #1d2327;
  line-height: 1;
}

.phpinfowp-compare-cadence {
  font-size: 11px;
  color: #6b6b75;
}

.phpinfowp-compare tbody td,
.phpinfowp-compare tbody th {
  padding: 9px 12px;
  border-bottom: 1px solid #f1f1f4;
  vertical-align: middle;
  text-align: center;
  background: #fff;
}

.phpinfowp-compare tbody th.phpinfowp-compare-feat {
  text-align: left;
  font-weight: 500;
  color: #1d2327;
}

.phpinfowp-compare tbody td.is-featured {
  background: rgba(124, 58, 237, 0.025);
}

.phpinfowp-compare tbody tr:last-child td,
.phpinfowp-compare tbody tr:last-child th {
  border-bottom: 0;
}

.phpinfowp-compare tbody tr:hover td,
.phpinfowp-compare tbody tr:hover th {
  background: #fafafb;
}

.phpinfowp-compare tbody tr:hover td.is-featured {
  background: rgba(124, 58, 237, 0.05);
}

.phpinfowp-compare tfoot td {
  padding: 14px 12px;
  text-align: center;
  background: #fafafb;
  border-top: 1px solid #e8e8ee;
}

.phpinfowp-compare tfoot td.is-featured {
  background: rgba(124, 58, 237, 0.06);
}

.phpinfowp-compare .dashicons {
  font-size: 18px;
  width: 18px;
  height: 18px;
}

/* ---------- License view: 4-pillar grid ---------- */
.phpinfowp-pillars {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 20px;
}

@media (max-width: 1100px) {
  .phpinfowp-pillars {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 650px) {
  .phpinfowp-pillars {
    grid-template-columns: 1fr;
  }
}

.phpinfowp-pillar {
  background: #fff;
  border: 1px solid #e4e4e7;
  border-radius: 12px;
  padding: 24px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.phpinfowp-pillar:hover {
  border-color: rgba(139, 92, 246, 0.35);
  box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.06);
}

.phpinfowp-pillar-header {
  display: flex;
  gap: 14px;
  align-items: center;
  margin-bottom: 16px;
}

.phpinfowp-pillar-icon-box {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: #f4f4f5;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.phpinfowp-pillar-header .dashicons {
  font-size: 20px;
  width: 20px;
  height: 20px;
  color: #7c3aed;
}

.phpinfowp-pillar-name {
  font-size: 16px;
  font-weight: 700;
  color: #09090b;
  line-height: 1.3;
}

.phpinfowp-pillar-tag {
  font-size: 12px;
  color: #71717a;
  margin-top: 2px;
}

.phpinfowp-pillar-items {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.phpinfowp-pillar-items li {
  padding: 0;
  position: relative;
  padding-left: 20px;
  font-size: 13px;
  color: #3f3f46;
  line-height: 1.45;
  border-bottom: none;
}

.phpinfowp-pillar-items li:last-child {
  border-bottom: 0;
}

.phpinfowp-pillar-items li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 6px;
  height: 6px;
  background-color: rgba(167, 139, 250, 0.7);
  border-radius: 50%;
}

/* ---------- License view: pricing ---------- */
.phpinfowp-pricing {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 20px;
}

@media (max-width: 960px) {
  .phpinfowp-pricing {
    grid-template-columns: 1fr;
  }
}

.phpinfowp-pricing-tier {
  position: relative;
  background: #fff;
  border: 1px solid #e2e4e7;
  border-radius: 10px;
  padding: 28px 22px 22px;
  text-align: center;
}

.phpinfowp-pricing-tier.is-featured {
  border-color: #777BB3;
  box-shadow: 0 4px 16px rgba(119, 123, 179, .15);
  transform: translateY(-4px);
}

.phpinfowp-pricing-flag {
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  background: #777BB3;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .4px;
  padding: 3px 10px;
  border-radius: 12px;
  text-transform: uppercase;
  white-space: nowrap;
}

.phpinfowp-pricing-flag.is-warn {
  background: #dba617;
}

.phpinfowp-pricing-name {
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .5px;
  color: #555;
  margin-bottom: 6px;
}

.phpinfowp-pricing-price {
  font-size: 36px;
  font-weight: 800;
  color: #1d2327;
  margin-bottom: 14px;
}

.phpinfowp-pricing-price span {
  font-size: 13px;
  font-weight: 500;
  color: #777;
  margin-left: 2px;
}

.phpinfowp-pricing-list {
  list-style: none;
  margin: 0 0 18px;
  padding: 0;
  text-align: left;
}

.phpinfowp-pricing-list li {
  padding: 5px 0 5px 20px;
  position: relative;
  font-size: 13px;
  color: #333;
}

.phpinfowp-pricing-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 5px;
  color: #00a32a;
  font-weight: 700;
}

.phpinfowp-pricing-tier .button {
  width: 100%;
  text-align: center;
  justify-content: center;
}

.phpinfowp-pricing-foot {
  text-align: center;
  font-size: 12px;
  color: #777;
  margin-top: 18px;
}

/* ---------- Upgrade gate: 3-pillar ---------- */
.phpinfowp-upgrade-pillars {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin: 24px 0 24px;
}

@media (max-width: 1000px) {
  .phpinfowp-upgrade-pillars {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .phpinfowp-upgrade-pillars {
    grid-template-columns: 1fr;
  }
}

.phpinfowp-upgrade-pillar {
  background: #fff;
  border: 1px solid #e4e4e7;
  border-radius: 12px;
  padding: 24px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.phpinfowp-upgrade-pillar:hover {
  border-color: rgba(139, 92, 246, 0.35);
  box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.06);
}

.phpinfowp-upgrade-pillar-icon {
  margin-bottom: 14px;
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: #f4f4f5;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.phpinfowp-upgrade-pillar-icon .dashicons {
  font-size: 20px;
  width: 20px;
  height: 20px;
  color: #7c3aed;
  margin-bottom: 0;
}

.phpinfowp-upgrade-pillar-name {
  font-size: 16px;
  font-weight: 700;
  color: #09090b;
  line-height: 1.3;
}

.phpinfowp-upgrade-pillar-tag {
  font-size: 12px;
  color: #71717a;
  margin-top: 2px;
  margin-bottom: 16px;
}

.phpinfowp-upgrade-pillar-items {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.phpinfowp-upgrade-pillar-items li {
  padding: 0;
  position: relative;
  padding-left: 20px;
  font-size: 13px;
  color: #3f3f46;
  line-height: 1.45;
}

.phpinfowp-upgrade-pillar-items li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 6px;
  height: 6px;
  background-color: rgba(167, 139, 250, 0.7);
  border-radius: 50%;
}

/* Visual break between the three pillars and the three price tiers so users
   don't read them as paired columns (Safeguard=$29, Insight=$69, etc.). */
.phpinfowp-upgrade-plans-header {
  margin: 36px 0 14px;
  padding-top: 28px;
  border-top: 1px solid #e2e4e7;
  text-align: center;
}

.phpinfowp-upgrade-plans-title {
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 6px;
  color: #1d2327;
}

.phpinfowp-upgrade-plans-note {
  font-size: 13px;
  color: #555;
  margin: 0;
}

.phpinfowp-upgrade-plans-note strong {
  color: #1d2327;
}

.phpinfowp-upgrade-price-sub {
  margin-top: 6px;
  font-size: 11px;
  color: #777;
  line-height: 1.4;
}

.phpinfowp-upgrade-pricing {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin: 0 0 24px;
}

@media (max-width: 700px) {
  .phpinfowp-upgrade-pricing {
    grid-template-columns: 1fr;
  }
}

.phpinfowp-upgrade-price-tier {
  position: relative;
  border: 1px solid #e2e4e7;
  border-radius: 8px;
  padding: 16px 12px;
  text-align: center;
  background: #fff;
}

.phpinfowp-upgrade-price-tier.is-featured {
  border-color: #777BB3;
  box-shadow: 0 2px 10px rgba(119, 123, 179, .12);
}

.phpinfowp-upgrade-price-name {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .4px;
  color: #777;
}

.phpinfowp-upgrade-price-value {
  font-size: 24px;
  font-weight: 800;
  color: #1d2327;
  margin-top: 4px;
}

.phpinfowp-upgrade-price-value small {
  font-size: 11px;
  font-weight: 500;
  color: #888;
  margin-left: 2px;
}

.phpinfowp-upgrade-price-best {
  margin-top: 4px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  color: #777BB3;
  letter-spacing: .3px;
}

.phpinfowp-upgrade-price-best.is-warn {
  color: #dba617;
}

/* ---------- Report branding form ---------- */
.phpinfowp-report-branding-form {
  background: #fff;
  border: 1px solid #e2e4e7;
  border-radius: 8px;
  padding: 18px 24px;
  margin-bottom: 24px;
}

.phpinfowp-report-branding-form h3 {
  margin: 0 0 4px;
  font-size: 16px;
}

.phpinfowp-report-branding-form .form-table th {
  width: 180px;
  padding: 12px 10px 12px 0;
}

.phpinfowp-report-branding-form .form-table td {
  padding: 10px;
}

/* ---------- AI Explain (WP 7.0 AI Client integration) ---------- */
.phpinfowp-ai-out {
  margin: 8px 0 0;
  padding: 10px 12px;
  background: #f5f6ff;
  border-left: 3px solid #777BB3;
  border-radius: 0 4px 4px 0;
  font-size: 12.5px;
  line-height: 1.55;
  color: #333;
  white-space: pre-wrap;
}

.phpinfowp-ai-out:empty {
  display: none;
}

/* ---------- License meta (registered to, expires, activated) ---------- */
.phpinfowp-license-meta {
  margin-top: 14px;
  padding: 12px 14px;
  background: #fafbff;
  border: 1px solid #e8eaf0;
  border-radius: 6px;
}

.phpinfowp-license-meta-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 4px 0;
  font-size: 13px;
}

.phpinfowp-license-meta-row+.phpinfowp-license-meta-row {
  border-top: 1px solid #f0f1f5;
}

.phpinfowp-license-meta-label {
  color: #666;
  font-weight: 500;
}

.phpinfowp-license-meta-value {
  color: #1d2327;
  font-weight: 500;
  text-align: right;
}

/* ---- Update Guard (pre-update core audit) ---- */
.phpinfowp-ua-verdict-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
  flex: 0 0 auto;
  margin: 0 2px;
}

.phpinfowp-ua-kind {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .04em;
  color: #555;
  background: #eef0f3;
  border-radius: 3px;
  padding: 1px 5px;
  text-transform: uppercase;
}

.phpinfowp-ua-new {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .03em;
  color: #7a1a1a;
  background: #fcf0f1;
  border: 1px solid #f0c6c8;
  border-radius: 3px;
  padding: 1px 6px;
  text-transform: uppercase;
}

.phpinfowp-ua-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 8px 0 12px;
  margin-bottom: 6px;
  border-bottom: 1px dashed #e2e4e7;
}

.phpinfowp-ua-meta-pill {
  font-size: 12px;
  color: #50575e;
  background: #f6f7f7;
  border: 1px solid #e2e4e7;
  border-radius: 12px;
  padding: 2px 10px;
}

.phpinfowp-ua-meta-pill.is-bad {
  color: #7a1a1a;
  background: #fcf0f1;
  border-color: #f0c6c8;
}

.phpinfowp-ua-meta-pill strong {
  font-weight: 600;
}
```
