:root{
  /* Desktop-like, calm beige theme */
  --bg:#f1eddc;
  --panel:#fbfaf6;
  --paper:#ffffff;
  --ink:#1f2937;
  --muted:#6b7280;
  --line:rgba(60,60,60,.18);
  --line2:rgba(60,60,60,.10);
  --accent:#2563eb;   /* selection / focus */
  --accent2:#0f766e;
  --danger:#dc2626;
  --warn:#d97706;
  --ok:#16a34a;
  --shadow:0 10px 22px rgba(0,0,0,.08);
  --shadow2:0 2px 0 rgba(0,0,0,.04);

  /* Grid density (JS reads these vars) */
  --grid-time-w:56px;
  --grid-hdr-h:44px;
  --grid-slot-h:28px;
  --grid-time-font:11px;
  --grid-time-font-major:12px;
  --grid-head-font:12px;
  --grid-head-pad:10px 10px;
  --grid-time-pad:8px 4px 8px 10px;
  --appt-name-font:12px;
  --appt-note-font:11px;
  --appt-badge-sz:24px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: "Segoe UI", Tahoma, system-ui, -apple-system, Arial, sans-serif;
  color:var(--ink);
  background: var(--bg);
  overflow:hidden;
}

/* Smaller screens: allow compact/dense views without changing clinic hours */
body.density-compact{
  --grid-time-w:52px;
  --grid-hdr-h:38px;
  --grid-slot-h:24px;
  --grid-time-font:10.5px;
  --grid-time-font-major:11px;
  --grid-head-font:11.5px;
  --grid-head-pad:6px 6px;
  --grid-time-pad:6px 4px 6px 8px;
  --appt-name-font:11px;
  --appt-note-font:10.5px;
  --appt-badge-sz:24px;
}
body.density-dense{
  --grid-time-w:48px;
  --grid-hdr-h:34px;
  --grid-slot-h:20px;
  --grid-time-font:10px;
  --grid-time-font-major:10.5px;
  --grid-head-font:11px;
  --grid-head-pad:4px 6px;
  --grid-time-pad:4px 4px 4px 8px;
  --appt-name-font:10.5px;
  --appt-note-font:10px;
  --appt-badge-sz:22px;
}
body.density-relaxed{
  --grid-time-w:62px;
  --grid-hdr-h:50px;
  --grid-slot-h:34px;
  --grid-time-font:11.5px;
  --grid-time-font-major:12.5px;
  --grid-head-font:12.5px;
  --grid-head-pad:10px 10px;
  --grid-time-pad:9px 5px 9px 10px;
  --appt-name-font:12.5px;
  --appt-note-font:11.5px;
  --appt-badge-sz:24px;
}
body.density-xrelaxed{
  --grid-time-w:66px;
  --grid-hdr-h:56px;
  --grid-slot-h:38px;
  --grid-time-font:12px;
  --grid-time-font-major:13px;
  --grid-head-font:13px;
  --grid-head-pad:11px 11px;
  --grid-time-pad:10px 6px 10px 10px;
  --appt-name-font:13px;
  --appt-note-font:12px;
  --appt-badge-sz:26px;
}

.app{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}

.live-info-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px;
  padding:8px 14px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg, #f6f2e4, #ece6d2);
  color:#1f2937;
  font-weight:800;
  letter-spacing:.01em;
  position:sticky;
  top:0;
  z-index:55;
}
.live-info-main{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.live-info-ico{
  width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#b45309;
}
.live-info-ico svg{
  width:16px;
  height:16px;
  display:block;
}
.live-info-ico.clock{color:#0f766e}
.live-info-date{font-size:14px}
.live-info-sep{opacity:.5}
.live-info-time{
  font-size:14px;
  color:#1e3a8a;
  min-width:74px;
}
.live-today-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:2px 10px;
  min-height:32px;
  border:1px solid rgba(37,99,235,.28);
  background:rgba(219,234,254,.72);
  color:#1e3a8a;
  font-weight:900;
  font-size:15px;
  line-height:1;
  white-space:nowrap;
}
.live-today-ico{
  font-size:16px;
  line-height:1;
}
.live-today-label{
  font-weight:900;
}
.live-today-val{
  color:#0f766e;
  font-weight:1000;
}
.live-inline-btn{
  border:1px solid rgba(13,148,136,.34);
  background:rgba(236,253,245,.82);
  color:#0f766e;
  font-weight:800;
  font-size:12px;
  height:30px;
  padding:0 10px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  cursor:pointer;
  white-space:nowrap;
}
.live-inline-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:26px;
  height:20px;
  padding:0 8px;
  border:1px solid rgba(6,95,70,.24);
  background:rgba(255,255,255,.78);
  color:#0f766e;
  font-size:12px;
  font-weight:900;
  line-height:1;
}
.live-inline-btn:hover{
  background:#d1fae5;
}
.live-inline-btn:disabled{
  opacity:.5;
  cursor:not-allowed;
}
.live-inline-ico{
  font-size:13px;
  line-height:1;
}
.live-inline-btn.recall{
  height:36px;
  padding:0 14px;
  font-size:14px;
  border-color:rgba(15,118,110,.46);
  background:linear-gradient(180deg, #dcfce7, #bbf7d0);
  color:#065f46;
  box-shadow:0 2px 0 rgba(6,95,70,.18);
}
.live-inline-btn.recall .live-inline-ico{
  font-size:17px;
}
.live-inline-btn.recall .live-inline-count{
  border-color:rgba(6,95,70,.22);
  background:rgba(240,253,244,.88);
  color:#065f46;
  margin-left:2px;
}
.live-inline-btn.recall:hover{
  background:linear-gradient(180deg, #bbf7d0, #86efac);
}
.live-inline-btn.management{
  height:36px;
  padding:0 11px;
  font-size:13px;
  border-color:rgba(79,70,229,.34);
  background:linear-gradient(180deg, #f5f3ff, #ddd6fe);
  color:#4338ca;
  box-shadow:0 2px 0 rgba(79,70,229,.16);
}
.live-inline-btn.management .live-inline-ico{
  font-size:16px;
}
.live-inline-btn.management:hover{
  background:linear-gradient(180deg, #ddd6fe, #c4b5fd);
}
.live-inline-btn.report{
  height:36px;
  padding:0 11px;
  font-size:13px;
  border-color:rgba(14,116,144,.30);
  background:linear-gradient(180deg, #ecfeff, #a5f3fc);
  color:#0e7490;
  box-shadow:0 2px 0 rgba(14,116,144,.14);
}
.live-inline-btn.report .live-inline-ico{
  font-size:16px;
}
.live-inline-btn.report:hover{
  background:linear-gradient(180deg, #a5f3fc, #67e8f9);
}
.live-inline-btn.doctor-bell{
  display:none;
  height:36px;
  padding:0 11px;
  font-size:13px;
  border-color:rgba(180,83,9,.36);
  background:linear-gradient(180deg, #fef3c7, #fde68a);
  color:#92400e;
  box-shadow:0 2px 0 rgba(146,64,14,.14);
}
.live-inline-btn.doctor-bell.is-visible{
  display:inline-flex;
}
.live-inline-btn.doctor-bell .live-inline-ico{
  font-size:16px;
}
.live-inline-btn.doctor-bell .live-inline-count{
  border-color:rgba(146,64,14,.24);
  background:rgba(255,255,255,.84);
  color:#92400e;
}
.live-inline-btn.doctor-bell:hover{
  background:linear-gradient(180deg, #fde68a, #fcd34d);
}
.live-bell-text{
  font-weight:900;
}
.live-user-area{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
  max-width:calc(100vw - 24px);
  border:1px solid rgba(30,64,175,.18);
  background:rgba(255,255,255,.72);
  padding:4px 6px;
}
.live-info-ico.user{
  color:#1d4ed8;
}
.live-user-name{
  min-width:0;
  max-width:340px;
  overflow:visible;
  text-overflow:clip;
  white-space:nowrap;
  font-size:13px;
  color:#0f172a;
}
.live-user-name.is-clickable{
  cursor:pointer;
  padding:1px 4px;
  border:1px solid transparent;
  border-radius:4px;
  transition:color .15s ease, background .15s ease, border-color .15s ease;
}
.live-user-name.is-clickable:hover{
  color:#1d4ed8;
  background:rgba(37,99,235,.10);
}
.live-user-name.is-clickable:focus-visible{
  outline:none;
  border-color:rgba(37,99,235,.45);
  background:rgba(219,234,254,.55);
}
.live-auth-btn{
  width:28px;
  height:28px;
  border:1px solid rgba(60,60,60,.22);
  background:#fff;
  color:#0f172a;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.live-auth-btn svg{
  width:15px;
  height:15px;
  display:block;
}
.live-auth-btn.switch{color:#1d4ed8;border-color:rgba(37,99,235,.32);}
.live-auth-btn.logout{color:#b91c1c;border-color:rgba(220,38,38,.30);}
.live-auth-btn:hover{
  background:#f8fafc;
}
.live-auth-btn:disabled{
  opacity:.45;
  cursor:not-allowed;
}

.topbar{
  position:sticky; top:0; z-index:20;
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  padding:14px 16px;
  background:linear-gradient(180deg, #f8f6ee, #efe9d6);
  border-bottom:1px solid var(--line);
  box-shadow: var(--shadow2);
}
.brand{display:flex;align-items:center;gap:12px}
.logo{
  width:40px;height:40px;border-radius:14px;
  background:linear-gradient(135deg, #e8dbb5, #f3ecd7);
  display:flex;align-items:center;justify-content:center;
  font-weight:900;color:#3b3b3b;
  border:1px solid rgba(60,60,60,.20);
  box-shadow: var(--shadow2);
}
.brand-title{color:#1f2937;font-weight:900;letter-spacing:.01em}
.brand-sub{color:rgba(31,41,55,.62);font-size:12px}

.date-nav{display:flex;align-items:center;gap:8px;margin-left:auto}
.date-input{
  padding:10px 10px;border-radius:10px;border:1px solid var(--line);
  background:#fff; color:var(--ink);
}

.top-actions{display:flex;align-items:center;gap:10px}
.search{
  width:min(320px, 70vw);
  padding:10px 12px;border-radius:10px;border:1px solid var(--line);
  background:#fff; color:var(--ink);
  outline:none;
}
.search::placeholder{color:rgba(31,41,55,.45)}
.density{
  width:120px;
  padding:10px 6px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--ink);
  text-align:center;
  font-weight:800;
  outline:none;
}
.density-row{
  display:grid;
  grid-template-columns:30px 1fr 30px;
  gap:6px;
  align-items:center;
}
.density-row .density{
  width:100%;
}
.density-step{
  height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  color:var(--ink);
  cursor:pointer;
}
.density-step svg{
  width:16px;
  height:16px;
  stroke:currentColor;
  stroke-width:2.6;
  stroke-linecap:round;
  stroke-linejoin:round;
  fill:none;
}
.density-step.is-minus svg{
  width:18px;
  height:18px;
  stroke-width:3.2;
}
.density-step.is-plus svg{
  width:16px;
  height:16px;
  stroke-width:2.8;
}
.density-step:hover{
  border-color:rgba(37,99,235,.35);
  background:#eef3ff;
}
.density-step:active{transform:translateY(1px)}
.density-step:disabled{
  opacity:.45;
  cursor:not-allowed;
}
.density-hint{
  margin-top:4px;
  min-height:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  font-size:11px;
  font-weight:700;
  color:#475569;
}
.density-hint .ico{
  font-size:13px;
  line-height:1;
  color:#1d4ed8;
}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 14px;border-radius:10px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, #ffffff, #f3efdf);
  color:var(--ink);
  cursor:pointer;
  font-weight:800;
  text-decoration:none;
  transition: transform .06s ease, background .12s ease, border-color .12s ease;
}
.btn:hover{background:linear-gradient(180deg, #ffffff, #ece6d2);border-color:rgba(60,60,60,.28)}
.btn:active{transform: translateY(1px)}
.btn.ghost{background:linear-gradient(180deg, #ffffff, #f8f6ee)}

.main{display:grid;grid-template-columns:340px 1fr;gap:14px;padding:14px 16px;flex:1;min-height:0;overflow:hidden}
@media(max-width:1100px){.main{grid-template-columns:minmax(140px, 165px) 1fr}}
.main.workspace-only{grid-template-columns:1fr}
.main.workspace-only .sidebar{display:none}
.main.workspace-only .board{min-width:0}

.sidebar{display:flex;flex-direction:column;gap:12px;min-height:0;overflow-y:auto;overflow-x:hidden}
.sidebar > *{flex:0 0 auto}
.board{min-height:0;display:flex;flex-direction:column;gap:10px;overflow:hidden}

.mini-cal{display:flex;flex-direction:column;gap:10px}
.mc-hd{display:flex;align-items:center;justify-content:space-between;gap:10px}
.mc-title{font-weight:900;letter-spacing:.01em;color:rgba(31,41,55,.85)}
.mc-nav{padding:8px 10px}
.mc-daystep{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
}
.mc-daystep-btn{
  appearance:none;
  border:1px solid rgba(60,60,60,.16);
  background:linear-gradient(180deg, #ffffff, #f5f2e8);
  color:rgba(31,41,55,.90);
  padding:5px 8px;
  font-size:11px;
  font-weight:1000;
  line-height:1;
  cursor:pointer;
  border-radius:8px;
}
.mc-daystep-btn:hover{
  border-color:rgba(37,99,235,.35);
  background:linear-gradient(180deg, #ffffff, #e8eefb);
  color:#1e3a8a;
}
.mc-daystep-btn:active{transform:translateY(1px)}
.mc-grid{
  display:grid;
  grid-template-columns: repeat(7, 1fr);
  gap:6px;
}
.mc-dow{
  font-size:11px;
  color:rgba(31,41,55,.55);
  text-align:center;
  padding:2px 0;
  font-weight:800;
}
.mc-day{
  appearance:none;
  border:1px solid rgba(60,60,60,.14);
  background:linear-gradient(180deg, #ffffff, #f6f2e4);
  border-radius:10px;
  padding:10px 0;
  cursor:pointer;
  font-weight:900;
  color:rgba(31,41,55,.85);
  box-shadow: 0 2px 0 rgba(0,0,0,.03);
  transition: background .12s ease, border-color .12s ease, color .12s ease, transform .06s ease, box-shadow .12s ease;
}
.mc-day:hover{
  border-color:rgba(37,99,235,.42);
  background:linear-gradient(180deg, rgba(219,234,254,.95), rgba(191,219,254,.85));
  color:#1e3a8a;
  transform:translateY(-1px);
  box-shadow: 0 3px 0 rgba(30,64,175,.10);
}
.mc-day.muted{opacity:.35}
.mc-day.today{box-shadow: 0 0 0 2px rgba(217,119,6,.20), 0 2px 0 rgba(0,0,0,.03)}
.mc-day.sel{
  border-color:rgba(37,99,235,.38);
  background:linear-gradient(180deg, rgba(37,99,235,.14), rgba(37,99,235,.06));
}
.mc-day.muted:hover{
  opacity:.65;
  border-color:rgba(37,99,235,.30);
}
.mc-jump{
  margin-top:8px;
  display:grid;
  grid-template-columns:minmax(24px,1.1fr) repeat(4, minmax(28px,1fr));
  align-items:center;
  gap:4px;
}
.mc-jump-btn{
  appearance:none;
  border:1px solid rgba(60,60,60,.16);
  background:linear-gradient(180deg, #ffffff, #f5f2e8);
  color:rgba(31,41,55,.90);
  width:100%;
  min-width:0;
  padding:5px 4px;
  font-size:11px;
  font-weight:400;
  line-height:1.12;
  letter-spacing:0;
  text-align:center;
  cursor:pointer;
  border-radius:8px;
}
.mc-jump-btn:hover{
  border-color:rgba(37,99,235,.35);
  background:linear-gradient(180deg, #ffffff, #e8eefb);
  color:#1e3a8a;
}
.mc-jump-btn:active{transform:translateY(1px)}
.mc-jump-icon-btn{
  font-size:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.mc-jump-icon-btn svg{
  width:14px;
  height:14px;
  display:block;
}

.icon-filter{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:6px;
}
.icon-filter-btn{
  appearance:none;
  border:1px solid rgba(60,60,60,.16);
  background:linear-gradient(180deg, #ffffff, #f5f2e8);
  color:rgba(31,41,55,.90);
  min-height:36px;
  padding:4px 5px;
  border-radius:8px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
}
.icon-filter-btn:hover{
  border-color:rgba(37,99,235,.35);
  background:linear-gradient(180deg, #ffffff, #e8eefb);
}
.icon-filter-btn.active{
  border-color:rgba(37,99,235,.45);
  background:linear-gradient(180deg, rgba(37,99,235,.20), rgba(37,99,235,.10));
  color:#1e3a8a;
}
.icon-filter-btn .if-ico{
  width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.icon-filter-btn .if-ico svg{
  width:16px;
  height:16px;
  display:block;
}
.icon-filter-btn .if-ico.f-geldi{color:#2563eb}
.icon-filter-btn .if-ico.f-odeme{color:#dc2626}
.icon-filter-btn .if-ico.f-ayrildi{color:#2563eb}
.icon-filter-btn .if-ico.f-randevusuz{color:#64748b}
.icon-filter-btn .if-ico.f-kontrol{color:#dc2626}
.icon-filter-btn .if-ico.f-lab{color:#f97316}
.icon-filter-btn .if-count{
  min-width:18px;
  height:18px;
  border:1px solid rgba(60,60,60,.16);
  background:rgba(255,255,255,.72);
  color:rgba(31,41,55,.86);
  font-size:10px;
  font-weight:900;
  line-height:16px;
  text-align:center;
  border-radius:999px;
  padding:0 4px;
}

.side-menu{
  display:flex;
  flex-direction:column;
  gap:6px;
  max-height:320px;
  overflow:auto;
  padding-right:4px;
}
.menu-item{
  appearance:none;
  width:100%;
  text-align:left;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:1px solid rgba(60,60,60,.14);
  background:linear-gradient(180deg, #ffffff, #f6f2e4);
  border-radius:14px;
  padding:10px 10px;
  cursor:pointer;
  font-weight:1000;
  font-size:13px;
  color:rgba(31,41,55,.88);
}
.menu-item:hover{
  border-color:rgba(37,99,235,.28);
  background:linear-gradient(180deg, #ffffff, #efe9d6);
}
.menu-item.active{
  border-color:rgba(37,99,235,.38);
  background:linear-gradient(180deg, rgba(37,99,235,.14), rgba(37,99,235,.06));
}
.mi-left{display:flex;align-items:center;gap:10px;min-width:0}
.mi-ico{
  width:26px;height:26px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(60,60,60,.14);
  background:rgba(15,23,42,.04);
  color:rgba(31,41,55,.70);
  font-size:12px;
  font-weight:1000;
  flex:0 0 auto;
}
.mi-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mi-hint{color:rgba(31,41,55,.55);font-size:12px;font-weight:900}
.menu-panel{
  margin-top:10px;
  border:1px dashed rgba(60,60,60,.20);
  background:rgba(255,255,255,.70);
  border-radius:14px;
  padding:10px 10px;
  color:rgba(31,41,55,.78);
  font-size:13px;
  max-height:260px;
  overflow:auto;
}
.set-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.set-grid label{display:block;font-size:12px;font-weight:900;color:rgba(31,41,55,.75);margin-bottom:6px}
.set-grid input,.set-grid select{
  width:100%;
  padding:10px 10px;
  border-radius:10px;
  border:1px solid rgba(60,60,60,.18);
  background:#fff;
}
.set-wide{grid-column:1 / -1}
.sched{width:100%;border-collapse:collapse;margin-top:10px}
.sched th,.sched td{border:1px solid rgba(60,60,60,.12);padding:6px 8px;font-size:12px}
.sched th{background:rgba(241,237,220,.9);font-weight:1000}
.sched td:first-child{font-weight:900}

.card{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow: var(--shadow);
  overflow:hidden;
}
.card-hd{
  padding:12px 14px;
  border-bottom:1px solid var(--line2);
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  background:linear-gradient(180deg, #fffdf6, #f6f2e4);
}
.card-title{font-weight:1000}
.card-bd{padding:12px 14px}
.muted{color:var(--muted);font-size:13px}
.pill{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:34px;height:22px;padding:0 10px;
  border-radius:999px;font-size:12px;font-weight:1000;
  background:rgba(15,23,42,.06);
  border:1px solid rgba(148,163,184,.20);
  color:#0f172a;
}

.doctor{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:10px 10px;border-radius:14px;border:1px solid var(--line2);
  background:#fff;
  margin-bottom:10px;
}
.doctor:last-child{margin-bottom:0}
.doc-left{display:flex;align-items:center;gap:10px}
.chip{
  width:10px;height:10px;border-radius:999px;background:var(--accent);
  box-shadow: 0 0 0 4px rgba(14,165,233,.18);
}
.doc-name{font-weight:1000;font-size:13px}
.doc-sub{font-size:12px;color:var(--muted);margin-top:2px}
.toggle{
  appearance:none;width:46px;height:26px;border-radius:999px;
  background:rgba(60,60,60,.18);
  border:1px solid rgba(60,60,60,.28);
  position:relative;cursor:pointer;outline:none;
}
.toggle::after{
  content:""; position:absolute; top:3px; left:3px;
  width:20px; height:20px; border-radius:999px;
  background:#fff; box-shadow:0 8px 18px rgba(2,6,23,.18);
  transition: transform .14s ease, background .14s ease;
}
.toggle:checked{background:rgba(20,184,166,.45);border-color:rgba(20,184,166,.55)}
.toggle:checked::after{transform: translateX(20px); background:#ecfeff}

.legend .lg-row{display:flex;align-items:center;gap:10px;padding:6px 0}
.lg-dot{width:10px;height:10px;border-radius:999px}
.lg-dot.c-normal{background:rgba(14,165,233,.95)}
.lg-dot.c-geldi{background:rgba(34,197,94,.95)}
.lg-dot.c-iptal{background:rgba(239,68,68,.95)}
.lg-dot.c-uyari{background:rgba(245,158,11,.95)}

.board-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:10px;flex-wrap:wrap;
  padding:12px 14px;
  background:linear-gradient(180deg, #f8f6ee, #efe9d6);
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow: var(--shadow2);
}
.board-head{display:none}
.board-head .ttl{color:#1f2937;font-weight:900}
.board-head .sub{color:rgba(31,41,55,.62);font-size:12px}

.mn-panel{
  border:1px solid #d5d0c1;
  background:#fff;
  border-radius:14px;
  overflow:visible;
  position:relative;
  z-index:12;
  box-shadow:0 8px 18px rgba(15,23,42,.08);
}
.mn-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:10px 12px;
  background:linear-gradient(180deg,#f7fbff,#edf5ff);
  border-bottom:1px solid #d8e2f0;
  cursor:pointer;
}
.mn-title{
  display:flex;
  align-items:center;
  gap:7px;
  color:#1e293b;
  font-size:17px;
  font-weight:1000;
}
.mn-ico{font-size:17px;line-height:1;}
.mn-count{
  color:#dc2626;
  font-weight:1000;
}
.mn-tools{
  display:flex;
  align-items:center;
  gap:6px;
}
.mn-tool{
  width:28px;
  height:28px;
  border:1px solid #b9c8dd;
  background:#fff;
  color:#1e3a8a;
  cursor:pointer;
  font-weight:900;
}
.mn-tool:hover{
  background:#eaf2ff;
}
.mn-body{
  padding:0;
  position:absolute;
  left:0;
  right:0;
  top:calc(100% - 1px);
  background:#fff;
  border:1px solid #d5d0c1;
  border-top:0;
  border-radius:0 0 14px 14px;
  box-shadow:0 12px 24px rgba(15,23,42,.14);
  z-index:20;
  max-height:min(54vh, 430px);
  overflow:auto;
  opacity:1;
  transform:translateY(0);
  transition:opacity .2s ease, transform .2s ease;
}
.mn-panel.collapsed .mn-body{
  opacity:0;
  transform:translateY(-10px);
  pointer-events:none;
}
.mn-table{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
}
.mn-table th,
.mn-table td{
  border-bottom:1px solid #e6edf7;
  padding:8px 10px;
  font-size:14px;
}
.mn-table th{
  text-align:left;
  background:#f5f9ff;
  color:#1f2d44;
  font-weight:900;
}
.mn-table th:nth-child(1),
.mn-table td:nth-child(1){
  width:130px;
  white-space:nowrap;
}
.mn-item-row td{
  transition:background-color .12s ease;
}
.mn-item-row:hover td{
  background:#eaf3ff;
}
.mn-patient-cell{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
}
.mn-patient-name{
  display:inline-block;
  min-width:180px;
  font-weight:700;
}
.mn-date-cell{
  font-weight:900;
  color:#1e3a8a;
}
.mn-row-alt-a td{ background:#f8fbff; }
.mn-row-alt-b td{ background:#f9fff7; }
.mn-link-btn{
  border:1px solid #bfd1ec;
  background:#fff;
  color:#1d4ed8;
  padding:4px 8px;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  min-width:48px;
  text-align:center;
  flex:0 0 auto;
}
.mn-link-btn:hover{
  background:#eef5ff;
}
.mn-empty{
  color:#64748b;
}

.grid-wrap{
  flex:1; min-height:0;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  overflow-y:auto;
  overflow-x:hidden;
  box-shadow: var(--shadow);
}

.workspace-page{
  flex:1;
  min-height:0;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:var(--shadow);
  overflow:auto;
}
.ws-shell{
  min-height:100%;
  display:grid;
  grid-template-columns:260px 1fr;
}
.ws-side{
  border-right:1px solid var(--line2);
  background:linear-gradient(180deg, #f8f6ee, #efe9d6);
  padding:16px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.ws-brand{
  display:flex;
  align-items:center;
  gap:10px;
}
.ws-logo{
  width:44px;
  height:44px;
  border:1px solid rgba(60,60,60,.20);
  background:linear-gradient(135deg, #e8dbb5, #f3ecd7);
  font-weight:1000;
  font-size:19px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.ws-brand-name{
  font-size:18px;
  font-weight:1000;
  color:#1f2937;
}
.ws-brand-sub{
  font-size:12px;
  color:rgba(31,41,55,.70);
}
.ws-side-note{
  color:rgba(31,41,55,.78);
  font-size:13px;
}
.ws-back{
  width:100%;
}
.ws-main{
  padding:16px;
  display:flex;
  flex-direction:column;
  gap:12px;
  min-width:0;
}
.ws-tabs{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.ws-tab{
  appearance:none;
  border:1px solid rgba(60,60,60,.18);
  background:linear-gradient(180deg, #fff, #f6f2e4);
  color:rgba(31,41,55,.88);
  font-weight:1000;
  padding:9px 12px;
  cursor:pointer;
}
.ws-tab.active{
  border-color:rgba(37,99,235,.38);
  background:linear-gradient(180deg, rgba(37,99,235,.16), rgba(37,99,235,.08));
  color:#1e3a8a;
}
.ws-panel{
  display:none;
}
.ws-panel.active{
  display:block;
}
.ws-grid2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.ws-log-filters{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(140px, 1fr));
  gap:12px;
}
.ws-log-filters > div{
  min-width:0;
}
.ws-grid-send{
  grid-template-columns:minmax(380px, .95fr) minmax(520px, 1.35fr);
  align-items:start;
}
.ws-grid2 > *{
  min-width:0;
}
.ws-card{
  border:1px solid rgba(60,60,60,.16);
  background:#fff;
  padding:12px;
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:0;
}
.ws-card-hd{
  font-size:18px;
  font-weight:1000;
  color:#1f2937;
}
.ws-card label{
  font-size:12px;
  font-weight:900;
}
.ws-card input,
.ws-card select,
.ws-card textarea{
  width:100%;
}
.ws-actions{
  display:flex;
  justify-content:flex-end;
}
.ws-sched-row{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}
.ws-msg{
  border:1px solid rgba(60,60,60,.16);
  background:#f8f6ee;
  color:#1f2937;
  padding:8px 10px;
  font-weight:800;
}
.ws-msg.ok{
  border-color:rgba(22,163,74,.35);
  background:rgba(22,163,74,.10);
  color:#166534;
}
.ws-msg.err{
  border-color:rgba(220,38,38,.35);
  background:rgba(220,38,38,.10);
  color:#991b1b;
}
.ws-pre{
  border:1px solid rgba(60,60,60,.12);
  background:#fbfaf5;
  font-size:12px;
  line-height:1.4;
  padding:8px;
  max-height:180px;
  overflow-y:auto;
  overflow-x:hidden;
  white-space:pre-wrap;
  word-break:break-word;
  overflow-wrap:anywhere;
}
.ws-conn-row{
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid rgba(60,60,60,.16);
  background:#fbfaf5;
  padding:8px 10px;
}
.ws-conn-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#94a3b8;
}
.ws-conn-dot.ok{ background:#16a34a; }
.ws-conn-dot.bad{ background:#dc2626; }
.ws-conn-dot.unk{ background:#94a3b8; }
.ws-conn-txt{
  font-weight:900;
  color:#1f2937;
  display:flex;
  gap:8px;
  align-items:baseline;
  flex-wrap:wrap;
}
.ws-conn-txt span{
  color:#64748b;
  font-weight:700;
  font-size:12px;
}
.ws-inbox{
  border:1px solid rgba(60,60,60,.16);
  min-height:220px;
  max-height:280px;
  overflow:auto;
}
.ws-inbox-row{
  padding:8px 10px;
  border-bottom:1px solid rgba(60,60,60,.10);
  display:flex;
  flex-direction:column;
  gap:4px;
}
.ws-inbox-row:last-child{
  border-bottom:0;
}
.ws-table{
  width:100%;
  border-collapse:collapse;
}
.ws-table-wrap{
  width:100%;
  max-width:100%;
  overflow:auto;
}
.ws-table th,
.ws-table td{
  border:1px solid rgba(60,60,60,.12);
  padding:7px 8px;
  font-size:12px;
  vertical-align:top;
}
.ws-table th{
  background:#f6f2e4;
  font-weight:1000;
}
.ws-card .ws-table{
  table-layout:fixed;
}
.ws-card .ws-table th:nth-child(1){ width:112px; }
.ws-card .ws-table th:nth-child(2){ width:92px; }
.ws-card .ws-table th:nth-child(3){ width:110px; }
.ws-card .ws-table th:nth-child(4){ width:140px; }
.ws-card .ws-table th:nth-child(5){ width:120px; }
.ws-card .ws-table th:nth-child(6){ width:auto; }
.ws-card .ws-table td{
  word-break:break-word;
  overflow-wrap:anywhere;
}
.ws-row-actions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.ws-var-wrap{
  border:1px dashed rgba(30,64,175,.25);
  background:rgba(37,99,235,.05);
  padding:8px;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.ws-var-title{
  font-size:12px;
  font-weight:900;
  color:#1e3a8a;
}
.ws-var-list{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.ws-var-btn{
  padding:4px 8px !important;
  font-size:11px !important;
}
.ws-bulk-actions{
  justify-content:flex-start;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
}
.ws-bulk-table-wrap{
  max-height:320px;
  overflow:auto;
}
.ws-bulk-table{
  table-layout:auto !important;
}
.ws-bulk-table th,
.ws-bulk-table td{
  white-space:nowrap;
  vertical-align:middle;
}
.ws-card .ws-bulk-table td{
  word-break:normal;
  overflow-wrap:normal;
}
.ws-card .ws-bulk-table th:nth-child(1){width:56px;}
.ws-card .ws-bulk-table th:nth-child(2){width:72px;}
.ws-card .ws-bulk-table th:nth-child(3){width:auto;}
.ws-card .ws-bulk-table th:nth-child(4){width:140px;}
.ws-card .ws-bulk-table th:nth-child(5){width:110px;}
.ws-card .ws-bulk-table th:nth-child(6){width:90px;}
.ws-card .ws-bulk-table th:nth-child(7){width:90px;}
.ws-card .ws-bulk-table th:nth-child(8){width:70px;}
.ws-auto-table{
  table-layout:auto !important;
}
.ws-card .ws-auto-table td{
  word-break:normal;
  overflow-wrap:normal;
}
.ws-card .ws-auto-table th:nth-child(1){width:64px;}
.ws-card .ws-auto-table th:nth-child(2){width:170px;}
.ws-card .ws-auto-table th:nth-child(3){width:180px;}
.ws-card .ws-auto-table th:nth-child(4){width:70px;}
.ws-card .ws-auto-table th:nth-child(5){width:90px;}
.ws-card .ws-auto-table th:nth-child(6){width:80px;}
.ws-card .ws-auto-table th:nth-child(7){width:80px;}
.ws-card .ws-auto-table th:nth-child(8){width:auto;}
.ws-row-actions .btn{
  padding:5px 8px;
  font-size:12px;
}
.btn.danger{
  background:linear-gradient(180deg, #fff, #ffe8e8);
  border-color:rgba(220,38,38,.38);
  color:#991b1b;
}
.btn.danger:hover{
  background:linear-gradient(180deg, #fff, #ffdede);
  border-color:rgba(220,38,38,.48);
}
.ws-kpi{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  border:1px solid rgba(60,60,60,.12);
  background:#faf8ef;
  padding:10px;
}
.ws-kpi b{
  font-size:24px;
  color:#1e3a8a;
}
.ws-kpi span{
  color:rgba(31,41,55,.75);
  font-weight:900;
}

@media (max-width: 980px){
  .ws-shell{
    grid-template-columns:1fr;
  }
  .ws-side{
    border-right:0;
    border-bottom:1px solid var(--line2);
  }
  .ws-grid2{
    grid-template-columns:1fr;
  }
  .ws-grid-send{
    grid-template-columns:1fr;
  }
}

.settings-ws-shell{
  grid-template-columns:1fr;
  grid-template-rows:auto 1fr;
}
.settings-ws-side{
  border-right:0;
  border-bottom:1px solid var(--line2);
  background:
    radial-gradient(420px 180px at -5% -20%, rgba(16,185,129,.14), transparent 70%),
    radial-gradient(460px 220px at 105% -15%, rgba(59,130,246,.14), transparent 70%),
    linear-gradient(180deg, #f7f5ee, #efe8d5);
  padding:10px 14px;
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.settings-ws-topline{
  min-width:0;
  display:flex;
  align-items:center;
  gap:14px;
  flex:1 1 auto;
}
.settings-ws-side .ws-brand{
  min-width:0;
}
.settings-ws-side .ws-brand-name{
  font-size:16px;
}
.settings-ws-side .ws-brand-sub{
  font-size:11px;
}
.settings-ws-side .ws-side-note{
  margin:0;
  font-size:12px;
  color:rgba(31,41,55,.74);
  white-space:normal;
}
.settings-ws-side .ws-back{
  width:auto;
  white-space:nowrap;
  flex:0 0 auto;
}
.settings-ws-main{
  padding:12px 14px 16px;
}
.settings-ws-host{
  width:100%;
  min-width:0;
}
.settings-ws-host .cfg-wrap{
  gap:14px;
}
.settings-ws-host .cfg-tabs{
  gap:10px;
  flex-wrap:wrap;
  overflow-x:hidden;
  overflow-y:visible;
  padding-bottom:0;
  scrollbar-width:auto;
}
.settings-ws-host .cfg-tab{
  flex:0 1 auto;
  max-width:100%;
  border-radius:10px;
  font-size:13px;
  font-weight:900;
  padding:10px 14px;
  white-space:normal;
  line-height:1.25;
}
.settings-ws-host .cfg-panels{
  border-radius:14px;
  overflow:visible;
}
.settings-ws-host .cfg-panel{
  padding:16px;
}
.settings-ws-host .cfg-grid2{
  gap:14px;
}
.settings-ws-host .cfg-card{
  border-radius:12px;
}
.settings-ws-host .cfg-card-hd{
  font-size:13px;
  padding:10px 12px;
}
.settings-ws-host .cfg-inline{
  gap:10px;
  padding:12px;
}
.settings-ws-host .cfg-table-wrap{
  max-height:none;
  overflow-x:auto;
  overflow-y:visible;
}
.settings-ws-host .cfg-daily-task-wrap{
  max-height:none;
  overflow-x:auto;
  overflow-y:visible;
}
.settings-ws-host .cfg-daily-log-wrap{
  max-height:460px;
  overflow:auto;
}
.settings-ws-host .cfg-table th,
.settings-ws-host .cfg-table td{
  padding:9px 10px;
  font-size:13px;
}
.settings-ws-host .cfg-lab2-grid{
  grid-template-columns:1fr;
  gap:14px;
}
.settings-ws-host .cfg-lab2-master-form,
.settings-ws-host .cfg-lab2-company-form,
.settings-ws-host .cfg-lab2-map-bulk{
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
}
.settings-ws-host .cfg-lab2-map-bulk #cfgLab2MapInfo{
  grid-column:1 / -1;
}
.settings-ws-host .cfg-lab-actions{
  gap:8px;
}
.settings-ws-host .cfg-ti-toolbar{
  grid-template-columns:1fr auto auto auto;
}
.settings-ws-host .cfg-ti-wrap{
  overflow-x:auto;
  overflow-y:auto;
}
.settings-ws-host .cfg-ti-table{
  width:100%;
  min-width:0;
  table-layout:fixed;
}
.settings-ws-host .cfg-ti-table th,
.settings-ws-host .cfg-ti-table td{
  overflow:hidden;
}
.settings-ws-host .cfg-ti-table th:nth-child(1),
.settings-ws-host .cfg-ti-table td:nth-child(1){
  width:42px;
  text-align:center;
}
.settings-ws-host .cfg-ti-table th:nth-child(4),
.settings-ws-host .cfg-ti-table td:nth-child(4){
  width:86px;
}
.settings-ws-host .cfg-ti-table th:nth-child(5),
.settings-ws-host .cfg-ti-table td:nth-child(5){
  width:110px;
}
.settings-ws-host .cfg-ti-table th:nth-child(7),
.settings-ws-host .cfg-ti-table td:nth-child(7){
  width:104px;
}
.settings-ws-host .cfg-ti-table th:nth-child(9),
.settings-ws-host .cfg-ti-table td:nth-child(9){
  width:72px;
}
.settings-ws-host .cfg-ti-table td input[type="text"],
.settings-ws-host .cfg-ti-table td input[type="number"],
.settings-ws-host .cfg-ti-table td select{
  width:100%;
  min-width:0;
  box-sizing:border-box;
}
.settings-ws-host .cfg-ti-options{
  min-width:0;
  gap:4px 6px;
}
.settings-ws-host .cfg-ti-actions{
  text-align:center;
}
@media (max-width: 980px){
  .settings-ws-shell{
    grid-template-columns:1fr;
  }
  .settings-ws-side{
    flex-direction:column;
    align-items:flex-start;
  }
  .settings-ws-topline{
    width:100%;
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
  }
  .settings-ws-side .ws-back{
    width:100%;
  }
  .settings-ws-main{
    padding:12px;
  }
  .settings-ws-host .cfg-panel{
    padding:12px;
  }
  .settings-ws-host .cfg-tab{
    font-size:12px;
    padding:8px 11px;
  }
}

.grid{
  min-width: 0;
  width: 100%;
  display:grid;
  position:relative; /* needed for current-time indicator */
  grid-template-columns: var(--grid-time-w);
  grid-template-rows: var(--grid-hdr-h);
  gap:0;
}

.now-line{
  position:absolute;
  left:var(--grid-time-w);
  right:0;
  height:1px;
  background: rgba(220,38,38,.55);
  z-index:8; /* above slots+appts, below sticky header */
  pointer-events:none;
  box-shadow: 0 1px 0 rgba(220,38,38,.08);
}
.now-line::before{
  content:"";
  position:absolute;
  left:-4px;
  top:-3px;
  width:6px;
  height:6px;
  background: rgba(220,38,38,.75);
  border:1px solid rgba(255,255,255,.85);
}

.headcell{
  position:sticky; top:0; z-index:10;
  background: var(--doc-head, linear-gradient(180deg, #fbfaf6, #f1eddc));
  border-bottom:1px solid var(--line);
  padding:var(--grid-head-pad);
  font-weight:1000;
  font-size:var(--grid-head-font);
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.doc-head-name{
  display:block;
  max-width:100%;
  font-size:calc(var(--grid-head-font) + 1px);
  font-weight:800;
  text-transform:none;
  line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.doc-head-recall{
  display:none;
  margin-left:8px;
  align-items:center;
  gap:5px;
  padding:2px 6px;
  border-radius:999px;
  border:1px solid rgba(37,99,235,.28);
  background:rgba(219,234,254,.85);
  color:#1d4ed8;
  font-size:11px;
  line-height:1;
  font-weight:900;
  flex-shrink:0;
}
.doc-head-recall-count{
  display:inline-block;
  min-width:12px;
}
.doc-head-recall-bell{
  width:18px;
  height:18px;
  border:1px solid rgba(30,64,175,.28);
  border-radius:999px;
  background:rgba(239,246,255,.95);
  color:#1d4ed8;
  font-size:11px;
  line-height:1;
  padding:0;
  cursor:pointer;
  font-weight:900;
}
.doc-head-recall-bell:hover{
  background:rgba(219,234,254,1);
}
.headcell.headcell-empty{
  color:rgba(31,41,55,.55);
  font-weight:800;
}
.headcell.wa-corner{
  justify-content:center;
}
.wa-corner-btn{
  width:32px;
  height:32px;
  border:1px solid rgba(60,60,60,.28);
  border-radius:10px;
  font-weight:1000;
  font-size:11px;
  line-height:1;
  cursor:pointer;
  background:#f8fafc;
  color:#334155;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
}
.wa-corner-btn svg{
  width:20px;
  height:20px;
  display:block;
}
.wa-corner-btn.ok{
  background:#dcfce7;
  color:#166534;
  border-color:#86efac;
}
.wa-corner-btn.bad{
  background:#fee2e2;
  color:#991b1b;
  border-color:#fca5a5;
}
.wa-corner-btn.unk{
  background:#e2e8f0;
  color:#334155;
  border-color:#cbd5e1;
}
.timecell{
  padding:var(--grid-time-pad);
  border-bottom:1px solid var(--line2);
  color:var(--muted);
  font-size:var(--grid-time-font);
  line-height:1.1;
  text-align:right;
  font-variant-numeric: tabular-nums;
  background:linear-gradient(180deg, #fffdf6, #fbfaf6);
  user-select:none;
  -webkit-user-select:none;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  padding-top:0;
  padding-bottom:0;
  white-space:nowrap;
}
.timecell.major{
  border-bottom-color: rgba(148,163,184,.28);
  font-weight:1000;
  font-size:var(--grid-time-font-major);
  color:rgba(31,41,55,.70);
}
.timecell.timecell-close{
  border-top:1px solid rgba(148,163,184,.28);
  border-bottom:0;
  align-items:flex-start;
  padding-top:2px;
  background:linear-gradient(180deg, #fffdf6, #f7f4e9);
}
.timecell.row-hover{
  background:linear-gradient(180deg, rgba(37,99,235,.20), rgba(37,99,235,.10));
  color:rgba(30,64,175,.96);
  font-weight:1000;
}
.slot{
  height:var(--grid-slot-h);
  border-bottom:1px solid var(--line2);
  border-left:1px solid var(--line2);
  position:relative;
  user-select:none;
  z-index:1;
  background: var(--doc-wash, transparent);
}
.slot.slot-empty{
  background:linear-gradient(180deg, #faf8f2, #f6f2e5);
  border-left:1px dashed rgba(100,116,139,.22);
}
.slot.major{border-bottom-color: rgba(148,163,184,.22)}
.slot:hover{background:rgba(37,99,235,.06)}
.slot.row-hover{background:rgba(37,99,235,.07)}
.slot.sel{background:rgba(37,99,235,.10)}
.slot.sel.edge{box-shadow: inset 0 0 0 2px rgba(37,99,235,.30)}
.slot.closed{
  background:
    repeating-linear-gradient(
      135deg,
      rgba(148,163,184,.22) 0 8px,
      rgba(148,163,184,.10) 8px 16px
    ),
    linear-gradient(180deg, rgba(241,245,249,.88), rgba(226,232,240,.88));
  cursor:not-allowed;
}
.slot.closed:hover,
.slot.closed.row-hover,
.slot.closed.sel{
  background:
    repeating-linear-gradient(
      135deg,
      rgba(148,163,184,.26) 0 8px,
      rgba(148,163,184,.12) 8px 16px
    ),
    linear-gradient(180deg, rgba(241,245,249,.92), rgba(226,232,240,.92));
}
.slot.closed.sel.edge{
  box-shadow: inset 0 0 0 2px rgba(100,116,139,.24);
}
.slot.drop{
  background:rgba(37,99,235,.05);
}
.slot.drop.bad{
  background:rgba(220,38,38,.04);
}
.slot.drop::after{
  content:"";
  position:absolute;
  inset:3px;
  border-radius:10px;
  background: linear-gradient(180deg, rgba(37,99,235,.10), rgba(37,99,235,.05));
  box-shadow:
    0 8px 18px rgba(37,99,235,.10),
    inset 0 0 0 1px rgba(37,99,235,.22);
  pointer-events:none;
}
.slot.drop.bad::after{
  background: linear-gradient(180deg, rgba(220,38,38,.10), rgba(220,38,38,.04));
  box-shadow:
    0 8px 18px rgba(220,38,38,.10),
    inset 0 0 0 1px rgba(220,38,38,.22);
}

.grid-empty-state{
  position:relative;
  z-index:7;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px;
  pointer-events:none;
}
.grid-empty-card{
  width:min(640px, 92%);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,243,232,.98));
  border:1px solid rgba(37,99,235,.24);
  box-shadow:0 10px 24px rgba(15,23,42,.08);
  border-radius:14px;
  padding:18px 20px;
  text-align:center;
}
.grid-empty-icon{
  width:34px;
  height:34px;
  margin:0 auto 8px auto;
  color:#1d4ed8;
}
.grid-empty-icon svg{
  width:34px;
  height:34px;
  display:block;
}
.grid-empty-title{
  font-size:18px;
  font-weight:900;
  color:#0f172a;
  margin-bottom:6px;
}
.grid-empty-text{
  font-size:13px;
  line-height:1.45;
  color:rgba(15,23,42,.72);
}

.grid-ctx-menu{
  position:fixed;
  z-index:120;
  width:220px;
  border:1px solid rgba(60,60,60,.22);
  background:#fff;
  box-shadow:0 14px 28px rgba(0,0,0,.18);
  padding:4px;
  user-select:none;
}
.grid-ctx-menu .ctx-head{
  font-size:11px;
  color:rgba(31,41,55,.70);
  padding:6px 8px;
  border-bottom:1px solid rgba(60,60,60,.10);
  margin-bottom:4px;
  line-height:1.25;
}
.grid-ctx-menu .ctx-head.ctx-head-slot{
  font-size:14px;
  font-weight:900;
  color:#0f172a;
  letter-spacing:.01em;
  background:linear-gradient(180deg, #fff, #f8fbff);
}
.grid-ctx-menu .ctx-sep{
  height:1px;
  margin:4px 0;
  background:rgba(60,60,60,.10);
}
.grid-ctx-menu .ctx-item{
  position:relative;
  width:100%;
  border:0;
  background:#fff;
  color:#0f172a;
  padding:7px 8px;
  text-align:left;
  font-size:12px;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  cursor:pointer;
}
.grid-ctx-menu .ctx-item:hover{
  background:#f6f2e4;
}
.grid-ctx-menu .ctx-item .arr{
  color:rgba(71,85,105,.72);
}
.grid-ctx-menu .ctx-item .dot{
  width:8px;
  height:8px;
  border-radius:999px;
  display:inline-block;
  margin-right:6px;
  flex:0 0 auto;
}
.grid-ctx-menu .ctx-item .dot.blue{background:#2563eb}
.grid-ctx-menu .ctx-item .dot.green{background:#16a34a}
.grid-ctx-menu .ctx-item .dot.orange{background:#ea580c}
.grid-ctx-menu .ctx-item .dot.teal{background:#0f766e}
.grid-ctx-menu .ctx-item.is-disabled,
.grid-ctx-menu .ctx-item:disabled{
  opacity:.45;
  cursor:not-allowed;
  pointer-events:none;
}
.grid-ctx-menu .ctx-item.has-sub{
  padding-right:10px;
}
.grid-ctx-menu .ctx-sub{
  display:none;
  position:absolute;
  left:calc(100% - 2px);
  top:-4px;
  width:170px;
  border:1px solid rgba(60,60,60,.22);
  background:#fff;
  box-shadow:0 14px 28px rgba(0,0,0,.16);
  padding:4px;
}
.grid-ctx-menu .ctx-item.has-sub:hover > .ctx-sub{
  display:block;
}

.recall-quick-bg{
  position:fixed;
  inset:0;
  z-index:180;
  background:rgba(15,23,42,.42);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
}
.rq-pop{
  width:min(560px, calc(100vw - 28px));
  max-height:calc(100vh - 30px);
  overflow:auto;
  border:1px solid rgba(71,85,105,.35);
  background:#f8fafc;
  box-shadow:0 22px 42px rgba(0,0,0,.28);
}
.rq-hd{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 12px;
  border-bottom:1px solid rgba(71,85,105,.18);
  font-weight:900;
}
.rq-accent-teal .rq-hd{background:linear-gradient(180deg, #ecfeff, #dff7f8); color:#0f766e;}
.rq-accent-blue .rq-hd{background:linear-gradient(180deg, #eff6ff, #dfeeff); color:#1d4ed8;}
.rq-accent-orange .rq-hd{background:linear-gradient(180deg, #fff7ed, #ffecd8); color:#c2410c;}
.rq-title{font-size:20px; letter-spacing:.01em;}
.rq-x{
  border:1px solid rgba(71,85,105,.35);
  width:34px;
  height:34px;
  background:#fff;
  font-size:24px;
  line-height:1;
  color:#1e293b;
  cursor:pointer;
}
.rq-body{padding:12px; display:flex; flex-direction:column; gap:9px;}
.rq-chip{
  border:1px solid rgba(59,130,246,.25);
  background:#eff6ff;
  color:#1e3a8a;
  padding:6px 9px;
  font-size:12px;
  font-weight:700;
}
.rq-row-grid{
  display:grid;
  grid-template-columns:1fr 170px;
  gap:9px;
}
.rq-row{display:flex; flex-direction:column; gap:4px;}
.rq-row > label{
  font-size:12px;
  font-weight:800;
  color:#334155;
}
.rq-row input,
.rq-row select,
.rq-row textarea{
  width:100%;
  border:1px solid rgba(100,116,139,.35);
  background:#fff;
  color:#0f172a;
  padding:8px 9px;
  font-size:14px;
}
.rq-shortcuts{
  display:flex;
  align-items:center;
  gap:6px;
}
.rq-shortcuts-time{
  margin-top:-2px;
}
.rq-short{
  border:1px solid rgba(14,116,144,.35);
  background:#ecfeff;
  color:#155e75;
  padding:6px 10px;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.rq-help{
  border:1px dashed rgba(100,116,139,.4);
  background:#f8fafc;
  color:#475569;
  padding:8px 9px;
  font-size:12px;
  font-weight:700;
}
.rq-ft{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  padding:10px 12px;
  border-top:1px solid rgba(71,85,105,.18);
}
.rq-btn{
  min-width:112px;
  border:1px solid rgba(100,116,139,.38);
  background:#fff;
  color:#0f172a;
  padding:9px 14px;
  font-size:15px;
  font-weight:800;
  cursor:pointer;
}
.rq-btn.primary{
  border-color:rgba(37,99,235,.5);
  background:#1d4ed8;
  color:#fff;
}
.rq-btn.ghost{
  background:#f8fafc;
}
@media (max-width:680px){
  .rq-pop{width:calc(100vw - 16px)}
  .rq-title{font-size:18px}
  .rq-row-grid{grid-template-columns:1fr}
  .rq-shortcuts{flex-wrap:wrap}
}

.doc-layer{
  position:relative;
  z-index:6;
  pointer-events:none; /* allow slot selection through empty space */
}

.appt{
  position:absolute;
  color: var(--appt-ink, #111827);
  --lane:0;
  --lanes:1;
  --side:6px;
  --gap:4px;
  left: calc(
    var(--side) + (
      ( (100% - (2 * var(--side)) - ((var(--lanes) - 1) * var(--gap))) / var(--lanes) + var(--gap) ) * var(--lane)
    )
  );
  width: calc((100% - (2 * var(--side)) - ((var(--lanes) - 1) * var(--gap))) / var(--lanes));
  border-radius:12px;
  border:1px solid rgba(31,41,55,.18);
  border-left-width:8px;
  padding:7px 8px 28px 8px; /* reserve bottom space for horizontal resize grip */
  overflow:hidden;
  display:flex;flex-direction:column;gap:4px;
  cursor:pointer;
  z-index:6;
  box-shadow: 0 8px 18px rgba(0,0,0,.08);
  user-select:none;
  touch-action:none;
  pointer-events:auto;
}
.appt .rsz{
  position:absolute;
  left:8px;
  right:8px;
  bottom:2px;
  height:14px;
  border-radius:999px;
  cursor: ns-resize !important;
  opacity:.72;
  background: linear-gradient(180deg, rgba(31,41,55,.12), rgba(31,41,55,.05));
  box-shadow: inset 0 0 0 1px rgba(31,41,55,.15);
  display:flex;
  align-items:center;
  justify-content:center;
}
.appt .rsz::before{
  content:"";
  width:28px;
  height:6px;
  border-top:1px solid rgba(31,41,55,.44);
  border-bottom:1px solid rgba(31,41,55,.44);
  opacity:.9;
}
.appt:hover .rsz{opacity:.9}
.appt .rsz:hover{
  opacity:1;
  background: linear-gradient(180deg, rgba(31,41,55,.18), rgba(31,41,55,.08));
  box-shadow: inset 0 0 0 1px rgba(31,41,55,.24);
}
.appt.ghost .rsz{display:none}
.appt.drag-origin{
  opacity:.35;
  filter:saturate(.75);
  pointer-events:none; /* allow elementFromPoint to hit slots underneath */
}
.appt.ghost{
  position:fixed;
  margin:0;
  pointer-events:none;
  z-index:999;
  box-shadow: 0 18px 40px rgba(0,0,0,.16);
  transform:none;
}
.appt.ghost.bad{
  outline:2px solid rgba(220,38,38,.55);
  box-shadow: 0 18px 40px rgba(220,38,38,.12);
}
.p-row{display:flex;align-items:flex-start;gap:4px;min-width:0}
.p-row .appt-badges{flex:0 0 auto}
.appt .p{
  font-weight:400;font-size:var(--appt-name-font);line-height:1.25;
  padding-bottom:1px;
  flex:1;min-width:0;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.appt .p .p-note-inline{
  opacity:.62;
  font-weight:500;
  font-size:.95em;
}
.appt .m{font-weight:400;font-size:var(--appt-note-font);color:currentColor;opacity:.88;line-height:1.1}
.appt .m.m-shift{
  position:absolute;
  left:calc(6px + 6px + 4px);
  right:8px;
  top:var(--note-top, calc(5px + (var(--note-lines, 1) * 1.22em)));
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  pointer-events:none;
}
.appt.normal{background:#fff1a8;border-color:#f0d35f}
.appt.geldi{background:#c8f7d7;border-color:#4ade80}
.appt.iptal{background:#f4f4f5;border-color:#f87171}
.appt.uyari{background:#cfe9ff;border-color:#60a5fa}
.appt.appt-closed{
  pointer-events:none;
  cursor:default;
  z-index:4;
  background:linear-gradient(180deg, rgba(100,116,139,.30), rgba(100,116,139,.22));
  border-color:rgba(71,85,105,.45);
  color:#0f172a;
  box-shadow:none;
}
.appt.appt-closed .p{
  font-weight:900;
  font-size:12px;
}
.appt.appt-closed .m{
  font-size:11px;
  font-weight:700;
  opacity:.9;
}
.appt.appt-closed.short .m,
.appt.appt-closed.tiny .m{
  display:none;
}
.appt.appt-closed.tiny .p{
  font-size:10px;
}

.appt-hover-card{
  position:fixed;
  left:0;
  top:0;
  width:min(290px, 34vw);
  min-width:220px;
  border:1px solid rgba(15,23,42,.20);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96));
  box-shadow:0 18px 40px rgba(2,6,23,.18);
  backdrop-filter:blur(4px);
  z-index:90;
  pointer-events:none;
  opacity:0;
  transform:translate3d(-9999px,-9999px,0);
  transition:opacity .12s ease;
}
.appt-hover-card.show{
  opacity:1;
}
.appt-hover-card .ah-head{
  padding:8px 10px 7px;
  border-bottom:1px solid rgba(148,163,184,.34);
  color:#1e293b;
  font-size:12px;
  font-weight:900;
  letter-spacing:.01em;
  background:linear-gradient(180deg, rgba(226,232,240,.36), rgba(255,255,255,.12));
}
.appt-hover-card .ah-body{
  display:flex;
  flex-direction:column;
}
.appt-hover-card .ah-row{
  display:grid;
  grid-template-columns:18px 40px 1fr;
  align-items:center;
  gap:6px;
  padding:6px 8px;
  border-bottom:1px solid rgba(148,163,184,.24);
}
.appt-hover-card .ah-row:last-child{
  border-bottom:0;
}
.appt-hover-card .ah-ico{
  width:16px;
  height:16px;
  color:#334155;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.appt-hover-card .ah-ico svg{
  width:16px;
  height:16px;
  display:block;
}
.appt-hover-card .ah-key{
  color:#475569;
  font-size:10px;
  font-weight:800;
}
.appt-hover-card .ah-val{
  color:#0f172a;
  font-size:11px;
  font-weight:800;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
@media(max-width:980px){
  .appt-hover-card{
    width:min(280px, 72vw);
    min-width:0;
  }
}

.modal-bg{
  position:fixed; inset:0; z-index:50;
  display:none; align-items:center; justify-content:center;
  background:rgba(2,6,23,.62);
  padding:16px;
}
.modal-bg.open{display:flex}

.embed-bg{
  position:fixed;
  inset:0;
  z-index:70;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(2,6,23,.64);
  padding:14px;
}
.embed-bg.open{display:flex}
.embed-wrap{
  width:min(1280px,98vw);
  height:min(860px,96vh);
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:0 24px 72px rgba(0,0,0,.42);
  overflow:hidden;
}
.embed-frame{
  width:100%;
  height:100%;
  border:0;
  display:block;
  background:#fff;
}
.modal{
  width:min(760px, 96vw);
  max-height:min(900px, 96vh);
  background:rgba(255,255,255,.96);
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:0 30px 90px rgba(0,0,0,.40);
  overflow:hidden;
  display:flex; flex-direction:column;
}
.modal-hd{
  padding:12px 14px;
  background:linear-gradient(180deg, #fffdf6, #f1eddc);
  color:var(--ink);
  border-bottom:1px solid var(--line2);
  display:flex; align-items:center; justify-content:space-between; gap:10px;
}
.modal-title{font-weight:1000}
.x{
  width:36px;height:36px;border-radius:12px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--ink);
  cursor:pointer;
  font-weight:1000;
}
.modal-bd{padding:12px 14px;overflow:visible}
.modal-ft{
  padding:12px 14px;
  border-top:1px solid var(--line2);
  display:flex; align-items:center; gap:10px;
  background:linear-gradient(180deg, #fffdf6, #f6f2e4);
}
.modal-bd{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
}
.spacer{flex:1}

.modal-split{display:grid;grid-template-columns: 1fr 240px;gap:12px}
@media(max-width:820px){.modal-split{grid-template-columns:1fr}}
.modal-main{min-width:0}
.modal-side{
  border:1px solid rgba(60,60,60,.14);
  border-radius:0;
  background:rgba(255,255,255,.70);
  padding:10px 10px;
  display:flex;
  flex-direction:column;
}
.side-ttl{font-weight:1000;margin-bottom:8px}
.side-ttl.mt12{margin-top:12px}
.side-ttl.centered{text-align:center}
.side-select{width:100%}
.side-btn{width:100%}
.modal-side .side-btn:disabled,
.modal-side .appt-files-btn:disabled,
.modal-side .side-btn.is-blocked,
.modal-side .appt-files-btn.is-blocked{
  position:relative;
  color:#7b808a;
  border-color:rgba(60,60,60,.22);
  background:linear-gradient(180deg, #f7f7f7, #ececec);
  text-decoration:line-through;
  text-decoration-thickness:2px;
  text-decoration-color:#991b1b;
  opacity:.95;
}
.modal-side .side-btn:disabled::after,
.modal-side .appt-files-btn:disabled::after,
.modal-side .side-btn.is-blocked::after,
.modal-side .appt-files-btn.is-blocked::after{
  content:"";
  position:absolute;
  left:8px;
  right:8px;
  top:50%;
  border-top:2px solid #991b1b;
  transform:translateY(-50%);
  pointer-events:none;
}
.modal-ft #btnSave:disabled,
.modal-ft #btnSave.is-blocked{
  position:relative;
  color:#7b808a;
  border-color:rgba(60,60,60,.22);
  background:linear-gradient(180deg, #f7f7f7, #ececec);
  text-decoration:line-through;
  text-decoration-thickness:2px;
  text-decoration-color:#991b1b;
}
.copy-marker{
  order:999;
  margin-top:auto;
  margin-bottom:0;
  padding:0;
  border:0;
  background:transparent;
  color:#5b6477;
  font-size:12px;
  font-weight:400;
  line-height:1.35;
  width:100%;
  text-align:right;
}
.side-btn.centered{
  max-width:180px;
  margin:0 auto;
}
.file-actions{
  margin-top:8px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
}
.appt-files-btn{
  gap:8px;
  min-height:34px;
}
.af-btn-ico{
  width:16px;
  height:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.af-btn-ico svg{
  width:14px;
  height:14px;
  display:block;
}
.af-btn-badge{
  min-width:18px;
  height:18px;
  padding:0 6px;
  border-radius:999px;
  background:#1d4ed8;
  color:#ffffff;
  font-size:11px;
  font-weight:900;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}
.appt-files-btn.has-files{
  border-color:rgba(37,99,235,.45);
  background:linear-gradient(180deg, rgba(219,234,254,.90), rgba(239,246,255,.86));
}
.af-side-state{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  color:#1e3a8a;
  font-size:12px;
  font-weight:800;
}
.af-side-state svg{
  width:13px;
  height:13px;
  display:block;
}
.make-patient{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}
.make-patient-xl{
  min-height:132px;
  padding:20px 14px;
  font-size:30px;
  font-weight:1000;
  line-height:1.1;
  flex-direction:column;
  gap:14px;
}
.mp-ico{
  width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(22,163,74,.28);
  background:rgba(22,163,74,.10);
  color:#166534;
  font-weight:1000;
  line-height:1;
}
.mp-ico svg{
  width:14px;
  height:14px;
  display:block;
}
.make-patient-xl .mp-ico{
  width:54px;
  height:54px;
  border-width:2px;
}
.make-patient-xl .mp-ico svg{
  width:36px;
  height:36px;
}
.call-status-head{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:flex-start;
  gap:6px;
  white-space:normal;
}
.call-status-line{
  display:block;
  min-width:0;
  white-space:normal;
  line-height:1.2;
  overflow-wrap:anywhere;
}
.call-actions{
  margin-top:8px;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.call-lock-hint{
  font-size:12px;
  line-height:1.25;
  font-weight:700;
  color:#b91c1c;
  background:rgba(254,226,226,.55);
  border:1px solid rgba(220,38,38,.24);
  padding:6px 8px;
}
#boxMakePatient{margin-top:12px}
.patient-quick-links{
  margin-top:10px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.patient-link-btn{
  min-height:42px;
  padding:6px 8px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.patient-link-btn .pl-ico{
  width:30px;
  height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  background:transparent;
  color:#1d4ed8;
}
.patient-link-btn .pl-ico svg{
  width:22px;
  height:22px;
  display:block;
  filter: drop-shadow(0 1px 0 rgba(0,0,0,.08));
}
.patient-link-btn-identity .pl-ico{
  color:#15803d;
}
.patient-link-btn-treatment .pl-ico{
  color:#1d4ed8;
}
.patient-link-btn:disabled{
  opacity:.45;
  cursor:not-allowed;
}
.modal-side .side-err{
  margin-top:auto;
  margin-bottom:0;
}
.flow-actions{
  margin-top:auto;
  padding-top:10px;
  display:flex;
  justify-content:flex-end;
}
.flow-btn{
  width:auto;
  min-width:112px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:7px 10px;
  border-color:rgba(30,64,175,.35);
  background:rgba(219,234,254,.30);
  color:#1e40af;
}
.flow-btn:hover{
  background:rgba(219,234,254,.48);
}
.flow-ico{
  width:16px;
  height:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.flow-ico svg{
  width:16px;
  height:16px;
  display:block;
}
.call-status-text{
  color:#dc2626;
  font-weight:1000;
  white-space:normal;
}
.call-ico{
  width:18px;height:18px;
  display:inline-flex;align-items:center;justify-content:center;
  color:rgba(31,41,55,.55);
  flex:0 0 auto;
  margin-top:1px;
}
.call-ico svg{width:18px;height:18px;display:block}
.phone-row{
  display:grid;
  grid-template-columns:66px minmax(160px,1fr);
  gap:8px;
}
.phone-row input,
.phone-row select{
  width:100%;
}
#fPhoneNo{
  min-width:160px;
}
.modal .is-disabled{
  opacity:.45;
  pointer-events:none;
  filter:saturate(.75);
}
.modal input,
.modal select,
.modal textarea{
  border-radius:0 !important;
}
.modal input:disabled,
.modal select:disabled,
.modal textarea:disabled{
  background:#f3f4f6;
  color:#6b7280;
  cursor:not-allowed;
}

/* Small popup dialogs (classic, compact) */
.pop-bg{
  position:fixed;
  inset:0;
  z-index:90;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(2,6,23,.55);
  padding:12px;
}
.pop{
  width:min(560px, 96vw);
  max-height:min(520px, 92vh);
  background:#fff;
  border:1px solid rgba(60,60,60,.18);
  box-shadow: 0 20px 60px rgba(0,0,0,.28);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.pop.clinic-pop{
  width:min(980px, 96vw);
}
.pop-hd{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:8px 10px;
  background:#f1eddc;
  border-bottom:1px solid rgba(60,60,60,.14);
}
.pop-ttl{font-weight:1000}
.pop-bd{padding:10px;overflow:auto}
.pop-ft{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  background:#f6f2e4;
  border-top:1px solid rgba(60,60,60,.12);
}
.pop-bd textarea{
  width:100%;
  min-height:90px;
  resize:vertical;
}
.pop-inline-msg{
  padding:8px 10px;
  border:1px solid rgba(239,68,68,.30);
  background:rgba(239,68,68,.10);
  color:#991b1b;
  font-size:12px;
  font-weight:800;
}
.pop-inline-msg.ok{
  border-color:rgba(34,197,94,.35);
  background:rgba(34,197,94,.12);
  color:#14532d;
}
.pop-inline-msg.err{
  border-color:rgba(239,68,68,.30);
  background:rgba(239,68,68,.10);
  color:#991b1b;
}
.pop.paste-note-pop{
  width:min(760px, 96vw);
}
.pop.paste-note-pop .pop-bd{
  overflow-x:hidden;
}
.paste-note-wrap{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}
.paste-note-question{
  font-size:18px;
  font-weight:900;
  color:#1f2937;
  line-height:1.35;
}
.paste-note-question-top{
  display:flex;
  align-items:flex-start;
  gap:10px;
}
.paste-q-icon{
  width:22px;
  height:22px;
  color:#1d4ed8;
  flex:0 0 auto;
  margin-top:1px;
}
.paste-q-icon svg{
  width:22px;
  height:22px;
  display:block;
}
.paste-note-source{
  color:#7c3aed;
  font-weight:800;
}
.paste-note-source-card{
  display:grid;
  gap:4px;
  padding:9px 10px;
  border:1px solid rgba(59,130,246,.22);
  background:rgba(219,234,254,.32);
}
.paste-note-source-label{
  font-size:11px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#1e40af;
}
.paste-note-source-text{
  font-size:14px;
  font-weight:800;
  color:#1f2937;
  line-height:1.3;
}
.paste-note-choice{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:15px;
  font-weight:800;
  color:#374151;
  margin:0;
}
.paste-note-choice--radio{
  border:1px solid rgba(60,60,60,.18);
  background:#fff;
  padding:9px 10px;
  cursor:pointer;
  transition:background .12s ease, border-color .12s ease, box-shadow .12s ease;
}
.paste-note-choice--radio:hover{
  background:#f9fafb;
}
.paste-note-choice--radio.is-selected{
  border-color:rgba(37,99,235,.42);
  background:rgba(219,234,254,.35);
  box-shadow:inset 0 0 0 1px rgba(37,99,235,.24);
}
.paste-note-choice input{
  width:18px;
  height:18px;
  margin:0;
}
.paste-note-choice--radio .paste-choice-ico{
  width:24px;
  height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(37,99,235,.32);
  background:rgba(37,99,235,.12);
  color:#1d4ed8;
  font-size:13px;
  font-weight:900;
  flex:0 0 auto;
}
.paste-note-choice--radio .paste-choice-txt{
  min-width:0;
}
.paste-note-new-wrap{
  margin-top:2px;
}
.paste-note-new-wrap textarea{
  width:100%;
  border:1px solid rgba(59,130,246,.32);
  min-height:96px;
  background:#fff;
}
.pop.move-confirm{
  width:min(820px, 96vw);
}
.pop.odaya-select{
  width:min(520px, 94vw);
}
.pop.settings-pop{
  width:min(1180px, 96vw);
}
.pop.hekim-self-pop{
  width:min(1180px, 96vw);
  max-height:min(760px, 94vh);
}
.pop.flow-history{
  width:min(980px, 96vw);
  max-height:min(640px, 92vh);
}
.pop.appt-file-pop{
  width:min(980px, 96vw);
  max-height:min(640px, 92vh);
}
.pop.doctor-recall-pop{
  width:min(860px, 96vw);
  max-height:min(620px, 92vh);
}
.pop.login-pop{
  width:min(560px, 95vw);
  max-height:min(640px, 92vh);
}
.pop.login-pop .pop-hd{
  background:linear-gradient(180deg, #eef2ff, #e0e7ff);
  border-bottom:1px solid rgba(37,99,235,.24);
}
.pop.login-pop .pop-bd{
  padding:0;
  overflow:hidden;
}
.pop.login-pop .pop-ft{
  background:linear-gradient(180deg, #f8fafc, #f1f5f9);
}
.pop.management-center-pop{
  width:min(1180px, 98vw);
  max-height:min(92vh, 900px);
}
.pop.management-center-pop .pop-bd{
  overflow:hidden;
}
.management-center{
  display:flex;
  flex-direction:column;
  min-height:0;
  min-width:0;
  gap:8px;
}
.management-center-tabs{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  padding-bottom:8px;
  border-bottom:1px solid rgba(60,60,60,.16);
}
.management-center-tab{
  height:30px;
  padding:0 11px;
  border:1px solid rgba(60,60,60,.2);
  background:rgba(243,244,246,.9);
  color:#111827;
  font-size:12px;
  font-weight:900;
}
.management-center-tab:hover{
  background:rgba(226,232,240,.95);
}
.management-center-tab.is-active{
  border-color:#2563eb;
  background:#dbeafe;
  color:#1d4ed8;
}
.management-center-panel{
  display:none;
  min-height:0;
  min-width:0;
}
.management-center-panel.is-active{
  display:block;
}
.management-center-frame{
  width:100%;
  min-height:64vh;
  height:min(70vh, 700px);
  border:1px solid rgba(60,60,60,.2);
  background:#fff;
}
.management-center-placeholder{
  min-height:64vh;
  height:min(70vh, 700px);
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border:1px dashed rgba(100,116,139,.35);
  color:#6b7280;
  font-size:13px;
  font-weight:800;
}
.doctor-recall-wrap{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}
.doctor-recall-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 10px;
  border:1px solid rgba(180,83,9,.22);
  background:rgba(255,247,237,.78);
}
.doctor-recall-head-title{
  font-size:14px;
  font-weight:900;
  color:#7c2d12;
}
.doctor-recall-head-sub{
  font-size:12px;
  font-weight:700;
  color:#475569;
}
.doctor-recall-list{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}
.doctor-recall-item{
  border:1px solid rgba(191,219,254,.55);
  background:rgba(248,250,252,.92);
  padding:9px 10px;
  display:grid;
  gap:7px;
}
.doctor-recall-item-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.doctor-recall-patient{
  font-weight:900;
  color:#0f172a;
  font-size:14px;
}
.doctor-recall-plan{
  font-size:12px;
  font-weight:900;
  color:#1e3a8a;
  white-space:nowrap;
}
.doctor-recall-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
}
.doctor-recall-chip{
  border:1px solid rgba(100,116,139,.32);
  background:rgba(241,245,249,.9);
  color:#334155;
  padding:2px 8px;
  font-size:11px;
  font-weight:900;
  line-height:1.2;
}
.doctor-recall-chip.cat-recall{border-color:rgba(13,148,136,.34);background:rgba(204,251,241,.74);color:#0f766e}
.doctor-recall-chip.cat-kontrol{border-color:rgba(37,99,235,.34);background:rgba(219,234,254,.74);color:#1d4ed8}
.doctor-recall-chip.cat-arama{border-color:rgba(180,83,9,.32);background:rgba(255,237,213,.84);color:#b45309}
.doctor-recall-chip.st-bekliyor{border-color:rgba(217,119,6,.34);background:rgba(254,243,199,.8);color:#92400e}
.doctor-recall-chip.st-islemde{border-color:rgba(37,99,235,.34);background:rgba(219,234,254,.78);color:#1d4ed8}
.doctor-recall-chip.st-tekrar{border-color:rgba(6,95,70,.34);background:rgba(209,250,229,.82);color:#065f46}
.doctor-recall-phone{
  font-size:12px;
  font-weight:800;
  color:#1e293b;
}
.doctor-recall-reason{
  font-size:13px;
  font-weight:700;
  color:#1f2937;
}
.doctor-recall-empty{
  padding:14px;
  border:1px dashed rgba(148,163,184,.45);
  background:rgba(248,250,252,.86);
  color:#475569;
  font-size:13px;
  font-weight:700;
  text-align:center;
}
.login-wrap{
  display:grid;
  grid-template-columns:190px 1fr;
  min-height:260px;
}
.login-hero{
  border-right:1px solid rgba(60,60,60,.10);
  background:linear-gradient(155deg, #1d4ed8 0%, #0f766e 100%);
  color:#fff;
  padding:16px 12px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  gap:8px;
}
.login-hero-logo{
  width:44px;
  height:44px;
  border:1px solid rgba(255,255,255,.32);
  background:rgba(255,255,255,.14);
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:22px;
}
.login-hero-title{
  font-size:18px;
  line-height:1.15;
  font-weight:900;
}
.login-hero-sub{
  font-size:12px;
  line-height:1.35;
  color:rgba(255,255,255,.92);
}
.login-form{
  padding:14px 14px 10px;
  display:grid;
  gap:10px;
}
.login-field{
  display:grid;
  gap:5px;
}
.login-field label{
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  color:#334155;
  letter-spacing:.04em;
}
.login-field select,
.login-field input{
  width:100%;
  min-width:0;
  padding:10px 10px;
  border:1px solid rgba(60,60,60,.22);
  background:#fff;
  color:#0f172a;
}
.login-pass-row{
  position:relative;
}
.login-pass-row input{
  padding-right:44px;
}
.login-pass-toggle{
  position:absolute;
  right:6px;
  top:50%;
  transform:translateY(-50%);
  width:30px;
  height:30px;
  border:1px solid rgba(60,60,60,.2);
  background:#fff;
  color:#334155;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.login-pass-toggle svg{
  width:14px;
  height:14px;
  display:block;
}
.login-tip{
  border:1px solid rgba(16,185,129,.26);
  background:rgba(236,253,245,.8);
  color:#065f46;
  padding:7px 9px;
  font-size:12px;
  line-height:1.3;
}
.login-form #loginErr.cfg-msg.err{
  margin-top:0;
  padding:6px 8px;
  border:1px solid rgba(148,163,184,.32);
  border-radius:10px;
  background:transparent;
  color:#475569;
  font-weight:700;
}
.login-form #loginErr.cfg-msg.err:empty{
  min-height:0;
  padding:0;
  border-color:transparent;
}
@media (max-width:700px){
  .login-wrap{
    grid-template-columns:1fr;
    min-height:0;
  }
  .login-hero{
    border-right:none;
    border-bottom:1px solid rgba(255,255,255,.24);
    padding:12px 12px;
  }
  .login-hero-logo{
    width:36px;
    height:36px;
    font-size:18px;
  }
}
.pop.wa-auto-confirm-pop{
  width:min(720px, 96vw);
  max-height:min(680px, 92vh);
}
.pop.wa-auto-confirm-pop .pop-bd{
  padding:12px;
  overflow:hidden;
}
.wa-auto-confirm-wrap{
  display:grid;
  gap:10px;
}
.wa-auto-confirm-grid{
  display:grid;
  gap:8px;
  border:1px solid rgba(59,130,246,.24);
  background:linear-gradient(180deg, rgba(219,234,254,.45), rgba(255,255,255,.95));
  padding:10px;
}
.wa-auto-confirm-row{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:8px;
  align-items:start;
}
.wa-auto-confirm-row .k{
  font-size:12px;
  font-weight:900;
  color:#1e3a8a;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.wa-auto-confirm-row .v{
  font-size:14px;
  color:#0f172a;
  font-weight:700;
  line-height:1.35;
}
.wa-auto-confirm-msg{
  border:1px solid rgba(15,23,42,.14);
  background:#fff;
}
.wa-auto-confirm-msg-k{
  padding:8px 10px;
  border-bottom:1px solid rgba(15,23,42,.12);
  background:#f8fafc;
  font-size:12px;
  font-weight:900;
  color:#334155;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.wa-auto-confirm-msg-v{
  max-height:260px;
  overflow:auto;
  padding:10px;
  white-space:pre-wrap;
  word-break:break-word;
  overflow-wrap:anywhere;
  line-height:1.45;
  font-size:14px;
  color:#0f172a;
}
.appt-file-pop{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.appt-file-pop .af-upload{
  grid-column:1 / -1;
}
.appt-file-pop .af-list-wrap{
  grid-column:1 / -1;
}
.appt-file-pop .af-list-title{
  display:block;
  margin:0 0 6px 0;
  font-size:12px;
  font-weight:900;
  color:rgba(31,41,55,.78);
  text-transform:uppercase;
  letter-spacing:.02em;
}
.af-upload{
  display:grid;
  grid-template-columns:minmax(280px,1fr) minmax(280px,1fr);
  gap:8px;
  align-items:start;
}
.af-upload input[type="file"]{
  width:100%;
  min-width:0;
  font-size:13px;
  line-height:1.2;
  overflow:hidden;
}
.af-upload input[type="file"]::file-selector-button{
  margin-right:8px;
  padding:7px 10px;
  border-radius:10px;
  border:1px solid rgba(60,60,60,.20);
  background:#f8fafc;
  color:#1f2937;
  font-weight:700;
  cursor:pointer;
}
.af-upload input[type="file"]::-webkit-file-upload-button{
  margin-right:8px;
  padding:7px 10px;
  border-radius:10px;
  border:1px solid rgba(60,60,60,.20);
  background:#f8fafc;
  color:#1f2937;
  font-weight:700;
  cursor:pointer;
}
.af-upload textarea{
  width:100%;
  min-height:44px;
  resize:vertical;
}
.af-upload .btn{
  grid-column:1 / -1;
  justify-self:center;
  min-width:200px;
  height:40px;
}
.af-list{
  border:1px solid rgba(60,60,60,.14);
  background:#fff;
  max-height:330px;
  overflow:auto;
}
.af-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:6px;
  padding:6px;
  border-bottom:1px solid rgba(60,60,60,.10);
}
.af-row:last-child{
  border-bottom:0;
}
.af-main{
  min-width:0;
  flex:1;
}
.af-actions{
  display:flex;
  align-items:center;
  gap:5px;
}
.af-title{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
  font-size:12px;
  font-weight:800;
  color:#0f172a;
}
.af-ext{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  padding:1px 6px;
  border:1px solid rgba(60,60,60,.16);
  background:#f8fafc;
  color:#334155;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
}
.af-name{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.af-meta{
  margin-top:2px;
  color:#64748b;
  font-size:10px;
  font-weight:600;
  line-height:1.25;
}
.af-k{
  color:#334155;
  font-weight:800;
  margin-right:4px;
}
.af-note{
  margin-top:3px;
  color:#111827;
  font-size:11px;
  line-height:1.3;
  white-space:pre-wrap;
}
.af-btn{
  min-width:50px;
  height:26px;
  padding:3px 8px;
  font-size:11px;
}
.af-btn.warn{
  border-color:rgba(239,68,68,.34);
  background:rgba(254,226,226,.72);
  color:#991b1b;
}
.af-queue{
  color:#b45309;
  font-weight:800;
}
.flow-hist-wrap{
  border:1px solid rgba(60,60,60,.14);
  background:#fff;
  max-height:420px;
  overflow:auto;
}
.flow-hist-table{
  width:100%;
  border-collapse:collapse;
  font-size:12px;
}
.flow-hist-table thead th{
  position:sticky;
  top:0;
  z-index:2;
  background:#f7f3e6;
  border-bottom:1px solid rgba(60,60,60,.16);
  padding:7px 8px;
  text-align:left;
  font-weight:900;
}
.flow-hist-table tbody td{
  border-bottom:1px solid rgba(60,60,60,.10);
  padding:6px 8px;
  vertical-align:top;
}
.flow-hist-table .muted{
  color:rgba(31,41,55,.62);
}
.flow-timeline{
  display:flex;
  flex-direction:column;
  gap:10px;
  max-height:480px;
  overflow:auto;
  padding-right:2px;
}
.flow-item{
  border:1px solid rgba(60,60,60,.16);
  background:#fff;
}
.flow-item.create{
  border-color:rgba(34,197,94,.34);
  background:rgba(220,252,231,.45);
}
.flow-item.schedule{
  border-color:rgba(59,130,246,.34);
  background:rgba(219,234,254,.42);
}
.flow-item.status{
  border-color:rgba(217,119,6,.34);
  background:rgba(254,243,199,.46);
}
.flow-item.call{
  border-color:rgba(147,51,234,.30);
  background:rgba(243,232,255,.40);
}
.flow-item.delete{
  border-color:rgba(239,68,68,.34);
  background:rgba(254,226,226,.46);
}
.flow-item-hd{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:8px 10px;
  border-bottom:1px solid rgba(60,60,60,.12);
}
.flow-item-title{
  font-size:14px;
  font-weight:900;
  color:#0f172a;
}
.flow-item-meta{
  font-size:12px;
  font-weight:700;
  color:#475569;
  white-space:nowrap;
}
.flow-item-bd{
  padding:8px 10px 9px;
}
.flow-detail{
  font-size:13px;
  line-height:1.4;
  color:#111827;
  margin:0 0 4px;
}
.flow-detail:last-child{
  margin-bottom:0;
}
.flow-screen{
  margin-top:6px;
  font-size:11px;
  color:#64748b;
}
.cfg-wrap{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.cfg-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.cfg-tab{
  appearance:none;
  border:1px solid rgba(60,60,60,.18);
  background:#fff;
  color:#0f172a;
  font-weight:800;
  font-size:12px;
  padding:6px 10px;
  cursor:pointer;
}
.cfg-tab.active{
  border-color:rgba(37,99,235,.36);
  background:rgba(219,234,254,.55);
}
.cfg-msg{
  min-height:20px;
  font-size:12px;
  color:#475569;
}
.cfg-msg.ok{color:#166534;font-weight:700}
.cfg-msg.err{color:#991b1b;font-weight:700}
.cfg-panels{
  border:1px solid rgba(60,60,60,.16);
  background:#fff;
}
.cfg-panel{
  display:none;
  padding:10px;
}
.cfg-panel.active{display:block}
.cfg-empty{
  color:#64748b;
  font-size:13px;
  padding:16px;
  border:1px dashed rgba(60,60,60,.2);
  background:#f8fafc;
}
.cfg-note{
  font-size:12px;
  color:#1e293b;
  margin-bottom:8px;
}
.cfg-grid2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.cfg-card{
  border:1px solid rgba(60,60,60,.16);
  background:#fcfcff;
}
.cfg-card-hd{
  padding:7px 10px;
  border-bottom:1px solid rgba(60,60,60,.14);
  background:#f1eddc;
  font-size:12px;
  font-weight:900;
}
.cfg-subtabs{
  display:flex;
  gap:6px;
  padding:8px 10px 0 10px;
}
.cfg-subtab{
  appearance:none;
  border:1px solid rgba(60,60,60,.18);
  background:#fff;
  color:#0f172a;
  font-weight:800;
  font-size:12px;
  padding:6px 10px;
  cursor:pointer;
}
.cfg-subtab.active{
  border-color:rgba(37,99,235,.36);
  background:rgba(219,234,254,.55);
}
.cfg-subpanel{
  display:none;
  padding:10px;
}
.cfg-subpanel.active{
  display:block;
}
.cfg-enabiz-card{
  background:#f8fbff;
}
.cfg-enabiz-toolbar{
  grid-template-columns:280px 1fr auto;
  align-items:end;
  gap:10px;
}
.cfg-enabiz-actions{
  display:flex;
  justify-content:flex-end;
  align-items:end;
}
.cfg-enabiz-actions .btn{
  min-width:140px;
}
.cfg-enabiz-wrap{
  max-height:520px;
  overflow-y:auto;
  overflow-x:hidden;
  border-top:1px solid rgba(30,58,138,.12);
}
.cfg-enabiz-table{
  width:100%;
  table-layout:fixed;
}
.cfg-enabiz-table th{
  background:#e8efff;
}
.cfg-enabiz-table td{
  vertical-align:middle;
  overflow:hidden;
}
.cfg-enabiz-table td:nth-child(1),
.cfg-enabiz-table th:nth-child(1){
  width:26%;
}
.cfg-enabiz-table td select,
.cfg-enabiz-table td input{
  width:100%;
}
.cfg-enabiz-table td:nth-child(2),
.cfg-enabiz-table th:nth-child(2){
  width:20%;
}
.cfg-enabiz-table td:nth-child(3),
.cfg-enabiz-table td:nth-child(5),
.cfg-enabiz-table th:nth-child(3),
.cfg-enabiz-table th:nth-child(5){
  width:19%;
}
.cfg-enabiz-table td:nth-child(4),
.cfg-enabiz-table th:nth-child(4){
  width:10%;
}
.cfg-enabiz-table td:nth-child(6),
.cfg-enabiz-table th:nth-child(6){
  width:6%;
  min-width:82px;
}
.cfg-enabiz-table td:nth-child(1) b{
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
@media (max-width: 1360px){
  .cfg-enabiz-toolbar{
    grid-template-columns:1fr;
    align-items:start;
  }
  .cfg-enabiz-actions{
    justify-content:flex-start;
  }
}
.cfg-del-reason{
  display:inline-flex;
  align-items:center;
  gap:4px;
  font-weight:800;
  font-size:11px;
  padding:2px 6px;
  border:1px solid rgba(60,60,60,.18);
  background:#fff;
}
.cfg-del-reason.warn{
  color:#991b1b;
  background:#fff1f2;
  border-color:#fecdd3;
}
.cfg-del-reason.info{
  color:#1d4ed8;
  background:#eff6ff;
  border-color:#bfdbfe;
}
.cfg-inline{
  display:grid;
  grid-template-columns:130px 1fr auto;
  gap:6px;
  padding:8px 10px;
  align-items:center;
}
.cfg-span2{
  grid-column:1 / -1;
}
.cfg-class-form{
  grid-template-columns:1.15fr .9fr repeat(2, auto);
  row-gap:6px;
}
.cfg-check{
  display:inline-flex;
  flex-direction:row;
  align-items:center;
  gap:6px;
  font-size:12px;
  font-weight:700;
  color:rgba(31,41,55,.85);
  white-space:nowrap;
  text-transform:none;
  letter-spacing:0;
}
.cfg-check input{
  width:15px;
  height:15px;
  margin:0;
}
.cfg-tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:2px 6px;
  border:1px solid rgba(60,60,60,.18);
  background:#fff;
  font-size:11px;
  font-weight:800;
  margin-right:4px;
  margin-bottom:2px;
}
.cfg-tag.warn{
  border-color:rgba(245,158,11,.34);
  background:rgba(255,251,235,.9);
  color:#92400e;
}
.cfg-tag.bad{
  border-color:rgba(239,68,68,.34);
  background:rgba(254,226,226,.85);
  color:#991b1b;
}
.cfg-inline input,
.cfg-inline select{
  width:100%;
  min-width:0;
  padding:8px 8px;
  border:1px solid rgba(60,60,60,.20);
  background:#fff;
}
.cfg-table-wrap{
  max-height:300px;
  overflow:auto;
  border-top:1px solid rgba(60,60,60,.12);
}
.cfg-table{
  width:100%;
  border-collapse:collapse;
}
.cfg-table th,.cfg-table td{
  border-bottom:1px solid rgba(60,60,60,.12);
  padding:6px 8px;
  font-size:12px;
  vertical-align:middle;
}
.cfg-table td input[type="text"],
.cfg-table td select{
  width:100%;
  min-width:0;
  padding:5px 6px;
  border:1px solid rgba(60,60,60,.18);
  background:#fff;
}
.cfg-table td input[type="password"]{
  width:100%;
  min-width:0;
  padding:5px 6px;
  border:1px solid rgba(60,60,60,.18);
  background:#fff;
}
.cfg-user-yn{
  min-width:72px;
}
.cfg-table th{
  background:#f8f6ee;
  font-weight:900;
}
.cfg-daily-runbar{
  grid-template-columns:auto 1fr auto;
  align-items:center;
}
.cfg-daily-runbar .cfg-note{
  margin:0;
}
.cfg-daily-task-wrap{
  max-height:none;
  overflow-x:auto;
  overflow-y:visible;
}
.cfg-daily-log-wrap{
  max-height:360px;
  overflow:auto;
}
.cfg-daily-status{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:2px 8px;
  border:1px solid rgba(60,60,60,.20);
  background:#fff;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}
.cfg-daily-status.pending{
  color:#475569;
  border-color:rgba(100,116,139,.35);
  background:#f8fafc;
}
.cfg-daily-status.run{
  color:#1d4ed8;
  border-color:rgba(37,99,235,.36);
  background:#eff6ff;
}
.cfg-daily-status.ok{
  color:#166534;
  border-color:rgba(34,197,94,.40);
  background:#f0fdf4;
}
.cfg-daily-status.warn{
  color:#92400e;
  border-color:rgba(245,158,11,.38);
  background:#fffbeb;
}
.cfg-daily-status.err{
  color:#991b1b;
  border-color:rgba(239,68,68,.40);
  background:#fef2f2;
}
.cfg-lab-form{
  grid-template-columns:1fr 1fr 1fr 1fr 90px auto auto auto;
}
.cfg-lab-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:2px 7px;
  border:1px solid rgba(60,60,60,.2);
  background:#fff;
  font-size:11px;
  font-weight:800;
}
.cfg-lab-chip.ok{
  border-color:#86efac;
  background:#f0fdf4;
  color:#166534;
}
.cfg-lab-chip.no{
  border-color:#fecaca;
  background:#fef2f2;
  color:#991b1b;
}
.cfg-lab-actions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.cfg-lab-matrix-wrap{
  max-height:420px;
}
.cfg-lab-matrix{
  min-width:880px;
}
.cfg-lab-matrix th,
.cfg-lab-matrix td{
  white-space:normal;
  vertical-align:top;
}
.cfg-lab-matrix th{
  position:sticky;
  top:0;
  z-index:2;
}
.cfg-lab-item{
  min-width:170px;
  font-weight:900;
}
.cfg-lab-price{
  min-width:190px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:6px;
  align-items:center;
}
.cfg-lab-price .cfg-check{
  grid-column:1 / -1;
}
.cfg-lab-price input[type="text"]{
  width:100%;
  min-width:0;
  padding:6px 7px;
  border:1px solid rgba(60,60,60,.20);
  background:#fff;
  font-size:12px;
}
.cfg-lab-price button{
  min-width:62px;
}
.cfg-lab2-wrap{
  display:grid;
  gap:10px;
}
.cfg-lab2-grid{
  align-items:start;
}
.cfg-lab2-card{
  background:
    radial-gradient(900px 120px at 100% -10%, rgba(14,165,233,.08), transparent 60%),
    radial-gradient(900px 140px at 0% -10%, rgba(34,197,94,.10), transparent 60%),
    #fcfdff;
}
.cfg-lab2-card .cfg-card-hd{
  background:linear-gradient(90deg, #e7f8ef, #e6f3fb);
}
.cfg-lab2-master-form{
  grid-template-columns:1.3fr .8fr .9fr .5fr 90px auto auto;
}
.cfg-lab2-company-form{
  grid-template-columns:1fr .55fr .8fr .7fr .9fr .8fr 90px auto auto;
}
.cfg-lab2-map-card .cfg-card-hd{
  background:linear-gradient(90deg, #fff4e8, #f7f0ff);
}
.cfg-lab2-map-bulk{
  grid-template-columns:minmax(220px, 1fr) auto auto auto;
  align-items:center;
}
.cfg-lab2-map-bulk .cfg-note{
  margin:0;
  font-weight:700;
  color:#334155;
}
.cfg-lab2-matrix-wrap{
  max-height:520px;
  overflow:auto;
}
.cfg-lab2-matrix{
  min-width:980px;
  border-collapse:separate;
  border-spacing:0;
}
.cfg-lab2-matrix th,
.cfg-lab2-matrix td{
  border-top:1px solid rgba(30,41,59,.08);
  border-right:1px solid rgba(30,41,59,.08);
  vertical-align:top;
  background:#fff;
}
.cfg-lab2-matrix tr th:first-child,
.cfg-lab2-matrix tr td:first-child{
  border-left:1px solid rgba(30,41,59,.08);
}
.cfg-lab2-matrix thead th{
  position:sticky;
  top:0;
  z-index:3;
  background:#eaf2ff;
}
.cfg-lab2-mx-master-hd{
  left:0;
  z-index:5 !important;
  min-width:260px;
  max-width:260px;
}
.cfg-lab2-mx-master-cell{
  position:sticky;
  left:0;
  z-index:2;
  min-width:260px;
  max-width:260px;
  background:#f8fbff !important;
}
.cfg-lab2-mx-company-hd{
  min-width:220px;
}
.cfg-lab2-mx-company-hd.is-selected{
  background:#defff0;
}
.cfg-lab2-mx-cell{
  min-width:220px;
}
.cfg-lab2-mx-cell.is-selected{
  background:#fbfffd;
}
.cfg-lab2-mx-cell.is-dirty{
  box-shadow:inset 0 0 0 2px rgba(22,163,74,.22);
  background:#f4fff8;
}
.cfg-lab2-mx-editor{
  display:grid;
  grid-template-columns:1fr;
  gap:6px;
}
.cfg-lab2-mx-editor input[type="text"],
.cfg-lab2-mx-editor select{
  width:100%;
  min-width:0;
  padding:6px 8px;
  border:1px solid rgba(30,41,59,.20);
  background:#fff;
  font-size:12px;
}
.cfg-lab2-mx-row{
  display:grid;
  grid-template-columns:1fr 90px;
  gap:6px;
}
.cfg-lab2-mx-check{
  font-size:12px;
  font-weight:700;
}
.cfg-actions{
  margin-top:8px;
  display:flex;
  justify-content:flex-end;
}
.cfg-rx-inline{
  grid-template-columns:1fr 1fr 1fr 1.5fr auto;
  align-items:end;
}
.cfg-rx-inline .btn{
  height:36px;
}
.cfg-pbx-form{
  grid-template-columns:auto 1.3fr .9fr .9fr .7fr .7fr 110px auto auto;
  align-items:center;
}
.cfg-muhasebe-form{
  grid-template-columns:auto 1.5fr .9fr .9fr .8fr auto auto;
  align-items:center;
}
.cfg-pbx-grid{
  align-items:start;
  margin-top:8px;
}
.cfg-pbx-row-actions{
  grid-template-columns:auto auto;
  justify-content:flex-end;
  padding-top:8px;
  padding-bottom:8px;
}
.cfg-pbx-table-wrap{
  max-height:260px;
}
.cfg-pbx-cdr-wrap{
  max-height:320px;
}
.cfg-pbx-cdr-filter{
  grid-template-columns:1fr 1fr 1fr auto auto;
  align-items:end;
}
.cfg-ti-filter{
  grid-template-columns:1fr 1fr;
}
.cfg-ti-jump{
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:10px;
}
.cfg-ti-filter > div{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.cfg-ti-toolbar{
  grid-template-columns:1fr auto auto;
  align-items:center;
}
.cfg-fin-grid{
  align-items:start;
}
.cfg-fin-form{
  grid-template-columns:1fr .9fr 100px auto auto auto;
}
.cfg-hekim-profile-form{
  grid-template-columns:1fr 1fr 1fr 1fr auto;
}
.cfg-hekim-rate-form{
  grid-template-columns:minmax(180px, 1fr) 130px auto 1fr;
}
.cfg-hekim-rate-form .cfg-note{
  margin:0;
}
.cfg-hekim-filter-form{
  grid-template-columns:140px 140px repeat(5, auto) minmax(170px, 1fr) minmax(170px, 1fr) auto;
  align-items:end;
}
.cfg-hekim-summary-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:8px;
}
.cfg-hekim-kpi{
  border:1px solid rgba(59,130,246,.24);
  background:linear-gradient(180deg, rgba(219,234,254,.46), #fff);
  padding:8px 10px;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.cfg-hekim-kpi b{
  font-size:12px;
  color:#1e3a8a;
}
.cfg-hekim-kpi span{
  font-size:17px;
  font-weight:900;
  color:#0f172a;
}
.hekim-self-msg{
  min-height:18px;
}
.hekim-self-msg.warn{
  color:#92400e;
  font-weight:700;
}
.hekim-self-grid{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:10px;
}
.hekim-self-profile-form{
  grid-template-columns:1fr 1fr 1fr 1fr auto;
}
.hekim-self-kpi-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:8px;
}
.hekim-self-tabs{
  margin-top:8px;
}
.hekim-self-filter-form{
  grid-template-columns:140px 140px auto auto auto auto minmax(180px,1fr) minmax(180px,1fr) auto;
  align-items:end;
  margin-top:8px;
}
.hekim-self-filter-form .btn.active{
  border-color:rgba(59,130,246,.42);
  background:rgba(219,234,254,.45);
  color:#1e3a8a;
}
.hekim-self-panel{
  display:none;
  margin-top:8px;
}
.hekim-self-panel.active{
  display:block;
}
.hekim-self-table-wrap{
  max-height:360px;
}
@media(max-width:1120px){
  .hekim-self-grid{
    grid-template-columns:1fr;
  }
  .hekim-self-profile-form{
    grid-template-columns:1fr 1fr;
  }
  .hekim-self-profile-form .btn{
    grid-column:1 / span 2;
  }
  .hekim-self-filter-form{
    grid-template-columns:1fr 1fr auto auto auto auto;
  }
  .hekim-self-filter-form input[id="hekimSelfPatientQ"],
  .hekim-self-filter-form input[id="hekimSelfTreatQ"]{
    grid-column:1 / span 2;
  }
}
@media(max-width:760px){
  .hekim-self-profile-form{
    grid-template-columns:1fr;
  }
  .hekim-self-profile-form .btn{
    grid-column:1 / span 1;
  }
  .hekim-self-kpi-grid{
    grid-template-columns:1fr;
  }
  .hekim-self-filter-form{
    grid-template-columns:1fr 1fr;
  }
  .hekim-self-filter-form .btn{
    width:100%;
  }
  .hekim-self-filter-form input[id="hekimSelfPatientQ"],
  .hekim-self-filter-form input[id="hekimSelfTreatQ"],
  .hekim-self-filter-form #hekimSelfReportLoad{
    grid-column:1 / span 2;
  }
}
.cfg-ti-toolbar .cfg-note{
  margin:0;
  font-size:12px;
}
.cfg-ti-map-btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
}
.cfg-ti-jump .cfg-ti-map-btn{
  justify-self:start;
}
.cfg-ti-map-ico{
  font-size:14px;
  line-height:1;
}
.cfg-ti-wrap{
  max-height:420px;
}
.cfg-ti-table{
  min-width:1180px;
}
.cfg-ti-table td{
  vertical-align:top;
}
.cfg-ti-no{
  width:44px;
  text-align:center;
  font-weight:900;
}
.cfg-ti-options{
  display:flex;
  flex-wrap:wrap;
  gap:4px 8px;
  min-width:240px;
  padding-top:2px;
}
.cfg-ti-options label{
  display:inline-flex;
  align-items:center;
  gap:4px;
  font-size:11px;
  font-weight:800;
  color:#374151;
  white-space:nowrap;
}
.cfg-ti-options label input{
  width:14px;
  height:14px;
  margin:0;
}
.cfg-ti-actions{
  text-align:right;
  white-space:nowrap;
}
.cfg-ti-table tr.cfg-ti-dirty td{
  background:rgba(251,191,36,.13);
}
.mv-wrap{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.mv-title{
  font-size:13px;
  font-weight:900;
  color:#0f172a;
}
.mv-fixed{
  display:flex;
  flex-wrap:wrap;
  gap:10px 16px;
  padding:8px 10px;
  border:1px solid rgba(37,99,235,.26);
  background:rgba(219,234,254,.42);
  color:#1e3a8a;
  font-size:12px;
}
.mv-grid{
  display:grid;
  grid-template-columns:1fr 70px 1fr;
  gap:10px;
  align-items:stretch;
}
.mv-arrow{
  display:flex;
  align-items:center;
  justify-content:center;
  color:#16a34a;
}
.mv-del-wrap{
  margin-top:10px;
  border:1px solid rgba(191,219,254,.65);
  background:rgba(239,246,255,.55);
  padding:8px;
}
.mv-del-title{
  font-size:12px;
  color:#1e3a8a;
  font-weight:800;
  margin-bottom:6px;
}
.mv-del-list{
  display:flex;
  flex-direction:column;
  gap:4px;
  max-height:150px;
  overflow:auto;
}
.mv-del-row{
  display:grid;
  grid-template-columns:18px 90px minmax(0,1fr);
  align-items:center;
  gap:8px;
  padding:4px 6px;
  border:1px solid rgba(60,60,60,.10);
  background:#fff;
  font-size:12px;
  cursor:pointer;
}
.mv-del-row input{
  margin:0;
}
.mv-del-time{
  font-weight:800;
  color:#334155;
  font-variant-numeric:tabular-nums;
}
.mv-del-doc{
  color:#0f172a;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.mv-arrow svg{
  width:44px;
  height:44px;
  display:block;
}
.mv-card{
  border:1px solid rgba(60,60,60,.16);
  background:#fff;
}
.mv-card.old{
  border-color:rgba(239,68,68,.34);
  background:linear-gradient(180deg, rgba(254,226,226,.72), #fff);
}
.mv-card.bad{
  border-color:rgba(239,68,68,.34);
  background:linear-gradient(180deg, rgba(254,226,226,.72), #fff);
}
.mv-card.ok{
  border-color:rgba(34,197,94,.38);
  background:linear-gradient(180deg, rgba(220,252,231,.70), #fff);
}
.mv-head{
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border-bottom:1px solid rgba(60,60,60,.12);
  font-size:12px;
  font-weight:900;
}
.mv-card.ok .mv-head{
  color:#166534;
  border-bottom-color:rgba(34,197,94,.24);
}
.mv-card.old .mv-head{
  color:#991b1b;
  border-bottom-color:rgba(239,68,68,.24);
}
.mv-card.bad .mv-head{
  color:#991b1b;
  border-bottom-color:rgba(239,68,68,.24);
}
.mv-ico{
  width:16px;
  height:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.mv-ico svg{
  width:16px;
  height:16px;
  display:block;
}
.mv-table{
  width:100%;
  border-collapse:collapse;
}
.mv-table th,
.mv-table td{
  padding:7px 10px;
  border-top:1px solid rgba(60,60,60,.08);
  font-size:12px;
  text-align:left;
}
.mv-table th{
  width:74px;
  color:rgba(71,85,105,.85);
  font-weight:700;
}
.mv-table td{
  color:#0f172a;
  font-weight:800;
}
@media(max-width:820px){
  .cfg-grid2{
    grid-template-columns:1fr;
  }
  .cfg-inline{
    grid-template-columns:1fr;
  }
  .cfg-lab-form{
    grid-template-columns:1fr;
  }
  .cfg-lab2-master-form{
    grid-template-columns:1fr;
  }
  .cfg-lab2-company-form{
    grid-template-columns:1fr;
  }
  .cfg-lab2-map-bulk{
    grid-template-columns:1fr;
  }
  .cfg-rx-inline{
    grid-template-columns:1fr;
  }
  .cfg-pbx-form{
    grid-template-columns:1fr;
  }
  .cfg-pbx-row-actions{
    grid-template-columns:1fr;
    justify-content:stretch;
  }
  .cfg-pbx-cdr-filter{
    grid-template-columns:1fr;
  }
  .cfg-class-form{
    grid-template-columns:1fr;
  }
  .cfg-ti-toolbar{
    grid-template-columns:1fr;
  }
  .cfg-fin-form{
    grid-template-columns:1fr;
  }
  .cfg-hekim-profile-form{
    grid-template-columns:1fr;
  }
  .cfg-hekim-rate-form{
    grid-template-columns:1fr;
  }
  .cfg-hekim-filter-form{
    grid-template-columns:1fr;
  }
  .cfg-hekim-summary-grid{
    grid-template-columns:1fr;
  }
  .mv-grid{
    grid-template-columns:1fr;
  }
  .mv-arrow{
    transform:rotate(90deg);
    min-height:36px;
  }
  .af-upload{
    grid-template-columns:1fr;
  }
  .af-upload .btn{
    width:100%;
  }
}
.side-row{display:flex;align-items:center;gap:8px}
.ico-btn{
  width:28px;
  height:28px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:1000;
}

.seg{display:flex;gap:8px;flex-wrap:wrap}
.seg-btn{
  appearance:none;
  border:1px solid rgba(60,60,60,.18);
  background:linear-gradient(180deg, #ffffff, #f6f2e4);
  border-radius:999px;
  padding:8px 10px;
  font-weight:900;
  font-size:12px;
  cursor:pointer;
  color:rgba(31,41,55,.85);
}
.seg-btn.active{
  border-color:rgba(37,99,235,.38);
  background:linear-gradient(180deg, rgba(37,99,235,.14), rgba(37,99,235,.06));
}
.seg-btn.is-disabled,
.seg-btn:disabled{
  opacity:.45;
  cursor:not-allowed;
}
.subbox{
  border:1px solid rgba(60,60,60,.14);
  background:rgba(255,255,255,.75);
  border-radius:14px;
  padding:10px 10px;
}
.subbox.box-type{
  background:linear-gradient(180deg, rgba(191,219,254,.30), rgba(255,255,255,.74));
}
.subbox.box-patient{
  background:linear-gradient(180deg, rgba(200,247,215,.26), rgba(255,255,255,.74));
}
.subbox.box-treat{
  background:linear-gradient(180deg, rgba(254,215,170,.26), rgba(255,255,255,.74));
}
.subbox.box-appt{
  background:linear-gradient(180deg, rgba(253,231,161,.22), rgba(255,255,255,.74));
}
.subbox.box-special{
  background:linear-gradient(180deg, rgba(221,214,254,.22), rgba(255,255,255,.74));
}

.type-line{
  display:flex;
  align-items:center;
  gap:8px;
}
.type-line .seg{flex:1}
.subttl{font-weight:1000;margin-bottom:8px}
.subttl-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:8px;
}
.subttl-row .subttl{
  margin-bottom:0;
}
.patient-tools{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  margin-bottom:0;
}
.patient-tools:empty{
  display:none;
  margin-bottom:0;
}
.patient-edit-btn{
  width:30px;
  height:30px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.patient-edit-btn svg{
  width:16px;
  height:16px;
  display:block;
}
.patient-edit-btn.is-unlocked{
  color:#166534;
  border-color:rgba(22,163,74,.35);
}
.patient-edit-btn.is-locked{
  color:#92400e;
  border-color:rgba(217,119,6,.35);
}
.patient-recent-btn{
  color:#1d4ed8;
}
.subgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.subgrid label{display:block;font-size:12px;font-weight:900;color:rgba(31,41,55,.75);margin-bottom:6px}
.subgrid input{
  width:100%;
  padding:10px 10px;
  border-radius:10px;
  border:1px solid rgba(60,60,60,.18);
  background:#fff;
}
.subwide{grid-column:1 / -1}
.dur-wrap{
  position:relative;
  display:flex;
  align-items:center;
  gap:6px;
}
.dur-wrap input{
  flex:1 1 auto;
  min-width:0;
}
.dur-pick{
  width:30px;
  height:30px;
  border:1px solid rgba(60,60,60,.18);
  background:#fff;
  color:rgba(31,41,55,.85);
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}
.dur-menu{
  position:absolute;
  right:0;
  top:34px;
  z-index:20;
  min-width:96px;
  max-height:none;
  overflow:hidden;
  padding:0;
  border:1px solid rgba(60,60,60,.18);
  background:#fff;
  box-shadow:0 6px 18px rgba(0,0,0,.14);
}
.dur-menu button{
  display:block;
  width:100%;
  border:0;
  border-bottom:1px solid rgba(60,60,60,.08);
  background:#fff;
  text-align:left;
  margin:0;
  padding:4px 8px;
  line-height:1.1;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.dur-menu button:last-child{border-bottom:0}
.dur-menu button:hover{background:#f6f2e4}
#fDate{
  cursor:pointer;
  background:#fff;
}
.mdate{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.mdate-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.mdate-nav button{
  min-width:32px;
}
.mdate-title{
  font-weight:1000;
}
.mdate-grid{
  display:grid;
  grid-template-columns:repeat(7, 1fr);
  gap:4px;
}
.mdate-dow{
  text-align:center;
  font-size:11px;
  font-weight:900;
  color:rgba(31,41,55,.65);
  padding:2px 0;
}
.mdate-day{
  border:1px solid rgba(60,60,60,.14);
  background:#fff;
  padding:6px 0;
  text-align:center;
  cursor:pointer;
  font-weight:800;
}
.mdate-day.muted{
  color:rgba(31,41,55,.35);
  background:#fafafa;
}
.mdate-day.sel{
  border-color:rgba(37,99,235,.45);
  background:rgba(37,99,235,.10);
}
.mdate-note{
  font-size:12px;
  color:rgba(31,41,55,.62);
}
.suggest{
  margin-top:10px;
  border:1px solid rgba(60,60,60,.14);
  background:#fff;
  border-radius:12px;
  overflow:hidden;
}
.sug-item{
  padding:8px 10px;
  border-bottom:1px solid rgba(60,60,60,.08);
  cursor:pointer;
  font-size:13px;
}
.sug-item:last-child{border-bottom:0}
.sug-item:hover{background:rgba(37,99,235,.06)}
.sug-sub{color:rgba(31,41,55,.55);font-size:12px;margin-top:2px}
.recent-list{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.recent-item{
  border:1px solid rgba(60,60,60,.14);
  background:#fff;
  padding:8px 10px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
}
.recent-item-name{
  font-weight:900;
  color:rgba(17,24,39,.95);
  line-height:1.2;
}
.recent-item-sub{
  color:rgba(31,41,55,.58);
  font-size:12px;
  margin-top:2px;
}
.recent-item .btn{
  min-width:58px;
}
.sug-empty{
  padding:10px 12px;
  font-size:12px;
  color:#991b1b;
  background:rgba(239,68,68,.08);
  border-bottom:1px solid rgba(239,68,68,.20);
}
.sug-actions{
  padding:8px 10px;
  display:flex;
  justify-content:flex-end;
}
.pot-warn{
  margin-top:8px;
  padding:8px 10px;
  border:1px solid rgba(60,60,60,.14);
  font-size:12px;
  line-height:1.35;
}
.pot-warn.warn{
  color:#991b1b;
  background:rgba(239,68,68,.08);
  border-color:rgba(239,68,68,.24);
}
.pot-warn.info{
  color:#1e3a8a;
  background:rgba(59,130,246,.08);
  border-color:rgba(59,130,246,.24);
}

.flag-list{display:flex;flex-direction:column;gap:10px}
.lab-picker{
  margin-top:6px;
  padding:8px;
  border:1px dashed rgba(60,60,60,.20);
  background:rgba(255,255,255,.72);
  border-radius:10px;
}
.lab-picker label{
  display:block;
  margin:0 0 4px;
  font-weight:800;
  font-size:12px;
  color:rgba(15,23,42,.88);
}
.lab-picker select{
  width:100%;
  min-height:34px;
  padding:6px 8px;
  border-radius:8px;
  border:1px solid rgba(60,60,60,.20);
  background:#fff;
}
.lab-picker.invalid select{
  border-color:rgba(220,38,38,.70);
  background:rgba(254,242,242,.85);
}
.lab-picker .hint{
  margin-top:5px;
  font-size:11px;
  font-weight:700;
  color:rgba(31,41,55,.66);
}
.lab-picker.invalid .hint{
  color:#b91c1c;
}
.patient-class-warn{
  margin:6px 0 8px;
  padding:8px 9px;
  border:1px solid rgba(59,130,246,.30);
  background:rgba(219,234,254,.35);
  font-size:12px;
}
.patient-class-warn.warn{
  border-color:rgba(245,158,11,.34);
  background:rgba(255,251,235,.62);
}
.patient-class-warn.block{
  border-color:rgba(239,68,68,.35);
  background:rgba(254,226,226,.62);
}
.pc-title{
  font-weight:900;
  color:#0f172a;
  margin-bottom:4px;
}
.pc-tags{
  display:flex;
  flex-wrap:wrap;
  gap:4px;
  margin-bottom:4px;
}
.pc-tag{
  display:inline-flex;
  align-items:center;
  padding:1px 6px;
  border:1px solid rgba(60,60,60,.16);
  background:#fff;
  font-weight:800;
  font-size:11px;
}
.pc-actions{
  display:flex;
  flex-wrap:wrap;
  gap:4px;
}
.pc-reasons{
  margin-top:6px;
  display:grid;
  gap:3px;
}
.pc-reason-line{
  font-size:11px;
  font-weight:700;
  color:#7f1d1d;
  line-height:1.25;
}
.pc-reason-line b{
  color:#991b1b;
}
.pc-pill{
  display:inline-flex;
  align-items:center;
  padding:1px 6px;
  border:1px solid rgba(60,60,60,.16);
  font-size:11px;
  font-weight:800;
  background:#fff;
}
.pc-pill.warn{
  border-color:rgba(245,158,11,.34);
  background:rgba(255,251,235,.88);
  color:#92400e;
}
.pc-pill.bad{
  border-color:rgba(220,38,38,.34);
  background:rgba(254,226,226,.88);
  color:#991b1b;
}
.patient-class-box{
  margin:4px 0 8px;
  padding:7px 8px;
  border:1px solid rgba(60,60,60,.14);
  background:rgba(248,250,252,.82);
}
.patient-class-box.busy{
  opacity:.7;
  pointer-events:none;
}
.side-ttl.small{
  font-size:11px;
  margin-bottom:4px;
}
.patient-class-list{
  display:flex;
  flex-direction:column;
  gap:4px;
  max-height:142px;
  overflow:auto;
  padding-right:2px;
}
.pc-row{
  display:grid;
  grid-template-columns:14px 1fr;
  align-items:center;
  gap:7px;
  padding:4px 6px;
  border:1px solid rgba(60,60,60,.12);
  background:#fff;
  font-size:12px;
}
.pc-row.active{
  border-color:rgba(37,99,235,.32);
  background:rgba(219,234,254,.38);
}
.pc-row input{
  width:14px;
  height:14px;
  margin:0;
}
.pc-row-title{
  font-weight:800;
  color:#0f172a;
  line-height:1.2;
}
.pc-row-badges{
  grid-column:2;
  display:flex;
  flex-wrap:wrap;
  gap:3px;
  margin-top:1px;
}
.pc-mini{
  display:inline-flex;
  align-items:center;
  padding:0 5px;
  border:1px solid rgba(60,60,60,.16);
  background:#fff;
  font-size:10px;
  font-weight:800;
}
.pc-mini.warn{
  border-color:rgba(245,158,11,.34);
  background:rgba(255,251,235,.90);
  color:#92400e;
}
.pc-mini.bad{
  border-color:rgba(220,38,38,.34);
  background:rgba(254,226,226,.90);
  color:#991b1b;
}
.flag-item{
  display:grid;
  grid-template-columns: 22px 18px 1fr;
  align-items:center;
  column-gap:10px;
}
.flag-item input{width:16px;height:16px}
.flag-ico{
  width:22px;height:22px;
  display:inline-flex;align-items:center;justify-content:center;
  border:0;
  background:transparent;
  color: var(--flag-color, rgba(31,41,55,.80));
  flex:0 0 auto;
}
.flag-ico svg{width:18px;height:18px;display:block}
.flag-item .lbl{
  font-weight:800;
  font-size:13px;
  text-transform:none;
}
.flag-item input:disabled + .lbl,
.flag-list.is-disabled .flag-item .lbl{
  text-decoration:line-through;
  text-decoration-thickness:2px;
  text-decoration-color:#991b1b;
}
.flag-item[data-flag="geldi"]{--flag-color:#2563eb}
.flag-item[data-flag="odeme"]{--flag-color:#dc2626}
.flag-item[data-flag="ayrildi"]{--flag-color:#2563eb}
.flag-item[data-flag="randevusuz"]{--flag-color:#64748b}
.flag-item[data-flag="kontrol"]{--flag-color:#dc2626}
.flag-item[data-flag="lab"]{--flag-color:#f97316}
.flag-item .hint{color:rgba(31,41,55,.55);font-size:12px}

.m-tabs{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}
.m-tab{
  appearance:none;
  border:1px solid rgba(60,60,60,.18);
  background:linear-gradient(180deg, #ffffff, #f6f2e4);
  border-radius:999px;
  padding:7px 10px;
  font-weight:900;
  font-size:12px;
  cursor:pointer;
  color:rgba(31,41,55,.85);
}
.m-tab.active{
  border-color:rgba(37,99,235,.38);
  background:linear-gradient(180deg, rgba(37,99,235,.14), rgba(37,99,235,.06));
}
.m-tab.is-disabled-btn,
.m-tab:disabled{
  opacity:.5;
  cursor:not-allowed;
  border-color:rgba(107,114,128,.35);
  background:linear-gradient(180deg, #f4f4f5, #eceff3);
  color:rgba(31,41,55,.6);
  text-decoration:line-through;
  text-decoration-thickness:2px;
  text-decoration-color:#991b1b;
}
.modal-side .ico-btn:disabled,
.modal-side .ico-btn.is-blocked,
.modal-side .patient-link-btn:disabled{
  text-decoration:line-through;
  text-decoration-thickness:2px;
  text-decoration-color:#991b1b;
}
.m-panel textarea{
  width:100%;
  padding:10px 10px;
  border-radius:12px;
  border:1px solid rgba(60,60,60,.18);
  background:#fff;
  resize:vertical;
}
.mh-list{
  max-height:min(180px, 26vh);
  overflow:auto;
  border:1px solid rgba(60,60,60,.14);
  background:#fff;
}
.mh-row{
  padding:7px 8px;
  border-bottom:1px solid rgba(60,60,60,.10);
}
.mh-row.mh-row--ok{
  background:rgba(34,197,94,.14);
}
.mh-row.mh-row--bad{
  background:rgba(239,68,68,.13);
}
.mh-row:last-child{
  border-bottom:0;
}
.mh-top{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px;
}
.mh-meta{
  margin-top:2px;
  font-size:12px;
  color:rgba(31,41,55,.72);
}

.appt-badges{
  --sz:var(--badge-size, var(--appt-badge-sz));
  --gap:2px;
  display:grid;
  grid-auto-flow:row; /* fill left-to-right first */
  grid-template-columns: repeat(var(--badge-cols, 2), var(--sz));
  grid-auto-rows: var(--sz);
  grid-template-rows: repeat(var(--badge-rows, 1), var(--sz));
  gap: var(--gap);
  max-width: calc((var(--badge-cols, 2) * var(--sz)) + ((var(--badge-cols, 2) - 1) * var(--gap)));
  max-height: calc((var(--badge-rows, 1) * var(--sz)) + ((var(--badge-rows, 1) - 1) * var(--gap)));
  overflow:visible;
}
.b{
  display:inline-flex;align-items:center;justify-content:center;
  width:var(--sz);
  height:var(--sz);
  padding:0;
  border-radius:0;
  font-size:11px;
  font-weight:1000;
  border:0;
  background:transparent;
  color:currentColor;
}
.b svg{
  width:var(--sz);
  height:var(--sz);
  display:block;
}

/* Appointment icon colors (more visible on solid treatment colors) */
.appt-badges .b.f-geldi{color:#2563eb}
.appt-badges .b.f-odaya{color:#0ea5a4}
.appt-badges .b.f-odeme{color:#dc2626}
.appt-badges .b.f-ayrildi{color:#2563eb}
.appt-badges .b.f-randevusuz{color:#64748b}
.appt-badges .b.f-kontrol{color:#dc2626}
.appt-badges .b.f-lab{color:#f97316}
.appt-badges .b.f-call-teyit{color:#2563eb}
.appt-badges .b.f-cancel{color:#111827}
.appt-badges .b.f-file{color:#0f766e}

.form{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.row{display:flex;flex-direction:column;gap:6px}
.row.wide{grid-column:1 / -1}
label{font-size:12px;color:#334155;font-weight:1000;text-transform:uppercase;letter-spacing:.02em}
input,select,textarea{
  padding:10px 10px;
  border-radius:12px;
  border:1px solid rgba(148,163,184,.30);
  background:#fff;
  outline:none;
}
textarea{resize:vertical}
.modal input:focus,.modal select:focus,.modal textarea:focus{
  border-color:rgba(14,165,233,.55);
  box-shadow:0 0 0 3px rgba(14,165,233,.12);
  background:#fff8dc;
}

.err{
  margin-top:10px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(239,68,68,.30);
  background:rgba(239,68,68,.10);
  color:#991b1b;
  font-weight:900;
}
.guide{
  margin-top:10px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(59,130,246,.30);
  background:rgba(59,130,246,.10);
  color:#1e3a8a;
  font-weight:800;
}
.guide.success{
  border-color:rgba(34,197,94,.35);
  background:rgba(34,197,94,.12);
  color:#14532d;
}
.guide.warn{
  border-color:rgba(245,158,11,.35);
  background:rgba(245,158,11,.14);
  color:#7c2d12;
}

.rdv-toast{
  position:fixed;
  right:16px;
  bottom:16px;
  z-index:140;
  min-width:180px;
  max-width:340px;
  padding:10px 12px;
  border:1px solid rgba(59,130,246,.34);
  background:rgba(219,234,254,.96);
  color:#1e3a8a;
  font-weight:800;
  display:none;
  box-shadow:0 12px 26px rgba(0,0,0,.18);
}
.rdv-toast.success{
  border-color:rgba(34,197,94,.38);
  background:rgba(220,252,231,.96);
  color:#14532d;
}
.rdv-toast.warn{
  border-color:rgba(245,158,11,.38);
  background:rgba(255,251,235,.96);
  color:#7c2d12;
}

/* -------------------------------------------------------------------------- */
/* Classic / Compact Outlook-like Overrides                                   */
/* -------------------------------------------------------------------------- */

body{font-size:12px}

.live-info-bar{
  padding:6px 10px;
  gap:8px;
  background:#efe9d6;
}
.live-info-ico{width:16px;height:16px}
.live-info-ico svg{width:14px;height:14px}
.live-info-date,
.live-info-time{font-size:12px}
.live-today-chip{
  min-height:26px;
  padding:1px 7px;
  gap:4px;
  font-size:12px;
}
.live-today-ico{font-size:13px}
.live-inline-btn{
  height:24px;
  padding:0 7px;
  font-size:11px;
  gap:4px;
}
.live-inline-count{
  min-width:22px;
  height:17px;
  padding:0 6px;
  font-size:10px;
}
.live-inline-ico{font-size:12px}
.live-inline-btn.recall{
  height:30px;
  padding:0 10px;
  font-size:12px;
}
.live-inline-btn.recall .live-inline-ico{font-size:14px}
.live-inline-btn.management{
  height:30px;
  padding:0 9px;
  font-size:12px;
}
.live-inline-btn.management .live-inline-ico{font-size:14px}
.live-inline-btn.report{
  height:30px;
  padding:0 9px;
  font-size:12px;
}
.live-inline-btn.report .live-inline-ico{font-size:14px}
.live-inline-btn.doctor-bell{
  height:30px;
  padding:0 8px;
  font-size:11px;
}
.live-inline-btn.doctor-bell .live-inline-ico{font-size:14px}
.live-bell-text{font-size:11px}
.live-user-area{
  gap:4px;
  padding:3px 4px;
  max-width:calc(100vw - 18px);
}
.live-user-name{
  max-width:260px;
  overflow:visible;
  text-overflow:clip;
  white-space:nowrap;
  font-size:11px;
}
.live-auth-btn{
  width:22px;
  height:22px;
}
.live-auth-btn svg{
  width:13px;
  height:13px;
}

.topbar{
  gap:10px;
  padding:8px 10px;
  background:#efe9d6;
  box-shadow:none;
}
.logo{
  width:34px;height:34px;
  border-radius:0;
  background:#f3ecd7;
}
.brand{gap:10px}
.brand-sub{font-size:11px}
.date-input{padding:6px 8px;border-radius:0}
.search{padding:6px 8px;border-radius:0}

.btn{
  padding:6px 10px;
  border-radius:0;
  background:#fff;
  font-weight:700;
}
.btn.ghost{background:#fff}

.main{
  /* Shrink left sidebar ~30% to give more space to schedule grid */
  grid-template-columns:minmax(140px, 165px) 1fr;
  gap:10px;
  padding:8px 10px;
}
@media(max-width:1100px){.main{grid-template-columns:minmax(140px, 165px) 1fr}}
.sidebar{
  gap:6px;
  font-size:11px;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
}
.sidebar::-webkit-scrollbar{width:10px;height:10px}
.sidebar::-webkit-scrollbar-thumb{background:rgba(100,116,139,.35);border-radius:0}
.sidebar::-webkit-scrollbar-track{background:rgba(148,163,184,.12)}
.sidebar .search{width:100%}
.sidebar .density{width:100%}
.density-row{
  grid-template-columns:22px 1fr 22px;
  gap:4px;
}
.density{
  font-size:12px;
  padding:6px 4px;
}
.density-step{
  height:28px;
  border-radius:0;
}
.density-step svg{
  width:13px;
  height:13px;
  stroke-width:2.8;
}
.density-step.is-minus svg{
  width:14px;
  height:14px;
  stroke-width:3.2;
}
.density-step.is-plus svg{
  width:13px;
  height:13px;
  stroke-width:2.8;
}
.density-hint{
  font-size:10px;
  min-height:14px;
  margin-top:3px;
}
.density-hint .ico{
  font-size:12px;
}

.card{
  border-radius:0;
  box-shadow:none;
}
.card-hd{
  padding:6px 8px;
  background:#f6f2e4;
}
.card-bd{padding:6px 8px}
.pill{border-radius:0;font-weight:800}
#iconFilterPill{
  max-width:112px;
  min-width:0;
  height:22px;
  padding:0 6px;
  font-size:9px;
  font-weight:500;
  line-height:1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.mc-day{
  border-radius:0;
  padding:4px 0;
  background:#fff;
  box-shadow:none;
  font-size:10px;
}
.mc-grid{gap:2px}
.mc-dow{font-size:9px}
.mc-title{font-size:11px}
.mc-nav{padding:2px 4px}
.mini-cal{gap:4px}
.mc-daystep{gap:4px}
.mc-daystep-btn{padding:3px 6px;font-size:10px;border-radius:0}
.mc-jump{gap:3px}
.mc-jump{grid-template-columns:22px repeat(4, minmax(26px,1fr))}
.mc-jump-btn{padding:3px 1px;font-size:10px;line-height:1.15;border-radius:0}
.icon-filter{
  display:flex;
  flex-wrap:nowrap;
  gap:2px;
  overflow:hidden;
}
.icon-filter-btn{
  flex:1 1 0;
  min-width:0;
  min-height:34px;
  padding:2px 1px 10px;
  border-radius:0;
  position:relative;
  justify-content:center;
  gap:0;
}
.icon-filter-btn .if-ico{width:18px;height:18px}
.icon-filter-btn .if-ico svg{width:16px;height:16px}
.icon-filter-btn .if-count{
  position:absolute;
  left:50%;
  bottom:1px;
  transform:translateX(-50%);
  min-width:0;
  height:auto;
  line-height:1;
  font-size:8px;
  font-weight:900;
  border:0;
  background:transparent;
  border-radius:0;
  padding:0;
}
.menu-item{
  border-radius:0;
  padding:6px 6px;
  background:#fff;
}
.menu-panel{border-radius:0;padding:6px 6px}

/* Sidebar patient quick search */
.rowline{display:flex;align-items:center;gap:8px;margin-top:6px}
.lbl{font-size:11px;font-weight:900;color:rgba(31,41,55,.75);white-space:nowrap}
.pat-mini{
  margin-top:6px;
  display:none;
  border:1px solid rgba(60,60,60,.14);
  background:#fff;
}
.pat-mini.open{display:block}
.pat-item{
  width:100%;
  text-align:left;
  padding:6px 8px;
  border:0;
  border-bottom:1px solid rgba(60,60,60,.10);
  background:#fff;
  cursor:pointer;
  font:inherit;
}
.pat-item:last-child{border-bottom:0}
.pat-item:hover{background:#f6f2e4}
.pat-sub{font-size:10px;color:rgba(31,41,55,.60);margin-top:2px}

/* Menu list: no internal scrollbar; it will scroll with the sidebar if needed */
.side-menu{
  max-height:none;
  overflow:visible;
  padding-right:0;
}
.mi-ico{display:none} /* remove numeric icons in front of tabs */
.mi-left{gap:6px}

.doctor{border-radius:0;padding:6px 6px}
.toggle{border-radius:0}
.toggle::after{border-radius:0}

/* Compact doctor visibility list (Windows listbox-like) */
.doc-box{
  border:1px solid rgba(60,60,60,.18);
  background:#fff;
  max-height:140px;
  overflow:auto;
}
.doc-row{
  display:flex;
  align-items:flex-start;
  gap:8px;
  padding:5px 7px;
  border-bottom:1px solid rgba(60,60,60,.10);
  cursor:pointer;
  user-select:none;
}
.doc-row:last-child{border-bottom:0}
.doc-row:hover{background:#f6f2e4}
.doc-row input{
  width:16px;
  height:16px;
  margin:0;
  accent-color:#2563eb;
}
.doc-txt{
  flex:1;
  min-width:0;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  line-height:1.15;
  font-size:10px;
  font-weight:700;
  text-transform:lowercase;
  word-break:break-word;
  overflow-wrap:anywhere;
}

.board-head{
  padding:8px 10px;
  border-radius:0;
  background:#efe9d6;
  box-shadow:none;
}
.grid-wrap{border-radius:0;box-shadow:none}

.modal{border-radius:0}
.modal-hd{padding:8px 10px;background:#f1eddc}
.modal-bd{
  padding:8px 10px;
  overflow:auto;
  flex:1 1 auto;
  min-height:0;
}
.modal-ft{padding:8px 10px;background:#f6f2e4}
.x{width:28px;height:28px;border-radius:0}

input,select,textarea{border-radius:0;padding:7px 8px}
.subbox{border-radius:0;padding:8px 8px}
.seg-btn{border-radius:0;padding:6px 8px}
.m-tab{border-radius:0;padding:6px 8px}

.appt{
  border-radius:0;
  box-shadow:none;
  /* solid fill comes from inline style; keep classic, square, compact */
  padding:5px 6px 28px 6px; /* reserve bottom space for horizontal resize grip */
  border-left-width:1px; /* remove the old thick border-left stripe */
}
.appt .rsz{border-radius:0}

/* Left attention band (only when "Dikkat Ediniz" is selected) */
.appt::before{
  content:"";
  position:absolute;
  left:0; top:0; bottom:0;
  width:6px;
  background: var(--appt-band, transparent);
  pointer-events:none;
}
.appt.short .p-row{
  align-items:flex-start;
  flex-wrap:wrap;
  row-gap:2px;
}
.appt.short.short-inline .p-row{
  align-items:center;
  flex-wrap:nowrap;
  row-gap:0;
}
.appt.short .appt-badges{
  --gap:2px;
}
.appt.short.short-inline .appt-badges{
  --gap:1px;
}
.appt.short.short-inline .p{
  padding-left:2px;
}
.appt.tiny{
  padding:2px 22px 2px 6px; /* right side reserved for mini resize grip */
  gap:2px;
}
.appt.tiny .p-row{
  align-items:center;
  gap:4px;
  min-height:0;
}
.appt.tiny .appt-badges{
  --gap:1px;
}
.appt.tiny .p{
  font-size:11px;
  line-height:1.2;
}
.appt.tiny .m{
  display:none;
}
.appt.tiny .rsz{
  display:flex;
  left:auto;
  right:0;
  top:0;
  bottom:0;
  width:16px;
  height:auto;
  border-radius:0;
  background:linear-gradient(180deg, rgba(31,41,55,.10), rgba(31,41,55,.03));
  box-shadow: inset 1px 0 0 rgba(31,41,55,.18);
  opacity:.85;
}
.appt.tiny .rsz::before{
  width:8px;
  height:10px;
  border-top:1px solid rgba(31,41,55,.48);
  border-bottom:1px solid rgba(31,41,55,.48);
}
.appt{
  padding-left: calc(6px + 6px + 4px); /* left band + inner padding */
}
.appt.appt-newflash{
  animation:apptNewFlashPulse 3s ease-in-out 1;
}
@keyframes apptNewFlashPulse{
  0%{
    border-color:#f59e0b !important;
    box-shadow:0 0 0 0 rgba(245,158,11,.88), inset 0 0 0 2px rgba(245,158,11,.88);
  }
  22%{
    border-color:#f59e0b !important;
    box-shadow:0 0 0 4px rgba(245,158,11,.42), inset 0 0 0 2px rgba(245,158,11,.86);
  }
  46%{
    box-shadow:0 0 0 0 rgba(245,158,11,0), inset 0 0 0 1px rgba(245,158,11,.24);
  }
  70%{
    border-color:#f59e0b !important;
    box-shadow:0 0 0 4px rgba(245,158,11,.48), inset 0 0 0 2px rgba(245,158,11,.82);
  }
  100%{
    box-shadow:none;
  }
}

/* Keep everything square-cornered (classic Outlook-like) */

/* API Status Workspace */
.api-ws-shell{
  display:block;
}
.api-ws-main{
  padding:16px 18px 22px;
}
.api-health-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  background:linear-gradient(135deg, #e9f2ff 0%, #f3f7ff 100%);
  border:1px solid #b8cdf7;
}
.api-health-head-title{
  font-size:32px;
  font-weight:1000;
  color:#1e3a8a;
  line-height:1.1;
}
.api-health-head-sub{
  margin-top:6px;
  font-size:19px;
  font-weight:800;
  color:#334155;
}
.api-health-summary{
  margin-top:12px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  padding:10px 12px;
  border:1px solid #bfd5f6;
  background:#f8fbff;
}
.api-health-kpi{
  padding:4px 9px;
  border-radius:999px;
  font-size:14px;
  font-weight:900;
  border:1px solid transparent;
}
.api-health-kpi strong{
  font-size:16px;
}
.api-health-kpi.kpi-ok{ background:#e8f8ef; color:#0f5132; border-color:#a9dfbf; }
.api-health-kpi.kpi-warn{ background:#fff5e6; color:#a15b00; border-color:#ffd39b; }
.api-health-kpi.kpi-err{ background:#ffe8ec; color:#9f1239; border-color:#f6b8c5; }
.api-health-kpi.kpi-pending{ background:#eef2ff; color:#3730a3; border-color:#c8d2ff; }
.api-health-kpi.kpi-check{ background:#edf5ff; color:#1d4ed8; border-color:#bfdbfe; }
.api-health-last{
  margin-left:auto;
  font-size:13px;
  font-weight:800;
  color:#475569;
}
.api-health-grid{
  margin-top:12px;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
  gap:12px;
}
.api-health-card{
  border:1px solid #cbd5e1;
  background:#fff;
  padding:10px 12px;
}
.api-health-card.level-ok{ background:linear-gradient(180deg, #f7fff9 0%, #f2fbf5 100%); border-color:#b9e7cb; }
.api-health-card.level-warn{ background:linear-gradient(180deg, #fffaf2 0%, #fff5e8 100%); border-color:#f5d29f; }
.api-health-card.level-err{ background:linear-gradient(180deg, #fff5f7 0%, #ffeef2 100%); border-color:#f4bdcb; }
.api-health-card.level-pending{ background:linear-gradient(180deg, #f8f9ff 0%, #f2f5ff 100%); border-color:#cad5ff; }
.api-health-card.level-checking{ background:linear-gradient(180deg, #f7fbff 0%, #f0f6ff 100%); border-color:#c7d9f8; }
.api-health-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.api-health-title{
  font-size:24px;
  font-weight:1000;
  color:#1e293b;
}
.api-health-badge{
  padding:3px 8px;
  border-radius:999px;
  font-size:12px;
  font-weight:1000;
  border:1px solid transparent;
}
.api-health-badge.level-ok{ background:#dcfce7; color:#166534; border-color:#86efac; }
.api-health-badge.level-warn{ background:#fef3c7; color:#a16207; border-color:#fcd34d; }
.api-health-badge.level-err{ background:#fee2e2; color:#991b1b; border-color:#fca5a5; }
.api-health-badge.level-pending{ background:#e0e7ff; color:#3730a3; border-color:#c7d2fe; }
.api-health-badge.level-checking{ background:#dbeafe; color:#1d4ed8; border-color:#93c5fd; }
.api-health-short{
  margin-top:8px;
  font-size:19px;
  font-weight:1000;
  color:#0f172a;
}
.api-health-detail{
  margin-top:4px;
  min-height:38px;
  font-size:13px;
  font-weight:700;
  color:#334155;
  line-height:1.35;
}
.api-health-meter{
  margin-top:8px;
  height:8px;
  border-radius:999px;
  background:#e2e8f0;
  overflow:hidden;
}
.api-health-meter > span{
  display:block;
  height:100%;
  width:0;
  border-radius:999px;
  transition:width .25s ease;
}
.api-health-meter > span.level-ok{ background:#22c55e; }
.api-health-meter > span.level-warn{ background:#f59e0b; }
.api-health-meter > span.level-err{ background:#ef4444; }
.api-health-meter > span.level-pending{ background:#6366f1; }
.api-health-meter > span.level-checking{ background:#3b82f6; }
.api-health-meta{
  margin-top:8px;
  font-size:12px;
  font-weight:800;
  color:#64748b;
}
@media (max-width: 880px){
  .api-ws-main{
    padding:12px;
  }
  .api-health-head{
    flex-direction:column;
  }
  .api-health-head-title{
    font-size:26px;
  }
  .api-health-head-sub{
    font-size:16px;
  }
  .api-health-last{
    margin-left:0;
    width:100%;
  }
  .api-health-title{
    font-size:20px;
  }
}
