:root {
    --accent:      #2B6CB0;
    --accent-dark: #2C5282;
    --accent-rgb:  43, 108, 176;
  }

  /* Summary cards */
  .cert-summary { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:20px; }
  .cert-card { flex:1; min-width:120px; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:14px 16px; }
  .cert-card-value { font-size:1.8rem; font-weight:700; line-height:1; margin-bottom:4px; }
  .cert-card-label { font-size:.75rem; color:var(--text-muted); text-transform:uppercase; letter-spacing:.05em; }
  .cert-card.ok    .cert-card-value { color:var(--success,#3d9e60); }
  .cert-card.warn  .cert-card-value { color:#d69e2e; }
  .cert-card.crit  .cert-card-value { color:var(--danger,#e05); }
  .cert-card.ready .cert-card-value { color:var(--accent); }

  /* Product tabs */
  .cert-product-tabs { display:flex; gap:6px; margin-bottom:16px; flex-wrap:wrap; }
  .cert-product-tab { padding:6px 16px; border-radius:var(--radius); border:1px solid var(--border); cursor:pointer; font-size:.85rem; background:var(--bg2); color:var(--text-muted); transition:background .15s; }
  .cert-product-tab:hover { background:var(--surface); }
  .cert-product-tab.active { background:var(--accent); color:#fff; border-color:var(--accent); }

  /* Status badges */
  .cert-status { display:inline-block; padding:2px 8px; border-radius:20px; font-size:.72rem; font-weight:600; text-transform:uppercase; letter-spacing:.04em; }
  .cert-status.ok               { background:rgba(45,155,90,.12); color:var(--success,#3d9e60); }
  .cert-status.expiring_soon    { background:rgba(214,158,46,.14); color:#d69e2e; }
  .cert-status.expiring_critical { background:rgba(220,38,38,.12); color:var(--danger,#e05); }
  .cert-status.expired          { background:rgba(220,38,38,.18); color:var(--danger,#e05); }
  .cert-status.pfx_ready        { background:rgba(43,108,176,.12); color:var(--accent); }
  .cert-status.stale_pfx        { background:rgba(214,158,46,.18); color:#b7791f; }
  .cert-status.no_order         { background:var(--bg2); color:var(--text-muted); }
  .cert-status.unknown          { background:var(--bg2); color:var(--text-muted); }
  .cert-status.error            { background:rgba(220,38,38,.12); color:var(--danger,#e05); }

  /* Reachability dot */
  .reach-dot { display:inline-block; width:8px; height:8px; border-radius:50%; margin-right:5px; }
  .reach-dot.ok  { background:var(--success,#3d9e60); }
  .reach-dot.err { background:var(--danger,#e05); }

  /* Action buttons in table */
  .cert-action-btns { display:flex; gap:5px; flex-wrap:wrap; }
  .cert-action-btns .btn-sm { font-size:.75rem; padding:3px 9px; }

  /* Progress log */
  .cert-log { max-height:280px; overflow-y:auto; background:var(--bg,#111); border:1px solid var(--border); border-radius:var(--radius-sm); padding:10px 12px; margin-top:10px; font-family:monospace; font-size:.78rem; }
  .cert-log-line { padding:2px 0; }
  .cert-log-line.ok   { color:var(--success,#3d9e60); }
  .cert-log-line.warn { color:#d69e2e; }
  .cert-log-line.err  { color:var(--danger,#e05); }

  /* History table */
  .history-table { width:100%; border-collapse:collapse; font-size:.8rem; }
  .history-table th { font-size:.7rem; font-weight:600; color:var(--text-muted); text-transform:uppercase; padding:5px 8px; border-bottom:1px solid var(--border); text-align:left; }
  .history-table td { padding:5px 8px; border-bottom:1px solid var(--border); vertical-align:top; }

  .cert-op-body { overflow-y: auto; flex: 1; }
  .cert-form-grid { display: grid; gap: 10px; margin-bottom: 14px; }
  .cert-form-actions { display: flex; gap: 8px; }
  .cert-form-actions .btn-primary { flex: 1; }
  .cert-checkbox-row { display: flex; gap: 14px; align-items: center; }
  .cert-checkbox-label { display: flex; align-items: center; gap: 6px; cursor: pointer; }
  .cert-op-progress-head { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
  #reg-type {
    width: 100%;
    box-sizing: border-box;
    background: var(--bg2);
    color: var(--text);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    padding: 7px 10px;
    font-size: var(--font-size-sm);
  }
