:root{
  --heading:#002C3E;
  --subheading:#0B74B5;
  --text:#000000;
  --pointer:#142d43;
  --border:#dde2ea;
  --shadow:0 12px 26px rgba(15, 23, 42, 0.08);
  --radius:14px;
  --card-bg:#E5F3FF;
  --muted:#6b7280;
  --btn-bg:#0B74B5;
  --btn-text:#ffffff;
}

*{margin:0;padding:0;box-sizing:border-box;}

body{
  font-family:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:#ffffff;
  color:var(--text);
  line-height:1.5;
}

/* PAGE WRAP (NO 7cm padding) */
.page-wrap{
  max-width:1200px;
  margin:0 auto;
  padding:2rem 1.25rem 3rem;
}

/* HEADER */
.page-title{margin-bottom:1.1rem;}
.page-title h2{
  font-family:"Merriweather","Playfair Display",serif;
  font-size:clamp(2rem, 2.4vw, 2.25rem);
  color:var(--heading);
  margin-bottom:0.25rem;
  display:flex;
  align-items:center;
  gap:0.55rem;
}
.page-title span{
  font-size:0.95rem;
  color:var(--muted);
}

.title-icon-circle{
  display:inline-flex;
  width:30px;height:30px;
  align-items:center;justify-content:center;
  border-radius:50%;
  background:#E5F3FF;
  border:1px solid #cfe4ff;
}
.title-icon-circle i{color:var(--subheading);font-size:14px;}

/* CARD */
.card{
  background:var(--card-bg);
  border-radius:var(--radius);
  border:1px solid var(--border);
  padding:0.95rem 1rem;
  box-shadow:var(--shadow);
  margin-bottom:0.95rem;
}

/* SECTION HEADING */
h4.section-heading{
  font-family:"Merriweather","Playfair Display",serif;
  font-size:1.02rem;
  color:var(--subheading);
  font-weight:600;
  margin-bottom:0.65rem;
  display:flex;
  align-items:center;
  gap:0.45rem;
}
.heading-icon{
  width:20px;height:20px;
  border-radius:999px;
  background:#ffffff;
  border:1px solid var(--border);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:0.75rem;
  color:var(--pointer);
}

/* CONTROLS (FIXED) */
.controls{
  display:grid;
  grid-template-columns: 1fr 260px 120px;
  gap:1rem;
  align-items:center;
}

/* SEARCH */
.search-wrap{
  position:relative;
  background:#ffffff;
  border:1px solid var(--border);
  border-radius:12px;
  padding:0.6rem 0.8rem 0.6rem 2.2rem;
  box-shadow:0 8px 18px rgba(15, 23, 42, 0.06);
}
.search-wrap i{
  position:absolute;
  left:0.8rem;
  top:50%;
  transform:translateY(-50%);
  color:#6b7280;
  font-size:0.9rem;
}
.search-wrap input{
  width:100%;
  border:none;
  outline:none;
  font-size:0.92rem;
  background:transparent;
}

/* FILTER SELECT */
.filter-wrap select{
  width:100%;
  height:44px;
  border-radius:12px;
  border:1px solid var(--border);
  padding:0 0.75rem;
  font-size:0.92rem;
  background:#ffffff;
  cursor:pointer;
  outline:none;
}

/* CLEAR BUTTON */
.clear-btn{
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0.35rem;
  padding:0 0.9rem;
  border-radius:12px;
  border:1px solid #bfdbfe;
  background:#eff6ff;
  color:#0B74B5;
  font-weight:600;
  cursor:pointer;
}
.clear-btn:hover{
  filter:brightness(0.98);
  transform:translateY(-1px);
}

/* NOTE STRIP */
.note-strip{
  margin-top:0.9rem;
  border-radius:10px;
  border:1px dashed #bfdbfe;
  background:#eff6ff;
  padding:0.55rem 0.75rem;
  font-size:0.86rem;
  color:var(--pointer);
  display:flex;
  align-items:center;
  gap:0.45rem;
}
.note-icon{
  width:20px;height:20px;
  border-radius:999px;
  background:#dbeafe;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:0.8rem;
}


table tbody td:nth-child(2){
  font-size:1.25rem;       /* increase size */
  font-weight:600;      /* make it stand out */
  color:#002C3E;        /* matches your theme */
}


.profile-pic{
  width:95px;
  height:95px;
  border-radius:50%;
  object-fit:cover;
  border:1px solid #cfe4ff;
}


/* TABLE */
.table-wrap{
  border-radius:10px;
  overflow:hidden;
  border:1px solid #dbe2ea;
  background:#ffffff;
}
table{
  width:100%;
  border-collapse:collapse;
  font-size:0.9rem;
}
thead{background:#ecf5ff;}
th, td{
  padding:0.65rem 0.75rem;
  text-align:left;
  border-bottom:1px solid #e5e7eb;
}
th{
  font-weight:700;
  color:var(--heading);
  font-size:0.86rem;
}
tbody tr:nth-child(even){background:#f9fafb;}

/* WARD PILL */
.ward-pill{
  display:inline-flex;
  align-items:center;
  padding:0.2rem 0.65rem;
  border-radius:999px;
  background:#E5F3FF;
  border:1px solid #cfe4ff;
  font-size:0.82rem;
  color:#0B74B5;
  font-weight:700;
}

/* PHONE + CALL */
.phone-link{
  color:#0B74B5;
  text-decoration:none;
  font-weight:700;
}
.phone-link:hover{text-decoration:underline;}

.call-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0.35rem;
  padding:0.4rem 0.85rem;
  border-radius:999px;
  background:var(--btn-bg);
  color:var(--btn-text);
  text-decoration:none;
  font-size:0.86rem;
  font-weight:700;
  border:none;
  white-space:nowrap;
}
.call-btn:hover{
  background:#095c8f;
  transform:translateY(-1px);
}

/* RESULTS TEXT */
.results{
  margin-top:0.75rem;
  font-size:0.86rem;
  color:var(--muted);
}

/* MOBILE */
@media (max-width: 768px){
  .controls{
    grid-template-columns:1fr;
  }
  .clear-btn{
    width:100%;
  }
  table{
    font-size:0.88rem;
  }
}

/* ACCESSIBILITY */
.sr-only{
  position:absolute;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  border:0;
}

@media (max-width: 768px) {
  .table-wrap {
    overflow-x: auto; /* Ensures the table doesn't break the page layout */
  }
  
  th, td {
    padding: 0.5rem; /* Tighter padding for mobile */
    min-width: 80px; /* Prevents columns from getting too squashed */
  }

  /* Hide the photo column on very small screens to save space if needed */
  /* Or make the text smaller */
  table {
    font-size: 0.8rem;
  }

  .call-btn {
    padding: 0.3rem 0.6rem;
    font-size: 0.75rem;
  }
}