/* Client Portal DSTRC — Documents */
.cp-documents-lead {
  max-width:880px;
  margin:-8px 0 20px;
  color:#64748b;
  font-size:13px;
  line-height:1.65;
}
.cp-document-notice {
  margin:0 0 18px;
  padding:12px 15px;
  border:1px solid;
  border-radius:9px;
  font-size:13px;
  font-weight:600;
  line-height:1.45;
}
.cp-document-notice--success {
  border-color:#86efac;
  background:#f0fdf4;
  color:#166534;
}
.cp-document-notice--error {
  border-color:#fecaca;
  background:#fef2f2;
  color:#991b1b;
}
.cp-documents-manager-grid {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
  margin-bottom:28px;
}
.cp-document-form-card {
  min-width:0;
  padding:20px;
  border:1px solid #dbe3ef;
  border-radius:12px;
  background:#fff;
  box-shadow:0 4px 16px rgba(15,23,42,.05);
}
.cp-document-form-card__head {
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-bottom:18px;
  padding-bottom:15px;
  border-bottom:1px solid #e5e7eb;
}
.cp-document-form-card__icon {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  flex:0 0 38px;
  border-radius:10px;
  background:#eff6ff;
  font-size:19px;
}
.cp-document-form-card h3,
.cp-documents-heading-row h2,
.cp-documents-manager-intro h2 {
  margin:0;
  color:#1e293b;
  font-size:17px;
  line-height:1.35;
}
.cp-document-form-card__head p,
.cp-documents-manager-intro p {
  margin:4px 0 0;
  color:#64748b;
  font-size:12px;
  line-height:1.5;
}
.cp-document-form .cp-field {
  margin-bottom:15px;
}
.cp-document-form .cp-field > label {
  display:block;
  margin-bottom:6px;
  color:#334155;
  font-size:12px;
  font-weight:700;
}
.cp-document-form input[type="text"],
.cp-document-form input[type="url"],
.cp-document-form input[type="file"],
.cp-document-form textarea {
  display:block;
  width:100%;
  box-sizing:border-box;
  padding:9px 11px;
  border:1px solid #cbd5e1;
  border-radius:7px;
  background:#fff;
  color:#1f2937;
  font:inherit;
  font-size:13px;
  outline:none;
  transition:border-color .15s, box-shadow .15s;
}
.cp-document-form input[type="file"] {
  padding:8px;
  background:#f8fafc;
}
.cp-document-form textarea {
  min-height:92px;
  resize:vertical;
}
.cp-document-form input:focus,
.cp-document-form textarea:focus {
  border-color:#2563eb;
  box-shadow:0 0 0 3px rgba(37,99,235,.12);
}
.cp-document-field-help {
  margin:6px 0 0;
  color:#64748b;
  font-size:10px;
  line-height:1.5;
  word-break:break-word;
}
.cp-documents-heading-row {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin:8px 0 13px;
}
.cp-documents-heading-row p {
  margin:3px 0 0;
  color:#64748b;
  font-size:12px;
}
.cp-documents-list {
  display:grid;
  gap:12px;
}
.cp-document-card {
  display:grid;
  grid-template-columns:52px minmax(0, 1fr) auto;
  align-items:center;
  gap:15px;
  padding:16px;
  border:1px solid #e2e8f0;
  border-radius:12px;
  background:#fff;
  box-shadow:0 2px 10px rgba(15,23,42,.035);
  transition:transform .15s, border-color .15s, box-shadow .15s;
}
.cp-document-card:hover {
  transform:translateY(-1px);
  border-color:#bfdbfe;
  box-shadow:0 8px 22px rgba(15,23,42,.07);
}
.cp-document-card__icon {
  display:flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  border-radius:12px;
  background:#f1f5f9;
  font-size:26px;
}
.cp-document-card--link .cp-document-card__icon {
  background:#eff6ff;
}
.cp-document-card__content {
  min-width:0;
}
.cp-document-card__title-row {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}
.cp-document-card__title-row h3 {
  min-width:0;
  margin:0;
  color:#0f172a;
  font-size:15px;
  line-height:1.4;
  overflow-wrap:anywhere;
}
.cp-document-kind {
  display:inline-flex;
  align-items:center;
  padding:3px 7px;
  border-radius:999px;
  background:#f1f5f9;
  color:#64748b;
  font-size:10px;
  font-weight:700;
  white-space:nowrap;
}
.cp-document-card--link .cp-document-kind {
  background:#dbeafe;
  color:#1e40af;
}
.cp-document-comment {
  margin-top:7px;
  color:#475569;
  font-size:13px;
  line-height:1.55;
  overflow-wrap:anywhere;
}
.cp-document-meta {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px 13px;
  margin-top:9px;
  color:#94a3b8;
  font-size:10px;
  line-height:1.4;
}
.cp-document-meta span {
  max-width:100%;
  overflow-wrap:anywhere;
}
.cp-document-host {
  color:#3b82f6;
}
.cp-document-card__actions {
  display:flex;
  align-items:stretch;
  justify-content:flex-end;
  flex-direction:column;
  gap:7px;
  min-width:145px;
}
.cp-document-download-btn,
.cp-document-delete-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  box-sizing:border-box;
  padding:8px 12px;
  border-radius:7px;
  font-size:12px;
  font-weight:700;
  line-height:1.2;
  text-align:center;
  text-decoration:none;
  cursor:pointer;
  transition:.15s;
}
.cp-document-download-btn {
  border:1px solid #2563eb;
  background:#2563eb;
  color:#fff;
}
.cp-document-download-btn:hover {
  border-color:#1d4ed8;
  background:#1d4ed8;
  color:#fff;
  text-decoration:none;
}
.cp-document-delete-form {
  margin:0;
}
.cp-document-delete-btn {
  width:100%;
  border:1px solid #fecaca;
  background:#fff;
  color:#b91c1c;
}
.cp-document-delete-btn:hover {
  border-color:#ef4444;
  background:#fef2f2;
}
.cp-documents-empty {
  padding:48px 24px;
  border:1px dashed #cbd5e1;
  border-radius:12px;
  background:#f8fafc;
  text-align:center;
}
.cp-documents-empty > span {
  display:block;
  margin-bottom:8px;
  font-size:34px;
}
.cp-documents-empty h3 {
  margin:0 0 5px;
  color:#334155;
  font-size:16px;
}
.cp-documents-empty p {
  margin:0;
  color:#94a3b8;
  font-size:12px;
}
.cp-documents-intro {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin:18px 0;
  padding:22px;
  border:1px solid #dbeafe;
  border-radius:14px;
  background:linear-gradient(135deg, #eff6ff 0%, #fff 72%);
}
.cp-documents-eyebrow {
  display:block;
  margin-bottom:5px;
  color:#2563eb;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.cp-documents-intro h1 {
  margin:0;
  color:#172554;
  font-size:22px;
  line-height:1.25;
}
.cp-documents-intro p {
  max-width:700px;
  margin:7px 0 0;
  color:#64748b;
  font-size:13px;
  line-height:1.55;
}
.cp-documents-count {
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  width:84px;
  height:70px;
  flex:0 0 84px;
  border:1px solid #bfdbfe;
  border-radius:12px;
  background:#fff;
  color:#1d4ed8;
  font-size:22px;
  font-weight:800;
}
.cp-documents-count small {
  margin-top:1px;
  color:#64748b;
  font-size:9px;
  font-weight:600;
  text-transform:uppercase;
}
.cp-documents-admin-panel {
  margin-top:26px;
}
.cp-documents-manager-intro {
  margin-bottom:15px;
}
.cp-documents-admin-panel .cp-documents-manager-grid {
  margin-bottom:0;
}
@media (max-width: 900px) {
  .cp-documents-manager-grid {
    grid-template-columns:1fr;
  }
}
@media (max-width: 700px) {
  .cp-document-card {
    grid-template-columns:44px minmax(0, 1fr);
    align-items:start;
    padding:14px;
  }
  .cp-document-card__icon {
    width:44px;
    height:44px;
    font-size:22px;
  }
  .cp-document-card__actions {
    grid-column:1 / -1;
    min-width:0;
    flex-direction:row;
  }
  .cp-document-card__actions > * {
    flex:1 1 0;
  }
  .cp-documents-intro {
    align-items:flex-start;
  }
  .cp-documents-count {
    width:68px;
    flex-basis:68px;
  }
}
@media (max-width: 480px) {
  .cp-documents-intro {
    align-items:stretch;
    flex-direction:column;
  }
  .cp-documents-count {
    width:100%;
    height:56px;
  }
  .cp-document-card__actions {
    flex-direction:column;
  }
}
