:root{
  --bg:#f5f7fb; --card:#ffffff; --ink:#132033; --muted:#667085; --line:#e6eaf2;
  --primary:#315cf6; --primary2:#12b6a7; --danger:#e5485d; --soft:#eef3ff;
  --shadow:0 18px 48px rgba(16,24,40,.10); --radius:24px;
}

/* U-FOLIO feature switcher and orthodontic patient import */
.ufolio-feature-nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding: 6px;
  border: 1px solid #e6e0d6;
  border-radius: 20px;
  background: rgba(250, 248, 244, .88);
  box-shadow: 0 12px 32px rgba(55, 48, 37, .06);
}
.ufolio-feature-tab {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 68px;
  padding: 12px 16px;
  border: 1px solid transparent;
  border-radius: 15px;
  background: transparent;
  color: #6e675e;
  text-align: left;
  cursor: pointer;
  transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.ufolio-feature-tab:hover { transform: translateY(-1px); background: #fff; }
.ufolio-feature-tab.active {
  border-color: #ded4c4;
  background: #fff;
  color: #292620;
  box-shadow: 0 8px 22px rgba(75, 64, 47, .08);
}
.ufolio-feature-icon {
  display: grid;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 12px;
  background: #eee9df;
  color: #796c59;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .06em;
}
.ufolio-feature-tab.active .ufolio-feature-icon { background: #3f5148; color: #fff; }
.ufolio-feature-tab > span:last-child { display: grid; gap: 2px; }
.ufolio-feature-tab strong { font-size: 14px; }
.ufolio-feature-tab small { color: #8c857c; font-size: 11px; font-weight: 600; }
.ufolio-subpage { display: grid; gap: 12px; }
.ufolio-subpage[hidden] { display: none !important; }
.ufolio-subpage-heading,
.ufolio-ortho-import-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 17px 19px;
  border: 1px solid #e5ded3;
  border-radius: 18px;
  background: linear-gradient(135deg, #fff 0%, #faf7f1 100%);
}
.ufolio-subpage-heading > div,
.ufolio-ortho-import-head > div { display: grid; gap: 3px; }
.ufolio-subpage-heading span,
.ufolio-ortho-result-head > div:first-child > span,
.ufolio-ortho-review-head span {
  color: #9b704d;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.ufolio-subpage-heading h3,
.ufolio-ortho-import-head h3,
.ufolio-ortho-result-head h3,
.ufolio-ortho-review-head h3 { margin: 0; color: #2e2a24; font-size: 18px; line-height: 1.25; }
.ufolio-subpage-heading p,
.ufolio-ortho-import-head p { margin: 0; color: #817970; font-size: 12px; }
.ufolio-ortho-import-head {
  border-color: #dce5df;
  background:
    radial-gradient(circle at 92% 15%, rgba(169, 189, 176, .25), transparent 30%),
    linear-gradient(135deg, #fbfcfa 0%, #f2f6f2 100%);
}
.ufolio-ortho-import-head .ufolio-eyebrow { color: #61786c; }
.ufolio-ortho-head-actions { display: flex !important; grid-auto-flow: column; align-items: center; justify-content: end; gap: 8px !important; }
.ufolio-ortho-head-actions .ufolio-soft-button { min-height: 42px; border: 1px solid #ccd8d0; background: rgba(255,255,255,.78); color: #486054; box-shadow: none; }
.ufolio-ortho-head-actions .ufolio-soft-button:disabled { cursor: default; opacity: .48; transform: none; }
.ufolio-ortho-crawl-button { min-width: 168px; background: #3e584c !important; box-shadow: none !important; }
.ufolio-ortho-crawl-button:hover { background: #31483e !important; }

.ufolio-ortho-candidates,
.ufolio-ortho-review {
  display: grid;
  gap: 13px;
  padding: 18px;
  border: 1px solid #e7e1d8;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 18px 42px rgba(60, 52, 41, .065);
}
.ufolio-ortho-candidates[hidden],
.ufolio-ortho-review[hidden] { display: none !important; }
.ufolio-ortho-result-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid #eee9e1;
}
.ufolio-ortho-result-head > div:first-child { display: grid; gap: 4px; }
.ufolio-ortho-result-head p { margin: 0; color: #8a8379; font-size: 11px; }
.ufolio-ortho-stat-row { display: flex; gap: 7px; }
.ufolio-ortho-stat-row > span {
  display: grid;
  min-width: 86px;
  gap: 1px;
  padding: 9px 11px;
  border-radius: 13px;
  background: #f6f3ee;
  text-align: right;
}
.ufolio-ortho-stat-row small { color: #948c81; font-size: 9px; font-weight: 800; }
.ufolio-ortho-stat-row strong { color: #3d3933; font-size: 18px; }
.ufolio-ortho-stat-row .accent { background: #eaf1ec; }
.ufolio-ortho-stat-row .accent strong { color: #355849; }
.ufolio-ortho-selectbar,
.ufolio-ortho-nextbar,
.ufolio-ortho-review-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.ufolio-ortho-select-actions { display: flex; flex-wrap: wrap; gap: 7px; }
.ufolio-ortho-selectbar .ufolio-soft-button,
.ufolio-ortho-review .ufolio-soft-button { min-height: 34px; padding: 7px 11px; font-size: 11px; }
#ufolioOrthoSelectedCount { color: #53685d; font-size: 12px; white-space: nowrap; }
.ufolio-ortho-candidate-list { display: grid; gap: 7px; }
.ufolio-ortho-candidate {
  position: relative;
  display: grid;
  grid-template-columns: 24px minmax(150px, 1.1fr) minmax(145px, 1fr) minmax(145px, 1fr) 78px;
  align-items: center;
  gap: 12px;
  min-height: 66px;
  padding: 10px 12px;
  border: 1px solid #ece7df;
  border-radius: 15px;
  background: #fdfcf9;
  cursor: pointer;
  transition: border-color .16s ease, background .16s ease, transform .16s ease;
}
.ufolio-ortho-candidate:hover { transform: translateY(-1px); border-color: #cfdcd4; background: #fff; }
.ufolio-ortho-candidate.masked { border-color: #ead9ca; background: #fffaf5; }
.ufolio-ortho-candidate > input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.ufolio-ortho-checkmark {
  display: grid;
  width: 22px;
  height: 22px;
  place-items: center;
  border: 1.5px solid #b9b2a8;
  border-radius: 8px;
  background: #fff;
}
.ufolio-ortho-candidate > input:checked + .ufolio-ortho-checkmark { border-color: #496758; background: #496758; }
.ufolio-ortho-candidate > input:checked + .ufolio-ortho-checkmark::after { content: '✓'; color: #fff; font-size: 13px; font-weight: 900; }
.ufolio-ortho-patient-main { display: grid; gap: 2px; min-width: 0; }
.ufolio-ortho-patient-main strong { overflow: hidden; color: #2e2b26; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.ufolio-ortho-patient-main em { color: #8e6c50; font-size: 12px; font-style: normal; font-weight: 800; letter-spacing: .025em; }
.ufolio-ortho-personnel { display: grid; gap: 3px; min-width: 0; }
.ufolio-ortho-personnel small { color: #999086; font-size: 9px; font-weight: 800; }
.ufolio-ortho-personnel strong { overflow: hidden; color: #575149; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.ufolio-ortho-source { display: grid; justify-items: end; gap: 3px; }
.ufolio-ortho-source b { padding: 4px 7px; border-radius: 999px; background: #e7f0ea; color: #3f6654; font-size: 9px; }
.ufolio-ortho-candidate.masked .ufolio-ortho-source b { background: #f6e8dc; color: #9a6140; }
.ufolio-ortho-source small { color: #9a9389; font-size: 9px; }
.ufolio-ortho-ocs-match {
  grid-column: 2 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 11px;
  border: 1px solid #e2ddd4;
  border-radius: 12px;
  background: #f7f5f1;
  cursor: default;
}
.ufolio-ortho-ocs-match > span:first-child { display: grid; gap: 2px; }
.ufolio-ortho-ocs-match b { color: #5f5a52; font-size: 11px; }
.ufolio-ortho-ocs-match small { color: #938a7e; font-size: 9px; }
.ufolio-ortho-ocs-match.found { border-color: #bdd5c6; background: #edf6f0; }
.ufolio-ortho-ocs-match.found b { color: #315c49; }
.ufolio-ortho-ocs-match.ambiguous { border-color: #e7d3a7; background: #fff8e8; }
.ufolio-ortho-ocs-match.missing,
.ufolio-ortho-ocs-match.none { border-color: #eaded1; background: #fbf7f2; }
.ufolio-ortho-ocs-identity { display: flex; align-items: baseline; gap: 8px; white-space: nowrap; }
.ufolio-ortho-ocs-identity strong { color: #304f41; font-size: 13px; }
.ufolio-ortho-ocs-identity em { color: #7c6552; font-size: 11px; font-style: normal; font-weight: 800; }
.ufolio-ortho-empty { display: grid; place-items: center; gap: 4px; min-height: 130px; border: 1px dashed #d8d2c9; border-radius: 15px; color: #696259; text-align: center; }
.ufolio-ortho-empty span { color: #9a9288; font-size: 11px; }
.ufolio-ortho-nextbar { padding-top: 4px; }
.ufolio-ortho-nextbar p { margin: 0; color: #8e857a; font-size: 10px; }
.ufolio-ortho-nextbar .ufolio-primary-button { min-width: 210px; background: #3e584c; box-shadow: none; }

.ufolio-ortho-review-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.ufolio-ortho-review-head > div { display: grid; gap: 3px; }
#ufolioOrthoReviewProgress { padding: 7px 11px; border-radius: 999px; background: #eee9e0; color: #6e6457; font-size: 12px; }
.ufolio-ortho-review-card {
  display: grid;
  gap: 15px;
  padding: 20px;
  border: 1px solid #e2ddd4;
  border-radius: 18px;
  background: linear-gradient(145deg, #fff 0%, #fbf9f4 100%);
}
.ufolio-ortho-review-summary { display: flex; align-items: center; gap: 13px; }
.ufolio-ortho-avatar { display: grid; flex: 0 0 46px; width: 46px; height: 46px; place-items: center; border-radius: 16px; background: #405a4e; color: #fff; font-size: 18px; font-weight: 900; }
.ufolio-ortho-review-summary > div { display: grid; gap: 2px; }
.ufolio-ortho-review-summary small { color: #9b9287; font-size: 9px; font-weight: 800; }
.ufolio-ortho-review-summary h4 { margin: 0; color: #302d28; font-size: 18px; }
.ufolio-ortho-review-summary h4 span { margin-left: 6px; color: #9a6b48; font-size: 13px; }
.ufolio-ortho-review-summary p { margin: 0; color: #837c72; font-size: 10px; }
.ufolio-ortho-mask-warning { padding: 9px 11px; border-radius: 11px; background: #fff0e5; color: #9b5b35; font-size: 11px; font-weight: 800; }
.ufolio-ortho-ocs-confirm {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 13px 14px;
  border: 1px solid #bfd5c7;
  border-radius: 14px;
  background: linear-gradient(135deg, #eef7f1, #f8fbf8);
}
.ufolio-ortho-ocs-confirm > div { display: grid; gap: 3px; }
.ufolio-ortho-ocs-confirm small { color: #6c8276; font-size: 9px; font-weight: 800; }
.ufolio-ortho-ocs-confirm strong { color: #315747; font-size: 12px; }
.ufolio-ortho-ocs-confirm p { display: flex; align-items: baseline; gap: 8px; margin: 2px 0 0; }
.ufolio-ortho-ocs-confirm p b { color: #263f35; font-size: 15px; }
.ufolio-ortho-ocs-confirm p em { color: #8a664e; font-size: 12px; font-style: normal; font-weight: 800; }
.ufolio-ortho-ocs-confirm p span { padding: 3px 6px; border-radius: 999px; background: #fff; color: #62766b; font-size: 9px; font-weight: 800; }
.ufolio-ortho-ocs-confirm .ufolio-primary-button { flex: 0 0 auto; min-width: 164px; background: #3e584c; box-shadow: none; }
.ufolio-ortho-ocs-confirm.confirmed { border-color: #91b7a2; background: #e4f2e9; }
.ufolio-ortho-ocs-confirm.confirmed .ufolio-primary-button { background: #6b8175; }
.ufolio-ortho-review-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.ufolio-ortho-review-fields > label { display: grid; gap: 5px; color: #756d63; font-size: 10px; font-weight: 800; }
.ufolio-ortho-review-fields input[type='text'] { width: 100%; min-height: 42px; padding: 9px 11px; border: 1px solid #dcd5cb; border-radius: 12px; background: #fff; color: #37332e; font: inherit; font-size: 13px; }
.ufolio-ortho-review-fields fieldset { display: flex; align-items: center; gap: 7px; margin: 0; padding: 8px; border: 1px solid #e4ded5; border-radius: 13px; }
.ufolio-ortho-review-fields legend { padding: 0 4px; color: #756d63; font-size: 10px; font-weight: 800; }
.ufolio-ortho-review-fields fieldset label { flex: 1; cursor: pointer; }
.ufolio-ortho-review-fields fieldset input { position: absolute; opacity: 0; }
.ufolio-ortho-review-fields fieldset span { display: grid; min-height: 32px; place-items: center; border: 1px solid #ddd6cc; border-radius: 9px; background: #fff; color: #766e64; font-size: 11px; font-weight: 800; }
.ufolio-ortho-review-fields fieldset input:checked + span { border-color: #496758; background: #e7f0eb; color: #355548; }
.ufolio-ortho-review-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.ufolio-ortho-review-meta > span { display: grid; gap: 2px; padding: 9px 11px; border-radius: 11px; background: #f2efe9; }
.ufolio-ortho-review-meta small { color: #9b9287; font-size: 9px; font-weight: 800; }
.ufolio-ortho-review-meta strong { color: #5b544b; font-size: 11px; }
.ufolio-ortho-review-actions { justify-content: flex-end; }
.ufolio-ortho-review-actions .ufolio-primary-button { min-width: 150px; background: #3e584c; box-shadow: none; }

body.ufolio-ortho-all-open { overflow: hidden; }
.ufolio-ortho-all-modal[hidden] { display: none !important; }
.ufolio-ortho-all-modal { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 22px; }
.ufolio-ortho-all-backdrop { position: absolute; inset: 0; background: rgba(31, 36, 33, .54); backdrop-filter: blur(7px); }
.ufolio-ortho-all-dialog {
  position: relative;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  width: min(1060px, 100%);
  max-height: min(88vh, 900px);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.82);
  border-radius: 24px;
  background: #f8f7f3;
  box-shadow: 0 34px 90px rgba(18, 24, 21, .3);
}
.ufolio-ortho-all-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 20px 22px 16px; border-bottom: 1px solid #e5e0d8; background: linear-gradient(135deg,#fff,#f0f5f1); }
.ufolio-ortho-all-head > div { display: grid; gap: 3px; }
.ufolio-ortho-all-head span { color: #6e8578; font-size: 9px; font-weight: 900; letter-spacing: .14em; }
.ufolio-ortho-all-head h3 { margin: 0; color: #292d2a; font-size: 21px; }
.ufolio-ortho-all-head p { margin: 0; color: #837d75; font-size: 11px; }
.ufolio-ortho-all-close { display: grid; flex: 0 0 36px; width: 36px; height: 36px; place-items: center; padding: 0; border: 1px solid #ded9d1; border-radius: 12px; background: #fff; color: #67625b; box-shadow: none; font-size: 22px; line-height: 1; }
.ufolio-ortho-all-tools { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 12px 22px; border-bottom: 1px solid #e8e3dc; background: #fff; }
.ufolio-ortho-all-tools input { margin: 0; min-height: 40px; border-color: #ddd8cf; background: #fbfaf7; font-size: 12px; }
.ufolio-ortho-all-tools strong { min-width: 68px; color: #4a6256; font-size: 13px; text-align: right; }
.ufolio-ortho-all-list { display: grid; align-content: start; gap: 8px; min-height: 160px; padding: 14px 16px 18px; overflow: auto; }
.ufolio-ortho-all-row { display: grid; grid-template-columns: 32px minmax(135px,.9fr) minmax(145px,1fr) minmax(145px,1fr) minmax(190px,1.4fr); align-items: center; gap: 10px; padding: 11px 12px; border: 1px solid #e5e0d8; border-radius: 15px; background: #fff; }
.ufolio-ortho-all-row.masked { border-color: #ead6c6; background: #fff9f3; }
.ufolio-ortho-all-row.failed { border-color: #efc8c8; background: #fff7f7; }
.ufolio-ortho-all-index { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 9px; background: #edf1ee; color: #617066; font-size: 10px; font-weight: 900; }
.ufolio-ortho-all-patient { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 2px 6px; min-width: 0; }
.ufolio-ortho-all-patient strong { overflow: hidden; color: #302d29; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.ufolio-ortho-all-patient em { color: #8c674b; font-size: 11px; font-style: normal; font-weight: 800; }
.ufolio-ortho-all-patient b { grid-column: 1 / -1; justify-self: start; padding: 3px 6px; border-radius: 999px; background: #e9f0eb; color: #496456; font-size: 8px; }
.ufolio-ortho-all-row.masked .ufolio-ortho-all-patient b { background: #f5e4d8; color: #9a5e3b; }
.ufolio-ortho-all-row.failed .ufolio-ortho-all-patient b { background: #f9dddd; color: #a24040; }
.ufolio-ortho-all-field { display: grid; gap: 2px; min-width: 0; }
.ufolio-ortho-all-field small { color: #9a9288; font-size: 8px; font-weight: 800; }
.ufolio-ortho-all-field strong { overflow: hidden; color: #5a554e; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.ufolio-ortho-all-meta { grid-column: 2 / -1; display: flex; flex-wrap: wrap; gap: 5px; }
.ufolio-ortho-all-meta span { padding: 3px 6px; border-radius: 7px; background: #f2f0eb; color: #817b73; font-size: 8px; font-weight: 800; }

@media (max-width: 880px) {
  .ufolio-ortho-result-head { align-items: stretch; flex-direction: column; }
  .ufolio-ortho-stat-row { width: 100%; }
  .ufolio-ortho-stat-row > span { flex: 1; text-align: left; }
  .ufolio-ortho-candidate { grid-template-columns: 24px 1fr 1fr; }
  .ufolio-ortho-patient-main { grid-column: 2 / 4; }
  .ufolio-ortho-personnel { grid-column: 2 / 3; }
  .ufolio-ortho-source { grid-column: 3; grid-row: 3; }
  .ufolio-ortho-ocs-match { grid-column: 2 / -1; }
  .ufolio-ortho-all-row { grid-template-columns: 28px 1fr 1fr; }
  .ufolio-ortho-all-field.wide { grid-column: 2 / -1; }
}
@media (max-width: 640px) {
  .ufolio-feature-nav { grid-template-columns: 1fr; }
  .ufolio-subpage-heading,
  .ufolio-ortho-import-head { align-items: stretch; flex-direction: column; }
  .ufolio-ortho-head-actions { grid-auto-flow: row; grid-template-columns: 1fr; width: 100%; }
  .ufolio-ortho-head-actions button,
  .ufolio-ortho-crawl-button { width: 100%; }
  .ufolio-ortho-candidates,
  .ufolio-ortho-review { padding: 13px; border-radius: 16px; }
  .ufolio-ortho-stat-row { display: grid; grid-template-columns: repeat(3, 1fr); }
  .ufolio-ortho-stat-row > span { min-width: 0; padding: 7px; }
  .ufolio-ortho-selectbar,
  .ufolio-ortho-nextbar { align-items: stretch; flex-direction: column; }
  .ufolio-ortho-nextbar .ufolio-primary-button { width: 100%; }
  .ufolio-ortho-candidate { grid-template-columns: 22px 1fr; gap: 8px; }
  .ufolio-ortho-patient-main,
  .ufolio-ortho-personnel,
  .ufolio-ortho-source { grid-column: 2; grid-row: auto; justify-items: start; }
  .ufolio-ortho-ocs-match { grid-column: 2; align-items: flex-start; flex-direction: column; }
  .ufolio-ortho-ocs-confirm { align-items: stretch; flex-direction: column; }
  .ufolio-ortho-ocs-confirm .ufolio-primary-button { width: 100%; }
  .ufolio-ortho-review-fields,
  .ufolio-ortho-review-meta { grid-template-columns: 1fr; }
  .ufolio-ortho-review-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .ufolio-ortho-all-modal { padding: 8px; }
  .ufolio-ortho-all-dialog { max-height: 94vh; border-radius: 18px; }
  .ufolio-ortho-all-head { padding: 16px; }
  .ufolio-ortho-all-tools { grid-template-columns: 1fr; padding: 10px 14px; }
  .ufolio-ortho-all-tools strong { text-align: left; }
  .ufolio-ortho-all-list { padding: 10px; }
  .ufolio-ortho-all-row { grid-template-columns: 26px 1fr; }
  .ufolio-ortho-all-field,
  .ufolio-ortho-all-field.wide,
  .ufolio-ortho-all-meta { grid-column: 2; }
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR",Arial,sans-serif;color:var(--ink);background:radial-gradient(circle at 8% 0%,rgba(49,92,246,.18),transparent 30rem),radial-gradient(circle at 92% 8%,rgba(18,182,167,.14),transparent 30rem),linear-gradient(180deg,#fbfcff 0%,var(--bg) 100%);min-height:100vh;}
a{color:inherit;text-decoration:none}.shell{width:min(1240px,calc(100% - 32px));margin:0 auto;padding:28px 0 60px}.hero{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:stretch;margin-bottom:18px}.hero-main,.hero-side,.panel,.page{background:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.8);box-shadow:var(--shadow);border-radius:var(--radius);backdrop-filter:blur(16px)}.hero-main{padding:34px;position:relative;overflow:hidden}.hero-main:after{content:"";position:absolute;right:-80px;bottom:-110px;width:260px;height:260px;border-radius:50%;background:linear-gradient(135deg,rgba(49,92,246,.18),rgba(18,182,167,.18))}.eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 16px;padding:8px 13px;border-radius:999px;background:rgba(49,92,246,.09);color:var(--primary);font-weight:900;font-size:13px;letter-spacing:.02em}.hero h1{margin:0;font-size:clamp(34px,5vw,60px);line-height:1.04;letter-spacing:-.06em}.hero h1 span{display:block;font-size:clamp(17px,2.2vw,24px);letter-spacing:-.03em;color:#344054;margin-top:10px}.hero-text{position:relative;z-index:1;margin:18px 0 0;max-width:760px;color:var(--muted);font-size:17px;line-height:1.7;word-break:keep-all}.hero-side{padding:24px;display:flex;flex-direction:column;gap:14px;justify-content:space-between}.side-title{display:flex;flex-direction:column;gap:6px}.side-title strong{font-size:18px}.side-title span,.small{color:var(--muted);font-size:14px;line-height:1.6}.admin-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:15px 18px;border-radius:18px;background:linear-gradient(135deg,var(--primary),#6c7cff);color:white;font-weight:950;box-shadow:0 15px 30px rgba(49,92,246,.25);transition:.18s}.admin-button:hover{transform:translateY(-2px);box-shadow:0 20px 38px rgba(49,92,246,.32)}.admin-button.secondary-link{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:none}.meta-pill{display:inline-flex;padding:9px 12px;border-radius:999px;background:#f2f5fa;color:#475467;font-weight:800;font-size:13px}.panel{padding:24px;margin-bottom:18px}.server-panel{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.global-filter-panel{position:relative;z-index:3}.compact-head{align-items:center;margin-bottom:14px}.global-dept-selector{padding-top:2px}.status{min-height:24px;color:#475467;font-size:14px;line-height:1.6}.tabs{display:flex;gap:10px;padding:8px;margin:16px 0 18px;background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.85);border-radius:19px;box-shadow:0 10px 30px rgba(16,24,40,.07);position:sticky;top:10px;z-index:20;backdrop-filter:blur(15px);overflow-x:auto}.tab{border:0;background:transparent;color:var(--muted);padding:13px 16px;border-radius:14px;font-weight:900;white-space:nowrap;cursor:pointer}.tab.active{background:var(--ink);color:white}.page{display:none;padding:24px}.page.active{display:block}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.kpi{padding:20px;border-radius:20px;background:linear-gradient(180deg,#fff,#f8faff);border:1px solid var(--line)}.kpi span{display:block;color:var(--muted);font-weight:800;font-size:13px}.kpi strong{display:block;margin-top:7px;font-size:34px;letter-spacing:-.05em}.panel-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:18px}.panel-head h2{margin:0;font-size:25px;letter-spacing:-.04em}.panel-head p{margin:6px 0 0;color:var(--muted);line-height:1.6}.select-label{font-weight:900;font-size:14px;color:#344054}.select-label select,select,input[type="text"],input[type="time"],input[type="password"],input[type="file"]{margin-top:8px;width:100%;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);padding:12px 13px;font-size:15px;outline:none}input:focus,select:focus{border-color:rgba(49,92,246,.55);box-shadow:0 0 0 4px rgba(49,92,246,.08)}button{border:0;border-radius:14px;padding:12px 15px;font-weight:900;cursor:pointer;background:var(--primary);color:white;transition:.16s}button:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(16,24,40,.14)}button.secondary,.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}button.danger{color:var(--danger);border-color:rgba(229,72,93,.25)}.dept-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}.dept-selector{display:flex;gap:8px;flex-wrap:wrap}.dept-check{display:inline-flex;align-items:center;gap:7px;padding:9px 11px;border:1px solid var(--line);border-radius:999px;background:#fff;font-weight:850;font-size:13px}.dept-check input{accent-color:var(--primary)}.toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}.chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.chart-card{padding:18px;border:1px solid var(--line);border-radius:22px;background:#fff}.chart-card h3{margin:0 0 4px;font-size:20px}.chart-canvas-wrap{height:330px;margin-top:10px}.chart-canvas-wrap canvas{display:block}.search-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;margin:14px 0}.table-wrap{max-height:640px;overflow:auto;border:1px solid var(--line);border-radius:18px;background:#fff}table{width:100%;min-width:720px;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:14px}thead th{position:sticky;top:0;z-index:5;background:#f8faff;color:#344054;text-align:left;padding:10px 9px;border-bottom:1px solid var(--line);font-weight:950;white-space:nowrap}tbody td{padding:8px 7px;border-bottom:1px solid #edf1f7;vertical-align:top;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.col-dept{width:78px}.col-time{width:70px}.col-patient-no{width:84px}.col-patient-name{width:82px}.col-resident{width:78px}.col-treatment{width:190px}.col-conservative{width:82px}.treatment-cell{max-width:190px;min-width:0;white-space:normal;line-height:1.28;word-break:keep-all;overflow-wrap:anywhere;text-overflow:clip}.list-note{margin:10px 2px 0;color:#667085;font-size:13px;font-weight:800}tbody tr:hover{background:#fbfcff}tbody tr.hit{background:#fff0f2!important;outline:2px solid rgba(229,72,93,.2)}.dept-pill{display:inline-flex;padding:5px 9px;border-radius:999px;background:var(--soft);color:var(--primary);font-weight:900}.empty{padding:28px;text-align:center;color:var(--muted);background:#fbfcff;border:1px dashed var(--line);border-radius:18px}.time-input-row{display:flex;gap:10px;align-items:end}.winner-card{padding:24px;border-radius:24px;background:linear-gradient(135deg,#14213d,#263b80);color:#fff;margin-bottom:16px}.winner-card span{opacity:.75;font-weight:900}.winner-card strong{display:block;margin-top:8px;font-size:42px;letter-spacing:-.06em}.winner-card p{margin:8px 0 0;opacity:.88}.rank-list{display:flex;flex-direction:column;gap:10px}.rank-item{display:grid;grid-template-columns:120px minmax(0,1fr) 70px;gap:12px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:16px;background:#fff}.bar{height:12px;border-radius:999px;background:#edf1f7;overflow:hidden}.bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--primary2))}.upload-card{max-width:980px;margin:0 auto}.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.upload-grid .wide{grid-column:1/-1}.file-card{padding:18px;border:1.5px dashed rgba(49,92,246,.35);border-radius:20px;background:#f7f9ff}.btn-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.clear-box{padding:18px;border-radius:20px;background:#fff7f8;border:1px solid rgba(229,72,93,.16);margin-top:18px}.as-link{display:inline-flex;align-items:center;justify-content:center;border-radius:14px;padding:12px 15px;font-weight:900}.saved-info{margin-top:12px;padding:12px 14px;border-radius:14px;background:#f2f5fa;color:#475467;font-weight:800}
.list-dept-panel{margin:4px 0 14px;padding:14px;border:1px solid var(--line);border-radius:18px;background:#fbfcff}.list-dept-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.list-dept-head strong{display:block;font-size:15px}.list-dept-head span{display:block;margin-top:4px;color:var(--muted);font-size:13px;line-height:1.5}.list-dept-selector{max-height:118px;overflow:auto;padding:2px}
@media (max-width:900px){.shell{width:min(100% - 22px,1240px);padding-top:16px}.hero{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-grid{grid-template-columns:1fr}.dept-toolbar{display:block}.toolbar-actions{margin-top:10px}.upload-grid{grid-template-columns:1fr}.server-panel{align-items:stretch}.search-row{grid-template-columns:1fr}.rank-item{grid-template-columns:80px 1fr 58px}.hero-main{padding:26px}.page,.panel{padding:18px}}
@media (max-width:520px){.kpi-grid{grid-template-columns:1fr}.hero h1{font-size:34px}.winner-card strong{font-size:32px}.chart-canvas-wrap{height:300px}.tabs{top:0;border-radius:0;margin-left:-11px;margin-right:-11px}.table-wrap{max-height:560px}}

/* v10 refinements */
.sync-strip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 14px;padding:10px 14px;border:1px solid rgba(255,255,255,.85);border-radius:18px;background:rgba(255,255,255,.68);box-shadow:0 10px 26px rgba(16,24,40,.06);backdrop-filter:blur(14px)}
.sync-strip .status{min-height:auto;font-size:13px;line-height:1.4}
.list-controls{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.list-controls .select-label{min-width:118px}
.remaining-actions{align-items:flex-end;flex-wrap:wrap;justify-content:flex-end}
.tiny-refresh{padding:10px 12px;font-size:12px;border-radius:12px;box-shadow:none;min-width:auto}
.table-wrap.scale-100 table{font-size:14px}.table-wrap.scale-90 table{font-size:12.6px}.table-wrap.scale-80 table{font-size:11.2px}.table-wrap.scale-70 table{font-size:9.8px}
.table-wrap.scale-90 th,.table-wrap.scale-90 td{padding:8px 7px}.table-wrap.scale-80 th,.table-wrap.scale-80 td{padding:7px 6px}.table-wrap.scale-70 th,.table-wrap.scale-70 td{padding:6px 5px}
.table-wrap.scale-70 .dept-pill,.table-wrap.scale-80 .dept-pill{padding:4px 7px}
@media (max-width:620px){.sync-strip{padding:9px 11px}.list-controls{width:100%;display:grid;grid-template-columns:1fr 1fr}.remaining-actions{width:100%;display:grid;grid-template-columns:1fr auto auto}.tiny-refresh{padding:10px 10px}.table-wrap{max-height:62vh}.table-wrap table{min-width:720px}}

/* v17 list compactness */
.table-wrap.scale-90 .treatment-cell{max-width:170px}.table-wrap.scale-80 .treatment-cell{max-width:155px}.table-wrap.scale-70 .treatment-cell{max-width:140px}.table-wrap.scale-90 .col-treatment{width:170px}.table-wrap.scale-80 .col-treatment{width:155px}.table-wrap.scale-70 .col-treatment{width:140px}
@media (max-width:620px){table{min-width:620px}.treatment-cell{max-width:160px;min-width:0}.table-wrap.scale-70 .treatment-cell{max-width:120px;min-width:0}.col-patient-no{width:72px}.col-patient-name{width:70px}.col-resident{width:68px}.col-treatment{width:140px}}

/* v21 professor pick page */
.professor-controls{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}
.professor-controls .select-label{min-width:180px}
.professor-summary-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:4px 0 14px}
.professor-table-wrap{max-height:640px}
.professor-table-wrap table{min-width:650px;font-size:9.8px}
.professor-table-wrap th,.professor-table-wrap td{padding:6px 5px}
.professor-table-wrap .col-treatment{width:150px}
.professor-table-wrap .treatment-cell{max-width:150px;white-space:normal;line-height:1.28;word-break:keep-all;overflow-wrap:anywhere;text-overflow:clip}
@media (max-width:620px){.professor-controls{display:grid;grid-template-columns:1fr 1fr;width:100%}.professor-controls .select-label{min-width:0}.professor-table-wrap table{min-width:620px}.professor-table-wrap .col-treatment{width:130px}.professor-table-wrap .treatment-cell{max-width:130px}}

/* v22: 전공의 진료 리스트 모바일 가독성 개선 */
#apptTableWrap table{min-width:520px;}
#apptTableWrap.list-mode-detail table{min-width:560px;}
#apptTableWrap.list-mode-simple table{min-width:430px;}
#apptTableWrap th,#apptTableWrap td{padding:5px 4px;}
#apptTableWrap.scale-70 th,#apptTableWrap.scale-70 td{padding:4px 3px;}
#apptTableWrap .col-dept{width:58px;}
#apptTableWrap .col-time{width:54px;}
#apptTableWrap .col-patient-no{width:58px;}
#apptTableWrap .col-patient-name{width:58px;}
#apptTableWrap .col-resident{width:58px;}
#apptTableWrap .col-conservative{width:58px;}
#apptTableWrap .col-treatment{width:118px;}
#apptTableWrap .treatment-cell{max-width:118px;line-height:1.18;}
#apptTableWrap.list-mode-simple .col-time{width:54px;}
#apptTableWrap.list-mode-simple .col-patient-name{width:68px;}
#apptTableWrap.list-mode-simple .col-resident{width:62px;}
#apptTableWrap.list-mode-simple .col-treatment{width:190px;}
#apptTableWrap.list-mode-simple .treatment-cell{max-width:190px;}
@media (max-width:620px){
  .list-controls{grid-template-columns:1fr 1fr 1fr;}
  #apptTableWrap table{min-width:430px;}
  #apptTableWrap.list-mode-detail table{min-width:540px;}
  #apptTableWrap.list-mode-simple table{min-width:410px;}
  #apptTableWrap .col-treatment{width:105px;}
  #apptTableWrap .treatment-cell{max-width:105px;}
  #apptTableWrap.list-mode-simple .col-treatment{width:185px;}
  #apptTableWrap.list-mode-simple .treatment-cell{max-width:185px;}
}


/* v23: 보존 endo / operative 색상 표시 */
.color-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px;padding:10px 12px;border:1px solid var(--line);border-radius:16px;background:#fbfcff}
.color-tools-title{font-size:13px;font-weight:950;color:#344054;margin-right:2px}
.color-action{padding:9px 11px;font-size:12px;border-radius:12px;box-shadow:none}
.color-action.active{transform:none;box-shadow:0 0 0 3px rgba(49,92,246,.10)}
.color-action.color-endo.active{border-color:rgba(49,92,246,.55);color:#1d4ed8;background:#eff6ff}
.color-action.color-operative.active{border-color:rgba(18,183,106,.55);color:#027a48;background:#f0fff6}
#apptTable tbody tr.cons-color-endo td{background:#dbeafe!important;color:#1d4ed8;font-weight:850}
#apptTable tbody tr.cons-color-operative td{background:#dcfae6!important;color:#027a48;font-weight:850}
#apptTable tbody tr.cons-color-endo td.col-treatment,
#apptTable tbody tr.cons-color-endo td.col-conservative,
#apptTable tbody tr.cons-color-operative td.col-treatment,
#apptTable tbody tr.cons-color-operative td.col-conservative{font-weight:950}
#apptTable tbody tr.cons-color-endo.hit td{background:#bfdbfe!important}
#apptTable tbody tr.cons-color-operative.hit td{background:#c7f7d8!important}
@media (max-width:620px){.color-tools{gap:6px;padding:8px}.color-tools-title{width:100%}.color-action{padding:8px 9px;font-size:11px}}


/* v24: 리스트 현재 시각 이후 필터 */
.list-time-panel{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:-4px 0 12px;padding:10px 12px;border:1px solid var(--line);border-radius:16px;background:#fff}
.time-filter-action{padding:12px 18px;font-size:13px;border-radius:999px;font-weight:950;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;border:0;box-shadow:0 12px 28px rgba(37,99,235,.28);letter-spacing:-.01em}
.time-filter-action:hover{transform:translateY(-1px);box-shadow:0 16px 32px rgba(37,99,235,.34)}
.time-filter-action.active{background:linear-gradient(135deg,#ef4444,#f97316);color:#fff;border:0;box-shadow:0 14px 30px rgba(239,68,68,.28)}
@media (max-width:620px){.list-time-panel{padding:8px}.time-filter-action{width:100%;justify-content:center;font-size:13px;padding:13px 14px}}

/* v28: 보철/소치 토탈 환자 표시 */
.total-filter-action.active{background:#344054;color:#fff;border-color:#344054;box-shadow:none}
#apptTable tbody tr.total-dim-row td{opacity:.42;background:#f4f6f8!important;color:#667085!important;font-weight:700}
#apptTable tbody tr.total-dim-row:hover td{opacity:.62}
#apptTable tbody tr.total-dim-row.hit td{background:#fff0f2!important;opacity:.55}

/* v31: 전공의 리스트 과별 페이지 */
.list-page-panel{margin:0 0 12px;padding:12px;border:1px solid var(--line);border-radius:18px;background:#fbfcff}
.resident-dept-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.dept-page-tab{border:1px solid var(--line);background:#fff;color:#344054;border-radius:999px;padding:9px 13px;font-weight:900;font-size:13px;cursor:pointer;box-shadow:0 6px 16px rgba(16,24,40,.05)}
.dept-page-tab.active{background:#162033;color:#fff;border-color:#162033;box-shadow:0 10px 22px rgba(22,32,51,.18)}
.dept-page-tab.all-tab{border-color:rgba(49,92,246,.28);color:#315cf6;background:#f5f7ff}
.dept-page-tab.all-tab.active{background:#315cf6;color:#fff;border-color:#315cf6}
#overallListDeptPanel{display:none}
@media (max-width:620px){.resident-dept-tabs{gap:6px}.dept-page-tab{padding:8px 10px;font-size:12px}.list-page-panel{padding:10px}}


/* v32: 전공의 진료 리스트 더 조밀하게, 과별 페이지에서는 과 칸 숨김 */
#apptTableWrap th,#apptTableWrap td{padding:3px 2px;}
#apptTableWrap.scale-100 th,#apptTableWrap.scale-100 td{padding:4px 3px;}
#apptTableWrap.scale-90 th,#apptTableWrap.scale-90 td{padding:3.5px 2.5px;}
#apptTableWrap.scale-80 th,#apptTableWrap.scale-80 td{padding:3px 2px;}
#apptTableWrap.scale-70 th,#apptTableWrap.scale-70 td{padding:2px 2px;}
#apptTableWrap table{border-spacing:0;font-size:13px;}
#apptTableWrap.scale-90 table{font-size:11.7px;}
#apptTableWrap.scale-80 table{font-size:10.4px;}
#apptTableWrap.scale-70 table{font-size:9px;}
#apptTableWrap.list-mode-detail table{min-width:500px;}
#apptTableWrap.list-mode-simple table{min-width:390px;}
#apptTableWrap .col-time{width:48px;}
#apptTableWrap .col-patient-no{width:52px;}
#apptTableWrap .col-patient-name{width:52px;}
#apptTableWrap .col-resident{width:52px;}
#apptTableWrap .col-conservative{width:52px;}
#apptTableWrap .col-treatment{width:100px;}
#apptTableWrap .treatment-cell{max-width:100px;line-height:1.12;}
#apptTableWrap.list-mode-simple .col-time{width:48px;}
#apptTableWrap.list-mode-simple .col-patient-name{width:60px;}
#apptTableWrap.list-mode-simple .col-resident{width:54px;}
#apptTableWrap.list-mode-simple .col-treatment{width:170px;}
#apptTableWrap.list-mode-simple .treatment-cell{max-width:170px;}
#apptTableWrap .dept-pill{padding:3px 6px;font-size:.92em;}
#apptTableWrap tbody td{line-height:1.14;}
.list-note{font-size:12px;line-height:1.45;margin-top:8px;}
@media (max-width:620px){
  #apptTableWrap.list-mode-detail table{min-width:490px;}
  #apptTableWrap.list-mode-simple table{min-width:380px;}
  #apptTableWrap .col-time{width:45px;}
  #apptTableWrap .col-patient-no{width:48px;}
  #apptTableWrap .col-patient-name{width:50px;}
  #apptTableWrap .col-resident{width:50px;}
  #apptTableWrap .col-treatment{width:95px;}
  #apptTableWrap .treatment-cell{max-width:95px;}
  #apptTableWrap.list-mode-simple .col-treatment{width:165px;}
  #apptTableWrap.list-mode-simple .treatment-cell{max-width:165px;}
}


/* v33: 전공의 진료 리스트 표 디자인 재정리 - compact but polished */
#apptTableWrap{
  border:1px solid rgba(49,92,246,.12);
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfcff 100%);
  box-shadow:0 10px 28px rgba(16,24,40,.07);
}
#apptTableWrap table{
  border-collapse:separate;
  border-spacing:0;
  font-size:13px;
  letter-spacing:-.01em;
}
#apptTableWrap thead th{
  background:linear-gradient(180deg,#f7f9ff 0%,#eef3ff 100%);
  color:#263247;
  border-bottom:1px solid rgba(49,92,246,.16);
  box-shadow:0 1px 0 rgba(255,255,255,.8) inset;
  padding:7px 6px;
  font-weight:950;
  line-height:1.25;
}
#apptTableWrap tbody td{
  padding:6px 5px;
  line-height:1.24;
  border-bottom:1px solid rgba(230,234,242,.82);
  color:#263247;
  background:#fff;
}
#apptTableWrap tbody tr:nth-child(even) td{background:#fcfdff;}
#apptTableWrap tbody tr:hover td{background:#f4f7ff;}
#apptTableWrap tbody tr:last-child td{border-bottom:0;}
#apptTableWrap .dept-pill{
  padding:4px 7px;
  border-radius:999px;
  background:#eef4ff;
  color:#315cf6;
  font-size:.9em;
  box-shadow:inset 0 0 0 1px rgba(49,92,246,.08);
}
#apptTableWrap .treatment-cell{
  line-height:1.26;
  word-break:keep-all;
  overflow-wrap:anywhere;
}
#apptTableWrap.scale-100 table{font-size:13px;}
#apptTableWrap.scale-90 table{font-size:12px;}
#apptTableWrap.scale-80 table{font-size:11px;}
#apptTableWrap.scale-70 table{font-size:10px;}
#apptTableWrap.scale-100 th,#apptTableWrap.scale-100 td{padding:7px 6px;}
#apptTableWrap.scale-90 th,#apptTableWrap.scale-90 td{padding:6px 5px;}
#apptTableWrap.scale-80 th,#apptTableWrap.scale-80 td{padding:5px 4px;}
#apptTableWrap.scale-70 th,#apptTableWrap.scale-70 td{padding:4px 3.5px;}
#apptTableWrap .col-time{width:50px;}
#apptTableWrap .col-patient-no{width:56px;}
#apptTableWrap .col-patient-name{width:56px;}
#apptTableWrap .col-resident{width:56px;}
#apptTableWrap .col-conservative{width:56px;}
#apptTableWrap .col-treatment{width:112px;}
#apptTableWrap .treatment-cell{max-width:112px;}
#apptTableWrap.list-mode-detail table{min-width:535px;}
#apptTableWrap.list-mode-simple table{min-width:410px;}
#apptTableWrap.list-mode-simple .col-time{width:52px;}
#apptTableWrap.list-mode-simple .col-patient-name{width:66px;}
#apptTableWrap.list-mode-simple .col-resident{width:60px;}
#apptTableWrap.list-mode-simple .col-treatment{width:185px;}
#apptTableWrap.list-mode-simple .treatment-cell{max-width:185px;}
#apptTableWrap tbody tr.cons-color-endo td{background:#dbeafe!important;color:#1e40af;font-weight:850;}
#apptTableWrap tbody tr.cons-color-operative td{background:#dcfce7!important;color:#166534;font-weight:850;}
#apptTableWrap tbody tr.total-dim-row td{opacity:.48;background:#f3f4f6!important;color:#667085!important;}
#apptTableWrap tbody tr.hit td{background:#fff1f3!important;outline:0;box-shadow:inset 3px 0 0 rgba(229,72,93,.55);}
@media (max-width:620px){
  #apptTableWrap{border-radius:16px;}
  #apptTableWrap thead th{padding:5px 4px;font-size:10px;}
  #apptTableWrap tbody td{padding:4px 3px;line-height:1.22;}
  #apptTableWrap.scale-70 table{font-size:9.5px;}
  #apptTableWrap.list-mode-detail table{min-width:520px;}
  #apptTableWrap.list-mode-simple table{min-width:395px;}
  #apptTableWrap .col-time{width:48px;}
  #apptTableWrap .col-patient-no{width:52px;}
  #apptTableWrap .col-patient-name{width:54px;}
  #apptTableWrap .col-resident{width:54px;}
  #apptTableWrap .col-treatment{width:108px;}
  #apptTableWrap .treatment-cell{max-width:108px;}
  #apptTableWrap.list-mode-simple .col-treatment{width:180px;}
  #apptTableWrap.list-mode-simple .treatment-cell{max-width:180px;}
}


/* v36: 전공의 진료 리스트 글씨 크기 보정 - 모바일 가독성 개선 */
#apptTableWrap table{font-size:14px;}
#apptTableWrap.scale-100 table{font-size:14px;}
#apptTableWrap.scale-90 table{font-size:13px;}
#apptTableWrap.scale-80 table{font-size:12px;}
#apptTableWrap.scale-70 table{font-size:11px;}
#apptTableWrap thead th{font-size:inherit;line-height:1.28;}
#apptTableWrap tbody td{line-height:1.28;}
#apptTableWrap .treatment-cell{line-height:1.32;}
@media (max-width:620px){
  #apptTableWrap table{font-size:13px;}
  #apptTableWrap.scale-100 table{font-size:13px;}
  #apptTableWrap.scale-90 table{font-size:12px;}
  #apptTableWrap.scale-80 table{font-size:11px;}
  #apptTableWrap.scale-70 table{font-size:10.5px;}
  #apptTableWrap thead th{font-size:inherit;}
  #apptTableWrap tbody td{line-height:1.26;}
}

.conservative-count-badge {
  align-items: center;
  min-height: 30px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(49, 130, 206, 0.10);
  border: 1px solid rgba(49, 130, 206, 0.18);
  color: #1f4f82;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}
@media (max-width: 720px) {
  .conservative-count-badge {
    width: 100%;
    justify-content: center;
    white-space: normal;
  }
}
.hint-inline { display:inline-block; margin-left:6px; font-size:12px; font-weight:700; color:#64748b; }

/* 개인 교정 토탈 관리 */
.personal-auth-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.personal-card {
  border: 1px solid rgba(148, 163, 184, .28);
  background: rgba(255,255,255,.86);
  border-radius: 18px;
  padding: 18px;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .06);
}
.personal-card h3,
.personal-table-head h3 {
  margin: 0 0 12px;
  font-size: 1.05rem;
}
.personal-card label,
.personal-add-grid label {
  display: grid;
  gap: 7px;
  font-weight: 800;
  color: #334155;
  margin-bottom: 12px;
}
.personal-card input,
.personal-add-grid input,
.personal-date-input,
.personal-time-input {
  width: 100%;
  border: 1px solid rgba(148, 163, 184, .45);
  border-radius: 12px;
  padding: 10px 12px;
  background: #fff;
  font: inherit;
}
.personal-app {
  margin-top: 6px;
}
.personal-topbar,
.personal-table-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(239,246,255,.9), rgba(248,250,252,.92));
  border: 1px solid rgba(148, 163, 184, .22);
  margin-bottom: 14px;
}
.personal-topbar div,
.personal-table-head div {
  display: grid;
  gap: 3px;
}
.personal-topbar span,
.personal-table-head p {
  margin: 0;
  font-size: .86rem;
  color: #64748b;
}
.personal-add-grid {
  display: grid;
  grid-template-columns: minmax(120px, 1fr) minmax(120px, 1fr) 150px auto;
  gap: 12px;
  align-items: end;
  margin-bottom: 16px;
}
.personal-add-grid button {
  min-height: 42px;
}
.personal-table-wrap table {
  font-size: .92rem;
}
.personal-table-wrap th,
.personal-table-wrap td {
  padding: 8px 10px;
}
.personal-status {
  margin-top: 14px;
}
@media (max-width: 760px) {
  .personal-auth-grid,
  .personal-add-grid {
    grid-template-columns: 1fr;
  }
  .personal-topbar,
  .personal-table-head {
    align-items: stretch;
    flex-direction: column;
  }
}

/* v45 개인 교정 토탈 관리 보완 */
.personal-auth-grid.personal-auth-single {
  grid-template-columns: minmax(280px, 520px);
}
.personal-auth-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}
.personal-register-card {
  border-style: dashed;
  background: rgba(248, 250, 252, .94);
}
.personal-add-grid {
  grid-template-columns: 140px minmax(130px, 1fr) minmax(130px, 1fr) auto;
}
.personal-add-grid select {
  width: 100%;
  border: 1px solid rgba(148, 163, 184, .45);
  border-radius: 12px;
  padding: 10px 12px;
  background: #fff;
  font: inherit;
}
.personal-group-row td {
  background: linear-gradient(135deg, rgba(226, 232, 240, .82), rgba(248, 250, 252, .98));
  color: #0f172a;
  font-weight: 900;
  padding: 10px 12px !important;
  border-top: 1px solid rgba(148, 163, 184, .28);
}
.personal-group-row span {
  color: #64748b;
  font-weight: 800;
  margin-left: 6px;
}
.personal-empty-row td {
  color: #94a3b8;
  font-size: .88rem;
  background: rgba(248, 250, 252, .65);
}
.type-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(37, 99, 235, .09);
  color: #1d4ed8;
  font-size: .82rem;
  font-weight: 900;
  white-space: nowrap;
}
@media (max-width: 760px) {
  .personal-auth-grid.personal-auth-single,
  .personal-add-grid {
    grid-template-columns: 1fr;
  }
}
button.ghost {
  background: transparent;
  color: #475569;
  border: 1px solid rgba(148, 163, 184, .45);
  box-shadow: none;
}
button.ghost:hover { background: rgba(248,250,252,.95); }

/* v46 개인 교정 토탈 관리 UI 개선 */
.personal-auth-grid.personal-auth-wide {
  grid-template-columns: minmax(260px, .9fr) minmax(320px, 1.35fr);
  align-items: stretch;
}
.personal-register-shell {
  min-height: 250px;
  display: grid;
  align-content: center;
  background: linear-gradient(135deg, rgba(239, 246, 255, .96), rgba(255, 255, 255, .94));
  border: 1px solid rgba(37, 99, 235, .18);
}
.personal-register-intro {
  display: grid;
  gap: 12px;
  align-content: center;
  min-height: 210px;
}
.personal-register-intro h3 {
  margin: 0;
  font-size: 1.45rem;
  letter-spacing: -0.03em;
}
.personal-register-intro p {
  margin: 0;
  color: #64748b;
  line-height: 1.55;
}
.register-big-btn {
  min-height: 54px;
  border-radius: 16px;
  font-size: 1.02rem;
  font-weight: 900;
}
.personal-match-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
  margin: 0 0 14px;
}
.personal-match-card {
  border: 1px solid rgba(220, 38, 38, .22);
  background: linear-gradient(135deg, rgba(254, 226, 226, .98), rgba(255, 241, 242, .96));
  color: #991b1b;
  border-radius: 16px;
  padding: 12px 14px;
  box-shadow: 0 12px 28px rgba(127, 29, 29, .08);
}
.personal-match-card strong {
  display: block;
  font-size: .98rem;
  font-weight: 950;
  margin-bottom: 4px;
}
.personal-match-card strong span {
  color: #b91c1c;
  font-weight: 900;
}
.personal-match-card em {
  display: block;
  font-style: normal;
  font-size: .86rem;
  font-weight: 800;
  color: #b91c1c;
}
.personal-action-cell {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  align-items: center;
}
button.danger {
  background: linear-gradient(135deg, #ef4444, #dc2626);
  color: #fff;
  border: 0;
  box-shadow: 0 10px 22px rgba(220, 38, 38, .18);
}
button.danger:hover { filter: brightness(.98); transform: translateY(-1px); }
@media (max-width: 760px) {
  .personal-auth-grid.personal-auth-wide {
    grid-template-columns: 1fr;
  }
  .personal-register-shell {
    min-height: auto;
  }
  .personal-register-intro {
    min-height: 150px;
  }
  .personal-action-cell {
    flex-direction: column;
    align-items: stretch;
  }
}

/* v47 개인 토탈 관리: 교정/소치/보철 과별 탭 */
.personal-dept-tabs {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 0 0 16px;
  padding: 8px;
  border-radius: 18px;
  background: #f5f7fb;
  border: 1px solid rgba(15, 23, 42, 0.08);
}
.personal-dept-tab {
  border: 0;
  border-radius: 999px;
  padding: 10px 18px;
  font-weight: 800;
  background: #ffffff;
  color: #475569;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}
.personal-dept-tab.active {
  background: #172554;
  color: #ffffff;
  box-shadow: 0 8px 20px rgba(23, 37, 84, 0.18);
}
.personal-subtitle {
  margin: 18px 0 8px;
  font-size: 1rem;
  color: #0f172a;
}
@media (max-width: 640px) {
  .personal-dept-tabs { gap: 6px; padding: 6px; }
  .personal-dept-tab { flex: 1 1 30%; padding: 9px 10px; }
}

/* v48: 소치/보철 개인 토탈은 본토/진토/구토 구분 없이 표시 */
#personalPatientTable.no-type .personal-type-col { display: none; }

/* v49: 개인 토탈 관리 표만 모바일에서 한눈에 보이도록 축소 */
@media (max-width: 620px) {
  .personal-table-wrap {
    overflow-x: visible;
    max-height: 62vh;
  }
  .personal-table-wrap table {
    width: 100%;
    min-width: 0 !important;
    table-layout: fixed;
    font-size: 10.2px;
  }
  .personal-table-wrap th,
  .personal-table-wrap td {
    padding: 4px 3px;
    line-height: 1.18;
    white-space: normal;
    word-break: keep-all;
    overflow-wrap: anywhere;
  }
  .personal-table-wrap .type-pill {
    min-width: 0;
    padding: 2px 4px;
    font-size: 9px;
  }
  #personalPatientTable:not(.no-type) th:nth-child(1),
  #personalPatientTable:not(.no-type) td:nth-child(1) { width: 34px; }
  #personalPatientTable:not(.no-type) th:nth-child(2),
  #personalPatientTable:not(.no-type) td:nth-child(2) { width: 54px; }
  #personalPatientTable:not(.no-type) th:nth-child(3),
  #personalPatientTable:not(.no-type) td:nth-child(3) { width: 58px; }
  #personalPatientTable:not(.no-type) th:nth-child(4),
  #personalPatientTable:not(.no-type) td:nth-child(4) { width: 78px; }
  #personalPatientTable:not(.no-type) th:nth-child(5),
  #personalPatientTable:not(.no-type) td:nth-child(5) { width: 58px; }
  #personalPatientTable:not(.no-type) th:nth-child(6),
  #personalPatientTable:not(.no-type) td:nth-child(6) { width: 84px; }
  #personalPatientTable.no-type th:nth-child(2),
  #personalPatientTable.no-type td:nth-child(2) { width: 58px; }
  #personalPatientTable.no-type th:nth-child(3),
  #personalPatientTable.no-type td:nth-child(3) { width: 62px; }
  #personalPatientTable.no-type th:nth-child(4),
  #personalPatientTable.no-type td:nth-child(4) { width: 78px; }
  #personalPatientTable.no-type th:nth-child(5),
  #personalPatientTable.no-type td:nth-child(5) { width: 58px; }
  #personalPatientTable.no-type th:nth-child(6),
  #personalPatientTable.no-type td:nth-child(6) { width: 84px; }
  #personalTomorrowTable th:nth-child(1),
  #personalTomorrowTable td:nth-child(1) { width: 50px; }
  #personalTomorrowTable th:nth-child(2),
  #personalTomorrowTable td:nth-child(2) { width: 42px; }
  #personalTomorrowTable th:nth-child(3),
  #personalTomorrowTable td:nth-child(3) { width: 56px; }
  #personalTomorrowTable th:nth-child(4),
  #personalTomorrowTable td:nth-child(4) { width: 62px; }
  #personalTomorrowTable th:nth-child(5),
  #personalTomorrowTable td:nth-child(5) { width: 78px; }
  #personalTomorrowTable th:nth-child(6),
  #personalTomorrowTable td:nth-child(6) { width: 50px; }
  .personal-table-wrap .personal-date-input,
  .personal-table-wrap .personal-time-input {
    padding: 4px 3px;
    border-radius: 7px;
    font-size: 10px;
    min-width: 0;
  }
  .personal-table-wrap .personal-action-cell {
    gap: 3px;
  }
  .personal-table-wrap .personal-action-cell button {
    padding: 5px 4px;
    border-radius: 7px;
    font-size: 9px;
    line-height: 1.1;
    min-height: 0;
  }
  .personal-group-row td {
    padding: 6px 5px !important;
    font-size: 10.5px;
  }
}

/* v52: OCS matched personal total patients */
#personalTomorrowTable tbody tr.personal-today-match-row td {
  background: #fff1f2;
  border-bottom-color: #fecdd3;
}
#personalTomorrowTable tbody tr.personal-today-match-row:hover td {
  background: #ffe4e6;
}

.personal-schedule-cell{white-space:nowrap;font-weight:850;color:#334155}
.personal-schedule-text{display:inline-flex;align-items:center;justify-content:center;min-width:92px;padding:6px 9px;border-radius:999px;background:#f8fafc;border:1px solid rgba(148,163,184,.35);color:#334155;font-size:.9em}
.personal-schedule-editor{margin-top:8px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:6px;align-items:center;padding:8px;border-radius:12px;background:#f8fafc;border:1px solid rgba(148,163,184,.24)}
.personal-schedule-editor[hidden]{display:none!important}
.personal-schedule-editor .personal-save-date,
.personal-schedule-editor .personal-cancel-schedule{padding:7px 8px;font-size:12px;border-radius:10px}
.personal-action-cell{min-width:132px}
.personal-action-cell > button{margin:2px}
@media (max-width:720px){.personal-schedule-text{min-width:70px;padding:4px 6px;font-size:11px}.personal-schedule-editor{grid-template-columns:1fr;gap:5px;padding:6px}.personal-action-cell{min-width:96px}.personal-action-cell > button{padding:6px 7px;font-size:11px}}


/* v55 personal total schedule table cleanup */
.personal-table-wrap .personal-action-cell{display:none!important}
.personal-schedule-cell{min-width:116px;max-width:150px;white-space:normal!important;text-align:center}
.personal-schedule-display{display:grid;gap:3px;justify-items:center;line-height:1.18}
.personal-date-line,.personal-time-line{display:block;width:100%;font-weight:850;color:#334155;letter-spacing:-.02em}
.personal-date-line{font-size:12.5px}
.personal-time-line{font-size:12px;color:#64748b}
.personal-schedule-display.is-empty .personal-date-line,.personal-schedule-display.is-empty .personal-time-line{color:#94a3b8;font-weight:750}
.personal-inline-actions{display:flex;justify-content:center;gap:5px;flex-wrap:wrap;margin-top:6px}
.personal-inline-actions button{padding:5px 7px;font-size:11px;border-radius:9px}
.personal-schedule-editor{margin-top:7px;display:grid;grid-template-columns:1fr;gap:5px;align-items:center;padding:7px;border-radius:12px;background:#f8fafc;border:1px solid rgba(148,163,184,.24)}
.personal-schedule-editor input{font-size:12px;padding:7px 8px;min-height:30px}
.personal-schedule-editor .personal-save-date,.personal-schedule-editor .personal-cancel-schedule{padding:6px 8px;font-size:11px;border-radius:9px}
@media (max-width:720px){.personal-schedule-cell{min-width:88px;max-width:105px}.personal-date-line{font-size:10.5px}.personal-time-line{font-size:10.5px}.personal-inline-actions{gap:3px;margin-top:4px}.personal-inline-actions button{padding:4px 5px;font-size:9.5px}.personal-schedule-editor{padding:5px;gap:4px}.personal-schedule-editor input{font-size:10px;padding:5px 6px;min-height:26px}}


/* v56: personal total schedule layout refinement */
.personal-schedule-cell{
  min-width:180px!important;
  max-width:230px!important;
  padding:7px 8px!important;
}
.personal-schedule-layout{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  width:100%;
}
.personal-schedule-display{
  flex:1 1 auto;
  display:flex!important;
  flex-direction:column;
  align-items:flex-start!important;
  justify-items:start!important;
  gap:4px!important;
  min-width:0;
  text-align:left;
}
.personal-date-line,
.personal-time-line{
  display:inline-flex;
  align-items:center;
  gap:4px;
  max-width:100%;
  border-radius:999px;
  padding:4px 8px;
  font-size:12px;
  line-height:1.1;
  font-weight:850;
  white-space:nowrap;
}
.personal-date-line{
  background:#eef2ff;
  color:#3730a3;
  border:1px solid rgba(99,102,241,.22);
}
.personal-time-line{
  background:#ecfeff;
  color:#155e75;
  border:1px solid rgba(6,182,212,.22);
}
.personal-date-line::before{content:"날짜";font-size:9px;font-weight:900;color:#6366f1;letter-spacing:-.02em}
.personal-time-line::before{content:"시간";font-size:9px;font-weight:900;color:#0891b2;letter-spacing:-.02em}
.personal-schedule-display.is-empty .personal-date-line,
.personal-schedule-display.is-empty .personal-time-line{
  background:#f8fafc;
  color:#94a3b8;
  border-color:rgba(148,163,184,.25);
}
.personal-inline-actions{
  flex:0 0 auto;
  display:flex;
  flex-direction:column;
  gap:5px;
  margin-top:0!important;
  align-items:stretch;
}
.personal-inline-actions button{
  white-space:nowrap;
  padding:5px 8px!important;
  font-size:11px!important;
  border-radius:10px!important;
  min-height:26px;
}
.personal-schedule-editor{
  margin-top:7px!important;
  grid-template-columns:1fr 1fr!important;
}
.personal-schedule-editor .personal-save-date,
.personal-schedule-editor .personal-cancel-schedule{
  min-height:28px;
}
@media (max-width:720px){
  .personal-schedule-cell{min-width:142px!important;max-width:170px!important;padding:5px 6px!important}
  .personal-schedule-layout{gap:5px}
  .personal-date-line,.personal-time-line{font-size:10px;padding:3px 6px;gap:3px}
  .personal-date-line::before,.personal-time-line::before{font-size:8px}
  .personal-inline-actions{gap:3px}
  .personal-inline-actions button{padding:4px 5px!important;font-size:9px!important;min-height:23px;border-radius:8px!important}
  .personal-schedule-editor{grid-template-columns:1fr!important;padding:5px!important;gap:4px!important}
  .personal-schedule-editor input{font-size:10px!important;padding:5px 6px!important;min-height:26px!important}
}

/* v57: personal total table header/combined schedule cell cleanup */
#personalPatientTable th:nth-child(4),
#personalPatientTable td.personal-schedule-cell{
  width:220px;
}
.personal-schedule-layout{
  background:#ffffff;
  border:1px solid rgba(148,163,184,.20);
  border-radius:14px;
  padding:6px;
}
.personal-schedule-display{
  padding-right:8px;
  border-right:1px solid rgba(148,163,184,.22);
}
.personal-inline-actions{
  padding-left:0;
}
@media (max-width:720px){
  #personalPatientTable th:nth-child(4),
  #personalPatientTable td.personal-schedule-cell{width:150px!important;min-width:150px!important;max-width:165px!important;}
  .personal-schedule-layout{padding:4px;border-radius:11px;gap:4px;}
  .personal-schedule-display{padding-right:4px;}
}

/* v58: personal total management visual polish */
.personal-add-grid{
  background:linear-gradient(135deg,#ffffff 0%,#f8fbff 100%);
  border:1px solid rgba(99,102,241,.14);
  border-radius:18px;
  padding:14px;
  box-shadow:0 12px 30px rgba(15,23,42,.05);
  margin-bottom:16px;
}
.personal-table-head{
  margin-top:10px;
  padding:13px 14px;
  background:linear-gradient(135deg,#f8fafc,#ffffff);
  border:1px solid rgba(148,163,184,.22);
  border-radius:16px;
}
.personal-table-wrap{
  border:1px solid rgba(148,163,184,.22);
  border-radius:16px;
  background:#fff;
  box-shadow:0 16px 36px rgba(15,23,42,.06);
}
.personal-table-wrap th{
  background:#f1f5f9!important;
  color:#334155!important;
  font-weight:900!important;
}
.type-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  padding:5px 9px;
  border-radius:999px;
  font-weight:950;
  letter-spacing:-.02em;
  border:1px solid transparent;
}
.type-pill.type-bonto{background:#eef2ff;color:#3730a3;border-color:rgba(99,102,241,.24)}
.type-pill.type-jinto{background:#ecfdf5;color:#047857;border-color:rgba(16,185,129,.25)}
.type-pill.type-guto{background:#fff7ed;color:#c2410c;border-color:rgba(249,115,22,.26)}
.personal-group-row td{
  background:linear-gradient(135deg,#f8fafc,#eef2ff)!important;
  color:#1e293b!important;
  font-size:14px!important;
  padding:11px 14px!important;
  border-top:1px solid rgba(99,102,241,.12)!important;
  border-bottom:1px solid rgba(99,102,241,.12)!important;
}
.personal-schedule-cell{min-width:150px!important;max-width:190px!important;text-align:left!important}
.personal-action-cell{min-width:96px!important;text-align:center!important;white-space:nowrap!important;display:table-cell!important}
.personal-schedule-display{
  display:flex!important;
  flex-direction:column;
  align-items:flex-start!important;
  gap:5px!important;
  padding:0!important;
  border-right:0!important;
}
.personal-date-line,.personal-time-line{
  display:inline-flex;
  align-items:center;
  gap:5px;
  width:max-content;
  max-width:100%;
  border-radius:999px;
  padding:5px 9px;
  font-size:12px;
  line-height:1.1;
  font-weight:900;
  white-space:nowrap;
}
.personal-date-line{background:#eef2ff;color:#3730a3;border:1px solid rgba(99,102,241,.25)}
.personal-time-line{background:#ecfeff;color:#155e75;border:1px solid rgba(6,182,212,.25)}
.personal-date-line::before{content:"날짜";font-size:9px;color:#6366f1;font-weight:950}
.personal-time-line::before{content:"시간";font-size:9px;color:#0891b2;font-weight:950}
.personal-schedule-display.is-empty .personal-date-line,.personal-schedule-display.is-empty .personal-time-line{background:#f8fafc;color:#94a3b8;border-color:rgba(148,163,184,.26)}
.personal-action-cell button{display:block;width:100%;margin:3px 0!important;padding:6px 8px!important;border-radius:10px!important;font-size:11px!important;white-space:nowrap}
.personal-schedule-editor{
  margin-top:0!important;
  display:grid;
  grid-template-columns:1fr!important;
  gap:6px!important;
  padding:8px!important;
  border-radius:12px!important;
  background:#f8fafc!important;
  border:1px solid rgba(148,163,184,.26)!important;
}
.personal-schedule-editor[hidden]{display:none!important}
.personal-editor-field{display:grid;gap:4px;margin:0!important;font-size:11px!important;font-weight:900!important;color:#475569!important}
.personal-editor-field span{font-size:11px;color:#64748b;font-weight:950}
.personal-editor-field input{font-size:12px!important;padding:7px 8px!important;min-height:30px!important;border-radius:10px!important;background:#fff!important}
.personal-schedule-editor .personal-save-date,.personal-schedule-editor .personal-cancel-schedule{padding:6px 8px!important;font-size:11px!important;border-radius:10px!important;min-height:28px!important}
.personal-scheduled-head{margin-top:18px!important;background:linear-gradient(135deg,#fff7ed,#ffffff)!important;border-color:rgba(249,115,22,.18)!important}
#personalScheduledTable tbody tr.personal-scheduled-row td{background:#fffaf0!important}
#personalScheduledTable tbody tr.personal-scheduled-row:nth-child(even) td{background:#fff7ed!important}
.schedule-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:5px 9px;font-weight:900;font-size:12px;white-space:nowrap;border:1px solid transparent}
.date-badge{background:#eef2ff;color:#3730a3;border-color:rgba(99,102,241,.24)}
.time-badge{background:#ecfeff;color:#155e75;border-color:rgba(6,182,212,.24)}
@media (max-width:720px){
  .personal-add-grid{padding:10px;border-radius:14px;gap:8px}
  .personal-table-head{padding:10px;border-radius:14px}
  .personal-schedule-cell{min-width:112px!important;max-width:132px!important;padding:5px!important}
  .personal-action-cell{min-width:70px!important;padding:5px!important}
  .personal-date-line,.personal-time-line{font-size:9.8px;padding:4px 6px;gap:3px}
  .personal-date-line::before,.personal-time-line::before{font-size:7.8px}
  .personal-action-cell button{padding:4px 5px!important;font-size:9px!important;border-radius:8px!important}
  .personal-editor-field span{font-size:9px}
  .personal-editor-field input{font-size:10px!important;padding:5px 6px!important;min-height:25px!important}
  .personal-schedule-editor{padding:5px!important;gap:4px!important}
  .type-pill{min-width:32px;padding:3px 6px;font-size:10px}
  .schedule-badge{font-size:10px;padding:4px 6px}
}

/* v59 refinements: personal total table layout and resident list conservative column visibility */
#personalPatientTable.no-type{width:100%;table-layout:fixed;}
#personalPatientTable.no-type th.personal-type-col,
#personalPatientTable.no-type td.personal-type-col{display:none!important;width:0!important;padding:0!important;border:0!important;}
#personalPatientTable.no-type th:nth-child(2), #personalPatientTable.no-type td:nth-child(2){width:23%!important;}
#personalPatientTable.no-type th:nth-child(3), #personalPatientTable.no-type td:nth-child(3){width:22%!important;}
#personalPatientTable.no-type th:nth-child(4), #personalPatientTable.no-type td:nth-child(4){width:34%!important;}
#personalPatientTable.no-type th:nth-child(5), #personalPatientTable.no-type td:nth-child(5){width:21%!important;}
#personalPatientTable .personal-action-cell{display:table-cell!important;}
#personalPatientTable .personal-schedule-cell{vertical-align:middle;}
@media (max-width:720px){
  #personalPatientTable.no-type th:nth-child(2), #personalPatientTable.no-type td:nth-child(2){width:22%!important;}
  #personalPatientTable.no-type th:nth-child(3), #personalPatientTable.no-type td:nth-child(3){width:20%!important;}
  #personalPatientTable.no-type th:nth-child(4), #personalPatientTable.no-type td:nth-child(4){width:36%!important;}
  #personalPatientTable.no-type th:nth-child(5), #personalPatientTable.no-type td:nth-child(5){width:22%!important;}
}


/* =========================================================
   v60 SAMPLE DESIGN THEME
   - 기능은 유지하고 표 기반 UI를 더 깔끔하게 보이도록 한 샘플 테마
   ========================================================= */
:root{
  --sample-bg:#f6f8fc;
  --sample-card:#ffffff;
  --sample-card-soft:#fbfdff;
  --sample-line:#e3e8f2;
  --sample-line-strong:#d6deeb;
  --sample-text:#172033;
  --sample-muted:#65728a;
  --sample-primary:#2563eb;
  --sample-primary-soft:#eaf2ff;
  --sample-primary-soft2:#f3f7ff;
  --sample-green:#16a34a;
  --sample-green-soft:#ecfdf3;
  --sample-red:#ef4444;
  --sample-red-soft:#fff1f2;
  --sample-yellow:#f59e0b;
  --sample-yellow-soft:#fff7e6;
  --sample-shadow:0 18px 46px rgba(15,23,42,.08);
  --sample-shadow-sm:0 8px 24px rgba(15,23,42,.06);
}
html{background:var(--sample-bg)}
body{
  background:
    radial-gradient(circle at 8% 2%,rgba(37,99,235,.09),transparent 30%),
    radial-gradient(circle at 92% 0%,rgba(20,184,166,.08),transparent 28%),
    var(--sample-bg)!important;
  color:var(--sample-text)!important;
  letter-spacing:-.01em;
}
.shell{
  max-width:1320px!important;
  padding:26px 22px 34px!important;
}
.hero{
  border:1px solid rgba(37,99,235,.12)!important;
  background:linear-gradient(135deg,#ffffff 0%,#f7fbff 58%,#edf6ff 100%)!important;
  border-radius:26px!important;
  box-shadow:var(--sample-shadow)!important;
  overflow:hidden;
  position:relative;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:7px;
  background:linear-gradient(180deg,#2563eb,#14b8a6);
}
.eyebrow{
  color:var(--sample-primary)!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
}
.hero h1{
  color:#0f172a!important;
  font-size:clamp(30px,4vw,48px)!important;
  line-height:1.04!important;
}
.hero h1 span{
  display:inline-block;
  margin-left:8px;
  color:#64748b!important;
  font-size:.42em!important;
  font-weight:800!important;
  vertical-align:middle;
  background:#fff;
  border:1px solid var(--sample-line);
  border-radius:999px;
  padding:7px 12px;
}
.hero-text{color:var(--sample-muted)!important;max-width:780px!important}
.hero-side{
  border:1px solid rgba(37,99,235,.12)!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.82)!important;
  box-shadow:var(--sample-shadow-sm)!important;
  backdrop-filter:blur(10px);
}
.side-title strong{color:#0f172a!important}
.side-title span{color:var(--sample-muted)!important}
.admin-button,
button:not(.tab),
input[type="button"],
input[type="submit"]{
  border-radius:14px!important;
  box-shadow:none!important;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease;
}
.admin-button{
  background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;
  color:#fff!important;
  font-weight:900!important;
  border:0!important;
  box-shadow:0 10px 20px rgba(37,99,235,.22)!important;
}
.admin-button:hover,button:hover{transform:translateY(-1px)}
.tabs{
  padding:8px!important;
  gap:8px!important;
  border:1px solid var(--sample-line)!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.74)!important;
  box-shadow:var(--sample-shadow-sm)!important;
  backdrop-filter:blur(10px);
  position:sticky;
  top:12px;
  z-index:20;
}
.tab{
  border-radius:16px!important;
  color:#64748b!important;
  font-weight:900!important;
  border:1px solid transparent!important;
  background:transparent!important;
}
.tab.active{
  color:#fff!important;
  background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;
  border-color:rgba(37,99,235,.4)!important;
  box-shadow:0 10px 20px rgba(37,99,235,.20)!important;
}
.page{animation:sampleFade .18s ease both}
@keyframes sampleFade{from{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:none}}
.panel,
.list-dept-panel,
.list-page-panel,
.list-time-panel,
.color-tools,
.winner-card,
.professor-summary-row,
.personal-login-card,
.personal-add-card,
.personal-list-card,
.personal-table-head,
.personal-scheduled-head{
  border:1px solid var(--sample-line)!important;
  background:var(--sample-card)!important;
  border-radius:24px!important;
  box-shadow:var(--sample-shadow-sm)!important;
}
.panel{padding:22px!important}
.panel-head{
  padding-bottom:16px!important;
  border-bottom:1px solid var(--sample-line)!important;
  margin-bottom:18px!important;
}
.panel-head h2{
  color:#0f172a!important;
  font-weight:950!important;
  letter-spacing:-.03em!important;
}
.panel-head p,.list-note,.small{color:var(--sample-muted)!important}
.select-label{
  color:#475569!important;
  font-weight:900!important;
}
select,input,textarea{
  border:1px solid var(--sample-line-strong)!important;
  border-radius:14px!important;
  background:#fff!important;
  color:#172033!important;
  box-shadow:0 1px 0 rgba(15,23,42,.02)!important;
}
select:focus,input:focus,textarea:focus{
  outline:3px solid rgba(37,99,235,.12)!important;
  border-color:rgba(37,99,235,.55)!important;
}
button:not(.tab){
  background:#fff!important;
  border:1px solid var(--sample-line-strong)!important;
  color:#334155!important;
  font-weight:900!important;
}
button:not(.tab):not(.secondary){
  background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;
  border-color:#1d4ed8!important;
  color:#fff!important;
}
button.secondary{
  background:#f8fafc!important;
  border-color:var(--sample-line)!important;
  color:#334155!important;
}
.time-filter-action{
  background:linear-gradient(135deg,#f97316,#f59e0b)!important;
  border:0!important;
  color:#fff!important;
  box-shadow:0 10px 18px rgba(249,115,22,.22)!important;
}
.time-filter-action[aria-pressed="true"]{
  background:linear-gradient(135deg,#16a34a,#059669)!important;
  box-shadow:0 10px 18px rgba(22,163,74,.22)!important;
}
.search-row{
  background:var(--sample-card-soft)!important;
  border:1px solid var(--sample-line)!important;
  border-radius:20px!important;
  padding:12px!important;
  align-items:center!important;
}
#searchInput{
  min-height:44px!important;
  padding-left:16px!important;
  font-weight:700!important;
}
.color-tools{
  padding:12px!important;
  gap:8px!important;
  background:linear-gradient(135deg,#ffffff,#f8fbff)!important;
}
.color-tools-title{
  color:#0f172a!important;
  background:var(--sample-primary-soft)!important;
  border:1px solid rgba(37,99,235,.14)!important;
  border-radius:999px!important;
  padding:7px 11px!important;
  font-weight:950!important;
}
.color-endo,
tr.row-endo-highlight td{
  background:#eaf4ff!important;
}
.color-operative,
tr.row-operative-highlight td{
  background:#ecfdf3!important;
}
.total-filter-action[aria-pressed="true"],
.total-dim td{
  background:#fff7e6!important;
  color:#8a5a00!important;
}
.table-wrap{
  border:1px solid var(--sample-line)!important;
  border-radius:20px!important;
  overflow:auto!important;
  background:#fff!important;
  box-shadow:0 6px 20px rgba(15,23,42,.04)!important;
}
table{
  border-collapse:separate!important;
  border-spacing:0!important;
  width:100%!important;
  background:#fff!important;
}
th{
  position:sticky;
  top:0;
  z-index:5;
  background:linear-gradient(180deg,#f1f6ff,#eaf2ff)!important;
  color:#1e3a8a!important;
  font-size:13px!important;
  font-weight:950!important;
  text-transform:none!important;
  border-bottom:1px solid #dbeafe!important;
  white-space:nowrap!important;
}
td{
  color:#1f2937!important;
  border-bottom:1px solid #edf1f7!important;
  background:#fff!important;
  vertical-align:middle!important;
}
tbody tr:nth-child(even) td{background:#fbfdff!important}
tbody tr:hover td{background:#f3f7ff!important}
tbody tr.search-hit td{
  background:#fff1f2!important;
  color:#7f1d1d!important;
}
#apptTable td,
#apptTable th,
#professorTable td,
#professorTable th,
#personalPatientTable td,
#personalPatientTable th{
  padding:8px 10px!important;
  line-height:1.35!important;
}
#apptTable .treatment-cell,
.treatment-cell{
  max-width:250px!important;
  word-break:keep-all!important;
  overflow-wrap:anywhere!important;
  color:#334155!important;
}
.resident-dept-tabs,
.dept-selector{
  gap:8px!important;
}
.resident-dept-tabs button,
.dept-selector label{
  border-radius:999px!important;
  border:1px solid var(--sample-line)!important;
  background:#fff!important;
  color:#475569!important;
  font-weight:900!important;
  box-shadow:0 2px 8px rgba(15,23,42,.03)!important;
}
.resident-dept-tabs button.active,
.dept-selector label:has(input:checked){
  background:var(--sample-primary-soft)!important;
  border-color:rgba(37,99,235,.35)!important;
  color:#1d4ed8!important;
}
.chart-card,
.chart-box{
  border-radius:20px!important;
  border:1px solid var(--sample-line)!important;
  background:#fff!important;
  box-shadow:var(--sample-shadow-sm)!important;
}
.rank-list .rank-item,
.professor-summary-row .meta-pill,
.meta-pill{
  border-radius:999px!important;
  background:var(--sample-primary-soft)!important;
  color:#1d4ed8!important;
  border:1px solid rgba(37,99,235,.14)!important;
  font-weight:950!important;
}
.winner-card{
  background:linear-gradient(135deg,#eff6ff,#ffffff)!important;
  border-color:rgba(37,99,235,.16)!important;
}
.winner-card strong{color:#1d4ed8!important}
.type-pill{
  border-radius:999px!important;
  font-weight:950!important;
  border:1px solid transparent!important;
  letter-spacing:-.02em;
}
.type-pill.type-bonto{background:#eef2ff!important;color:#3730a3!important;border-color:#c7d2fe!important}
.type-pill.type-jinto{background:#ecfdf3!important;color:#166534!important;border-color:#bbf7d0!important}
.type-pill.type-guto{background:#fff7ed!important;color:#9a3412!important;border-color:#fed7aa!important}
.personal-alert-card,
.personal-match-card{
  border-radius:18px!important;
  border:1px solid rgba(239,68,68,.22)!important;
  background:linear-gradient(135deg,#fff1f2,#fff)!important;
  box-shadow:0 8px 20px rgba(239,68,68,.08)!important;
}
.personal-add-card{
  background:linear-gradient(135deg,#ffffff,#f8fbff)!important;
}
.personal-list-card{
  background:linear-gradient(135deg,#ffffff,#fbfdff)!important;
}
.personal-date-line,.personal-time-line,.date-badge,.time-badge{
  border-radius:999px!important;
  font-weight:950!important;
}
@media (max-width:720px){
  .shell{padding:14px 10px 24px!important}
  .hero{border-radius:20px!important;padding:18px!important}
  .hero h1{font-size:28px!important}
  .hero h1 span{display:block;margin:10px 0 0;width:max-content}
  .tabs{top:6px;overflow-x:auto;flex-wrap:nowrap!important;border-radius:18px!important}
  .tab{white-space:nowrap!important;padding:10px 12px!important;font-size:13px!important}
  .panel{padding:14px!important;border-radius:20px!important}
  .panel-head{gap:12px!important;align-items:flex-start!important}
  .list-controls{width:100%;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important}
  .search-row{display:grid!important;grid-template-columns:1fr auto auto;gap:7px!important;padding:8px!important}
  #searchInput{min-height:38px!important;font-size:13px!important}
  .table-wrap{border-radius:16px!important}
  #apptTable td,#apptTable th,#professorTable td,#professorTable th,#personalPatientTable td,#personalPatientTable th{padding:7px 8px!important;font-size:12px!important}
  .treatment-cell{max-width:180px!important}
  .color-tools{border-radius:18px!important;overflow-x:auto;flex-wrap:nowrap!important}
  .color-tools button,.color-tools span{white-space:nowrap!important}
}


/* === v61 pastel sample overrides === */
:root{
  --pastel-blue:#dbeafe;
  --pastel-blue-strong:#93c5fd;
  --pastel-blue-text:#1d4ed8;
  --pastel-mint:#dcfce7;
  --pastel-mint-strong:#86efac;
  --pastel-pink:#ffe4e6;
  --pastel-lavender:#ede9fe;
  --pastel-cream:#fff7ed;
}
/* Top navigation: 기존처럼 무색 바탕 + 선택된 메뉴만 파스텔 강조 */
.tabs{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  gap:8px!important;
  backdrop-filter:none!important;
}
.tab{
  background:transparent!important;
  border:1px solid transparent!important;
  color:#64748b!important;
  box-shadow:none!important;
}
.tab.active{
  background:linear-gradient(135deg,#e0f2fe,#e9d5ff)!important;
  border-color:rgba(147,197,253,.7)!important;
  color:#1e40af!important;
  box-shadow:0 8px 18px rgba(59,130,246,.12)!important;
}
.tab:hover{background:#f8fafc!important;color:#334155!important;box-shadow:none!important}
.tab.active:hover{background:linear-gradient(135deg,#e0f2fe,#e9d5ff)!important;color:#1e40af!important}

/* 개인 토탈 관리 내부 메뉴도 동일한 무색 바탕 + 선택 메뉴 파스텔 */
.personal-dept-tabs{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  gap:8px!important;
}
.personal-dept-tabs button,
.personal-dept-tab{
  background:transparent!important;
  border:1px solid transparent!important;
  color:#64748b!important;
  box-shadow:none!important;
  border-radius:999px!important;
}
.personal-dept-tabs button.active,
.personal-dept-tab.active{
  background:linear-gradient(135deg,#e0f2fe,#dcfce7)!important;
  border-color:rgba(147,197,253,.75)!important;
  color:#1d4ed8!important;
  box-shadow:0 8px 18px rgba(59,130,246,.10)!important;
}
#personalTomorrowTab.active{
  background:linear-gradient(135deg,#fff7ed,#ffe4e6)!important;
  border-color:rgba(251,146,60,.45)!important;
  color:#c2410c!important;
}

/* 현재 남은 진료: 샘플 카드 느낌을 줄이고 기존 버전처럼 명확한 계산/랭킹 UI */
#remaining .panel{
  background:#fff!important;
  border:1px solid #e5e7eb!important;
  box-shadow:0 6px 18px rgba(15,23,42,.06)!important;
}
#remaining .winner-card{
  background:linear-gradient(135deg,#263b80,#14213d)!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 14px 32px rgba(38,59,128,.22)!important;
}
#remaining .winner-card span,
#remaining .winner-card p{color:rgba(255,255,255,.82)!important}
#remaining .winner-card strong{color:#fff!important}
#remaining .rank-item{
  background:#fff!important;
  border:1px solid #e5e7eb!important;
  border-radius:16px!important;
  box-shadow:none!important;
}
#remaining .rank-item .bar i{background:linear-gradient(90deg,#315cf6,#12b6a7)!important}

/* 전공의 리스트 표 배율이 실제로 바뀌도록 최종 우선순위 보정 */
#apptTableWrap.scale-100 #apptTable{font-size:14px!important}
#apptTableWrap.scale-90 #apptTable{font-size:12.6px!important}
#apptTableWrap.scale-80 #apptTable{font-size:11.2px!important}
#apptTableWrap.scale-70 #apptTable{font-size:9.8px!important}
#apptTableWrap.scale-100 #apptTable th,#apptTableWrap.scale-100 #apptTable td{padding:7px 6px!important}
#apptTableWrap.scale-90 #apptTable th,#apptTableWrap.scale-90 #apptTable td{padding:6px 5px!important}
#apptTableWrap.scale-80 #apptTable th,#apptTableWrap.scale-80 #apptTable td{padding:5px 4px!important}
#apptTableWrap.scale-70 #apptTable th,#apptTableWrap.scale-70 #apptTable td{padding:4px 3px!important}
#apptTableWrap.scale-100 .treatment-cell{max-width:210px!important}
#apptTableWrap.scale-90 .treatment-cell{max-width:185px!important}
#apptTableWrap.scale-80 .treatment-cell{max-width:160px!important}
#apptTableWrap.scale-70 .treatment-cell{max-width:135px!important}

/* 개인 토탈 표: 모바일에서 진료번호 끝자리 밀림 방지 */
#personalPatientTable td:nth-child(3),
#personalPatientTable th:nth-child(3),
#personalTomorrowTable td:nth-child(4),
#personalTomorrowTable th:nth-child(4),
#personalScheduledTable td:nth-child(4),
#personalScheduledTable th:nth-child(4){
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  font-variant-numeric:tabular-nums!important;
}
#personalPatientTable.no-type th:nth-child(3), #personalPatientTable.no-type td:nth-child(3){width:24%!important;min-width:72px!important}
#personalPatientTable.no-type th:nth-child(2), #personalPatientTable.no-type td:nth-child(2){width:20%!important}
#personalPatientTable.no-type th:nth-child(4), #personalPatientTable.no-type td:nth-child(4){width:34%!important}
#personalPatientTable.no-type th:nth-child(5), #personalPatientTable.no-type td:nth-child(5){width:22%!important}
@media (max-width:720px){
  #personalPatientTable{min-width:520px!important}
  #personalPatientTable:not(.no-type){min-width:600px!important}
  #personalTomorrowTable,#personalScheduledTable{min-width:620px!important}
  #personalPatientTable td:nth-child(3),#personalPatientTable th:nth-child(3){font-size:10.5px!important;letter-spacing:-.02em!important}
}

/* v63 pastel polish */
.tabs{background:rgba(255,255,255,.58)!important;border:1px solid rgba(255,255,255,.72)!important;box-shadow:0 14px 32px rgba(99,114,130,.12)!important;backdrop-filter:blur(22px) saturate(1.15)!important;-webkit-backdrop-filter:blur(22px) saturate(1.15)!important}
.tab{background:rgba(255,255,255,.82)!important;color:#4b5563!important;border:1px solid rgba(229,231,235,.95)!important;box-shadow:none!important}
.tab.active{background:linear-gradient(135deg,#dbeafe,#e0e7ff)!important;color:#1e3a8a!important;border-color:#bfdbfe!important;box-shadow:0 10px 22px rgba(147,197,253,.28)!important}
.clinic-subtabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 16px;padding:8px;border-radius:18px;background:rgba(255,255,255,.62);border:1px solid rgba(229,231,235,.85)}
.clinic-subtab{background:#fff!important;color:#4b5563!important;border:1px solid #e5e7eb!important;box-shadow:none!important}
.clinic-subtab.active{background:linear-gradient(135deg,#dcfce7,#dbeafe)!important;color:#14532d!important;border-color:#bbf7d0!important;box-shadow:0 10px 22px rgba(134,239,172,.22)!important}
.resident-dept-tabs .dept-page-tab,.personal-dept-tab{background:#fff!important;color:#344054!important;border:1px solid #e5e7eb!important;box-shadow:none!important}
.resident-dept-tabs .dept-page-tab.active,.personal-dept-tab.active{background:linear-gradient(135deg,#fce7f3,#e0f2fe)!important;color:#7c2d12!important;border-color:#fbcfe8!important;box-shadow:0 10px 22px rgba(251,207,232,.25)!important}
.personal-dept-tab:not(.active),.resident-dept-tabs .dept-page-tab:not(.active){background:#fff!important;color:#475467!important}
.time-filter-action{background:linear-gradient(135deg,#fde68a,#bfdbfe)!important;color:#713f12!important;border:1px solid #fcd34d!important;box-shadow:0 10px 22px rgba(253,224,71,.28)!important;font-weight:950!important}
.time-filter-action.active{background:linear-gradient(135deg,#93c5fd,#c4b5fd)!important;color:#172554!important;border-color:#93c5fd!important}
.search-help{display:flex;align-items:center;color:#64748b;background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:10px 12px;font-size:13px;font-weight:800}
.professor-summary-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.professor-summary-row .meta-pill{white-space:normal;max-width:100%;line-height:1.35}
.personal-scheduled-row td,.personal-today-match-row td{padding:6px 6px!important}.personal-table-wrap table{min-width:620px}.personal-table-wrap th,.personal-table-wrap td{font-size:13px!important}.personal-table-wrap .schedule-badge{display:inline-flex;margin:1px 0;white-space:nowrap}
@media (max-width:720px){.tabs{top:6px}.tab{padding:10px 12px}.clinic-subtabs{position:sticky;top:66px;z-index:15}.personal-table-wrap table{min-width:560px}.personal-table-wrap th,.personal-table-wrap td{font-size:12px!important;padding:5px 5px!important}.search-row{grid-template-columns:1fr;}.search-help{grid-column:1/-1}}

/* v65: softer, more natural main menu bar */
.tabs{
  display:flex!important;
  gap:10px!important;
  padding:10px!important;
  margin:18px 0 20px!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.64),rgba(246,249,255,.72))!important;
  border:1px solid rgba(226,232,240,.72)!important;
  box-shadow:0 14px 34px rgba(100,116,139,.13), inset 0 1px 0 rgba(255,255,255,.86)!important;
  backdrop-filter:blur(20px) saturate(1.18)!important;
  -webkit-backdrop-filter:blur(20px) saturate(1.18)!important;
  position:sticky!important;
  top:10px!important;
  z-index:30!important;
  overflow-x:auto!important;
}
.tab{
  position:relative!important;
  flex:0 0 auto!important;
  padding:12px 18px!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.74)!important;
  color:#475569!important;
  border:1px solid rgba(226,232,240,.88)!important;
  box-shadow:0 2px 8px rgba(148,163,184,.08)!important;
  font-weight:900!important;
  letter-spacing:-.02em!important;
  transition:background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease,border-color .18s ease!important;
}
.tab:hover{
  transform:translateY(-1px)!important;
  background:rgba(255,255,255,.96)!important;
  color:#334155!important;
  border-color:#cbd5e1!important;
  box-shadow:0 10px 22px rgba(148,163,184,.15)!important;
}
.tab.active{
  color:#1e3a8a!important;
  background:linear-gradient(135deg,#dbeafe 0%,#e0f2fe 46%,#f0f9ff 100%)!important;
  border-color:#bfdbfe!important;
  box-shadow:0 12px 26px rgba(147,197,253,.34), inset 0 1px 0 rgba(255,255,255,.88)!important;
}
.tab.active::after{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  bottom:5px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,#93c5fd,#a7f3d0,#ddd6fe);
}
@media (max-width:720px){
  .tabs{
    top:6px!important;
    padding:8px!important;
    border-radius:18px!important;
    gap:8px!important;
  }
  .tab{
    padding:10px 13px!important;
    font-size:13px!important;
    border-radius:14px!important;
  }
  .tab.active::after{left:14px;right:14px;bottom:4px;height:2px;}
}


/* v66: 남은 진료 세부 메뉴와 현재 남은 진료 UI 보정 */
.clinic-subtabs{
  display:flex!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  margin:0 0 18px!important;
  padding:8px!important;
  border-radius:18px!important;
  background:rgba(248,250,252,.72)!important;
  border:1px solid rgba(226,232,240,.82)!important;
  box-shadow:0 8px 22px rgba(148,163,184,.10)!important;
}
.clinic-subtab{
  background:#fff!important;
  color:#475569!important;
  border:1px solid #e5e7eb!important;
  box-shadow:0 2px 8px rgba(148,163,184,.08)!important;
  border-radius:14px!important;
  padding:11px 16px!important;
  font-weight:950!important;
}
.clinic-subtab.active{
  background:linear-gradient(135deg,#dbeafe,#dcfce7)!important;
  color:#1e3a8a!important;
  border-color:#bfdbfe!important;
  box-shadow:0 12px 24px rgba(147,197,253,.26)!important;
}
#clinicRemainingSubpage{
  background:#fff!important;
  border:1px solid #e5e7eb!important;
  box-shadow:0 8px 24px rgba(15,23,42,.06)!important;
  border-radius:22px!important;
}
#clinicRemainingSubpage .winner-card{
  background:linear-gradient(135deg,#263b80,#14213d)!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 14px 32px rgba(38,59,128,.22)!important;
}
#clinicRemainingSubpage .winner-card span,
#clinicRemainingSubpage .winner-card p{color:rgba(255,255,255,.84)!important}
#clinicRemainingSubpage .winner-card strong{color:#fff!important}
#clinicRemainingSubpage .rank-list{gap:10px!important}
#clinicRemainingSubpage .rank-item{
  background:#fff!important;
  border:1px solid #e5e7eb!important;
  border-radius:16px!important;
  box-shadow:none!important;
}
#clinicRemainingSubpage .rank-item .bar{background:#edf1f7!important}
#clinicRemainingSubpage .rank-item .bar i{background:linear-gradient(90deg,#315cf6,#12b6a7)!important}
#clinicRemainingSubpage .panel-head h2{color:#111827!important}
#clinicRemainingSubpage .panel-head p{color:#667085!important}

/* v67 personal total refinements */
.personal-list-controls{
  display:inline-flex;
  gap:6px;
  padding:4px;
  border:1px solid rgba(191,203,219,.85);
  border-radius:14px;
  background:rgba(255,255,255,.72);
  box-shadow:0 8px 20px rgba(30,41,59,.06);
}
.personal-view-btn{
  border:1px solid transparent;
  background:#fff;
  color:#475569;
  border-radius:11px;
  padding:8px 13px;
  font-weight:800;
  cursor:pointer;
}
.personal-view-btn.active{
  color:#1d4ed8;
  background:linear-gradient(135deg,#dbeafe,#eef2ff);
  border-color:#bfdbfe;
  box-shadow:0 8px 18px rgba(37,99,235,.12);
}
.prostho-status-summary{
  margin:10px 0 12px;
  padding:10px 12px;
  border:1px solid #fde68a;
  border-radius:16px;
  background:linear-gradient(135deg,#fffbeb,#fff7ed);
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
}
.prostho-count-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border-radius:999px;
  padding:7px 11px;
  background:#fff;
  border:1px solid #fed7aa;
  font-weight:800;
  color:#9a3412;
  box-shadow:0 5px 14px rgba(154,52,18,.07);
}
.personal-compact-table-wrap{font-size:60%;}
.personal-compact-table{table-layout:fixed; width:100%;}
.personal-compact-table th,
.personal-compact-table td{padding:5px 6px; line-height:1.25; vertical-align:middle;}
.personal-compact-table th:nth-child(2), .personal-compact-table td:nth-child(2){width:14%;}
.personal-compact-table th:nth-child(3), .personal-compact-table td:nth-child(3){width:14%; white-space:nowrap;}
.personal-compact-table th:nth-child(4), .personal-compact-table td:nth-child(4){width:9%;}
.personal-compact-table th:nth-child(5), .personal-compact-table td:nth-child(5){width:20%;}
.personal-compact-table th:nth-child(6), .personal-compact-table td:nth-child(6){width:17%;}
.personal-compact-table th:nth-child(7), .personal-compact-table td:nth-child(7){width:20%;}
.personal-compact-table.no-type th.personal-type-col,
.personal-compact-table.no-type td.personal-type-col{display:none;}
.personal-compact-table.no-type th:nth-child(2), .personal-compact-table.no-type td:nth-child(2){width:18%;}
.personal-compact-table.no-type th:nth-child(3), .personal-compact-table.no-type td:nth-child(3){width:16%;}
.personal-compact-table .personal-visit-input,
.personal-visit-input{
  width:4.8em;
  min-width:3.8em;
  padding:5px 6px;
  border:1px solid #dbe4f0;
  border-radius:10px;
  font-weight:800;
  text-align:center;
  background:#fff;
}
.prostho-flag-box{display:flex; flex-wrap:wrap; gap:4px; justify-content:center;}
.prostho-flag{
  display:inline-flex;
  align-items:center;
  gap:2px;
  padding:4px 6px;
  border:1px solid #e5e7eb;
  background:#fff;
  border-radius:999px;
  font-weight:900;
  color:#64748b;
  cursor:pointer;
  user-select:none;
}
.prostho-flag input{margin:0; width:12px; height:12px;}
.prostho-flag.is-on{background:#fff7ed; border-color:#fdba74; color:#c2410c;}
.muted-dash{color:#cbd5e1; font-weight:700;}
.personal-card-list{margin-top:10px; gap:14px;}
.personal-card-group{border:1px solid #e5eaf2; background:rgba(255,255,255,.82); border-radius:20px; padding:12px; box-shadow:0 10px 26px rgba(15,23,42,.06);}
.personal-card-group-title{display:flex; align-items:center; gap:10px; margin-bottom:10px;}
.personal-card-group-title strong{color:#475569;}
.personal-patient-cards{display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:10px;}
.personal-patient-card{border:1px solid #e5e7eb; border-radius:18px; padding:12px; background:#fff; box-shadow:0 8px 18px rgba(15,23,42,.06); display:grid; gap:9px;}
.personal-patient-card.type-bonto{background:linear-gradient(135deg,#fff,#f8fafc);}
.personal-patient-card.type-jinto{background:linear-gradient(135deg,#fff,#eff6ff); border-color:#bfdbfe;}
.personal-patient-card.type-guto{background:linear-gradient(135deg,#fff,#fff7ed); border-color:#fed7aa;}
.personal-patient-card-top{display:flex; align-items:center; gap:8px; justify-content:space-between;}
.personal-patient-card-top strong{font-size:1.05rem; color:#0f172a;}
.personal-patient-no{font-weight:900; color:#334155; letter-spacing:.02em;}
.personal-card-meta{display:flex; align-items:center; justify-content:space-between; gap:8px; color:#64748b; font-weight:800;}
.personal-card-schedule{display:flex; gap:6px; flex-wrap:wrap;}
.personal-card-actions{display:flex; gap:6px; flex-wrap:wrap;}
.personal-card-actions button{padding:6px 9px; border-radius:10px; font-size:.83rem;}
.personal-empty-card{padding:12px; border:1px dashed #cbd5e1; border-radius:14px; color:#64748b; background:#f8fafc;}
.scheduled-date-time{display:flex; flex-direction:column; gap:4px; align-items:flex-start;}
#personalScheduledTable{font-size:60%; table-layout:fixed;}
#personalScheduledTable th,#personalScheduledTable td{padding:5px 6px; line-height:1.25;}
#personalTomorrowTable{font-size:60%; table-layout:fixed;}
#personalTomorrowTable th,#personalTomorrowTable td{padding:5px 6px; line-height:1.25;}
#personalTomorrowTable .personal-visit-input{font-size:.9em; pointer-events:none; color:#475569; background:#f8fafc;}
@media (max-width:720px){
  .personal-compact-table-wrap{font-size:56%;}
  .personal-compact-table th,.personal-compact-table td{padding:4px 4px;}
  .personal-patient-cards{grid-template-columns:1fr;}
  .personal-list-controls{width:100%; justify-content:center;}
  .personal-view-btn{flex:1;}
  .prostho-status-summary{justify-content:center;}
  #personalTomorrowTable,#personalScheduledTable{font-size:55%;}
}


/* v68: 교정 필터 선택 상태를 더 명확하게 표시 */
.ortho-filter-action.active{
  background:linear-gradient(135deg,#dbeafe,#e0e7ff)!important;
  color:#1e3a8a!important;
  border-color:#93c5fd!important;
  box-shadow:0 10px 22px rgba(147,197,253,.28)!important;
}
#orthoBondingBtn.active{
  background:linear-gradient(135deg,#fef3c7,#fde68a)!important;
  color:#92400e!important;
  border-color:#facc15!important;
}
#clearOrthoFilterBtn.active{
  background:linear-gradient(135deg,#f1f5f9,#e2e8f0)!important;
  color:#334155!important;
  border-color:#cbd5e1!important;
}
/* v68: 개인 토탈 로그인 카드 안정화 */
.personal-auth-grid{align-items:stretch;}
.personal-card input[type=password],.personal-card input[type=text]{min-height:44px;}

/* v74 personal total polish */
.personal-add-card{
  background:linear-gradient(135deg,#f8fbff 0%,#ffffff 55%,#fff9fb 100%)!important;
  border:1px solid #dbeafe!important;
  box-shadow:0 12px 30px rgba(37,99,235,.07)!important;
}
.personal-table-head,
.personal-table-wrap.personal-compact-table-wrap{
  background:linear-gradient(135deg,#ffffff 0%,#fbfdff 100%)!important;
  border:1px solid #e5eaf2!important;
  box-shadow:0 10px 26px rgba(15,23,42,.05)!important;
}
.personal-table-head{margin-top:18px!important;}
.personal-compact-table-wrap{font-size:60%!important; overflow-x:auto;}
.personal-compact-table{width:100%!important; min-width:0!important; table-layout:fixed!important;}
.personal-compact-table th,.personal-compact-table td{
  padding:4px 5px!important;
  line-height:1.22!important;
  vertical-align:middle!important;
}
.personal-compact-table th{background:#f1f6ff!important; color:#334155!important; font-weight:900!important;}
.personal-compact-table tbody tr:nth-child(even):not(.personal-group-row):not(.personal-empty-row){background:#fbfdff!important;}
.personal-compact-table .personal-action-cell{display:table-cell!important;}
.personal-compact-table .personal-action-cell button{padding:4px 6px!important; border-radius:9px!important; font-size:.88em!important; margin:1px!important;}
.personal-compact-table .personal-schedule-cell{min-width:0!important;}
.personal-schedule-display{gap:3px!important; align-items:flex-start!important;}
.personal-date-line,.personal-time-line{display:inline-flex!important; width:max-content; max-width:100%;}
.personal-compact-table:not(.is-prostho) th:nth-child(6),
.personal-compact-table:not(.is-prostho) td.personal-prostho-cell{display:none!important;}
.personal-compact-table.is-prostho th:nth-child(6),
.personal-compact-table.is-prostho td.personal-prostho-cell{display:table-cell!important;}
.personal-compact-table.no-type:not(.is-prostho) th:nth-child(2), .personal-compact-table.no-type:not(.is-prostho) td:nth-child(2){width:18%!important;}
.personal-compact-table.no-type:not(.is-prostho) th:nth-child(3), .personal-compact-table.no-type:not(.is-prostho) td:nth-child(3){width:17%!important;}
.personal-compact-table.no-type:not(.is-prostho) th:nth-child(4), .personal-compact-table.no-type:not(.is-prostho) td:nth-child(4){width:10%!important;}
.personal-compact-table.no-type:not(.is-prostho) th:nth-child(5), .personal-compact-table.no-type:not(.is-prostho) td:nth-child(5){width:28%!important;}
.personal-compact-table.no-type:not(.is-prostho) th:nth-child(7), .personal-compact-table.no-type:not(.is-prostho) td:nth-child(7){width:27%!important;}
.personal-view-btn{background:#fff!important;color:#475569!important;border:1px solid #e5e7eb!important;box-shadow:none!important;}
.personal-view-btn.active{background:linear-gradient(135deg,#dbeafe,#fce7f3)!important;color:#1d4ed8!important;border-color:#bfdbfe!important;box-shadow:0 8px 18px rgba(37,99,235,.15)!important;}
@media (max-width:720px){
  .personal-compact-table-wrap{font-size:60%!important;}
  .personal-compact-table th,.personal-compact-table td{padding:3px 3px!important;}
  .personal-compact-table .personal-action-cell button{font-size:.82em!important;padding:3px 4px!important;}
  .personal-visit-input{width:3.8em!important;min-width:3.4em!important;padding:3px 4px!important;}
  .personal-add-card{padding:12px!important;}
  .personal-table-head{padding:10px!important;}
}

/* v75: intuitive personal total cards and auto-save visit count */
.personal-compact-table:not(.is-prostho) .personal-save-meta{display:none!important;}
.personal-visit-cell{vertical-align:middle;}
.personal-visit-stepper{display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:4px; border:1px solid #e2e8f0; background:#f8fafc; border-radius:14px; box-shadow:inset 0 1px 0 rgba(255,255,255,.9);}
.personal-visit-stepper.compact{gap:4px; padding:3px; border-radius:12px;}
.visit-step-btn{width:28px; height:28px; min-width:28px; padding:0; display:inline-flex; align-items:center; justify-content:center; border-radius:10px; border:1px solid #dbe4f0; background:#fff; color:#475569; font-weight:900; line-height:1; box-shadow:0 2px 6px rgba(15,23,42,.04);}
.visit-step-btn:hover{background:#eff6ff; color:#1d4ed8; border-color:#bfdbfe;}
.visit-input-wrap{display:inline-grid; gap:2px; align-items:center; min-width:58px; margin:0; color:#64748b; font-size:.72rem; font-weight:900; text-align:center;}
.visit-input-wrap span{line-height:1;}
.visit-input-wrap input.personal-visit-input,.personal-compact-table .visit-input-wrap input.personal-visit-input{width:4.2em; min-width:4.2em; padding:4px 4px; border:0; background:transparent; box-shadow:none; font-size:1rem; color:#0f172a; font-weight:900; text-align:center; outline:none;}
.auto-save-hint,.auto-save-pill{display:inline-flex; align-items:center; justify-content:center; margin-top:4px; padding:3px 7px; border-radius:999px; background:#eef2ff; color:#475569; font-weight:900; font-size:.72rem; white-space:nowrap;}
.auto-save-pill{margin-top:0; background:#ecfdf5; color:#047857;}
.auto-save-hint.is-saving,.auto-save-pill.is-saving{background:#fff7ed; color:#c2410c;}
.auto-save-hint.is-saved,.auto-save-pill.is-saved{background:#dcfce7; color:#166534;}
.auto-save-hint.is-error,.auto-save-pill.is-error{background:#fee2e2; color:#b91c1c;}
.personal-patient-card{position:relative; overflow:hidden; padding:14px; border-radius:22px; border:1px solid rgba(203,213,225,.9); background:linear-gradient(180deg,#fff 0%,#f8fafc 100%); box-shadow:0 14px 30px rgba(15,23,42,.08);}
.personal-patient-card::before{content:""; position:absolute; inset:0 auto 0 0; width:5px; background:#cbd5e1;}
.personal-patient-card.type-bonto::before{background:#a7f3d0;}
.personal-patient-card.type-jinto::before{background:#bfdbfe;}
.personal-patient-card.type-guto::before{background:#fed7aa;}
.personal-patient-card-top{padding-left:2px;}
.personal-patient-card-top strong{font-size:1.08rem; letter-spacing:-.02em;}
.personal-patient-no{display:inline-flex; width:max-content; padding:5px 10px; border-radius:999px; background:#f1f5f9; color:#334155; font-weight:950; font-size:.92rem;}
.personal-card-schedule-row{display:grid; grid-template-columns:1fr auto; align-items:center; gap:8px; padding:10px; border:1px solid #e5e7eb; border-radius:16px; background:rgba(255,255,255,.78);}
.personal-card-schedule{display:grid; grid-template-columns:1fr 1fr; gap:8px;}
.personal-card-schedule .schedule-badge{display:grid; gap:2px; justify-items:start; padding:8px 10px; border-radius:12px; min-height:48px;}
.personal-card-schedule .schedule-badge b{display:block; font-size:.72rem; color:#64748b; letter-spacing:.02em;}
.personal-card-editor-line{display:grid; grid-template-columns:1fr 1fr auto auto; align-items:end; gap:8px; padding:10px; border:1px solid #bfdbfe; border-radius:16px; background:#eff6ff;}
.personal-card-editor-line .personal-editor-field{display:grid; gap:4px; margin:0; font-size:.78rem; font-weight:900; color:#475569;}
.personal-card-editor-line input{min-height:38px; border:1px solid #cbd5e1; border-radius:10px; padding:6px 8px; background:#fff;}
.personal-card-visit-row{display:grid; grid-template-columns:1fr auto; align-items:center; gap:8px; padding:10px; border:1px solid #dcfce7; border-radius:16px; background:#f0fdf4;}
.personal-card-actions{display:flex; justify-content:flex-end; padding-top:2px;}
.personal-card-actions .danger{background:#fff1f2; color:#be123c; border-color:#fecdd3;}
.personal-card-actions .danger:hover{background:#ffe4e6;}
@media (max-width:720px){
  .personal-patient-cards{grid-template-columns:1fr; gap:12px;}
  .personal-card-schedule-row{grid-template-columns:1fr;}
  .personal-card-schedule-row .personal-edit-schedule{width:100%;}
  .personal-card-editor-line{grid-template-columns:1fr 1fr;}
  .personal-card-editor-line button{min-height:36px;}
  .personal-card-visit-row{grid-template-columns:1fr;}
  .personal-visit-stepper{width:100%; justify-content:space-between; padding:6px;}
  .visit-step-btn{width:34px; height:34px; min-width:34px; font-size:1.1rem;}
  .visit-input-wrap{min-width:72px;}
  .visit-input-wrap input.personal-visit-input{font-size:1.08rem;}
  .auto-save-pill{width:max-content; justify-self:end;}
}

/* v76: 보철 카드형 토탈 UI 정리 */
.personal-list-controls{
  gap:8px;
  flex-wrap:wrap;
}
.personal-view-btn{
  background:#fff!important;
  border:1px solid #dbeafe!important;
  color:#475569!important;
  box-shadow:0 2px 8px rgba(15,23,42,.04);
}
.personal-view-btn.active{
  background:linear-gradient(135deg,#dbeafe,#e0f2fe)!important;
  border-color:#93c5fd!important;
  color:#1d4ed8!important;
  box-shadow:0 8px 18px rgba(37,99,235,.12);
}
.personal-patient-cards{
  grid-template-columns:repeat(auto-fill,minmax(380px,1fr))!important;
  gap:16px!important;
}
.personal-patient-card{
  padding:18px!important;
  border-radius:24px!important;
  gap:12px!important;
}
.personal-card-identity-line{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  padding:2px 0 4px!important;
}
.personal-card-identity-line strong{
  font-size:1.08rem!important;
  color:#0f172a!important;
  letter-spacing:-.02em!important;
}
.personal-card-identity-line .personal-patient-no{
  margin:0!important;
  font-size:.9rem!important;
  background:#eef2ff!important;
  color:#3730a3!important;
  border:1px solid #c7d2fe!important;
}
.personal-card-schedule-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  padding:12px!important;
  background:linear-gradient(135deg,#ffffff,#f8fbff)!important;
  border:1px solid #dbeafe!important;
  border-radius:18px!important;
}
.personal-card-schedule{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
}
.personal-card-schedule .schedule-badge{
  display:grid!important;
  gap:3px!important;
  justify-items:start!important;
  min-height:50px!important;
  padding:9px 11px!important;
  border-radius:14px!important;
  border:1px solid transparent!important;
}
.personal-card-schedule .date-badge{
  background:#eff6ff!important;
  border-color:#bfdbfe!important;
  color:#1e3a8a!important;
}
.personal-card-schedule .time-badge{
  background:#f0fdf4!important;
  border-color:#bbf7d0!important;
  color:#166534!important;
}
.personal-card-schedule .schedule-badge b{
  font-size:.72rem!important;
  color:#64748b!important;
  letter-spacing:.03em!important;
}
.personal-card-editor-line{
  display:grid!important;
  grid-template-columns:1fr 1fr auto!important;
  align-items:end!important;
  gap:8px!important;
  padding:12px!important;
  border-radius:18px!important;
  background:#f8fbff!important;
  border:1px dashed #93c5fd!important;
}
.personal-card-editor-line .personal-editor-field span::after{
  content:" 자동저장";
  color:#2563eb;
  font-weight:800;
  font-size:.7rem;
  margin-left:4px;
}
.personal-card-visit-row{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  padding:12px!important;
  background:linear-gradient(135deg,#f0fdf4,#ffffff)!important;
  border:1px solid #bbf7d0!important;
  border-radius:18px!important;
}
.personal-visit-stepper{
  display:grid!important;
  grid-template-columns:34px minmax(74px,1fr) 34px!important;
  align-items:center!important;
  width:100%;
  max-width:220px;
  gap:0!important;
  padding:4px!important;
  border-radius:999px!important;
  border:1px solid #bfdbfe!important;
  background:#fff!important;
  box-shadow:0 8px 18px rgba(15,23,42,.05)!important;
  overflow:hidden!important;
}
.personal-visit-stepper.compact{
  max-width:160px;
  grid-template-columns:28px minmax(54px,1fr) 28px!important;
}
.visit-step-btn{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  width:100%!important;
  min-width:0!important;
  height:32px!important;
  border:0!important;
  border-radius:999px!important;
  background:#eff6ff!important;
  color:#1d4ed8!important;
  font-weight:950!important;
  box-shadow:none!important;
}
.personal-visit-stepper.compact .visit-step-btn{height:28px!important;}
.visit-input-wrap{
  display:grid!important;
  justify-items:center!important;
  gap:0!important;
  min-width:0!important;
  margin:0!important;
}
.visit-input-wrap span{
  font-size:.62rem!important;
  color:#64748b!important;
  font-weight:900!important;
  line-height:1.1!important;
}
.personal-visit-input{
  min-height:24px!important;
  height:24px!important;
  width:100%!important;
  max-width:64px!important;
  text-align:center!important;
  border:0!important;
  background:transparent!important;
  padding:0!important;
  font-weight:950!important;
  color:#0f172a!important;
  font-size:1rem!important;
}
.personal-card-prostho-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:12px;
  border:1px solid #fed7aa;
  border-radius:18px;
  background:linear-gradient(135deg,#fff7ed,#ffffff);
}
.personal-card-row-label{
  font-size:.78rem;
  font-weight:950;
  color:#9a3412;
  white-space:nowrap;
}
.personal-card-prostho-row .prostho-flag-box{
  justify-content:flex-start;
}
.personal-card-actions{
  justify-content:flex-end!important;
}
@media (max-width:720px){
  .personal-patient-cards{grid-template-columns:1fr!important; gap:12px!important;}
  .personal-patient-card{padding:14px!important;}
  .personal-card-schedule-row{grid-template-columns:1fr!important;}
  .personal-card-schedule-row .personal-edit-schedule{width:100%;}
  .personal-card-editor-line{grid-template-columns:1fr 1fr!important;}
  .personal-card-editor-line .personal-cancel-schedule{grid-column:1 / -1; width:100%;}
  .personal-card-visit-row{display:grid!important; grid-template-columns:1fr auto!important;}
  .personal-visit-stepper{max-width:180px!important; grid-template-columns:34px minmax(58px,1fr) 34px!important;}
  .visit-step-btn{height:34px!important; font-size:1.1rem!important;}
  .personal-card-prostho-row{grid-template-columns:1fr; gap:8px;}
}

/* v78: 교정 토탈 카드형 UI 정리 */
.personal-patient-cards{
  grid-template-columns:repeat(auto-fit,minmax(520px,1fr))!important;
  gap:18px!important;
  align-items:stretch!important;
}
.personal-patient-card.ortho-total-card{
  width:100%!important;
  max-width:none!important;
  padding:20px 22px!important;
  gap:14px!important;
}
.personal-patient-card.ortho-total-card .personal-card-identity-line{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  font-size:1rem!important;
  line-height:1.25!important;
}
.personal-patient-card.ortho-total-card .identity-separator{
  color:#94a3b8!important;
  font-weight:900!important;
}
.personal-patient-card.ortho-total-card .type-pill{
  flex:0 0 auto!important;
}
.personal-patient-card.ortho-total-card .personal-patient-no{
  flex:0 0 auto!important;
  white-space:nowrap!important;
}
.personal-patient-card.ortho-total-card .personal-card-schedule-row{
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:12px!important;
}
.personal-patient-card.ortho-total-card .personal-card-schedule{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
}
.personal-patient-card.ortho-total-card .personal-card-visit-row{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
}
.personal-patient-card.ortho-total-card .visit-label{
  color:#166534!important;
  min-width:64px!important;
}
.personal-patient-card.ortho-total-card .personal-visit-stepper{
  flex:0 0 190px!important;
  width:190px!important;
  max-width:190px!important;
  display:grid!important;
  grid-template-columns:36px minmax(78px,1fr) 36px!important;
}
.personal-patient-card.ortho-total-card .visit-step-btn{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  width:36px!important;
  min-width:36px!important;
  height:34px!important;
  -webkit-appearance:none!important;
  appearance:none!important;
}
.personal-patient-card.ortho-total-card .personal-card-actions{
  justify-content:flex-end!important;
  border-top:1px dashed #e2e8f0!important;
  padding-top:10px!important;
}
@media (max-width:720px){
  .personal-patient-cards{grid-template-columns:1fr!important; gap:12px!important;}
  .personal-patient-card.ortho-total-card{padding:14px!important; gap:10px!important;}
  .personal-patient-card.ortho-total-card .personal-card-identity-line{gap:6px!important; font-size:.92rem!important;}
  .personal-patient-card.ortho-total-card .personal-card-schedule-row{grid-template-columns:1fr auto!important; align-items:center!important; gap:8px!important; padding:10px!important;}
  .personal-patient-card.ortho-total-card .personal-card-schedule{grid-template-columns:1fr 1fr!important; gap:6px!important;}
  .personal-patient-card.ortho-total-card .personal-card-schedule .schedule-badge{min-height:42px!important; padding:7px 8px!important;}
  .personal-patient-card.ortho-total-card .personal-edit-schedule{width:auto!important; white-space:nowrap!important; padding:8px 10px!important;}
  .personal-patient-card.ortho-total-card .personal-card-visit-row{display:flex!important; flex-wrap:nowrap!important; gap:8px!important; padding:10px!important;}
  .personal-patient-card.ortho-total-card .visit-label{min-width:auto!important; font-size:.78rem!important;}
  .personal-patient-card.ortho-total-card .personal-visit-stepper{flex:0 0 150px!important; width:150px!important; max-width:150px!important; grid-template-columns:32px minmax(58px,1fr) 32px!important;}
  .personal-patient-card.ortho-total-card .visit-step-btn{display:flex!important; width:32px!important; min-width:32px!important; height:32px!important; font-size:1.05rem!important;}
  .personal-patient-card.ortho-total-card .auto-save-pill{font-size:.7rem!important; padding:5px 7px!important; white-space:nowrap!important;}
  .personal-patient-card.ortho-total-card .personal-card-editor-line{grid-template-columns:1fr 1fr auto!important; gap:6px!important; padding:9px!important;}
  .personal-patient-card.ortho-total-card .personal-cancel-schedule{grid-column:auto!important; width:auto!important; white-space:nowrap!important;}
}
@media (max-width:420px){
  .personal-patient-card.ortho-total-card .personal-card-schedule-row{grid-template-columns:1fr!important;}
  .personal-patient-card.ortho-total-card .personal-card-schedule-row .personal-edit-schedule{width:100%!important;}
  .personal-patient-card.ortho-total-card .personal-card-visit-row{justify-content:space-between!important;}
  .personal-patient-card.ortho-total-card .personal-visit-stepper{flex:0 0 142px!important; width:142px!important; max-width:142px!important;}
}


/* v79: 교정 카드형 PC 폭 보정 - 교정 카드에만 적용 */
.personal-patient-cards.ortho-patient-cards{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(620px,100%),1fr))!important;
  gap:18px!important;
  align-items:stretch!important;
}
@media (min-width:1180px){
  .personal-patient-cards.ortho-patient-cards{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media (min-width:721px) and (max-width:1179px){
  .personal-patient-cards.ortho-patient-cards{
    grid-template-columns:1fr!important;
  }
}
.personal-patient-cards.ortho-patient-cards .personal-patient-card.ortho-total-card{
  min-width:0!important;
  width:100%!important;
  max-width:none!important;
  padding:22px 24px!important;
}
.personal-patient-cards.ortho-patient-cards .personal-card-identity-line,
.personal-patient-cards.ortho-patient-cards .personal-card-schedule-row,
.personal-patient-cards.ortho-patient-cards .personal-card-visit-row{
  min-width:0!important;
}
.personal-patient-cards.ortho-patient-cards .personal-card-identity-line{
  flex-wrap:nowrap!important;
  overflow:hidden!important;
}
.personal-patient-cards.ortho-patient-cards .personal-card-identity-line strong{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.personal-patient-cards.ortho-patient-cards .personal-card-schedule-row{
  grid-template-columns:minmax(0,1fr) auto!important;
}
.personal-patient-cards.ortho-patient-cards .personal-card-schedule{
  grid-template-columns:minmax(160px,1fr) minmax(120px,1fr)!important;
  min-width:0!important;
}
.personal-patient-cards.ortho-patient-cards .personal-card-schedule .schedule-badge{
  min-width:0!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.personal-patient-cards.ortho-patient-cards .personal-card-editor-line{
  grid-template-columns:minmax(180px,1fr) minmax(140px,1fr)!important;
}
.personal-patient-cards.ortho-patient-cards .personal-card-visit-row{
  flex-wrap:nowrap!important;
}
.personal-patient-cards.ortho-patient-cards .personal-visit-stepper{
  flex:0 0 200px!important;
  width:200px!important;
  max-width:200px!important;
}
.personal-patient-cards.ortho-patient-cards .visit-step-btn{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
.personal-patient-cards.ortho-patient-cards .personal-card-actions{
  justify-content:stretch!important;
}
.personal-patient-cards.ortho-patient-cards .personal-card-actions .personal-delete-patient{
  width:100%!important;
  min-height:40px!important;
}
@media (max-width:720px){
  .personal-patient-cards.ortho-patient-cards{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .personal-patient-cards.ortho-patient-cards .personal-patient-card.ortho-total-card{
    padding:14px!important;
  }
  .personal-patient-cards.ortho-patient-cards .personal-card-identity-line{
    flex-wrap:wrap!important;
    overflow:visible!important;
  }
  .personal-patient-cards.ortho-patient-cards .personal-card-identity-line strong{
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  .personal-patient-cards.ortho-patient-cards .personal-card-schedule-row{
    grid-template-columns:1fr auto!important;
  }
  .personal-patient-cards.ortho-patient-cards .personal-card-schedule{
    grid-template-columns:1fr 1fr!important;
  }
  .personal-patient-cards.ortho-patient-cards .personal-card-editor-line{
    grid-template-columns:1fr 1fr!important;
  }
  .personal-patient-cards.ortho-patient-cards .personal-card-visit-row{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
  }
  .personal-patient-cards.ortho-patient-cards .personal-visit-stepper{
    flex:0 0 150px!important;
    width:150px!important;
    max-width:150px!important;
  }
  .personal-patient-cards.ortho-patient-cards .visit-step-btn{
    min-width:32px!important;
    width:32px!important;
    height:32px!important;
  }
  .personal-patient-cards.ortho-patient-cards .personal-card-actions .personal-delete-patient{
    width:100%!important;
  }
}
@media (max-width:420px){
  .personal-patient-cards.ortho-patient-cards .personal-card-schedule-row{
    grid-template-columns:1fr!important;
  }
  .personal-patient-cards.ortho-patient-cards .personal-card-schedule-row .personal-edit-schedule{
    width:100%!important;
  }
  .personal-patient-cards.ortho-patient-cards .personal-card-visit-row{
    justify-content:space-between!important;
  }
}

/* v80: 교정 카드 PC 압축 방지 최종 보정
   - 교정 카드형만 1열 넓은 카드로 고정
   - 부모 grid/section이 내용 폭만큼 줄어드는 현상 방지
   - 모바일은 기존 1열 유지 */
#personalCardList.personal-card-list{
  width:100%!important;
  max-width:none!important;
}
#personalCardList .personal-card-group{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
}
#personalCardList .personal-patient-cards.ortho-patient-cards{
  width:100%!important;
  max-width:none!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:16px!important;
  justify-items:stretch!important;
  align-items:stretch!important;
}
#personalCardList .personal-patient-cards.ortho-patient-cards .personal-patient-card.ortho-total-card{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
  padding:22px 24px!important;
}
@media (min-width:960px){
  #personalCardList .personal-patient-cards.ortho-patient-cards .personal-patient-card.ortho-total-card{
    min-height:0!important;
  }
  #personalCardList .personal-patient-cards.ortho-patient-cards .personal-card-identity-line{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    gap:10px!important;
    width:100%!important;
    overflow:visible!important;
  }
  #personalCardList .personal-patient-cards.ortho-patient-cards .personal-card-identity-line strong{
    flex:1 1 auto!important;
    min-width:140px!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  #personalCardList .personal-patient-cards.ortho-patient-cards .personal-card-schedule-row{
    display:grid!important;
    grid-template-columns:minmax(360px,1fr) auto!important;
    align-items:center!important;
    gap:14px!important;
    width:100%!important;
  }
  #personalCardList .personal-patient-cards.ortho-patient-cards .personal-card-schedule{
    display:grid!important;
    grid-template-columns:minmax(170px,1fr) minmax(130px,1fr)!important;
    gap:10px!important;
    min-width:0!important;
  }
  #personalCardList .personal-patient-cards.ortho-patient-cards .personal-edit-schedule{
    min-width:92px!important;
    white-space:nowrap!important;
    writing-mode:horizontal-tb!important;
    word-break:keep-all!important;
  }
  #personalCardList .personal-patient-cards.ortho-patient-cards .personal-card-visit-row{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:14px!important;
    width:100%!important;
  }
  #personalCardList .personal-patient-cards.ortho-patient-cards .personal-visit-stepper{
    flex:0 0 210px!important;
    width:210px!important;
    max-width:210px!important;
  }
  #personalCardList .personal-patient-cards.ortho-patient-cards .auto-save-pill{
    margin-left:4px!important;
    white-space:nowrap!important;
  }
}
@media (max-width:720px){
  #personalCardList .personal-patient-cards.ortho-patient-cards{
    grid-template-columns:1fr!important;
  }
  #personalCardList .personal-patient-cards.ortho-patient-cards .personal-patient-card.ortho-total-card{
    padding:14px!important;
  }
  #personalCardList .personal-patient-cards.ortho-patient-cards .personal-card-identity-line{
    flex-wrap:wrap!important;
  }
  #personalCardList .personal-patient-cards.ortho-patient-cards .personal-card-schedule-row{
    grid-template-columns:1fr auto!important;
  }
  #personalCardList .personal-patient-cards.ortho-patient-cards .personal-edit-schedule{
    writing-mode:horizontal-tb!important;
    white-space:normal!important;
  }
  #personalCardList .personal-patient-cards.ortho-patient-cards .personal-visit-stepper{
    flex:0 0 150px!important;
    width:150px!important;
    max-width:150px!important;
  }
}

/* v81: PC two-column ortho cards and clearer active/inactive menu states */
#personalManageArea,
#personalCardList,
#personalCardList .personal-card-list,
#personalCardList .personal-card-group{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
#personalCardList .personal-card-group{
  margin-bottom:16px!important;
  padding:16px!important;
}
@media (min-width:900px){
  #personalCardList .personal-patient-cards.ortho-patient-cards{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:18px!important;
    width:100%!important;
    justify-items:stretch!important;
  }
  #personalCardList .personal-patient-cards.ortho-patient-cards .personal-patient-card.ortho-total-card{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    padding:20px 22px!important;
  }
}
@media (min-width:721px) and (max-width:899px){
  #personalCardList .personal-patient-cards.ortho-patient-cards{grid-template-columns:1fr!important;}
}
#personalCardList .personal-patient-cards.ortho-patient-cards .personal-card-schedule-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) max-content!important;
  gap:12px!important;
}
#personalCardList .personal-patient-cards.ortho-patient-cards .personal-card-schedule{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
#personalCardList .personal-patient-cards.ortho-patient-cards .personal-edit-schedule{
  min-width:84px!important;
  white-space:nowrap!important;
  writing-mode:horizontal-tb!important;
  word-break:keep-all!important;
  padding:9px 12px!important;
}
#personalCardList .personal-patient-cards.ortho-patient-cards .personal-card-visit-row{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:12px!important;
}
#personalCardList .personal-patient-cards.ortho-patient-cards .personal-visit-stepper{
  flex:0 0 190px!important;
  width:190px!important;
  max-width:190px!important;
}
@media (max-width:720px){
  #personalCardList .personal-patient-cards.ortho-patient-cards{grid-template-columns:1fr!important;}
  #personalCardList .personal-patient-cards.ortho-patient-cards .personal-card-schedule-row{grid-template-columns:1fr auto!important;}
  #personalCardList .personal-patient-cards.ortho-patient-cards .personal-visit-stepper{flex:0 0 150px!important;width:150px!important;max-width:150px!important;}
}

/* v81: personal total subject bar - only selected item is colored */
.personal-dept-tabs{
  background:rgba(248,250,252,.65)!important;
  border:1px solid #e5eaf2!important;
  border-radius:18px!important;
  padding:8px!important;
  box-shadow:0 6px 18px rgba(15,23,42,.04)!important;
}
.personal-dept-tabs .personal-dept-tab{
  background:rgba(255,255,255,.78)!important;
  border:1px solid #e5e7eb!important;
  color:#64748b!important;
  opacity:.72!important;
  box-shadow:none!important;
}
.personal-dept-tabs .personal-dept-tab.active{
  background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;
  border-color:#1d4ed8!important;
  color:#fff!important;
  opacity:1!important;
  box-shadow:0 10px 20px rgba(37,99,235,.20)!important;
}
#personalTomorrowTab.active{
  background:linear-gradient(135deg,#2563eb,#0f766e)!important;
  border-color:#0f766e!important;
  color:#fff!important;
}

/* v81: separate patient add area from patient list area */
#personalAddTitle{
  margin:18px 0 8px!important;
  padding-left:4px!important;
}
#personalPatientForm.personal-add-grid{
  margin:0 0 22px!important;
  padding:18px!important;
  border:1px solid #bfdbfe!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,#f8fbff,#eef6ff)!important;
  box-shadow:0 10px 26px rgba(37,99,235,.08)!important;
}
.personal-table-head{
  margin-top:8px!important;
  padding:18px!important;
  border:1px solid #e5e7eb!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,#ffffff,#f8fafc)!important;
  box-shadow:0 8px 22px rgba(15,23,42,.05)!important;
}

/* v81: remaining-page subtabs - inactive white, active colored */
.clinic-subtabs{
  background:rgba(248,250,252,.72)!important;
  border:1px solid #e5eaf2!important;
}
.clinic-subtabs .clinic-subtab{
  background:rgba(255,255,255,.86)!important;
  color:#64748b!important;
  border:1px solid #e5e7eb!important;
  opacity:.72!important;
  box-shadow:none!important;
}
.clinic-subtabs .clinic-subtab.active{
  background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;
  color:#fff!important;
  border-color:#1d4ed8!important;
  opacity:1!important;
  box-shadow:0 10px 20px rgba(37,99,235,.20)!important;
}

/* v81: resident list conservative buttons active state */
.color-tools .color-action,
.color-tools .color-endo,
.color-tools .color-operative{
  background:rgba(255,255,255,.86)!important;
  color:#475569!important;
  border:1px solid #e5e7eb!important;
  opacity:.76!important;
  box-shadow:none!important;
}
.color-tools .color-endo.active{
  background:linear-gradient(135deg,#dbeafe,#bfdbfe)!important;
  color:#1e3a8a!important;
  border-color:#93c5fd!important;
  opacity:1!important;
  box-shadow:0 10px 20px rgba(59,130,246,.18)!important;
}
.color-tools .color-operative.active{
  background:linear-gradient(135deg,#dcfce7,#bbf7d0)!important;
  color:#166534!important;
  border-color:#86efac!important;
  opacity:1!important;
  box-shadow:0 10px 20px rgba(34,197,94,.16)!important;
}
.color-tools #clearConservativeColorBtn{
  background:#fff!important;
  color:#64748b!important;
}

/* v81: resident search row - larger search field, shorter right-side guide */
.search-row{
  display:grid!important;
  grid-template-columns:minmax(360px,1fr) auto auto minmax(180px,260px)!important;
  gap:8px!important;
  padding:10px!important;
}
.search-row #searchInput{
  grid-column:1!important;
  grid-row:1!important;
  min-height:50px!important;
  font-size:15px!important;
  margin-top:0!important;
}
.search-row #searchBtn{grid-column:2!important;grid-row:1!important;min-height:50px!important;}
.search-row #resetBtn{grid-column:3!important;grid-row:1!important;min-height:50px!important;}
.search-row .search-help{
  grid-column:4!important;
  grid-row:1!important;
  align-self:center!important;
  justify-self:end!important;
  max-width:250px!important;
  padding:7px 10px!important;
  border-radius:999px!important;
  background:#fff1f2!important;
  border:1px solid #fecdd3!important;
  color:#be123c!important;
  font-size:11px!important;
  font-weight:900!important;
  line-height:1.25!important;
  text-align:center!important;
  white-space:normal!important;
}
@media (max-width:900px){
  .search-row{grid-template-columns:1fr auto auto!important;}
  .search-row .search-help{grid-column:1 / -1!important;grid-row:2!important;justify-self:start!important;max-width:none!important;}
}
@media (max-width:520px){
  .search-row{grid-template-columns:1fr!important;}
  .search-row #searchInput,.search-row #searchBtn,.search-row #resetBtn,.search-row .search-help{grid-column:1!important;grid-row:auto!important;width:100%!important;}
}

/* v82: make inactive menu buttons more transparent for clearer selected state */
.tabs .tab:not(.active){
  background:rgba(255,255,255,.38)!important;
  color:#94a3b8!important;
  border-color:rgba(226,232,240,.52)!important;
  opacity:.48!important;
  box-shadow:none!important;
}
.tabs .tab:not(.active):hover{
  opacity:.78!important;
  background:rgba(255,255,255,.76)!important;
  color:#475569!important;
}
.personal-dept-tabs .personal-dept-tab:not(.active),
.clinic-subtabs .clinic-subtab:not(.active),
.resident-dept-tabs .dept-page-tab:not(.active),
.color-tools .color-action:not(.active),
.color-tools .color-endo:not(.active),
.color-tools .color-operative:not(.active),
.personal-list-controls .personal-view-btn:not(.active),
.ortho-filter-action:not(.active),
.time-filter-action:not(.active){
  background:rgba(255,255,255,.34)!important;
  color:#94a3b8!important;
  border-color:rgba(226,232,240,.48)!important;
  opacity:.42!important;
  box-shadow:none!important;
}
.personal-dept-tabs .personal-dept-tab:not(.active):hover,
.clinic-subtabs .clinic-subtab:not(.active):hover,
.resident-dept-tabs .dept-page-tab:not(.active):hover,
.color-tools .color-action:not(.active):hover,
.color-tools .color-endo:not(.active):hover,
.color-tools .color-operative:not(.active):hover,
.personal-list-controls .personal-view-btn:not(.active):hover,
.ortho-filter-action:not(.active):hover,
.time-filter-action:not(.active):hover{
  opacity:.76!important;
  background:rgba(255,255,255,.78)!important;
  color:#475569!important;
  border-color:#cbd5e1!important;
}
.personal-dept-tabs .personal-dept-tab.active,
.clinic-subtabs .clinic-subtab.active,
.resident-dept-tabs .dept-page-tab.active,
.personal-list-controls .personal-view-btn.active,
.ortho-filter-action.active,
.time-filter-action.active{
  opacity:1!important;
}


/* v83: table/card toggle clarity and default card view */
.personal-list-controls{
  background:rgba(248,250,252,.72)!important;
  border:1px solid rgba(203,213,225,.85)!important;
  padding:5px!important;
}
.personal-list-controls .personal-view-btn:not(.active){
  background:rgba(255,255,255,.16)!important;
  color:#a8b3c4!important;
  border-color:rgba(226,232,240,.34)!important;
  opacity:.24!important;
  box-shadow:none!important;
}
.personal-list-controls .personal-view-btn:not(.active):hover{
  background:rgba(255,255,255,.72)!important;
  color:#64748b!important;
  border-color:#cbd5e1!important;
  opacity:.68!important;
}
.personal-list-controls .personal-view-btn.active{
  background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;
  border-color:#1d4ed8!important;
  color:#fff!important;
  opacity:1!important;
  box-shadow:0 10px 20px rgba(37,99,235,.22)!important;
}

/* v85: mobile personal-total table schedule readability fix */
.personal-table-wrap.personal-compact-table-wrap{
  overflow-x:auto!important;
  -webkit-overflow-scrolling:touch!important;
}
#personalPatientTable.personal-compact-table{
  width:100%!important;
  table-layout:fixed!important;
}
#personalPatientTable.personal-compact-table td,
#personalPatientTable.personal-compact-table th{
  overflow:visible!important;
  text-overflow:clip!important;
}
#personalPatientTable .personal-schedule-cell{
  min-width:150px!important;
  overflow:visible!important;
  white-space:normal!important;
}
#personalPatientTable .personal-schedule-display{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:4px!important;
  min-width:138px!important;
  max-width:none!important;
}
#personalPatientTable .personal-date-line,
#personalPatientTable .personal-time-line{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:92px!important;
  max-width:none!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  letter-spacing:-.01em!important;
}
@media (max-width:720px){
  .personal-table-wrap.personal-compact-table-wrap{
    max-width:100%!important;
    overflow-x:auto!important;
  }
  #personalPatientTable.personal-compact-table{
    min-width:760px!important;
    width:760px!important;
    font-size:12px!important;
  }
  #personalPatientTable.personal-compact-table.is-prostho{
    min-width:860px!important;
    width:860px!important;
  }
  #personalPatientTable.personal-compact-table th,
  #personalPatientTable.personal-compact-table td{
    padding:6px 7px!important;
    line-height:1.28!important;
    font-size:12px!important;
  }
  #personalPatientTable th:nth-child(5),
  #personalPatientTable td.personal-schedule-cell{
    width:165px!important;
    min-width:165px!important;
  }
  #personalPatientTable .personal-schedule-display{
    min-width:150px!important;
  }
  #personalPatientTable .personal-date-line,
  #personalPatientTable .personal-time-line{
    min-width:104px!important;
    font-size:12px!important;
    font-weight:900!important;
  }
  #personalPatientTable .personal-schedule-editor{
    min-width:180px!important;
  }
  #personalPatientTable .personal-date-input,
  #personalPatientTable .personal-time-input{
    min-width:130px!important;
    font-size:12px!important;
  }
}


/* v86 guide entry button and first-visit guide page */
.hero-side .guide-button{
  background:linear-gradient(135deg,#14b8a6,#38bdf8);
  color:#fff;
  box-shadow:0 15px 30px rgba(20,184,166,.23);
}
.hero-side .guide-button:before{content:"✨";font-size:16px}
.guide-body{
  background:radial-gradient(circle at 10% 0%,rgba(49,92,246,.20),transparent 28rem),radial-gradient(circle at 90% 8%,rgba(20,184,166,.18),transparent 30rem),linear-gradient(180deg,#fbfcff 0%,#eef4ff 100%);
}
.guide-shell{width:min(1180px,calc(100% - 34px));margin:0 auto;padding:34px 0 72px}.guide-floating-back{position:fixed;top:18px;left:18px;z-index:50;display:inline-flex;align-items:center;justify-content:center;padding:13px 17px;border-radius:999px;background:rgba(19,32,51,.88);color:#fff;font-weight:950;box-shadow:0 16px 34px rgba(16,24,40,.22);backdrop-filter:blur(12px)}.guide-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.05fr) 420px;gap:26px;align-items:stretch;margin-top:46px;padding:36px;border-radius:34px;background:rgba(255,255,255,.84);border:1px solid rgba(255,255,255,.95);box-shadow:0 24px 70px rgba(16,24,40,.12);backdrop-filter:blur(18px)}.guide-hero-copy{position:relative;z-index:2}.guide-hero h1{margin:0;font-size:clamp(42px,7vw,78px);letter-spacing:-.075em;line-height:.98}.guide-hero p{max-width:720px;margin:18px 0 0;color:#475467;font-size:18px;line-height:1.75;word-break:keep-all}.guide-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.guide-hero-actions a,.guide-tips a{display:inline-flex;align-items:center;justify-content:center;padding:15px 18px;border-radius:17px;background:linear-gradient(135deg,var(--primary),#6c7cff);color:white;font-weight:950;box-shadow:0 16px 32px rgba(49,92,246,.24)}.guide-hero-actions a:nth-child(2){background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:none}.guide-visual{position:relative;min-height:300px;border-radius:30px;background:linear-gradient(145deg,rgba(49,92,246,.10),rgba(20,184,166,.12));overflow:hidden}.guide-phone-card{position:absolute;left:54px;top:42px;width:190px;height:238px;border-radius:28px;background:#fff;box-shadow:0 24px 50px rgba(16,24,40,.18);padding:22px;transform:rotate(-7deg)}.guide-phone-card.second{left:auto;right:42px;top:92px;transform:rotate(8deg);background:#14213d;color:#fff}.guide-phone-card span{display:block;width:54px;height:9px;border-radius:999px;background:#d9e1f2;margin-bottom:34px}.guide-phone-card strong{font-size:28px;line-height:1.15;letter-spacing:-.05em}.guide-phone-card:after{content:"";position:absolute;left:22px;right:22px;bottom:24px;height:62px;border-radius:18px;background:linear-gradient(90deg,rgba(49,92,246,.15),rgba(20,184,166,.15))}.guide-phone-card.second:after{background:rgba(255,255,255,.14)}.guide-orbit{position:absolute;border-radius:50%;filter:blur(.2px);background:linear-gradient(135deg,rgba(49,92,246,.32),rgba(20,184,166,.26))}.guide-orbit.one{width:92px;height:92px;right:24px;top:20px}.guide-orbit.two{width:130px;height:130px;left:16px;bottom:-34px}.guide-section{margin-top:22px;padding:28px;border-radius:30px;background:rgba(255,255,255,.88);border:1px solid rgba(255,255,255,.95);box-shadow:0 18px 48px rgba(16,24,40,.08)}.guide-section-head{margin-bottom:18px}.guide-section-head span{display:inline-flex;margin-bottom:10px;padding:7px 11px;border-radius:999px;background:#eef3ff;color:var(--primary);font-weight:950}.guide-section h2{margin:0;font-size:30px;letter-spacing:-.05em}.guide-section-head p,.guide-feature-grid p,.guide-total-grid p,.guide-tips p{color:#667085;line-height:1.7;word-break:keep-all}.guide-step-grid,.guide-feature-grid,.guide-total-grid{display:grid;gap:16px}.guide-step-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.guide-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-total-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.guide-step-grid article,.guide-feature-grid article,.guide-total-grid article{border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,#fff,#f8faff);padding:22px}.guide-step-grid b{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:12px;background:var(--ink);color:white}.guide-section h3{margin:14px 0 8px;font-size:21px;letter-spacing:-.04em}.guide-icon{width:46px;height:46px;display:flex;align-items:center;justify-content:center;border-radius:16px;background:#eef3ff;font-size:25px}.guide-feature-grid ul{margin:14px 0 0;padding-left:18px;color:#475467;line-height:1.8}.guide-tips{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#14213d,#263b80);color:#fff}.guide-tips p{color:rgba(255,255,255,.78);margin-bottom:0}.guide-tips a{white-space:nowrap;background:#fff;color:#14213d;box-shadow:none}
@media (max-width:900px){.guide-shell{width:min(100% - 22px,1180px);padding-top:20px}.guide-floating-back{top:auto;left:50%;bottom:18px;transform:translateX(-50%);white-space:nowrap}.guide-hero{grid-template-columns:1fr;margin-top:12px;padding:24px}.guide-visual{min-height:230px}.guide-phone-card{left:28px;top:30px;width:155px;height:196px}.guide-phone-card.second{right:22px;top:70px}.guide-phone-card strong{font-size:22px}.guide-step-grid,.guide-feature-grid,.guide-total-grid{grid-template-columns:1fr}.guide-section{padding:22px}.guide-tips{display:block}.guide-tips a{margin-top:16px}}
@media (max-width:560px){.guide-hero-actions a{width:100%}.guide-visual{display:none}.guide-hero h1{font-size:44px}.guide-hero p{font-size:16px}.guide-section h2{font-size:25px}}

/* v87: OCS 개인 토탈환자 메일 알림 설정 */
.alert-settings-panel {
  margin-top: 18px;
  border: 1px solid rgba(37, 99, 235, .18);
  background: linear-gradient(135deg, rgba(239, 246, 255, .9), rgba(255, 255, 255, .96));
}
.alert-settings-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  align-items: end;
}
.alert-settings-grid label {
  min-width: 0;
}
.alert-check-row, .alert-dept-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center;
}
.alert-check-row label, .alert-dept-row label {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, .32);
  background: rgba(255,255,255,.72);
  font-weight: 700;
}
.alert-check-row input, .alert-dept-row input {
  width: auto;
  margin: 0;
}
.alert-settings-note {
  margin: 8px 0 0;
  font-size: .88rem;
  color: #64748b;
  line-height: 1.5;
}
.alert-status-line {
  margin-top: 10px;
  font-weight: 800;
  color: #2563eb;
}
@media (max-width: 760px) {
  .alert-settings-grid { grid-template-columns: 1fr; }
}
/* v89 Gmail API alert settings polish */
input[type="email"]{margin-top:8px;width:100%;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);padding:12px 13px;font-size:15px;outline:none}
.button{display:inline-flex;align-items:center;justify-content:center;border-radius:14px;padding:12px 15px;font-weight:900;cursor:pointer;transition:.16s;text-decoration:none}
.button.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}
.button.secondary.active{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.35);color:#047857}
.alert-settings-note b{word-break:break-all}

/* v90: 토탈관리 메일 알림 설정 페이지 */
.personal-mail-alert-tab{
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#7c3aed,#2563eb) !important;
  color:#fff !important;
  border-color:rgba(37,99,235,.45) !important;
  box-shadow:0 10px 22px rgba(37,99,235,.18);
  opacity:1 !important;
}
.personal-mail-alert-tab:hover{ transform:translateY(-1px); }
.alert-page-shell{ max-width:1080px; }
.alert-hero{ position:relative; overflow:hidden; }
.alert-hero:after{
  content:"";
  position:absolute;
  right:-90px;
  top:-90px;
  width:260px;
  height:260px;
  border-radius:999px;
  background:radial-gradient(circle,rgba(37,99,235,.18),rgba(124,58,237,.06),transparent 70%);
  pointer-events:none;
}
.alert-guide-card{ position:relative; z-index:1; }
.floating-back-btn{
  position:fixed;
  top:18px;
  left:18px;
  z-index:50;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:11px 15px;
  border-radius:999px;
  background:rgba(255,255,255,.9);
  border:1px solid rgba(191,219,254,.95);
  color:#1d4ed8;
  text-decoration:none;
  font-weight:900;
  box-shadow:0 14px 34px rgba(15,23,42,.14);
  backdrop-filter:blur(10px);
}
.alert-settings-main-panel{ border-color:rgba(147,197,253,.75); box-shadow:0 18px 48px rgba(15,23,42,.08); }
.alert-settings-page-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.alert-settings-page-grid .wide{ grid-column:1/-1; }
.alert-mini-preview{
  min-width:210px;
  padding:13px 16px;
  border-radius:18px;
  background:linear-gradient(135deg,#eff6ff,#f5f3ff);
  border:1px solid #dbeafe;
  color:#1e3a8a;
}
.alert-mini-preview strong{ display:block; font-size:12px; color:#64748b; margin-bottom:3px; }
.alert-mini-preview span{ font-weight:900; }
.alert-switch-card,.alert-dept-card,.alert-instruction-box{
  border:1px solid #dbeafe;
  background:#f8fbff;
  border-radius:18px;
  padding:15px;
}
.alert-switch-card label{ font-weight:900; color:#1e3a8a; }
.alert-switch-card p{ margin:8px 0 0; color:#64748b; font-size:13px; line-height:1.55; }
.alert-dept-card strong{ display:block; margin-bottom:10px; color:#0f172a; }
.alert-page-actions{ align-items:center; justify-content:flex-start; flex-wrap:wrap; }
.alert-instruction-box{ margin-top:18px; }
.alert-instruction-box h3{ margin:0 0 8px; }
.alert-instruction-box p{ margin:0 0 10px; color:#64748b; }
.alert-instruction-box code{ display:block; padding:12px 14px; border-radius:12px; background:#fff; border:1px solid #c7d2fe; color:#1e40af; overflow:auto; }
body[data-mode="alert-settings"]{ background:linear-gradient(180deg,#eef4ff,#f8fbff 42%,#ffffff); }
@media (max-width: 760px){
  .floating-back-btn{ top:10px; left:10px; padding:9px 12px; font-size:13px; }
  .alert-page-shell{ padding-top:54px; }
  .alert-settings-page-grid{ grid-template-columns:1fr; }
  .alert-mini-preview{ width:100%; }
  .personal-mail-alert-tab{ width:100%; }
}

/* v95: balanced inactive menu opacity + alert settings UI */
.tabs .tab:not(.active){
  background:rgba(255,255,255,.72)!important;
  color:#64748b!important;
  border-color:rgba(203,213,225,.80)!important;
  opacity:.78!important;
}
.tabs .tab:not(.active):hover{opacity:.95!important;color:#334155!important;background:#fff!important;}
.personal-dept-tabs .personal-dept-tab:not(.active),
.clinic-subtabs .clinic-subtab:not(.active),
.resident-dept-tabs .dept-page-tab:not(.active),
.color-tools .color-action:not(.active),
.color-tools .color-endo:not(.active),
.color-tools .color-operative:not(.active),
.ortho-filter-action:not(.active),
.time-filter-action:not(.active){
  background:rgba(255,255,255,.70)!important;
  color:#64748b!important;
  border-color:rgba(203,213,225,.78)!important;
  opacity:.76!important;
  box-shadow:none!important;
}
.personal-list-controls .personal-view-btn:not(.active){
  background:rgba(255,255,255,.66)!important;
  color:#64748b!important;
  border-color:rgba(203,213,225,.78)!important;
  opacity:.74!important;
}
.personal-dept-tabs .personal-dept-tab:not(.active):hover,
.clinic-subtabs .clinic-subtab:not(.active):hover,
.resident-dept-tabs .dept-page-tab:not(.active):hover,
.color-tools .color-action:not(.active):hover,
.color-tools .color-endo:not(.active):hover,
.color-tools .color-operative:not(.active):hover,
.personal-list-controls .personal-view-btn:not(.active):hover,
.ortho-filter-action:not(.active):hover,
.time-filter-action:not(.active):hover{
  opacity:.96!important;
  background:#fff!important;
  color:#334155!important;
  border-color:#94a3b8!important;
}
.personal-mail-alert-tab{font-size:inherit!important;line-height:inherit!important;padding:9px 14px!important;align-items:center!important;}
.upgraded-alert-hero .hero-main{background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(239,246,255,.92))!important;}
.alert-side-chip{display:inline-flex;align-items:center;justify-content:center;padding:11px 12px;border-radius:16px;background:#eff6ff;color:#1d4ed8;font-weight:950;border:1px solid #bfdbfe;font-size:13px;}
.upgraded-alert-panel{background:rgba(255,255,255,.94)!important;border:1px solid rgba(191,219,254,.95)!important;}
.alert-toggle-card{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px;padding:18px 18px;border:1px solid #dbeafe;border-radius:20px;background:linear-gradient(135deg,#f8fbff,#eef6ff);}
.alert-toggle-card span{display:flex;flex-direction:column;gap:6px;}
.alert-toggle-card b{font-size:18px;color:#0f172a;}
.alert-toggle-card em{font-style:normal;color:#64748b;font-size:13px;line-height:1.5;}
.alert-toggle-card input[type="checkbox"]{appearance:none;width:58px;height:32px;border-radius:999px;background:#cbd5e1;position:relative;flex:0 0 auto;cursor:pointer;transition:.18s;border:0;}
.alert-toggle-card input[type="checkbox"]:before{content:"";position:absolute;left:4px;top:4px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 3px 8px rgba(15,23,42,.18);transition:.18s;}
.alert-toggle-card input[type="checkbox"]:checked{background:linear-gradient(135deg,#2563eb,#1d4ed8);}
.alert-toggle-card input[type="checkbox"]:checked:before{transform:translateX(26px);}
.alert-explain-box{padding:18px;border-radius:20px;background:#f8fafc;border:1px solid #e2e8f0;color:#475569;line-height:1.7;}
.alert-explain-box h3{margin:0 0 10px;color:#0f172a;font-size:18px;}
.alert-explain-box p{margin:8px 0;}
.alert-explain-box code{background:#e0f2fe;color:#075985;border-radius:8px;padding:2px 6px;font-weight:900;}
.alert-page-actions #sendAlertNowBtn{background:#fff!important;color:#1d4ed8!important;border:1px solid #bfdbfe!important;}
.alert-page-actions #sendAlertNowBtn:hover{background:#eff6ff!important;}
@media (max-width:720px){.alert-toggle-card{align-items:flex-start!important;}.alert-toggle-card input[type="checkbox"]{margin-top:2px;}}
.alert-settings-grid input[type="email"]{margin-top:8px;width:100%;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);padding:12px 13px;font-size:15px;outline:none;}
.alert-settings-grid input[type="email"]:focus{border-color:rgba(49,92,246,.55);box-shadow:0 0 0 4px rgba(49,92,246,.08);}


/* v98: alert settings text simplification + mobile total menu stabilization */
.alert-simple-guide{
  border:1px solid rgba(37,99,235,.14)!important;
  background:linear-gradient(135deg,#f8fbff,#eef6ff)!important;
  border-radius:22px!important;
  padding:22px!important;
}
.alert-simple-guide .alert-main-message{
  margin:0 0 12px!important;
  font-size:1.28rem!important;
  line-height:1.45!important;
  font-weight:900!important;
  color:#0f172a!important;
}
.alert-simple-guide .alert-save-message,
.alert-simple-guide .alert-now-message{
  margin:8px 0 0!important;
  font-size:.98rem!important;
  line-height:1.65!important;
  color:#334155!important;
}

/* Keep inactive menus readable, but still visually secondary */
.tabs .tab:not(.active),
.personal-dept-tabs .personal-dept-tab:not(.active),
.clinic-subtabs .clinic-subtab:not(.active),
.resident-dept-tabs .dept-page-tab:not(.active),
.color-tools .color-action:not(.active),
.color-tools .color-endo:not(.active),
.color-tools .color-operative:not(.active),
.personal-list-controls .personal-view-btn:not(.active),
.ortho-filter-action:not(.active),
.time-filter-action:not(.active){
  background:rgba(255,255,255,.76)!important;
  color:#475569!important;
  border-color:rgba(203,213,225,.82)!important;
  opacity:.82!important;
  box-shadow:none!important;
}
.tabs .tab:not(.active):hover,
.personal-dept-tabs .personal-dept-tab:not(.active):hover,
.clinic-subtabs .clinic-subtab:not(.active):hover,
.resident-dept-tabs .dept-page-tab:not(.active):hover,
.color-tools .color-action:not(.active):hover,
.color-tools .color-endo:not(.active):hover,
.color-tools .color-operative:not(.active):hover,
.personal-list-controls .personal-view-btn:not(.active):hover,
.ortho-filter-action:not(.active):hover,
.time-filter-action:not(.active):hover{
  opacity:.98!important;
  background:#fff!important;
  color:#1e293b!important;
}
.personal-dept-tabs .personal-dept-tab,
.personal-dept-tabs button{
  font-size:.92rem!important;
  line-height:1.2!important;
  min-height:40px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  white-space:nowrap!important;
  box-sizing:border-box!important;
}
.personal-mail-alert-tab{font-size:.92rem!important;line-height:1.2!important;}
@media (max-width:720px){
  .personal-dept-tabs{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:7px!important;
    width:100%!important;
  }
  .personal-dept-tabs .personal-dept-tab{
    width:100%!important;
    min-width:0!important;
    padding:9px 7px!important;
    font-size:.82rem!important;
    letter-spacing:-.03em!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  #personalTomorrowTab{
    grid-column:1 / -1!important;
    justify-content:center!important;
  }
  .personal-mail-alert-tab{
    grid-column:1 / -1!important;
    justify-content:center!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
}

/* v98: prostho total cleanup */
.personal-card-prostho-row{
  grid-template-columns:1fr!important;
}
.personal-card-prostho-row .personal-card-row-label{
  display:none!important;
}
.personal-card-visit-row .auto-save-pill,
.personal-visit-cell .auto-save-hint{
  display:none!important;
}

/* v99: ortho sign helper page */
.ortho-sign-panel{background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,251,255,.92))!important;}
.ortho-sign-card{padding:22px;border:1px solid #dbeafe;border-radius:24px;background:linear-gradient(135deg,#eff6ff,#fff);box-shadow:0 16px 36px rgba(30,64,175,.08);margin-bottom:18px;}
.ortho-sign-controls{display:grid;grid-template-columns:minmax(240px,420px);gap:14px;align-items:end;}
.ortho-sign-result{margin-top:18px;padding:22px 20px;border-radius:22px;background:#fff;border:1px solid #bfdbfe;color:#111827;font-weight:950;font-size:clamp(22px,3vw,34px);letter-spacing:-.04em;line-height:1.35;text-align:center;box-shadow:0 12px 28px rgba(59,130,246,.10);word-break:keep-all;}
.ortho-sign-result strong{color:#1d4ed8;}
.ortho-sign-table-wrap{overflow:auto;border:1px solid #dbeafe;border-radius:22px;background:#fff;}
.ortho-sign-table{width:100%;min-width:720px;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:16px;}
.ortho-sign-table th,.ortho-sign-table td{padding:14px 12px;text-align:center;border-right:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;white-space:nowrap;overflow:visible;text-overflow:clip;}
.ortho-sign-table thead th{position:static;background:#dbeafe;color:#111827;font-weight:950;font-size:18px;}
.ortho-sign-table tbody th{background:#f8fafc;color:#334155;font-weight:950;text-align:left;}
.ortho-sign-table tbody td{font-weight:950;font-size:20px;color:#111827;}
.ortho-sign-table tr:last-child th,.ortho-sign-table tr:last-child td{border-bottom:0;}
.ortho-sign-table th:last-child,.ortho-sign-table td:last-child{border-right:0;}
.ortho-sign-legend{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;}
.ortho-sign-legend span{display:inline-flex;align-items:center;gap:7px;padding:10px 13px;border-radius:999px;background:#fff;border:1px solid #e5e7eb;font-weight:900;color:#344054;}
.ortho-sign-legend b{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:#eff6ff;color:#1d4ed8;}
@media (max-width:720px){
  .ortho-sign-controls{grid-template-columns:1fr;}
  .ortho-sign-card{padding:16px;}
  .ortho-sign-result{text-align:left;font-size:23px;}
  .ortho-sign-table{min-width:640px;font-size:14px;}
  .ortho-sign-table thead th{font-size:15px;}
  .ortho-sign-table tbody td{font-size:17px;}
}

/* v102: ortho sign mobile result visibility fix */
.ortho-sign-result{display:block!important;min-height:88px;visibility:visible!important;opacity:1!important;}
.ortho-sign-month{display:inline-block;margin-bottom:8px;font-size:15px;font-weight:950;color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:6px 10px;letter-spacing:-.02em;}
.ortho-sign-muted{font-size:18px;color:#475569;font-weight:900;}
.ortho-sign-table .current-month{background:#eff6ff!important;color:#1d4ed8!important;box-shadow:inset 0 0 0 2px rgba(37,99,235,.18);}
@media (max-width: 720px){
  .ortho-sign-controls{display:block!important;}
  .ortho-sign-controls .select-label{width:100%;display:block;font-size:14px;}
  #orthoSignProfessorSelect{width:100%;min-height:48px;font-size:16px;}
  .ortho-sign-result{margin-top:14px!important;padding:18px 16px!important;font-size:22px!important;line-height:1.45!important;text-align:center!important;word-break:keep-all!important;}
}

/* v108 UI fixes */
.tabs .tab:not(.active){opacity:.68!important;color:#475467!important;background:rgba(255,255,255,.72)!important;}
.tabs .tab:not(.active):hover{opacity:.92!important;}
.personal-dept-tabs .personal-dept-tab:not(.active),
.resident-dept-tabs .dept-page-tab:not(.active),
.clinic-subtabs .clinic-subtab:not(.active){opacity:.68!important;color:#475467!important;background:rgba(255,255,255,.78)!important;}
.personal-dept-tabs .personal-dept-tab.active,
.resident-dept-tabs .dept-page-tab.active,
.clinic-subtabs .clinic-subtab.active{opacity:1!important;}
.personal-dept-tabs{align-items:stretch;}
.personal-dept-tabs .personal-dept-tab{font-size:14px!important;line-height:1.2!important;min-height:42px;display:inline-flex;align-items:center;justify-content:center;text-align:center;}
.personal-attendance-form{display:flex;align-items:center;gap:8px;flex:1 1 360px;min-width:280px;padding:8px 10px;border:1px solid var(--line);border-radius:16px;background:#fff;}
.personal-attendance-form label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:900;color:#344054;white-space:nowrap;flex:1;}
.personal-attendance-form input{margin:0!important;width:74px!important;padding:9px 10px!important;border-radius:12px!important;text-align:center;}
.personal-attendance-form button{padding:9px 12px!important;border-radius:12px!important;}
.prostho-jeyo-card textarea{margin-top:10px;width:100%;min-height:140px;border:1px solid var(--line);border-radius:16px;padding:12px 13px;font-size:14px;line-height:1.55;resize:vertical;box-sizing:border-box;}
.personal-card-clinician-row{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:10px;align-items:end;padding:10px 0;border-top:1px dashed #e5e7eb;}
.personal-card-clinician-row label{font-size:13px;font-weight:950;color:#344054;display:flex;flex-direction:column;gap:6px;}
.personal-card-clinician-row select{margin-top:0!important;min-width:0;}
.sign-by-box{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0;}
.sign-by-box span{font-size:12px;color:#64748b;font-weight:900;}
.sign-by-box strong{font-size:15px;color:#1d4ed8;font-weight:950;}
.personal-card-actions-split{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;align-items:center!important;justify-content:stretch!important;}
.personal-card-actions-split button{width:100%;}
.noti-copy-message{margin-top:6px;padding:8px 10px;border-radius:12px;background:#ecfdf5;color:#047857;font-weight:900;font-size:13px;text-align:center;}
.personal-action-cell .personal-copy-noti{margin-left:6px;margin-top:6px;}
.personal-action-cell .noti-copy-message{text-align:left;display:inline-block;margin-left:6px;}
#specialToolsTitle:empty{display:none;}
@media(max-width:720px){
  .personal-dept-tabs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px!important;}
  .personal-dept-tabs .personal-dept-tab{width:100%;font-size:13px!important;min-height:40px;padding:9px 8px!important;}
  .personal-mail-alert-tab{grid-column:1 / -1;}
  .personal-attendance-form{grid-column:1 / -1;min-width:0;width:100%;box-sizing:border-box;}
  .personal-attendance-form label{white-space:normal;justify-content:space-between;}
  .personal-card-clinician-row{grid-template-columns:1fr;}
  .personal-card-actions-split{grid-template-columns:1fr 1fr!important;}
}

/* v109: 교정 카드 진료의/싸인 by 한 줄 UI 보정 */
.personal-card-clinician-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:10px!important;
  align-items:center!important;
  padding:10px 0!important;
  border-top:1px dashed #e5e7eb!important;
}
.personal-card-clinician-row label{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
  margin:0!important;
  font-size:13px!important;
  font-weight:900!important;
  color:#344054!important;
  white-space:nowrap!important;
}
.personal-card-clinician-row select.ortho-clinician-select{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:38px!important;
  margin:0!important;
  padding:8px 34px 8px 12px!important;
  border-radius:14px!important;
  border:1px solid #bfdbfe!important;
  background-color:#f8fbff!important;
  box-shadow:0 4px 12px rgba(37,99,235,.06)!important;
  font-size:13px!important;
  font-weight:800!important;
  color:#1e293b!important;
}
.sign-by-box{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  min-width:126px!important;
  height:38px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#eff6ff,#eef2ff)!important;
  border:1px solid #bfdbfe!important;
  box-shadow:0 5px 14px rgba(37,99,235,.07)!important;
  white-space:nowrap!important;
}
.sign-by-box span{
  font-size:12px!important;
  color:#64748b!important;
  font-weight:900!important;
}
.sign-by-box strong{
  font-size:14px!important;
  color:#1d4ed8!important;
  font-weight:950!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  max-width:82px!important;
}
@media(max-width:720px){
  .personal-card-clinician-row{
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:7px!important;
    padding:9px 0!important;
  }
  .personal-card-clinician-row label{
    grid-template-columns:auto minmax(0,1fr)!important;
    gap:6px!important;
    font-size:12px!important;
  }
  .personal-card-clinician-row select.ortho-clinician-select{
    height:36px!important;
    padding:7px 28px 7px 9px!important;
    border-radius:12px!important;
    font-size:12px!important;
  }
  .sign-by-box{
    min-width:98px!important;
    height:36px!important;
    padding:0 9px!important;
    gap:4px!important;
  }
  .sign-by-box span{font-size:11px!important;}
  .sign-by-box strong{font-size:12px!important;max-width:58px!important;}
}
@media(max-width:390px){
  .personal-card-clinician-row{gap:5px!important;}
  .personal-card-clinician-row label{font-size:11px!important;gap:5px!important;}
  .personal-card-clinician-row select.ortho-clinician-select{font-size:11px!important;padding-left:7px!important;}
  .sign-by-box{min-width:88px!important;padding:0 7px!important;}
  .sign-by-box strong{max-width:50px!important;}
}

/* v110: 토탈 양식 출석번호 설정을 별도 페이지로 분리 */
.personal-attendance-tab {
  font-size: inherit !important;
  line-height: 1.2;
  white-space: nowrap;
}
.attendance-page-shell .attendance-hero h1 span {
  display: block;
  margin-top: 6px;
  font-size: 0.58em;
  font-weight: 700;
  opacity: 0.76;
}
.attendance-settings-panel {
  border: 1px solid rgba(59, 130, 246, 0.18);
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
}
.attendance-settings-form {
  margin-top: 18px;
}
.attendance-big-input input {
  font-size: 24px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-align: center;
  max-width: 240px;
}
.attendance-preview-card {
  background: linear-gradient(135deg, rgba(239, 246, 255, 0.95), rgba(255, 255, 255, 0.96));
  border: 1px solid rgba(96, 165, 250, 0.22);
  border-radius: 18px;
  padding: 16px 18px;
  color: #334155;
}
.attendance-preview-card strong {
  display: block;
  margin-bottom: 8px;
  color: #0f172a;
}
.attendance-preview-card p {
  margin: 7px 0;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 13px;
  word-break: break-all;
}
#attendancePreviewNo,
#attendancePreviewNo2 {
  font-weight: 900;
  color: #2563eb;
}
@media (max-width: 720px) {
  .personal-dept-tabs {
    align-items: stretch;
  }
  .personal-attendance-tab {
    width: 100%;
    justify-content: center;
    text-align: center;
  }
  .attendance-big-input input {
    max-width: none;
    width: 100%;
  }
}

/* v111: 진료의 / 싸인 by PC·모바일 한 줄 UI + 선택 옵션 정리 */
.personal-card-clinician-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(96px,auto)!important;
  gap:8px!important;
  align-items:center!important;
  padding:8px 0!important;
  border-top:1px dashed #e5e7eb!important;
  overflow:hidden!important;
}
.personal-card-clinician-row label{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  align-items:center!important;
  gap:6px!important;
  min-width:0!important;
  margin:0!important;
  white-space:nowrap!important;
}
.personal-card-clinician-row .clinician-label-text,
.personal-card-clinician-row label{
  font-size:12px!important;
  font-weight:900!important;
  color:#344054!important;
}
.personal-card-clinician-row select.ortho-clinician-select{
  width:100%!important;
  min-width:0!important;
  height:34px!important;
  margin:0!important;
  padding:6px 26px 6px 9px!important;
  border-radius:12px!important;
  border:1px solid #bfdbfe!important;
  background-color:#f8fbff!important;
  box-shadow:0 3px 10px rgba(37,99,235,.05)!important;
  font-size:12px!important;
  font-weight:800!important;
  color:#1e293b!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.sign-by-box{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  min-width:96px!important;
  max-width:128px!important;
  height:34px!important;
  padding:0 8px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#eff6ff,#eef2ff)!important;
  border:1px solid #bfdbfe!important;
  box-shadow:0 4px 12px rgba(37,99,235,.06)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}
.sign-by-box span{font-size:11px!important;color:#64748b!important;font-weight:900!important;flex:0 0 auto!important;}
.sign-by-box strong{font-size:12px!important;color:#1d4ed8!important;font-weight:950!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:58px!important;display:inline-block!important;}
@media(min-width:721px){
  .personal-card-clinician-row{grid-template-columns:minmax(0,1fr) 118px!important;gap:10px!important;}
  .personal-card-clinician-row label{grid-template-columns:46px minmax(0,1fr)!important;}
  .personal-card-clinician-row select.ortho-clinician-select{font-size:12.5px!important;}
  .sign-by-box{min-width:118px!important;max-width:118px!important;}
  .sign-by-box strong{max-width:68px!important;font-size:12px!important;}
}
@media(max-width:390px){
  .personal-card-clinician-row{grid-template-columns:minmax(0,1fr) 88px!important;gap:5px!important;}
  .personal-card-clinician-row label{grid-template-columns:38px minmax(0,1fr)!important;gap:4px!important;}
  .personal-card-clinician-row .clinician-label-text{font-size:11px!important;}
  .personal-card-clinician-row select.ortho-clinician-select{font-size:11px!important;padding-left:7px!important;padding-right:22px!important;}
  .sign-by-box{min-width:88px!important;max-width:88px!important;padding:0 6px!important;}
  .sign-by-box span{font-size:10px!important;}
  .sign-by-box strong{font-size:11px!important;max-width:48px!important;}
}

/* v113: 교정 카드 진료의 / 싸인 by PC 한 줄 최종 보정 */
.personal-card .personal-card-clinician-row,
.personal-card-clinician-row{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
  padding:9px 0!important;
  border-top:1px dashed #e5e7eb!important;
  overflow:hidden!important;
}
.personal-card .personal-card-clinician-row label,
.personal-card-clinician-row label{
  flex:1 1 auto!important;
  min-width:0!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:8px!important;
  margin:0!important;
  white-space:nowrap!important;
  font-size:12px!important;
  font-weight:900!important;
  color:#334155!important;
}
.personal-card-clinician-row .clinician-label-text{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  height:32px!important;
  padding:0 8px!important;
  border-radius:999px!important;
  background:#f1f5f9!important;
  border:1px solid #e2e8f0!important;
  color:#475569!important;
  font-size:12px!important;
  line-height:1!important;
}
.personal-card-clinician-row select.ortho-clinician-select{
  flex:1 1 auto!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:36px!important;
  margin:0!important;
  padding:7px 30px 7px 11px!important;
  border-radius:14px!important;
  border:1px solid #bfdbfe!important;
  background-color:#f8fbff!important;
  box-shadow:0 4px 12px rgba(37,99,235,.06)!important;
  font-size:12.5px!important;
  font-weight:850!important;
  color:#0f172a!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.personal-card-clinician-row .sign-by-box,
.sign-by-box{
  flex:0 0 132px!important;
  min-width:132px!important;
  max-width:132px!important;
  height:36px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  padding:0 9px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#eff6ff,#eef2ff)!important;
  border:1px solid #bfdbfe!important;
  box-shadow:0 4px 12px rgba(37,99,235,.07)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}
.sign-by-box span{
  flex:0 0 auto!important;
  font-size:11px!important;
  font-weight:900!important;
  color:#64748b!important;
}
.sign-by-box strong,
.sign-by-box .sign-by-name{
  flex:1 1 auto!important;
  min-width:0!important;
  max-width:none!important;
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#1d4ed8!important;
  font-size:12.5px!important;
  font-weight:950!important;
  text-align:left!important;
}
@media (min-width: 721px){
  .personal-card-clinician-row{gap:12px!important;}
  .personal-card-clinician-row select.ortho-clinician-select{font-size:12.5px!important;}
}
@media (max-width: 720px){
  .personal-card .personal-card-clinician-row,
  .personal-card-clinician-row{
    gap:6px!important;
    padding:8px 0!important;
  }
  .personal-card-clinician-row label{gap:5px!important;}
  .personal-card-clinician-row .clinician-label-text{
    height:32px!important;
    padding:0 7px!important;
    font-size:11px!important;
  }
  .personal-card-clinician-row select.ortho-clinician-select{
    height:34px!important;
    padding-left:8px!important;
    padding-right:24px!important;
    font-size:11.5px!important;
  }
  .personal-card-clinician-row .sign-by-box,
  .sign-by-box{
    flex-basis:102px!important;
    min-width:102px!important;
    max-width:102px!important;
    height:34px!important;
    padding:0 7px!important;
    gap:3px!important;
  }
  .sign-by-box span{font-size:10px!important;}
  .sign-by-box strong,.sign-by-box .sign-by-name{font-size:11.5px!important;}
}
@media (max-width: 370px){
  .personal-card-clinician-row .clinician-label-text{font-size:10.5px!important;padding:0 5px!important;}
  .personal-card-clinician-row select.ortho-clinician-select{font-size:11px!important;}
  .personal-card-clinician-row .sign-by-box,.sign-by-box{flex-basis:92px!important;min-width:92px!important;max-width:92px!important;}
  .sign-by-box span{font-size:9.5px!important;}
  .sign-by-box strong,.sign-by-box .sign-by-name{font-size:11px!important;}
}

/* v114: prostho resident selector in total management cards/tables */
.prostho-actions-with-resident{
  display:grid!important;
  grid-template-columns:minmax(170px,1.2fr) minmax(72px,.55fr) minmax(126px,.85fr)!important;
  align-items:center!important;
  gap:8px!important;
}
.prostho-resident-wrap{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:7px!important;
  margin:0!important;
  min-width:0!important;
  padding:7px 9px!important;
  border:1px solid rgba(59,130,246,.16)!important;
  border-radius:14px!important;
  background:rgba(59,130,246,.055)!important;
  color:#334155!important;
  font-size:12px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.prostho-resident-wrap span{font-size:11.5px!important;color:#475569!important;letter-spacing:-.02em!important;}
.prostho-resident-select{
  width:100%!important;
  min-width:0!important;
  height:32px!important;
  margin:0!important;
  padding:0 26px 0 9px!important;
  border:1px solid rgba(148,163,184,.45)!important;
  border-radius:11px!important;
  background:#fff!important;
  color:#0f172a!important;
  font-size:12.5px!important;
  font-weight:850!important;
  box-shadow:none!important;
}
.personal-action-cell .prostho-resident-wrap{
  display:inline-grid!important;
  grid-template-columns:auto 112px!important;
  margin-right:6px!important;
  vertical-align:middle!important;
}
.personal-action-cell .prostho-resident-select{height:30px!important;font-size:12px!important;}
@media (max-width:760px){
  .prostho-actions-with-resident{grid-template-columns:minmax(0,1.15fr) .58fr .95fr!important;gap:6px!important;}
  .prostho-resident-wrap{padding:6px 7px!important;gap:5px!important;font-size:11px!important;}
  .prostho-resident-wrap span{font-size:10.5px!important;}
  .prostho-resident-select{height:30px!important;font-size:11.5px!important;padding-left:7px!important;padding-right:22px!important;}
}


/* v115: 출석번호 미설정 안내 배너 */
.personal-attendance-notice{
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:10px 0 12px;
  padding:10px 12px;
  border:1px solid rgba(248,113,113,.36);
  border-radius:16px;
  background:linear-gradient(135deg,rgba(254,242,242,.96),rgba(255,255,255,.98));
  box-shadow:0 10px 24px rgba(239,68,68,.07);
}
.personal-attendance-notice-text{
  color:#b91c1c;
  font-size:13px;
  font-weight:900;
  line-height:1.35;
}
.personal-attendance-notice-actions{
  display:flex;
  align-items:center;
  gap:7px;
  flex:0 0 auto;
}
.personal-attendance-notice-link,
.personal-attendance-notice-dismiss{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:7px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  text-decoration:none;
  border:1px solid rgba(248,113,113,.35);
  cursor:pointer;
}
.personal-attendance-notice-link{
  background:#ef4444;
  color:#fff;
  box-shadow:0 8px 16px rgba(239,68,68,.16);
}
.personal-attendance-notice-dismiss{
  background:rgba(255,255,255,.9);
  color:#991b1b;
}
@media(max-width:720px){
  .personal-attendance-notice{
    align-items:flex-start;
    flex-direction:column;
    padding:10px;
    margin-top:8px;
  }
  .personal-attendance-notice-text{font-size:12.5px;}
  .personal-attendance-notice-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;}
  .personal-attendance-notice-link,.personal-attendance-notice-dismiss{width:100%;box-sizing:border-box;}
}

/* v117: PC 카드 UI를 모바일 카드처럼 정리 - 교정 진료의/싸인 by, 보철 전공의 */
#personalCardList .personal-patient-card .personal-card-clinician-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(112px,128px)!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  min-width:0!important;
  margin:8px 0 0!important;
  padding:8px!important;
  border:1px solid rgba(59,130,246,.14)!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,#f8fbff,#f7f9ff)!important;
  box-shadow:0 6px 16px rgba(15,23,42,.04)!important;
  overflow:hidden!important;
}
#personalCardList .personal-patient-card .personal-card-clinician-row label{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:7px!important;
  min-width:0!important;
  margin:0!important;
  font-size:12px!important;
  line-height:1!important;
  white-space:nowrap!important;
}
#personalCardList .personal-card-clinician-row .clinician-label-text{
  height:32px!important;
  min-width:46px!important;
  padding:0 8px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  background:#eef4ff!important;
  border:1px solid rgba(59,130,246,.18)!important;
  color:#315cf6!important;
  font-size:11.5px!important;
  font-weight:950!important;
  letter-spacing:-.03em!important;
}
#personalCardList .personal-card-clinician-row select.ortho-clinician-select{
  width:100%!important;
  min-width:0!important;
  height:32px!important;
  margin:0!important;
  padding:0 25px 0 9px!important;
  border-radius:13px!important;
  border:1px solid rgba(148,163,184,.45)!important;
  background:#fff!important;
  color:#111827!important;
  font-size:12px!important;
  font-weight:850!important;
  box-shadow:none!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#personalCardList .personal-card-clinician-row .sign-by-box{
  height:32px!important;
  min-width:0!important;
  width:100%!important;
  max-width:none!important;
  flex:none!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  padding:0 8px!important;
  border-radius:999px!important;
  background:#fff!important;
  border:1px solid rgba(49,92,246,.18)!important;
  box-shadow:none!important;
  overflow:hidden!important;
  white-space:nowrap!important;
}
#personalCardList .sign-by-box span{
  font-size:10.5px!important;
  font-weight:950!important;
  color:#64748b!important;
  letter-spacing:-.04em!important;
}
#personalCardList .sign-by-box strong,
#personalCardList .sign-by-box .sign-by-name{
  min-width:0!important;
  max-width:none!important;
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#1d4ed8!important;
  font-size:11.5px!important;
  font-weight:950!important;
  text-align:left!important;
}

#personalCardList .personal-patient-card .prostho-actions-with-resident{
  display:grid!important;
  grid-template-columns:minmax(0,1.22fr) minmax(66px,.62fr) minmax(108px,1fr)!important;
  align-items:center!important;
  gap:7px!important;
  margin-top:9px!important;
  width:100%!important;
  min-width:0!important;
}
#personalCardList .prostho-actions-with-resident .prostho-resident-wrap{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:7px!important;
  min-width:0!important;
  height:38px!important;
  margin:0!important;
  padding:5px 7px!important;
  border-radius:16px!important;
  border:1px solid rgba(59,130,246,.14)!important;
  background:linear-gradient(180deg,#f8fbff,#f7f9ff)!important;
  box-shadow:0 6px 16px rgba(15,23,42,.04)!important;
  color:#315cf6!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}
#personalCardList .prostho-actions-with-resident .prostho-resident-wrap span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:28px!important;
  padding:0 7px!important;
  border-radius:999px!important;
  background:#eef4ff!important;
  border:1px solid rgba(59,130,246,.14)!important;
  color:#315cf6!important;
  font-size:11px!important;
  font-weight:950!important;
  letter-spacing:-.03em!important;
}
#personalCardList .prostho-actions-with-resident .prostho-resident-select{
  width:100%!important;
  min-width:0!important;
  height:28px!important;
  margin:0!important;
  padding:0 23px 0 8px!important;
  border-radius:12px!important;
  border:1px solid rgba(148,163,184,.45)!important;
  background:#fff!important;
  color:#111827!important;
  font-size:11.8px!important;
  font-weight:850!important;
  box-shadow:none!important;
}
#personalCardList .prostho-actions-with-resident button{
  height:38px!important;
  min-width:0!important;
  width:100%!important;
  padding:0 8px!important;
  border-radius:14px!important;
  font-size:12px!important;
  letter-spacing:-.04em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
@media (max-width:720px){
  #personalCardList .personal-patient-card .personal-card-clinician-row{
    grid-template-columns:minmax(0,1fr) minmax(96px,112px)!important;
    gap:6px!important;
    padding:7px!important;
  }
  #personalCardList .personal-patient-card .personal-card-clinician-row label{gap:5px!important;grid-template-columns:auto minmax(0,1fr)!important;}
  #personalCardList .personal-card-clinician-row .clinician-label-text{height:30px!important;min-width:42px!important;padding:0 6px!important;font-size:10.8px!important;}
  #personalCardList .personal-card-clinician-row select.ortho-clinician-select{height:30px!important;font-size:11.2px!important;padding-left:7px!important;padding-right:22px!important;}
  #personalCardList .personal-card-clinician-row .sign-by-box{height:30px!important;padding:0 6px!important;gap:3px!important;}
  #personalCardList .sign-by-box span{font-size:9.8px!important;}
  #personalCardList .sign-by-box strong,#personalCardList .sign-by-box .sign-by-name{font-size:10.8px!important;}
  #personalCardList .personal-patient-card .prostho-actions-with-resident{grid-template-columns:minmax(0,1.15fr) minmax(58px,.55fr) minmax(96px,.95fr)!important;gap:6px!important;}
  #personalCardList .prostho-actions-with-resident .prostho-resident-wrap{height:36px!important;padding:5px 6px!important;gap:5px!important;}
  #personalCardList .prostho-actions-with-resident .prostho-resident-wrap span{height:26px!important;padding:0 6px!important;font-size:10.5px!important;}
  #personalCardList .prostho-actions-with-resident .prostho-resident-select{height:26px!important;font-size:11px!important;padding-left:7px!important;padding-right:21px!important;}
  #personalCardList .prostho-actions-with-resident button{height:36px!important;font-size:11.2px!important;padding:0 6px!important;}
}


/* v118: 출석번호 안내 배너를 한 줄 빨간 안내문으로 정리 */
#personalAttendanceNotice.personal-attendance-notice{
  display:none;
  box-sizing:border-box;
  width:100%;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  margin:10px 0 12px;
  padding:8px 10px;
  border:0;
  border-radius:12px;
  background:rgba(254,242,242,.96);
  box-shadow:none;
  white-space:nowrap;
  overflow:hidden;
}
#personalAttendanceNotice .personal-attendance-notice-text{
  flex:1 1 auto;
  min-width:0;
  color:#dc2626;
  font-size:12.5px;
  font-weight:900;
  line-height:1.2;
  overflow:hidden;
  text-overflow:ellipsis;
}
#personalAttendanceNotice .personal-attendance-notice-actions{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:6px;
  width:auto;
}
#personalAttendanceNotice .personal-attendance-notice-link,
#personalAttendanceNotice .personal-attendance-notice-dismiss{
  height:28px;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  font-size:11.5px;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
  box-sizing:border-box;
}
#personalAttendanceNotice .personal-attendance-notice-link{
  border:1px solid rgba(220,38,38,.28);
  background:#dc2626;
  color:#fff;
  box-shadow:0 5px 12px rgba(220,38,38,.14);
}
#personalAttendanceNotice .personal-attendance-notice-dismiss{
  border:1px solid rgba(220,38,38,.2);
  background:#fff;
  color:#dc2626;
}
@media(max-width:720px){
  #personalAttendanceNotice.personal-attendance-notice{
    flex-direction:row!important;
    align-items:center!important;
    padding:7px 8px;
    gap:6px;
  }
  #personalAttendanceNotice .personal-attendance-notice-text{font-size:11.5px;}
  #personalAttendanceNotice .personal-attendance-notice-actions{
    display:flex!important;
    grid-template-columns:none!important;
    width:auto!important;
    gap:5px;
  }
  #personalAttendanceNotice .personal-attendance-notice-link,
  #personalAttendanceNotice .personal-attendance-notice-dismiss{
    width:auto!important;
    min-width:auto!important;
    height:26px;
    min-height:26px;
    padding:0 8px;
    font-size:10.5px;
  }
}

/* v119: personal total page simplification */
.personal-head-actions{
  display:inline-flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.personal-head-logout{
  min-height:34px!important;
  padding:8px 14px!important;
  border-radius:999px!important;
  font-size:13px!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
.personal-manage-modebar{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:16px 0 12px;
}
.personal-big-mode-btn{
  border:1px solid rgba(37,99,235,.20)!important;
  background:rgba(255,255,255,.88)!important;
  color:#1d4ed8!important;
  border-radius:18px!important;
  padding:17px 16px!important;
  min-height:58px!important;
  font-size:16px!important;
  font-weight:900!important;
  box-shadow:0 10px 26px rgba(37,99,235,.08)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
}
.personal-big-mode-btn.active{
  background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;
  color:#fff!important;
  border-color:rgba(37,99,235,.75)!important;
  box-shadow:0 14px 32px rgba(37,99,235,.20)!important;
}
.personal-section-card{
  border:1px solid rgba(37,99,235,.13);
  background:rgba(255,255,255,.84);
  border-radius:22px;
  padding:16px;
  box-shadow:0 12px 30px rgba(15,23,42,.05);
}
.personal-add-section .personal-subtitle,
.personal-list-section .personal-table-head h3{
  margin-top:0!important;
}
.personal-list-section .personal-table-head{
  margin-top:0!important;
  background:linear-gradient(180deg,rgba(248,251,255,.95),rgba(255,255,255,.92));
  border:1px solid rgba(37,99,235,.12);
}
.personal-list-controls{display:none!important;}
@media (max-width:720px){
  .personal-head-actions{width:100%;justify-content:flex-start;margin-top:8px;}
  .personal-manage-modebar{grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 10px;}
  .personal-big-mode-btn{font-size:13px!important;min-height:48px!important;padding:12px 8px!important;border-radius:14px!important;}
  .personal-section-card{padding:12px;border-radius:18px;}
}

/* v121: personal total page polish - pastel mode buttons, cleaner card actions */
.personal-head-actions{
  gap:14px!important;
  margin-left:auto!important;
  padding-left:14px!important;
}
#personalLoginBadge.meta-pill{
  background:rgba(239,246,255,.78)!important;
  border:1px solid rgba(147,197,253,.55)!important;
  color:#334155!important;
  font-weight:850!important;
  padding:8px 12px!important;
}
.personal-head-logout{
  margin-left:2px!important;
  background:rgba(255,255,255,.9)!important;
  border:1px solid rgba(148,163,184,.36)!important;
  color:#475569!important;
  box-shadow:0 8px 18px rgba(15,23,42,.06)!important;
}
.personal-manage-modebar{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px!important;
  margin:18px 0 16px!important;
}
.personal-big-mode-btn{
  position:relative!important;
  min-height:72px!important;
  padding:18px 18px!important;
  border-radius:24px!important;
  border:1px solid rgba(125,211,252,.42)!important;
  background:linear-gradient(135deg,rgba(240,249,255,.96),rgba(245,243,255,.96))!important;
  color:#334155!important;
  font-size:17px!important;
  font-weight:950!important;
  letter-spacing:-.035em!important;
  box-shadow:0 14px 32px rgba(15,23,42,.07)!important;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease!important;
}
.personal-big-mode-btn::before{
  content:"";
  width:30px;
  height:30px;
  border-radius:12px;
  margin-right:10px;
  display:inline-block;
  background:rgba(255,255,255,.75);
  border:1px solid rgba(255,255,255,.9);
  box-shadow:inset 0 0 0 1px rgba(125,211,252,.22);
}
#personalShowAddBtn::before{content:"＋";display:inline-flex;align-items:center;justify-content:center;color:#0f766e;font-size:20px;font-weight:1000;background:rgba(204,251,241,.78)!important;}
#personalShowListBtn::before{content:"✓";display:inline-flex;align-items:center;justify-content:center;color:#7c3aed;font-size:18px;font-weight:1000;background:rgba(237,233,254,.82)!important;}
.personal-big-mode-btn:hover{transform:translateY(-1px);box-shadow:0 18px 38px rgba(15,23,42,.10)!important;}
.personal-big-mode-btn.active{
  background:linear-gradient(135deg,#dbeafe,#e9d5ff)!important;
  color:#1e293b!important;
  border-color:rgba(129,140,248,.46)!important;
  box-shadow:0 18px 42px rgba(99,102,241,.16)!important;
}
.personal-big-mode-btn.active::after{
  content:"현재 선택됨";
  position:absolute;
  right:14px;
  top:12px;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:#6366f1;
  font-size:10.5px;
  font-weight:900;
  letter-spacing:-.04em;
}
.personal-section-card{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
}
.personal-list-section .personal-table-head{
  display:none!important;
}
.personal-card-group{margin-top:10px!important;}

/* Make desktop personal cards use the cleaner mobile-like control style */
#personalCardList .personal-patient-card{
  border-radius:22px!important;
  border:1px solid rgba(203,213,225,.75)!important;
  background:linear-gradient(180deg,#ffffff,#fbfdff)!important;
  box-shadow:0 14px 34px rgba(15,23,42,.08)!important;
}
#personalCardList .personal-patient-card .personal-card-clinician-row{
  grid-template-columns:minmax(0,1fr) minmax(94px,108px)!important;
  gap:6px!important;
  padding:7px!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,#f0fdfa,#eef2ff)!important;
  border-color:rgba(94,234,212,.35)!important;
}
#personalCardList .personal-patient-card .personal-card-clinician-row label{
  gap:5px!important;
  grid-template-columns:auto minmax(0,1fr)!important;
}
#personalCardList .personal-card-clinician-row .clinician-label-text{
  height:30px!important;
  min-width:42px!important;
  padding:0 7px!important;
  font-size:10.8px!important;
  background:rgba(255,255,255,.68)!important;
  border-color:rgba(99,102,241,.16)!important;
  color:#4f46e5!important;
}
#personalCardList .personal-card-clinician-row select.ortho-clinician-select{
  height:30px!important;
  font-size:11.2px!important;
  padding-left:8px!important;
  padding-right:22px!important;
  border-radius:13px!important;
}
#personalCardList .personal-card-clinician-row .sign-by-box{
  height:30px!important;
  padding:0 6px!important;
  gap:3px!important;
  border-color:rgba(99,102,241,.16)!important;
}
#personalCardList .sign-by-box span{font-size:9.8px!important;}
#personalCardList .sign-by-box strong,
#personalCardList .sign-by-box .sign-by-name{font-size:10.8px!important;color:#4f46e5!important;}

#personalCardList .personal-patient-card .prostho-actions-with-resident{
  grid-template-columns:minmax(0,1.15fr) minmax(62px,.58fr) minmax(98px,.95fr)!important;
  gap:6px!important;
  align-items:center!important;
}
#personalCardList .prostho-actions-with-resident .prostho-resident-wrap{
  height:36px!important;
  padding:5px 6px!important;
  gap:5px!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,#f0fdfa,#eef2ff)!important;
  border-color:rgba(94,234,212,.35)!important;
}
#personalCardList .prostho-actions-with-resident .prostho-resident-wrap span{
  height:26px!important;
  padding:0 6px!important;
  font-size:10.5px!important;
  color:#4f46e5!important;
  background:rgba(255,255,255,.68)!important;
}
#personalCardList .prostho-actions-with-resident .prostho-resident-select{
  height:26px!important;
  font-size:11px!important;
  padding-left:7px!important;
  padding-right:21px!important;
  border-radius:12px!important;
}
#personalCardList .prostho-actions-with-resident button,
#personalCardList .personal-card-actions-split button{
  height:36px!important;
  border-radius:14px!important;
  font-size:11.2px!important;
  padding:0 6px!important;
  box-shadow:none!important;
}
#personalCardList .personal-card-actions-split .personal-delete-patient,
#personalCardList .personal-card-actions-split button.danger{
  background:#fff1f2!important;
  color:#be123c!important;
  border:1px solid #fecdd3!important;
}
#personalCardList .personal-card-actions-split .personal-copy-noti,
#personalCardList .personal-card-actions-split button.secondary{
  background:#f0fdfa!important;
  color:#0f766e!important;
  border:1px solid #99f6e4!important;
  font-weight:950!important;
}
@media (max-width:720px){
  .personal-head-actions{width:100%;justify-content:flex-start!important;margin-top:10px!important;padding-left:0!important;gap:8px!important;}
  #personalLoginBadge.meta-pill{padding:7px 10px!important;font-size:12px!important;}
  .personal-head-logout{padding:7px 12px!important;font-size:12px!important;}
  .personal-manage-modebar{grid-template-columns:1fr 1fr!important;gap:9px!important;margin:13px 0 12px!important;}
  .personal-big-mode-btn{min-height:58px!important;font-size:13.2px!important;padding:14px 8px!important;border-radius:18px!important;}
  .personal-big-mode-btn::before{width:24px;height:24px;border-radius:10px;margin-right:6px;}
  .personal-big-mode-btn.active::after{display:none;}
}

/* v122: personal total page outer shell removal and wider mobile-like cards */
#personal.page{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  padding:0!important;
}
#personal .personal-panel{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  padding:0!important;
  margin-bottom:0!important;
}
#personal .panel-head{
  background:rgba(255,255,255,.92)!important;
  border:1px solid rgba(203,213,225,.74)!important;
  border-radius:24px!important;
  box-shadow:0 16px 42px rgba(15,23,42,.08)!important;
  padding:22px 24px!important;
  margin:0 0 14px!important;
}
#personal .personal-app{
  width:100%!important;
  margin-top:0!important;
}
#personal .personal-dept-tabs{
  background:rgba(255,255,255,.86)!important;
  border:1px solid rgba(203,213,225,.72)!important;
  border-radius:22px!important;
  box-shadow:0 10px 26px rgba(15,23,42,.05)!important;
  padding:10px!important;
}
#personal .personal-manage-modebar{
  background:rgba(255,255,255,.62)!important;
  border:1px solid rgba(226,232,240,.75)!important;
  border-radius:24px!important;
  padding:10px!important;
  box-shadow:0 12px 30px rgba(15,23,42,.045)!important;
}
#personal #personalListSection,
#personal #personalAddSection{
  width:100%!important;
}
#personal #personalCardList.personal-card-list{
  margin-top:12px!important;
}
#personalCardList .personal-patient-card{
  width:100%!important;
}
@media (min-width:721px){
  #personalCardList.personal-card-list{
    grid-template-columns:repeat(2,minmax(360px,1fr))!important;
    gap:18px!important;
  }
}
@media (max-width:720px){
  .shell{width:min(100% - 14px,1240px)!important;}
  #personal .panel-head{
    padding:17px 16px!important;
    border-radius:22px!important;
    margin-bottom:12px!important;
  }
  #personal .panel-head h2{font-size:22px!important;}
  #personal .panel-head p{font-size:13px!important;line-height:1.45!important;}
  #personal .personal-dept-tabs{
    border-radius:20px!important;
    padding:8px!important;
  }
  #personal .personal-manage-modebar{
    border-radius:20px!important;
    padding:8px!important;
  }
  #personalCardList.personal-card-list{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
}

/* v123: upload progress + simplified top hero */
.hero-upload-side{
  justify-content:center!important;
  align-items:stretch!important;
  gap:0!important;
  min-height:100%!important;
}
.top-upload-button{
  min-height:74px!important;
  border-radius:24px!important;
  background:linear-gradient(135deg,#dff7f2 0%,#e8ecff 48%,#fff1dc 100%)!important;
  color:#243047!important;
  border:1px solid rgba(132,151,176,.28)!important;
  box-shadow:0 18px 40px rgba(67,86,126,.13)!important;
  font-size:17px!important;
  letter-spacing:-.02em!important;
}
.top-upload-button:before{content:"업로드";display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.78);color:#4560a8;font-size:12px;font-weight:950;border:1px solid rgba(69,96,168,.14)}
.top-upload-button:hover{transform:translateY(-2px)!important;box-shadow:0 24px 50px rgba(67,86,126,.18)!important;filter:saturate(1.04)}
body[data-mode="viewer"] .hero-main{padding-bottom:30px!important}
body[data-mode="viewer"] .hero-text{display:none!important}
body[data-mode="viewer"] .guide-button{display:none!important}
.upload-progress-box{margin-top:16px;padding:16px;border-radius:22px;background:linear-gradient(180deg,#ffffff,#f7fbff);border:1px solid rgba(155,176,210,.35);box-shadow:0 14px 34px rgba(16,24,40,.08)}
.upload-progress-track{height:12px;border-radius:999px;background:#edf2f7;overflow:hidden;border:1px solid rgba(155,176,210,.35)}
.upload-progress-track span{display:block;height:100%;width:16%;border-radius:999px;background:linear-gradient(90deg,#bfe7ff,#c4f5df,#ffe4b8);transition:width .35s ease, background .2s ease}
.upload-progress-track span.stage-uploading{width:38%;background:linear-gradient(90deg,#bfdbfe,#c7d2fe)}
.upload-progress-track span.stage-calculating{width:72%;background:linear-gradient(90deg,#c7f9cc,#d8b4fe)}
.upload-progress-track span.stage-done{width:100%;background:linear-gradient(90deg,#bbf7d0,#a7f3d0)}
.upload-progress-track span.stage-error{width:100%;background:linear-gradient(90deg,#fecaca,#fed7aa)}
.upload-progress-text{margin-top:11px;color:#344054;font-size:14px;line-height:1.55;font-weight:900;word-break:keep-all}
#uploadBtn:disabled{opacity:.72;cursor:wait;transform:none!important;box-shadow:none!important}
@media (max-width:900px){
  .hero-upload-side{min-height:unset!important;padding:16px!important}
  .top-upload-button{min-height:58px!important;font-size:15px!important;border-radius:20px!important}
}

/* v124: personal total UI polish requested */
.top-upload-button{
  min-height:52px!important;
  width:auto!important;
  max-width:190px!important;
  padding:12px 18px!important;
  border-radius:18px!important;
  font-size:14px!important;
  align-self:center!important;
}
.top-upload-button:before{display:none!important;}
.hero-upload-side{align-items:flex-end!important;justify-content:center!important;padding:18px!important;}

#personal .personal-subject-tabs,
#personal .personal-utility-tabs{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:9px!important;
  align-items:center!important;
  padding:10px!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.88)!important;
  border:1px solid rgba(203,213,225,.72)!important;
  box-shadow:0 10px 26px rgba(15,23,42,.05)!important;
}
#personal .personal-subject-tabs{margin-bottom:8px!important;}
#personal .personal-utility-tabs{margin-bottom:12px!important;}
#personal .personal-subject-tabs .personal-dept-tab,
#personal .personal-utility-tabs .personal-dept-tab{
  min-height:42px!important;
  padding:0 17px!important;
  border-radius:999px!important;
  font-size:13px!important;
  line-height:1!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
}
#personal .personal-attendance-tab{min-width:182px!important;}
#personal .personal-mail-alert-tab{min-width:154px!important;}
#personal .personal-tomorrow-tab{min-width:174px!important;}

#personal .personal-manage-modebar{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:12px!important;
  padding:10px!important;
  background:rgba(255,255,255,.58)!important;
  border:1px solid rgba(226,232,240,.86)!important;
}
#personal .personal-big-mode-btn{
  min-height:64px!important;
  border-radius:22px!important;
  border:1px solid rgba(148,163,184,.32)!important;
  background:rgba(255,255,255,.82)!important;
  color:#64748b!important;
  box-shadow:0 10px 22px rgba(15,23,42,.045)!important;
  font-size:14px!important;
  letter-spacing:-.02em!important;
}
#personal .personal-big-mode-btn:hover{
  background:#fff!important;
  color:#334155!important;
}
#personal .personal-big-mode-btn.active{
  background:linear-gradient(135deg,#e0f2fe,#f0fdfa 55%,#fff7ed)!important;
  color:#0f172a!important;
  border-color:rgba(56,189,248,.34)!important;
  box-shadow:0 16px 34px rgba(14,165,233,.12)!important;
  outline:3px solid rgba(125,211,252,.24)!important;
}
#personal .personal-big-mode-btn.active::after{
  content:"선택됨"!important;
  display:inline-flex!important;
  margin-left:8px!important;
  padding:4px 8px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.78)!important;
  color:#0369a1!important;
  font-size:10.5px!important;
  font-weight:950!important;
}
#personal .personal-big-mode-btn:not(.active){filter:grayscale(.22) saturate(.72);}

#personalCardList .personal-card-group{
  border:1.5px solid rgba(148,163,184,.48)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,250,252,.92))!important;
  box-shadow:0 16px 36px rgba(15,23,42,.095)!important;
}
#personalCardList .personal-patient-card{
  border:1.6px solid rgba(100,116,139,.34)!important;
  background:linear-gradient(180deg,#ffffff,#fbfdff)!important;
  box-shadow:0 14px 34px rgba(15,23,42,.11)!important;
}
#personalCardList .personal-patient-card:hover{
  border-color:rgba(59,130,246,.35)!important;
  box-shadow:0 18px 42px rgba(15,23,42,.14)!important;
}

#personalCardList .prostho-visit-resident-row{
  grid-template-columns:auto minmax(145px,.72fr) minmax(220px,1fr)!important;
  gap:9px!important;
}
#personalCardList .prostho-visit-resident-row .prostho-resident-wrap{
  min-width:0!important;
  height:40px!important;
  padding:5px 7px!important;
  border-radius:18px!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:6px!important;
  background:linear-gradient(135deg,#f0fdfa,#eef2ff)!important;
  border:1px solid rgba(94,234,212,.35)!important;
}
#personalCardList .prostho-visit-resident-row .prostho-resident-wrap span{
  font-size:11px!important;
  font-weight:950!important;
  color:#4f46e5!important;
  white-space:nowrap!important;
  padding:0 7px!important;
  height:28px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.72)!important;
}
#personalCardList .prostho-visit-resident-row .prostho-resident-select{
  margin:0!important;
  min-width:0!important;
  width:100%!important;
  height:28px!important;
  min-height:28px!important;
  padding:0 24px 0 8px!important;
  border-radius:12px!important;
  font-size:11.5px!important;
  font-weight:900!important;
  background:rgba(255,255,255,.92)!important;
}
#personalCardList .personal-card-actions.prostho-actions-no-resident{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
}

@media (max-width:900px){
  .hero-upload-side{align-items:stretch!important;padding:14px!important;}
  .top-upload-button{max-width:none!important;width:100%!important;min-height:48px!important;}
}
@media (max-width:720px){
  #personal .personal-subject-tabs,
  #personal .personal-utility-tabs{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  #personal .personal-subject-tabs .personal-dept-tab,
  #personal .personal-utility-tabs .personal-dept-tab{
    width:100%!important;
    min-width:0!important;
    padding:0 10px!important;
    font-size:12.3px!important;
  }
  #personal .personal-utility-tabs .personal-tomorrow-tab,
  #personal .personal-utility-tabs .personal-attendance-tab{
    grid-column:1 / -1!important;
  }
  #personal .personal-big-mode-btn{min-height:60px!important;font-size:13px!important;}
  #personalCardList .prostho-visit-resident-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  #personalCardList .prostho-visit-resident-row .visit-label{display:none!important;}
  #personalCardList .prostho-visit-resident-row .personal-visit-stepper{width:100%!important;max-width:none!important;}
  #personalCardList .prostho-visit-resident-row .prostho-resident-wrap{width:100%!important;}
}

/* v125: wider personal total cards on PC + patient search */
#personalPatientSearchBar.personal-patient-searchbar{
  display:grid;
  grid-template-columns:auto minmax(260px,1fr) auto auto minmax(140px,auto);
  align-items:center;
  gap:10px;
  margin:10px 0 14px;
  padding:12px 14px;
  border-radius:24px;
  border:1px solid rgba(203,213,225,.82);
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(248,250,252,.86));
  box-shadow:0 12px 30px rgba(15,23,42,.055);
}
#personalPatientSearchBar label{
  font-size:13px;
  font-weight:950;
  color:#334155;
  white-space:nowrap;
}
#personalPatientSearchBar input{
  width:100%;
  min-height:42px;
  border-radius:16px;
  border:1px solid rgba(148,163,184,.42);
  background:#fff;
  padding:0 14px;
  font-size:14px;
  font-weight:800;
}
#personalPatientSearchBar button{
  min-height:42px;
  border-radius:16px;
  padding:0 18px;
  white-space:nowrap;
}
.personal-patient-search-msg{
  font-size:12px;
  font-weight:850;
  color:#64748b;
  white-space:nowrap;
}
#personalCardList .personal-patient-cards{
  grid-template-columns:repeat(2,minmax(440px,1fr))!important;
  gap:18px!important;
  align-items:stretch!important;
}
#personalCardList .personal-patient-card{
  width:100%!important;
  min-width:0!important;
  padding:18px!important;
  gap:12px!important;
}
#personalCardList .personal-card-group{
  padding:16px!important;
}
#personalCardList .personal-patient-card.search-match,
#personalPatientTable tbody tr.search-match{
  border-color:#ef4444!important;
  box-shadow:0 0 0 4px rgba(239,68,68,.15), 0 20px 46px rgba(239,68,68,.13)!important;
  background:linear-gradient(180deg,#fff,#fff7f7)!important;
}
#personalCardList .personal-patient-card.search-match::before{background:#ef4444!important;}
@media (max-width:1180px){
  #personalCardList .personal-patient-cards{grid-template-columns:1fr!important;}
}
@media (max-width:720px){
  #personalPatientSearchBar.personal-patient-searchbar{
    grid-template-columns:1fr;
    gap:8px;
    padding:12px;
    border-radius:20px;
  }
  #personalPatientSearchBar label{font-size:12.5px;}
  #personalPatientSearchBar button{width:100%;}
  .personal-patient-search-msg{white-space:normal;text-align:center;}
  #personalCardList .personal-card-group{padding:10px!important;}
  #personalCardList .personal-patient-card{padding:14px!important;}
}

/* v126: PC 교정 토탈 카드 압축 방지 최종 보정
   - 교정 카드는 PC에서도 본토/진토/구토 그룹 내부 폭을 꽉 쓰는 1열 카드로 표시
   - 카드 내부 행이 잘리지 않도록 폭, 줄바꿈, 버튼 크기 보정 */
@media (min-width:721px){
  #personalCardList,
  #personalCardList .personal-card-list,
  #personalCardList .personal-card-group,
  #personalCardList .personal-patient-cards.ortho-patient-cards{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
  #personalCardList .personal-patient-cards.ortho-patient-cards{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
    justify-items:stretch!important;
    align-items:stretch!important;
  }
  #personalCardList .personal-patient-cards.ortho-patient-cards .personal-patient-card.ortho-total-card,
  #personalCardList .personal-patient-cards.ortho-patient-cards .personal-patient-card{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    box-sizing:border-box!important;
    padding:22px 24px!important;
    border-radius:24px!important;
  }
  #personalCardList .personal-patient-cards.ortho-patient-cards .personal-card-identity-line{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:10px!important;
    width:100%!important;
    overflow:visible!important;
  }
  #personalCardList .personal-patient-cards.ortho-patient-cards .personal-card-identity-line strong{
    flex:0 1 auto!important;
    min-width:0!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    font-size:1.08rem!important;
  }
  #personalCardList .personal-patient-cards.ortho-patient-cards .personal-card-schedule-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:12px!important;
    width:100%!important;
    align-items:center!important;
  }
  #personalCardList .personal-patient-cards.ortho-patient-cards .personal-card-schedule{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(150px,1fr))!important;
    gap:10px!important;
    width:100%!important;
    min-width:0!important;
  }
  #personalCardList .personal-patient-cards.ortho-patient-cards .personal-edit-schedule{
    min-width:96px!important;
    writing-mode:horizontal-tb!important;
    white-space:nowrap!important;
    word-break:keep-all!important;
  }
  #personalCardList .personal-patient-cards.ortho-patient-cards .personal-card-visit-row{
    display:grid!important;
    grid-template-columns:auto minmax(190px,220px) minmax(0,1fr)!important;
    align-items:center!important;
    gap:12px!important;
    width:100%!important;
  }
  #personalCardList .personal-patient-cards.ortho-patient-cards .personal-visit-stepper{
    width:100%!important;
    max-width:220px!important;
    min-width:190px!important;
    flex:none!important;
  }
  #personalCardList .personal-patient-cards.ortho-patient-cards .personal-card-clinician-row{
    width:100%!important;
    max-width:none!important;
  }
  #personalCardList .personal-patient-cards.ortho-patient-cards .personal-card-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    width:100%!important;
  }
  #personalCardList .personal-patient-cards.ortho-patient-cards .personal-card-actions button{
    width:100%!important;
  }
}
@media (min-width:1180px){
  /* 이전 v125의 2열 강제 규칙을 교정 카드에 한해 무력화 */
  #personalCardList .personal-patient-cards.ortho-patient-cards{
    grid-template-columns:1fr!important;
  }
}


/* v128: 로그인 오류 표시 + 모바일 환자 검색 플로팅 한줄 UI */
.personal-login-title-row{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin:0 0 12px!important;
}
.personal-login-title-row h3{margin:0!important;}
.personal-login-error{
  align-items:center!important;
  max-width:58%!important;
  padding:7px 11px!important;
  border-radius:999px!important;
  background:#fff1f2!important;
  color:#e11d48!important;
  border:1px solid rgba(225,29,72,.28)!important;
  font-size:12px!important;
  font-weight:950!important;
  line-height:1.25!important;
  white-space:normal!important;
  box-shadow:0 8px 18px rgba(225,29,72,.08)!important;
}
@media (max-width:720px){
  .personal-login-title-row{align-items:flex-start!important;}
  .personal-login-error{max-width:62%!important;font-size:11.5px!important;padding:6px 9px!important;}
  #personalPatientSearchBar.personal-patient-searchbar{
    position:sticky!important;
    top:8px!important;
    z-index:80!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto auto!important;
    align-items:center!important;
    gap:6px!important;
    margin:10px 0 12px!important;
    padding:8px!important;
    border-radius:18px!important;
    border:1px solid rgba(148,163,184,.36)!important;
    background:rgba(255,255,255,.94)!important;
    box-shadow:0 12px 28px rgba(15,23,42,.13)!important;
    backdrop-filter:blur(14px)!important;
  }
  #personalPatientSearchBar label{display:none!important;}
  #personalPatientSearchBar input{
    grid-column:1!important;
    min-width:0!important;
    min-height:38px!important;
    margin:0!important;
    padding:0 10px!important;
    border-radius:14px!important;
    font-size:13px!important;
  }
  #personalPatientSearchBar #personalPatientSearchBtn,
  #personalPatientSearchBar #personalPatientSearchResetBtn{
    grid-row:1!important;
    width:auto!important;
    min-height:38px!important;
    margin:0!important;
    padding:0 10px!important;
    border-radius:14px!important;
    font-size:12px!important;
    white-space:nowrap!important;
  }
  #personalPatientSearchBar #personalPatientSearchBtn{grid-column:2!important;}
  #personalPatientSearchBar #personalPatientSearchResetBtn{grid-column:3!important;}
  #personalPatientSearchBar .personal-patient-search-msg{
    grid-column:1 / -1!important;
    font-size:11px!important;
    line-height:1.25!important;
    min-height:14px!important;
    text-align:left!important;
    padding:0 2px!important;
  }
}

/* v130: 모바일 토탈 환자 검색 플로팅바가 메인 메뉴바와 겹치지 않도록 위치 보정 */
@media (max-width:720px){
  #personalPatientSearchBar.personal-patient-searchbar{
    top:72px!important;
    z-index:18!important;
    margin-top:8px!important;
  }
  .tabs{
    z-index:30!important;
  }
}
@media (max-width:520px){
  #personalPatientSearchBar.personal-patient-searchbar{
    top:66px!important;
  }
}

/* v132: mobile personal total tab rows */
@media (max-width:720px){
  #personal .personal-subject-tabs{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:6px!important;
    padding:7px!important;
  }
  #personal .personal-subject-tabs .personal-dept-tab{
    width:100%!important;
    min-width:0!important;
    min-height:38px!important;
    padding:0 4px!important;
    font-size:12.5px!important;
    line-height:1.05!important;
    white-space:nowrap!important;
    letter-spacing:-.03em!important;
  }
  #personal .personal-utility-tabs{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
    padding:7px!important;
  }
  #personal .personal-utility-tabs .personal-dept-tab{
    width:100%!important;
    min-width:0!important;
    min-height:40px!important;
    padding:0 6px!important;
    font-size:12.2px!important;
    line-height:1.12!important;
    letter-spacing:-.045em!important;
    white-space:nowrap!important;
  }
  #personal .personal-utility-tabs .personal-tomorrow-tab{
    grid-column:1 / -1!important;
    font-size:12.6px!important;
  }
  #personal .personal-utility-tabs .personal-mail-alert-tab,
  #personal .personal-utility-tabs .personal-attendance-tab{
    grid-column:auto!important;
  }
}
@media (max-width:390px){
  #personal .personal-subject-tabs .personal-dept-tab{font-size:12px!important;padding:0 3px!important;}
  #personal .personal-utility-tabs .personal-dept-tab{font-size:11.2px!important;padding:0 4px!important;}
}


/* v133: requested personal total / resident list UI cleanup */
#personalDeptDesc,
#personalListNote{
  display:none!important;
}
#personal .panel-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  flex-wrap:nowrap!important;
}
#personal .panel-head h2{
  margin:0!important;
}
#personal .personal-head-actions{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  flex:0 0 auto!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
  white-space:nowrap!important;
}
#personalLoginBadge.meta-pill,
.personal-head-logout{
  white-space:nowrap!important;
  flex:0 0 auto!important;
}

/* Make add/list mode buttons thinner, cleaner, and remove the selected text */
#personal .personal-manage-modebar{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  padding:6px!important;
  margin:8px 0 6px!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.42)!important;
  box-shadow:none!important;
}
#personal .personal-big-mode-btn{
  min-height:40px!important;
  height:40px!important;
  padding:0 12px!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.72)!important;
  border:1px solid rgba(148,163,184,.36)!important;
  color:#64748b!important;
  font-size:13px!important;
  font-weight:950!important;
  box-shadow:none!important;
  letter-spacing:-.035em!important;
}
#personal .personal-big-mode-btn::before,
#personal .personal-big-mode-btn::after,
#personal .personal-big-mode-btn.active::after{
  display:none!important;
  content:none!important;
}
#personal .personal-big-mode-btn.active{
  background:linear-gradient(135deg,rgba(254,243,199,.92),rgba(220,252,231,.92),rgba(224,242,254,.92))!important;
  border-color:rgba(45,212,191,.55)!important;
  color:#0f172a!important;
  outline:2px solid rgba(45,212,191,.18)!important;
  box-shadow:0 8px 18px rgba(15,23,42,.055)!important;
}
#personal .personal-big-mode-btn:not(.active){
  filter:grayscale(.85) saturate(.55)!important;
  opacity:.82!important;
}

/* Slim patient search bar with little bottom whitespace */
#personalPatientSearchBar.personal-patient-searchbar{
  margin:4px 0 4px!important;
  padding:7px 9px!important;
  border-radius:16px!important;
  gap:7px!important;
  box-shadow:0 7px 18px rgba(15,23,42,.045)!important;
}
#personalPatientSearchBar label{
  font-size:12px!important;
}
#personalPatientSearchBar input{
  min-height:34px!important;
  height:34px!important;
  border-radius:12px!important;
  font-size:13px!important;
  padding:0 10px!important;
}
#personalPatientSearchBar button{
  min-height:34px!important;
  height:34px!important;
  border-radius:12px!important;
  padding:0 12px!important;
  font-size:12px!important;
}
#personalPatientSearchBar .personal-patient-search-msg{
  font-size:11px!important;
  min-height:0!important;
}
#personal #personalCardList.personal-card-list{
  margin-top:6px!important;
}

/* Resident list total filter text/style cleanup */
#listSpecialTools + .search-row + .color-tools .color-tools-title,
.color-tools-title#specialToolsTitle{
  display:none!important;
}
#totalDimBtn.total-filter-action{
  border:1.5px solid rgba(148,163,184,.45)!important;
  background:rgba(255,255,255,.78)!important;
  color:#475569!important;
  font-weight:950!important;
}
#totalDimBtn.total-filter-action.active,
#totalDimBtn.total-filter-action[aria-pressed="true"]{
  border:3px solid rgba(244,114,182,.72)!important;
  background:rgba(255,241,242,.94)!important;
  color:#be123c!important;
  box-shadow:0 0 0 3px rgba(244,114,182,.12)!important;
}

@media (max-width:720px){
  #personal .panel-head{
    align-items:center!important;
    gap:8px!important;
  }
  #personal .panel-head h2{
    font-size:19px!important;
    flex:1 1 auto!important;
    min-width:0!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  #personal .personal-head-actions{
    gap:6px!important;
    flex:0 0 auto!important;
  }
  #personalLoginBadge.meta-pill{
    padding:6px 8px!important;
    font-size:11px!important;
  }
  .personal-head-logout{
    padding:6px 8px!important;
    font-size:11px!important;
  }
  #personal .personal-manage-modebar{
    margin:7px 0 5px!important;
    padding:5px!important;
    gap:6px!important;
  }
  #personal .personal-big-mode-btn{
    min-height:36px!important;
    height:36px!important;
    border-radius:13px!important;
    font-size:12px!important;
    padding:0 6px!important;
  }
  #personalPatientSearchBar.personal-patient-searchbar{
    top:66px!important;
    margin:3px 0 4px!important;
    padding:6px!important;
    gap:5px!important;
    border-radius:15px!important;
  }
  #personalPatientSearchBar input,
  #personalPatientSearchBar #personalPatientSearchBtn,
  #personalPatientSearchBar #personalPatientSearchResetBtn{
    min-height:34px!important;
    height:34px!important;
    border-radius:12px!important;
    font-size:12px!important;
  }
  #personalPatientSearchBar #personalPatientSearchBtn,
  #personalPatientSearchBar #personalPatientSearchResetBtn{
    padding:0 8px!important;
  }
  #personalPatientSearchBar .personal-patient-search-msg{
    display:none!important;
  }
}

/* v134: 전공의 진료 리스트 설명/표옵션 제거 및 검색 한줄 정리 */
#list .panel-head > div:first-child p,
#list .list-note,
#list .list-note-inline{display:none!important;}
#list .list-controls{display:flex!important;align-items:flex-end;gap:10px;flex-wrap:nowrap;}
#list .list-controls .select-label{min-width:128px;}
#list .list-page-panel .list-dept-head span{display:none!important;}
#list .search-row{display:grid!important;grid-template-columns:minmax(220px,1fr) auto auto!important;align-items:center!important;gap:8px!important;margin:10px 0 12px!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;}
#list .search-row .search-help{display:none!important;}
#list .search-row #searchInput{grid-column:1!important;grid-row:1!important;margin-top:0!important;min-height:42px!important;}
#list .search-row #searchBtn{grid-column:2!important;grid-row:1!important;min-height:42px!important;white-space:nowrap!important;}
#list .search-row #resetBtn{grid-column:3!important;grid-row:1!important;min-height:42px!important;white-space:nowrap!important;}
#apptTableWrap{font-size:70%;}
#apptTableWrap.scale-70{font-size:70%;}
@media (max-width:720px){
  #list .search-row{grid-template-columns:minmax(0,1fr) auto auto!important;gap:6px!important;}
  #list .search-row #searchInput{font-size:14px!important;padding:10px 11px!important;min-width:0!important;}
  #list .search-row #searchBtn,#list .search-row #resetBtn{padding:10px 11px!important;font-size:13px!important;min-height:40px!important;}
}

/* v135 resident list layout cleanup: flat separated cards */
#list.page{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  padding:0!important;
}
#list > .panel{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  margin:0!important;
}
#list .panel-head,
#list .list-page-panel,
#list #overallListDeptPanel,
#list #listSpecialTools,
#list .search-row,
#list .color-tools,
#list #apptTableWrap{
  background:rgba(255,255,255,.94)!important;
  border:1px solid rgba(203,213,225,.95)!important;
  box-shadow:0 12px 28px rgba(15,23,42,.06)!important;
  border-radius:22px!important;
  margin:0 0 12px!important;
}
#list .panel-head{
  padding:18px 20px!important;
  align-items:center!important;
}
#list .panel-head h2{font-size:25px!important;margin:0!important;}
#list .list-controls{display:flex!important;align-items:center!important;gap:10px!important;}
#list .list-controls .select-label{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin:0!important;
  white-space:nowrap!important;
}
#list .list-controls select{margin-top:0!important;min-width:110px!important;padding:10px 34px 10px 12px!important;}
#list .list-page-panel,
#list #overallListDeptPanel{padding:16px 18px!important;}
#list #listSpecialTools{padding:14px 16px!important;display:flex!important;align-items:center!important;gap:10px!important;}
#list .search-row{padding:14px 16px!important;}
#list .color-tools{padding:14px 16px!important;display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;}
#list #apptTableWrap{overflow:auto!important;}
#list .list-dept-head{margin-bottom:10px!important;}
#list .list-dept-head strong{font-size:16px!important;letter-spacing:-.02em!important;}
#list .resident-dept-tabs{padding-top:2px!important;}
#list .time-filter-action{
  background:#fff!important;
  color:#334155!important;
  border:1.5px solid rgba(148,163,184,.8)!important;
  box-shadow:none!important;
}
#list .time-filter-action[aria-pressed="true"],
#list .total-filter-action[aria-pressed="true"]{
  border-width:2px!important;
  background:#fff7ed!important;
  border-color:#fb923c!important;
  color:#9a3412!important;
}
@media (max-width:720px){
  #list .panel-head{padding:14px!important;display:flex!important;gap:10px!important;}
  #list .panel-head h2{font-size:21px!important;}
  #list .list-controls{width:100%!important;}
  #list .list-controls .select-label{width:100%!important;justify-content:space-between!important;}
  #list .list-controls select{width:auto!important;min-width:120px!important;}
  #list .list-page-panel,
  #list #overallListDeptPanel,
  #list #listSpecialTools,
  #list .search-row,
  #list .color-tools{padding:12px!important;border-radius:18px!important;}
}

/* v136 medicine/surgery total cards */
.personal-subdept-tabs{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0 12px;padding:8px;border:1px solid rgba(148,163,184,.22);background:rgba(255,255,255,.72);border-radius:18px}
.personal-subdept-tab{appearance:none;border:1px solid rgba(148,163,184,.38);background:rgba(255,255,255,.86);color:#334155;border-radius:999px;padding:9px 18px;font-weight:900;cursor:pointer;box-shadow:0 4px 12px rgba(15,23,42,.05)}
.personal-subdept-tab.active{background:linear-gradient(135deg,#f5d0fe,#bae6fd);border-color:rgba(14,165,233,.45);color:#0f172a;box-shadow:0 8px 20px rgba(14,165,233,.14)}
.medicine-patient-cards,.surgery-patient-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(520px,1fr));gap:16px}
.medicine-card,.surgery-card{border:2px solid rgba(100,116,139,.22);background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,250,252,.95));box-shadow:0 12px 28px rgba(15,23,42,.09)}
.medicine-pill{background:#fef3c7;color:#92400e;border:1px solid #fde68a}
.surgery-pill{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}
.surgery-stage-pill.first{background:#dbeafe;color:#1d4ed8;border-color:#bfdbfe}.surgery-stage-pill.second{background:#fef3c7;color:#92400e;border-color:#fde68a}.surgery-stage-pill.final{background:#dcfce7;color:#166534;border-color:#bbf7d0}
.medicine-one-line{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:10px;padding:10px;border-radius:16px;background:rgba(248,250,252,.95);border:1px solid rgba(148,163,184,.24)}
.medicine-one-line label{display:flex;align-items:center;gap:8px;min-width:0;margin:0}.medicine-one-line select{min-width:0;width:100%;height:38px;border-radius:12px;border:1px solid rgba(148,163,184,.45);background:white;font-weight:850;color:#0f172a;padding:0 10px}.medicine-one-line .sign-by-box{white-space:nowrap;margin:0}
.always-open[hidden]{display:block!important}.always-open{display:block!important;margin-top:10px}.always-open .personal-card-editor-line{display:grid;grid-template-columns:1fr;gap:8px}
.surgery-actions{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))!important}.surgery-prev-stage{background:#f8fafc!important;color:#334155!important;border:1px solid #cbd5e1!important}.surgery-next-stage{background:#dcfce7!important;color:#166534!important;border:1px solid #86efac!important}
@media (max-width: 760px){.medicine-patient-cards,.surgery-patient-cards{grid-template-columns:1fr}.medicine-one-line{grid-template-columns:1fr auto;gap:6px;padding:8px}.medicine-one-line label{gap:5px}.medicine-one-line select{font-size:12px;height:34px}.personal-subdept-tabs{flex-wrap:nowrap;overflow-x:auto}.personal-subdept-tab{flex:1 0 auto;padding:8px 12px;font-size:13px}}

/* v137: derived sub menu for medicine/surgery and clearer active state */
#personal .personal-subdept-tabs{
  position:relative!important;
  display:flex!important;
  width:fit-content!important;
  max-width:100%!important;
  gap:8px!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  margin:0 0 14px 18px!important;
  padding:8px!important;
  border-radius:18px!important;
  border:1px solid rgba(203,213,225,.8)!important;
  background:linear-gradient(180deg,rgba(248,250,252,.96),rgba(255,255,255,.94))!important;
  box-shadow:0 10px 24px rgba(15,23,42,.06)!important;
}
#personal .personal-subdept-tabs::before{
  content:"";
  position:absolute;
  left:20px;
  top:-15px;
  width:2px;
  height:15px;
  background:rgba(148,163,184,.55);
}
#personal .personal-subdept-tabs::after{
  content:"하위 선택";
  position:absolute;
  left:34px;
  top:-26px;
  padding:2px 8px;
  border-radius:999px;
  background:rgba(241,245,249,.96);
  border:1px solid rgba(203,213,225,.7);
  color:#64748b;
  font-size:11px;
  font-weight:900;
  letter-spacing:-.02em;
}
#personal .personal-subdept-tab{
  flex:0 0 auto!important;
  min-width:108px!important;
  height:38px!important;
  padding:0 18px!important;
  border-radius:999px!important;
  border:1px solid rgba(203,213,225,.95)!important;
  background:rgba(248,250,252,.88)!important;
  color:#64748b!important;
  box-shadow:none!important;
  font-size:13px!important;
  font-weight:900!important;
  opacity:.72!important;
}
#personal .personal-subdept-tab.active{
  opacity:1!important;
  color:#0f172a!important;
  border-color:rgba(251,191,36,.8)!important;
  background:linear-gradient(135deg,#fef3c7,#fce7f3)!important;
  box-shadow:0 10px 24px rgba(251,191,36,.18)!important;
  transform:translateY(-1px);
}
#personal .personal-subdept-tab:not(.active):hover{
  opacity:.92!important;
  background:#fff!important;
  color:#334155!important;
}
@media (max-width:760px){
  #personal .personal-subdept-tabs{
    width:100%!important;
    margin:0 0 12px 0!important;
    padding:7px!important;
    overflow:visible!important;
  }
  #personal .personal-subdept-tabs::before{left:18px;top:-12px;height:12px;}
  #personal .personal-subdept-tabs::after{display:none;}
  #personal .personal-subdept-tab{
    flex:1 1 0!important;
    min-width:0!important;
    height:36px!important;
    padding:0 8px!important;
    font-size:12.5px!important;
  }
}


/* v138: personal total nested panel, subdept under active dept, pastel ortho groups */
#personal #personalAppArea.personal-app{
  margin-top:14px!important;
  padding:16px!important;
  border:1px solid rgba(203,213,225,.72)!important;
  border-radius:26px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(248,250,252,.86))!important;
  box-shadow:0 18px 44px rgba(15,23,42,.08)!important;
}
#personal .personal-subject-tabs,
#personal .personal-utility-tabs,
#personal #personalManageModeBar,
#personal #personalPatientSearchBar{
  border:1px solid rgba(226,232,240,.9)!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.72)!important;
  box-shadow:0 8px 20px rgba(15,23,42,.04)!important;
  padding:10px!important;
  margin-bottom:10px!important;
}
#personal .personal-subdept-tabs::after{display:none!important;content:""!important;}
#personal .personal-subdept-tabs{
  position:relative!important;
  max-width:min(420px, 100%)!important;
  width:max-content!important;
  padding:7px!important;
  margin-top:-2px!important;
  margin-bottom:14px!important;
  border-radius:999px!important;
  border:1px solid rgba(226,232,240,.95)!important;
  background:rgba(248,250,252,.88)!important;
  box-shadow:0 10px 24px rgba(15,23,42,.05)!important;
}
#personal .personal-subdept-tabs.is-medicine{margin-left:calc(60% + 4px)!important;transform:translateX(-50%)!important;}
#personal .personal-subdept-tabs.is-surgery{margin-left:calc(80% + 4px)!important;transform:translateX(-50%)!important;}
#personal .personal-subdept-tabs::before{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:-12px!important;
  width:2px!important;
  height:12px!important;
  background:rgba(148,163,184,.5)!important;
}
#personal .personal-subdept-tab{
  min-width:112px!important;
  height:36px!important;
  border-radius:999px!important;
  background:rgba(241,245,249,.88)!important;
  border:1px solid rgba(203,213,225,.9)!important;
  color:#64748b!important;
  opacity:1!important;
}
#personal .personal-subdept-tab.active{
  color:#172554!important;
  border-color:rgba(125,211,252,.9)!important;
  background:linear-gradient(135deg,#dbeafe,#fce7f3)!important;
  box-shadow:0 10px 24px rgba(59,130,246,.14)!important;
}
#personal .personal-card-group:has(.type-bonto),
#personal .personal-card-group:has(.type-jinto),
#personal .personal-card-group:has(.type-guto){
  border-radius:24px!important;
  padding:12px!important;
  border:1px solid rgba(226,232,240,.9)!important;
}
#personal .personal-card-group:has(.type-bonto){background:linear-gradient(180deg,rgba(219,234,254,.48),rgba(255,255,255,.9))!important;}
#personal .personal-card-group:has(.type-jinto){background:linear-gradient(180deg,rgba(252,231,243,.52),rgba(255,255,255,.9))!important;}
#personal .personal-card-group:has(.type-guto){background:linear-gradient(180deg,rgba(220,252,231,.52),rgba(255,255,255,.9))!important;}
#personal .type-pill.type-bonto{background:#dbeafe!important;color:#1d4ed8!important;border-color:#bfdbfe!important;}
#personal .type-pill.type-jinto{background:#fce7f3!important;color:#be185d!important;border-color:#fbcfe8!important;}
#personal .type-pill.type-guto{background:#dcfce7!important;color:#166534!important;border-color:#bbf7d0!important;}
@media (max-width:760px){
  #personal #personalAppArea.personal-app{padding:10px!important;border-radius:20px!important;}
  #personal .personal-subdept-tabs.is-medicine,
  #personal .personal-subdept-tabs.is-surgery{margin-left:0!important;transform:none!important;width:100%!important;max-width:100%!important;}
  #personal .personal-subdept-tabs::before{left:22px!important;}
  #personal .personal-subdept-tab{min-width:0!important;flex:1 1 0!important;}
}

/* v139: personal total layout cleanup and subdept trace/login polish */
#personal #personalAppArea.personal-app{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#personal .personal-subject-tabs,
#personal .personal-utility-tabs{
  border:1px solid rgba(226,232,240,.92)!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.82)!important;
  box-shadow:0 8px 22px rgba(15,23,42,.05)!important;
  padding:10px!important;
}
#personal #personalManageModeBar,
#personal #personalPatientSearchBar,
#personal .personal-section-card,
#personal .personal-match-grid{
  border:1px solid rgba(226,232,240,.92)!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.86)!important;
  box-shadow:0 10px 24px rgba(15,23,42,.05)!important;
  padding:12px!important;
  margin-top:12px!important;
}
#personal .personal-subject-tabs{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:8px!important;
  align-items:start!important;
}
#personal .personal-subject-tabs > .personal-dept-tab{
  width:100%!important;
}
#personal .personal-subdept-tabs{
  position:relative!important;
  grid-row:2!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  transform:none!important;
  padding:6px!important;
  border-radius:16px!important;
  background:rgba(248,250,252,.9)!important;
  border:1px solid rgba(226,232,240,.95)!important;
  box-shadow:0 8px 18px rgba(15,23,42,.04)!important;
  gap:6px!important;
}
#personal .personal-subdept-tabs.is-medicine{
  grid-column:4 / 5!important;
  margin-left:0!important;
  transform:none!important;
}
#personal .personal-subdept-tabs.is-surgery{
  grid-column:5 / 6!important;
  margin-left:0!important;
  transform:none!important;
}
#personal .personal-subdept-tabs::before,
#personal .personal-subdept-tabs::after,
#personal .personal-subdept-tabs:empty::before,
#personal .personal-subdept-tabs:empty::after,
#personal .personal-subdept-tabs[style*="display: none"]::before,
#personal .personal-subdept-tabs[style*="display: none"]::after{
  display:none!important;
  content:""!important;
}
#personal .personal-subdept-tab{
  min-width:0!important;
  flex:1 1 0!important;
  height:34px!important;
  padding:0 10px!important;
  font-size:12px!important;
}
#personal .personal-login-error{
  padding:7px 12px!important;
  border-radius:999px!important;
  background:#fee2e2!important;
  border:1px solid #fecaca!important;
  color:#b91c1c!important;
  font-weight:900!important;
  font-size:12px!important;
  box-shadow:0 8px 18px rgba(239,68,68,.10)!important;
}
@media (max-width:760px){
  #personal .personal-subject-tabs{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:5px!important;
    padding:8px!important;
  }
  #personal .personal-subdept-tabs.is-medicine{
    grid-column:4 / 6!important;
  }
  #personal .personal-subdept-tabs.is-surgery{
    grid-column:4 / 6!important;
  }
  #personal .personal-subdept-tab{font-size:12px!important;height:32px!important;padding:0 6px!important;}
}

/* v140: surgery final visit report topic memo */
.surgery-report-topic-row{
  display:flex;
  align-items:flex-end;
  gap:10px;
  padding:10px 12px;
  border:1px solid rgba(134,239,172,.8);
  background:linear-gradient(135deg,rgba(240,253,244,.96),rgba(255,255,255,.98));
  border-radius:16px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 6px 14px rgba(15,23,42,.04);
}
.surgery-report-topic-row label{
  flex:1 1 auto;
  min-width:0;
  display:grid;
  gap:6px;
  margin:0;
}
.surgery-report-topic-row label span{
  font-size:.76rem;
  font-weight:900;
  color:#166534;
  letter-spacing:-.02em;
}
.surgery-report-topic-input{
  width:100%;
  min-height:42px;
  resize:vertical;
  border:1px solid rgba(187,247,208,.95);
  border-radius:13px;
  background:#fff;
  color:#0f172a;
  font-weight:800;
  font-size:.9rem;
  line-height:1.35;
  padding:9px 11px;
  outline:none;
  box-shadow:0 2px 8px rgba(15,23,42,.04);
}
.surgery-report-topic-input:focus{
  border-color:#86efac;
  box-shadow:0 0 0 3px rgba(34,197,94,.14), 0 4px 12px rgba(15,23,42,.06);
}
.surgery-report-topic-hint{
  flex:0 0 auto;
  white-space:nowrap;
  font-size:.74rem;
  font-weight:900;
  color:#16a34a;
  background:#dcfce7;
  border:1px solid #bbf7d0;
  border-radius:999px;
  padding:6px 9px;
  margin-bottom:3px;
}
@media (max-width:760px){
  .surgery-report-topic-row{padding:9px;gap:7px;align-items:center;}
  .surgery-report-topic-input{font-size:.84rem;min-height:38px;padding:8px 9px;}
  .surgery-report-topic-hint{font-size:.68rem;padding:5px 7px;}
}


/* v142: 핸드폰 캘린더 연동 */
.personal-calendar-tab { white-space: nowrap; }
.calendar-settings-panel { overflow: hidden; }
.calendar-url-card {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid rgba(125, 151, 190, .26);
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(235,247,255,.9));
  box-shadow: 0 14px 36px rgba(91, 120, 170, .11);
}
.calendar-url-card label { display: grid; gap: 8px; font-weight: 800; color: #24304a; }
.calendar-url-card textarea {
  width: 100%;
  min-height: 86px;
  resize: vertical;
  border: 1px solid rgba(125, 151, 190, .34);
  border-radius: 18px;
  padding: 14px;
  font-size: 13px;
  line-height: 1.55;
  color: #14213d;
  background: rgba(255,255,255,.9);
  box-sizing: border-box;
}
.calendar-page-actions { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.calendar-page-actions .button,
.calendar-page-actions button { min-height: 40px; border-radius: 999px; }
.calendar-title-settings{
  display:grid;
  grid-template-columns:minmax(210px,.75fr) minmax(360px,1.45fr) auto;
  gap:14px;
  align-items:center;
  margin:0 0 14px;
  padding:14px 16px;
  border:1px solid rgba(125,151,190,.24);
  border-radius:20px;
  background:linear-gradient(135deg,rgba(248,251,255,.96),rgba(242,248,246,.9));
}
.calendar-title-settings-copy h3{margin:0 0 4px;font-size:15px;color:#24304a}
.calendar-title-settings-copy p{margin:0;color:#66738a;font-size:11px;line-height:1.5}
.calendar-title-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.calendar-title-option{display:flex;align-items:flex-start;gap:9px;min-width:0;padding:10px 11px;border:1px solid rgba(125,151,190,.24);border-radius:14px;background:rgba(255,255,255,.78);cursor:pointer;transition:.18s ease}
.calendar-title-option:hover,.calendar-title-option.active{border-color:#9bb7aa;background:#f0f7f2;box-shadow:0 5px 14px rgba(74,103,86,.08)}
.calendar-title-option input{margin:3px 0 0;accent-color:#647b6d}
.calendar-title-option span{display:grid;gap:3px;min-width:0}
.calendar-title-option strong{font-size:12px;color:#394941}
.calendar-title-option small{font-size:10px;line-height:1.45;color:#7c8780}
.calendar-title-settings>button{min-height:38px!important;border-radius:999px!important;white-space:nowrap}
.calendar-guide-box {
  margin-top: 16px;
  padding: 18px;
  border: 1px solid rgba(125, 151, 190, .2);
  border-radius: 22px;
  background: rgba(255,255,255,.72);
}
.calendar-guide-box h3 { margin: 0 0 10px; font-size: 17px; }
.calendar-guide-box p { margin: 7px 0; color: #506079; line-height: 1.65; }
.calendar-guide-box .calendar-note { color: #2f5f8f; font-weight: 800; }
@media (max-width: 720px) {
  .calendar-title-settings{grid-template-columns:1fr;padding:13px}
  .calendar-title-options{grid-template-columns:1fr}
  .calendar-title-settings>button{width:100%}
  .calendar-page-actions { display: grid; grid-template-columns: 1fr; }
  .calendar-page-actions .button,
  .calendar-page-actions button { width: 100%; justify-content: center; }
  .calendar-url-card { padding: 14px; border-radius: 20px; }
}

/* v144: personal total top controls grouped into one polished shell */
#personal .personal-top-shell{
  display:grid!important;
  gap:12px!important;
  margin:0 0 14px!important;
  padding:14px!important;
  border:1px solid rgba(203,213,225,.92)!important;
  border-radius:26px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(248,250,252,.90))!important;
  box-shadow:0 14px 34px rgba(15,23,42,.07)!important;
}
#personal .personal-top-shell > .personal-head,
#personal .personal-top-shell > .personal-subject-tabs,
#personal .personal-top-shell > .personal-utility-tabs{
  margin:0!important;
  border:1px solid rgba(226,232,240,.98)!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.86)!important;
  box-shadow:0 6px 16px rgba(15,23,42,.035)!important;
  padding:10px!important;
}
#personal .personal-top-shell > .personal-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:14px 16px!important;
}
#personal .personal-top-shell > .personal-head::after{display:none!important;content:none!important;}
#personal .personal-top-shell > .personal-head h2{margin:0!important;}
#personal .personal-top-shell > .personal-head p{display:none!important;}
#personal .personal-top-shell > .personal-subject-tabs{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:8px!important;
  align-items:start!important;
}
#personal .personal-top-shell > .personal-utility-tabs{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
}
#personal .personal-top-shell .personal-utility-tabs .personal-dept-tab{
  flex:0 1 auto!important;
  min-width:max-content!important;
}
#personal .personal-subdept-tabs:not(.is-medicine):not(.is-surgery),
#personal .personal-subdept-tabs:empty{
  display:none!important;
  width:0!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
  overflow:hidden!important;
}
#personal .personal-subdept-tabs:not(.is-medicine):not(.is-surgery)::before,
#personal .personal-subdept-tabs:not(.is-medicine):not(.is-surgery)::after,
#personal .personal-subdept-tabs:empty::before,
#personal .personal-subdept-tabs:empty::after{
  display:none!important;
  content:none!important;
}
#personal .personal-manage-modebar,
#personal #personalPatientSearchBar,
#personal .personal-section-card,
#personal .personal-match-grid{
  margin-top:12px!important;
}
@media (max-width:760px){
  #personal .personal-top-shell{padding:10px!important;border-radius:22px!important;gap:9px!important;}
  #personal .personal-top-shell > .personal-head{padding:12px!important;align-items:flex-start!important;}
  #personal .personal-top-shell > .personal-subject-tabs{gap:5px!important;padding:8px!important;}
  #personal .personal-top-shell > .personal-utility-tabs{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;padding:8px!important;}
  #personal .personal-top-shell .personal-utility-tabs .personal-dept-tab{min-width:0!important;width:100%!important;font-size:11px!important;padding:8px 6px!important;}
}


/* v146: personal total top three bars in one grouped shell */
#personal #personalTopShell.personal-top-shell{
  display:grid!important;
  gap:12px!important;
  margin:0 0 16px!important;
  padding:14px!important;
  border:1px solid rgba(186,199,218,.92)!important;
  border-radius:28px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(241,247,255,.90))!important;
  box-shadow:0 18px 46px rgba(15,23,42,.09)!important;
}
#personal #personalTopShell > .personal-head,
#personal #personalTopShell > .personal-subject-tabs,
#personal #personalTopShell > .personal-utility-tabs,
#personal #personalTopShell > .personal-subdept-tabs{
  margin:0!important;
  border:1px solid rgba(219,226,237,.98)!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.88)!important;
  box-shadow:0 8px 20px rgba(15,23,42,.045)!important;
  padding:10px!important;
}
#personal #personalTopShell > .personal-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:16px 18px!important;
}
#personal #personalTopShell > .personal-head h2{margin:0!important;}
#personal #personalTopShell > .personal-head p{display:none!important;}
#personal #personalTopShell > .personal-subject-tabs{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:8px!important;
}
#personal #personalTopShell > .personal-subject-tabs .personal-dept-tab,
#personal #personalTopShell > .personal-utility-tabs .personal-dept-tab{
  min-height:42px!important;
  white-space:nowrap!important;
}
#personal #personalTopShell > .personal-utility-tabs{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
}
#personal #personalTopShell > .personal-utility-tabs .personal-dept-tab{
  flex:0 1 auto!important;
}
#personal #personalTopShell > .personal-subdept-tabs{
  width:100%!important;
  max-width:100%!important;
  transform:none!important;
  margin:0!important;
  justify-content:center!important;
}
#personal #personalTopShell > .personal-subdept-tabs:not(.is-medicine):not(.is-surgery),
#personal #personalTopShell > .personal-subdept-tabs:empty,
#personal #personalTopShell > .personal-subdept-tabs[style*="display: none"]{
  display:none!important;
  border:0!important;
  padding:0!important;
  height:0!important;
  min-height:0!important;
  overflow:hidden!important;
  box-shadow:none!important;
  background:transparent!important;
}
#personal #personalTopShell > .personal-subdept-tabs::before,
#personal #personalTopShell > .personal-subdept-tabs::after{display:none!important;content:none!important;}
#personal #personalManageModeBar,
#personal #personalPatientSearchBar,
#personal .personal-section-card,
#personal .personal-match-grid{margin-top:12px!important;}
@media (max-width:760px){
  #personal #personalTopShell.personal-top-shell{padding:10px!important;border-radius:23px!important;gap:9px!important;}
  #personal #personalTopShell > .personal-head{padding:13px 12px!important;align-items:center!important;}
  #personal #personalTopShell > .personal-subject-tabs{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:5px!important;padding:8px!important;}
  #personal #personalTopShell > .personal-subject-tabs .personal-dept-tab{font-size:12px!important;padding:0 4px!important;min-height:38px!important;}
  #personal #personalTopShell > .personal-utility-tabs{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;padding:8px!important;}
  #personal #personalTopShell > .personal-utility-tabs .personal-dept-tab{width:100%!important;min-width:0!important;font-size:11px!important;padding:8px 5px!important;}
}

/* v148: hard mobile layout reset for medicine/surgery subdept tabs */
@media (max-width: 760px){
  #personal #personalTopShell.personal-top-shell{
    display:flex!important;
    flex-direction:column!important;
    gap:9px!important;
    overflow:hidden!important;
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  #personal #personalTopShell > .personal-head,
  #personal #personalTopShell > .personal-subject-tabs,
  #personal #personalTopShell > .personal-subdept-tabs,
  #personal #personalTopShell > .personal-utility-tabs{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    float:none!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    margin:0!important;
  }
  #personal #personalTopShell > .personal-subject-tabs{
    order:2!important;
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    align-items:stretch!important;
    gap:5px!important;
    overflow:hidden!important;
  }
  #personal #personalTopShell > .personal-subject-tabs .personal-dept-tab{
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    padding:0 3px!important;
    font-size:11.5px!important;
    letter-spacing:-.06em!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:clip!important;
  }
  #personal #personalTopShell > .personal-subdept-tabs.is-medicine,
  #personal #personalTopShell > .personal-subdept-tabs.is-surgery{
    order:3!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:stretch!important;
    gap:6px!important;
    padding:7px!important;
    border-radius:18px!important;
    overflow:hidden!important;
    grid-column:auto!important;
    grid-row:auto!important;
  }
  #personal #personalTopShell > .personal-subdept-tabs[style*="display: none"],
  #personal #personalTopShell > .personal-subdept-tabs:not(.is-medicine):not(.is-surgery),
  #personal #personalTopShell > .personal-subdept-tabs:empty{
    display:none!important;
  }
  #personal #personalTopShell > .personal-subdept-tabs::before,
  #personal #personalTopShell > .personal-subdept-tabs::after{
    display:none!important;
    content:none!important;
  }
  #personal #personalTopShell > .personal-subdept-tabs .personal-subdept-tab{
    flex:1 1 0!important;
    min-width:0!important;
    max-width:none!important;
    width:auto!important;
    height:36px!important;
    padding:0 4px!important;
    font-size:12px!important;
    letter-spacing:-.04em!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:clip!important;
  }
  #personal #personalTopShell > .personal-utility-tabs{
    order:4!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:6px!important;
    overflow:hidden!important;
  }
  #personal #personalTopShell > .personal-utility-tabs .personal-dept-tab{
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:clip!important;
    font-size:10.8px!important;
    letter-spacing:-.06em!important;
    padding:8px 4px!important;
  }
  #personal #personalTopShell > .personal-head{order:1!important;}
}

/* v149: personal utility menu inactive/active state cleanup
   - OCS match list is colored only when actually active
   - Settings links use the same neutral style as other inactive utility buttons */
#personal #personalTopShell > .personal-utility-tabs .personal-dept-tab,
#personal .personal-utility-tabs .personal-dept-tab,
#personal .personal-utility-tabs a.personal-dept-tab,
#personal .personal-utility-tabs button.personal-dept-tab{
  background:rgba(255,255,255,.88)!important;
  color:#475569!important;
  border:1px solid rgba(203,213,225,.86)!important;
  box-shadow:0 6px 14px rgba(15,23,42,.035)!important;
  opacity:1!important;
  text-decoration:none!important;
}
#personal #personalTopShell > .personal-utility-tabs .personal-dept-tab:not(.active),
#personal .personal-utility-tabs .personal-dept-tab:not(.active),
#personal .personal-utility-tabs a.personal-dept-tab:not(.active),
#personal .personal-utility-tabs button.personal-dept-tab:not(.active){
  background:rgba(255,255,255,.9)!important;
  color:#475569!important;
  border-color:rgba(203,213,225,.86)!important;
  box-shadow:0 6px 14px rgba(15,23,42,.035)!important;
}
#personal #personalTopShell > .personal-utility-tabs #personalTomorrowTab.active,
#personal .personal-utility-tabs #personalTomorrowTab.active{
  background:linear-gradient(135deg,#dbeafe,#e0f2fe)!important;
  color:#1d4ed8!important;
  border-color:rgba(147,197,253,.95)!important;
  box-shadow:0 10px 22px rgba(59,130,246,.14)!important;
}
#personal #personalTopShell > .personal-utility-tabs .personal-mail-alert-tab,
#personal #personalTopShell > .personal-utility-tabs .personal-attendance-tab,
#personal #personalTopShell > .personal-utility-tabs .personal-calendar-tab,
#personal .personal-utility-tabs .personal-mail-alert-tab,
#personal .personal-utility-tabs .personal-attendance-tab,
#personal .personal-utility-tabs .personal-calendar-tab{
  background:rgba(255,255,255,.9)!important;
  color:#475569!important;
  border:1px solid rgba(203,213,225,.86)!important;
  box-shadow:0 6px 14px rgba(15,23,42,.035)!important;
}
#personal #personalTopShell > .personal-utility-tabs .personal-dept-tab:hover,
#personal .personal-utility-tabs .personal-dept-tab:hover{
  background:rgba(248,250,252,.96)!important;
  border-color:rgba(148,163,184,.72)!important;
  transform:translateY(-1px)!important;
}

/* v150: fix medicine/surgery sub tabs breaking the personal top menu */
#personal #personalTopShell.personal-top-shell{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:12px!important;
  overflow:visible!important;
}
#personal #personalTopShell > .personal-head,
#personal #personalTopShell > .personal-subject-tabs,
#personal #personalTopShell > .personal-subdept-tabs,
#personal #personalTopShell > .personal-utility-tabs{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  margin:0!important;
  transform:none!important;
  position:relative!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
}
#personal #personalTopShell > .personal-subject-tabs{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:8px!important;
  overflow:hidden!important;
}
#personal #personalTopShell > .personal-subdept-tabs.is-medicine,
#personal #personalTopShell > .personal-subdept-tabs.is-surgery{
  display:flex!important;
  flex-direction:row!important;
  justify-content:flex-start!important;
  align-items:center!important;
  gap:8px!important;
  padding:10px!important;
  border:1px solid rgba(219,226,237,.98)!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.88)!important;
  box-shadow:0 8px 20px rgba(15,23,42,.045)!important;
  overflow:visible!important;
}
#personal #personalTopShell > .personal-subdept-tabs .personal-subdept-tab{
  flex:0 1 180px!important;
  min-width:120px!important;
  max-width:220px!important;
  height:40px!important;
  border-radius:999px!important;
  white-space:nowrap!important;
}
#personal #personalTopShell > .personal-subdept-tabs:not(.is-medicine):not(.is-surgery),
#personal #personalTopShell > .personal-subdept-tabs:empty,
#personal #personalTopShell > .personal-subdept-tabs[style*="display: none"]{
  display:none!important;
  height:0!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  margin:0!important;
  overflow:hidden!important;
  background:transparent!important;
  box-shadow:none!important;
}
#personal #personalTopShell > .personal-subdept-tabs::before,
#personal #personalTopShell > .personal-subdept-tabs::after{
  display:none!important;
  content:none!important;
}
@media (max-width:760px){
  #personal #personalTopShell.personal-top-shell{gap:9px!important;padding:10px!important;overflow:hidden!important;}
  #personal #personalTopShell > .personal-head{order:1!important;}
  #personal #personalTopShell > .personal-subject-tabs{order:2!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:5px!important;padding:8px!important;}
  #personal #personalTopShell > .personal-subdept-tabs.is-medicine,
  #personal #personalTopShell > .personal-subdept-tabs.is-surgery{order:3!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;padding:8px!important;overflow:hidden!important;}
  #personal #personalTopShell > .personal-subdept-tabs .personal-subdept-tab{width:100%!important;min-width:0!important;max-width:none!important;flex:none!important;height:36px!important;font-size:12px!important;padding:0 6px!important;}
  #personal #personalTopShell > .personal-utility-tabs{order:4!important;}
}

/* v151: subject-derived subdept placement + utility order fix */
#personal #personalTopShell{
  align-items:stretch!important;
}
#personal #personalTopShell > .personal-subject-tabs{
  order:2!important;
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:8px!important;
}
#personal #personalTopShell > .personal-subdept-tabs.is-medicine,
#personal #personalTopShell > .personal-subdept-tabs.is-surgery{
  order:3!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:6px!important;
  width:calc(20% - 6.4px)!important;
  max-width:calc(20% - 6.4px)!important;
  min-width:0!important;
  margin-top:-4px!important;
  margin-bottom:2px!important;
  padding:8px!important;
  box-sizing:border-box!important;
  transform:none!important;
  border-radius:18px!important;
  overflow:visible!important;
}
#personal #personalTopShell > .personal-subdept-tabs.is-medicine{margin-left:calc(60% + 4.8px)!important;}
#personal #personalTopShell > .personal-subdept-tabs.is-surgery{margin-left:calc(80% + 6.4px)!important;}
#personal #personalTopShell > .personal-subdept-tabs .personal-subdept-tab{
  width:100%!important;
  min-width:0!important;
  height:34px!important;
  padding:0 6px!important;
  font-size:12px!important;
  border-radius:14px!important;
  white-space:normal!important;
  line-height:1.08!important;
}
#personal #personalTopShell > .personal-subdept-tabs:not(.is-medicine):not(.is-surgery),
#personal #personalTopShell > .personal-subdept-tabs:empty,
#personal #personalTopShell > .personal-subdept-tabs[style*="display: none"]{
  display:none!important;
  width:0!important;
  max-width:0!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
  overflow:hidden!important;
}
#personal #personalTopShell > .personal-utility-tabs{
  order:4!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  align-items:center!important;
}
#personal #personalTopShell > .personal-utility-tabs .personal-mail-alert-tab,
#personal #personalTopShell > .personal-utility-tabs .personal-attendance-tab,
#personal #personalTopShell > .personal-utility-tabs .personal-calendar-tab{
  order:1!important;
}
#personal #personalTopShell > .personal-utility-tabs #personalTomorrowTab{
  order:2!important;
  flex:0 0 100%!important;
  width:max-content!important;
  max-width:100%!important;
  align-self:flex-start!important;
}
@media (max-width:760px){
  #personal #personalTopShell > .personal-subject-tabs{
    order:2!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:5px!important;
  }
  #personal #personalTopShell > .personal-subdept-tabs.is-medicine,
  #personal #personalTopShell > .personal-subdept-tabs.is-surgery{
    order:3!important;
    flex-direction:column!important;
    width:calc(20% - 4px)!important;
    max-width:calc(20% - 4px)!important;
    min-width:0!important;
    padding:6px!important;
    gap:5px!important;
    margin-top:-3px!important;
    margin-bottom:0!important;
    border-radius:16px!important;
    overflow:visible!important;
  }
  #personal #personalTopShell > .personal-subdept-tabs.is-medicine{margin-left:calc(60% + 3px)!important;}
  #personal #personalTopShell > .personal-subdept-tabs.is-surgery{margin-left:calc(80% + 4px)!important;}
  #personal #personalTopShell > .personal-subdept-tabs .personal-subdept-tab{
    height:32px!important;
    font-size:10.5px!important;
    padding:0 2px!important;
    letter-spacing:-.08em!important;
    white-space:normal!important;
    line-height:1.05!important;
  }
  #personal #personalTopShell > .personal-utility-tabs{
    order:4!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:6px!important;
  }
  #personal #personalTopShell > .personal-utility-tabs #personalTomorrowTab{
    grid-column:1 / -1!important;
    width:100%!important;
    flex:auto!important;
    justify-self:stretch!important;
  }
}

/* v152: make medicine/surgery sub buttons thin, small, and positioned under the selected department */
#personal #personalTopShell > .personal-subdept-tabs.is-medicine,
#personal #personalTopShell > .personal-subdept-tabs.is-surgery{
  order:3!important;
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:6px!important;
  width:auto!important;
  max-width:max-content!important;
  min-width:0!important;
  margin-top:-6px!important;
  margin-bottom:2px!important;
  padding:4px 6px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.72)!important;
  border:1px solid rgba(203,213,225,.7)!important;
  box-shadow:0 6px 16px rgba(15,23,42,.055)!important;
  box-sizing:border-box!important;
  transform:none!important;
  overflow:visible!important;
}
#personal #personalTopShell > .personal-subdept-tabs.is-medicine{
  margin-left:calc(60% + 6px)!important;
}
#personal #personalTopShell > .personal-subdept-tabs.is-surgery{
  margin-left:calc(80% + 6px)!important;
}
#personal #personalTopShell > .personal-subdept-tabs .personal-subdept-tab{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:54px!important;
  max-width:none!important;
  height:28px!important;
  padding:0 10px!important;
  border-radius:999px!important;
  font-size:11px!important;
  line-height:1!important;
  white-space:nowrap!important;
}
#personal #personalTopShell > .personal-subdept-tabs .personal-subdept-tab.active{
  border-width:1.5px!important;
}
@media (max-width: 760px){
  #personal #personalTopShell > .personal-subdept-tabs.is-medicine,
  #personal #personalTopShell > .personal-subdept-tabs.is-surgery{
    display:inline-flex!important;
    flex-direction:row!important;
    width:auto!important;
    max-width:calc(100% - 20px)!important;
    padding:4px 6px!important;
    gap:5px!important;
    overflow-x:auto!important;
    margin-top:-4px!important;
  }
  #personal #personalTopShell > .personal-subdept-tabs.is-medicine{
    margin-left:calc(60% + 2px)!important;
  }
  #personal #personalTopShell > .personal-subdept-tabs.is-surgery{
    margin-left:calc(80% + 2px)!important;
  }
  #personal #personalTopShell > .personal-subdept-tabs .personal-subdept-tab{
    width:auto!important;
    min-width:48px!important;
    height:26px!important;
    padding:0 8px!important;
    font-size:10.5px!important;
  }
}
@media (max-width: 480px){
  #personal #personalTopShell > .personal-subdept-tabs.is-medicine,
  #personal #personalTopShell > .personal-subdept-tabs.is-surgery{
    margin-left:0!important;
    justify-self:start!important;
    align-self:start!important;
  }
}

/* v153: slightly larger medicine/surgery sub buttons and keep them directly under the active subject button */
#personal #personalTopShell.personal-top-shell{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  align-items:start!important;
  gap:10px!important;
  overflow:visible!important;
}
#personal #personalTopShell > .personal-head,
#personal #personalTopShell > .personal-subject-tabs,
#personal #personalTopShell > .personal-utility-tabs{
  grid-column:1 / -1!important;
}
#personal #personalTopShell > .personal-subject-tabs{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:8px!important;
}
#personal #personalTopShell > .personal-subdept-tabs.is-medicine,
#personal #personalTopShell > .personal-subdept-tabs.is-surgery{
  order:initial!important;
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  justify-self:center!important;
  width:auto!important;
  max-width:100%!important;
  min-width:0!important;
  margin: -6px 0 0 0!important;
  padding:5px 7px!important;
  gap:6px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.82)!important;
  border:1px solid rgba(203,213,225,.82)!important;
  box-shadow:0 8px 18px rgba(15,23,42,.06)!important;
  overflow:visible!important;
  transform:none!important;
}
#personal #personalTopShell > .personal-subdept-tabs.is-medicine{grid-column:4 / 5!important;}
#personal #personalTopShell > .personal-subdept-tabs.is-surgery{grid-column:5 / 6!important;}
#personal #personalTopShell > .personal-subdept-tabs .personal-subdept-tab{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:62px!important;
  height:30px!important;
  padding:0 11px!important;
  font-size:11.5px!important;
  line-height:1!important;
  letter-spacing:-.02em!important;
  white-space:nowrap!important;
  border-radius:999px!important;
}
#personal #personalTopShell > .personal-subdept-tabs:not(.is-medicine):not(.is-surgery),
#personal #personalTopShell > .personal-subdept-tabs:empty,
#personal #personalTopShell > .personal-subdept-tabs[style*="display: none"]{
  display:none!important;
}
@media (max-width:760px){
  #personal #personalTopShell.personal-top-shell{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:8px!important;
    overflow:visible!important;
  }
  #personal #personalTopShell > .personal-head,
  #personal #personalTopShell > .personal-subject-tabs,
  #personal #personalTopShell > .personal-utility-tabs{
    grid-column:1 / -1!important;
    width:100%!important;
    max-width:100%!important;
  }
  #personal #personalTopShell > .personal-subject-tabs{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:5px!important;
  }
  #personal #personalTopShell > .personal-subdept-tabs.is-medicine,
  #personal #personalTopShell > .personal-subdept-tabs.is-surgery{
    order:initial!important;
    display:inline-flex!important;
    flex-direction:row!important;
    justify-self:center!important;
    align-self:start!important;
    width:auto!important;
    max-width:calc(100vw - 28px)!important;
    min-width:0!important;
    margin:-5px 0 0 0!important;
    padding:5px 6px!important;
    gap:5px!important;
    overflow:visible!important;
  }
  #personal #personalTopShell > .personal-subdept-tabs.is-medicine{grid-column:4 / 5!important;}
  #personal #personalTopShell > .personal-subdept-tabs.is-surgery{grid-column:5 / 6!important;}
  #personal #personalTopShell > .personal-subdept-tabs .personal-subdept-tab{
    min-width:56px!important;
    height:30px!important;
    padding:0 9px!important;
    font-size:11px!important;
    letter-spacing:-.04em!important;
    white-space:nowrap!important;
  }
}
@media (max-width:380px){
  #personal #personalTopShell > .personal-subdept-tabs.is-medicine{grid-column:3 / 5!important;justify-self:end!important;}
  #personal #personalTopShell > .personal-subdept-tabs.is-surgery{grid-column:4 / 6!important;justify-self:end!important;}
  #personal #personalTopShell > .personal-subdept-tabs .personal-subdept-tab{min-width:52px!important;padding:0 7px!important;font-size:10.5px!important;}
}

/* v154: keep medicine/surgery sub buttons BELOW their parent subject button, not above it */
#personal #personalTopShell.personal-top-shell{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  align-items:start!important;
  row-gap:8px!important;
  column-gap:8px!important;
  overflow:visible!important;
}
#personal #personalTopShell > .personal-subject-tabs{
  grid-column:1 / -1!important;
  order:2!important;
}
#personal #personalTopShell > .personal-subdept-tabs.is-medicine,
#personal #personalTopShell > .personal-subdept-tabs.is-surgery{
  order:3!important;
  margin:0!important;
  margin-top:0!important;
  transform:none!important;
  align-self:start!important;
  justify-self:center!important;
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  width:max-content!important;
  max-width:100%!important;
  min-width:0!important;
  padding:6px 8px!important;
  gap:6px!important;
  border-radius:999px!important;
}
#personal #personalTopShell > .personal-subdept-tabs.is-medicine{grid-column:4 / 5!important;}
#personal #personalTopShell > .personal-subdept-tabs.is-surgery{grid-column:5 / 6!important;}
#personal #personalTopShell > .personal-subdept-tabs .personal-subdept-tab{
  min-width:64px!important;
  height:32px!important;
  padding:0 12px!important;
  font-size:11.5px!important;
  white-space:nowrap!important;
}
#personal #personalTopShell > .personal-utility-tabs{grid-column:1 / -1!important;order:4!important;}
@media (max-width:760px){
  #personal #personalTopShell.personal-top-shell{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    row-gap:7px!important;
    column-gap:5px!important;
  }
  #personal #personalTopShell > .personal-subdept-tabs.is-medicine,
  #personal #personalTopShell > .personal-subdept-tabs.is-surgery{
    margin:0!important;
    margin-top:0!important;
    padding:5px 7px!important;
    gap:5px!important;
    max-width:calc(100vw - 34px)!important;
    overflow:visible!important;
  }
  #personal #personalTopShell > .personal-subdept-tabs.is-medicine{
    grid-column:4 / 5!important;
    justify-self:center!important;
  }
  #personal #personalTopShell > .personal-subdept-tabs.is-surgery{
    grid-column:5 / 6!important;
    justify-self:center!important;
  }
  #personal #personalTopShell > .personal-subdept-tabs .personal-subdept-tab{
    min-width:58px!important;
    height:31px!important;
    padding:0 9px!important;
    font-size:10.8px!important;
    letter-spacing:-.03em!important;
  }
}
@media (max-width:380px){
  #personal #personalTopShell > .personal-subdept-tabs.is-medicine{
    grid-column:4 / 5!important;
    justify-self:center!important;
  }
  #personal #personalTopShell > .personal-subdept-tabs.is-surgery{
    grid-column:5 / 6!important;
    justify-self:center!important;
  }
  #personal #personalTopShell > .personal-subdept-tabs .personal-subdept-tab{
    min-width:54px!important;
    height:30px!important;
    padding:0 7px!important;
    font-size:10.4px!important;
  }
}

/* v155: sub-department buttons should appear in a thin row BELOW the medicine/surgery tab.
   The combined width of the two sub buttons matches one subject tab width on PC and mobile. */
#personal #personalTopShell.personal-top-shell{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:10px!important;
  overflow:visible!important;
}
#personal #personalTopShell > .personal-head{order:1!important;width:100%!important;}
#personal #personalTopShell > .personal-subject-tabs{
  order:2!important;
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:8px!important;
}
#personal #personalTopShell > .personal-subdept-tabs.is-medicine,
#personal #personalTopShell > .personal-subdept-tabs.is-surgery{
  order:3!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  width:calc((100% - 32px) / 5)!important;
  max-width:calc((100% - 32px) / 5)!important;
  min-width:0!important;
  margin-top:-4px!important;
  margin-bottom:0!important;
  padding:4px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.78)!important;
  border:1px solid rgba(203,213,225,.76)!important;
  box-shadow:0 6px 15px rgba(15,23,42,.045)!important;
  transform:none!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
#personal #personalTopShell > .personal-subdept-tabs.is-medicine{
  margin-left:calc(((100% - 32px) / 5) * 3 + 24px)!important;
}
#personal #personalTopShell > .personal-subdept-tabs.is-surgery{
  margin-left:calc(((100% - 32px) / 5) * 4 + 32px)!important;
}
#personal #personalTopShell > .personal-subdept-tabs .personal-subdept-tab{
  flex:1 1 0!important;
  width:50%!important;
  min-width:0!important;
  max-width:none!important;
  height:30px!important;
  padding:0 4px!important;
  border-radius:999px!important;
  font-size:11px!important;
  line-height:1!important;
  letter-spacing:-.04em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
}
#personal #personalTopShell > .personal-subdept-tabs:not(.is-medicine):not(.is-surgery),
#personal #personalTopShell > .personal-subdept-tabs:empty,
#personal #personalTopShell > .personal-subdept-tabs[style*="display: none"]{
  display:none!important;
  height:0!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
  overflow:hidden!important;
}
#personal #personalTopShell > .personal-subdept-tabs::before,
#personal #personalTopShell > .personal-subdept-tabs::after{display:none!important;content:none!important;}
#personal #personalTopShell > .personal-utility-tabs{order:4!important;width:100%!important;}

@media (max-width:760px){
  #personal #personalTopShell.personal-top-shell{gap:8px!important;padding:10px!important;overflow:visible!important;}
  #personal #personalTopShell > .personal-subject-tabs{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:5px!important;
  }
  #personal #personalTopShell > .personal-subdept-tabs.is-medicine,
  #personal #personalTopShell > .personal-subdept-tabs.is-surgery{
    width:calc((100% - 20px) / 5)!important;
    max-width:calc((100% - 20px) / 5)!important;
    padding:3px!important;
    gap:3px!important;
    margin-top:-3px!important;
    overflow:hidden!important;
  }
  #personal #personalTopShell > .personal-subdept-tabs.is-medicine{
    margin-left:calc(((100% - 20px) / 5) * 3 + 15px)!important;
  }
  #personal #personalTopShell > .personal-subdept-tabs.is-surgery{
    margin-left:calc(((100% - 20px) / 5) * 4 + 20px)!important;
  }
  #personal #personalTopShell > .personal-subdept-tabs .personal-subdept-tab{
    height:28px!important;
    padding:0 2px!important;
    font-size:10px!important;
    letter-spacing:-.08em!important;
  }
}

/* v156: PC personal total card group containment fix
   Keep total groups full-width, then lay cards inside the group so they never spill outside. */
@media (min-width:721px){
  #personal #personalCardList.personal-card-list{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin-top:12px!important;
  }
  #personal #personalCardList .personal-card-group{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
    padding:18px!important;
    margin:0 0 18px!important;
  }
  #personal #personalCardList .personal-patient-cards{
    display:grid!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:18px!important;
    align-items:stretch!important;
    justify-items:stretch!important;
  }
  #personal #personalCardList .personal-patient-card{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
  #personal #personalCardList .personal-patient-card > *{
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  #personal #personalCardList .personal-card-schedule,
  #personal #personalCardList .personal-card-visit-row,
  #personal #personalCardList .personal-card-prostho-row,
  #personal #personalCardList .personal-card-actions{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
}
@media (min-width:721px) and (max-width:1050px){
  #personal #personalCardList .personal-patient-cards{
    grid-template-columns:1fr!important;
  }
}
@media (min-width:721px){
  #personal #personalCardList .personal-patient-cards.ortho-patient-cards{
    grid-template-columns:1fr!important;
  }
}

/* v157: mobile/desktop subdept buttons: keep under medicine/surgery without forced width matching */
#personal #personalTopShell > .personal-subdept-tabs.is-medicine,
#personal #personalTopShell > .personal-subdept-tabs.is-surgery{
  order:3!important;
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  width:max-content!important;
  max-width:calc(100% - 16px)!important;
  min-width:max-content!important;
  padding:6px 8px!important;
  margin-top:-2px!important;
  margin-bottom:2px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.86)!important;
  border:1px solid rgba(203,213,225,.82)!important;
  box-shadow:0 8px 18px rgba(15,23,42,.055)!important;
  box-sizing:border-box!important;
  overflow:visible!important;
  transform:none!important;
}
#personal #personalTopShell > .personal-subdept-tabs.is-medicine{
  margin-left:calc(70% - 4px)!important;
  margin-right:0!important;
  transform:translateX(-50%)!important;
}
#personal #personalTopShell > .personal-subdept-tabs.is-surgery{
  margin-left:auto!important;
  margin-right:0!important;
  transform:none!important;
}
#personal #personalTopShell > .personal-subdept-tabs .personal-subdept-tab{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:82px!important;
  max-width:none!important;
  height:34px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:-.02em!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
@media (max-width:760px){
  #personal #personalTopShell > .personal-subdept-tabs.is-medicine,
  #personal #personalTopShell > .personal-subdept-tabs.is-surgery{
    width:max-content!important;
    max-width:calc(100vw - 28px)!important;
    min-width:max-content!important;
    padding:6px 8px!important;
    gap:7px!important;
    margin-top:-1px!important;
    overflow:visible!important;
  }
  #personal #personalTopShell > .personal-subdept-tabs.is-medicine{
    margin-left:calc(70% - 2px)!important;
    margin-right:0!important;
    transform:translateX(-50%)!important;
  }
  #personal #personalTopShell > .personal-subdept-tabs.is-surgery{
    margin-left:auto!important;
    margin-right:0!important;
    transform:none!important;
  }
  #personal #personalTopShell > .personal-subdept-tabs .personal-subdept-tab{
    min-width:72px!important;
    height:32px!important;
    padding:0 12px!important;
    font-size:11.5px!important;
    letter-spacing:-.03em!important;
    white-space:nowrap!important;
  }
}
@media (max-width:380px){
  #personal #personalTopShell > .personal-subdept-tabs.is-medicine{
    margin-left:calc(70% - 3px)!important;
    transform:translateX(-50%)!important;
  }
  #personal #personalTopShell > .personal-subdept-tabs .personal-subdept-tab{
    min-width:68px!important;
    height:31px!important;
    padding:0 10px!important;
    font-size:11px!important;
  }
}

/* v158: restore personal calendar button and neutral utility-tab states */
#personal #personalTopShell > .personal-utility-tabs,
#personal .personal-utility-tabs{
  overflow:visible!important;
}
#personal #personalTopShell > .personal-utility-tabs .personal-calendar-tab,
#personal .personal-utility-tabs .personal-calendar-tab{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  text-decoration:none!important;
}
/* Utility links are navigation links, not selected tabs: keep them neutral. */
#personal #personalTopShell > .personal-utility-tabs .personal-mail-alert-tab,
#personal #personalTopShell > .personal-utility-tabs .personal-attendance-tab,
#personal #personalTopShell > .personal-utility-tabs .personal-calendar-tab,
#personal .personal-utility-tabs .personal-mail-alert-tab,
#personal .personal-utility-tabs .personal-attendance-tab,
#personal .personal-utility-tabs .personal-calendar-tab{
  background:rgba(255,255,255,.92)!important;
  color:#475569!important;
  border:1px solid rgba(203,213,225,.9)!important;
  box-shadow:0 5px 13px rgba(15,23,42,.035)!important;
  outline:none!important;
}
#personal #personalTopShell > .personal-utility-tabs .personal-mail-alert-tab:focus,
#personal #personalTopShell > .personal-utility-tabs .personal-mail-alert-tab:focus-visible,
#personal .personal-utility-tabs .personal-mail-alert-tab:focus,
#personal .personal-utility-tabs .personal-mail-alert-tab:focus-visible{
  border-color:rgba(203,213,225,.9)!important;
  box-shadow:0 5px 13px rgba(15,23,42,.035)!important;
  outline:none!important;
}
/* OCS match button is neutral until the page is actually selected. */
#personal #personalTopShell > .personal-utility-tabs #personalTomorrowTab:not(.active),
#personal .personal-utility-tabs #personalTomorrowTab:not(.active){
  background:rgba(255,255,255,.92)!important;
  color:#475569!important;
  border:1px solid rgba(203,213,225,.9)!important;
  box-shadow:0 5px 13px rgba(15,23,42,.035)!important;
}
#personal #personalTopShell > .personal-utility-tabs #personalTomorrowTab.active,
#personal .personal-utility-tabs #personalTomorrowTab.active{
  background:linear-gradient(135deg,#dbeafe,#e0f2fe)!important;
  color:#1d4ed8!important;
  border-color:rgba(147,197,253,.95)!important;
  box-shadow:0 10px 22px rgba(59,130,246,.14)!important;
}
@media (max-width:760px){
  #personal #personalTopShell > .personal-utility-tabs,
  #personal .personal-utility-tabs{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
    overflow:visible!important;
  }
  #personal #personalTopShell > .personal-utility-tabs .personal-dept-tab,
  #personal .personal-utility-tabs .personal-dept-tab{
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    min-height:38px!important;
    padding:8px 5px!important;
    font-size:10.8px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
  }
  #personal #personalTopShell > .personal-utility-tabs #personalTomorrowTab,
  #personal .personal-utility-tabs #personalTomorrowTab{
    grid-column:1 / -1!important;
  }
}


/* v160: Gmail alert test send button */
.alert-page-actions .alert-test-send-btn{
  background:linear-gradient(135deg,#fff7ed,#ffedd5)!important;
  color:#9a3412!important;
  border:1px solid #fdba74!important;
}
.alert-page-actions .alert-test-send-btn:hover{
  background:#ffedd5!important;
  border-color:#fb923c!important;
}

/* v169: oral medicine Yeonto/Tito card controls */
.medicine-total-card .medicine-total-meta-row{display:grid;grid-template-columns:minmax(250px,.9fr) minmax(280px,1.1fr);gap:12px;align-items:stretch;margin-top:10px}
.medicine-total-card .medicine-total-meta-row .personal-card-visit-row,.medicine-total-card .medicine-total-meta-row .personal-card-clinician-row{margin:0;min-width:0}
.medicine-total-card .medicine-one-line label{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px}
.medicine-total-card .medicine-clinician-select{width:100%;min-width:0;border:1px solid rgba(90,110,135,.22);border-radius:12px;padding:9px 11px;background:rgba(255,255,255,.82);font-size:.88rem}
.medicine-report-topic-row{display:flex;align-items:flex-end;gap:9px;padding:11px 12px;margin-top:10px;border:1px solid rgba(133,116,168,.2);border-radius:14px;background:rgba(247,244,252,.72)}
.medicine-report-topic-row label{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;flex:1;min-width:0;font-size:.82rem;font-weight:700;color:#625c70}
.medicine-report-topic-input{width:100%;min-height:44px;resize:vertical;border:1px solid rgba(133,116,168,.25);border-radius:11px;padding:9px 10px;background:#fff;font:inherit;color:#2d2a33}
.medicine-report-topic-input:focus{outline:2px solid rgba(155,132,190,.18);border-color:rgba(133,116,168,.45)}
.medicine-report-topic-hint{white-space:nowrap;font-size:.72rem;color:#796f88;background:rgba(255,255,255,.75);border-radius:999px;padding:6px 8px}
@media(max-width:760px){.medicine-total-card .medicine-total-meta-row{grid-template-columns:1fr;gap:8px}.medicine-report-topic-row{align-items:center;padding:9px}.medicine-report-topic-row label{grid-template-columns:1fr;gap:5px}.medicine-report-topic-input{min-height:40px;font-size:.84rem}.medicine-total-card .medicine-one-line label{grid-template-columns:64px minmax(0,1fr)}}

/* v170: two-column orthodontic cards on desktop + unclipped oral medicine cards */
@media (min-width: 1051px){
  #personal #personalCardList .personal-patient-cards.ortho-patient-cards{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:18px!important;
  }
  #personal #personalCardList .personal-patient-cards.medicine-patient-cards{
    grid-template-columns:1fr!important;
  }
}

#personal #personalCardList .medicine-total-card{
  overflow:visible!important;
  min-width:0!important;
}
#personal #personalCardList .medicine-total-card > *{
  min-width:0!important;
  max-width:100%!important;
}
#personal #personalCardList .medicine-total-card .medicine-total-meta-row{
  width:100%!important;
  min-width:0!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
}
#personal #personalCardList .medicine-total-card .personal-card-schedule,
#personal #personalCardList .medicine-total-card .personal-card-visit-row,
#personal #personalCardList .medicine-total-card .personal-card-clinician-row,
#personal #personalCardList .medicine-total-card .medicine-report-topic-row{
  min-width:0!important;
  max-width:100%!important;
  overflow:visible!important;
}
#personal #personalCardList .medicine-total-card input,
#personal #personalCardList .medicine-total-card select,
#personal #personalCardList .medicine-total-card textarea{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
#personal #personalCardList .medicine-report-topic-row{
  flex-wrap:wrap!important;
}
#personal #personalCardList .medicine-report-topic-row label{
  flex:1 1 360px!important;
}
#personal #personalCardList .medicine-report-topic-hint{
  flex:0 0 auto!important;
}

@media (max-width:1050px){
  #personal #personalCardList .personal-patient-cards.ortho-patient-cards,
  #personal #personalCardList .personal-patient-cards.medicine-patient-cards{
    grid-template-columns:1fr!important;
  }
  #personal #personalCardList .medicine-total-card .medicine-total-meta-row{
    grid-template-columns:1fr!important;
  }
}

/* v172: stable oral-medicine/surgery subdepartment tabs */
#personal #personalTopShell > .personal-subdept-tabs.is-medicine,
#personal #personalTopShell > .personal-subdept-tabs.is-surgery{
  order:3!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:stretch!important;
  justify-content:stretch!important;
  gap:8px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:4px 0 0!important;
  padding:7px!important;
  transform:none!important;
  overflow:hidden!important;
  border-radius:16px!important;
  box-sizing:border-box!important;
  background:rgba(255,255,255,.82)!important;
  border:1px solid rgba(203,213,225,.72)!important;
  box-shadow:0 7px 18px rgba(15,23,42,.045)!important;
}
#personal #personalTopShell > .personal-subdept-tabs.is-medicine .personal-subdept-tab,
#personal #personalTopShell > .personal-subdept-tabs.is-surgery .personal-subdept-tab{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:38px!important;
  padding:0 10px!important;
  margin:0!important;
  border-radius:12px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  font-size:13px!important;
  line-height:1!important;
  box-sizing:border-box!important;
}
@media (max-width:760px){
  #personal #personalTopShell > .personal-subdept-tabs.is-medicine,
  #personal #personalTopShell > .personal-subdept-tabs.is-surgery{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:3px 0 0!important;
    padding:6px!important;
    gap:6px!important;
    transform:none!important;
  }
  #personal #personalTopShell > .personal-subdept-tabs.is-medicine .personal-subdept-tab,
  #personal #personalTopShell > .personal-subdept-tabs.is-surgery .personal-subdept-tab{
    min-width:0!important;
    height:36px!important;
    padding:0 8px!important;
    font-size:12px!important;
  }
}

/* v173: place medicine/surgery child tabs directly below their parent tab */
#personal #personalTopShell > .personal-subdept-tabs.is-medicine,
#personal #personalTopShell > .personal-subdept-tabs.is-surgery{
  order:3!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:7px!important;
  width:calc(20% - 6.4px)!important;
  max-width:calc(20% - 6.4px)!important;
  min-width:150px!important;
  margin-top:-6px!important;
  margin-bottom:2px!important;
  padding:8px!important;
  border:1px solid rgba(203,213,225,.82)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.9)!important;
  box-shadow:0 8px 18px rgba(15,23,42,.055)!important;
  box-sizing:border-box!important;
  transform:none!important;
  overflow:visible!important;
}
#personal #personalTopShell > .personal-subdept-tabs.is-medicine{
  margin-left:calc(60% + 4.8px)!important;
}
#personal #personalTopShell > .personal-subdept-tabs.is-surgery{
  margin-left:calc(80% + 6.4px)!important;
}
#personal #personalTopShell > .personal-subdept-tabs.is-medicine .personal-subdept-tab,
#personal #personalTopShell > .personal-subdept-tabs.is-surgery .personal-subdept-tab{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:38px!important;
  padding:0 10px!important;
  font-size:13px!important;
  font-weight:850!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  border-radius:12px!important;
  box-sizing:border-box!important;
}
@media (max-width:760px){
  #personal #personalTopShell > .personal-subdept-tabs.is-medicine,
  #personal #personalTopShell > .personal-subdept-tabs.is-surgery{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:7px!important;
    gap:7px!important;
    border-radius:15px!important;
  }
  #personal #personalTopShell > .personal-subdept-tabs.is-medicine .personal-subdept-tab,
  #personal #personalTopShell > .personal-subdept-tabs.is-surgery .personal-subdept-tab{
    height:38px!important;
    font-size:13px!important;
    padding:0 8px!important;
    white-space:nowrap!important;
  }
}

/* v174: medicine/surgery child tabs in one horizontal row */
#personal #personalTopShell > .personal-subdept-tabs.is-medicine,
#personal #personalTopShell > .personal-subdept-tabs.is-surgery{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  width:calc(40% - 8px)!important;
  max-width:calc(40% - 8px)!important;
  min-width:300px!important;
  gap:8px!important;
  padding:8px!important;
}
#personal #personalTopShell > .personal-subdept-tabs.is-medicine{
  margin-left:calc(60% + 4px)!important;
}
#personal #personalTopShell > .personal-subdept-tabs.is-surgery{
  margin-left:calc(60% + 4px)!important;
}
#personal #personalTopShell > .personal-subdept-tabs.is-medicine .personal-subdept-tab,
#personal #personalTopShell > .personal-subdept-tabs.is-surgery .personal-subdept-tab{
  width:100%!important;
  min-width:0!important;
  height:40px!important;
  font-size:13px!important;
  padding:0 10px!important;
  white-space:nowrap!important;
}
@media (max-width:760px){
  #personal #personalTopShell > .personal-subdept-tabs.is-medicine,
  #personal #personalTopShell > .personal-subdept-tabs.is-surgery{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
  }
}

/* v177 surgery schedule and minor management */
.feature-page-panel{display:grid;gap:16px}
.surgery-category-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:12px;border:1px solid rgba(111,124,146,.18);border-radius:18px;background:rgba(255,255,255,.72)}
.surgery-category-tab{min-height:48px;border:1px solid rgba(111,124,146,.22);background:rgba(244,246,249,.86);color:#667085;border-radius:14px;font-weight:800}
.surgery-category-tab.active{background:#f3e8ff;color:#6d3ba5;border-color:#cdb4e9;box-shadow:0 5px 16px rgba(109,59,165,.12)}
.surgery-category-tab.compare-tab.active{background:#e8f5ef;color:#276b51;border-color:#acd8c2}
.surgery-modebar{display:grid!important;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 12px}
.surgery-add-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}
.surgery-add-grid label,.surgery-card-row label,.minor-card-controls label{display:grid;gap:6px;font-size:.82rem;font-weight:800;color:#475467}
.surgery-add-grid button{min-height:44px}
.surgery-card-list,.minor-card-list{display:grid;grid-template-columns:repeat(2,minmax(420px,1fr));gap:15px}
.surgery-patient-card,.minor-card{min-width:0;padding:16px;border:1.5px solid rgba(92,105,128,.28);border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 8px 24px rgba(52,64,84,.08)}
.surgery-card-title,.minor-card-head{display:flex;align-items:center;gap:9px;min-width:0;margin-bottom:12px}
.surgery-card-title strong,.minor-card-head strong{font-size:1.06rem;color:#1f2937}.surgery-card-title span,.minor-card-head span{color:#667085;font-weight:700}
.surgery-card-title select{margin-left:auto;width:auto;min-width:82px}
.surgery-card-row{display:flex;align-items:end;gap:10px;margin-top:10px}.surgery-card-row label{min-width:0;flex:1}.surgery-card-row .grow{flex:1 1 100%}
.surgery-card-actions{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.autosave-label{font-size:.75rem;color:#98a2b3}.surgery-card-actions .danger{min-width:92px}
.prostho-count-bar{display:flex;gap:10px;margin-bottom:12px}.prostho-count-bar:empty{display:none}.prostho-count-bar span{padding:8px 14px;border-radius:999px;background:#f4effa;color:#65458a;font-weight:800}.prostho-count-bar b{font-size:1.05rem}
.compare-head,.minor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border:1px solid rgba(111,124,146,.18);border-radius:16px;background:rgba(255,255,255,.8)}
.surgery-compare-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}.compare-category-card{padding:15px;border:1px solid rgba(111,124,146,.2);border-radius:18px;background:#fff}.compare-category-card h3{margin:0 0 10px}
.compare-patient{display:grid;gap:4px;padding:11px 12px;margin-top:8px;border-radius:13px}.compare-patient.ok{background:#ecf8f1;color:#206a49;border:1px solid #b7dfc9}.compare-patient.warn{background:#fff1f0;color:#a23b36;border:1px solid #efc1bd}.compare-patient small{font-weight:700;opacity:.75}.compare-patient span{font-size:.82rem;font-weight:700}
.surgery-clinic-split{display:flex;gap:8px;margin:10px 0 0;padding:8px;border:1px solid rgba(111,124,146,.18);border-radius:14px;background:rgba(250,250,252,.9)}.surgery-clinic-split button{flex:1;min-height:40px;border-radius:11px;background:#f2f4f7;color:#667085;border:1px solid transparent;font-weight:800}.surgery-clinic-split button.active{background:#f2e9fb;color:#663f8d;border-color:#cbb4e2}.surgery-clinic-split b{margin-left:4px}
.minor-date-tabs{display:flex;gap:8px;overflow-x:auto}.minor-date-tabs button{white-space:nowrap;border-radius:999px;background:#f2f4f7;color:#667085}.minor-date-tabs button.active{background:#e9f1fb;color:#315f91;border-color:#b8cde5}.minor-card-list{margin-top:14px}.minor-card p{padding:10px 12px;border-radius:12px;background:#f7f8fa;color:#475467;font-size:.88rem}.minor-card-controls{display:grid;grid-template-columns:minmax(210px,1fr) auto;gap:12px;align-items:end}.participated-check{display:flex!important;align-items:center;gap:7px!important;min-height:42px;padding:0 12px;border:1px solid rgba(111,124,146,.22);border-radius:12px;background:#fafafa;white-space:nowrap}.participated-check input{width:18px;height:18px}
@media(max-width:900px){.surgery-card-list,.minor-card-list{grid-template-columns:1fr}.surgery-compare-grid{grid-template-columns:1fr}.surgery-add-grid{grid-template-columns:1fr 1fr}.surgery-category-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.surgery-category-tabs{grid-template-columns:repeat(2,minmax(0,1fr));padding:8px;gap:7px}.surgery-category-tab{min-height:43px;font-size:.78rem;padding:7px}.surgery-add-grid{grid-template-columns:1fr}.surgery-patient-card,.minor-card{padding:13px;border-radius:15px}.surgery-card-row{gap:7px}.minor-toolbar{align-items:stretch;flex-direction:column}.minor-card-controls{grid-template-columns:1fr}.surgery-clinic-split{position:sticky;top:var(--mobile-tabs-bottom,64px);z-index:19}.surgery-clinic-split button{font-size:.78rem;padding:7px}}

/* v178 surgery schedule UI refresh */
#surgerySchedule .feature-page-panel{background:transparent;border:0;box-shadow:none;padding:0}
#surgerySchedule .panel-head{padding:18px 20px;border:1px solid rgba(134,145,168,.18);border-radius:20px;background:rgba(255,255,255,.88);box-shadow:0 10px 28px rgba(31,41,55,.06);margin-bottom:12px}
#surgerySchedule .surgery-category-tabs{padding:10px;border-radius:20px;background:rgba(255,255,255,.78);box-shadow:0 8px 24px rgba(31,41,55,.05);margin-bottom:12px}
#surgerySchedule .surgery-category-tab{min-height:50px;font-size:.92rem;transition:.18s ease;background:rgba(247,247,248,.88)}
#surgerySchedule .surgery-category-tab:not(.active){color:#747b88;border-color:rgba(120,128,145,.18);box-shadow:none}
#surgerySchedule .surgery-category-tab.active{transform:translateY(-1px);box-shadow:0 8px 20px rgba(109,59,165,.12)}
#surgerySchedule .surgery-modebar{padding:8px;border:1px solid rgba(134,145,168,.16);border-radius:18px;background:rgba(255,255,255,.78);margin-bottom:12px}
#surgerySchedule .personal-big-mode-btn{min-height:48px;border-radius:14px;background:rgba(246,246,247,.88);color:#717784;border:1px solid rgba(120,128,145,.18);box-shadow:none}
#surgerySchedule .personal-big-mode-btn.active{background:#f6ecf6;color:#774a75;border-color:#d9bdd7;box-shadow:0 7px 18px rgba(119,74,117,.12)}
#surgerySchedule .personal-section-card{border:1px solid rgba(126,137,158,.22);border-radius:20px;background:rgba(255,255,255,.92);box-shadow:0 10px 28px rgba(31,41,55,.07);padding:16px}
#surgerySchedule .surgery-patient-card{border:2px solid rgba(126,137,158,.25);border-radius:18px;background:linear-gradient(180deg,#fff,#fbfbfd);box-shadow:0 10px 24px rgba(31,41,55,.08);padding:16px}
#surgerySchedule .surgery-card-title{padding-bottom:10px;border-bottom:1px solid rgba(126,137,158,.14)}
.surgery-alert-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:15px 16px;margin-bottom:12px;border:1px solid #d9d5e8;border-radius:20px;background:linear-gradient(135deg,#fffaf2,#f5f0fb);box-shadow:0 9px 24px rgba(80,66,100,.07)}
.surgery-alert-copy{display:grid;gap:4px;min-width:0}.surgery-alert-copy strong{font-size:1rem;color:#3f3b4c}.surgery-alert-copy span{font-size:.82rem;color:#777184;line-height:1.45}
.surgery-alert-toggle{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.8);border:1px solid rgba(126,111,153,.2);font-weight:800;color:#5e5670;white-space:nowrap}.surgery-alert-toggle input{width:18px;height:18px;accent-color:#88739d}
#surgeryAlertSaveBtn{min-height:40px;padding:8px 15px;border-radius:12px;background:#eadff0;color:#654f72;border:1px solid #d1bddb;font-weight:900}
#surgeryAlertStatus{grid-column:1/-1;color:#7a7385;font-size:.78rem}
.compare-category-card{box-shadow:0 8px 22px rgba(31,41,55,.06)}
.compare-item.missing{background:#fff0f0!important;border-color:#efc3c3!important;color:#a33a3a!important}
@media(max-width:700px){.surgery-alert-card{grid-template-columns:1fr auto}.surgery-alert-copy{grid-column:1/-1}.surgery-alert-toggle{justify-self:start}#surgeryAlertSaveBtn{justify-self:end}.surgery-alert-copy span{font-size:.78rem}#surgerySchedule .surgery-category-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v179: surgery schedule card-style UI and basic-only add form */
#surgerySchedule .surgery-category-tabs{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:9px!important;
  padding:9px!important;
  border:1px solid rgba(139,148,167,.18)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.72)!important;
  box-shadow:0 7px 22px rgba(57,67,86,.05)!important;
}
#surgerySchedule .surgery-category-tab{
  min-height:44px!important;
  border-radius:13px!important;
  border:1px solid rgba(130,139,158,.18)!important;
  background:rgba(247,248,250,.88)!important;
  color:#737a87!important;
  box-shadow:none!important;
  font-size:.88rem!important;
  font-weight:850!important;
  transform:none!important;
}
#surgerySchedule .surgery-category-tab:hover{
  background:#f5f1f8!important;
  color:#665b70!important;
  border-color:#ded3e5!important;
}
#surgerySchedule .surgery-category-tab.active{
  background:linear-gradient(135deg,#f8eff6,#eef7f4)!important;
  color:#5d5064!important;
  border-color:#d4c0d2!important;
  box-shadow:0 6px 15px rgba(101,82,105,.10)!important;
}
#surgerySchedule .surgery-category-tab.compare-tab.active{
  background:linear-gradient(135deg,#edf8f1,#f8f4e9)!important;
  color:#4f695a!important;
  border-color:#c7dfcf!important;
}
#surgerySchedule .surgery-modebar{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  padding:7px!important;
  margin:0 0 10px!important;
  border:1px solid rgba(139,148,167,.16)!important;
  border-radius:17px!important;
  background:rgba(255,255,255,.70)!important;
}
#surgerySchedule .personal-big-mode-btn{
  min-height:42px!important;
  padding:8px 14px!important;
  border-radius:12px!important;
  border:1px solid rgba(130,139,158,.18)!important;
  background:rgba(249,250,251,.78)!important;
  color:#7a818d!important;
  box-shadow:none!important;
  font-size:.87rem!important;
  font-weight:850!important;
}
#surgerySchedule .personal-big-mode-btn.active{
  background:linear-gradient(135deg,#fff7e8,#ebfaf5)!important;
  color:#4f5f5a!important;
  border-color:#b9dfd2!important;
  box-shadow:0 6px 15px rgba(73,124,107,.10)!important;
}
#surgerySchedule .personal-section-card{
  padding:13px!important;
  border:1px solid rgba(132,142,161,.18)!important;
  border-radius:19px!important;
  background:rgba(255,255,255,.80)!important;
  box-shadow:0 8px 24px rgba(46,56,75,.05)!important;
}
#surgerySchedule .surgery-add-copy{
  display:flex;
  align-items:baseline;
  gap:8px;
  flex-wrap:wrap;
  margin:0 0 11px;
  padding:10px 12px;
  border-radius:13px;
  background:linear-gradient(135deg,#faf6ef,#f2f8f6);
  color:#6a6e75;
  font-size:.78rem;
}
#surgerySchedule .surgery-add-copy strong{font-size:.84rem;color:#555c63}
#surgerySchedule .surgery-add-basic{
  display:grid!important;
  grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto!important;
  gap:10px!important;
  align-items:end!important;
}
#surgerySchedule .surgery-add-basic label{
  display:grid!important;
  gap:6px!important;
  color:#626b78!important;
  font-size:.79rem!important;
  font-weight:850!important;
}
#surgerySchedule .surgery-add-basic input{
  min-height:43px!important;
  border-radius:12px!important;
  border:1px solid #d7dce5!important;
  background:#fff!important;
  padding:9px 11px!important;
}
#surgerySchedule #surgeryAddBtn{
  min-width:116px!important;
  min-height:43px!important;
  border-radius:12px!important;
  border:1px solid #bcded3!important;
  background:linear-gradient(135deg,#fdf5e9,#e8faf5)!important;
  color:#4f685f!important;
  box-shadow:0 5px 14px rgba(72,125,107,.10)!important;
  font-weight:900!important;
}
#surgerySchedule .surgery-card-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(390px,1fr))!important;
  gap:15px!important;
}
#surgerySchedule .surgery-patient-card.total-style-surgery-card{
  position:relative;
  min-width:0!important;
  overflow:hidden!important;
  padding:16px!important;
  border:1.5px solid #cbd3df!important;
  border-left:5px solid #b9ead8!important;
  border-radius:19px!important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfcfd 100%)!important;
  box-shadow:0 9px 24px rgba(47,59,78,.08)!important;
}
#surgerySchedule .surgery-identity-line{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
  padding:0 0 12px!important;
  margin:0!important;
  border-bottom:1px dashed #dce1e8!important;
}
#surgerySchedule .surgery-identity-line strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:1rem!important;
  color:#202733!important;
}
#surgerySchedule .surgery-category-pill,
#surgerySchedule .surgery-patient-no{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-height:27px;
  padding:4px 9px;
  border-radius:999px;
  border:1px solid #c8d7f4;
  background:#eef4ff;
  color:#3e5f9e;
  font-size:.78rem;
  font-weight:900;
}
#surgerySchedule .surgery-patient-no{font-size:.84rem;letter-spacing:.03em}
#surgerySchedule .identity-separator{color:#9ca5b3;font-weight:800}
#surgerySchedule .surgery-schedule-line{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,.85fr) minmax(0,.8fr)!important;
  gap:9px!important;
  margin-top:12px!important;
  padding:10px!important;
  border:1px solid #d8e5f5!important;
  border-radius:15px!important;
  background:linear-gradient(135deg,#f4f8ff,#f5fcf8)!important;
}
#surgerySchedule .surgery-schedule-line:has(.surgery-type-field:only-child){grid-template-columns:1fr!important}
#surgerySchedule .surgery-field{
  display:grid!important;
  gap:4px!important;
  min-width:0!important;
  color:#6d7786!important;
  font-size:.70rem!important;
  font-weight:850!important;
}
#surgerySchedule .surgery-field input,
#surgerySchedule .surgery-field select{
  width:100%!important;
  min-width:0!important;
  min-height:38px!important;
  padding:7px 8px!important;
  border:1px solid rgba(157,171,191,.34)!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.86)!important;
  color:#263142!important;
  font-size:.80rem!important;
  font-weight:800!important;
}
#surgerySchedule .surgery-clinician-line{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:8px!important;
  margin-top:10px!important;
  padding:10px 11px!important;
  border:1px solid #cdebdc!important;
  border-radius:14px!important;
  background:#f3fcf7!important;
}
#surgerySchedule .surgery-line-label{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:4px 8px;
  border-radius:999px;
  background:#edf4ff;
  color:#4a6295;
  font-size:.72rem;
  font-weight:900;
}
#surgerySchedule .surgery-clinician-line input{
  width:100%!important;
  min-width:0!important;
  min-height:36px!important;
  padding:7px 9px!important;
  border:1px solid #d4dbe5!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#283342!important;
  font-size:.82rem!important;
  font-weight:800!important;
}
#surgerySchedule .surgery-clinician-line small{
  color:#5b9077!important;
  font-size:.69rem!important;
  font-weight:850!important;
  white-space:nowrap!important;
}
#surgerySchedule .surgery-card-actions{
  display:flex!important;
  justify-content:flex-end!important;
  margin-top:11px!important;
  padding-top:10px!important;
  border-top:1px dashed #e1e5eb!important;
}
#surgerySchedule .surgery-card-actions .ss-delete{
  width:100%!important;
  min-height:37px!important;
  border-radius:11px!important;
  border:1px solid #f1c8c8!important;
  background:#fff3f3!important;
  color:#bd4a4a!important;
  box-shadow:none!important;
  font-size:.78rem!important;
  font-weight:900!important;
}
#surgerySchedule .surgery-card-save-message{min-height:0;font-size:.72rem;color:#5c8b75;text-align:right}

@media(max-width:980px){
  #surgerySchedule .surgery-card-list{grid-template-columns:1fr!important}
}
@media(max-width:700px){
  #surgerySchedule .surgery-category-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #surgerySchedule .surgery-add-basic{grid-template-columns:1fr!important}
  #surgerySchedule #surgeryAddBtn{width:100%!important}
  #surgerySchedule .surgery-schedule-line{grid-template-columns:minmax(0,1fr) minmax(0,.9fr)!important}
  #surgerySchedule .surgery-type-field{grid-column:1/-1!important}
  #surgerySchedule .surgery-clinician-line{grid-template-columns:auto minmax(0,1fr)!important}
  #surgerySchedule .surgery-clinician-line small{grid-column:2;text-align:right}
}

/* v182: resident list controls, pastel surgery split, minor/pick management, medicine memo */
#list .resident-list-panel{padding:18px!important;background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important}
#list .resident-control-stack{padding:18px;border:1px solid rgba(126,139,165,.2);border-radius:24px;background:rgba(255,255,255,.94);box-shadow:0 12px 30px rgba(40,54,82,.07);margin-bottom:14px}
#list .resident-control-stack>.panel-head{margin:0 0 12px!important;padding:0 2px 12px!important;border-bottom:1px solid rgba(126,139,165,.15)}
#list .resident-control-stack .list-page-panel,
#list .resident-control-stack #overallListDeptPanel,
#list .resident-control-stack .list-time-panel,
#list .resident-control-stack .search-row,
#list .resident-control-stack .color-tools{margin:0!important;padding:10px 2px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
#list .resident-control-stack .list-page-panel,
#list .resident-control-stack #overallListDeptPanel,
#list .resident-control-stack .list-time-panel,
#list .resident-control-stack .search-row{border-bottom:1px solid rgba(126,139,165,.12)!important}
#list .resident-control-stack .color-tools{padding-bottom:0!important}
#list .list-time-panel{display:flex!important;gap:8px!important;align-items:center!important;flex-wrap:wrap!important}
#list .list-time-panel .time-filter-action,
#list .list-time-panel .total-filter-action{min-height:40px;padding:9px 14px;border-radius:13px;background:#f7f7f8;color:#667085;border:1px solid #e3e6eb;box-shadow:none}
#list .list-time-panel .time-filter-action.active{background:#e9f4ee;color:#276749;border-color:#b9ddc7;box-shadow:0 0 0 2px rgba(80,160,110,.08)}
#list .list-time-panel .total-filter-action.active{background:#fff0e8;color:#a04b23;border:2px solid #e8a985;box-shadow:0 4px 12px rgba(186,96,52,.1)}
#list #apptTableWrap{margin-top:0}

.surgery-clinic-split{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;margin:10px 0 0!important;padding:8px!important;border:1px solid rgba(126,139,165,.17)!important;border-radius:16px!important;background:rgba(250,250,251,.9)!important}
.surgery-clinic-split button{min-width:0!important;min-height:42px!important;border:1px solid #e0e3e8!important;border-radius:12px!important;background:#f4f4f5!important;color:#7b818c!important;box-shadow:none!important;opacity:1!important}
.surgery-clinic-split button:hover{background:#f8f5fa!important;color:#6f5d7d!important;transform:none!important}
.surgery-clinic-split button.active{background:linear-gradient(135deg,#f7eaf6,#edeafb)!important;color:#684b77!important;border-color:#cdb9d5!important;box-shadow:0 5px 14px rgba(112,80,128,.11)!important}
.surgery-clinic-split button b{font-size:.78rem;color:inherit}

.combined-management-panel{max-width:1180px;margin:0 auto}
.management-page-head{margin-bottom:12px!important}
.management-mode-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:8px;border:1px solid rgba(126,139,165,.17);border-radius:18px;background:#f8f8f9;margin-bottom:14px}
.management-mode-tabs button{min-height:46px;border:1px solid #e1e3e7;background:#f2f2f3;color:#777f8a;box-shadow:none}
.management-mode-tabs button.active{background:linear-gradient(135deg,#f8edf6,#eef1fb);color:#604f72;border-color:#cdbed8;box-shadow:0 5px 16px rgba(97,76,116,.1)}
.management-pane{display:none}.management-pane.active{display:block}
.management-action-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 16px;border:1px solid rgba(126,139,165,.17);border-radius:18px;background:rgba(255,255,255,.93);margin-bottom:12px}
.management-action-row>div:first-child{display:flex;flex-direction:column;gap:4px;min-width:0}.management-action-row strong{font-size:1rem;color:#303846}.management-action-row span{font-size:.82rem;color:#7b8493;line-height:1.45}
.management-action-row>button,.pick-generate-controls>button{background:linear-gradient(135deg,#eceaf8,#e6f4ef);color:#4f5f70;border:1px solid #cfd9d6;box-shadow:none;white-space:nowrap}
.management-toolbar{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:11px 13px!important;border:1px solid rgba(126,139,165,.17)!important;border-radius:18px!important;background:#fbfbfc!important}
.management-toolbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.management-toolbar-actions button{min-height:38px;padding:8px 11px;border-radius:11px;font-size:.78rem}
.management-toolbar-actions button.active{background:#e9f2ed;color:#347153;border-color:#bdd7c7}
.danger-soft{background:#fff5f5!important;color:#a64e5c!important;border-color:#efc6cc!important}.danger-soft:disabled{opacity:.42;cursor:not-allowed}
.minor-date-tabs{display:flex;gap:7px;overflow-x:auto;min-width:0;padding:2px}.minor-date-tabs button{white-space:nowrap;min-height:36px;padding:7px 12px;border-radius:999px;background:#f0f1f3;color:#7a818d;border:1px solid #e0e3e7;box-shadow:none}
.minor-date-tabs button.active{background:linear-gradient(135deg,#eaf5f0,#f5eaf4);color:#526b63;border-color:#bfd7cd;box-shadow:0 4px 12px rgba(74,116,99,.09)}
.pick-generate-row{align-items:flex-end}.pick-generate-controls{display:grid;grid-template-columns:minmax(135px,1fr) minmax(145px,1fr) auto;gap:8px;align-items:end;min-width:min(100%,500px)}
.pick-generate-controls label{display:grid;gap:4px;font-size:.76rem;font-weight:800;color:#626b78}.pick-generate-controls select{margin:0;min-height:40px;padding:8px 10px;border-radius:11px}
.pick-card-meta{display:flex;align-items:center;gap:8px;margin:-3px 0 9px}.pick-card-meta span,.pick-card-meta b{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.76rem}.pick-card-meta span{background:#edf5f2;color:#497061}.pick-card-meta b{background:#f4eef7;color:#71587d}
.pick-card-controls{display:grid;grid-template-columns:minmax(190px,1fr) auto;gap:10px;align-items:end}.pick-card-controls>label:first-child{display:grid;gap:5px;font-size:.78rem;font-weight:800;color:#5d6674}.pick-card-controls input,.pick-card-controls select{margin:0;min-height:40px;border-radius:11px}

.medicine-clinician-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;min-width:0;flex:1}.medicine-clinician-pair label{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;padding:6px 8px;border:1px solid rgba(97,192,151,.25);border-radius:12px;background:#f6fcf9;min-width:0}.medicine-clinician-pair label span{font-size:.7rem;font-weight:900;color:#507062;white-space:nowrap}.medicine-clinician-pair select{margin:0!important;min-width:0;width:100%;padding:7px 8px!important;border-radius:9px!important;font-size:.76rem!important}
.medicine-memo-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;padding:8px 10px;margin-top:8px;border:1px solid rgba(126,139,165,.17);border-radius:13px;background:#fafbfc}.medicine-memo-row>span{font-size:.74rem;font-weight:900;color:#606a78}.medicine-memo-row input{margin:0!important;min-height:36px!important;padding:7px 9px!important;border-radius:9px!important;font-size:.78rem!important}.medicine-memo-row small{font-size:.68rem;color:#7d8795;white-space:nowrap}

@media(max-width:700px){
 #list .resident-list-panel{padding:0!important}#list .resident-control-stack{padding:12px;border-radius:19px}
 #list .list-time-panel{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}#list .list-time-panel button{width:100%!important;padding:9px 7px!important;font-size:.74rem!important;white-space:normal!important}
 .surgery-clinic-split{position:static!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}.surgery-clinic-split button{font-size:.76rem!important;padding:7px 5px!important}
 .management-action-row{align-items:stretch;flex-direction:column}.management-action-row>button{width:100%}.management-toolbar{align-items:stretch!important;flex-direction:column!important}.management-toolbar-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.management-toolbar-actions button{width:100%;white-space:normal}
 .pick-generate-controls{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;width:100%}.pick-generate-controls>button{grid-column:1/-1;width:100%}
 .pick-card-controls{grid-template-columns:1fr}.medicine-clinician-pair{grid-template-columns:1fr}.medicine-memo-row{grid-template-columns:auto minmax(0,1fr)}.medicine-memo-row small{grid-column:2;text-align:right}
}


/* v183: resident list readability and AM/PM generation controls */
#list .resident-control-stack{
  padding:20px!important;
  border:1px solid rgba(159,171,193,.28)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,250,252,.96))!important;
  box-shadow:0 14px 34px rgba(41,55,82,.08)!important;
}
#list .resident-control-stack>.panel-head{
  align-items:center!important;
  gap:14px!important;
  padding:0 2px 15px!important;
  margin-bottom:4px!important;
}
#list .resident-control-stack>.panel-head h2{
  font-size:clamp(22px,2vw,27px)!important;
  line-height:1.2!important;
  letter-spacing:-.035em!important;
  word-break:keep-all!important;
}
#list .resident-control-stack .list-dept-head strong,
#list .resident-control-stack .select-label,
#list .resident-control-stack button{
  word-break:keep-all!important;
  overflow-wrap:normal!important;
}
#list .resident-control-stack .list-page-panel,
#list .resident-control-stack #overallListDeptPanel,
#list .resident-control-stack .list-time-panel,
#list .resident-control-stack .search-row,
#list .resident-control-stack .color-tools{
  padding:13px 4px!important;
}
#list .resident-dept-tabs{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
}
#list .resident-dept-tabs .dept-page-tab{
  min-height:42px!important;
  padding:9px 14px!important;
  border-radius:13px!important;
  font-size:.88rem!important;
  line-height:1.2!important;
  letter-spacing:-.015em!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
}
#list .dept-selector .dept-check{
  min-height:36px!important;
  padding:8px 11px!important;
  font-size:.82rem!important;
  line-height:1.2!important;
  white-space:nowrap!important;
}
#list .list-controls .select-label{
  font-size:.86rem!important;
}
#list .list-controls select{
  min-height:42px!important;
  font-size:.88rem!important;
}
#list .list-time-panel .time-filter-action,
#list .list-time-panel .total-filter-action,
#list .color-tools .color-action,
#list .color-tools .ortho-filter-action{
  min-height:40px!important;
  padding:9px 13px!important;
  font-size:.82rem!important;
  line-height:1.25!important;
  white-space:nowrap!important;
}
#list .search-row #searchInput{
  min-height:44px!important;
  padding:10px 13px!important;
  font-size:.9rem!important;
}
#list .search-row #searchBtn,
#list .search-row #resetBtn{
  min-height:44px!important;
  padding:10px 15px!important;
  font-size:.84rem!important;
  white-space:nowrap!important;
}
#list #apptTableWrap{
  border:1px solid rgba(159,171,193,.32)!important;
  border-radius:20px!important;
  box-shadow:0 12px 30px rgba(41,55,82,.07)!important;
  background:#fff!important;
}
#list #apptTableWrap.scale-70 table{
  min-width:900px!important;
  font-size:12.5px!important;
  line-height:1.42!important;
}
#list #apptTableWrap.scale-70 th{
  padding:10px 9px!important;
  font-size:12.3px!important;
  line-height:1.25!important;
  letter-spacing:-.01em!important;
}
#list #apptTableWrap.scale-70 td{
  padding:9px 8px!important;
  font-size:12.5px!important;
  line-height:1.42!important;
}
#list #apptTableWrap.scale-70 .dept-pill{
  padding:5px 8px!important;
  font-size:11.7px!important;
}
#list #apptTableWrap .treatment-cell{
  white-space:normal!important;
  word-break:keep-all!important;
  overflow-wrap:anywhere!important;
  line-height:1.42!important;
}
#list #apptTableWrap .col-time{width:78px!important}
#list #apptTableWrap .col-patient-no{width:94px!important}
#list #apptTableWrap .col-patient-name{width:90px!important}
#list #apptTableWrap .col-resident{width:88px!important}
#list #apptTableWrap .col-treatment{width:230px!important;max-width:230px!important}

.minor-generate-controls{
  display:grid;
  grid-template-columns:minmax(130px,160px) auto;
  align-items:end;
  gap:9px;
  min-width:min(100%,300px);
}
.minor-generate-controls label,
.pick-generate-controls label{
  display:grid;
  gap:5px;
  font-size:.77rem;
  font-weight:850;
  color:#626b78;
  word-break:keep-all;
}
.minor-generate-controls select,
.pick-generate-controls select{
  margin:0!important;
  min-height:42px!important;
  padding:8px 31px 8px 10px!important;
  border-radius:11px!important;
  font-size:.84rem!important;
}
.minor-generate-controls button,
.pick-generate-controls button{
  min-height:42px!important;
  padding:9px 15px!important;
  border-radius:11px!important;
}
.pick-generate-controls{
  grid-template-columns:minmax(105px,.75fr) minmax(135px,1fr) minmax(105px,.72fr) auto!important;
  min-width:min(100%,650px)!important;
}

@media(max-width:760px){
  #list .resident-control-stack{padding:13px!important;border-radius:20px!important}
  #list .resident-control-stack>.panel-head{padding-bottom:12px!important}
  #list .resident-control-stack>.panel-head h2{font-size:21px!important}
  #list .resident-dept-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
  #list .resident-dept-tabs .dept-page-tab{width:100%!important;min-width:0!important;padding:8px 5px!important;font-size:.77rem!important;white-space:normal!important;line-height:1.2!important}
  #list .list-time-panel{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  #list .list-time-panel button{font-size:.79rem!important;line-height:1.22!important;white-space:normal!important}
  #list .color-tools{overflow-x:auto!important;flex-wrap:nowrap!important;padding-bottom:10px!important}
  #list .color-tools button,#list .color-tools span{flex:0 0 auto!important;white-space:nowrap!important}
  #list #apptTableWrap.scale-70 table{min-width:790px!important;font-size:12px!important}
  #list #apptTableWrap.scale-70 th,#list #apptTableWrap.scale-70 td{font-size:12px!important;padding:8px 7px!important}
  .minor-generate-row,.pick-generate-row{align-items:stretch!important}
  .minor-generate-controls{width:100%;min-width:0;grid-template-columns:minmax(0,1fr) auto}
  .pick-generate-controls{width:100%!important;min-width:0!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .pick-generate-controls>button{grid-column:1/-1!important;width:100%!important}
}
@media(max-width:430px){
  #list .resident-dept-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #list .search-row{grid-template-columns:minmax(0,1fr) auto auto!important;gap:5px!important}
  #list .search-row #searchInput{min-width:0!important;font-size:.8rem!important;padding:9px 8px!important}
  #list .search-row #searchBtn,#list .search-row #resetBtn{padding:9px 8px!important;font-size:.75rem!important}
  .minor-generate-controls{grid-template-columns:minmax(0,1fr) minmax(88px,.6fr)}
}

/* v184: resident list hierarchy and compact control layout */
#list .resident-control-stack{
  padding:0!important;
  margin:0 0 10px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#list .resident-title-card{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  width:100%!important;
  min-height:68px!important;
  padding:15px 18px!important;
  margin:0 0 10px!important;
  border:1px solid rgba(174,188,211,.58)!important;
  border-radius:20px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(248,250,253,.97))!important;
  box-shadow:0 9px 24px rgba(52,67,96,.065)!important;
  overflow:hidden!important;
}
#list .resident-title-copy{
  display:flex!important;
  align-items:center!important;
  min-width:0!important;
  padding:2px 0!important;
}
#list .resident-title-card h2{
  position:static!important;
  z-index:auto!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  font-size:clamp(22px,2vw,27px)!important;
  line-height:1.22!important;
  letter-spacing:-.045em!important;
  word-break:keep-all!important;
  white-space:nowrap!important;
}
#list .resident-title-card .list-controls{
  display:flex!important;
  align-items:center!important;
  flex:0 0 auto!important;
  margin:0!important;
}
#list .resident-title-card .select-label{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  margin:0!important;
  font-size:.82rem!important;
  white-space:nowrap!important;
}
#list .resident-title-card .select-label select{
  width:auto!important;
  min-width:104px!important;
  min-height:38px!important;
  margin:0!important;
  padding:7px 32px 7px 11px!important;
  border-radius:11px!important;
  font-size:.82rem!important;
}
#list .resident-department-card,
#list #overallListDeptPanel{
  width:100%!important;
  margin:0 0 10px!important;
  padding:13px 15px!important;
  border:1px solid rgba(174,188,211,.5)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 8px 22px rgba(52,67,96,.05)!important;
}
#list .resident-department-card .list-dept-head,
#list #overallListDeptPanel .list-dept-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin:0 0 9px!important;
}
#list .resident-department-card .list-dept-head strong,
#list #overallListDeptPanel .list-dept-head strong{
  display:inline-flex!important;
  align-items:center!important;
  min-height:27px!important;
  padding:4px 9px!important;
  border-radius:999px!important;
  background:#f2f5fa!important;
  color:#455269!important;
  font-size:.82rem!important;
  line-height:1.1!important;
}
#list .resident-dept-tabs{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  flex-wrap:wrap!important;
  margin:0!important;
  padding:0!important;
}
#list .resident-dept-tabs .dept-page-tab{
  min-height:37px!important;
  padding:8px 12px!important;
  border-radius:12px!important;
  font-size:.8rem!important;
  line-height:1.15!important;
}
#list .resident-quick-filter-card{
  display:inline-flex!important;
  align-items:center!important;
  width:auto!important;
  max-width:100%!important;
  min-height:0!important;
  gap:6px!important;
  margin:0 0 9px!important;
  padding:5px!important;
  border:1px solid rgba(174,188,211,.48)!important;
  border-radius:15px!important;
  background:rgba(250,251,253,.98)!important;
  box-shadow:0 6px 16px rgba(52,67,96,.035)!important;
}
#list .resident-quick-filter-card .time-filter-action,
#list .resident-quick-filter-card .total-filter-action{
  min-height:34px!important;
  padding:7px 11px!important;
  border-radius:10px!important;
  font-size:.77rem!important;
  line-height:1.15!important;
}
#list .resident-search-card{
  display:grid!important;
  grid-template-columns:minmax(220px,1fr) auto auto!important;
  align-items:center!important;
  gap:7px!important;
  width:100%!important;
  min-height:0!important;
  margin:0 0 8px!important;
  padding:7px!important;
  border:1px solid rgba(174,188,211,.5)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.97)!important;
  box-shadow:0 7px 18px rgba(52,67,96,.045)!important;
}
#list .resident-search-card .search-help{display:none!important}
#list .resident-search-card #searchInput{
  min-height:38px!important;
  height:38px!important;
  margin:0!important;
  padding:8px 11px!important;
  border-radius:11px!important;
  font-size:.83rem!important;
}
#list .resident-search-card #searchBtn,
#list .resident-search-card #resetBtn{
  min-height:38px!important;
  height:38px!important;
  margin:0!important;
  padding:7px 13px!important;
  border-radius:11px!important;
  font-size:.78rem!important;
}
#list .resident-control-stack .color-tools{
  margin:0 0 8px!important;
  padding:7px!important;
  border:1px solid rgba(174,188,211,.45)!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:none!important;
}
#list #apptTableWrap{
  margin-top:0!important;
}
@media(max-width:760px){
  #list .resident-title-card{
    min-height:0!important;
    padding:12px 13px!important;
    border-radius:17px!important;
    gap:10px!important;
  }
  #list .resident-title-card h2{font-size:20px!important}
  #list .resident-title-card .select-label{font-size:.73rem!important;gap:5px!important}
  #list .resident-title-card .select-label select{
    min-width:82px!important;
    min-height:35px!important;
    padding:6px 27px 6px 8px!important;
    font-size:.75rem!important;
  }
  #list .resident-department-card,
  #list #overallListDeptPanel{
    padding:11px!important;
    border-radius:16px!important;
  }
  #list .resident-dept-tabs{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
  }
  #list .resident-dept-tabs .dept-page-tab{
    width:100%!important;
    min-width:0!important;
    min-height:36px!important;
    padding:7px 4px!important;
    font-size:.72rem!important;
    white-space:normal!important;
  }
  #list .resident-quick-filter-card{
    display:flex!important;
    width:max-content!important;
    max-width:100%!important;
    padding:4px!important;
  }
  #list .resident-quick-filter-card button{
    width:auto!important;
    min-height:34px!important;
    padding:7px 9px!important;
    font-size:.72rem!important;
    white-space:nowrap!important;
  }
  #list .resident-search-card{
    grid-template-columns:minmax(0,1fr) auto auto!important;
    gap:5px!important;
    padding:6px!important;
    border-radius:14px!important;
  }
  #list .resident-search-card #searchInput{
    min-width:0!important;
    height:36px!important;
    min-height:36px!important;
    padding:7px 8px!important;
    font-size:.76rem!important;
  }
  #list .resident-search-card #searchBtn,
  #list .resident-search-card #resetBtn{
    height:36px!important;
    min-height:36px!important;
    padding:7px 8px!important;
    font-size:.71rem!important;
  }
}
@media(max-width:430px){
  #list .resident-title-card h2{font-size:18px!important}
  #list .resident-dept-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* v185: resident list full PC/mobile UI rebuild */
#list.page{
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
#list>.resident-list-panel{
  width:100%!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
#list .resident-control-stack{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:12px!important;
  width:100%!important;
  margin:0 0 14px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
#list .resident-title-card,
#list .resident-department-card,
#list .resident-overall-card,
#list .resident-tools-card,
#list .resident-table-card{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  border:1px solid rgba(181,194,216,.58)!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 10px 28px rgba(43,58,86,.065)!important;
}
#list .resident-title-card{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:16px!important;
  min-height:72px!important;
  padding:15px 18px!important;
  border-radius:22px!important;
  overflow:visible!important;
}
#list .resident-title-copy{
  display:block!important;
  min-width:0!important;
}
#list .resident-title-card h2{
  display:block!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  color:#172033!important;
  font-size:clamp(23px,2.15vw,29px)!important;
  font-weight:950!important;
  line-height:1.2!important;
  letter-spacing:-.045em!important;
  white-space:normal!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
}
#list .resident-title-card .list-controls{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  min-width:0!important;
  margin:0!important;
}
#list .resident-title-card .select-label{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:0!important;
  padding:5px 6px 5px 11px!important;
  border:1px solid #dbe3ef!important;
  border-radius:999px!important;
  background:#f8fafc!important;
  color:#5d687b!important;
  font-size:.79rem!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
#list .resident-title-card .select-label span{
  display:inline-block!important;
}
#list .resident-title-card .select-label select{
  width:auto!important;
  min-width:92px!important;
  height:36px!important;
  min-height:36px!important;
  margin:0!important;
  padding:6px 30px 6px 11px!important;
  border:1px solid #ced8e8!important;
  border-radius:999px!important;
  background-color:#fff!important;
  color:#263247!important;
  font-size:.79rem!important;
  font-weight:850!important;
}
#list .resident-department-card,
#list .resident-overall-card{
  padding:15px 17px!important;
  border-radius:20px!important;
}
#list .resident-department-card .list-dept-head,
#list .resident-overall-card .list-dept-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin:0 0 11px!important;
}
#list .resident-department-card .list-dept-head strong,
#list .resident-overall-card .list-dept-head strong{
  display:inline-flex!important;
  align-items:center!important;
  min-height:30px!important;
  margin:0!important;
  padding:6px 11px!important;
  border:1px solid #e2e8f1!important;
  border-radius:999px!important;
  background:#f4f7fb!important;
  color:#46536a!important;
  font-size:.82rem!important;
  font-weight:950!important;
  line-height:1.1!important;
  white-space:nowrap!important;
}
#list .resident-overall-card .list-dept-head span{
  display:block!important;
  margin-top:5px!important;
  color:#7a8598!important;
  font-size:.72rem!important;
  line-height:1.35!important;
}
#list .resident-overall-card .toolbar-actions{
  display:flex!important;
  gap:6px!important;
  flex-wrap:nowrap!important;
}
#list .resident-overall-card .toolbar-actions button{
  min-height:34px!important;
  padding:7px 10px!important;
  border-radius:10px!important;
  font-size:.72rem!important;
  white-space:nowrap!important;
}
#list .resident-dept-tabs{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  flex-wrap:wrap!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
#list .resident-dept-tabs .dept-page-tab{
  flex:0 0 auto!important;
  min-width:0!important;
  min-height:39px!important;
  margin:0!important;
  padding:8px 13px!important;
  border:1px solid #dce4ef!important;
  border-radius:13px!important;
  background:#f8fafc!important;
  color:#727d8f!important;
  box-shadow:none!important;
  font-size:.79rem!important;
  font-weight:900!important;
  line-height:1.16!important;
  letter-spacing:-.015em!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
}
#list .resident-dept-tabs .dept-page-tab:hover{
  transform:none!important;
  border-color:#b9c8dc!important;
  background:#fff!important;
  color:#3e4a5d!important;
  box-shadow:0 5px 14px rgba(48,65,96,.08)!important;
}
#list .resident-dept-tabs .dept-page-tab.active{
  border-color:#b8d7ca!important;
  background:linear-gradient(135deg,#e9f6ef,#f1f8f5)!important;
  color:#27634d!important;
  box-shadow:0 6px 16px rgba(73,137,105,.12)!important;
}
#list .resident-dept-tabs .dept-page-tab.all-tab{
  border-color:#d9dfea!important;
  background:#f7f8fb!important;
  color:#687386!important;
}
#list .resident-dept-tabs .dept-page-tab.all-tab.active{
  border-color:#c8c3e6!important;
  background:linear-gradient(135deg,#f0eefb,#f7f5fc)!important;
  color:#5c5688!important;
}
#list .resident-tools-card{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:9px!important;
  padding:11px!important;
  border-radius:20px!important;
}
#list .resident-quick-filter-card{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#list .resident-quick-filter-card .time-filter-action,
#list .resident-quick-filter-card .total-filter-action{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-height:37px!important;
  margin:0!important;
  padding:8px 12px!important;
  border:1px solid #dde4ee!important;
  border-radius:12px!important;
  background:#f8fafc!important;
  color:#687487!important;
  box-shadow:none!important;
  font-size:.76rem!important;
  font-weight:900!important;
  line-height:1.16!important;
  white-space:nowrap!important;
}
#list .resident-quick-filter-card .time-filter-action[aria-pressed="true"],
#list .resident-quick-filter-card .time-filter-action.active{
  border-color:#b8d7ca!important;
  background:#eaf7f0!important;
  color:#28634d!important;
  box-shadow:0 0 0 2px rgba(78,147,111,.07)!important;
}
#list .resident-quick-filter-card .total-filter-action[aria-pressed="true"],
#list .resident-quick-filter-card .total-filter-action.active{
  border:2px solid #e1a988!important;
  background:#fff3eb!important;
  color:#9a4d29!important;
  box-shadow:0 0 0 2px rgba(203,116,72,.07)!important;
}
#list .resident-search-card{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto!important;
  align-items:center!important;
  gap:7px!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#list .resident-search-card .search-help{display:none!important}
#list .resident-search-card #searchInput{
  width:100%!important;
  min-width:0!important;
  height:39px!important;
  min-height:39px!important;
  margin:0!important;
  padding:8px 12px!important;
  border:1px solid #dbe3ee!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#263247!important;
  font-size:.82rem!important;
  font-weight:750!important;
}
#list .resident-search-card #searchBtn,
#list .resident-search-card #resetBtn{
  min-width:62px!important;
  height:39px!important;
  min-height:39px!important;
  margin:0!important;
  padding:8px 12px!important;
  border-radius:12px!important;
  font-size:.76rem!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
#list .resident-search-card #searchBtn{
  border:1px solid #b8d7ca!important;
  background:#eaf7f0!important;
  color:#28634d!important;
  box-shadow:none!important;
}
#list .resident-search-card #resetBtn{
  border:1px solid #dce3ed!important;
  background:#f6f8fb!important;
  color:#667286!important;
}
#list .resident-control-stack .color-tools{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  flex-wrap:wrap!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:8px!important;
  border:1px dashed #dce4ee!important;
  border-radius:13px!important;
  background:#fafbfd!important;
  box-shadow:none!important;
}
#list .resident-control-stack .color-tools-title{
  flex:0 0 auto!important;
  margin:0 2px 0 0!important;
  color:#697588!important;
  font-size:.71rem!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
#list .resident-control-stack .color-tools button,
#list .resident-control-stack .color-tools .conservative-count-badge{
  flex:0 0 auto!important;
  min-height:32px!important;
  margin:0!important;
  padding:6px 9px!important;
  border-radius:10px!important;
  font-size:.69rem!important;
  line-height:1.15!important;
  white-space:nowrap!important;
}
#list .resident-table-card{
  max-height:680px!important;
  overflow:auto!important;
  border-radius:20px!important;
  background:#fff!important;
  scrollbar-gutter:stable!important;
}
#list .resident-table-card #apptTable{
  width:100%!important;
  min-width:790px!important;
  table-layout:fixed!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  font-size:9.8px!important;
  line-height:1.25!important;
}
#list .resident-table-card.scale-70 #apptTable{
  font-size:9.8px!important;
}
#list .resident-table-card #apptTable thead th{
  position:sticky!important;
  top:0!important;
  z-index:5!important;
  padding:6px 5px!important;
  border-bottom:1px solid #dfe6ef!important;
  background:#f4f7fb!important;
  color:#465267!important;
  font-size:9.7px!important;
  font-weight:950!important;
  line-height:1.18!important;
  white-space:nowrap!important;
}
#list .resident-table-card #apptTable tbody td{
  padding:5px 4px!important;
  border-bottom:1px solid #edf1f6!important;
  color:#303b4e!important;
  font-size:9.8px!important;
  line-height:1.28!important;
  vertical-align:middle!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#list .resident-table-card #apptTable tbody tr:nth-child(even){background:#fbfcfe!important}
#list .resident-table-card #apptTable tbody tr:hover{background:#f3f8f6!important}
#list .resident-table-card #apptTable .treatment-cell{
  width:210px!important;
  max-width:210px!important;
  white-space:normal!important;
  word-break:keep-all!important;
  overflow-wrap:anywhere!important;
  text-overflow:clip!important;
  line-height:1.3!important;
}
#list .resident-table-card #apptTable .col-dept{width:69px!important}
#list .resident-table-card #apptTable .col-time{width:58px!important}
#list .resident-table-card #apptTable .col-patient-no{width:76px!important}
#list .resident-table-card #apptTable .col-patient-name{width:72px!important}
#list .resident-table-card #apptTable .col-resident{width:72px!important}
#list .resident-table-card #apptTable .col-treatment{width:210px!important;max-width:210px!important}
#list .resident-table-card #apptTable .col-conservative{width:72px!important}
#list .resident-table-card #apptTable .dept-pill{
  padding:3px 6px!important;
  border-radius:999px!important;
  font-size:9px!important;
  line-height:1.15!important;
}

@media (max-width:900px){
  #list .resident-title-card{
    min-height:66px!important;
    padding:13px 15px!important;
  }
  #list .resident-title-card h2{font-size:22px!important}
  #list .resident-dept-tabs{
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    overscroll-behavior-inline:contain!important;
    scrollbar-width:thin!important;
    padding-bottom:3px!important;
  }
  #list .resident-dept-tabs .dept-page-tab{
    min-height:37px!important;
    padding:8px 11px!important;
    font-size:.75rem!important;
  }
  #list .resident-table-card #apptTable{
    min-width:760px!important;
  }
}

@media (max-width:620px){
  #list .resident-control-stack{gap:9px!important;margin-bottom:10px!important}
  #list .resident-title-card{
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
    min-height:58px!important;
    padding:10px 11px!important;
    border-radius:17px!important;
  }
  #list .resident-title-card h2{
    font-size:18px!important;
    line-height:1.18!important;
    letter-spacing:-.04em!important;
  }
  #list .resident-title-card .select-label{
    gap:4px!important;
    padding:3px 4px 3px 8px!important;
    font-size:.66rem!important;
  }
  #list .resident-title-card .select-label select{
    min-width:70px!important;
    height:32px!important;
    min-height:32px!important;
    padding:5px 23px 5px 8px!important;
    font-size:.69rem!important;
  }
  #list .resident-department-card,
  #list .resident-overall-card,
  #list .resident-tools-card{
    padding:9px!important;
    border-radius:16px!important;
  }
  #list .resident-department-card .list-dept-head,
  #list .resident-overall-card .list-dept-head{
    margin-bottom:8px!important;
  }
  #list .resident-department-card .list-dept-head strong,
  #list .resident-overall-card .list-dept-head strong{
    min-height:27px!important;
    padding:5px 9px!important;
    font-size:.72rem!important;
  }
  #list .resident-dept-tabs{
    gap:6px!important;
    width:calc(100% + 2px)!important;
  }
  #list .resident-dept-tabs .dept-page-tab{
    min-height:35px!important;
    padding:7px 10px!important;
    border-radius:11px!important;
    font-size:.7rem!important;
  }
  #list .resident-tools-card{gap:7px!important}
  #list .resident-quick-filter-card{
    gap:5px!important;
    overflow-x:auto!important;
    padding-bottom:1px!important;
  }
  #list .resident-quick-filter-card .time-filter-action,
  #list .resident-quick-filter-card .total-filter-action{
    flex:0 0 auto!important;
    min-height:34px!important;
    padding:7px 9px!important;
    border-radius:10px!important;
    font-size:.69rem!important;
  }
  #list .resident-search-card{
    grid-template-columns:minmax(0,1fr) 50px 50px!important;
    gap:5px!important;
  }
  #list .resident-search-card #searchInput{
    height:35px!important;
    min-height:35px!important;
    padding:7px 8px!important;
    font-size:.72rem!important;
  }
  #list .resident-search-card #searchBtn,
  #list .resident-search-card #resetBtn{
    min-width:0!important;
    width:50px!important;
    height:35px!important;
    min-height:35px!important;
    padding:6px 4px!important;
    font-size:.67rem!important;
  }
  #list .resident-control-stack .color-tools{
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    padding:6px!important;
  }
  #list .resident-control-stack .color-tools button,
  #list .resident-control-stack .color-tools .conservative-count-badge{
    min-height:30px!important;
    padding:6px 8px!important;
    font-size:.65rem!important;
  }
  #list .resident-table-card{
    max-height:620px!important;
    border-radius:16px!important;
  }
  #list .resident-table-card #apptTable{
    min-width:700px!important;
    font-size:9.3px!important;
  }
  #list .resident-table-card #apptTable thead th{
    padding:5px 4px!important;
    font-size:9.1px!important;
  }
  #list .resident-table-card #apptTable tbody td{
    padding:4px 3px!important;
    font-size:9.3px!important;
  }
  #list .resident-table-card #apptTable .treatment-cell,
  #list .resident-table-card #apptTable .col-treatment{
    width:180px!important;
    max-width:180px!important;
  }
}

@media (max-width:390px){
  #list .resident-title-card h2{font-size:16.5px!important}
  #list .resident-title-card .select-label>span{display:none!important}
  #list .resident-title-card .select-label{padding-left:4px!important}
  #list .resident-search-card{grid-template-columns:minmax(0,1fr) 46px 46px!important}
  #list .resident-search-card #searchBtn,
  #list .resident-search-card #resetBtn{width:46px!important;font-size:.63rem!important}
}

/* v186: mobile department overview, conditional total exclusion, empty-tool cleanup */
#list [hidden]{display:none!important}

/* Keep the department selector as its own clearly separated card. */
#list .resident-department-card{
  display:block!important;
  padding:13px 14px 14px!important;
  border:1px solid #dce5ef!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfcfe 100%)!important;
  box-shadow:0 6px 16px rgba(50,67,94,.045)!important;
}
#list .resident-department-card .list-dept-head{
  display:flex!important;
  align-items:center!important;
  min-height:28px!important;
  margin:0 0 9px!important;
  padding:0!important;
}
#list .resident-department-card .list-dept-head strong{
  display:inline-flex!important;
  align-items:center!important;
  min-height:28px!important;
  margin:0!important;
  padding:5px 10px!important;
  border:1px solid #dce5ef!important;
  border-radius:999px!important;
  background:#f7f9fc!important;
  color:#48566b!important;
  font-size:.76rem!important;
  line-height:1!important;
  font-weight:900!important;
}

/* Prevent the optional filter area from leaving an empty outlined box. */
#list .resident-control-stack .color-tools[hidden],
#list .resident-control-stack .color-tools:empty{
  display:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  min-height:0!important;
}
#list .resident-tools-card{
  align-content:start!important;
}
#list .resident-quick-filter-card{
  min-height:0!important;
}
#list .resident-quick-filter-card .total-filter-action[hidden]{display:none!important}

@media (max-width:900px){
  /* All departments are visible at once instead of horizontal scrolling. */
  #list .resident-dept-tabs{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
    width:100%!important;
    max-width:none!important;
    overflow:visible!important;
    padding:0!important;
    scrollbar-width:none!important;
  }
  #list .resident-dept-tabs::-webkit-scrollbar{display:none!important}
  #list .resident-dept-tabs .dept-page-tab{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-width:0!important;
    min-height:40px!important;
    height:auto!important;
    margin:0!important;
    padding:7px 5px!important;
    border-radius:12px!important;
    font-size:.7rem!important;
    line-height:1.18!important;
    text-align:center!important;
    white-space:normal!important;
    word-break:keep-all!important;
    overflow-wrap:anywhere!important;
  }
  #list .resident-department-card{
    padding:10px!important;
    border-radius:16px!important;
  }
  #list .resident-department-card .list-dept-head{margin-bottom:8px!important}
  #list .resident-tools-card{
    padding:8px!important;
    gap:6px!important;
  }
  #list .resident-quick-filter-card{
    overflow:visible!important;
    flex-wrap:wrap!important;
  }
}

@media (max-width:360px){
  #list .resident-dept-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* v187: personal total add/manage/read-only view split */
#personal .personal-manage-modebar{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  padding:6px!important;
  margin:12px 0 8px!important;
  border:1px solid rgba(148,163,184,.22)!important;
  border-radius:16px!important;
  background:rgba(248,250,252,.78)!important;
  box-shadow:0 8px 22px rgba(15,23,42,.04)!important;
}
#personal .personal-big-mode-btn{
  min-width:0!important;
  min-height:42px!important;
  height:42px!important;
  padding:0 10px!important;
  border:1px solid rgba(148,163,184,.24)!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.72)!important;
  color:#64748b!important;
  box-shadow:none!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  transform:none!important;
  filter:none!important;
}
#personal .personal-big-mode-btn::before,
#personal .personal-big-mode-btn::after{display:none!important}
#personal .personal-big-mode-btn:hover{
  background:rgba(255,255,255,.96)!important;
  border-color:rgba(129,140,248,.30)!important;
  color:#334155!important;
  transform:translateY(-1px)!important;
}
#personal .personal-big-mode-btn.active{
  background:linear-gradient(135deg,rgba(224,231,255,.96),rgba(236,253,245,.92))!important;
  border-color:rgba(99,102,241,.30)!important;
  color:#3730a3!important;
  box-shadow:0 7px 16px rgba(99,102,241,.10)!important;
}
#personal .personal-readonly-section{
  padding:14px!important;
  border:1px solid rgba(148,163,184,.24)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.74)!important;
  box-shadow:0 12px 30px rgba(15,23,42,.05)!important;
}
#personal .personal-readonly-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 10px;
  padding:0 2px 10px;
  border-bottom:1px solid rgba(148,163,184,.18);
}
#personal .personal-readonly-head h3{
  margin:0!important;
  color:#172033;
  font-size:16px!important;
  line-height:1.25;
}
#personal .personal-readonly-head p{
  margin:3px 0 0!important;
  color:#7b879a;
  font-size:11.5px!important;
  line-height:1.35;
}
#personal .personal-readonly-badge{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 10px;
  border:1px solid rgba(100,116,139,.18);
  border-radius:999px;
  background:#f8fafc;
  color:#64748b;
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
}
#personal .personal-readonly-list{
  display:grid;
  gap:12px;
  min-width:0;
}
#personal .personal-readonly-group{
  display:grid;
  gap:7px;
  min-width:0;
}
#personal .personal-readonly-group-head{
  display:flex;
  align-items:center;
  gap:7px;
  padding:0 3px;
  color:#64748b;
  font-size:11px;
  font-weight:800;
}
#personal .personal-readonly-group-head span{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 9px;
  border-radius:999px;
  background:#f1f5f9;
  color:#475569;
}
#personal .personal-readonly-group-head strong{color:#334155;font-size:12px}
#personal .personal-readonly-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  min-width:0;
}
#personal .personal-readonly-card{
  min-width:0;
  padding:11px;
  border:1px solid rgba(148,163,184,.28);
  border-radius:15px;
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(248,250,252,.91));
  box-shadow:0 7px 18px rgba(15,23,42,.045);
  overflow:hidden;
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
#personal .personal-readonly-card:hover{
  border-color:rgba(99,102,241,.28);
  box-shadow:0 10px 24px rgba(15,23,42,.07);
  transform:translateY(-1px);
}
#personal .personal-readonly-card.search-match{
  border:2px solid #ef4444!important;
  box-shadow:0 0 0 4px rgba(239,68,68,.11),0 12px 28px rgba(239,68,68,.12)!important;
}
#personal .personal-readonly-card-head{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  min-width:0;
  margin-bottom:9px;
}
#personal .personal-readonly-card-head .type-pill{
  max-width:82px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#personal .personal-readonly-identity{
  display:flex;
  align-items:baseline;
  gap:7px;
  min-width:0;
}
#personal .personal-readonly-identity strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#111827;
  font-size:14px;
  font-weight:900;
}
#personal .personal-readonly-identity span{
  flex:0 0 auto;
  color:#4f46e5;
  font-size:11.5px;
  font-weight:900;
  letter-spacing:.02em;
}
#personal .personal-readonly-dept{
  max-width:72px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#94a3b8;
  font-size:10.5px;
  font-weight:800;
}
#personal .personal-readonly-facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
  margin:0;
  min-width:0;
}
#personal .personal-readonly-fact{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:7px;
  min-width:0;
  min-height:34px;
  padding:7px 9px;
  border:1px solid rgba(148,163,184,.17);
  border-radius:10px;
  background:rgba(248,250,252,.82);
}
#personal .personal-readonly-fact.is-wide{
  grid-column:1/-1;
  align-items:start;
}
#personal .personal-readonly-fact dt{
  margin:0;
  color:#8491a5;
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
}
#personal .personal-readonly-fact dd{
  min-width:0;
  margin:0;
  color:#334155;
  font-size:11.5px;
  font-weight:800;
  line-height:1.35;
  text-align:right;
  overflow-wrap:anywhere;
  word-break:keep-all;
}
#personal .personal-readonly-fact.is-wide dd{text-align:left}
#personal .personal-readonly-empty{
  grid-column:1/-1;
  padding:20px 12px;
  border:1px dashed rgba(148,163,184,.35);
  border-radius:14px;
  color:#94a3b8;
  text-align:center;
  background:rgba(248,250,252,.6);
}

@media (max-width:760px){
  #personal .personal-manage-modebar{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:5px!important;
    padding:5px!important;
    margin:8px 0 5px!important;
    border-radius:14px!important;
  }
  #personal .personal-big-mode-btn{
    min-height:38px!important;
    height:38px!important;
    padding:0 4px!important;
    border-radius:10px!important;
    font-size:11.5px!important;
    letter-spacing:-.02em!important;
  }
  #personal .personal-readonly-section{
    padding:9px!important;
    border-radius:15px!important;
  }
  #personal .personal-readonly-head{margin-bottom:8px;padding-bottom:8px}
  #personal .personal-readonly-head h3{font-size:14px!important}
  #personal .personal-readonly-head p{font-size:10.5px!important}
  #personal .personal-readonly-badge{min-height:25px;padding:4px 8px;font-size:10px}
  #personal .personal-readonly-grid{grid-template-columns:1fr;gap:7px}
  #personal .personal-readonly-card{padding:9px;border-radius:13px}
  #personal .personal-readonly-card-head{grid-template-columns:auto minmax(0,1fr);gap:7px;margin-bottom:7px}
  #personal .personal-readonly-dept{display:none}
  #personal .personal-readonly-identity{gap:6px}
  #personal .personal-readonly-identity strong{font-size:13px}
  #personal .personal-readonly-identity span{font-size:10.5px}
  #personal .personal-readonly-facts{gap:5px}
  #personal .personal-readonly-fact{min-height:31px;padding:6px 7px;gap:5px;border-radius:9px}
  #personal .personal-readonly-fact dt{font-size:9.5px}
  #personal .personal-readonly-fact dd{font-size:10.5px}
}

@media (max-width:360px){
  #personal .personal-big-mode-btn{font-size:10.7px!important;padding:0 2px!important}
  #personal .personal-readonly-facts{grid-template-columns:1fr}
  #personal .personal-readonly-fact.is-wide{grid-column:auto}
}

/* v188: move pick management into the professor pick page */
#professor .professor-summary-card{
  margin:4px 0 14px;
  padding:12px 14px;
  border:1px solid rgba(133,153,184,.22);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(248,251,255,.98),rgba(252,250,253,.98));
  box-shadow:0 8px 22px rgba(41,55,82,.055);
  min-width:0;
}
#professor .professor-summary-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:0;
}
#professor .professor-summary-copy{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
  flex:1 1 auto;
}
#professor .professor-count-pill{
  flex:0 1 auto;
  max-width:100%;
  min-height:30px;
  padding:6px 9px!important;
  border:1px solid #cbdcf3;
  background:linear-gradient(135deg,#edf5ff,#f4f0fb)!important;
  color:#315f91!important;
  font-size:12px!important;
  line-height:1.15!important;
  letter-spacing:-.02em;
  white-space:nowrap!important;
  overflow:hidden;
  text-overflow:ellipsis;
}
#professor .professor-summary-copy>.small{
  min-width:0;
  font-size:12.5px;
  color:#788397;
  line-height:1.35;
}
#professor .professor-pick-open-btn{
  flex:0 0 auto;
  min-height:38px;
  padding:9px 13px;
  border:1px solid #c9d9d3;
  border-radius:12px;
  background:linear-gradient(135deg,#eef8f3,#f7eef7);
  color:#4e665d;
  font-size:12.5px;
  box-shadow:0 5px 14px rgba(70,105,92,.08);
  white-space:nowrap;
}
#professor .professor-pick-open-btn:hover,
#professor .professor-pick-open-btn.active{
  transform:none;
  border-color:#afcabf;
  background:linear-gradient(135deg,#e5f5ed,#f2e8f2);
  color:#355b4d;
  box-shadow:0 7px 18px rgba(70,105,92,.12);
}
#professor .professor-pick-manager[hidden]{display:none!important}
#professor .professor-pick-manager{
  margin-top:13px;
  padding:14px;
  border-top:1px dashed rgba(126,139,165,.25);
  border-radius:0 0 14px 14px;
  background:rgba(255,255,255,.66);
}
#professor .professor-pick-manager-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
#professor .professor-pick-manager-head>div{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}
#professor .professor-pick-manager-head strong{
  font-size:15px;
  color:#303846;
}
#professor .professor-pick-manager-head span{
  font-size:12.5px;
  color:#7b8493;
  line-height:1.45;
}
#professor .professor-pick-close-btn{
  flex:0 0 auto;
  min-height:34px;
  padding:7px 11px;
  border-radius:10px;
  font-size:12px;
  box-shadow:none;
}
#professor .professor-pick-generate-row{
  margin-bottom:10px;
  background:rgba(255,255,255,.9);
}
#professor .professor-pick-toolbar{
  margin-bottom:12px;
}
#professor .pick-card-list{
  margin-top:0;
}
#minorManage .minor-only-panel{
  max-width:1180px;
  margin:0 auto;
}

@media(max-width:760px){
  #professor .professor-summary-card{padding:11px;border-radius:16px}
  #professor .professor-summary-top{align-items:stretch;flex-direction:column;gap:9px}
  #professor .professor-summary-copy{align-items:flex-start;flex-direction:column;gap:5px}
  #professor .professor-count-pill{font-size:11.5px!important;max-width:100%}
  #professor .professor-summary-copy>.small{font-size:11.5px}
  #professor .professor-pick-open-btn{width:100%;min-height:40px}
  #professor .professor-pick-manager{padding:12px 0 2px;margin-top:11px}
  #professor .professor-pick-manager-head{padding:0 2px}
  #professor .professor-pick-manager-head span{font-size:11.5px}
  #professor .professor-pick-generate-row{padding:12px}
}
@media(max-width:430px){
  #professor .professor-pick-manager-head{align-items:stretch;flex-direction:column}
  #professor .professor-pick-close-btn{align-self:flex-end}
  #professor .pick-generate-controls{grid-template-columns:1fr!important}
  #professor .pick-generate-controls>button{grid-column:auto!important}
}

/* v189: personal total navigation bands - soft pastel separation */
#personal #personalAppArea.personal-app{
  background:transparent!important;
}
#personal #personalTopShell.personal-top-shell{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
#personal #personalTopShell > .personal-head,
#personal #personalTopShell > .personal-subject-tabs,
#personal #personalTopShell > .personal-subdept-tabs,
#personal #personalTopShell > .personal-utility-tabs,
#personal .personal-manage-modebar,
#personalPatientSearchBar.personal-patient-searchbar{
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

/* Header */
#personal #personalTopShell > .personal-head{
  order:1!important;
  padding:14px 16px!important;
  border:1px solid rgba(148,163,184,.22)!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(248,250,252,.94))!important;
  box-shadow:0 8px 22px rgba(15,23,42,.045)!important;
}

/* Department selector */
#personal #personalTopShell > .personal-subject-tabs{
  order:2!important;
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:7px!important;
  padding:9px!important;
  margin:0!important;
  border:1px solid rgba(129,140,248,.18)!important;
  border-radius:17px!important;
  background:linear-gradient(135deg,rgba(244,247,255,.98),rgba(248,250,255,.95))!important;
  box-shadow:inset 4px 0 0 rgba(129,140,248,.20),0 7px 18px rgba(99,102,241,.035)!important;
}
#personal #personalTopShell > .personal-subject-tabs .personal-dept-tab{
  min-width:0!important;
  min-height:40px!important;
  height:40px!important;
  padding:0 8px!important;
  border:1px solid rgba(148,163,184,.22)!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.82)!important;
  color:#7a8495!important;
  box-shadow:none!important;
  font-size:12.5px!important;
  font-weight:850!important;
  white-space:nowrap!important;
}
#personal #personalTopShell > .personal-subject-tabs .personal-dept-tab:hover{
  border-color:rgba(129,140,248,.30)!important;
  background:rgba(255,255,255,.98)!important;
  color:#4b5567!important;
  transform:translateY(-1px)!important;
}
#personal #personalTopShell > .personal-subject-tabs .personal-dept-tab.active{
  border-color:rgba(99,102,241,.28)!important;
  background:linear-gradient(135deg,rgba(224,231,255,.96),rgba(237,233,254,.88))!important;
  color:#4338ca!important;
  box-shadow:0 6px 14px rgba(99,102,241,.10)!important;
}

/* Medicine/surgery sub tabs */
#personal #personalTopShell > .personal-subdept-tabs.is-medicine,
#personal #personalTopShell > .personal-subdept-tabs.is-surgery{
  order:3!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px!important;
  padding:8px!important;
  margin:0!important;
  border:1px solid rgba(52,211,153,.18)!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,rgba(241,253,248,.96),rgba(248,253,250,.96))!important;
  box-shadow:inset 4px 0 0 rgba(52,211,153,.20)!important;
}
#personal #personalTopShell > .personal-subdept-tabs .personal-subdept-tab{
  min-width:0!important;
  min-height:38px!important;
  border:1px solid rgba(148,163,184,.20)!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.80)!important;
  color:#6b7280!important;
  box-shadow:none!important;
  font-size:12px!important;
  font-weight:850!important;
}
#personal #personalTopShell > .personal-subdept-tabs .personal-subdept-tab.active{
  border-color:rgba(16,185,129,.25)!important;
  background:linear-gradient(135deg,rgba(209,250,229,.90),rgba(236,253,245,.96))!important;
  color:#047857!important;
  box-shadow:0 5px 12px rgba(16,185,129,.08)!important;
}

/* Utility actions */
#personal #personalTopShell > .personal-utility-tabs{
  order:4!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:7px!important;
  padding:9px!important;
  margin:0!important;
  border:1px solid rgba(251,191,36,.18)!important;
  border-radius:17px!important;
  background:linear-gradient(135deg,rgba(255,251,235,.84),rgba(255,255,255,.94))!important;
  box-shadow:inset 4px 0 0 rgba(251,191,36,.20),0 7px 18px rgba(146,64,14,.025)!important;
}
#personal #personalTopShell > .personal-utility-tabs .personal-dept-tab{
  min-width:0!important;
  width:100%!important;
  min-height:38px!important;
  height:auto!important;
  padding:8px 7px!important;
  border:1px solid rgba(148,163,184,.22)!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.80)!important;
  color:#667085!important;
  box-shadow:none!important;
  font-size:11.5px!important;
  font-weight:800!important;
  line-height:1.2!important;
  white-space:normal!important;
  word-break:keep-all!important;
}
#personal #personalTopShell > .personal-utility-tabs .personal-dept-tab:hover{
  border-color:rgba(245,158,11,.28)!important;
  background:rgba(255,255,255,.98)!important;
  color:#475569!important;
  transform:translateY(-1px)!important;
}
#personal #personalTopShell > .personal-utility-tabs #personalTomorrowTab{
  grid-column:1 / -1!important;
}
#personal #personalTopShell > .personal-utility-tabs #personalTomorrowTab.active{
  border-color:rgba(14,165,233,.26)!important;
  background:linear-gradient(135deg,rgba(224,242,254,.94),rgba(236,254,255,.94))!important;
  color:#0369a1!important;
  box-shadow:0 5px 12px rgba(14,165,233,.08)!important;
}

/* Add/manage/view switch */
#personal .personal-manage-modebar{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:7px!important;
  padding:8px!important;
  margin:12px 0 9px!important;
  border:1px solid rgba(196,181,253,.22)!important;
  border-radius:17px!important;
  background:linear-gradient(135deg,rgba(250,245,255,.90),rgba(248,250,252,.96))!important;
  box-shadow:inset 4px 0 0 rgba(167,139,250,.18),0 7px 18px rgba(109,40,217,.025)!important;
}
#personal .personal-big-mode-btn{
  min-height:40px!important;
  height:40px!important;
  border-color:rgba(148,163,184,.20)!important;
  background:rgba(255,255,255,.78)!important;
  color:#8a94a3!important;
}
#personal .personal-big-mode-btn.active{
  border-color:rgba(139,92,246,.24)!important;
  background:linear-gradient(135deg,rgba(237,233,254,.96),rgba(240,253,250,.90))!important;
  color:#6d28d9!important;
  box-shadow:0 6px 14px rgba(124,58,237,.08)!important;
}

/* Search bar */
#personalPatientSearchBar.personal-patient-searchbar{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto auto!important;
  align-items:center!important;
  gap:7px!important;
  min-height:0!important;
  padding:8px 10px!important;
  margin:0 0 10px!important;
  border:1px solid rgba(45,212,191,.18)!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,rgba(240,253,250,.92),rgba(248,250,252,.96))!important;
  box-shadow:inset 4px 0 0 rgba(45,212,191,.18),0 7px 18px rgba(13,148,136,.025)!important;
}
#personalPatientSearchBar.personal-patient-searchbar label{
  margin:0!important;
  color:#596579!important;
  font-size:11.5px!important;
  font-weight:850!important;
  white-space:nowrap!important;
}
#personalPatientSearchBar.personal-patient-searchbar input{
  min-width:0!important;
  height:36px!important;
  padding:0 12px!important;
  border:1px solid rgba(148,163,184,.24)!important;
  border-radius:11px!important;
  background:rgba(255,255,255,.92)!important;
  box-shadow:none!important;
  font-size:12px!important;
}
#personalPatientSearchBar.personal-patient-searchbar button{
  min-width:0!important;
  height:36px!important;
  padding:0 12px!important;
  border-radius:11px!important;
  font-size:11.5px!important;
  font-weight:850!important;
}
#personalPatientSearchBar #personalPatientSearchBtn{
  border:1px solid rgba(20,184,166,.24)!important;
  background:rgba(204,251,241,.80)!important;
  color:#0f766e!important;
  box-shadow:none!important;
}
#personalPatientSearchBar #personalPatientSearchResetBtn{
  border:1px solid rgba(148,163,184,.22)!important;
  background:rgba(255,255,255,.78)!important;
  color:#64748b!important;
}
#personalPatientSearchBar .personal-patient-search-msg{
  grid-column:1 / -1!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  font-size:10.5px!important;
}
#personalPatientSearchBar .personal-patient-search-msg:empty{display:none!important}

@media (max-width:760px){
  #personal #personalTopShell.personal-top-shell{gap:7px!important}
  #personal #personalTopShell > .personal-head{padding:11px 12px!important;border-radius:15px!important}
  #personal #personalTopShell > .personal-subject-tabs{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:4px!important;
    padding:6px!important;
    border-radius:14px!important;
  }
  #personal #personalTopShell > .personal-subject-tabs .personal-dept-tab{
    min-height:36px!important;
    height:36px!important;
    padding:0 2px!important;
    border-radius:10px!important;
    font-size:10.7px!important;
  }
  #personal #personalTopShell > .personal-subdept-tabs.is-medicine,
  #personal #personalTopShell > .personal-subdept-tabs.is-surgery{
    gap:5px!important;
    padding:6px!important;
    border-radius:14px!important;
  }
  #personal #personalTopShell > .personal-subdept-tabs .personal-subdept-tab{
    min-height:35px!important;
    font-size:11px!important;
  }
  #personal #personalTopShell > .personal-utility-tabs{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:5px!important;
    padding:6px!important;
    border-radius:14px!important;
  }
  #personal #personalTopShell > .personal-utility-tabs .personal-dept-tab{
    min-height:36px!important;
    padding:6px 3px!important;
    border-radius:10px!important;
    font-size:9.8px!important;
    line-height:1.18!important;
  }
  #personal #personalTopShell > .personal-utility-tabs #personalTomorrowTab{
    min-height:34px!important;
  }
  #personal .personal-manage-modebar{
    gap:5px!important;
    padding:6px!important;
    margin:8px 0 6px!important;
    border-radius:14px!important;
  }
  #personal .personal-big-mode-btn{
    min-height:36px!important;
    height:36px!important;
    border-radius:10px!important;
    font-size:10.8px!important;
  }
  #personalPatientSearchBar.personal-patient-searchbar{
    grid-template-columns:minmax(0,1fr) auto auto!important;
    gap:5px!important;
    padding:6px!important;
    margin-bottom:7px!important;
    border-radius:14px!important;
  }
  #personalPatientSearchBar.personal-patient-searchbar label{display:none!important}
  #personalPatientSearchBar.personal-patient-searchbar input,
  #personalPatientSearchBar.personal-patient-searchbar button{
    height:34px!important;
    border-radius:10px!important;
  }
  #personalPatientSearchBar.personal-patient-searchbar input{font-size:11px!important;padding:0 9px!important}
  #personalPatientSearchBar.personal-patient-searchbar button{padding:0 9px!important;font-size:10.5px!important}
}

@media (max-width:380px){
  #personal #personalTopShell > .personal-subject-tabs .personal-dept-tab{font-size:10px!important}
  #personal #personalTopShell > .personal-utility-tabs .personal-dept-tab{font-size:9.2px!important}
  #personalPatientSearchBar.personal-patient-searchbar button{padding:0 7px!important;font-size:10px!important}
}

/* Preserve application-controlled visibility states. */
#personal #personalTopShell > .personal-subdept-tabs[style*="display: none"],
#personal .personal-manage-modebar[style*="display: none"],
#personalPatientSearchBar.personal-patient-searchbar[style*="display: none"]{
  display:none!important;
}


/* v190: combined pick/minor page + surgery schedule inside personal total management */
#professor.professor-combined-panel,
#professor .professor-combined-panel{
  display:grid;
  gap:14px;
}
#professor .professor-management-tabs{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  padding:8px;
  border:1px solid #e2e7ef;
  border-radius:18px;
  background:linear-gradient(135deg,rgba(242,246,255,.92),rgba(250,247,255,.92));
}
#professor .professor-management-tab{
  min-height:44px;
  border:1px solid #dfe5ec;
  border-radius:14px;
  background:rgba(255,255,255,.78);
  color:#737b87;
  font-size:14px;
  font-weight:800;
  box-shadow:none;
}
#professor .professor-management-tab.active{
  border-color:#b8c9ef;
  background:linear-gradient(135deg,#e8f2ff,#efeaff);
  color:#304e91;
  box-shadow:0 7px 18px rgba(77,102,162,.12);
}
#professor .professor-management-workspace{
  min-width:0;
  display:grid;
  gap:14px;
}
#professor .professor-management-workspace[hidden]{display:none!important;}
#professor .professor-minor-head{
  padding:15px 17px;
  border:1px solid #e3e6ee;
  border-radius:18px;
  background:linear-gradient(135deg,#fffdf8,#f8f4ff);
}
#professor .professor-minor-head h2{margin:0 0 4px;font-size:1.2rem;}
#professor .professor-minor-head p{margin:0;color:#717784;font-size:.84rem;}

#personal .personal-subject-tabs{
  grid-template-columns:repeat(6,minmax(0,1fr));
}
#personal .personal-surgery-dept-tab{
  white-space:nowrap;
}
#personal .personal-surgery-area{
  margin-top:12px;
  min-width:0;
}
#personal .personal-surgery-panel{
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid #dfe5ed;
  border-radius:22px;
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(247,250,252,.96));
  box-shadow:0 10px 28px rgba(61,76,96,.08);
}
#personal .personal-surgery-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:4px 2px 2px;
}
#personal .personal-surgery-heading h3{margin:0 0 4px;font-size:1.12rem;color:#1f2a3d;}
#personal .personal-surgery-heading p{margin:0;color:#747d8b;font-size:.82rem;line-height:1.45;}
#personal .surgery-alert-card{margin-bottom:0;}
#personal .surgery-alert-copy small{display:block;margin-top:4px;color:#7f7787;font-size:.76rem;line-height:1.4;}
#personal #surgeryAlertSaveBtn{white-space:nowrap;}

@media(max-width:900px){
  #personal .personal-subject-tabs{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:640px){
  #professor .professor-management-tabs{gap:7px;padding:6px;border-radius:15px;}
  #professor .professor-management-tab{min-height:40px;font-size:13px;border-radius:12px;}
  #professor .professor-minor-head{padding:13px 14px;}
  #personal .personal-subject-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;}
  #personal .personal-surgery-panel{padding:10px;border-radius:18px;}
  #personal .personal-surgery-heading{align-items:flex-start;flex-direction:column;gap:7px;}
  #personal .personal-surgery-heading h3{font-size:1rem;}
  #personal .personal-surgery-heading p{font-size:.76rem;}
  #personal .surgery-alert-card{grid-template-columns:1fr auto;gap:8px;padding:12px;}
  #personal .surgery-alert-copy{grid-column:1/-1;}
  #personal #surgeryAlertSaveBtn{min-height:36px;padding:0 12px;}
}

/* v191: U-FOLIO score integration */
.ufolio-panel{display:grid;gap:16px;background:transparent;border:0;box-shadow:none;padding:0}
.ufolio-hero-card,.ufolio-connect-card,.ufolio-dashboard{border:1px solid #dfe7f2;border-radius:24px;background:rgba(255,255,255,.92);box-shadow:0 14px 34px rgba(67,82,115,.08)}
.ufolio-hero-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 26px;background:linear-gradient(135deg,#f9fbff 0%,#f3f9ff 48%,#f7f6ff 100%)}
.ufolio-hero-card h2{margin:4px 0 7px;font-size:clamp(24px,2.5vw,34px);letter-spacing:-.04em;color:#172238}
.ufolio-hero-card p{margin:0;color:#64718a;line-height:1.65;max-width:760px}
.ufolio-eyebrow{display:inline-flex;font-size:11px;font-weight:900;letter-spacing:.14em;color:#5374a8}
.ufolio-login-badge{flex:none;display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 15px;border-radius:999px;border:1px solid #cddcf1;background:#fff;color:#48617f;font-size:13px;font-weight:800;white-space:nowrap}
.ufolio-connect-card{padding:20px 22px;display:grid;grid-template-columns:minmax(210px,.75fr) minmax(360px,1.35fr) auto;align-items:end;gap:16px;background:linear-gradient(135deg,#fffdf8,#fbfdff)}
.ufolio-connect-copy{align-self:center;display:grid;gap:5px}.ufolio-connect-copy strong{font-size:17px;color:#26344c}.ufolio-connect-copy span{font-size:12px;color:#748197;line-height:1.55}
.ufolio-credential-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ufolio-credential-grid label{display:grid;gap:6px;font-size:12px;font-weight:800;color:#55657d}.ufolio-credential-grid input{width:100%;min-width:0;height:42px;border-radius:13px;border:1px solid #d5deeb;background:#fff;padding:0 13px;color:#1d2a41;outline:none}.ufolio-credential-grid input:focus{border-color:#9bbbe8;box-shadow:0 0 0 4px rgba(125,171,230,.13)}
.ufolio-connect-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.ufolio-connect-actions button{min-height:41px;border-radius:13px;padding:0 15px;font-size:12px;font-weight:900;border:1px solid transparent;white-space:nowrap}.ufolio-soft-button{background:#eef5ff;color:#41658f;border-color:#d5e5f7!important}.ufolio-primary-button{background:linear-gradient(135deg,#dff4ff,#e8edff);color:#27557d;border-color:#bcd9ee!important;box-shadow:0 8px 18px rgba(94,150,202,.14)}.ufolio-danger-button{background:#fff7f7;color:#a85d63;border-color:#efd2d5!important}.ufolio-connect-actions button:disabled{opacity:.5;cursor:not-allowed}
.ufolio-connection-info{grid-column:1/-1;border-radius:13px;padding:10px 13px;background:#f5f7fa;color:#6e7a8e;font-size:12px;line-height:1.5}.ufolio-connection-info.configured{background:#eefaf5;color:#39715b;border:1px solid #d4eee3}
.ufolio-status{margin:0!important;border-radius:16px!important;padding:13px 16px!important;background:#f4f8fd!important;border:1px solid #dce8f5!important;color:#51657d!important}.ufolio-status.error{background:#fff1f2!important;border-color:#f3c6cc!important;color:#a13f4c!important}
.ufolio-sync-progress{display:grid;gap:12px;padding:17px 18px;border:1px solid #d9e5ef;border-radius:19px;background:linear-gradient(145deg,#fbfdff,#f6fbf8);box-shadow:0 10px 26px rgba(60,86,110,.07)}
.ufolio-sync-progress[hidden]{display:none!important}.ufolio-sync-progress>header{display:flex;align-items:center;justify-content:space-between;gap:14px}.ufolio-sync-progress>header>div:first-child{display:grid;gap:3px}.ufolio-sync-progress>header span{font-size:10px;color:#8190a1;font-weight:850}.ufolio-sync-progress>header strong{font-size:15px;color:#273950}.ufolio-sync-time{display:flex;align-items:center;gap:9px}.ufolio-sync-time b{font-size:13px;color:#39725e}.ufolio-sync-time span{display:inline-flex;align-items:center;justify-content:center;min-width:52px;min-height:28px;padding:0 9px;border-radius:999px;background:#eef4f7;color:#637588;font-size:11px;font-variant-numeric:tabular-nums}
.ufolio-sync-track{height:8px;overflow:hidden;border-radius:999px;background:#e8eef3}.ufolio-sync-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#71b7dc,#75c6a4);transition:width .3s ease}
.ufolio-sync-history{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.ufolio-sync-history li{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:start;gap:7px;min-width:0;padding:9px 10px;border:1px solid #e5ebf0;border-radius:12px;background:rgba(255,255,255,.8);color:#657488}.ufolio-sync-history li::before{content:'•';display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#edf2f6;color:#8795a3;font-weight:900}.ufolio-sync-history li.done::before{content:'✓';background:#e6f6ee;color:#3f7a61}.ufolio-sync-history li.active{border-color:#b9d9e8;background:#f1faff}.ufolio-sync-history li.active::before{content:'…';background:#dff2fb;color:#367399}.ufolio-sync-history li.error{border-color:#efcbd0;background:#fff6f7}.ufolio-sync-history li.error::before{content:'!';background:#fde3e6;color:#a4414e}.ufolio-sync-history li>div{display:grid;gap:2px;min-width:0}.ufolio-sync-history li strong{font-size:11px;color:#405168;overflow-wrap:anywhere}.ufolio-sync-history li small{font-size:9px;color:#8795a5;line-height:1.4;overflow-wrap:anywhere}.ufolio-sync-history li>time{font-size:9px;color:#9aa6b2;font-variant-numeric:tabular-nums}
.ufolio-dashboard{padding:22px;display:grid;gap:18px}.ufolio-dashboard-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.ufolio-dashboard-head h3{margin:0 0 5px;font-size:21px;color:#1c2940}.ufolio-dashboard-head p{margin:0;font-size:12px;color:#718097}.ufolio-row-count{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border-radius:999px;background:#f0f5fb;color:#526b89;font-size:12px;font-weight:800;white-space:nowrap}
.ufolio-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ufolio-overview-card{appearance:none;text-align:left;border:1px solid #e0e7f1;border-radius:17px;padding:14px;background:linear-gradient(145deg,#fff,#f8fafc);display:grid;gap:4px;color:#28364e;min-width:0}.ufolio-overview-card span{font-size:12px;font-weight:850;color:#5b6a80}.ufolio-overview-card strong{font-size:22px;letter-spacing:-.03em}.ufolio-overview-card small{font-size:11px;color:#8290a4;white-space:normal;line-height:1.45}.ufolio-overview-card.active{border-color:#9ec9dd;background:linear-gradient(135deg,#edfaff,#f5f1ff);box-shadow:0 9px 22px rgba(99,145,176,.14);transform:translateY(-1px)}
.ufolio-dept-tabs{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:7px;padding:8px;border-radius:17px;background:#f5f7fa;border:1px solid #e2e8f0}.ufolio-dept-tabs button{min-width:0;min-height:38px;border-radius:11px;border:1px solid transparent;background:transparent;color:#788496;font-size:11px;font-weight:850;padding:5px 4px;line-height:1.25}.ufolio-dept-tabs button.active{background:#fff;border-color:#bcd7e9;color:#315c7e;box-shadow:0 5px 14px rgba(67,99,130,.1)}
.ufolio-dept-content{display:grid;gap:14px}.ufolio-dept-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;border-radius:20px;border:1px solid #dfe8f2;padding:18px 20px;background:linear-gradient(135deg,#f8fbff,#f9fff9)}.ufolio-dept-summary span{font-size:11px;color:#8290a2;font-weight:800}.ufolio-dept-summary h3{font-size:23px;margin:2px 0 4px;color:#1d2d45}.ufolio-dept-summary p{margin:0;color:#77859a;font-size:12px}.ufolio-total-metrics{display:grid;grid-template-columns:repeat(3,minmax(90px,1fr));gap:8px;min-width:min(430px,52%)}
.ufolio-group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.ufolio-score-group{border:1px solid #e0e6ef;border-radius:20px;background:#fff;overflow:hidden;min-width:0}.ufolio-score-group>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;background:linear-gradient(135deg,#f7f9fc,#f5fbfb);border-bottom:1px solid #e7ecf2}.ufolio-score-group h4{margin:0;color:#26364d;font-size:15px}.ufolio-score-group>header span{font-size:11px;color:#8190a2}.ufolio-score-items{padding:10px;display:grid;gap:8px}.ufolio-score-item{display:grid;grid-template-columns:minmax(125px,1fr) minmax(245px,1.45fr);align-items:center;gap:10px;border:1px solid #edf0f5;border-radius:14px;padding:10px 11px;background:#fcfdff;min-width:0}.ufolio-score-item>strong{font-size:12px;color:#34445c;line-height:1.45;overflow-wrap:anywhere}.ufolio-item-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.ufolio-metric{display:grid;gap:2px;min-width:0;border-radius:11px;padding:7px 8px;background:#f6f8fb;text-align:center}.ufolio-metric span{font-size:9px;font-weight:800;color:#8a96a7}.ufolio-metric strong{font-size:12px;color:#34465e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ufolio-metric.submissions{background:#f3f7ff}.ufolio-metric.patients{background:#f0fbf6}.ufolio-metric.score{background:#fff7ec}.ufolio-metric.score strong{color:#925a26}
.ufolio-missing-note{border-radius:14px;background:#fff7f1;border:1px solid #f1decd;padding:11px 13px;color:#956948;font-size:12px;line-height:1.5}
@media(max-width:980px){.ufolio-connect-card{grid-template-columns:1fr}.ufolio-connect-actions{justify-content:flex-start}.ufolio-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.ufolio-dept-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.ufolio-group-grid{grid-template-columns:1fr}.ufolio-dept-summary{align-items:flex-start;flex-direction:column}.ufolio-total-metrics{width:100%;min-width:0}}
@media(max-width:640px){.ufolio-panel{gap:10px}.ufolio-hero-card{padding:18px 16px;border-radius:18px;align-items:flex-start;flex-direction:column}.ufolio-hero-card h2{font-size:24px}.ufolio-login-badge{min-height:32px;font-size:11px}.ufolio-connect-card,.ufolio-dashboard{padding:14px;border-radius:18px}.ufolio-credential-grid{grid-template-columns:1fr}.ufolio-connect-actions{display:grid;grid-template-columns:1fr 1fr}.ufolio-connect-actions .ufolio-danger-button{grid-column:1/-1}.ufolio-overview{grid-template-columns:1fr 1fr;gap:7px}.ufolio-overview-card{padding:11px}.ufolio-overview-card strong{font-size:18px}.ufolio-dept-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:6px}.ufolio-group-grid{grid-template-columns:1fr}.ufolio-dept-tabs button{font-size:10px;min-height:36px}.ufolio-dept-summary{padding:15px}.ufolio-total-metrics{gap:5px}.ufolio-score-item{grid-template-columns:1fr;gap:8px}.ufolio-item-metrics{gap:5px}.ufolio-metric{padding:6px 4px}.ufolio-metric strong{font-size:11px}.ufolio-dashboard-head{align-items:flex-start;flex-direction:column}.ufolio-row-count{min-height:30px}.ufolio-sync-progress{padding:14px}.ufolio-sync-history{grid-template-columns:1fr}.ufolio-sync-progress>header{align-items:flex-start}.ufolio-sync-time{flex-direction:column;align-items:flex-end;gap:4px}}

/* v199: U-FOLIO real-browser session bridge */
.ufolio-browser-card{display:grid;grid-template-columns:minmax(0,1.4fr) auto;align-items:center;gap:16px;padding:19px 21px;border:1px solid #d6e8df;border-radius:22px;background:linear-gradient(135deg,rgba(244,253,249,.96),rgba(247,250,255,.96));box-shadow:0 12px 28px rgba(67,94,85,.07)}
.ufolio-browser-copy{display:grid;gap:5px;min-width:0}.ufolio-browser-kicker{justify-self:start;display:inline-flex;align-items:center;min-height:25px;padding:0 10px;border-radius:999px;background:#e8f7ef;color:#3d765e;font-size:10px;font-weight:900;letter-spacing:.04em}.ufolio-browser-copy strong{font-size:17px;color:#23394a}.ufolio-browser-copy p{margin:0;max-width:760px;color:#66768a;font-size:12px;line-height:1.65}.ufolio-browser-copy b{color:#315f7d}
.ufolio-browser-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap}.ufolio-browser-actions button{min-height:42px;padding:0 15px;border-radius:13px;border:1px solid transparent;font-size:12px;font-weight:900;white-space:nowrap}.ufolio-browser-actions button:disabled{opacity:.55;cursor:not-allowed}
.ufolio-browser-info{grid-column:1/-1;padding:10px 13px;border-radius:13px;border:1px solid #e2e9ef;background:rgba(255,255,255,.72);color:#718092;font-size:12px;line-height:1.45}.ufolio-browser-info.configured{border-color:#cce8da;background:#eefaf4;color:#34705a;font-weight:750}
@media(max-width:980px){.ufolio-browser-card{grid-template-columns:1fr}.ufolio-browser-actions{justify-content:flex-start}}
@media(max-width:640px){.ufolio-browser-card{padding:15px;border-radius:18px;gap:12px}.ufolio-browser-actions{display:grid;grid-template-columns:1fr 1fr}.ufolio-browser-actions .ufolio-danger-button{grid-column:1/-1}.ufolio-browser-actions button{min-width:0;padding:0 9px;font-size:11px}.ufolio-browser-copy strong{font-size:15px}.ufolio-browser-copy p{font-size:11px}}

/* v200: stored-credential automatic U-FOLIO browser session */
.ufolio-auto-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  padding:18px 21px;
  border:1px solid #d8e8df;
  border-radius:22px;
  background:linear-gradient(135deg,rgba(244,253,249,.96),rgba(248,250,255,.97));
  box-shadow:0 12px 28px rgba(67,94,85,.07);
}
.ufolio-auto-copy{display:grid;gap:5px;min-width:0}
.ufolio-auto-copy strong{font-size:17px;color:#23394a}
.ufolio-auto-copy p{margin:0;max-width:760px;color:#66768a;font-size:12px;line-height:1.65}
.ufolio-auto-copy b{color:#315f7d}
.ufolio-auto-steps{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.ufolio-auto-steps span{display:inline-flex;align-items:center;min-height:34px;padding:0 11px;border:1px solid #dbe6ee;border-radius:999px;background:rgba(255,255,255,.82);color:#647589;font-size:11px;font-weight:850;white-space:nowrap}
.ufolio-auto-frame{position:fixed!important;left:-10000px!important;top:-10000px!important;width:1280px!important;height:900px!important;border:0!important;opacity:.01!important;pointer-events:none!important;z-index:-1!important}
@media(max-width:980px){.ufolio-auto-card{grid-template-columns:1fr}.ufolio-auto-steps{justify-content:flex-start}}
@media(max-width:640px){.ufolio-auto-card{padding:15px;border-radius:18px;gap:12px}.ufolio-auto-copy strong{font-size:15px}.ufolio-auto-copy p{font-size:11px}.ufolio-auto-steps{display:grid;grid-template-columns:1fr 1fr}.ufolio-auto-steps span:last-child{grid-column:1/-1}.ufolio-auto-steps span{justify-content:center;padding:0 7px;font-size:10px}}

/* U-FOLIO compact approved-score dashboard */
#ufolio{
  --uf-ink:#302a27;
  --uf-muted:#7d746e;
  --uf-line:#e8dfd6;
  --uf-paper:#fffdf9;
  --uf-cream:#f8f3ed;
  --uf-sage:#65766a;
  --uf-sage-soft:#edf2ed;
  --uf-clay:#a96e58;
  --uf-clay-soft:#f7ebe5;
  --uf-plum:#766474;
}
#ufolio .ufolio-panel{gap:10px!important;border-color:var(--uf-line)!important;background:var(--uf-paper)!important;box-shadow:0 14px 34px rgba(75,61,51,.06)!important}
#ufolio .ufolio-hero-card,
#ufolio .ufolio-connect-card,
#ufolio .ufolio-dashboard{
  border:1px solid var(--uf-line)!important;
  box-shadow:0 8px 24px rgba(75,61,51,.055)!important;
  background:var(--uf-paper)!important;
}
#ufolio .ufolio-hero-card{
  padding:16px 19px!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,#faf5ef 0%,#f2f2ea 58%,#f7eeea 100%)!important;
}
#ufolio .ufolio-eyebrow{color:var(--uf-clay)!important;font-size:9px!important;letter-spacing:.16em!important}
#ufolio .ufolio-hero-card h2{margin:2px 0 3px!important;font-size:clamp(21px,2vw,28px)!important;color:var(--uf-ink)!important}
#ufolio .ufolio-hero-card p{font-size:11px!important;line-height:1.5!important;color:var(--uf-muted)!important}
#ufolio .ufolio-login-badge{min-height:31px!important;padding:0 12px!important;border-color:#d9cfc5!important;background:rgba(255,253,249,.86)!important;color:#655c57!important;font-size:11px!important}
#ufolio .ufolio-connect-card{
  grid-template-columns:minmax(180px,.68fr) minmax(330px,1.25fr) auto!important;
  gap:11px!important;
  padding:13px 15px!important;
  border-radius:18px!important;
}
#ufolio .ufolio-connect-copy{gap:2px!important}
#ufolio .ufolio-connect-copy strong{font-size:14px!important;color:var(--uf-ink)!important}
#ufolio .ufolio-connect-copy span{font-size:10px!important;line-height:1.4!important;color:var(--uf-muted)!important}
#ufolio .ufolio-credential-grid{gap:7px!important}
#ufolio .ufolio-credential-grid label{gap:4px!important;font-size:10px!important;color:#6f655f!important}
#ufolio .ufolio-credential-grid input{height:37px!important;border-radius:11px!important;border-color:#ddd3ca!important;background:#fff!important;padding:0 11px!important}
#ufolio .ufolio-credential-grid input:focus{border-color:#aa8c79!important;box-shadow:0 0 0 3px rgba(169,110,88,.11)!important}
#ufolio .ufolio-connect-actions{gap:6px!important}
#ufolio .ufolio-connect-actions button{min-height:36px!important;border-radius:11px!important;padding:0 12px!important;font-size:10px!important}
#ufolio .ufolio-primary-button{background:var(--uf-sage)!important;color:#fff!important;border-color:var(--uf-sage)!important;box-shadow:0 5px 14px rgba(101,118,106,.18)!important}
#ufolio .ufolio-soft-button{background:#f3eee8!important;color:#675a51!important;border-color:#ddd1c6!important}
#ufolio .ufolio-danger-button{background:#fff8f5!important;color:#9b5e50!important;border-color:#ead4ca!important}
#ufolio .ufolio-connection-info{padding:7px 10px!important;border-radius:10px!important;background:#f6f2ed!important;color:#766d66!important;font-size:10px!important}
#ufolio .ufolio-connection-info.configured{background:var(--uf-sage-soft)!important;color:#586a5e!important;border-color:#d9e3da!important}
#ufolio .ufolio-status{padding:9px 12px!important;border-radius:12px!important;background:#f6f2ed!important;border-color:#e7ddd3!important;color:#6f655f!important;font-size:11px!important}
#ufolio .ufolio-status.error{background:#fff3f1!important;border-color:#efcfca!important;color:#9d5149!important}
#ufolio .ufolio-status[hidden]{display:none!important}

#ufolio .ufolio-sync-progress{gap:9px!important;padding:11px 13px!important;border-radius:15px!important;border-color:var(--uf-line)!important;background:#fcfaf6!important;box-shadow:none!important}
#ufolio .ufolio-sync-progress>header{gap:10px!important}
#ufolio .ufolio-sync-progress>header>div:first-child{gap:1px!important}
#ufolio .ufolio-sync-progress>header span{color:#93877f!important;font-size:9px!important}
#ufolio .ufolio-sync-progress>header strong{color:var(--uf-ink)!important;font-size:12px!important}
#ufolio .ufolio-sync-tools{display:flex;align-items:center;gap:7px}
#ufolio .ufolio-sync-time{gap:5px!important}
#ufolio .ufolio-sync-time b{color:var(--uf-sage)!important;font-size:11px!important}
#ufolio .ufolio-sync-time span{min-width:46px!important;min-height:24px!important;padding:0 7px!important;background:#f0ece7!important;color:#746a64!important;font-size:9px!important}
#ufolio .ufolio-sync-toggle{min-height:27px!important;padding:0 9px!important;border:1px solid #d9cfc5!important;border-radius:999px!important;background:#fff!important;color:#766a62!important;font-size:9px!important;font-weight:850!important;box-shadow:none!important}
#ufolio .ufolio-sync-toggle:hover{background:#f5efe9!important;color:var(--uf-ink)!important}
#ufolio .ufolio-sync-progress-details{display:grid;gap:8px}
#ufolio .ufolio-sync-progress-details[hidden]{display:none!important}
#ufolio .ufolio-sync-track{height:5px!important;background:#eee8e1!important}
#ufolio .ufolio-sync-track i{background:linear-gradient(90deg,var(--uf-sage),#b58b69)!important}
#ufolio .ufolio-sync-history{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important}
#ufolio .ufolio-sync-history li{grid-template-columns:15px minmax(0,1fr) auto!important;gap:5px!important;padding:7px 8px!important;border-radius:10px!important;border-color:#ebe3db!important;background:#fff!important}
#ufolio .ufolio-sync-history li::before{width:15px!important;height:15px!important;font-size:9px!important;background:#eee9e4!important;color:#897c73!important}
#ufolio .ufolio-sync-history li.done::before{background:#e5eee6!important;color:#607466!important}
#ufolio .ufolio-sync-history li.active{border-color:#cfdacf!important;background:#f4f7f2!important}
#ufolio .ufolio-sync-history li.active::before{background:#dfe9df!important;color:#5f7364!important}
#ufolio .ufolio-sync-history li strong{font-size:9px!important;color:#5c524c!important}
#ufolio .ufolio-sync-history li small,#ufolio .ufolio-sync-history li>time{font-size:8px!important;color:#9a8f87!important}

#ufolio .ufolio-dashboard{gap:11px!important;padding:14px!important;border-radius:18px!important}
#ufolio .ufolio-dashboard-head{gap:10px!important}
#ufolio .ufolio-dashboard-head h3{margin:0 0 2px!important;font-size:18px!important;color:var(--uf-ink)!important}
#ufolio .ufolio-dashboard-head p{font-size:10px!important;color:var(--uf-muted)!important}
#ufolio .ufolio-row-count{min-height:27px!important;padding:0 9px!important;background:#f2ede7!important;color:#766c65!important;font-size:9px!important}
#ufolio .ufolio-overview{grid-template-columns:repeat(auto-fit,minmax(118px,1fr))!important;gap:7px!important}
#ufolio .ufolio-overview-card{gap:1px!important;padding:10px 11px!important;border-radius:14px!important;border-color:#e8dfd6!important;background:#fdfbf7!important;color:var(--uf-ink)!important;box-shadow:none!important;transition:.16s ease!important}
#ufolio .ufolio-overview-card:hover{border-color:#cdbeb1!important;transform:translateY(-1px)}
#ufolio .ufolio-overview-card span{font-size:10px!important;color:#766d66!important}
#ufolio .ufolio-overview-card strong{font-size:18px!important;color:var(--uf-ink)!important}
#ufolio .ufolio-overview-card small{font-size:9px!important;color:#998d84!important}
#ufolio .ufolio-overview-card.active{border-color:var(--uf-sage)!important;background:var(--uf-sage)!important;box-shadow:0 7px 16px rgba(101,118,106,.18)!important}
#ufolio .ufolio-overview-card.active span,#ufolio .ufolio-overview-card.active strong,#ufolio .ufolio-overview-card.active small{color:#fff!important}
#ufolio .ufolio-dept-tabs{display:flex!important;grid-template-columns:none!important;gap:5px!important;flex-wrap:wrap!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important}
#ufolio .ufolio-dept-tabs button{flex:0 1 auto!important;min-height:31px!important;padding:0 12px!important;border:1px solid #e4dad1!important;border-radius:999px!important;background:#f8f4ef!important;color:#796e67!important;font-size:10px!important}
#ufolio .ufolio-dept-tabs button:hover{border-color:#cbb9ab!important;color:#544a45!important}
#ufolio .ufolio-dept-tabs button.active{border-color:var(--uf-clay)!important;background:var(--uf-clay-soft)!important;color:#874f3e!important;box-shadow:none!important}
#ufolio .ufolio-dept-content{gap:9px!important}
#ufolio .ufolio-dept-summary{padding:12px 14px!important;border-radius:15px!important;border-color:#e6ddd4!important;background:linear-gradient(135deg,#f8f3ed,#f2f4ee)!important}
#ufolio .ufolio-dept-summary span{font-size:9px!important;color:#968a82!important}
#ufolio .ufolio-dept-summary h3{margin:1px 0 2px!important;font-size:19px!important;color:var(--uf-ink)!important}
#ufolio .ufolio-dept-summary p{font-size:10px!important;color:#80756e!important}
#ufolio .ufolio-total-metrics{grid-template-columns:repeat(2,minmax(86px,1fr))!important;gap:6px!important;min-width:min(270px,44%)!important}
#ufolio .ufolio-group-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))!important;gap:8px!important}
#ufolio .ufolio-score-group{border-color:#e8dfd6!important;border-radius:15px!important;background:#fff!important;box-shadow:none!important}
#ufolio .ufolio-score-group>header{padding:9px 11px!important;border-color:#ece4dc!important;background:#f8f4ef!important}
#ufolio .ufolio-score-group h4{font-size:12px!important;color:#4d4540!important}
#ufolio .ufolio-score-group>header span{font-size:8px!important;color:#998e86!important}
#ufolio .ufolio-score-items{padding:7px!important;gap:5px!important}
#ufolio .ufolio-score-item{grid-template-columns:minmax(105px,1fr) minmax(130px,.8fr)!important;gap:7px!important;padding:7px 8px!important;border-radius:11px!important;border-color:#eee7e0!important;background:#fffdfb!important}
#ufolio .ufolio-score-item>strong{font-size:10px!important;color:#504741!important}
#ufolio .ufolio-item-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:4px!important}
#ufolio .ufolio-metric{gap:0!important;padding:5px 6px!important;border-radius:9px!important;background:#f4f0eb!important}
#ufolio .ufolio-metric span{font-size:8px!important;color:#958981!important}
#ufolio .ufolio-metric strong{font-size:11px!important;color:#4c433e!important}
#ufolio .ufolio-metric.approvals{background:var(--uf-sage-soft)!important}
#ufolio .ufolio-metric.approvals strong{color:#52695a!important}
#ufolio .ufolio-metric.score{background:var(--uf-clay-soft)!important}
#ufolio .ufolio-metric.score strong{color:#8d5744!important}
#ufolio .ufolio-item-metrics>.ufolio-metric.score:only-child{grid-column:2}
#ufolio .ufolio-missing-note{padding:8px 10px!important;border-radius:11px!important;background:#fff5ef!important;border-color:#ecd9cb!important;color:#8d6653!important;font-size:10px!important}

@media(max-width:980px){
  #ufolio .ufolio-connect-card{grid-template-columns:1fr!important}
  #ufolio .ufolio-sync-history{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #ufolio .ufolio-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:640px){
  #ufolio .ufolio-hero-card{padding:14px!important}
  #ufolio .ufolio-hero-card h2{font-size:21px!important}
  #ufolio .ufolio-connect-card,#ufolio .ufolio-dashboard{padding:11px!important}
  #ufolio .ufolio-overview{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #ufolio .ufolio-dept-tabs button{flex:1 1 calc(33.333% - 5px)!important;padding:0 6px!important}
  #ufolio .ufolio-group-grid,#ufolio .ufolio-sync-history{grid-template-columns:1fr!important}
  #ufolio .ufolio-dept-summary{align-items:stretch!important}
  #ufolio .ufolio-total-metrics{width:100%!important;min-width:0!important}
  #ufolio .ufolio-score-item{grid-template-columns:1fr!important}
  #ufolio .ufolio-sync-tools{align-items:flex-end;flex-direction:column;gap:4px}
}

/* U-FOLIO wide user workspace */
#ufolio.page{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
#ufolio .ufolio-panel{
  display:grid!important;
  gap:10px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#ufolio .ufolio-app-area{display:grid;gap:10px}
#ufolio .ufolio-hero-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
#ufolio .ufolio-menu-logout{
  min-height:31px!important;
  padding:0 11px!important;
  border:1px solid #dccfc5!important;
  border-radius:999px!important;
  background:#fffaf6!important;
  color:#8d5e4d!important;
  box-shadow:none!important;
  font-size:10px!important;
}
#ufolio .ufolio-personal-auth-card{
  grid-template-columns:minmax(210px,.75fr) minmax(430px,1.55fr)!important;
  align-items:end!important;
  gap:16px!important;
  padding:18px!important;
  border:1px solid var(--uf-line)!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,#fffdf9,#f7f2ec)!important;
  box-shadow:0 8px 24px rgba(75,61,51,.055)!important;
}
#ufolio .ufolio-personal-auth-card h3{margin:3px 0 4px;font-size:18px;color:var(--uf-ink)}
#ufolio .ufolio-personal-auth-card p{margin:0;color:var(--uf-muted);font-size:11px;line-height:1.55}
#ufolio .ufolio-personal-login-form{display:grid;grid-template-columns:minmax(140px,1fr) minmax(140px,1fr) auto;align-items:end;gap:8px}
#ufolio .ufolio-personal-login-form label{display:grid;gap:4px;color:#6f655f;font-size:10px;font-weight:850}
#ufolio .ufolio-personal-login-form input{height:38px!important;margin:0!important;padding:0 11px!important;border:1px solid #ddd3ca!important;border-radius:11px!important;background:#fff!important}
#ufolio .ufolio-personal-login-form input:focus{border-color:#aa8c79!important;box-shadow:0 0 0 3px rgba(169,110,88,.11)!important}
#ufolio .ufolio-personal-login-form button{min-height:38px!important;padding:0 18px!important;border-radius:11px!important;font-size:11px!important}
#ufolio .ufolio-personal-login-error{grid-column:1/-1;padding:8px 10px;border:1px solid #efcfca;border-radius:10px;background:#fff3f1;color:#9d5149;font-size:11px}
#ufolio .ufolio-personal-login-error[hidden]{display:none!important}

#ufolio .ufolio-sync-progress-line{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:38px!important;
  padding:8px 12px!important;
  border:1px solid #e4ddd5!important;
  border-radius:12px!important;
  background:#faf7f2!important;
}
#ufolio .ufolio-sync-progress-line[hidden]{display:none!important}
#ufolio .ufolio-sync-progress-line strong{min-width:0;font-size:11px!important;color:#5b534e!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#ufolio .ufolio-progress-percent{
  flex:0 0 auto;
  margin-left:auto;
  padding:4px 8px;
  border:1px solid #ddd3c9;
  border-radius:999px;
  background:#fffdf9;
  color:#665d56;
  font-size:10px;
  font-weight:900;
  white-space:nowrap;
}
#ufolio .ufolio-progress-dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--uf-clay);box-shadow:0 0 0 4px rgba(169,110,88,.12);animation:ufolioPulse 1.2s ease-in-out infinite}
#ufolio .ufolio-sync-progress-line.done .ufolio-progress-dot{background:var(--uf-sage);animation:none}
#ufolio .ufolio-sync-progress-line.error .ufolio-progress-dot{background:#b65f58;animation:none}
@keyframes ufolioPulse{50%{opacity:.45;transform:scale(.8)}}

#ufolio .ufolio-dashboard{padding:12px!important;gap:8px!important}
#ufolio .ufolio-dept-picker{
  display:grid;
  gap:8px;
  padding:10px;
  border:1px solid #e6ddd4;
  border-radius:14px;
  background:#f8f4ef;
}
#ufolio .ufolio-dept-picker-title{display:flex;align-items:baseline;gap:8px;padding:0 2px}
#ufolio .ufolio-dept-picker-title strong{font-size:12px;color:#4f4742}
#ufolio .ufolio-dept-picker-title span{font-size:9px;color:#91867e}
#ufolio .ufolio-dept-tabs{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(120px,1fr))!important;
  gap:5px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
#ufolio .ufolio-dept-tabs button{
  display:grid!important;
  gap:2px!important;
  min-height:46px!important;
  padding:7px 9px!important;
  border:1px solid #e2d8cf!important;
  border-radius:10px!important;
  background:#fffdf9!important;
  color:#5f5650!important;
  text-align:left!important;
  box-shadow:none!important;
}
#ufolio .ufolio-dept-tabs button span{font-size:10px;font-weight:900;line-height:1.25}
#ufolio .ufolio-dept-tabs button small{font-size:8px;font-weight:750;color:#948980;line-height:1.35}
#ufolio .ufolio-dept-tabs button:hover{border-color:#bfad9f!important;transform:translateY(-1px)}
#ufolio .ufolio-dept-tabs button.active{border-color:var(--uf-sage)!important;background:var(--uf-sage)!important;color:#fff!important}
#ufolio .ufolio-dept-tabs button.active small{color:rgba(255,255,255,.78)!important}
#ufolio .ufolio-dept-summary{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  min-height:52px!important;
  padding:8px 10px!important;
  border-radius:12px!important;
}
#ufolio .ufolio-dept-summary h3{margin:0!important;font-size:16px!important;white-space:nowrap}
#ufolio .ufolio-total-metrics{grid-template-columns:repeat(2,minmax(82px,1fr))!important;gap:5px!important;min-width:min(230px,60%)!important}
#ufolio .ufolio-dept-summary .ufolio-metric{padding:4px 7px!important}

@media(max-width:760px){
  #ufolio .ufolio-personal-auth-card{grid-template-columns:1fr!important;align-items:stretch!important}
  #ufolio .ufolio-personal-login-form{grid-template-columns:1fr 1fr!important}
  #ufolio .ufolio-personal-login-form button{grid-column:1/-1}
  #ufolio .ufolio-dept-tabs{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:480px){
  #ufolio .ufolio-hero-actions{justify-content:flex-start}
  #ufolio .ufolio-personal-login-form{grid-template-columns:1fr!important}
  #ufolio .ufolio-personal-login-form button{grid-column:auto}
  #ufolio .ufolio-dept-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #ufolio .ufolio-dept-summary{align-items:stretch!important;flex-direction:column!important}
  #ufolio .ufolio-total-metrics{width:100%!important;min-width:0!important}
}

/* Keep the two U-FOLIO feature choices inside the warm/sage visual system. */
#ufolio .ufolio-feature-tab{
  min-height:62px!important;
  padding:10px 14px!important;
  border:1px solid transparent!important;
  border-radius:14px!important;
  background:transparent!important;
  color:#756b63!important;
  box-shadow:none!important;
}
#ufolio .ufolio-feature-tab:hover{background:#fff!important;border-color:#e3d9cf!important}
#ufolio .ufolio-feature-tab.active{
  background:#fff!important;
  color:#332e29!important;
  border-color:#d8cbbf!important;
  box-shadow:0 7px 18px rgba(73,61,49,.08)!important;
}
#ufolio .ufolio-feature-tab.active .ufolio-feature-icon{background:var(--uf-sage)!important;color:#fff!important}
#ufolio .ufolio-feature-tab small{color:#92877e!important}

/* Compact list controls, softly framed department picker, and neutral management tabs. */
#list .resident-tools-card{
  row-gap:7px!important;
  padding:9px 10px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(249,251,250,.96))!important;
}
#list .resident-tools-card > *{
  margin-block:0!important;
}
#list #listSpecialTools.resident-quick-filter-card{
  min-height:0!important;
  padding:6px 7px!important;
  border:1px solid #e1e7e4!important;
  border-radius:13px!important;
  background:rgba(248,250,249,.9)!important;
}
#list .resident-quick-filter-card .time-filter-action,
#list .resident-quick-filter-card .total-filter-action{
  min-height:34px!important;
  padding:7px 10px!important;
}
#list .resident-search-card{
  padding:1px 2px!important;
}
#list .resident-search-card #searchInput,
#list .resident-search-card #searchBtn,
#list .resident-search-card #resetBtn{
  height:36px!important;
  min-height:36px!important;
}
#list .resident-control-stack .color-tools{
  min-height:0!important;
  padding:5px 6px!important;
}
#list .resident-control-stack .color-tools button,
#list .resident-control-stack .color-tools .conservative-count-badge{
  min-height:29px!important;
  padding:5px 8px!important;
}

#list .resident-department-card{
  border-color:#d7e2dc!important;
  background:
    radial-gradient(circle at 92% 0,rgba(178,196,184,.2),transparent 34%),
    linear-gradient(135deg,#f8fbf9 0%,#f6f3ef 100%)!important;
  box-shadow:0 9px 23px rgba(68,82,73,.075)!important;
}
#list .resident-department-card .list-dept-head strong{
  border-color:#d7e2dc!important;
  background:rgba(255,255,255,.75)!important;
  color:#465c51!important;
}
#list .resident-department-card .resident-dept-tabs .dept-page-tab{
  border-color:#dce4df!important;
  background:rgba(255,255,255,.78)!important;
}
#list .resident-department-card .resident-dept-tabs .dept-page-tab:hover{
  border-color:#b7cbbf!important;
  background:#fff!important;
}
#list .resident-department-card .resident-dept-tabs .dept-page-tab.active{
  border-color:#a9c8b8!important;
  background:linear-gradient(135deg,#e4f2ea,#eef6f1)!important;
  color:#2f624d!important;
}

#professor .professor-management-tabs{
  border-color:#dedfd8!important;
  background:linear-gradient(135deg,#f6f1eb,#eef3ef)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8)!important;
}
#professor .professor-management-tab{
  border:1px solid #dcded8!important;
  background:rgba(255,255,255,.78)!important;
  color:#6b746d!important;
  box-shadow:none!important;
}
#professor .professor-management-tab:hover{
  border-color:#b9c6bd!important;
  background:#fff!important;
  color:#48594e!important;
}
#professor .professor-management-tab.active{
  border-color:#667b6d!important;
  background:linear-gradient(135deg,#607466,#74877a)!important;
  color:#fff!important;
  box-shadow:0 7px 17px rgba(75,98,83,.18)!important;
}

@media(max-width:620px){
  #list .resident-tools-card{padding:7px!important;row-gap:6px!important}
  #list #listSpecialTools.resident-quick-filter-card{padding:5px!important}
  #list .resident-control-stack .color-tools{padding:5px!important}
}

/* Group department navigation as one visible card and tighten list controls. */
#list .resident-department-card{
  padding:10px 12px!important;
  border:1px solid #cfdcd5!important;
  border-radius:17px!important;
  background:
    radial-gradient(circle at 94% 5%,rgba(164,190,176,.22),transparent 29%),
    linear-gradient(135deg,#f1f6f3 0%,#f7f4ef 100%)!important;
  box-shadow:0 8px 20px rgba(70,87,77,.07),inset 0 1px 0 rgba(255,255,255,.84)!important;
}
#list .resident-department-card .list-dept-head{
  margin:0 0 7px!important;
}
#list .resident-department-card .list-dept-head strong{
  min-height:27px!important;
  padding:5px 9px!important;
  border-color:#cedbd4!important;
  background:rgba(255,255,255,.76)!important;
  color:#40564a!important;
  font-size:.76rem!important;
}
#list .resident-department-card .resident-dept-tabs{
  gap:6px!important;
  padding:7px!important;
  border:1px solid rgba(207,220,213,.85)!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.55)!important;
}
#list .resident-department-card .resident-dept-tabs .dept-page-tab{
  min-height:35px!important;
  padding:7px 11px!important;
  border-radius:11px!important;
}

#list .resident-tools-card{
  row-gap:4px!important;
  padding:6px 7px!important;
  border-radius:16px!important;
}
#list #listSpecialTools.resident-quick-filter-card{
  gap:5px!important;
  padding:4px 5px!important;
  border-radius:11px!important;
}
#list .resident-quick-filter-card .time-filter-action,
#list .resident-quick-filter-card .total-filter-action{
  min-height:30px!important;
  padding:5px 9px!important;
  border-radius:10px!important;
  font-size:.71rem!important;
}
#list .resident-search-card{
  gap:5px!important;
  padding:0 1px!important;
}
#list .resident-search-card #searchInput,
#list .resident-search-card #searchBtn,
#list .resident-search-card #resetBtn{
  height:32px!important;
  min-height:32px!important;
  border-radius:10px!important;
}
#list .resident-search-card #searchInput{
  padding:6px 10px!important;
  font-size:.77rem!important;
}
#list .resident-search-card #searchBtn,
#list .resident-search-card #resetBtn{
  min-width:58px!important;
  padding:5px 10px!important;
  font-size:.71rem!important;
}
#list .resident-control-stack .color-tools{
  gap:5px!important;
  padding:4px 5px!important;
  border-radius:11px!important;
}
#list .resident-control-stack .color-tools button,
#list .resident-control-stack .color-tools .conservative-count-badge{
  min-height:26px!important;
  padding:4px 7px!important;
  border-radius:8px!important;
  font-size:.66rem!important;
}

@media(max-width:620px){
  #list .resident-department-card{padding:8px!important;border-radius:14px!important}
  #list .resident-department-card .resident-dept-tabs{padding:6px!important}
  #list .resident-tools-card{padding:5px!important;row-gap:4px!important}
  #list #listSpecialTools.resident-quick-filter-card{padding:4px!important}
  #list .resident-search-card #searchInput,
  #list .resident-search-card #searchBtn,
  #list .resident-search-card #resetBtn{height:31px!important;min-height:31px!important}
}

/* 6-month OCS orthodontic GUTO recall-date workflow */
#ufolio .ufolio-feature-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
#ufolio .ufolio-recall-head{
  display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
  padding:15px 16px;border:1px solid #e2d8ce;border-radius:18px;
  background:radial-gradient(circle at 95% 8%,rgba(170,190,177,.24),transparent 34%),linear-gradient(135deg,#fffaf5,#f1f5ef);
}
#ufolio .ufolio-recall-head h3{margin:3px 0 4px;font-size:18px;color:#3d3732;letter-spacing:-.03em}
#ufolio .ufolio-recall-head p{margin:0;color:#7e746d;font-size:10px;line-height:1.55}
#ufolio .ufolio-recall-head-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
#ufolio .ufolio-link-button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 12px;border:1px solid #ddd1c6;border-radius:11px;font-size:10px;font-weight:900}
#ufolio .ufolio-recall-source{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  padding:11px 13px;border:1px solid #dedfd7;border-radius:15px;background:#fbfcf8;
}
#ufolio .ufolio-recall-source div{display:grid;gap:2px}
#ufolio .ufolio-recall-source small{color:#948981;font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
#ufolio .ufolio-recall-source strong{color:#4b443f;font-size:12px}
#ufolio .ufolio-recall-source>span{color:#7f756e;font-size:9px;font-weight:750}
#ufolio .ufolio-recall-results{display:grid;gap:9px}
#ufolio .ufolio-recall-results[hidden]{display:none!important}
#ufolio .ufolio-recall-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
#ufolio .ufolio-recall-stats>span{display:grid;gap:2px;padding:9px 11px;border:1px solid #e8dfd6;border-radius:13px;background:#fffdf9}
#ufolio .ufolio-recall-stats small{color:#93877f;font-size:8px;font-weight:850}
#ufolio .ufolio-recall-stats strong{color:#4d4540;font-size:17px}
#ufolio .ufolio-recall-stats .accent{border-color:#cad9ce;background:#edf4ee}
#ufolio .ufolio-recall-stats .accent strong{color:#52695a}
#ufolio .ufolio-recall-group-summary{display:flex;gap:6px;flex-wrap:wrap}
#ufolio .ufolio-recall-group-summary[hidden]{display:none!important}
#ufolio .ufolio-recall-group-summary>span{display:flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid #e5ddd5;border-radius:999px;background:#faf7f3}
#ufolio .ufolio-recall-group-summary strong{font-size:9px;color:#5b514a}
#ufolio .ufolio-recall-group-summary small{font-size:8px;color:#94887f}
#ufolio .ufolio-recall-selectbar,#ufolio .ufolio-recall-applybar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px 10px;border:1px solid #e5ddd5;border-radius:13px;background:#faf7f3}
#ufolio .ufolio-recall-selectbar>div{display:flex;gap:6px;flex-wrap:wrap}
#ufolio .ufolio-recall-selectbar button{min-height:30px!important;padding:0 10px!important;font-size:9px!important}
#ufolio .ufolio-recall-selectbar>strong{font-size:10px;color:#5e554f}
#ufolio .ufolio-recall-list{display:grid;gap:6px}
#ufolio .ufolio-recall-card{
  display:grid;grid-template-columns:auto 28px minmax(120px,1.05fr) minmax(92px,.72fr) 20px minmax(112px,.82fr) minmax(135px,1.1fr) auto;
  align-items:center;gap:8px;padding:9px 10px;border:1px solid #e5ddd5;border-radius:14px;background:#fff;cursor:pointer;transition:.16s ease;
}
#ufolio .ufolio-recall-card:hover{border-color:#becdc2;box-shadow:0 6px 16px rgba(71,86,76,.08);transform:translateY(-1px)}
#ufolio .ufolio-recall-card.applied{opacity:.68;background:#f7f6f2;cursor:default}
#ufolio .ufolio-recall-card>input{width:16px;height:16px;margin:0;accent-color:#667b6d}
#ufolio .ufolio-recall-order{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:#f0ebe5;color:#81756d;font-size:8px;font-weight:950}
#ufolio .ufolio-recall-patient,#ufolio .ufolio-recall-date,#ufolio .ufolio-recall-detail{display:grid;gap:2px;min-width:0}
#ufolio .ufolio-recall-patient strong{font-size:11px;color:#403934}
#ufolio .ufolio-recall-patient small,#ufolio .ufolio-recall-date small,#ufolio .ufolio-recall-detail small{font-size:8px;color:#998e86}
#ufolio .ufolio-recall-date strong{font-size:10px;color:#625951}
#ufolio .ufolio-recall-date.next{padding:6px 8px;border-radius:10px;background:#edf4ee}
#ufolio .ufolio-recall-date.next strong{color:#50675a}
#ufolio .ufolio-recall-arrow{color:#a99d93;font-weight:950;text-align:center}
#ufolio .ufolio-recall-detail strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;color:#69605a}
#ufolio .ufolio-recall-state{padding:5px 7px;border-radius:999px;background:#e5eee7;color:#56705f;font-size:8px;font-weight:900;white-space:nowrap}
#ufolio .ufolio-recall-card.applied .ufolio-recall-state{background:#eeeae5;color:#81776f}
#ufolio .ufolio-recall-empty{padding:24px;text-align:center;border:1px dashed #d9d1c8;border-radius:14px;background:#fcfaf7;color:#81776f;font-size:10px;font-weight:800}
#ufolio .ufolio-recall-applybar p{margin:0;color:#81776f;font-size:9px}
#ufolio .ufolio-recall-applybar button{min-height:35px!important;font-size:10px!important}

.six-month-ocs-panel{border-color:#d9e2dc!important;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(241,246,242,.96))!important}
.six-month-ocs-panel .eyebrow{margin:0 0 7px;padding:5px 9px;background:#e8f0ea;color:#526c5c;font-size:10px}
.six-month-ocs-panel .meta-pill{max-width:100%;white-space:normal;line-height:1.35}
.six-month-ocs-panel .meta-pill.active{background:#e4efe7;color:#43604d}
.six-month-ocs-panel .file-card{border-color:#b9cdbf;background:#f4f8f5}
.six-month-ocs-status{padding:10px 12px;border:1px solid #e0e6e1;border-radius:12px;background:#f8faf8;color:#657168}
.six-month-ocs-status.done{border-color:#c9ddcf;background:#edf6ef;color:#476451}
.six-month-ocs-status.error{border-color:#eccbc5;background:#fff3f1;color:#a24f48}

@media(max-width:900px){
  #ufolio .ufolio-feature-nav{grid-template-columns:1fr}
  #ufolio .ufolio-recall-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  #ufolio .ufolio-recall-card{grid-template-columns:auto 26px minmax(105px,1fr) minmax(94px,1fr) 16px minmax(112px,1fr) auto}
  #ufolio .ufolio-recall-detail{display:none}
}
@media(max-width:620px){
  #ufolio .ufolio-recall-head{padding:12px}
  #ufolio .ufolio-recall-head-actions{width:100%}
  #ufolio .ufolio-recall-head-actions>*{flex:1}
  #ufolio .ufolio-recall-source{align-items:flex-start;flex-direction:column}
  #ufolio .ufolio-recall-card{grid-template-columns:auto 24px minmax(0,1fr) auto;gap:6px}
  #ufolio .ufolio-recall-date,#ufolio .ufolio-recall-arrow{grid-row:2}
  #ufolio .ufolio-recall-date{grid-column:3}
  #ufolio .ufolio-recall-arrow{display:none}
  #ufolio .ufolio-recall-date.next{grid-column:4}
  #ufolio .ufolio-recall-state{grid-column:4;grid-row:1}
  #ufolio .ufolio-recall-applybar{align-items:stretch;flex-direction:column}
}

/* ========================================================================== */
/* 2026 premium interface refresh                                             */
/* 기능 선택자와 화면 구조는 유지하고, 이 마지막 레이어에서 표현만 통일합니다. */
/* ========================================================================== */
:root{
  --bg:#f3f2ee;
  --card:#fffdfa;
  --ink:#222823;
  --muted:#707770;
  --line:#dedfd9;
  --primary:#526b5c;
  --primary2:#8ca294;
  --danger:#b35f5a;
  --soft:#edf1ed;
  --shadow:0 18px 54px rgba(42,49,44,.09);
  --radius:22px;
  --lux-bg:#f3f2ee;
  --lux-surface:#fffdfa;
  --lux-surface-soft:#f8f7f3;
  --lux-surface-green:#f1f5f1;
  --lux-ink:#222823;
  --lux-muted:#737a73;
  --lux-forest:#526b5c;
  --lux-forest-dark:#34483c;
  --lux-sage:#dce7de;
  --lux-bronze:#a7835c;
  --lux-bronze-soft:#f0e8dc;
  --lux-line:#dedfd9;
  --lux-line-strong:#cfd4ce;
  --lux-shadow-sm:0 8px 24px rgba(43,50,45,.06);
  --lux-shadow:0 20px 60px rgba(40,47,42,.10);
}

html{background:var(--lux-bg);scroll-padding-top:104px}
body{
  color:var(--lux-ink)!important;
  background:
    radial-gradient(circle at 4% -8%,rgba(174,190,179,.34),transparent 31rem),
    radial-gradient(circle at 96% 4%,rgba(210,192,166,.25),transparent 27rem),
    linear-gradient(180deg,#faf9f6 0%,#f3f2ee 42%,#f0f2ef 100%)!important;
  font-family:-apple-system,BlinkMacSystemFont,"Pretendard Variable","SUIT","Noto Sans KR","Segoe UI",sans-serif!important;
  font-size:14px;
  letter-spacing:-.012em;
}
body::before{
  content:"";
  position:fixed;
  inset:0 0 auto;
  z-index:-1;
  height:280px;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.55),rgba(255,255,255,.12));
  mask-image:linear-gradient(#000,transparent);
}
::selection{background:#d9e6dc;color:#25362c}

.shell{
  width:min(1480px,calc(100% - 44px))!important;
  padding:24px 0 64px!important;
}
.upload-card,.alert-page-shell{max-width:1160px!important}

/* Header */
.hero{
  position:relative;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(220px,300px)!important;
  gap:0!important;
  min-height:158px;
  margin-bottom:16px!important;
  overflow:hidden;
  border:1px solid rgba(202,205,198,.88)!important;
  border-radius:28px!important;
  background:
    radial-gradient(circle at 82% 0,rgba(176,192,181,.24),transparent 31%),
    linear-gradient(135deg,rgba(255,254,251,.98),rgba(246,244,238,.96))!important;
  box-shadow:var(--lux-shadow)!important;
}
.hero::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:linear-gradient(180deg,var(--lux-forest),#9db09f 70%,#c6a477);
}
.hero-main,.hero-side{
  position:relative;
  z-index:1;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.hero-main{display:flex;flex-direction:column;justify-content:center;padding:30px 34px!important;overflow:visible!important}
.hero-main::after{display:none!important}
.hero-side{justify-content:center!important;padding:26px 28px!important;border-left:1px solid rgba(207,210,203,.74)!important}
.hero h1{
  color:var(--lux-ink)!important;
  font-size:clamp(31px,4vw,50px)!important;
  font-weight:850!important;
  line-height:1.06!important;
  letter-spacing:-.065em!important;
}
.hero h1 span{
  margin-top:9px!important;
  color:#747b74!important;
  font-size:clamp(14px,1.7vw,19px)!important;
  font-weight:680!important;
  letter-spacing:-.025em!important;
}
.hero-text{margin-top:14px!important;max-width:820px!important;color:var(--lux-muted)!important;font-size:14px!important;line-height:1.72!important}
.eyebrow{
  align-self:flex-start;
  min-height:27px;
  margin:0 0 12px!important;
  padding:5px 10px!important;
  border:1px solid #d7dfd8;
  border-radius:999px!important;
  background:rgba(239,244,239,.9)!important;
  color:var(--lux-forest)!important;
  font-size:10px!important;
  font-weight:900!important;
  letter-spacing:.13em!important;
  text-transform:uppercase;
}
.side-title strong{color:#303932!important;font-size:16px!important;letter-spacing:-.025em}
.side-title span,.small{color:var(--lux-muted)!important;font-size:12px!important}
.admin-button,.button{
  border:1px solid var(--lux-forest)!important;
  border-radius:13px!important;
  background:linear-gradient(135deg,var(--lux-forest-dark),var(--lux-forest))!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(52,72,60,.16)!important;
  font-weight:850!important;
}
.admin-button:hover,.button:hover{box-shadow:0 14px 28px rgba(52,72,60,.22)!important}
.admin-button.secondary-link,.button.secondary,.as-link.secondary{
  border-color:var(--lux-line-strong)!important;
  background:rgba(255,255,255,.78)!important;
  color:#4b554e!important;
  box-shadow:none!important;
}

/* Primary navigation */
.tabs{
  display:flex!important;
  gap:5px!important;
  top:10px!important;
  margin:14px 0 16px!important;
  padding:6px!important;
  border:1px solid rgba(205,209,202,.86)!important;
  border-radius:18px!important;
  background:rgba(250,249,246,.86)!important;
  box-shadow:0 12px 34px rgba(44,51,46,.075)!important;
  backdrop-filter:blur(20px) saturate(145%)!important;
}
.tab{
  flex:1 0 auto;
  min-height:42px;
  padding:9px 14px!important;
  border:1px solid transparent!important;
  border-radius:12px!important;
  background:transparent!important;
  color:#747b75!important;
  font-size:12px!important;
  font-weight:820!important;
  box-shadow:none!important;
}
.tab:hover{transform:none!important;background:#fff!important;color:#3c4740!important;box-shadow:none!important}
.tab.active{
  border-color:#c8d3ca!important;
  background:linear-gradient(135deg,#e6eee7,#f2f5f1)!important;
  color:#31483b!important;
  box-shadow:0 6px 16px rgba(62,82,69,.09)!important;
}

/* Shared surfaces */
.page{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.panel,
.personal-card,
.personal-section-card,
.chart-card,
.list-dept-panel,
.ortho-sign-card,
.ufolio-hero-card,
.ufolio-connect-card,
.ufolio-dashboard{
  border-color:var(--lux-line)!important;
  background:rgba(255,253,250,.94)!important;
  box-shadow:var(--lux-shadow-sm)!important;
}
.panel{margin-bottom:14px!important;padding:22px!important;border-radius:22px!important;backdrop-filter:blur(14px)}
.panel-head{margin-bottom:15px!important;align-items:center!important}
.panel-head h2{color:var(--lux-ink)!important;font-size:23px!important;font-weight:850!important;letter-spacing:-.045em!important}
.panel-head h3{color:var(--lux-ink)!important}
.panel-head p{margin-top:4px!important;color:var(--lux-muted)!important;font-size:12px!important;line-height:1.55!important}
.meta-pill,.dept-pill,.ufolio-row-count{
  border:1px solid #dce1dc!important;
  background:#f1f4f1!important;
  color:#59675e!important;
  box-shadow:none!important;
}
.status{color:var(--lux-muted)!important}
.empty{
  border-color:#d7dcd7!important;
  background:#faf9f6!important;
  color:var(--lux-muted)!important;
}

/* Form controls and buttons */
button,.button,.as-link{font-family:inherit;letter-spacing:-.015em}
button{background:linear-gradient(135deg,var(--lux-forest-dark),var(--lux-forest));color:#fff;box-shadow:none}
button:hover{box-shadow:0 10px 22px rgba(48,64,54,.13)}
button.secondary,.secondary,
.ufolio-soft-button,
.ufolio-link-button{
  border:1px solid var(--lux-line-strong)!important;
  background:#faf9f6!important;
  color:#566057!important;
  box-shadow:none!important;
}
button.secondary:hover,.secondary:hover,.ufolio-soft-button:hover{
  border-color:#b8c4ba!important;
  background:#fff!important;
  color:#34483c!important;
}
button.danger,.danger,.ufolio-danger-button{
  border:1px solid #e3c7c4!important;
  background:#fff8f7!important;
  color:#a45752!important;
}
.ufolio-primary-button{
  border:1px solid var(--lux-forest)!important;
  background:linear-gradient(135deg,var(--lux-forest-dark),var(--lux-forest))!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(54,74,62,.14)!important;
}
button:disabled{transform:none!important;box-shadow:none!important;opacity:.5!important}
input[type="text"],input[type="password"],input[type="email"],input[type="number"],input[type="date"],input[type="time"],input[type="file"],select,textarea{
  border:1px solid var(--lux-line-strong)!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.9)!important;
  color:var(--lux-ink)!important;
  box-shadow:inset 0 1px 1px rgba(30,38,32,.025)!important;
  font-family:inherit!important;
}
input::placeholder,textarea::placeholder{color:#a4aaa4!important}
input:focus,select:focus,textarea:focus{
  border-color:#879d8d!important;
  outline:0!important;
  box-shadow:0 0 0 4px rgba(82,107,92,.11)!important;
}
input[type="checkbox"],input[type="radio"]{accent-color:var(--lux-forest)}
:focus-visible{outline:3px solid rgba(82,107,92,.26)!important;outline-offset:2px}

/* Tables */
.table-wrap,.professor-table-wrap,.ortho-sign-table-wrap{
  border-color:var(--lux-line)!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 10px 28px rgba(44,52,46,.05)!important;
}
thead th{
  border-bottom-color:#dfe2dd!important;
  background:#f3f4f0!important;
  color:#4b554e!important;
  font-weight:850!important;
}
tbody td{border-bottom-color:#eceeea!important;color:#3d443f}
tbody tr:nth-child(even){background:rgba(247,247,243,.56)}
tbody tr:hover{background:#f1f5f1!important}
.bar{background:#e8ece8!important}
.bar i{background:linear-gradient(90deg,#718a78,#b29875)!important}

/* Department pages and resident list */
.clinic-subtabs,
.professor-management-tabs,
.personal-dept-tabs,
.personal-subdept-tabs,
.personal-utility-tabs,
.personal-manage-modebar,
.ufolio-feature-nav{
  border:1px solid var(--lux-line)!important;
  background:rgba(248,247,243,.88)!important;
  box-shadow:var(--lux-shadow-sm)!important;
}
.clinic-subtab,
.professor-management-tab,
.personal-dept-tab,
.personal-subdept-tab,
.personal-big-mode-btn{
  border-color:transparent!important;
  background:transparent!important;
  color:#747c75!important;
  box-shadow:none!important;
}
.clinic-subtab:hover,
.professor-management-tab:hover,
.personal-dept-tab:hover,
.personal-subdept-tab:hover,
.personal-big-mode-btn:hover{background:#fff!important;color:#394a40!important;transform:none!important}
.clinic-subtab.active,
.professor-management-tab.active,
.personal-dept-tab.active,
.personal-subdept-tab.active,
.personal-big-mode-btn.active{
  border-color:#cad5cc!important;
  background:linear-gradient(135deg,#e5eee7,#f4f6f3)!important;
  color:#314b3c!important;
  box-shadow:0 6px 15px rgba(59,80,66,.09)!important;
}
.resident-list-panel{padding:18px!important}
.resident-control-stack{gap:10px!important}
#list .resident-title-card{
  min-height:58px!important;
  padding:12px 14px!important;
  border:1px solid var(--lux-line)!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,#fff,#f5f6f2)!important;
  box-shadow:none!important;
}
#list .resident-title-card h2{color:var(--lux-ink)!important;font-size:20px!important}
#list .resident-department-card{
  padding:11px 12px!important;
  border-color:#d5dcd6!important;
  background:linear-gradient(135deg,#f3f6f2,#faf8f4)!important;
  box-shadow:none!important;
}
#list .resident-department-card .resident-dept-tabs{
  border-color:#dce1dc!important;
  background:rgba(255,255,255,.58)!important;
}
#list .resident-department-card .resident-dept-tabs .dept-page-tab.active{
  border-color:#aebfb2!important;
  background:#e2ece4!important;
  color:#365141!important;
}
#list .resident-tools-card{
  border-color:var(--lux-line)!important;
  background:rgba(255,253,250,.92)!important;
  box-shadow:none!important;
}
.color-action.active,.time-filter-action.active,.total-filter-action.active{
  border-color:#9fb1a3!important;
  background:#e4ede5!important;
  color:#365140!important;
  box-shadow:none!important;
}
.chart-card{border-radius:18px!important;background:linear-gradient(180deg,#fff,#faf9f6)!important}
.winner-card{
  border:1px solid #4a6254!important;
  border-radius:20px!important;
  background:
    radial-gradient(circle at 90% 0,rgba(210,188,155,.26),transparent 36%),
    linear-gradient(135deg,#2f4136,#586f60)!important;
  box-shadow:0 16px 34px rgba(45,62,51,.16)!important;
}
.rank-item{border-color:var(--lux-line)!important;border-radius:14px!important;background:#fff!important}

/* Professor / minor */
#professor .professor-combined-panel{background:rgba(255,253,250,.94)!important}
#professor .professor-management-tabs{padding:6px!important;border-radius:16px!important}
#professor .professor-management-tab.active{
  border-color:#c8d4ca!important;
  background:linear-gradient(135deg,#e1ebe3,#f2f5f2)!important;
  color:#304a3b!important;
  box-shadow:0 5px 14px rgba(60,80,67,.08)!important;
}
.professor-summary-card,.professor-pick-manager,.minor-card,.pick-card{
  border-color:var(--lux-line)!important;
  background:#faf9f6!important;
  box-shadow:none!important;
}

/* Personal totals */
.personal-panel{background:rgba(255,253,250,.94)!important}
.personal-auth-grid,.personal-app{gap:12px!important}
.personal-card,.personal-section-card{border-radius:18px!important}
.personal-dept-tabs,.personal-subdept-tabs,.personal-utility-tabs,.personal-manage-modebar{padding:6px!important;border-radius:16px!important}
.personal-calendar-tab{color:#4f6558!important}
.personal-patient-searchbar,.personal-table-head,.personal-card-clinician-row,.personal-surgery-heading{
  border-color:var(--lux-line)!important;
  background:#f8f7f3!important;
}
.personal-patient-card,.personal-readonly-list>*{
  border-color:var(--lux-line)!important;
  background:linear-gradient(145deg,#fff,#faf9f5)!important;
  box-shadow:var(--lux-shadow-sm)!important;
}
.personal-attendance-notice{border-color:#dacdbb!important;background:#faf4e9!important;color:#705d45!important}

/* Orthodontic sign */
.ortho-sign-panel{background:rgba(255,253,250,.94)!important}
.ortho-sign-card{border-radius:18px!important;background:linear-gradient(135deg,#f7f5ef,#eef3ef)!important}
.ortho-sign-result{border-color:#d8ddd8!important;background:#fff!important;color:#3d4a42!important}
.ortho-sign-legend{border-color:var(--lux-line)!important;background:#f8f7f3!important}

/* U-FOLIO */
#ufolio .ufolio-panel{gap:12px!important}
#ufolio .ufolio-hero-card{
  padding:20px 22px!important;
  border-color:#d8ded8!important;
  border-radius:22px!important;
  background:
    radial-gradient(circle at 92% 0,rgba(191,173,146,.2),transparent 34%),
    linear-gradient(135deg,#fbfaf6,#eef3ef)!important;
  box-shadow:var(--lux-shadow-sm)!important;
}
#ufolio .ufolio-hero-card h2{color:var(--lux-ink)!important;font-size:27px!important}
#ufolio .ufolio-hero-card p{color:var(--lux-muted)!important}
#ufolio .ufolio-eyebrow{color:#8b6949!important}
#ufolio .ufolio-login-badge{border-color:#d6ddd7!important;background:#fff!important;color:#52665a!important}
#ufolio .ufolio-feature-nav{gap:6px!important;padding:6px!important;border-radius:18px!important}
#ufolio .ufolio-feature-tab{min-height:60px!important;border-radius:13px!important;background:transparent!important;color:#6e766f!important}
#ufolio .ufolio-feature-tab:hover{background:#fff!important;box-shadow:none!important}
#ufolio .ufolio-feature-tab.active{
  border-color:#cbd5cd!important;
  background:#fff!important;
  color:#2d3f34!important;
  box-shadow:0 7px 18px rgba(55,73,61,.08)!important;
}
#ufolio .ufolio-feature-icon{background:#ede9e1!important;color:#806d58!important}
#ufolio .ufolio-feature-tab.active .ufolio-feature-icon{background:var(--lux-forest)!important;color:#fff!important}
#ufolio .ufolio-connect-card{border-color:var(--lux-line)!important;background:#fffdfa!important}
#ufolio .ufolio-connect-copy strong{color:var(--lux-ink)!important}
#ufolio .ufolio-connect-copy span{color:var(--lux-muted)!important}
#ufolio .ufolio-connection-info{background:#f4f5f2!important;color:#687169!important}
#ufolio .ufolio-connection-info.configured{border-color:#cadbce!important;background:#edf5ef!important;color:#436551!important}
#ufolio .ufolio-subpage-heading,
#ufolio .ufolio-ortho-import-head,
#ufolio .ufolio-recall-head{
  border-color:var(--lux-line)!important;
  background:linear-gradient(135deg,#fffdfa,#f3f5f1)!important;
  box-shadow:none!important;
}
#ufolio .ufolio-dashboard{border-color:var(--lux-line)!important;background:#fffdfa!important}
#ufolio .ufolio-overview-card{border-color:#e2e3de!important;background:#faf9f5!important}
#ufolio .ufolio-overview-card.active{border-color:#526b5c!important;background:#526b5c!important}
#ufolio .ufolio-dept-picker{padding:12px!important;border:1px solid var(--lux-line)!important;border-radius:16px!important;background:#f7f6f2!important}
#ufolio .ufolio-dept-tabs button{border-color:#dddeda!important;background:#fff!important;color:#6c746d!important}
#ufolio .ufolio-dept-tabs button.active{border-color:#aebfb2!important;background:#e5ede6!important;color:#365140!important}
#ufolio .ufolio-dept-summary{border-color:#dce1dc!important;background:linear-gradient(135deg,#f5f3ed,#edf2ee)!important}
#ufolio .ufolio-score-group{border-color:var(--lux-line)!important;background:#fff!important}
#ufolio .ufolio-score-group>header{border-color:#e7e7e2!important;background:#f5f5f1!important}
#ufolio .ufolio-score-item{border-color:#e8e9e4!important;background:#fdfcf9!important}
#ufolio .ufolio-metric{background:#f3f4f1!important}
#ufolio .ufolio-metric.submissions{background:#f1f3f0!important}
#ufolio .ufolio-metric.patients{background:#edf5ef!important}
#ufolio .ufolio-metric.score{background:#f7efe3!important}
#ufolio .ufolio-metric.score strong{color:#87633f!important}
#ufolio .ufolio-sync-progress{border-color:var(--lux-line)!important;background:#faf9f6!important;box-shadow:none!important}
#ufolio .ufolio-sync-track{background:#e5e8e4!important}
#ufolio .ufolio-sync-track i{background:linear-gradient(90deg,#526b5c,#b08d67)!important}
#ufolio .ufolio-sync-history li{border-color:#e4e5e0!important;background:#fff!important}
#ufolio .ufolio-ortho-candidates,#ufolio .ufolio-ortho-review{border-color:var(--lux-line)!important;background:#fffdfa!important}
#ufolio .ufolio-ortho-candidate,#ufolio .ufolio-recall-card{border-color:#e2e3de!important;background:#fff!important}
#ufolio .ufolio-ortho-candidate:hover,#ufolio .ufolio-recall-card:hover{border-color:#b8c5ba!important;box-shadow:var(--lux-shadow-sm)!important}
#ufolio .ufolio-recall-source,#ufolio .ufolio-recall-selectbar,#ufolio .ufolio-recall-applybar{border-color:var(--lux-line)!important;background:#f7f6f2!important}
#ufolio .ufolio-recall-date.next{background:#e9f1ea!important}
#ufolio .ufolio-recall-state{background:#e4eee6!important;color:#506a59!important}
.ufolio-ortho-all-dialog{border-color:#d8dcd7!important;background:#f6f5f1!important}
.ufolio-ortho-all-head{border-color:var(--lux-line)!important;background:linear-gradient(135deg,#fff,#edf2ee)!important}
.ufolio-ortho-all-tools,.ufolio-ortho-all-row{border-color:var(--lux-line)!important;background:#fff!important}
.ufolio-ortho-all-close{border-color:var(--lux-line)!important;background:#fff!important;color:#5f675f!important}

/* Upload, mail, attendance and calendar settings */
body[data-mode="upload"] .panel,
body[data-mode$="settings"] .panel{
  border-color:var(--lux-line)!important;
  background:rgba(255,253,250,.95)!important;
  box-shadow:var(--lux-shadow-sm)!important;
}
.upload-grid{gap:12px!important}
.file-card{
  padding:16px!important;
  border:1px dashed #aebdb1!important;
  border-radius:16px!important;
  background:linear-gradient(145deg,#f7faf7,#fbf8f3)!important;
  color:#48564d!important;
}
.file-card:hover{border-color:#758d7b!important;background:#fff!important}
.saved-info,.upload-progress-box,.alert-status-line,.calendar-url-card,.calendar-title-settings,.calendar-guide-box,.alert-instruction-box{
  border-color:var(--lux-line)!important;
  background:#f7f6f2!important;
  color:#5f6861!important;
  box-shadow:none!important;
}
.upload-progress-track{border-color:#dfe2dd!important;background:#e9ece8!important}
.upload-progress-track span{background:linear-gradient(90deg,#647d6d,#b29470)!important}
.six-month-ocs-panel{border-color:#d3ddd5!important;background:linear-gradient(145deg,#fffdfa,#eef4ef)!important}
.alert-guide-card,.calendar-guide-card,.attendance-guide-card{background:linear-gradient(145deg,#f3f6f2,#f8f2e9)!important}
.alert-mini-preview,.alert-toggle-card,.calendar-title-option{
  border-color:var(--lux-line)!important;
  background:#fff!important;
}
.calendar-title-option:hover,.calendar-title-option.active{border-color:#aebfb2!important;background:#edf4ee!important;box-shadow:none!important}
.calendar-title-option input{accent-color:var(--lux-forest)!important}

/* Gentle motion and responsive rules */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
@media(max-width:980px){
  .shell{width:min(100% - 24px,1480px)!important;padding-top:14px!important}
  .hero{grid-template-columns:1fr!important}
  .hero-side{min-height:auto!important;border-top:1px solid rgba(207,210,203,.74)!important;border-left:0!important}
  .hero-upload-side{align-items:stretch!important}
  .tab{flex:0 0 auto!important}
  #ufolio .ufolio-connect-card{grid-template-columns:1fr!important}
  #ufolio .ufolio-connect-actions{justify-content:flex-start!important}
}
@media(max-width:700px){
  .shell{width:calc(100% - 16px)!important;padding-bottom:36px!important}
  .hero{min-height:0;border-radius:20px!important}
  .hero-main{padding:23px 20px!important}
  .hero-side{padding:17px 20px!important}
  .hero h1{font-size:29px!important}
  .hero-text{font-size:12px!important}
  .tabs{top:0!important;margin-left:0!important;margin-right:0!important;border-radius:15px!important}
  .tab{min-height:39px;padding:8px 11px!important;font-size:11px!important}
  .panel{padding:15px!important;border-radius:18px!important}
  .panel-head h2{font-size:20px!important}
  .chart-card{padding:14px!important}
  .winner-card{padding:18px!important}
  .personal-dept-tabs,.personal-utility-tabs{flex-wrap:nowrap!important;overflow-x:auto!important}
  #ufolio .ufolio-feature-nav{grid-template-columns:1fr!important}
  #ufolio .ufolio-hero-card{align-items:flex-start!important;flex-direction:column!important;padding:17px!important}
  #ufolio .ufolio-credential-grid{grid-template-columns:1fr!important}
  #ufolio .ufolio-subpage-heading,#ufolio .ufolio-ortho-import-head,#ufolio .ufolio-recall-head{align-items:stretch!important;flex-direction:column!important}
  #ufolio .ufolio-total-metrics{width:100%!important;min-width:0!important}
  #ufolio .ufolio-dept-summary{align-items:stretch!important;flex-direction:column!important}
  .upload-grid{grid-template-columns:1fr!important}
  .upload-grid .wide{grid-column:auto!important}
}

/* High-specificity legacy color cleanup */
body[data-mode="viewer"],
body[data-mode="upload"],
body[data-mode="alert-settings"],
body[data-mode="gmail-settings"],
body[data-mode="attendance-settings"],
body[data-mode="calendar-settings"],
.guide-body{
  background:
    radial-gradient(circle at 4% -8%,rgba(174,190,179,.34),transparent 31rem),
    radial-gradient(circle at 96% 4%,rgba(210,192,166,.25),transparent 27rem),
    linear-gradient(180deg,#faf9f6 0%,#f3f2ee 42%,#f0f2ef 100%)!important;
}
.alert-hero::after{display:none!important}
.upgraded-alert-hero .hero-main{background:transparent!important}
.floating-back-btn,.guide-floating-back{
  border:1px solid #cbd4cc!important;
  background:rgba(255,254,251,.9)!important;
  color:#3d5145!important;
  box-shadow:0 12px 30px rgba(43,52,46,.11)!important;
}
.alert-side-chip{
  border-color:#d7d5ca!important;
  background:#f4eee4!important;
  color:#765f45!important;
}
.alert-toggle-card,.alert-simple-guide,.alert-switch-card,.alert-dept-card,.alert-explain-box{
  border-color:var(--lux-line)!important;
  background:linear-gradient(135deg,#faf9f6,#f0f4f0)!important;
  color:#505b53!important;
}
.alert-toggle-card b,.alert-explain-box h3,.alert-switch-card label{color:#29372f!important}
.alert-toggle-card em,.alert-explain-box p,.alert-settings-note{color:#737c75!important}
.alert-toggle-card input[type="checkbox"]{background:#c9cec9!important}
.alert-toggle-card input[type="checkbox"]:checked{background:linear-gradient(135deg,#40584a,#6f8877)!important}
.alert-explain-box code,.alert-instruction-box code{
  border-color:#d4d9d4!important;
  background:#fff!important;
  color:#4f6658!important;
}
.alert-page-actions #sendAlertNowBtn{
  border-color:#c8d2ca!important;
  background:#f7f8f5!important;
  color:#42594b!important;
}
.alert-page-actions #sendAlertNowBtn:hover{background:#fff!important}

/* Personal totals: replace remaining saturated accents without changing states. */
#personal .personal-dept-tabs,
#personal .personal-manage-modebar,
#personal .personal-utility-tabs{border-color:var(--lux-line)!important;background:#f6f5f1!important;box-shadow:none!important}
#personal .personal-dept-tabs .personal-dept-tab,
#personal .personal-utility-tabs .personal-dept-tab{
  border-color:#dde0dc!important;
  background:#fff!important;
  color:#667068!important;
  opacity:.86!important;
  box-shadow:none!important;
}
#personal .personal-dept-tabs .personal-dept-tab.active,
#personal .personal-utility-tabs #personalTomorrowTab.active{
  border-color:#adbdaf!important;
  background:linear-gradient(135deg,#e1ebe3,#f1f4f0)!important;
  color:#324d3d!important;
  opacity:1!important;
  box-shadow:0 6px 15px rgba(56,76,63,.08)!important;
}
#personalPatientForm.personal-add-grid{
  border-color:var(--lux-line)!important;
  background:linear-gradient(135deg,#faf9f5,#eff3ef)!important;
  box-shadow:none!important;
}
#personal .personal-big-mode-btn{
  border-color:#d9ddd8!important;
  background:#fff!important;
  color:#626d65!important;
  box-shadow:none!important;
  outline:0!important;
}
#personal .personal-big-mode-btn.active{
  border-color:#aebfb2!important;
  background:linear-gradient(135deg,#dfeae1,#f5f2eb)!important;
  color:#2e4437!important;
  box-shadow:0 10px 24px rgba(55,74,62,.10)!important;
  outline:0!important;
}
#personal .personal-big-mode-btn.active::after{
  background:#fff!important;
  color:#4e6858!important;
}
#personalShowAddBtn::before,#personalShowListBtn::before{
  border-color:#d9dfda!important;
  background:#edf2ed!important;
  color:#4e6858!important;
  box-shadow:none!important;
}
#personalCardList .personal-patient-card{
  border-color:#d7dcd7!important;
  background:linear-gradient(180deg,#fff,#faf9f5)!important;
  box-shadow:var(--lux-shadow-sm)!important;
}
#personalCardList .personal-patient-card:hover{border-color:#b7c4b9!important;box-shadow:0 14px 32px rgba(44,54,47,.10)!important}
#personalCardList .personal-patient-card .personal-card-clinician-row,
#personalCardList .prostho-actions-with-resident .prostho-resident-wrap,
#personalCardList .prostho-visit-resident-row .prostho-resident-wrap{
  border-color:#d8dfd9!important;
  background:linear-gradient(135deg,#eff4f0,#f7f3ec)!important;
  box-shadow:none!important;
}
#personalCardList .personal-card-clinician-row .clinician-label-text,
#personalCardList .prostho-actions-with-resident .prostho-resident-wrap span,
#personalCardList .prostho-visit-resident-row .prostho-resident-wrap span{
  border-color:#d8ded9!important;
  background:rgba(255,255,255,.76)!important;
  color:#536a5b!important;
}
#personalCardList .personal-card-clinician-row .sign-by-box{border-color:#d6ddd7!important;background:#fff!important}
#personalCardList .sign-by-box strong,
#personalCardList .sign-by-box .sign-by-name,
#personalCardList .prostho-visit-resident-row .prostho-resident-wrap span{color:#4f6758!important}
.personal-view-btn.active,.visit-step-btn:hover{
  border-color:#aebfb2!important;
  background:#e6eee7!important;
  color:#365140!important;
  box-shadow:none!important;
}
.personal-card-editor-line{border-color:#d7ded8!important;background:#f1f5f1!important}
#personal .type-pill.type-bonto{border-color:#d6c9b7!important;background:#f2e9dc!important;color:#795d3e!important}

/* Orthodontic sign board */
.ortho-sign-result strong,.sign-by-box strong{color:#496454!important}
.ortho-sign-table thead th{background:#e5ebe5!important;color:#34433a!important}
.ortho-sign-table tbody th{background:#f5f5f1!important;color:#4d584f!important}
.ortho-sign-legend b,.ortho-sign-month{
  border-color:#ccd7ce!important;
  background:#eaf0ea!important;
  color:#486253!important;
}
.ortho-sign-table .current-month{
  background:#eef3ee!important;
  color:#3f5949!important;
  box-shadow:inset 0 0 0 2px rgba(82,107,92,.16)!important;
}

/* First-use guide */
.guide-shell{width:min(1240px,calc(100% - 34px))!important}
.guide-hero,.guide-section{
  border-color:var(--lux-line)!important;
  background:rgba(255,253,250,.92)!important;
  box-shadow:var(--lux-shadow)!important;
}
.guide-hero-actions a,.hero-side .guide-button{
  border:1px solid var(--lux-forest)!important;
  background:linear-gradient(135deg,var(--lux-forest-dark),var(--lux-forest))!important;
  color:#fff!important;
  box-shadow:0 12px 26px rgba(52,72,60,.16)!important;
}
.guide-hero-actions a:nth-child(2){border-color:var(--lux-line)!important;background:#fff!important;color:#46534b!important;box-shadow:none!important}
.guide-visual{background:linear-gradient(145deg,rgba(179,196,184,.35),rgba(218,196,165,.32))!important}
.guide-phone-card.second{background:#34483c!important}
.guide-phone-card::after{background:linear-gradient(90deg,rgba(103,132,112,.2),rgba(181,145,102,.2))!important}
.guide-orbit{background:linear-gradient(135deg,rgba(91,122,101,.38),rgba(182,145,100,.3))!important}
.guide-section-head span,.guide-icon{background:#e8eee8!important;color:#496253!important}
.guide-step-grid article,.guide-feature-grid article,.guide-total-grid article{border-color:var(--lux-line)!important;background:linear-gradient(180deg,#fff,#f7f6f2)!important}
.guide-step-grid b{background:var(--lux-forest-dark)!important}
.guide-section-head p,.guide-feature-grid p,.guide-total-grid p{color:var(--lux-muted)!important}
.guide-tips{background:linear-gradient(135deg,#2f4136,#586f60)!important}
.guide-tips a{background:#fff!important;color:#34483c!important;box-shadow:none!important}

:root{
  --sample-bg:#f3f2ee;
  --sample-card:#fffdfa;
  --sample-card-soft:#f7f6f2;
  --sample-text:#222823;
  --sample-muted:#737a73;
  --sample-line:#dedfd9;
  --sample-primary:#526b5c;
  --sample-primary-soft:#e8eee8;
}
button:not(.tab):not(.secondary),input[type="submit"]{
  border-color:var(--lux-forest)!important;
  background:linear-gradient(135deg,var(--lux-forest-dark),var(--lux-forest))!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(52,72,60,.13)!important;
}
button:not(.tab):not(.secondary):hover,input[type="submit"]:hover{
  background:linear-gradient(135deg,#2f4236,#607a68)!important;
  box-shadow:0 12px 24px rgba(52,72,60,.18)!important;
}
button.danger,.ufolio-danger-button{
  border-color:#e3c7c4!important;
  background:#fff8f7!important;
  color:#a45752!important;
  box-shadow:none!important;
}
.dept-selector label:has(input:checked){
  border-color:#aebfb2!important;
  background:#e8efe9!important;
  color:#365140!important;
}
.winner-card strong{color:#fff!important}
tbody tr:nth-child(even) td{background:#f8f8f5!important}
tbody tr:hover td{background:#f0f4f0!important}
.personal-visit-stepper{border-color:#ced8d0!important;background:#fff!important}
.visit-step-btn{
  border-color:#d4ddd6!important;
  background:#eaf0ea!important;
  color:#496354!important;
}
.personal-card-editor-line .personal-editor-field span::after{color:#587060!important}

.clinic-subtabs button.clinic-subtab,
#professor button.professor-management-tab,
#personal button.personal-dept-tab,
#personal button.personal-subdept-tab,
#personal button.personal-big-mode-btn,
#ufolio button.ufolio-feature-tab,
.resident-dept-tabs button.dept-page-tab,
#ufolio button.ufolio-soft-button,
#ufolio a.ufolio-soft-button,
.ufolio-ortho-all-dialog button.ufolio-ortho-all-close{
  border-color:transparent!important;
  background:transparent!important;
  color:#6d766f!important;
  box-shadow:none!important;
}
.clinic-subtabs button.clinic-subtab.active,
#professor button.professor-management-tab.active,
#personal button.personal-dept-tab.active,
#personal button.personal-subdept-tab.active,
#personal button.personal-big-mode-btn.active,
#ufolio button.ufolio-feature-tab.active,
.resident-dept-tabs button.dept-page-tab.active{
  border-color:#adbdaf!important;
  background:linear-gradient(135deg,#e1ebe3,#f3f5f1)!important;
  color:#324d3d!important;
  box-shadow:0 6px 15px rgba(56,76,63,.08)!important;
}
#ufolio button.ufolio-soft-button,#ufolio a.ufolio-soft-button{
  border-color:var(--lux-line-strong)!important;
  background:#faf9f6!important;
  color:#566057!important;
}
#ufolio button.ufolio-danger-button,button.danger:not(.secondary){
  border-color:#e3c7c4!important;
  background:#fff8f7!important;
  color:#a45752!important;
  box-shadow:none!important;
}
.ufolio-ortho-all-dialog button.ufolio-ortho-all-close{
  border-color:var(--lux-line)!important;
  background:#fff!important;
  color:#5f675f!important;
}

/* 2026-09 compact workflow refinements */
@media (min-width:1051px){
  #personal #personalCardList .personal-patient-cards.medicine-patient-cards{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px!important;
  }
  #personal #personalCardList .medicine-total-card .medicine-total-meta-row{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
}

/* v224: cool pastel professor/minor workspace and refined pick selectors */
#status.status{
  display:block;
  min-height:auto;
  margin:0 0 12px;
  padding:0 2px;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#71809a!important;
  box-shadow:none!important;
  font-size:13px;
  font-weight:700;
  line-height:1.45;
}

#professor.page.active{
  background:rgba(255,255,255,.91)!important;
}
#professor .professor-panel.professor-combined-panel{
  border-color:#d7e2f2!important;
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(241,246,255,.96))!important;
  box-shadow:0 14px 38px rgba(82,105,153,.09)!important;
}
#professor .professor-management-tabs{
  border-color:#d7e2f2!important;
  background:linear-gradient(135deg,#eef5ff,#f4f0ff)!important;
}
#professor .professor-management-tab{
  border-color:#d8e2f1!important;
  background:rgba(255,255,255,.86)!important;
  color:#6a7892!important;
}
#professor .professor-management-tab:hover{
  border-color:#bfcde5!important;
  background:#fff!important;
  color:#455b86!important;
}
#professor .professor-management-tab.active{
  border-color:#b7c7e5!important;
  background:linear-gradient(135deg,#e4efff,#eee8ff)!important;
  color:#405784!important;
  box-shadow:0 6px 16px rgba(93,116,170,.11)!important;
}
#professor .professor-management-workspace,
#professor #professorPickWorkspace,
#professor #professorMinorWorkspace{
  background:transparent!important;
}

#professor #professorPickWorkspace>.panel-head{
  display:grid;
  grid-template-columns:minmax(210px,.7fr) minmax(520px,1.3fr);
  align-items:center;
  gap:18px;
  margin:0;
  padding:18px;
  border:1px solid #d8e3f2;
  border-radius:20px;
  background:
    radial-gradient(circle at 8% 0,rgba(206,225,255,.38),transparent 38%),
    linear-gradient(135deg,#fbfdff,#f3f6ff 58%,#f7f3ff);
  box-shadow:0 8px 24px rgba(83,106,151,.065);
}
#professor #professorPickWorkspace>.panel-head h2{
  color:#2f3d58;
  font-size:24px;
}
#professor #professorPickWorkspace>.panel-head p{
  max-width:420px;
  color:#74829b!important;
  font-size:13px;
}
#professor .professor-controls{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  width:100%;
  padding:8px;
  border:1px solid rgba(205,217,237,.88);
  border-radius:17px;
  background:rgba(255,255,255,.68);
}
#professor .professor-controls .select-label{
  position:relative;
  display:grid;
  gap:7px;
  min-width:0;
  padding:10px 11px 11px;
  border:1px solid #dde6f3;
  border-radius:14px;
  background:rgba(255,255,255,.92);
  color:#687894;
  font-size:11px;
  font-weight:850;
  letter-spacing:.01em;
  box-shadow:0 4px 13px rgba(82,104,147,.045);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
#professor .professor-controls .select-label:hover,
#professor .professor-controls .select-label:focus-within{
  border-color:#b9cae8;
  box-shadow:0 7px 18px rgba(91,114,166,.09);
  transform:translateY(-1px);
}
#professor .professor-controls .select-label::after,
#professor .pick-generate-controls label::after,
#professor .minor-generate-controls label::after{
  content:"";
  position:absolute;
  right:13px;
  bottom:19px;
  width:7px;
  height:7px;
  border-right:2px solid #7d8dab;
  border-bottom:2px solid #7d8dab;
  pointer-events:none;
  transform:rotate(45deg);
}
#professor .professor-controls select{
  appearance:none;
  min-height:39px;
  margin:0!important;
  padding:8px 30px 8px 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#34445f!important;
  box-shadow:none!important;
  font-size:14px;
  font-weight:850;
}
#professor .professor-controls select:focus{box-shadow:none!important}

#professor .professor-summary-card,
#professor .professor-pick-manager,
#professor .minor-card,
#professor .pick-card,
#professor #minorManagementPane,
#professor .management-action-row,
#professor .minor-toolbar{
  border-color:#dae4f2!important;
  background:rgba(248,251,255,.94)!important;
  box-shadow:none!important;
}
#professor .professor-summary-card{
  background:linear-gradient(135deg,#f7faff,#f7f5ff)!important;
}
#professor .professor-minor-head{
  border-color:#d8e3f2!important;
  background:linear-gradient(135deg,#f8fbff,#f2f6ff 58%,#f7f3ff)!important;
  box-shadow:0 7px 20px rgba(82,105,151,.055);
}
#professor .professor-minor-head h2{color:#34445f}
#professor .professor-minor-head p{color:#74829a!important}

#professor .pick-generate-controls label,
#professor .minor-generate-controls label{
  position:relative;
  padding:8px 10px 10px;
  border:1px solid #dce5f2;
  border-radius:13px;
  background:#fff;
  color:#6d7c96;
}
#professor .pick-generate-controls select,
#professor .minor-generate-controls select{
  appearance:none;
  min-height:34px!important;
  padding:6px 27px 4px 0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#354761!important;
  font-weight:800;
}
#professor .pick-generate-controls label::after,
#professor .minor-generate-controls label::after{
  right:13px;
  bottom:20px;
}

@media(max-width:980px){
  #professor #professorPickWorkspace>.panel-head{grid-template-columns:1fr}
}
@media(max-width:620px){
  #status.status{margin:0 8px 9px;font-size:11.5px}
  #professor #professorPickWorkspace>.panel-head{padding:14px;border-radius:17px}
  #professor .professor-controls{grid-template-columns:1fr;gap:7px;padding:7px}
  #professor .professor-controls .select-label{padding:8px 10px 9px}
  #professor .professor-controls .select-label::after{bottom:17px}
  #professor .professor-controls select{min-height:34px;font-size:13px}
}

#list .resident-table-card #apptTable{
  min-width:720px!important;
  font-size:9.2px!important;
}
#list .resident-table-card.scale-70 #apptTable{font-size:9.2px!important}
#list .resident-table-card #apptTable thead th{
  padding:5px 3px!important;
  font-size:9.1px!important;
}
#list .resident-table-card #apptTable tbody td{
  padding:4px 3px!important;
  font-size:9.2px!important;
  line-height:1.2!important;
}
#list .resident-table-card #apptTable .col-time{width:60px!important}
#list .resident-table-card #apptTable .col-patient-no{width:72px!important}
#list .resident-table-card #apptTable .col-patient-name{width:62px!important}
#list .resident-table-card #apptTable .col-resident{width:68px!important}

.ortho-sign-table{table-layout:fixed!important}
.ortho-sign-table th:first-child{width:18%!important}
.ortho-sign-table th:last-child{width:24%!important}
.ortho-sign-table td strong{color:#496454!important;font-weight:950!important}

#ufolio #ufolioRecallSubpage{gap:8px!important}
#ufolio .ufolio-recall-head{padding:11px 13px!important;border-radius:15px!important}
#ufolio .ufolio-recall-head h3{font-size:16px!important;margin:1px 0 2px!important}
#ufolio .ufolio-recall-head p{font-size:9px!important}
#ufolio .ufolio-recall-source{padding:8px 10px!important;border-radius:12px!important}
#ufolio .ufolio-recall-results{gap:7px!important}
#ufolio .ufolio-recall-stats{display:flex!important;gap:6px!important;flex-wrap:wrap!important}
#ufolio .ufolio-recall-stats>span{
  display:flex!important;align-items:center!important;gap:7px!important;
  min-width:112px!important;padding:7px 9px!important;border-radius:11px!important;
}
#ufolio .ufolio-recall-stats strong{font-size:14px!important}
#ufolio .ufolio-recall-group-summary>span{padding:5px 8px!important}
#ufolio .ufolio-recall-card{
  grid-template-columns:auto minmax(125px,1fr) minmax(105px,.8fr) 14px minmax(110px,.85fr)!important;
  gap:7px!important;padding:7px 9px!important;border-radius:12px!important;
}
#ufolio .ufolio-recall-order,#ufolio .ufolio-recall-detail,#ufolio .ufolio-recall-state{display:none!important}
#ufolio .ufolio-recall-date.next{padding:5px 7px!important}
#ufolio .ufolio-recall-selectbar,#ufolio .ufolio-recall-applybar{padding:6px 8px!important;border-radius:11px!important}
@media(max-width:620px){
  #ufolio .ufolio-recall-card{grid-template-columns:auto minmax(0,1fr) minmax(95px,.8fr)!important}
  #ufolio .ufolio-recall-date:not(.next),#ufolio .ufolio-recall-arrow{display:none!important}
  #ufolio .ufolio-recall-date.next{grid-column:3!important;grid-row:1!important}
}

/* 2026-09 bright pastel theme and compact mobile resident list */
:root{
  --bg:#f4f8ff;
  --card:#ffffff;
  --ink:#253047;
  --muted:#71809a;
  --line:#dfe7f4;
  --primary:#788bd2;
  --primary2:#72b9b0;
  --soft:#eef3ff;
  --shadow:0 16px 44px rgba(92,112,151,.10);
  --lux-bg:#f4f8ff;
  --lux-surface:#ffffff;
  --lux-surface-soft:#f7f9ff;
  --lux-surface-green:#f0faf8;
  --lux-ink:#253047;
  --lux-muted:#71809a;
  --lux-forest:#788bd2;
  --lux-forest-dark:#6478bf;
  --lux-sage:#dff3ef;
  --lux-bronze:#9a83c7;
  --lux-bronze-soft:#f1ebff;
  --lux-line:#dfe7f4;
  --lux-line-strong:#ccd8eb;
  --lux-shadow-sm:0 8px 24px rgba(91,112,151,.07);
  --lux-shadow:0 20px 58px rgba(91,112,151,.12);
}
html{background:#f4f8ff!important}
body{
  background:
    radial-gradient(circle at 4% 0,rgba(205,225,255,.72),transparent 31rem),
    radial-gradient(circle at 96% 2%,rgba(226,214,255,.62),transparent 28rem),
    radial-gradient(circle at 55% 100%,rgba(211,246,239,.48),transparent 34rem),
    linear-gradient(180deg,#fbfdff 0%,#f4f8ff 46%,#f7f5ff 100%)!important;
  color:#253047!important;
}
body::before{background:linear-gradient(90deg,rgba(255,255,255,.72),rgba(236,244,255,.28))!important}
::selection{background:#dce7ff!important;color:#263552!important}

.hero{
  border-color:#dce6f5!important;
  background:
    radial-gradient(circle at 84% 0,rgba(216,228,255,.72),transparent 34%),
    linear-gradient(135deg,rgba(255,255,255,.98),rgba(246,249,255,.98))!important;
  box-shadow:0 20px 58px rgba(91,112,151,.11)!important;
}
.hero::before{background:linear-gradient(180deg,#8ea0df,#9bcfc7 58%,#c2aee7)!important}
.hero-side{border-left-color:#e1e8f4!important}
.hero h1{background:rgba(255,255,255,.86)!important;box-shadow:0 12px 32px rgba(92,112,151,.07)!important}
.eyebrow,#ufolio .ufolio-eyebrow{color:#7a70b1!important;background:#f1edff!important}

.tabs,.clinic-subtabs,.professor-management-tabs,.personal-dept-tabs,.personal-subdept-tabs,
.personal-utility-tabs,.personal-manage-modebar,.ufolio-feature-nav,.resident-dept-tabs{
  border-color:#dce5f3!important;
  background:rgba(245,249,255,.92)!important;
}
.tab,.clinic-subtab,.professor-management-tab,.personal-dept-tab,.personal-subdept-tab,
.personal-big-mode-btn,#ufolio .ufolio-feature-tab,.resident-dept-tabs .dept-page-tab{color:#71809a!important}
.tab:hover,.clinic-subtab:hover,.professor-management-tab:hover,.personal-dept-tab:hover,
.personal-subdept-tab:hover,.personal-big-mode-btn:hover,#ufolio .ufolio-feature-tab:hover{background:#fff!important;color:#405273!important}
.tab.active,.clinic-subtab.active,.professor-management-tab.active,.personal-dept-tab.active,
.personal-subdept-tab.active,.personal-big-mode-btn.active,#ufolio .ufolio-feature-tab.active,
.resident-dept-tabs .dept-page-tab.active{
  border-color:#bdcae7!important;
  background:linear-gradient(135deg,#e8efff,#f2edff)!important;
  color:#425683!important;
  box-shadow:0 6px 16px rgba(100,122,174,.10)!important;
}

.panel,.personal-card,.personal-section-card,.chart-card,.list-dept-panel,.ortho-sign-card,
.ufolio-hero-card,.ufolio-connect-card,.ufolio-dashboard,#personalCardList .personal-patient-card{
  border-color:#dfe7f4!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 9px 28px rgba(91,112,151,.07)!important;
}
.meta-pill,.dept-pill,.ufolio-row-count{
  border-color:#d7e2f2!important;
  background:#f1f6ff!important;
  color:#667797!important;
}
.empty,.status,.personal-patient-searchbar,.personal-table-head,.personal-card-clinician-row,
.personal-surgery-heading,.professor-summary-card,.professor-pick-manager,.minor-card,.pick-card{
  border-color:#dfe7f4!important;
  background:#f8faff!important;
}

button:not(.tab):not(.secondary),input[type="submit"],.ufolio-primary-button{
  border-color:#7185cc!important;
  background:linear-gradient(135deg,#7185cc,#8799dc)!important;
  color:#fff!important;
  box-shadow:0 8px 20px rgba(100,121,185,.17)!important;
}
button:not(.tab):not(.secondary):hover,input[type="submit"]:hover,.ufolio-primary-button:hover{
  background:linear-gradient(135deg,#657ac5,#8094da)!important;
}
button.secondary,.secondary,.ufolio-soft-button,.ufolio-link-button{
  border-color:#cfdaec!important;
  background:#f7f9ff!important;
  color:#5f7090!important;
}
input[type="text"],input[type="password"],input[type="email"],input[type="number"],input[type="date"],
input[type="time"],input[type="file"],select,textarea{border-color:#ccd9ec!important;background:#fff!important;color:#2e3a53!important}
input:focus,select:focus,textarea:focus{border-color:#91a3db!important;box-shadow:0 0 0 4px rgba(132,151,211,.14)!important}
input[type="checkbox"],input[type="radio"]{accent-color:#788bd2!important}

.table-wrap,.professor-table-wrap,.ortho-sign-table-wrap,#list .resident-table-card{border-color:#dce5f2!important;background:#fff!important}
thead th,#list .resident-table-card #apptTable thead th{background:#eef4ff!important;color:#526482!important;border-bottom-color:#d6e1f1!important}
tbody td,#list .resident-table-card #apptTable tbody td{border-bottom-color:#e8eef7!important;color:#34415a!important}
tbody tr:nth-child(even) td,#list .resident-table-card #apptTable tbody tr:nth-child(even) td{background:#f8faff!important}
tbody tr:hover td,#list .resident-table-card #apptTable tbody tr:hover td{background:#eef8f7!important}
.bar{background:#e8eef9!important}.bar i{background:linear-gradient(90deg,#8da2e0,#82c6bd)!important}

#list .resident-title-card{border-color:#dce5f3!important;background:linear-gradient(135deg,#fff,#f1f6ff)!important}
#list .resident-department-card{border-color:#d9e5f2!important;background:linear-gradient(135deg,#eef5ff,#f4f0ff)!important}
#list .resident-department-card .resident-dept-tabs{border-color:#d9e3f1!important;background:rgba(255,255,255,.7)!important}
#list .resident-department-card .resident-dept-tabs .dept-page-tab.active{border-color:#b8c8e8!important;background:#e4edff!important;color:#405982!important}
#list .resident-tools-card{border-color:#dce5f3!important;background:rgba(255,255,255,.96)!important}
.color-action.active,.time-filter-action.active,.total-filter-action.active{border-color:#abd4cc!important;background:#e5f7f3!important;color:#3e746c!important}

#personalCardList .personal-patient-card .personal-card-clinician-row,
#personalCardList .prostho-actions-with-resident .prostho-resident-wrap,
#personalCardList .prostho-visit-resident-row .prostho-resident-wrap{border-color:#d8e5f2!important;background:linear-gradient(135deg,#eef6ff,#f2f0ff)!important}
.personal-attendance-notice{border-color:#e2d8f4!important;background:#f5f0ff!important;color:#685c86!important}
#personal .type-pill.type-bonto{border-color:#cbd9ef!important;background:#eaf2ff!important;color:#516a98!important}
.ortho-sign-card{background:linear-gradient(135deg,#eff6ff,#f3efff)!important}
.ortho-sign-table thead th{background:#eaf1ff!important;color:#455b7e!important}
.ortho-sign-table tbody th{background:#f5f8ff!important;color:#566886!important}
.ortho-sign-legend{border-color:#dce5f3!important;background:#f7f9ff!important}

#ufolio .ufolio-hero-card{border-color:#dce5f3!important;background:linear-gradient(135deg,#f7fbff,#f2efff)!important}
#ufolio .ufolio-feature-icon{background:#ecefff!important;color:#6879b0!important}
#ufolio .ufolio-feature-tab.active .ufolio-feature-icon{background:#7b8fd3!important;color:#fff!important}
#ufolio .ufolio-connect-card,#ufolio .ufolio-dashboard,#ufolio .ufolio-ortho-candidates,
#ufolio .ufolio-ortho-review{border-color:#dce5f3!important;background:#fff!important}
#ufolio .ufolio-connection-info{background:#f1f6ff!important;color:#657896!important}
#ufolio .ufolio-connection-info.configured{border-color:#c8e4dd!important;background:#eaf8f5!important;color:#46756d!important}
#ufolio .ufolio-subpage-heading,#ufolio .ufolio-ortho-import-head{border-color:#dce5f3!important;background:linear-gradient(135deg,#fff,#f1f5ff)!important}
#ufolio .ufolio-overview-card{border-color:#e0e7f3!important;background:#f8faff!important}
#ufolio .ufolio-overview-card.active{border-color:#7b8fd3!important;background:#7b8fd3!important}
#ufolio .ufolio-dept-picker{border-color:#dce5f3!important;background:#f4f7ff!important}
#ufolio .ufolio-dept-tabs button.active{border-color:#b9cae9!important;background:#e8efff!important;color:#466087!important}
#ufolio .ufolio-dept-summary{border-color:#dae5f2!important;background:linear-gradient(135deg,#eef6ff,#f2efff)!important}
#ufolio .ufolio-score-group>header{border-color:#e1e8f3!important;background:#f1f5ff!important}
#ufolio .ufolio-score-item,#ufolio .ufolio-metric{border-color:#e5ebf5!important;background:#f8faff!important}
#ufolio .ufolio-metric.patients{background:#eaf8f5!important}
#ufolio .ufolio-metric.score{background:#f1edff!important}
#ufolio .ufolio-metric.score strong{color:#7866a5!important}

@media(max-width:620px){
  .shell{width:min(100% - 12px,1480px)!important;padding-top:8px!important}
  #list .resident-list-panel{padding:8px!important}
  #list .resident-control-stack{gap:6px!important;margin-bottom:6px!important}
  #list .resident-table-card{border-radius:12px!important;overflow:auto!important;scrollbar-gutter:auto!important}
  #list .resident-table-card #apptTable,
  #list .resident-table-card.scale-70 #apptTable{
    width:100%!important;
    min-width:500px!important;
    table-layout:fixed!important;
    font-size:8px!important;
    line-height:1.08!important;
  }
  #list .resident-table-card #apptTable thead th{
    padding:3px 1px!important;
    font-size:7.7px!important;
    line-height:1.05!important;
    letter-spacing:-.05em!important;
  }
  #list .resident-table-card #apptTable tbody td{
    padding:3px 1px!important;
    font-size:8px!important;
    line-height:1.12!important;
    letter-spacing:-.035em!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  #list .resident-table-card #apptTable .col-dept{width:43px!important}
  #list .resident-table-card #apptTable .col-time{width:43px!important}
  #list .resident-table-card #apptTable .col-patient-no{width:59px!important}
  #list .resident-table-card #apptTable .col-patient-name{width:48px!important}
  #list .resident-table-card #apptTable .col-resident{width:53px!important}
  #list .resident-table-card #apptTable .col-treatment,
  #list .resident-table-card #apptTable .treatment-cell{width:126px!important;max-width:126px!important}
  #list .resident-table-card #apptTable .col-conservative{width:48px!important}
  #list .resident-table-card #apptTable .dept-pill{padding:2px 3px!important;font-size:7px!important;letter-spacing:-.05em!important}
  #list .resident-table-card #apptTable .treatment-cell{
    white-space:normal!important;
    word-break:break-all!important;
    display:table-cell!important;
    max-height:2.4em!important;
  }
}
@media(max-width:390px){
  #list .resident-table-card #apptTable,
  #list .resident-table-card.scale-70 #apptTable{min-width:468px!important;font-size:7.5px!important}
  #list .resident-table-card #apptTable thead th{font-size:7.2px!important}
  #list .resident-table-card #apptTable tbody td{font-size:7.5px!important}
  #list .resident-table-card #apptTable .col-treatment,
  #list .resident-table-card #apptTable .treatment-cell{width:112px!important;max-width:112px!important}
}

@media(max-width:620px){
  #list .resident-table-card #apptTable,
  #list .resident-table-card.scale-70 #apptTable{width:100%!important;min-width:100%!important}
  #list .resident-table-card #apptTable .col-dept,
  #list .resident-table-card #apptTable .col-conservative{display:none!important}
  #list .resident-table-card #apptTable .col-time{width:40px!important}
  #list .resident-table-card #apptTable .col-patient-no{width:54px!important}
  #list .resident-table-card #apptTable .col-patient-name{width:44px!important}
  #list .resident-table-card #apptTable .col-resident{width:48px!important}
  #list .resident-table-card #apptTable .col-treatment,
  #list .resident-table-card #apptTable .treatment-cell{width:auto!important;max-width:none!important}
}
@media(max-width:390px){
  #list .resident-table-card #apptTable,
  #list .resident-table-card.scale-70 #apptTable{min-width:100%!important}
  #list .resident-table-card #apptTable .col-time{width:37px!important}
  #list .resident-table-card #apptTable .col-patient-no{width:50px!important}
  #list .resident-table-card #apptTable .col-patient-name{width:41px!important}
  #list .resident-table-card #apptTable .col-resident{width:44px!important}
}

/* Pastel background is intentionally visible outside the white content cards. */
html{background:#edf4ff!important}
body{
  background-color:#edf4ff!important;
  background-image:
    radial-gradient(circle at 8% 8%,rgba(191,218,255,.82) 0,rgba(216,232,255,.58) 18rem,transparent 38rem),
    radial-gradient(circle at 92% 10%,rgba(224,207,255,.76) 0,rgba(239,229,255,.52) 17rem,transparent 36rem),
    radial-gradient(circle at 78% 88%,rgba(194,239,229,.68) 0,rgba(224,248,243,.48) 19rem,transparent 39rem),
    radial-gradient(circle at 18% 92%,rgba(255,211,230,.50) 0,rgba(255,235,244,.38) 16rem,transparent 35rem),
    linear-gradient(145deg,#eef6ff 0%,#f2efff 47%,#ecfaf7 100%)!important;
  background-attachment:fixed!important;
}
body::before{
  height:360px!important;
  background:linear-gradient(110deg,rgba(255,255,255,.42),rgba(226,238,255,.18),rgba(239,230,255,.22))!important;
}
@media(max-width:620px){
  body{
    background-image:
      radial-gradient(circle at 0 4%,rgba(194,220,255,.78),transparent 23rem),
      radial-gradient(circle at 100% 18%,rgba(225,210,255,.70),transparent 22rem),
      radial-gradient(circle at 50% 100%,rgba(201,241,232,.62),transparent 26rem),
      linear-gradient(160deg,#eef6ff 0%,#f4efff 52%,#ecfaf7 100%)!important;
  }
}

/* 2026-09 final pastel harmony pass
   Keeps every workflow intact while unifying the remaining warm legacy surfaces. */
:root{
  --pastel-canvas:#edf2ff;
  --pastel-blue:#edf4ff;
  --pastel-lilac:#f3efff;
  --pastel-mint:#ecf9f6;
  --pastel-rose:#fff1f6;
  --pastel-line:#d7e2f2;
  --pastel-line-strong:#c5d3e9;
  --pastel-ink:#26334a;
  --pastel-muted:#6c7b95;
  --pastel-primary:#7185cc;
}

html{background:var(--pastel-canvas)!important}
body,
body[data-mode="viewer"],
body[data-mode="upload"],
body[data-mode$="settings"]{
  background-color:var(--pastel-canvas)!important;
  background-image:linear-gradient(145deg,#e9f2ff 0%,#efefff 52%,#eaf3ff 100%)!important;
  color:var(--pastel-ink)!important;
}
body::before{
  background:transparent!important;
}

/* Main frame and typography */
.hero,
.page,
.panel,
.hero-main,
.hero-side{
  border-color:rgba(209,222,241,.94)!important;
}
.hero{
  background:linear-gradient(135deg,rgba(255,255,255,.97),rgba(238,244,255,.96) 58%,rgba(243,239,255,.94))!important;
}
.hero-main{background:transparent!important}
.hero-side{
  background:linear-gradient(145deg,rgba(239,246,255,.92),rgba(246,241,255,.94))!important;
}
.hero h1{
  background:transparent!important;
  box-shadow:none!important;
}
.hero h1 span{background:transparent!important;color:#61708d!important}
.page.active{background:rgba(255,255,255,.92)!important}
.panel,
body[data-mode="upload"] .panel,
body[data-mode$="settings"] .panel{
  border-color:var(--pastel-line)!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:0 12px 34px rgba(84,107,151,.09)!important;
}
.panel-head p,.hero-text,.side-title span,.small{color:var(--pastel-muted)!important}

/* One navigation language throughout the app */
.tabs,
.clinic-subtabs,
.professor-management-tabs,
.personal-dept-tabs,
.personal-subdept-tabs,
#personal #personalTopShell > .personal-utility-tabs,
#personal .personal-utility-tabs,
.personal-manage-modebar,
.ufolio-feature-nav,
.resident-dept-tabs{
  border-color:var(--pastel-line)!important;
  background:rgba(244,248,255,.94)!important;
  box-shadow:none!important;
}
.tab:not(.active),
.clinic-subtab:not(.active),
.professor-management-tab:not(.active),
.personal-dept-tab:not(.active),
.personal-subdept-tab:not(.active),
.personal-big-mode-btn:not(.active),
#ufolio .ufolio-feature-tab:not(.active),
.resident-dept-tabs .dept-page-tab:not(.active){
  border-color:#dbe4f2!important;
  background:rgba(255,255,255,.82)!important;
  color:#6d7c95!important;
}
.tab.active,
.clinic-subtab.active,
.professor-management-tab.active,
.personal-dept-tab.active,
.personal-subdept-tab.active,
.personal-big-mode-btn.active,
#ufolio .ufolio-feature-tab.active,
.resident-dept-tabs .dept-page-tab.active{
  border-color:#b9c8e6!important;
  background:linear-gradient(135deg,#e6efff,#f0eaff)!important;
  color:#405784!important;
  box-shadow:0 6px 16px rgba(100,122,174,.10)!important;
}
#personal #personalTopShell > .personal-utility-tabs{
  border:1px solid var(--pastel-line)!important;
  background:linear-gradient(135deg,#f1f6ff,#f5f1ff)!important;
}
#personal #personalTopShell > .personal-utility-tabs .personal-mail-alert-tab,
#personal #personalTopShell > .personal-utility-tabs .personal-attendance-tab,
#personal #personalTopShell > .personal-utility-tabs .personal-calendar-tab,
#personal #personalTopShell > .personal-utility-tabs #personalTomorrowTab{
  border-color:#d5e0f0!important;
  background:#fff!important;
  color:#60708e!important;
  box-shadow:none!important;
}
#personal #personalTopShell > .personal-utility-tabs .personal-dept-tab:hover{
  border-color:#bfcde5!important;
  background:#edf4ff!important;
  color:#435a85!important;
}

/* Department, totals, professor and sign cards */
#list .resident-title-card,
#list .resident-department-card,
#list .resident-tools-card,
.professor-combined-panel,
.personal-panel,
.ortho-sign-panel{
  border-color:var(--pastel-line)!important;
  background:rgba(255,255,255,.94)!important;
}
#list .resident-title-card{background:linear-gradient(135deg,#fff,#edf4ff)!important}
#list .resident-department-card{background:linear-gradient(135deg,#edf5ff,#f3efff)!important}
#list .resident-tools-card{background:rgba(250,252,255,.96)!important}
.professor-summary-card,.professor-pick-manager,.minor-card,.pick-card,
.personal-patient-searchbar,.personal-table-head,.personal-card-clinician-row,.personal-surgery-heading{
  border-color:var(--pastel-line)!important;
  background:#f7faff!important;
}
.personal-patient-card,.personal-readonly-list>*{
  border-color:var(--pastel-line)!important;
  background:linear-gradient(145deg,#fff,#f5f8ff)!important;
  box-shadow:0 8px 24px rgba(89,111,153,.07)!important;
}
#personalAttendanceNotice.personal-attendance-notice,
.personal-attendance-notice{
  border-color:#ddd3f1!important;
  background:linear-gradient(135deg,#f5f0ff,#eef4ff)!important;
  color:#625a84!important;
}
.ortho-sign-card{border-color:#d9e3f2!important;background:linear-gradient(135deg,#edf5ff,#f3eeff)!important}
.ortho-sign-result{border-color:#d7e1ef!important;background:rgba(255,255,255,.96)!important;color:#34445f!important}
.ortho-sign-legend{border-color:#dce5f3!important;background:#f7f9ff!important}
.winner-card{
  border-color:#7387c7!important;
  background:
    radial-gradient(circle at 92% 0,rgba(225,211,255,.30),transparent 38%),
    linear-gradient(135deg,#6378bd,#738fc3 53%,#67a9a2)!important;
  box-shadow:0 15px 34px rgba(82,105,164,.17)!important;
}

/* U-folio dashboard, progress and feedback surfaces */
#ufolio .ufolio-hero-card{
  border-color:var(--pastel-line)!important;
  background:
    radial-gradient(circle at 93% 0,rgba(210,195,255,.42),transparent 35%),
    linear-gradient(135deg,#f8fbff,#eef5ff 58%,#f5efff)!important;
}
#ufolio .ufolio-eyebrow{color:#7468a9!important;background:#f0ebff!important}
#ufolio .ufolio-feature-icon{background:#ebefff!important;color:#6477ad!important}
#ufolio .ufolio-feature-tab.active .ufolio-feature-icon{background:#788bd2!important;color:#fff!important}
#ufolio .ufolio-feature-tab[data-temporarily-paused="true"]{
  border-color:#e5dce8!important;
  background:#fbf8fc!important;
  color:#88788d!important;
}
#ufolio .ufolio-feature-tab[data-temporarily-paused="true"] .ufolio-feature-icon{
  background:#f0e9f2!important;
  color:#8b778f!important;
}
#ufolio .ufolio-feature-tab[data-temporarily-paused="true"] small{color:#a06475!important}
#ufolio .ufolio-connect-card,#ufolio .ufolio-dashboard,#ufolio .ufolio-ortho-candidates,
#ufolio .ufolio-ortho-review,#ufolio .ufolio-score-group{
  border-color:var(--pastel-line)!important;
  background:#fff!important;
}
#ufolio .ufolio-subpage-heading,#ufolio .ufolio-ortho-import-head,#ufolio .ufolio-recall-head{
  border-color:var(--pastel-line)!important;
  background:linear-gradient(135deg,#fff,#eef4ff)!important;
}
#ufolio .ufolio-overview-card,#ufolio .ufolio-score-item,#ufolio .ufolio-metric,
#ufolio .ufolio-recall-source,#ufolio .ufolio-recall-selectbar,#ufolio .ufolio-recall-applybar{
  border-color:#e0e7f3!important;
  background:#f7faff!important;
}
#ufolio .ufolio-dept-picker{border-color:var(--pastel-line)!important;background:linear-gradient(135deg,#f0f6ff,#f5f1ff)!important}
#ufolio .ufolio-dept-summary{border-color:#d9e4f2!important;background:linear-gradient(135deg,#edf5ff,#f3efff)!important}
#ufolio .ufolio-score-group>header{border-color:#dfe7f3!important;background:#eff4ff!important}
#ufolio .ufolio-metric.patients{background:var(--pastel-mint)!important}
#ufolio .ufolio-metric.score{background:var(--pastel-lilac)!important}
#ufolio .ufolio-login-badge{
  border-color:#cbd8eb!important;
  background:rgba(255,255,255,.9)!important;
  color:#536988!important;
}
#ufolio .ufolio-personal-auth-card{
  border-color:var(--pastel-line)!important;
  background:linear-gradient(135deg,#ffffff,#eef5ff 62%,#f4efff)!important;
  box-shadow:0 9px 28px rgba(91,112,151,.07)!important;
}
#ufolio .ufolio-personal-auth-card h3{color:var(--pastel-ink)!important}
#ufolio .ufolio-personal-auth-card p,
#ufolio .ufolio-personal-login-form label{color:var(--pastel-muted)!important}
#ufolio .ufolio-personal-login-form input,
#ufolio .ufolio-credential-grid input{
  border-color:#cad7eb!important;
  background:#fff!important;
  color:#2f3c55!important;
}
#ufolio .ufolio-personal-login-form input:focus,
#ufolio .ufolio-credential-grid input:focus{
  border-color:#91a3da!important;
  box-shadow:0 0 0 4px rgba(132,151,211,.14)!important;
}
#ufolio .ufolio-primary-button{
  border-color:#7084ca!important;
  background:linear-gradient(135deg,#7084ca,#8799dc)!important;
  color:#fff!important;
  box-shadow:0 8px 20px rgba(100,121,185,.17)!important;
}
#ufolio .ufolio-primary-button:hover{background:linear-gradient(135deg,#6479c4,#7f93d8)!important}
#ufolio .ufolio-soft-button{
  border-color:#cfdaec!important;
  background:#f5f8ff!important;
  color:#5f7090!important;
}
#ufolio .ufolio-menu-logout{
  border-color:#efcad6!important;
  background:#fff4f7!important;
  color:#97546a!important;
}
#ufolio .ufolio-row-count{border-color:#d8e2f0!important;background:#eef4ff!important;color:#60718e!important}
#ufolio .ufolio-sync-progress{border-color:var(--pastel-line)!important;background:#f8faff!important}
#ufolio .ufolio-sync-track{background:#e5ecf7!important}
#ufolio .ufolio-sync-track i{background:linear-gradient(90deg,#788bd2,#79beb4)!important}
#ufolio .ufolio-status,
#ufolio .ufolio-missing-note,
.ufolio-status,
.ufolio-missing-note{
  border-color:#dbe4f2!important;
  background:#f2f6ff!important;
  color:#60718f!important;
}
#ufolio .ufolio-status.error,.ufolio-status.error{
  border-color:#f0cbd8!important;
  background:var(--pastel-rose)!important;
  color:#9b5169!important;
}

/* Upload, mail, attendance, calendar and guide pages */
.file-card{
  border-color:#bfcde4!important;
  background:linear-gradient(145deg,#f0f6ff,#f6f2ff)!important;
  color:#485a79!important;
}
.file-card:hover{border-color:#879bd1!important;background:#fff!important}
.saved-info,.upload-progress-box,.alert-status-line,.calendar-url-card,.calendar-title-settings,
.calendar-guide-box,.alert-instruction-box,.alert-toggle-card,.alert-switch-card,.alert-dept-card{
  border-color:var(--pastel-line)!important;
  background:#f5f8ff!important;
  color:#5c6d89!important;
  box-shadow:none!important;
}
.upload-progress-track{border-color:#d7e1ef!important;background:#e7edf7!important}
.upload-progress-track span{background:linear-gradient(90deg,#7489cf,#76bdb3)!important}
.alert-guide-card,.calendar-guide-card,.attendance-guide-card{
  border-color:var(--pastel-line)!important;
  background:linear-gradient(145deg,#edf5ff,#f3eeff)!important;
}
.alert-side-chip{
  border-color:#cad7ec!important;
  background:linear-gradient(135deg,#edf4ff,#f3efff)!important;
  color:#526991!important;
}
.alert-mini-preview,.calendar-title-option{
  border-color:#d7e1ef!important;
  background:#fff!important;
  color:#425779!important;
}
.calendar-title-option:hover,.calendar-title-option.active{
  border-color:#aebfe0!important;
  background:linear-gradient(135deg,#eaf2ff,#f2edff)!important;
}
.calendar-title-option input{accent-color:var(--pastel-primary)!important}
.calendar-note{border-color:#d8e4f2!important;background:var(--pastel-mint)!important;color:#4d716b!important}
.floating-back-btn{
  border-color:#cbd8eb!important;
  background:rgba(255,255,255,.92)!important;
  color:#506791!important;
  box-shadow:0 10px 28px rgba(83,104,148,.12)!important;
}
.guide-hero,.guide-section{
  border-color:rgba(209,222,241,.96)!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:0 16px 46px rgba(85,106,151,.10)!important;
}
.guide-visual{background:linear-gradient(145deg,rgba(188,211,255,.34),rgba(218,201,255,.34),rgba(185,234,225,.30))!important}
.guide-section-head span,.guide-icon{background:#eaf1ff!important;color:#5b70a0!important}
.guide-step-grid article,.guide-feature-grid article,.guide-total-grid article{border-color:var(--pastel-line)!important;background:linear-gradient(180deg,#fff,#f5f8ff)!important}
.guide-tips{background:linear-gradient(135deg,#667bc0,#738bc1 52%,#6aada5)!important}

/* Tablet navigation: no clipped last menu item. */
@media(max-width:880px){
  .tabs{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:5px!important;
    overflow:visible!important;
    padding:6px!important;
    border-radius:17px!important;
  }
  .tabs .tab{
    width:100%!important;
    min-width:0!important;
    padding:9px 5px!important;
    font-size:10.5px!important;
    line-height:1.2!important;
    white-space:normal!important;
    text-align:center!important;
  }
}
@media(max-width:430px){
  .tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* Mobile resident list: preserve all essential columns at a readable density. */
@media(max-width:620px){
  .page.active{padding:8px!important}
  #list .resident-table-card #apptTable tbody td{font-weight:650!important}
  #list .resident-table-card #apptTable .col-patient-name,
  #list .resident-table-card #apptTable .col-resident{font-weight:850!important}
  #list .resident-table-card #apptTable .treatment-cell{line-height:1.14!important}
  body,body[data-mode="viewer"],body[data-mode="upload"],body[data-mode$="settings"]{
    background-image:linear-gradient(160deg,#e9f2ff 0%,#f0efff 54%,#eaf3ff 100%)!important;
  }
}

/* Final specificity guard: legacy professor buttons used element-qualified selectors. */
#professor button.professor-management-tab{
  border-color:#d8e2f1!important;
  background:rgba(255,255,255,.86)!important;
  color:#6a7892!important;
  box-shadow:none!important;
}
#professor button.professor-management-tab:hover{
  border-color:#bdcce7!important;
  background:#f8fbff!important;
  color:#465d89!important;
}
#professor button.professor-management-tab.active{
  border-color:#afc2e7!important;
  background:linear-gradient(135deg,#dce9ff,#ebe3ff)!important;
  color:#3d5485!important;
  box-shadow:0 6px 17px rgba(92,113,171,.12)!important;
}

/* 2026-09 navigation, hero actions, search focus and R/C review */
body[data-mode="viewer"] .hero{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(290px,350px)!important;
  align-items:stretch!important;
  gap:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid #d6e2f3!important;
  border-radius:30px!important;
  background:rgba(255,255,255,.92)!important;
  box-shadow:0 22px 64px rgba(77,101,147,.12)!important;
}
body[data-mode="viewer"] .hero .hero-main{
  min-width:0!important;
  display:grid!important;
  grid-template-columns:minmax(300px,1fr) minmax(390px,.9fr)!important;
  align-items:center!important;
  gap:28px!important;
  padding:34px 36px!important;
  background:linear-gradient(135deg,#fbfdff 0%,#f0f6ff 55%,#f5f1ff 100%)!important;
}
body[data-mode="viewer"] .hero .hero-title-block{min-width:0!important}
body[data-mode="viewer"] .hero .hero-title-block h1{
  margin:10px 0 0!important;
  color:#21304b!important;
  background:none!important;
}
body[data-mode="viewer"] .hero .hero-title-block h1 span{
  display:inline-flex!important;
  margin-left:10px!important;
  vertical-align:middle!important;
}
body[data-mode="viewer"] .hero .hero-analysis-actions{
  display:grid!important;
  grid-template-columns:minmax(150px,.82fr) minmax(205px,1.18fr)!important;
  gap:10px!important;
  min-width:0!important;
}
body[data-mode="viewer"] .hero .hero-upload-link,
body[data-mode="viewer"] .hero .hero-last-analysis{
  min-width:0!important;
  min-height:74px!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  padding:14px 15px!important;
  border:1px solid #d3dff0!important;
  border-radius:19px!important;
  text-decoration:none!important;
  box-shadow:0 10px 24px rgba(78,104,151,.09)!important;
}
body[data-mode="viewer"] .hero .hero-upload-link{
  background:linear-gradient(145deg,#6f86ca,#7b8ed8)!important;
  border-color:#7287cc!important;
  color:#fff!important;
}
body[data-mode="viewer"] .hero .hero-upload-link:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 14px 28px rgba(74,94,155,.22)!important;
}
body[data-mode="viewer"] .hero .hero-last-analysis{
  background:rgba(255,255,255,.82)!important;
  color:#33445f!important;
}
body[data-mode="viewer"] .hero .hero-analysis-actions strong,
body[data-mode="viewer"] .hero .hero-analysis-actions small{display:block!important}
body[data-mode="viewer"] .hero .hero-upload-link strong{font-size:14px!important;color:#fff!important}
body[data-mode="viewer"] .hero .hero-upload-link small{margin-top:3px!important;color:rgba(255,255,255,.78)!important;font-size:10px!important}
body[data-mode="viewer"] .hero .hero-last-analysis small{color:#7a88a0!important;font-size:10px!important;font-weight:800!important}
body[data-mode="viewer"] .hero .hero-last-analysis strong{margin-top:3px!important;color:#344563!important;font-size:11px!important;line-height:1.35!important}
body[data-mode="viewer"] .hero .hero-action-icon{
  flex:0 0 35px!important;
  width:35px!important;
  height:35px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.18)!important;
  color:#fff!important;
  font-size:19px!important;
  font-weight:900!important;
}
body[data-mode="viewer"] .hero .hero-action-icon.recent{
  background:#e8f5f1!important;
  color:#4f887d!important;
}
body[data-mode="viewer"] .hero .hero-shortcut-side{
  display:grid!important;
  grid-template-rows:1fr 1fr!important;
  gap:10px!important;
  padding:18px!important;
  border-left:1px solid #dce5f3!important;
  background:linear-gradient(155deg,#f7fbff,#f5f1ff)!important;
}
body[data-mode="viewer"] .hero button.hero-page-shortcut{
  width:100%!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:40px minmax(0,1fr) 20px!important;
  align-items:center!important;
  gap:11px!important;
  padding:13px 14px!important;
  border:1px solid #d4dfef!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.82)!important;
  color:#344663!important;
  text-align:left!important;
  box-shadow:0 8px 22px rgba(76,100,146,.08)!important;
}
body[data-mode="viewer"] .hero button.hero-page-shortcut:hover,
body[data-mode="viewer"] .hero button.hero-page-shortcut.active{
  transform:translateY(-1px)!important;
  border-color:#b8c8e4!important;
  box-shadow:0 12px 26px rgba(76,100,146,.14)!important;
}
body[data-mode="viewer"] .hero button.personal-shortcut{background:linear-gradient(135deg,#f5fffb,#edf7f5)!important}
body[data-mode="viewer"] .hero button.ufolio-shortcut{background:linear-gradient(135deg,#fbf9ff,#f1edff)!important}
body[data-mode="viewer"] .hero .hero-shortcut-icon{
  width:40px!important;height:40px!important;display:grid!important;place-items:center!important;
  border-radius:13px!important;background:#dff1ec!important;color:#47796f!important;font-weight:950!important;
}
body[data-mode="viewer"] .hero .ufolio-shortcut .hero-shortcut-icon{background:#e8e2fa!important;color:#675b9c!important}
body[data-mode="viewer"] .hero .hero-page-shortcut strong,
body[data-mode="viewer"] .hero .hero-page-shortcut small{display:block!important}
body[data-mode="viewer"] .hero .hero-page-shortcut strong{color:#33445f!important;font-size:13px!important}
body[data-mode="viewer"] .hero .hero-page-shortcut small{margin-top:3px!important;color:#8591a6!important;font-size:10px!important}
body[data-mode="viewer"] .hero .hero-shortcut-arrow{color:#91a0b8!important;font-size:18px!important}

body[data-mode="viewer"] .tabs{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:7px!important;
  overflow:visible!important;
}
body[data-mode="viewer"] .tabs .tab{width:100%!important;min-width:0!important}

#list button.rc-filter-action{
  border-color:#c8d7e8!important;
  background:#f8fbff!important;
  color:#566b88!important;
}
#list button.rc-filter-action[aria-pressed="true"]{
  border-color:#b6c9e3!important;
  background:linear-gradient(135deg,#e6efff,#eee9ff)!important;
  color:#405a89!important;
  box-shadow:0 5px 14px rgba(83,108,162,.12)!important;
}
#apptTable tbody tr.rc-dim-row td{
  opacity:.35!important;
  color:#8792a3!important;
  background:#f2f5f9!important;
  filter:saturate(.28)!important;
}
#apptTable tbody tr.rc-dim-row:hover td{opacity:.56!important}
#apptTable tbody tr.hit td{opacity:1!important;filter:none!important}
#apptTable tbody tr.search-focus-row{
  scroll-margin-block:28vh!important;
  outline:3px solid rgba(224,103,126,.32)!important;
  outline-offset:-3px!important;
  animation:search-row-focus 1.05s ease-out 2!important;
}
@keyframes search-row-focus{
  0%,100%{box-shadow:0 0 0 0 rgba(224,103,126,0)}
  45%{box-shadow:0 0 0 7px rgba(224,103,126,.18)}
}

@media(max-width:1180px){
  body[data-mode="viewer"] .hero .hero-main{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
}
@media(max-width:900px){
  body[data-mode="viewer"] .hero{grid-template-columns:1fr!important;border-radius:24px!important}
  body[data-mode="viewer"] .hero .hero-main{padding:25px 22px!important}
  body[data-mode="viewer"] .hero .hero-shortcut-side{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:auto!important;
    border-left:0!important;
    border-top:1px solid #dce5f3!important;
  }
}
@media(max-width:560px){
  body[data-mode="viewer"] .hero .hero-main{padding:21px 17px!important;gap:15px!important}
  body[data-mode="viewer"] .hero .hero-title-block h1 span{margin:8px 0 0!important}
  body[data-mode="viewer"] .hero .hero-analysis-actions{grid-template-columns:1fr!important}
  body[data-mode="viewer"] .hero .hero-upload-link,
  body[data-mode="viewer"] .hero .hero-last-analysis{min-height:62px!important;padding:11px 13px!important}
  body[data-mode="viewer"] .hero .hero-shortcut-side{gap:7px!important;padding:12px!important}
  body[data-mode="viewer"] .hero button.hero-page-shortcut{
    grid-template-columns:34px minmax(0,1fr)!important;
    gap:8px!important;padding:10px!important;
  }
  body[data-mode="viewer"] .hero .hero-shortcut-icon{width:34px!important;height:34px!important;border-radius:11px!important}
  body[data-mode="viewer"] .hero .hero-shortcut-arrow{display:none!important}
  body[data-mode="viewer"] .hero .hero-page-shortcut strong{font-size:11px!important}
  body[data-mode="viewer"] .hero .hero-page-shortcut small{font-size:9px!important}
  body[data-mode="viewer"] .tabs{grid-template-columns:repeat(3,minmax(0,1fr))!important;padding:5px!important}
  body[data-mode="viewer"] .tabs .tab{padding:9px 3px!important;font-size:9.5px!important}
}

/* 2026-09 v225: clearer controls and unified list/management surfaces */
:root{
  --ui-blue:#647dcc;
  --ui-blue-deep:#526bb8;
  --ui-lilac:#8876c4;
  --ui-mint:#5d9f94;
  --ui-rose:#c87388;
  --ui-control-line:#c9d7ea;
}

body[data-mode="viewer"] button:not(.tab):not(.hero-page-shortcut),
body[data-mode="viewer"] .as-link,
body[data-mode="viewer"] a.button{
  border:1px solid #657dcc!important;
  border-radius:13px!important;
  background:linear-gradient(145deg,#6e86d2,#637bc7)!important;
  color:#fff!important;
  box-shadow:0 7px 17px rgba(76,99,169,.17)!important;
  font-weight:850!important;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease!important;
}
body[data-mode="viewer"] button:not(.tab):not(.hero-page-shortcut):hover,
body[data-mode="viewer"] .as-link:hover,
body[data-mode="viewer"] a.button:hover{
  transform:translateY(-1px)!important;
  border-color:#536cba!important;
  background:linear-gradient(145deg,#637dcc,#5971bc)!important;
  box-shadow:0 10px 22px rgba(75,97,164,.22)!important;
}
body[data-mode="viewer"] button.secondary,
body[data-mode="viewer"] button.ghost,
body[data-mode="viewer"] .secondary,
body[data-mode="viewer"] a.button.secondary{
  border-color:var(--ui-control-line)!important;
  background:linear-gradient(145deg,#fff,#f1f5fc)!important;
  color:#526582!important;
  box-shadow:0 5px 13px rgba(77,99,143,.08)!important;
}
body[data-mode="viewer"] button.secondary:hover,
body[data-mode="viewer"] button.ghost:hover,
body[data-mode="viewer"] .secondary:hover{
  border-color:#afc0dc!important;
  background:linear-gradient(145deg,#fff,#eaf1fb)!important;
  color:#40577c!important;
}
body[data-mode="viewer"] button.danger,
body[data-mode="viewer"] button.danger-soft{
  border-color:#e5b8c4!important;
  background:linear-gradient(145deg,#fff7f9,#ffe9ef)!important;
  color:#a95069!important;
  box-shadow:0 5px 13px rgba(177,78,104,.08)!important;
}
body[data-mode="viewer"] button:disabled{
  opacity:.55!important;
  transform:none!important;
  box-shadow:none!important;
  cursor:wait!important;
}

body[data-mode="viewer"] .tabs .tab{
  border:1px solid #d4deee!important;
  background:rgba(255,255,255,.72)!important;
  color:#687994!important;
  box-shadow:0 4px 12px rgba(79,100,143,.055)!important;
}
body[data-mode="viewer"] .tabs .tab:hover{
  border-color:#b8c7df!important;
  background:#fff!important;
  color:#465d84!important;
}
body[data-mode="viewer"] .tabs .tab.active{
  border-color:#aebee0!important;
  background:linear-gradient(135deg,#dce8ff,#ebe4ff)!important;
  color:#3e5689!important;
  box-shadow:0 7px 17px rgba(85,106,165,.13)!important;
}

#list .resident-overview-card{
  overflow:hidden!important;
  border:1px solid #cfddf0!important;
  border-radius:24px!important;
  background:
    radial-gradient(circle at 92% 0,rgba(209,221,255,.65),transparent 38%),
    linear-gradient(145deg,rgba(255,255,255,.98),rgba(239,245,255,.97))!important;
  box-shadow:0 13px 32px rgba(76,101,151,.10)!important;
}
#list .resident-overview-card .resident-title-card,
#list .resident-overview-card .resident-department-card{
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#list .resident-overview-card .resident-title-card{
  min-height:78px!important;
  padding:18px 20px 14px!important;
}
#list .resident-section-kicker{
  display:block!important;
  margin:0 0 5px!important;
  color:#7186c8!important;
  font-size:9px!important;
  font-weight:950!important;
  letter-spacing:.15em!important;
}
#list .resident-overview-card .resident-title-card h2{color:#273650!important}
#list .resident-overview-divider{
  height:1px!important;
  margin:0 18px!important;
  background:linear-gradient(90deg,#d6e2f1,rgba(214,226,241,.3))!important;
}
#list .resident-overview-card .resident-department-card{
  padding:13px 18px 17px!important;
}
#list .resident-overview-card .resident-department-card .list-dept-head{
  align-items:flex-end!important;
  margin-bottom:9px!important;
}
#list .resident-overview-card .resident-department-card .list-dept-head strong{
  min-height:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#465a7c!important;
  font-size:.82rem!important;
}
#list .resident-overview-card .resident-department-card .list-dept-head span{
  display:block!important;
  margin:0!important;
  color:#8592a8!important;
  font-size:.69rem!important;
}
#list .resident-overview-card .resident-dept-tabs{
  gap:7px!important;
  padding:8px!important;
  border:1px solid rgba(203,216,235,.9)!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.66)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85)!important;
}
#list .resident-overview-card .resident-dept-tabs .dept-page-tab{
  min-height:36px!important;
  border-color:#d5dfed!important;
  border-radius:11px!important;
  background:linear-gradient(145deg,#fff,#f2f6fc)!important;
  color:#687895!important;
  box-shadow:0 4px 10px rgba(75,98,144,.06)!important;
}
#list .resident-overview-card .resident-dept-tabs .dept-page-tab:hover{
  border-color:#b8c8e2!important;
  background:#fff!important;
  color:#435b83!important;
}
#list .resident-overview-card .resident-dept-tabs .dept-page-tab.active{
  border-color:#9fcfc4!important;
  background:linear-gradient(145deg,#dff5ef,#e9f3ff)!important;
  color:#347266!important;
  box-shadow:0 6px 14px rgba(68,137,123,.13)!important;
}
#list .resident-overview-card .resident-dept-tabs .dept-page-tab.all-tab.active{
  border-color:#b9afe0!important;
  background:linear-gradient(145deg,#ebe6ff,#e5efff)!important;
  color:#65568f!important;
}
#list .resident-overview-card .resident-title-card .select-label{
  border-color:#becdea!important;
  background:rgba(255,255,255,.82)!important;
  color:#52698f!important;
  box-shadow:0 5px 13px rgba(76,99,146,.07)!important;
}

#list .resident-tools-card{
  gap:2px!important;
  padding:7px!important;
  border-color:#d4e0ef!important;
  background:rgba(251,253,255,.97)!important;
}
#list #listSpecialTools.resident-quick-filter-card{
  margin:0!important;
  padding:3px 4px 4px!important;
  border:0!important;
  background:transparent!important;
}
#list .resident-search-card{margin:0!important;padding:2px 4px 3px!important}
#list .resident-quick-filter-card button{
  border-color:#ccd8e8!important;
  background:linear-gradient(145deg,#fff,#f0f5fb)!important;
  color:#5c6f8d!important;
  box-shadow:0 4px 10px rgba(76,98,139,.065)!important;
}
#list .resident-quick-filter-card button[aria-pressed="true"]{
  border-color:#9fcfc4!important;
  background:linear-gradient(145deg,#dcf4ed,#e7f1ff)!important;
  color:#347266!important;
}
#list .resident-search-card #searchBtn{
  border-color:#93c9bc!important;
  background:linear-gradient(145deg,#dff5ef,#cfece5)!important;
  color:#316b60!important;
  box-shadow:0 5px 12px rgba(62,131,116,.10)!important;
}
#list .resident-search-card #resetBtn{
  border-color:#cad6e8!important;
  background:linear-gradient(145deg,#fff,#eef3fa)!important;
  color:#5f708d!important;
}

#professor.page,
#orthoSign.page,
#professor.page.active,
#orthoSign.page.active{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
#professor .professor-panel.professor-combined-panel,
#orthoSign .ortho-sign-panel{
  overflow:hidden!important;
  margin:0!important;
  border:1px solid #d3e0f0!important;
  border-radius:26px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(240,246,255,.97))!important;
  box-shadow:0 15px 38px rgba(75,99,149,.10)!important;
  background-clip:padding-box!important;
}
#professor button.professor-management-tab{
  border-color:#cbd8eb!important;
  background:linear-gradient(145deg,#fff,#f0f4fb)!important;
  color:#5f7090!important;
  box-shadow:0 4px 11px rgba(75,97,140,.06)!important;
}
#professor button.professor-management-tab.active{
  border-color:#aebde2!important;
  background:linear-gradient(135deg,#dce8ff,#e9e1ff)!important;
  color:#455b91!important;
  box-shadow:0 7px 17px rgba(85,104,164,.13)!important;
}
#professor .professor-pick-open-btn{
  border-color:#667eca!important;
  background:linear-gradient(145deg,#7188d1,#6179c5)!important;
  box-shadow:0 8px 19px rgba(75,98,166,.18)!important;
}
#professor .professor-pick-manager{
  border-radius:18px!important;
  background:linear-gradient(145deg,#f8fbff,#f4f1ff)!important;
}
#orthoSign .ortho-sign-card{
  border-color:#d2def0!important;
  background:linear-gradient(135deg,#e9f3ff,#eee9ff)!important;
}

@media(max-width:720px){
  #list .resident-overview-card{border-radius:19px!important}
  #list .resident-overview-card .resident-title-card{
    min-height:64px!important;
    padding:13px 13px 10px!important;
  }
  #list .resident-overview-divider{margin:0 12px!important}
  #list .resident-overview-card .resident-department-card{padding:10px 12px 13px!important}
  #list .resident-overview-card .resident-department-card .list-dept-head span{display:none!important}
  #list .resident-overview-card .resident-dept-tabs{padding:6px!important;gap:5px!important}
  #list .resident-overview-card .resident-dept-tabs .dept-page-tab{
    min-height:32px!important;
    padding:6px 9px!important;
    font-size:.69rem!important;
  }
  #list .resident-tools-card{gap:1px!important;padding:5px!important}
  #list #listSpecialTools.resident-quick-filter-card{padding:2px!important}
  #list .resident-search-card{padding:1px 2px 2px!important}
  #professor .professor-panel.professor-combined-panel,
  #orthoSign .ortho-sign-panel{border-radius:20px!important}
}

/* 2026-09 v226: separate creation and generated-list workspaces */
body[data-mode="viewer"] .tabs{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
#professor .professor-management-tabs{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
}
#professor button.generated-list-tab{
  border-color:#c7d9e5!important;
  background:linear-gradient(145deg,#f8fcff,#edf7f5)!important;
  color:#58756f!important;
}
#professor button.generated-list-tab.active{
  border-color:#9fcac0!important;
  background:linear-gradient(135deg,#dff4ee,#e4edff)!important;
  color:#356e64!important;
  box-shadow:0 7px 17px rgba(67,130,117,.13)!important;
}
#professor .management-create-status{
  margin:10px 1px 0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  color:#74839b!important;
  font-size:12px!important;
}
#professor .generated-list-workspace{
  display:block;
  padding:2px 0 0!important;
}
#professor .generated-list-workspace[hidden]{display:none!important}
#professor .generated-list-head{
  margin:0 0 12px!important;
  padding:17px 18px!important;
  border:1px solid #d5e1f1!important;
  border-radius:20px!important;
  background:
    radial-gradient(circle at 91% 0,rgba(207,235,228,.48),transparent 38%),
    linear-gradient(135deg,#fbfdff,#f1f6ff)!important;
  box-shadow:0 8px 22px rgba(76,101,149,.07)!important;
}
#professor .generated-list-head h2{margin:0!important;color:#2e3e59!important}
#professor .generated-list-head p{margin:5px 0 0!important;color:#75839a!important}
#professor .generated-list-type-tabs{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px!important;
  margin:0 0 10px!important;
  padding:7px!important;
  border:1px solid #d4e0ef!important;
  border-radius:17px!important;
  background:rgba(246,249,255,.88)!important;
}
#professor button.generated-list-type-tab{
  min-height:40px!important;
  border-color:#ccd9ea!important;
  background:linear-gradient(145deg,#fff,#f0f5fb)!important;
  color:#61728f!important;
  box-shadow:0 4px 11px rgba(76,98,141,.06)!important;
}
#professor button.generated-list-type-tab.active{
  border-color:#a8cfc6!important;
  background:linear-gradient(145deg,#dcf4ed,#e7edff)!important;
  color:#376f65!important;
  box-shadow:0 6px 15px rgba(66,132,118,.12)!important;
}
#professor .generated-list-pane{
  display:block;
  padding:11px!important;
  border:1px solid #d6e2f1!important;
  border-radius:19px!important;
  background:rgba(250,252,255,.97)!important;
}
#professor .generated-list-pane[hidden]{display:none!important}
#professor .generated-list-pane .management-toolbar{
  margin:0 0 10px!important;
  border-color:#dbe5f2!important;
  background:linear-gradient(145deg,#f7faff,#f4f1ff)!important;
}
#professor .generated-list-pane .minor-card-list{margin-top:0!important}
#professor #minorManagementPane{
  border-color:#d5e1f0!important;
  border-radius:20px!important;
  background:linear-gradient(145deg,#fbfdff,#f2f6ff)!important;
}

#remaining.page,
#remaining.page.active{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#remaining .remaining-panel{
  overflow:hidden!important;
  margin:0!important;
  border:1px solid #d3e0f0!important;
  border-radius:26px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(240,246,255,.97))!important;
  box-shadow:0 15px 38px rgba(75,99,149,.10)!important;
}

@media(max-width:620px){
  body[data-mode="viewer"] .tabs{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:4px!important}
  body[data-mode="viewer"] .tabs .tab{padding:8px 2px!important;font-size:8.4px!important}
  #professor .professor-management-tabs{gap:5px!important;padding:5px!important}
  #professor button.professor-management-tab{padding:9px 4px!important;font-size:10px!important}
  #professor .generated-list-head{padding:14px!important;border-radius:17px!important}
  #professor .generated-list-type-tabs{padding:5px!important;border-radius:14px!important}
  #professor button.generated-list-type-tab{min-height:36px!important;padding:8px!important;font-size:11px!important}
  #professor .generated-list-pane{padding:7px!important;border-radius:15px!important}
  #remaining .remaining-panel{border-radius:20px!important}
}

/* 2026-09 v227: hero-inspired main navigation cards */
body[data-mode="viewer"] nav.tabs{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:9px!important;
  margin:16px 0 18px!important;
  padding:9px!important;
  border:1px solid #d4e0f0!important;
  border-radius:22px!important;
  background:rgba(248,251,255,.78)!important;
  box-shadow:0 11px 28px rgba(75,99,148,.085)!important;
  backdrop-filter:blur(16px)!important;
}
body[data-mode="viewer"] nav.tabs button.main-menu-card{
  position:relative!important;
  width:100%!important;
  min-width:0!important;
  min-height:72px!important;
  display:grid!important;
  grid-template-columns:40px minmax(0,1fr)!important;
  align-items:center!important;
  gap:11px!important;
  overflow:hidden!important;
  padding:12px 13px!important;
  border:1px solid #d2deed!important;
  border-radius:17px!important;
  color:#425471!important;
  text-align:left!important;
  white-space:normal!important;
  box-shadow:0 7px 17px rgba(75,98,143,.075)!important;
  transform:none!important;
}
body[data-mode="viewer"] nav.tabs button.main-menu-card:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 11px 23px rgba(75,98,143,.13)!important;
}
body[data-mode="viewer"] .main-menu-card .main-menu-icon{
  width:40px!important;
  height:40px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:13px!important;
  font-size:10px!important;
  font-weight:950!important;
  letter-spacing:.04em!important;
}
body[data-mode="viewer"] .main-menu-card .main-menu-copy,
body[data-mode="viewer"] .main-menu-card .main-menu-copy strong,
body[data-mode="viewer"] .main-menu-card .main-menu-copy small{display:block!important;min-width:0!important}
body[data-mode="viewer"] .main-menu-card .main-menu-copy strong{
  overflow:hidden!important;
  color:#354762!important;
  font-size:12.5px!important;
  font-weight:950!important;
  line-height:1.25!important;
  letter-spacing:-.025em!important;
  text-overflow:ellipsis!important;
}
body[data-mode="viewer"] .main-menu-card .main-menu-copy small{
  margin-top:4px!important;
  overflow:hidden!important;
  color:#8490a5!important;
  font-size:9.5px!important;
  font-weight:750!important;
  line-height:1.2!important;
  text-overflow:ellipsis!important;
}

body[data-mode="viewer"] nav.tabs button.menu-list{
  border-color:#cedcf1!important;
  background:linear-gradient(145deg,#fbfdff,#edf4ff)!important;
}
body[data-mode="viewer"] .menu-list .main-menu-icon{background:#dfeaff!important;color:#526eb5!important}
body[data-mode="viewer"] nav.tabs button.menu-professor{
  border-color:#ddd5ef!important;
  background:linear-gradient(145deg,#fdfcff,#f2edff)!important;
}
body[data-mode="viewer"] .menu-professor .main-menu-icon{background:#eae2fb!important;color:#715fa7!important}
body[data-mode="viewer"] nav.tabs button.menu-sign{
  border-color:#ead6e0!important;
  background:linear-gradient(145deg,#fffefe,#fff0f5)!important;
}
body[data-mode="viewer"] .menu-sign .main-menu-icon{background:#f8e2eb!important;color:#a05d75!important}
body[data-mode="viewer"] nav.tabs button.menu-remaining{
  border-color:#cce3de!important;
  background:linear-gradient(145deg,#fcfffe,#eaf8f4)!important;
}
body[data-mode="viewer"] .menu-remaining .main-menu-icon{background:#daf1eb!important;color:#477f74!important}

body[data-mode="viewer"] nav.tabs button.menu-list.active{
  border-color:#9eb5e2!important;
  background:linear-gradient(145deg,#e2ecff,#dce8ff)!important;
  box-shadow:0 9px 21px rgba(75,104,174,.15)!important;
}
body[data-mode="viewer"] nav.tabs button.menu-professor.active{
  border-color:#bbaade!important;
  background:linear-gradient(145deg,#eee8ff,#e8e1fb)!important;
  box-shadow:0 9px 21px rgba(108,84,161,.14)!important;
}
body[data-mode="viewer"] nav.tabs button.menu-sign.active{
  border-color:#dfb3c3!important;
  background:linear-gradient(145deg,#fce9f0,#f8e2eb)!important;
  box-shadow:0 9px 21px rgba(160,83,111,.13)!important;
}
body[data-mode="viewer"] nav.tabs button.menu-remaining.active{
  border-color:#92c8bc!important;
  background:linear-gradient(145deg,#dff4ee,#d7eee8)!important;
  box-shadow:0 9px 21px rgba(63,128,115,.14)!important;
}
body[data-mode="viewer"] nav.tabs button.main-menu-card.active .main-menu-copy strong{color:#304566!important}
body[data-mode="viewer"] nav.tabs button.main-menu-card.active .main-menu-copy small{color:#667895!important}

@media(max-width:760px){
  body[data-mode="viewer"] nav.tabs{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
    padding:7px!important;
    border-radius:18px!important;
  }
  body[data-mode="viewer"] nav.tabs button.main-menu-card{
    min-height:61px!important;
    grid-template-columns:34px minmax(0,1fr)!important;
    gap:8px!important;
    padding:9px 10px!important;
    border-radius:14px!important;
  }
  body[data-mode="viewer"] .main-menu-card .main-menu-icon{width:34px!important;height:34px!important;border-radius:11px!important;font-size:9px!important}
  body[data-mode="viewer"] .main-menu-card .main-menu-copy strong{font-size:11px!important}
  body[data-mode="viewer"] .main-menu-card .main-menu-copy small{font-size:8.5px!important;margin-top:2px!important}
}
@media(max-width:390px){
  body[data-mode="viewer"] nav.tabs button.main-menu-card{padding:8px!important;gap:7px!important}
  body[data-mode="viewer"] .main-menu-card .main-menu-copy strong{font-size:10.5px!important}
}

/* v227 final: text-only selectable main menu */
body[data-mode="viewer"] nav.tabs button.main-menu-card{
  min-height:52px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:11px 14px!important;
  border-radius:15px!important;
  color:#52637f!important;
  font-size:12.5px!important;
  font-weight:950!important;
  line-height:1.2!important;
  letter-spacing:-.025em!important;
  text-align:center!important;
}
body[data-mode="viewer"] nav.tabs button.main-menu-card.active{
  color:#344d78!important;
  transform:translateY(-1px)!important;
}
body[data-mode="viewer"] nav.tabs button.main-menu-card.active::after{
  content:""!important;
  position:absolute!important;
  left:18px!important;
  right:18px!important;
  bottom:6px!important;
  height:2px!important;
  border-radius:999px!important;
  background:currentColor!important;
  opacity:.28!important;
}
@media(max-width:760px){
  body[data-mode="viewer"] nav.tabs button.main-menu-card{
    min-height:45px!important;
    padding:9px 7px!important;
    border-radius:12px!important;
    font-size:10.5px!important;
  }
}

/* 2026-09 v228: focused personal/U-FOLIO pages and compact account drawer */
body[data-mode="viewer"].utility-page-open > .shell > nav.tabs{
  display:none!important;
}
.main-screen-return{
  position:sticky!important;
  top:12px!important;
  z-index:80!important;
  width:max-content!important;
  min-height:39px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:12px 0 12px auto!important;
  padding:0 15px!important;
  border:1px solid #c7d6ec!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.92)!important;
  color:#526786!important;
  box-shadow:0 8px 24px rgba(74,98,143,.13)!important;
  backdrop-filter:blur(14px)!important;
  font-size:11px!important;
  font-weight:900!important;
}
.main-screen-return::before{content:"←";margin-right:7px;font-size:14px}
.main-screen-return:hover{border-color:#91a8cf!important;background:#edf4ff!important;color:#385889!important;transform:translateY(-1px)}
.main-screen-return[hidden]{display:none!important}

#ufolio .ufolio-hero-card{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:14px 20px!important;
}
#ufolio .ufolio-hero-copy{min-width:0}
#ufolio .ufolio-hero-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:7px!important;
  padding:6px!important;
  border:1px solid #dce5f3!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.72)!important;
  box-shadow:0 6px 18px rgba(82,101,145,.06)!important;
}
#ufolio .ufolio-account-toggle{
  min-height:34px!important;
  padding:0 12px!important;
  border:1px solid #cbd8ec!important;
  border-radius:11px!important;
  background:linear-gradient(135deg,#edf4ff,#f2efff)!important;
  color:#536b96!important;
  font-size:10px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
#ufolio .ufolio-account-toggle[aria-expanded="true"]{
  border-color:#aebfe1!important;
  background:#dfe9ff!important;
  color:#3e5d94!important;
}
#ufolio .ufolio-login-badge{
  min-height:34px!important;
  padding:0 11px!important;
  border:0!important;
  background:#edf8f5!important;
  color:#46736b!important;
}
#ufolio .ufolio-menu-logout{
  min-height:34px!important;
  padding:0 11px!important;
  border-radius:11px!important;
  box-shadow:none!important;
}
#ufolio .ufolio-credential-drawer{
  grid-column:1/-1!important;
  display:grid!important;
  grid-template-columns:minmax(180px,.7fr) minmax(340px,1.35fr) auto!important;
  gap:12px!important;
  margin-top:2px!important;
  padding:15px!important;
  border:1px solid #cfdbed!important;
  border-radius:17px!important;
  background:rgba(255,255,255,.86)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 8px 22px rgba(78,100,145,.07)!important;
}
#ufolio .ufolio-credential-drawer[hidden]{display:none!important}
#ufolio .ufolio-save-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
#ufolio .ufolio-credential-state{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:27px;
  padding:0 9px;
  border:1px solid #e0d9d3;
  border-radius:999px;
  background:#f7f5f2;
  color:#83776f;
  font-size:9px;
  font-weight:900;
  white-space:nowrap;
}
#ufolio .ufolio-credential-state.configured{border-color:#bcded5;background:#e7f7f2;color:#397267}
#ufolio .ufolio-score-status-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:9px!important;
}
#ufolio .ufolio-score-status-row .ufolio-status{min-width:0!important}
#ufolio .ufolio-score-status-row #ufolioSyncBtn{min-height:39px!important;white-space:nowrap!important}

/* Selected department stays vivid while both totals remain readable. */
#ufolio .ufolio-dept-tabs button.active{
  border-color:#8ea7d9!important;
  background:linear-gradient(135deg,#d7e5ff,#e4dcff)!important;
  color:#294d8b!important;
  box-shadow:0 7px 17px rgba(83,105,167,.13)!important;
}
#ufolio .ufolio-dept-tabs button.active span{color:#294d8b!important}
#ufolio .ufolio-dept-tabs button.active small{color:#46659b!important;opacity:1!important}

@media(max-width:900px){
  #ufolio .ufolio-hero-card{grid-template-columns:1fr!important}
  #ufolio .ufolio-hero-actions{justify-content:flex-start!important;width:100%!important}
  #ufolio .ufolio-credential-drawer{grid-template-columns:1fr!important}
  #ufolio .ufolio-connect-actions{justify-content:flex-start!important}
}
@media(max-width:560px){
  .main-screen-return{top:8px!important;margin:8px 0 9px auto!important;min-height:35px!important;padding:0 12px!important;font-size:10px!important}
  #ufolio .ufolio-hero-actions{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important}
  #ufolio .ufolio-account-toggle{grid-column:1/-1!important;width:100%!important}
  #ufolio .ufolio-login-badge{justify-self:start!important}
  #ufolio .ufolio-score-status-row{grid-template-columns:1fr!important}
  #ufolio .ufolio-score-status-row #ufolioSyncBtn{width:100%!important}
}

/* 2026-09 v229: aligned U-FOLIO account controls and orderly score cards */
#ufolio .ufolio-hero-actions{
  min-height:50px!important;
  padding:6px!important;
  gap:6px!important;
}
#ufolio .ufolio-hero-actions > *{
  align-self:stretch!important;
}
#ufolio .ufolio-hero-credential-state,
#ufolio .ufolio-account-toggle,
#ufolio .ufolio-login-badge,
#ufolio .ufolio-menu-logout{
  min-height:36px!important;
  height:auto!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
  line-height:1.15!important;
  vertical-align:middle!important;
}
#ufolio .ufolio-hero-credential-state{
  padding:0 11px!important;
  border:1px solid #d7deeb!important;
  border-radius:11px!important;
  background:#f4f6fb!important;
  color:#758096!important;
  font-size:9.5px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
#ufolio .ufolio-hero-credential-state.configured{
  border-color:#b9ddd3!important;
  background:#e8f7f2!important;
  color:#3e756a!important;
}
#ufolio .ufolio-account-toggle,
#ufolio .ufolio-login-badge,
#ufolio .ufolio-menu-logout{border-radius:11px!important}

#ufolio .ufolio-dashboard{
  gap:14px!important;
  padding:18px!important;
  border-radius:22px!important;
}
#ufolio .ufolio-dashboard-head{
  padding:1px 2px 3px!important;
}
#ufolio .ufolio-dashboard-head h3{
  margin:0 0 4px!important;
  color:#293850!important;
  font-size:19px!important;
  letter-spacing:-.025em!important;
}
#ufolio .ufolio-dashboard-head p{
  color:#7b889d!important;
  font-size:10.5px!important;
}
#ufolio .ufolio-dept-picker{
  gap:11px!important;
  padding:13px!important;
  border:1px solid #dce5f3!important;
  border-radius:17px!important;
  background:linear-gradient(135deg,#f7faff,#f4f1ff)!important;
}
#ufolio .ufolio-dept-picker-title{
  gap:9px!important;
  padding:0 2px!important;
}
#ufolio .ufolio-dept-picker-title strong{color:#34445f!important;font-size:12px!important}
#ufolio .ufolio-dept-picker-title span{color:#8792a5!important;font-size:9.5px!important}
#ufolio .ufolio-dept-tabs{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:7px!important;
}
#ufolio .ufolio-dept-tabs button{
  min-height:52px!important;
  gap:3px!important;
  padding:9px 11px!important;
  border-color:#dce3ef!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.92)!important;
  color:#526078!important;
  box-shadow:0 3px 10px rgba(77,97,137,.04)!important;
}
#ufolio .ufolio-dept-tabs button span{font-size:11px!important;color:inherit!important}
#ufolio .ufolio-dept-tabs button small{font-size:8.5px!important;color:#7d899d!important}
#ufolio .ufolio-dept-tabs button:hover{
  border-color:#aebfe0!important;
  background:#f7f9ff!important;
  transform:translateY(-1px)!important;
}
#ufolio .ufolio-dept-tabs button.active{
  border-color:#849fd3!important;
  background:linear-gradient(135deg,#d9e7ff,#e6ddff)!important;
  color:#294c88!important;
  box-shadow:0 7px 16px rgba(82,104,167,.14)!important;
}
#ufolio .ufolio-dept-tabs button.active small{color:#466499!important}

#ufolio .ufolio-dept-content{gap:12px!important}
#ufolio .ufolio-dept-summary{
  min-height:68px!important;
  padding:12px 15px!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,#eef5ff,#f2efff)!important;
}
#ufolio .ufolio-dept-summary h3{
  color:#2b3d5a!important;
  font-size:18px!important;
  letter-spacing:-.02em!important;
}
#ufolio .ufolio-total-metrics{
  width:auto!important;
  min-width:250px!important;
  grid-template-columns:repeat(2,minmax(110px,1fr))!important;
  gap:7px!important;
}
#ufolio .ufolio-dept-summary .ufolio-metric{
  min-height:43px!important;
  padding:6px 10px!important;
  border:1px solid rgba(214,224,241,.9)!important;
  border-radius:11px!important;
  background:rgba(255,255,255,.72)!important;
}
#ufolio .ufolio-dept-summary .ufolio-metric span{color:#7c889b!important;font-size:8px!important}
#ufolio .ufolio-dept-summary .ufolio-metric strong{color:#3c5689!important;font-size:12px!important}

#ufolio .ufolio-group-grid{
  grid-template-columns:1fr!important;
  gap:11px!important;
}
#ufolio .ufolio-score-group{
  border-color:#dce4f0!important;
  border-radius:17px!important;
  background:#fff!important;
  overflow:hidden!important;
}
#ufolio .ufolio-score-group > header{
  min-height:43px!important;
  padding:10px 13px!important;
  border-color:#e2e8f2!important;
  background:#f4f7fd!important;
}
#ufolio .ufolio-score-group h4{color:#36445d!important;font-size:12.5px!important}
#ufolio .ufolio-score-group > header span{color:#8995a8!important;font-size:9px!important}
#ufolio .ufolio-score-items{
  grid-template-columns:repeat(auto-fit,minmax(330px,1fr))!important;
  gap:8px!important;
  padding:9px!important;
}
#ufolio .ufolio-score-item{
  grid-template-columns:minmax(110px,1fr) auto!important;
  align-items:center!important;
  gap:12px!important;
  min-height:57px!important;
  padding:9px 11px!important;
  border-color:#e4e9f2!important;
  border-radius:13px!important;
  background:#fafcff!important;
}
#ufolio .ufolio-score-item > strong{color:#3e4b61!important;font-size:10.5px!important}
#ufolio .ufolio-item-metrics{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
  flex-wrap:wrap!important;
}
#ufolio .ufolio-score-item .ufolio-metric{
  min-width:88px!important;
  min-height:38px!important;
  padding:5px 8px!important;
  border:0!important;
  border-radius:10px!important;
}
#ufolio .ufolio-score-item .ufolio-metric.approvals{background:#edf7f4!important}
#ufolio .ufolio-score-item .ufolio-metric.score{background:#f2edff!important}
#ufolio .ufolio-score-item .ufolio-metric span{font-size:8px!important}
#ufolio .ufolio-score-item .ufolio-metric strong{font-size:11px!important}

@media(max-width:900px){
  #ufolio .ufolio-dept-tabs{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:620px){
  #ufolio .ufolio-hero-actions{grid-template-columns:1fr 1fr!important}
  #ufolio .ufolio-hero-credential-state{grid-column:1/-1!important}
  #ufolio .ufolio-account-toggle{grid-column:1/-1!important}
  #ufolio .ufolio-login-badge,#ufolio .ufolio-menu-logout{width:100%!important}
  #ufolio .ufolio-dashboard{padding:12px!important}
  #ufolio .ufolio-dept-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #ufolio .ufolio-dept-summary{align-items:stretch!important;flex-direction:column!important}
  #ufolio .ufolio-total-metrics{width:100%!important;min-width:0!important}
  #ufolio .ufolio-score-items{grid-template-columns:1fr!important}
  #ufolio .ufolio-score-item{grid-template-columns:1fr!important;gap:8px!important}
  #ufolio .ufolio-item-metrics{justify-content:stretch!important}
  #ufolio .ufolio-score-item .ufolio-metric{flex:1 1 90px!important;min-width:0!important}
}
.site-update-notice[hidden]{display:none!important}
.site-update-notice{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;padding:20px}
.site-update-notice-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0;background:rgba(47,61,88,.38);backdrop-filter:blur(8px);cursor:default}
.site-update-notice-dialog{position:relative;width:min(560px,100%);box-sizing:border-box;padding:30px;border:1px solid rgba(150,170,211,.52);border-radius:26px;background:linear-gradient(145deg,#fff 0%,#f7f9ff 55%,#f5f1ff 100%);box-shadow:0 28px 80px rgba(61,78,116,.24);color:#24314a}
.site-update-notice-badge{display:inline-flex;align-items:center;min-height:28px;padding:0 12px;border:1px solid #d4ddf5;border-radius:999px;background:#edf3ff;color:#5470ad;font-size:12px;font-weight:850;letter-spacing:.04em}
.site-update-notice-dialog h2{margin:16px 0 21px;font-size:clamp(23px,3vw,30px);line-height:1.25;letter-spacing:-.045em;color:#25314b}
.site-update-notice-list{display:grid;gap:10px}
.site-update-notice-list article{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;align-items:start;padding:15px;border:1px solid #e2e8f5;border-radius:17px;background:rgba(255,255,255,.82)}
.site-update-notice-list article>span{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#e9efff;color:#5773b7;font-size:12px;font-weight:900}
.site-update-notice-list strong{display:block;margin:1px 0 5px;font-size:15px;color:#2d3c59}
.site-update-notice-list p{margin:0;color:#69758b;font-size:13.5px;font-weight:600;line-height:1.58;word-break:keep-all}
.site-update-notice-list a{color:#5275c7;font-weight:850;text-decoration:none}
.site-update-notice-list a:hover{text-decoration:underline}
.site-update-notice-confirm{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin-top:19px;border:0;border-radius:15px;background:linear-gradient(135deg,#718bd2,#827bd1);box-shadow:0 10px 24px rgba(102,117,184,.25);color:#fff;font-size:14px;font-weight:850;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}
.site-update-notice-confirm:hover{transform:translateY(-1px);box-shadow:0 13px 28px rgba(102,117,184,.31)}
body.site-update-notice-open{overflow:hidden}
@media(max-width:600px){.site-update-notice{padding:12px}.site-update-notice-dialog{padding:22px 17px;border-radius:22px}.site-update-notice-dialog h2{margin:13px 0 17px;font-size:23px}.site-update-notice-list article{grid-template-columns:34px minmax(0,1fr);padding:13px 12px}.site-update-notice-list article>span{width:32px;height:32px;border-radius:10px}.site-update-notice-list p{font-size:12.5px;line-height:1.55}.site-update-notice-confirm{margin-top:15px}}
