/* Slate document library + proposal attachments — shared styles */

/* Admin: upload form */
.doc-upload {
  background: rgba(0,0,0,.03);
  border: 1px dashed rgba(0,0,0,.15);
  padding: 1rem;
  border-radius: 8px;
  margin-bottom: 1rem;
}
.doc-upload .row { display:flex; gap:.6rem; flex-wrap:wrap; align-items:center; margin:.4rem 0 }
.doc-upload input[type=text], .doc-upload select {
  padding:.5rem .6rem; border:1px solid rgba(0,0,0,.2); border-radius:5px; font-size:.95rem;
}
.doc-upload input[type=text] { flex:1; min-width:160px }

/* Admin: doc list */
.doc-list { list-style:none; padding:0; margin:0 }
.doc-list li {
  display:flex; gap:.7rem; align-items:center; padding:.5rem .6rem;
  border:1px solid rgba(0,0,0,.08); border-radius:6px; margin-bottom:.4rem;
  background:#fff;
}
.doc-list .doc-name { flex:1; font-weight:600 }
.doc-list .doc-cat { font-size:.78rem; color:#666; background:rgba(0,0,0,.06); padding:.15rem .45rem; border-radius:3px }
.doc-list .doc-size { font-size:.78rem; color:#888 }
.doc-list .doc-actions { display:flex; gap:.3rem }
.doc-empty { color:#666; font-style:italic; padding:1rem; text-align:center }

/* Resident: attached doc cards beneath proposal body */
.attached-docs-block { margin-top:.8rem; padding-top:.7rem; border-top:1px solid rgba(0,0,0,.08) }
.attached-docs-block h4 {
  font-size:.7rem; text-transform:uppercase; letter-spacing:.06em;
  color:#666; margin:0 0 .5rem;
}
.attached-docs-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(200px,1fr)); gap:.5rem }
.attached-doc-card {
  display:flex; gap:.5rem; align-items:center;
  padding:.6rem .7rem; border:1px solid rgba(0,0,0,.12); border-radius:6px;
  background:#fff; text-decoration:none; color:inherit;
  transition:transform .1s, box-shadow .1s;
}
.attached-doc-card:hover { transform:translateY(-1px); box-shadow:0 2px 6px rgba(0,0,0,.08) }
.attached-doc-card .icon { font-size:1.2rem; color:var(--ink, #2d4a2b) }
.attached-doc-card .body { flex:1; min-width:0 }
.attached-doc-card .name { font-weight:600; font-size:.9rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.attached-doc-card .meta { font-size:.72rem; color:#666 }

/* Admin: attach picker modal */
.dpick-overlay { position:fixed; inset:0; background:rgba(0,0,0,.45); display:flex; align-items:center; justify-content:center; z-index:9000 }
.dpick { background:#fff; border-radius:10px; max-width:520px; width:92%; max-height:80vh; display:flex; flex-direction:column; box-shadow:0 10px 40px rgba(0,0,0,.25) }
.dpick-head { padding:1rem 1.2rem; border-bottom:1px solid rgba(0,0,0,.08); display:flex; justify-content:space-between; align-items:center }
.dpick-head h3 { margin:0; font-size:1.05rem }
.dpick-head .x { background:none; border:none; font-size:1.4rem; cursor:pointer; color:#666 }
.dpick-body { padding:1rem 1.2rem; overflow-y:auto; flex:1 }
.dpick-foot { padding:.8rem 1.2rem; border-top:1px solid rgba(0,0,0,.08); display:flex; justify-content:flex-end; gap:.5rem }
.dpick-row { display:flex; gap:.6rem; align-items:center; padding:.5rem; border-radius:5px; cursor:pointer }
.dpick-row:hover { background:rgba(0,0,0,.04) }
.dpick-row input[type=checkbox] { width:18px; height:18px }
.dpick .name { font-weight:600 }
.dpick .cat { font-size:.78rem; color:#666 }

.attach-btn-mini { font-size:.78rem; padding:.25rem .55rem; border:1px solid rgba(0,0,0,.2); background:#fff; border-radius:4px; cursor:pointer; color:inherit; text-decoration:none; display:inline-block }
.attach-btn-mini:hover { background:rgba(0,0,0,.04) }
