.capture-row {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) auto;
  gap: 10px;
  margin: 0 0 18px;
}

.capture-row .primary {
  white-space: nowrap;
}

.stored-secret {
  display: flex;
  align-items: center;
  min-height: 42px;
  padding: 10px 12px;
  border: 1px solid #cfdad6;
  border-radius: 8px;
  color: #596964;
  background: #f8faf9;
}

.danger {
  border: 0;
  border-radius: 8px;
  padding: 10px 15px;
  font-weight: 700;
  cursor: pointer;
  color: #8f2f2f;
  background: #f7dddd;
}

.company-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.panel-head .actions {
  flex-wrap: wrap;
  justify-content: flex-end;
}

.pill.live {
  background: #dff3eb;
  color: #176b55;
}

.certificate-form h3 {
  margin: 10px 0 0;
}

.certificate-list {
  display: grid;
  gap: 12px;
  margin-top: 24px;
}

.certificate-card {
  display: grid;
  grid-template-columns: minmax(220px, .8fr) 1.6fr auto;
  gap: 22px;
  padding: 18px;
  border: 1px solid #dce4e1;
  border-left: 5px solid #176b55;
  border-radius: 12px;
  background: #fff;
}

.cert-select {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  font-size: 11px;
  color: #687572;
}

.cert-select input {
  width: auto;
  margin: 2px 0 0;
  accent-color: #176b55;
}

.certificate-card.warning { border-left-color: #d99614; }
.certificate-card.expired { border-left-color: #a93d3d; }
.certificate-card.inactive { border-left-color: #8b9492; background: #f5f6f6; opacity: .82; }
.certificate-card h3 { margin: 8px 0 2px; }
.certificate-card p { margin: 0; }
.cert-state { font-size: 10px; font-weight: 850; letter-spacing: .08em; color: #176b55; }
.warning .cert-state { color: #9b6700; }
.expired .cert-state { color: #a93d3d; }
.inactive .cert-state { color: #5f6a68; }
.certificate-card dl { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0; }
.certificate-card dt { color: #687572; font-size: 11px; text-transform: uppercase; }
.certificate-card dd { margin: 2px 0 0; font-weight: 650; }
.certificate-actions { display: flex; flex-direction: column; justify-content: center; gap: 8px; min-width: 190px; }
.certificate-actions button { width: 100%; }
.certificate-message { padding: 12px 14px; border: 1px solid #cbd9d5; border-radius: 10px; background: #eef7f3; color: #24483e; font-weight: 700; }
.certificate-message.error { border-color: #efc4c4; background: #fff0f0; color: #8f2929; }

@media (max-width: 720px) {
  .capture-row {
    grid-template-columns: 1fr;
  }
  .certificate-card, .certificate-card dl {
    grid-template-columns: 1fr;
  }
}

[hidden] { display: none !important; }
.certificate-metrics { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.fiscal-metrics { grid-template-columns: repeat(5, minmax(0,1fr)); margin-top: -4px; }
.cards .status-good { border-top: 4px solid #176b55; }
.cards .status-warning { border-top: 4px solid #d99614; background: #fffaf0; }
.cards .status-danger { border-top: 4px solid #a93d3d; background: #fff6f6; }
.cards .status-warning strong { color: #9b6700; }
.cards .status-danger strong { color: #a93d3d; }
.list-filters { display: grid; grid-template-columns: minmax(240px, 2fr) minmax(170px, 1fr); gap: 10px; margin: 22px 0 12px; }
.certificate-filters { grid-template-columns: minmax(240px, 2fr) minmax(190px, 1fr) minmax(220px, 1fr); }
.token-form { display: grid; grid-template-columns: repeat(3,minmax(180px,1fr)); gap: 10px; align-items: end; }
.token-form label { color: #596964; font-size: 12px; font-weight: 700; }
.token-form input, .token-form select { margin-top: 6px; }
.token-form button { min-height: 42px; }
.scope-selects { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.scope-selects label small { display:block; margin-top:3px; color:#7b8985; font-weight:400; }
.scope-selects select { min-height:128px; }
.administrator-form { grid-template-columns:minmax(240px,2fr) minmax(190px,1fr) auto; align-items:end; }
.administrator-form button { min-height:42px; }
.administrator-item,.company-item { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.administrator-item small,.company-item small { display:block; margin-top:3px; }
.token-result { margin: 18px 0; padding: 16px; border: 1px solid #a9d7c5; border-radius: 10px; background: #eef9f4; }
.token-result b { display: block; margin-bottom: 9px; }
.token-result code { display: block; overflow-wrap: anywhere; margin-bottom: 10px; padding: 10px; border-radius: 7px; background: #102823; color: #effaf6; }
.token-list { display: grid; gap: 9px; }
.token-item { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 14px; border: 1px solid #dce4e1; border-radius: 10px; background: #fff; }
.token-item b, .token-item small { display: block; }
.token-item small { margin-top: 4px; color: #687572; }
.token-state { display: inline-block; margin: 0 8px 6px 0; padding: 3px 7px; border-radius: 20px; font-size: 10px; font-weight: 850; color: #176b55; background: #dff3eb; }
.token-state.expired, .token-state.revoked { color: #a93d3d; background: #f7dddd; }
.key-cell { max-width: 230px; }
.search-grid { grid-template-columns: minmax(210px,1.6fr) minmax(110px,.6fr) minmax(150px,.75fr) minmax(150px,.85fr) minmax(130px,.65fr) minmax(130px,.65fr) minmax(190px,1.2fr); }
.document-searchbar { display:grid; grid-template-columns:minmax(260px,1fr) auto; gap:10px; margin:4px 0 12px; }
.document-searchbar .primary { white-space:nowrap; }
#docsTable { min-width:1540px; }
#docsTable th,#docsTable td { background:#fff; }
.column-labels th { position:relative; user-select:none; cursor:grab; }
.column-labels th:active { cursor:grabbing; }
.column-labels th.dragging { opacity:.35; background:#dff3eb; }
.drag-handle { margin-left:7px; color:#9aaba5; letter-spacing:-4px; }
.column-filters th { padding:7px 5px 11px; vertical-align:top; text-transform:none; }
.column-filters input,.column-filters select { min-width:105px; padding:7px 8px; font-size:11px; }
.range-filter { display:flex; gap:5px; min-width:190px; }
.range-filter input { min-width:88px; }
.actions-col { position:sticky; right:0; z-index:2; box-shadow:-8px 0 12px -12px #17232199; }
thead .actions-col { z-index:3; }
.doc-actions { display:flex; align-items:center; gap:7px; }
.doc-actions .table-action { margin:0; padding:5px 7px; border-radius:6px; background:#edf6f2; }
.doc-actions .pdf { color:#fff; background:#176b55; }
.cert-monitor { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:-4px 0 18px; }
.cert-monitor article { padding:14px 16px; border:1px solid #dce4e1; border-left:4px solid #176b55; border-radius:10px; background:#f8fbfa; }
.cert-monitor article.status-warning { border-left-color:#d99614; background:#fffaf0; }
.cert-monitor article.status-danger { border-left-color:#a93d3d; background:#fff6f6; }
.cert-monitor span { display:block; color:#687572; font-weight:650; }
.cert-monitor strong { display:block; margin-top:5px; font-size:24px; }
.log-filters { display:grid; grid-template-columns:2fr 1.2fr .8fr .8fr auto; gap:10px; align-items:end; margin-bottom:18px; }
.log-filters label { color:#687572; font-size:11px; font-weight:700; }
.log-filters label input { margin-top:4px; }
#logs table { min-width:900px; }

@media (max-width: 1250px) {
  .certificate-metrics { grid-template-columns: repeat(3, 1fr); }
  .fiscal-metrics { grid-template-columns: repeat(3,1fr); }
  .token-form { grid-template-columns: 1fr 1fr; }
  .certificate-filters { grid-template-columns: 1fr 1fr; }
  .search-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .certificate-metrics, .fiscal-metrics, .list-filters, .certificate-filters, .token-form, .scope-selects, .administrator-form, .cert-monitor, .log-filters, .document-searchbar { grid-template-columns: 1fr; }
  .search-grid { grid-template-columns: 1fr; }
  .token-item { align-items: flex-start; flex-direction: column; }
  .administrator-item,.company-item { align-items:flex-start; flex-direction:column; }
}

.header-actions { display:flex; align-items:center; justify-content:flex-end; gap:9px; flex-wrap:wrap; }
.workspace-name { margin:4px 0 0; color:#176b55; font-size:13px; font-weight:750; }
.administrator-item .actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }

@media (max-width: 720px) {
  .header-actions { width:100%; justify-content:flex-start; }
  .header-actions button { flex:1 1 auto; }
  .administrator-item .actions { width:100%; }
  .administrator-item .actions button { flex:1 1 140px; }
}
