/* Holy Care staff page (templates/holycare/staff.html) — on top of the clinic site's style.css */
.staff { background: var(--bg-alt); }
.staff .header-actions { margin-left: auto; }
.staff-main { padding-top: 28px; padding-bottom: 60px; display: grid; gap: 22px; }
.login-box { max-width: 420px; margin: 40px auto; }
.login-box h1 { color: var(--navy); font-size: 1.6rem; margin: 0; }
.panel { padding: 24px; }
.panel h2 { color: var(--navy); font-size: 1.35rem; }
.panel h2 small { font-size: .8rem; color: var(--muted); font-weight: 500; }
.grid-form { grid-template-columns: repeat(3, 1fr); padding: 0; border: 0; box-shadow: none; }
.grid-form .wide { grid-column: span 3; }
.grid-form .btn { align-self: end; }
.inline-form { display: flex; gap: 8px; flex-wrap: wrap; }
.inline-form input { font: inherit; padding: .5em .8em; border: 1px solid #c9d6cf; border-radius: 10px; min-width: 0; flex: 1; }
.small { font-size: .88rem; }
.flash { margin: 0; padding: .7em 1em; border-radius: 10px; font-weight: 600; }
.flash-success { background: #e4f5ea; color: #14703a; }
.flash-error { background: #fdecea; color: #b42318; }
.list-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 22px; }
.list-head h3 { margin: 0; color: var(--navy); }
.table-wrap { overflow-x: auto; margin-top: 12px; }
table { width: 100%; border-collapse: collapse; font-size: .95rem; }
th, td { text-align: left; padding: .55em .6em; border-bottom: 1px solid var(--line); white-space: nowrap; }
th { color: var(--muted); font-weight: 600; font-size: .85rem; }
.link-btn { font: inherit; background: none; border: 0; color: var(--green); cursor: pointer; font-weight: 600; padding: 0; }
.link-btn.danger, td .link-btn { color: #b42318; }
.post-list { list-style: none; padding: 0; margin: 18px 0 0; display: grid; gap: 10px; }
.post-list li { border: 1px solid var(--line); border-radius: 12px; padding: 12px 14px; background: #fff; }
.post-list li.off { opacity: .55; }
.post-list p { margin: .3em 0 .5em; color: #3a4a41; white-space: pre-line; }
.post-kind { display: inline-block; font-size: .8rem; font-weight: 700; color: var(--green); margin-right: 6px; }
.post-actions { display: flex; gap: 16px; }
/* tabs and the page editor */
.staff-tabs { display: flex; flex-wrap: wrap; gap: 6px; }
.staff-tabs a { padding: .45em .9em; border-radius: 999px; background: #fff; border: 1px solid var(--line); color: var(--ink);
  font-weight: 600; font-size: .95rem; text-decoration: none; }
.staff-tabs a:hover { border-color: var(--green); color: var(--green); }
.staff-tabs a.on { background: var(--green); border-color: var(--green); color: #fff; }
.content-form { display: grid; gap: 22px; }
.save-bar { position: sticky; bottom: 12px; display: flex; justify-content: flex-end; }
.save-bar .btn { box-shadow: 0 8px 24px rgba(20, 112, 58, .35); }
.img-field img { max-width: 220px; max-height: 160px; object-fit: cover; border-radius: 10px; border: 1px solid var(--line); }
.form-buttons { display: flex; gap: 10px; align-items: center; }
.item-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.item-list li { display: flex; align-items: center; gap: 12px; border: 1px solid var(--line); border-radius: 12px; padding: 8px 12px; background: #fff; }
.item-list li.off { opacity: .55; }
.item-list img { width: 48px; height: 48px; object-fit: cover; border-radius: 8px; flex: none; }
.item-icon { width: 48px; height: 48px; flex: none; display: grid; place-items: center; font-size: 1.5rem; background: var(--green-50); border-radius: 8px; }
.item-text { flex: 1; min-width: 0; display: grid; }
.item-text b { color: var(--navy); overflow: hidden; text-overflow: ellipsis; }
.item-actions { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.item-actions form { margin: 0; }
@media (max-width: 760px) {
  .item-list li { flex-wrap: wrap; }
  .item-actions { width: 100%; justify-content: flex-end; }
  .grid-form { grid-template-columns: 1fr; }
  .grid-form .wide { grid-column: auto; }
}
