.dashboard-card-heading { align-items:center; display:flex; gap:1rem; justify-content:space-between; margin-bottom:1rem; }
.dashboard-card-heading h2 { margin:0; }
.dashboard-card-heading a { white-space:nowrap; }
.contact-card-list { display:grid; gap:.8rem; }
.contact-card-list-item { align-items:center; background:rgba(168,199,224,.06); border:1px solid var(--line); border-radius:.65rem; display:flex; gap:1rem; justify-content:space-between; padding:.8rem 1rem; }
.contact-card-list-item__main { align-items:center; display:flex; flex:1; gap:1rem; min-width:0; text-decoration:none; }
.contact-card-list-item__main img, .contact-card-list-item__placeholder { border-radius:50%; flex:0 0 52px; height:52px; object-fit:cover; width:52px; }
.contact-card-list-item__placeholder { align-items:center; background:var(--navy); border:1px solid var(--line); color:var(--ice); display:flex; font-family:"EB Garamond",Georgia,serif; font-size:1.4rem; justify-content:center; }
.contact-card-list-item__main > div:last-child { display:flex; flex-direction:column; min-width:0; }
.contact-card-list-item__main strong { color:var(--ice); font-size:1.05rem; }
.contact-card-list-item__main span { color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.contact-card-list-item__actions { align-items:center; display:flex; flex:0 0 auto; gap:.8rem; }
.contact-card-list-item__actions form { margin:0; }
.link-button { background:none; border:0; color:var(--ice); cursor:pointer; font:inherit; padding:0; text-decoration:underline; }
.contact-card-editor__heading { align-items:flex-start; display:flex; gap:1rem; justify-content:space-between; margin-bottom:1rem; }
.contact-card-editor__heading h1 { margin-bottom:.35rem; }
.contact-card-heading-actions { display:flex; gap:1rem; }
.contact-card-form-section { background:rgba(168,199,224,.06); border:1px solid var(--line); border-radius:.7rem; color:var(--ink); margin:1rem 0; padding:1rem; }
.contact-card-form-section legend { color:var(--ice); font-weight:600; padding:0 .4rem; }
.contact-card-form-section label { color:var(--ink); }
.contact-card-form-section input, .contact-card-form-section select, .contact-card-form-section textarea { background:#fff; color:#213548; }
.contact-card-form-section--single { border:0; margin:.6rem 0 1rem; padding:0; background:transparent; }
.contact-card-form-section--single label { margin:0; }
.contact-card-name-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.contact-card-phone-section { display:grid; gap:.9rem; }
.contact-card-phone-row { display:grid; gap:.8rem; grid-template-columns:minmax(145px, .65fr) minmax(0, 2fr); }
.contact-card-phone-row label { margin:0; }
.contact-card-address { background:rgba(168,199,224,.06); border-color:var(--line); color:var(--ink); }
.contact-card-address legend { color:var(--ice); }
.contact-card-address label { color:var(--ink); }
.contact-card-address input, .contact-card-address select { background:#fff; color:#213548; }
.contact-card-photo-box { background:rgba(168,199,224,.06); border-color:var(--line); color:var(--ink); }
.contact-card-photo-box legend { color:var(--ice); }
.contact-card-photo-box .form-note { color:var(--slate); }
.contact-card-photo-drop { align-items:center; background:rgba(168,199,224,.04); border:2px dashed var(--line); border-radius:.8rem; cursor:pointer; display:flex; flex-direction:column; gap:1rem; justify-content:center; min-height:270px; padding:1.25rem; text-align:center; transition:border-color .15s ease, background .15s ease, box-shadow .15s ease; }
.contact-card-photo-drop:hover, .contact-card-photo-drop:focus, .contact-card-photo-drop.is-dragging { background:rgba(168,199,224,.1); border-color:var(--ice); box-shadow:0 0 0 3px rgba(168,199,224,.08); outline:0; }
.contact-card-photo-drop__target { align-items:center; background:var(--surface); border:2px dashed var(--ice); border-radius:.65rem; color:var(--ice); display:flex; font-size:1.05rem; font-weight:700; justify-content:center; min-height:110px; width:min(360px,100%); }
.contact-card-photo-drop__copy { display:flex; flex-direction:column; gap:.25rem; }
.contact-card-photo-drop__copy strong { color:var(--ice); }
.contact-card-photo-drop__copy span { color:var(--slate); font-size:.9rem; }
.contact-card-photo-drop__preview { border:1px solid var(--line); border-radius:.75rem; height:120px; object-fit:cover; width:120px; }
.contact-card-photo-drop__preview.is-hidden { display:none; }
.contact-card-qr-layout { align-items:start; display:grid; gap:2rem; grid-template-columns:minmax(0,1fr) minmax(280px,360px); }
.contact-card-preview { min-width:0; }
.contact-card-photo { border:1px solid var(--line); border-radius:1rem; height:180px; object-fit:cover; width:180px; }
.contact-card-preview h2 { margin-bottom:.6rem; }
.contact-card-preview p { margin:.45rem 0; }
.contact-card-qr-panel { align-items:center; background:#fff; border-radius:1rem; color:#213548; display:flex; flex-direction:column; padding:1.4rem; text-align:center; }
#contact-card-qr { align-items:center; display:flex; justify-content:center; max-width:100%; }
#contact-card-qr img, #contact-card-qr canvas { height:auto !important; max-width:100%; }
.contact-card-qr-panel .button-secondary { border-color:var(--navy); color:var(--navy); margin-top:.5rem; }
@media (max-width:900px) {
  .contact-card-name-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:759px) {
  .dashboard-card-heading { align-items:flex-start; flex-direction:column; }
  .contact-card-list-item { align-items:stretch; flex-direction:column; }
  .contact-card-list-item__actions { justify-content:flex-end; }
  .contact-card-editor__heading { flex-direction:column; }
  .contact-card-name-grid { grid-template-columns:1fr; }
  .contact-card-phone-row { grid-template-columns:1fr; }
  .contact-card-photo-drop { min-height:240px; }
  .contact-card-qr-layout { grid-template-columns:1fr; }
  .contact-card-qr-panel { width:100%; }
}

.general-contacts-directory th { color:var(--ice); }
