/* Klinik Azrul visual refresh. Existing layout, labels, order and actions are preserved. */
:root {
  --ink: #253c43;
  --muted: #6b7e84;
  --line: #e1e9eb;
  --bg: #ffffff;
  --blue: #166534;
  --iris: #2f7545;
  --iris-hover: #255f38;
  --iris-soft: #edf6ee;
  color: var(--ink);
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
}
body { background: #fff; }
button { color: var(--ink); border-color: #d7e2e5; border-radius: 8px; transition: background-color .12s, border-color .12s, box-shadow .12s; }
button:hover { background: #f0f6f6; border-color: #b5ccce; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline-color: #238044; }
h1,h2,h3 { color: #203b43; }
h1 { letter-spacing: -.55px; }
h2 { letter-spacing: -.3px; }
.topbar { border-bottom: 1px solid #dce8e8; box-shadow: 0 3px 14px #1b555007; }
.brand { color: var(--iris); }
.brand svg { width: 28px; height: 28px; }
.nav a { color: #63767d; }
.nav a:hover { color: var(--iris); }
.nav a.active { color: var(--iris); font-weight: 600; }
.nav a.active:after { background: var(--iris); height: 3px; border-radius: 3px; }
.profile { background: var(--iris-soft); color: var(--iris); }
.size-button { color: #62777e; border-color: #dfe8ea; border-radius: 6px; }
.toolbar { border-color: var(--line); }
.tab { color: #62777d; border-radius: 7px 7px 0 0; }
.tab:hover { background: #f3f8f8; }
.tab.selected { color: var(--iris); border-bottom-color: var(--iris); background: linear-gradient(0deg,#edf6ee, #edf6ee00); }
.count { background: #e1eceb; color: #53736f; }
.dark { color: white; background: var(--iris); border-color: var(--iris); box-shadow: 0 2px 4px #255f3814; font-weight: 500; }
.dark:hover { color: white; background: var(--iris-hover); border-color: var(--iris-hover); }
.outline { border-color: #99b4b8; }
.soft { background: #eff4f5; border-color: #e1e8ea; }
.yellow { color: #987326; background: #fff9e9; border-color: #eadfbf; }
.iconbtn { color: #748b91; border-color: transparent; }
.iconbtn:hover { color: var(--iris); background: #edf6ee; border-color: transparent; }
.filter { color: #647c83; border: 1px solid #d5e1e4; background: #fcfefe; }
.filter:hover, .filter.active-filter { color: var(--iris); border-color: #8abdb7; background: var(--iris-soft); }
.reset { color: #758b91; border: 0; }
.reset:hover { color: var(--iris); background: transparent; }
th { background: #f3f7f8; color: #627b83; border-color: #dfe8eb; font-weight: 600; letter-spacing: .035em; }
th:first-child { border-top-left-radius: 8px; }
th:last-child { border-top-right-radius: 8px; }
td { border-color: #e7edef; }
tbody tr:nth-child(even) { background: #fcfdfd; }
tbody tr:hover { background: #f0f8f6; }
.patient-name { color: #26434a; }
.avatar { color: #78968f; background: #edf4f2; border-radius: 7px; }
.sub { color: #6c8087; }
.muted,.metric .label,.stat-inline small,.review-stats small,.setting-link small { color: #71858b; }
.pill { color: #647d83; background: #f6f9fa; border-color: #e3ecee; border-radius: 5px; }
.status { display: inline-block; border-radius: 5px; font-weight: 500; }
.status.waiting,.status.rejected,.status.overdue,.status.cancelled { background: #fff0ef; color: #af5354; }
.status.dispensary,.status.active,.status.received,.status.finished,.status.sufficient { background: #eaf6ec; color: #44784e; }
.status.completed,.status.approved,.status.serving-now { background: #eaf2fc; color: #4c73a3; }
.status.submitted,.status.pending,.status.order-soon { background: #fff6df; color: #947022; }
.pager { color: #71858b; }
.pager select { border-color: var(--line); color: #506c74; }
.pager button { color: #58777e; }
.grey { background: var(--bg); }
.white-card,.form-card,.review-card,.subscription-card { border-color: #e0e9eb; box-shadow: 0 3px 12px #294f5205; border-radius: 12px; }
.claims-grid .white-card { border: 1px solid #e0e9eb; }
.claim-table { border-radius: 12px; box-shadow: 0 2px 12px #294f5205; }
.claim-table th { background: #f3f7f8; }
.claim-line,.setting-line,.review-actions { border-color: var(--line); }
.claim-line strong,.metric strong { color: #214e53; font-variant-numeric: tabular-nums; }
.month-stats { border-color: var(--line); }
.stat-inline strong { color: #315860; font-variant-numeric: tabular-nums; }
.side { border-right: 1px solid #e7edef; }
.side button { color: #6b838a; border-radius: 7px; }
.side button.active { background: var(--iris-soft); color: var(--iris); box-shadow: inset 3px 0 var(--iris); }
.side-anchor { color: #70858c; }
.side-anchor:hover { color: var(--iris); background: #f1f7f6; }
.metric { border: 1px solid #e4ecee; border-radius: 10px; }
.comparison,.bar { background: #238044; }
.comparison.previous { background: #e8eef0; color: #577078; }
.chart { border-color: #dce7e9; }
.settings-grid { border-color: var(--line); border-radius: 12px; }
.settings-card { border-color: var(--line); }
.settings-card>.icon { color: var(--iris); }
.setting-link { border-color: var(--line); border-radius: 6px; }
.setting-link:hover { background: #f0f8f6; }
.setting-link>.icon { color: #87a0a6; }
.breadcrumbs { color: #738990; }
.breadcrumbs a { color: var(--iris); }
.section-title { border-color: var(--line); }
.field>span { color: #47646d; font-weight: 500; }
.field input:not([type=checkbox]),.field select,.field textarea { border-color: #cfdde1; border-radius: 7px; color: var(--ink); }
.field input:hover,.field select:hover,.field textarea:hover { border-color: #98b9bd; }
.check-row input,input[type=checkbox],.form-card .check-row input[type=radio] { accent-color: var(--iris); }
.switch input:checked+span { background: #238044; }
.searchbox { border-color: #cddfe1; border-radius: 8px; color: #7c979c; }
.searchbox:focus-within { border-color: #68a59f; box-shadow: 0 0 0 3px #edf6f4; }
.savebar,.bottom-total { border-color: #dce7e9; box-shadow: 0 -3px 16px #1b555008; }
.patient-side { background: #f5f9f9; border-color: var(--line); }
.detail-pane { border-color: var(--line); }
.cal-head { background: #f3f8f8; color: #52737a; }
.cal-event { background: #edf6ee; border-left-color: #238044; color: #315e5b; border-radius: 4px; }
.cal-event:hover { background: #daeeea; }
.inventory-stats { border-color: var(--line); }
.inventory-stats strong { color: #31585e; }
.inventory-stats>div { border-color: var(--line); }
.empty { color: #7b9197; }
.empty strong { color: #4d6b73; }
.notice { background: #f6f9fa; border-color: #dfe9ec; color: #738890; }
dialog { border-color: #dbe7e9; border-radius: 14px; color: var(--ink); box-shadow: 0 16px 64px #143e4430; }
dialog::backdrop { background: #17394066; }
.modal-head { background: #f5f9f9; border-color: var(--line); }
.modal-footer { border-color: var(--line); }
.profile-menu { border-color: var(--line); box-shadow: 0 10px 32px #294f521a; }
.prototype { color: #788d93; border-color: #dee8eb; box-shadow: 0 2px 10px #294f520a; }
.prototype b { color: #53716f; }
#toast { background: #234e51; }
@media(max-width:760px) {
  .registration table tr { background: white; border: 1px solid #e0eaec; border-radius: 10px; box-shadow: 0 2px 8px #294f5204; }
  .registration table tr:nth-child(even) { background: #fcfefe; }
  .registration table td:before { color: #526f77; }
  .side { border-right: 0; border-bottom-color: var(--line); }
  .side button.active { box-shadow: inset 0 -2px var(--iris); }
  .mobile-nav { color: var(--iris); }
}
@media(prefers-reduced-motion:reduce) { button,.switch span,.switch span:after { transition: none; } }
