.certificate-flow{display:grid;grid-template-columns:1fr 1fr;gap:20px}.cert-form{display:grid;gap:14px}.cert-form label{display:grid;gap:6px;font-weight:700}.cert-form label span{font-weight:400;color:var(--muted)}.cert-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.canonical-summary{padding:14px;border:1px solid rgba(6,27,56,.1);border-radius:12px;background:#f7f9fd;font-size:14px}.canonical-summary strong{color:#061b38}.history-heading{display:flex;justify-content:space-between;gap:20px;align-items:end}.history-filters{display:flex;gap:8px;min-width:min(440px,100%)}.table-scroll{overflow:auto}.cert-table{width:100%;border-collapse:collapse;min-width:900px}.cert-table th,.cert-table td{text-align:left;padding:12px 10px;border-bottom:1px solid rgba(6,27,56,.09);vertical-align:top}.cert-table th{font-size:12px;text-transform:uppercase;color:rgba(6,27,56,.6)}.cert-actions{display:flex;flex-wrap:wrap;gap:6px}.cert-actions a,.cert-actions button{font:inherit;font-size:12px;padding:6px 8px}.cert-status{display:inline-flex;padding:5px 8px;border-radius:999px;background:#e9f8ef;font-weight:800;font-size:12px}.cert-status.revoked,.cert-status.replaced{background:#fff0f0}.bulk-errors{padding:12px;border-radius:12px;background:#fff4f2}.bulk-ok{padding:12px;border-radius:12px;background:#edf9f1}.bulk-list{max-height:220px;overflow:auto;font-size:13px}.form-note{font-size:13px;color:rgba(6,27,56,.68)}@media(max-width:900px){.certificate-flow{grid-template-columns:1fr}.cert-grid{grid-template-columns:1fr}.history-heading{display:grid}.history-filters{min-width:0;display:grid}}
/* Sprint 08.8.1 — certificate form polish + CSP-safe layout */
.certificate-history{margin-top:20px}
.cert-form input:not([type="file"]),
.cert-form select,
.history-filters input,
.history-filters select{
  width:100%;
  min-height:44px;
  border:1px solid #cbd7d1;
  border-radius:11px;
  background:#fff;
  padding:10px 12px;
  color:var(--ink);
  font:inherit;
  font-size:14px;
  line-height:1.35;
  box-shadow:0 1px 0 rgba(3,31,71,.02);
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.cert-form select,
.history-filters select{
  appearance:auto;
}
.cert-form input:not([type="file"]):hover,
.cert-form select:hover,
.history-filters input:hover,
.history-filters select:hover{border-color:#afc1b8}
.cert-form input:not([type="file"]):focus,
.cert-form select:focus,
.history-filters input:focus,
.history-filters select:focus{
  outline:none;
  border-color:var(--green);
  box-shadow:0 0 0 3px rgba(0,122,77,.12);
}
.cert-form input[type="file"]{
  width:100%;
  min-height:46px;
  border:1px dashed #b9c9c1;
  border-radius:11px;
  background:#f9fbfa;
  padding:7px 9px;
  color:var(--muted);
  font:inherit;
  font-size:13px;
}
.cert-form input[type="file"]::file-selector-button{
  margin-right:10px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
  padding:7px 11px;
  color:var(--navy);
  font:inherit;
  font-weight:600;
  cursor:pointer;
}
.cert-form input[type="file"]::file-selector-button:hover{background:var(--green-soft);border-color:#b9c9c1}
.cert-form label{color:#33434f;font-size:12px;font-weight:600}
.cert-form label>span{font-size:11px}
.cert-form .btn{min-height:44px}
.form-note{margin:0;line-height:1.65}
