.fdp-frontend {
  display: block;
}

.fdp-login-required,
.fdp-denied,
.fdp-empty {
  padding: 16px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #fff;
}

.fdp-list-header {
  margin-bottom: 20px;
}

.fdp-project-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 18px;
}

.fdp-project-card,
.fdp-section,
.fdp-detail-header {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 20px;
}

.fdp-project-card h3,
.fdp-detail-header h2,
.fdp-section h3 {
  margin-top: 0;
}

.fdp-project-phase {
  display: inline-block;
  padding: 6px 10px;
  border-radius: 999px;
  background: #eef2ff;
  margin-bottom: 10px;
  font-size: 13px;
}

.fdp-project-dates {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 12px 0;
}

.fdp-button,
.fdp-back {
  display: inline-block;
  text-decoration: none;
  border-radius: 10px;
  padding: 10px 14px;
  background: #111827;
  color: #fff;
}

.fdp-back {
  margin-bottom: 16px;
}

.fdp-project-detail {
  display: grid;
  gap: 16px;
}

.fdp-files {
  display: grid;
  gap: 10px;
}

.fdp-file {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 14px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  text-decoration: none;
  color: inherit;
}

.fdp-file-type {
  font-size: 12px;
  text-transform: uppercase;
  opacity: .7;
}

.fdp-richtext p:last-child {
  margin-bottom: 0;
}

.fdp-project-number{display:inline-block;margin:8px 0 10px;padding:4px 10px;border-radius:999px;background:#eef3ff;color:#1b3c7a;font-weight:700;font-size:13px}
.fdp-map-wrap{overflow:hidden;border-radius:14px}
.fdp-project-form-wrap{max-width:820px;margin:0 auto;padding:24px;border:1px solid #e6e6e6;border-radius:18px;background:#fff}
.fdp-project-form .fdp-field{margin:0 0 16px}
.fdp-project-form label{display:block;font-weight:600;margin:0 0 8px}
.fdp-project-form input[type=text],.fdp-project-form input[type=date],.fdp-project-form textarea,.fdp-project-form select{width:100%;padding:12px 14px;border:1px solid #d7dbe2;border-radius:10px;background:#fff}
.fdp-field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fdp-actions{margin-top:18px}
@media (max-width:767px){.fdp-field-row{grid-template-columns:1fr}}


.fdp-nested-contact{border:1px solid #d7dbe2;border-radius:12px;padding:12px 14px;background:#fafafa;margin:0 0 16px}
.fdp-nested-contact summary{cursor:pointer;font-weight:600}
.fdp-nested-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding-top:14px}
.fdp-nested-contact-grid .full{grid-column:1/-1}
.fdp-contact-autocomplete{width:100%}
@media (max-width:767px){.fdp-nested-contact-grid{grid-template-columns:1fr}}

.fdp-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin:12px 0}.fdp-photo-grid img{width:100%;height:110px;object-fit:cover;border-radius:10px}.fdp-photo-upload{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:12px}

.fdp-fd-block{display:grid;gap:12px}.fdp-block-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.fdp-mini-list{display:grid;gap:8px}.fdp-mini-list>div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #edf0f5;padding:8px 0}.fdp-mini-list span{opacity:.75;font-size:13px}.fdp-mini-list p{margin:0}
@media(max-width:700px){.fdp-mini-list>div{display:block}}
