body {
  font-family: Arial, sans-serif;
  margin: 20px;
  background: #f9fafb;
}
h1 { margin-top: 0; }
.header-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  border-bottom: 2px solid #e5e7eb;
  padding-bottom: 10px;
}
.nav-link {
  font-size: 1em;
  color: #2b6cb0;
  text-decoration: none;
  font-weight: bold;
}
form label { display: block; margin: 10px 0 5px; }
fieldset { margin-bottom: 20px; border-radius: 10px; border: 1px solid #38b2ac; background: #f4f9fe; padding: 14px; }
legend { padding: 0 10px; font-weight: 700; color: #2b6cb0; }
#cyclesContainer { margin: 15px 0; padding: 10px; border: 1px dashed #aaa; background: #fff; }
.cycle-block { border: 1px solid #cbd5e0; margin: 10px 0; padding: 10px; background: #edf2f7; border-radius: 10px; position: relative; }
.cycle-block h3 { margin: 0 0 10px; display: flex; align-items: center; justify-content: space-between; }
.cycle-grid, .quick-entry-grid, .meds-grid, .blood-gas-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px 16px; align-items: end; }
.cycle-block .removeCycleBtn { color: #d00; background: #fff; border: 1px solid #d00; cursor: pointer; font-size: 0.9em; border-radius: 6px; padding: 2px 10px; }
.meds-list { margin-top: 15px; }
.investigation-list, .medList, .dtxList { margin: 10px 0; padding-left: 20px; }
.investigation-list li, .medList li, .dtxList li { margin-bottom: 6px; }
.addInvestigationBtn, .addMedBtn, .addDtxBtn, .addBloodGasBtn, .addUltrasoundBtn, .addOtherInvBtn { margin-top: 6px; margin-bottom: 10px; background: #38b2ac; color: white; border: none; border-radius: 6px; padding: 6px 12px; cursor: pointer; }
#addCycleBtn { margin-top: 15px; }
.removeBtn { background: #d00; color: white; border: none; border-radius: 4px; margin-left: 10px; cursor: pointer; padding: 2px 6px; }
.primary { background: #2b6cb0; color: white; border: none; border-radius: 8px; padding: 8px 14px; cursor: pointer; }
.danger { background: #c53030; color: white; border: none; border-radius: 8px; padding: 8px 14px; cursor: pointer; }
.actions { display: flex; gap: 10px; margin-bottom: 20px; }
.small-note { font-size: 0.9em; color: #4a5568; }
.badge { display: inline-block; padding: 2px 8px; border-radius: 999px; background: #2c5282; color: #fff; font-size: 12px; }

/* --- New Table Styles --- */
.table-container {
  overflow-x: auto;
  background: white;
  border-radius: 8px;
  border: 1px solid #e5e7eb;
}
table {
  width: 100%;
  border-collapse: collapse;
}
th, td {
  padding: 12px 15px;
  text-align: left;
  border-bottom: 1px solid #e5e7eb;
}
thead th {
  background-color: #f3f4f6;
  font-weight: bold;
  color: #374151;
}
tbody tr:hover {
  background-color: #f9fafb;
}
td button {
  padding: 4px 10px;
}