/* 主色、輔色及中性色分工，保留原有森林綠與班表狀態色。 */
:root[data-color-scheme="blue"] {
  --tone-12372865: #2b3d5465;
  --tone-12372870: #2b3d5470;
  --tone-123728b3: #2b3d54b3;
  --tone-123728c9: #2b3d54c9;
  --tone-12574a: #30425a;
  --tone-14291f20: #2a3b5220;
  --tone-14291f30: #2a3b5230;
  --tone-14291f70: #2a3b5270;
  --tone-153e31: #2d3e56;
  --tone-173d37: #2d3e56;
  --tone-183f34: #2e3f57;
  --tone-1b4b39: #304259;
  --tone-223f2f07: #2f415807;
  --tone-234e3a: #32435b;
  --tone-243b33: #2f4058;
  --tone-243b330a: #2f40580a;
  --tone-243b3310: #2f405810;
  --tone-243b3314: #2f405814;
  --tone-245b46: #285e87;
  --tone-254d3c: #32445c;
  --tone-254d40: #32445c;
  --tone-2c5a3f: #374961;
  --tone-315e43: #3b4d64;
  --tone-325b48: #3a4c64;
  --tone-355648: #394b63;
  --tone-355a3f: #3b4d64;
  --tone-36573e: #3a4c64;
  --tone-377375: #475971;
  --tone-3c605d: #40526a;
  --tone-3f6440: #43556d;
  --tone-41653a: #42546b;
  --tone-41683e: #45576e;
  --tone-427573: #4c5e75;
  --tone-46623b: #41536a;
  --tone-48603d: #41536a;
  --tone-48634f: #475970;
  --tone-49633d: #42546c;
  --tone-49643c: #42546c;
  --tone-4c604a: #465870;
  --tone-4d7041: #495b73;
  --tone-4e7543: #4c5e76;
  --tone-4f5c53: #475970;
  --tone-536d42: #485a72;
  --tone-537846: #4f6178;
  --tone-557343: #4c5e75;
  --tone-58735e: #55677e;
  --tone-59704f: #4f6179;
  --tone-5f7265: #56687f;
  --tone-607066: #56687f;
  --tone-65735e: #56687f;
  --tone-6b9182: #5e7086;
  --tone-6c8052: #56687f;
  --tone-6c805d: #586a81;
  --tone-6c9363: #5c6e85;
  --tone-6d7a66: #596b81;
  --tone-6d885b: #596b82;
  --tone-71836f: #5c6e84;
  --tone-718466: #5a6c83;
  --tone-719462: #5c6e85;
  --tone-729658: #5b6d84;
  --tone-73856a: #5b6d84;
  --tone-748868: #5b6d84;
  --tone-758868: #5b6d84;
  --tone-769787: #617389;
  --tone-78a5a0: #63758c;
  --tone-79867f: #5e7087;
  --tone-799266: #5d6f85;
  --tone-7a8a6d: #5d6f85;
  --tone-7a8d6c: #5d6f86;
  --tone-7a9c6b: #607288;
  --tone-7b867c: #5e7087;
  --tone-7c8d6e: #5d6f86;
  --tone-7c8e6c: #5d6f86;
  --tone-7d8b81: #607288;
  --tone-7f9076: #5f7188;
  --tone-7f916f: #5e7087;
  --tone-80907e: #617389;
  --tone-85907f: #617389;
  --tone-85977b: #61738a;
  --tone-86a595: #66788e;
  --tone-88937d: #61738a;
  --tone-899383: #62748b;
  --tone-89947e: #61738a;
  --tone-89967d: #62748a;
  --tone-89968b: #64768c;
  --tone-8aa578: #63758c;
  --tone-8b968d: #64768c;
  --tone-8b987e: #62748b;
  --tone-8b9b7c: #62748b;
  --tone-8b9c71: #617389;
  --tone-8c9b7d: #63758b;
  --tone-8c9b7f: #63758b;
  --tone-8c9d7c: #63758b;
  --tone-8d987f: #62748b;
  --tone-8d9d7d: #63758b;
  --tone-8ea47b: #64768c;
  --tone-8fe0cc: #a8b4c5;
  --tone-91a180: #64768c;
  --tone-91ad81: #66788f;
  --tone-93a084: #65778d;
  --tone-93a08c: #66788e;
  --tone-94a17f: #64768c;
  --tone-94ac86: #67798f;
  --tone-95a088: #65778e;
  --tone-96a18b: #66788e;
  --tone-96ae77: #65778d;
  --tone-96b99b: #8090a4;
  --tone-9aa48d: #67798f;
  --tone-9ba594: #687a90;
  --tone-9ba68c: #67798f;
  --tone-a0aa95: #6c7e94;
  --tone-a0ac95: #6f8096;
  --tone-a0b7a8: #8a99ac;
  --tone-a1aa9a: #738499;
  --tone-a2baaa: #919fb1;
  --tone-a3ae95: #718398;
  --tone-a9b09e: #7f8fa3;
  --tone-a9b19e: #8090a4;
  --tone-a9beaf: #9eabbc;
  --tone-b0b7a7: #93a1b3;
  --tone-b5c7bc: #b6c0cf;
  --tone-b5ca8d: #8a99ac;
  --tone-b6c6af: #b0bbca;
  --tone-b8ce91: #94a2b4;
  --tone-b9c9b3: #b6c0cf;
  --tone-bdc4b7: #b5bfcf;
  --tone-bdc5ba: #b8c2d1;
  --tone-c0c6ba: #b9c3d2;
  --tone-c2cbc5: #c4cddb;
  --tone-c3cabc: #bec8d6;
  --tone-c8d3ad: #b9c3d2;
  --tone-c8d7d5: #d4dbe7;
  --tone-cbd0c3: #c9d2df;
  --tone-cbd6ca: #d5dce8;
  --tone-cddbc1: #d1d9e5;
  --tone-cedcab: #bfc9d7;
  --tone-d0dac3: #d2dae6;
  --tone-d3e1b1: #c9d1de;
  --tone-d3ece6: #e5eaf3;
  --tone-d5decb: #dce3ed;
  --tone-d9eeeb: #e8edf6;
  --tone-dae3cf: #dfe6f0;
  --tone-dce2df: #e4eaf3;
  --tone-dfe7d8: #e5eaf3;
  --tone-dfebd8: #e7ecf4;
  --tone-e0edeb: #ebeff7;
  --tone-e0eeed: #ebeff7;
  --tone-e1e7d6: #e4e9f3;
  --tone-e1e7d7: #e4eaf3;
  --tone-e1e7d8: #e5eaf3;
  --tone-e4eddf: #eaeff7;
  --tone-e4eedc: #e9eef6;
  --tone-e5e9e1: #e9eef6;
  --tone-e6ecdf: #eaeef7;
  --tone-e7eee3: #ecf0f8;
  --tone-e8eee2: #ecf0f8;
  --tone-eaf2ee: #f0f3fa;
  --tone-edf0e7: #eef2f9;
  --tone-edf0e8: #eef2f9;
  --tone-edf3e7: #eff3fa;
  --tone-eef2e6: #eef2f9;
  --tone-eff3e9: #f0f3fa;
  --tone-f0f4e9: #f0f3fa;
  --tone-f1f3eb: #f0f4fa;
  --tone-f1f4e8: #f0f3fa;
  --tone-f1f4ec: #f1f4fa;
  --tone-f1f5e8: #f0f3fa;
  --tone-f1f5ed: #f1f5fb;
  --tone-f1f6ec: #f1f5fb;
  --tone-f3f5ef: #f2f5fb;
  --tone-f3f7ee: #f2f5fb;
  --tone-f5f6f2: #f3f6fc;
  --tone-f5f8ed: #f2f5fb;
  --tone-f5f8ef: #f3f6fb;
  --tone-f6f8f2: #f4f7fc;
  --tone-f7f9f3: #f5f7fc;
  --tone-f7faf2: #f5f7fc;
  --tone-f8faf4: #f5f8fd;
  --tone-fcfdf9: #f8fafe;
  --tone-245b46: #285e87;
  --bg: #f2f5f8;
  --tx: #29394f;
  --mu: #5e6f83;
  --bd: #dce3ec;
  --ac: #285e87;
  --n: #e7eafa;
  --nt: #414d82;
  --h: #e0eff4;
  --ht: #286273;
  --sf: #ffffff;
  --palette-hover: #204d70;
  --palette-top: #f8faff;
  --palette-accent: #457b98;
  --palette-today: #edf5fc;
  --palette-past: #dfe5ed;
  --palette-pastn: #d2d8ec;
  --palette-pasth: #cbdfe8;
}
:root[data-color-scheme="amber"] {
  --tone-12372865: #45332865;
  --tone-12372870: #45332870;
  --tone-123728b3: #453328b3;
  --tone-123728c9: #453328c9;
  --tone-12574a: #4c392d;
  --tone-14291f20: #42312720;
  --tone-14291f30: #42312730;
  --tone-14291f70: #42312770;
  --tone-153e31: #47352a;
  --tone-173d37: #47352a;
  --tone-183f34: #48362a;
  --tone-1b4b39: #4b382c;
  --tone-223f2f07: #4a372c07;
  --tone-234e3a: #4e3a2e;
  --tone-243b33: #4a372b;
  --tone-243b330a: #4a372b0a;
  --tone-243b3310: #4a372b10;
  --tone-243b3314: #4a372b14;
  --tone-245b46: #b34d20;
  --tone-254d3c: #4e3b2e;
  --tone-254d40: #4e3b2e;
  --tone-2c5a3f: #544032;
  --tone-315e43: #574335;
  --tone-325b48: #564234;
  --tone-355648: #564234;
  --tone-355a3f: #574335;
  --tone-36573e: #564234;
  --tone-377375: #634e3f;
  --tone-3c605d: #5d4839;
  --tone-3f6440: #5f4b3c;
  --tone-41653a: #5e493a;
  --tone-41683e: #614c3d;
  --tone-427573: #675342;
  --tone-46623b: #5d493a;
  --tone-48603d: #5d493a;
  --tone-48634f: #634e3e;
  --tone-49633d: #5e4a3b;
  --tone-49643c: #5e4a3b;
  --tone-4c604a: #624e3e;
  --tone-4d7041: #655040;
  --tone-4e7543: #685342;
  --tone-4f5c53: #634e3e;
  --tone-536d42: #645040;
  --tone-537846: #6a5644;
  --tone-557343: #675242;
  --tone-58735e: #705b49;
  --tone-59704f: #6b5645;
  --tone-5f7265: #715c4a;
  --tone-607066: #715c4a;
  --tone-65735e: #715c4a;
  --tone-6b9182: #796451;
  --tone-6c8052: #715c4a;
  --tone-6c805d: #735e4c;
  --tone-6c9363: #786350;
  --tone-6d7a66: #745f4c;
  --tone-6d885b: #755f4d;
  --tone-71836f: #77624f;
  --tone-718466: #76614e;
  --tone-719462: #786350;
  --tone-729658: #77614f;
  --tone-73856a: #77624f;
  --tone-748868: #77624f;
  --tone-758868: #77624f;
  --tone-769787: #7d6754;
  --tone-78a5a0: #806a57;
  --tone-79867f: #7a6552;
  --tone-799266: #796350;
  --tone-7a8a6d: #786350;
  --tone-7a8d6c: #796351;
  --tone-7a9c6b: #7c6653;
  --tone-7b867c: #7a6552;
  --tone-7c8d6e: #796451;
  --tone-7c8e6c: #796451;
  --tone-7d8b81: #7c6653;
  --tone-7f9076: #7b6653;
  --tone-7f916f: #7a6552;
  --tone-80907e: #7d6754;
  --tone-85907f: #7d6854;
  --tone-85977b: #7e6855;
  --tone-86a595: #836d59;
  --tone-88937d: #7d6855;
  --tone-899383: #7f6956;
  --tone-89947e: #7e6855;
  --tone-89967d: #7e6855;
  --tone-89968b: #806b57;
  --tone-8aa578: #806a57;
  --tone-8b968d: #816b57;
  --tone-8b987e: #7f6956;
  --tone-8b9b7c: #7f6956;
  --tone-8b9c71: #7d6754;
  --tone-8c9b7d: #7f6956;
  --tone-8c9b7f: #7f6a56;
  --tone-8c9d7c: #7f6956;
  --tone-8d987f: #7f6956;
  --tone-8d9d7d: #7f6a56;
  --tone-8ea47b: #806b57;
  --tone-8fe0cc: #bcad9a;
  --tone-91a180: #816b57;
  --tone-91ad81: #836d5a;
  --tone-93a084: #816b58;
  --tone-93a08c: #836d59;
  --tone-94a17f: #806b57;
  --tone-94ac86: #846e5a;
  --tone-95a088: #826c59;
  --tone-96a18b: #836d59;
  --tone-96ae77: #816c58;
  --tone-96b99b: #9a8673;
  --tone-9aa48d: #846e5a;
  --tone-9ba594: #856f5b;
  --tone-9ba68c: #846e5a;
  --tone-a0aa95: #89735f;
  --tone-a0ac95: #8b7662;
  --tone-a0b7a8: #a3907d;
  --tone-a1aa9a: #8e7966;
  --tone-a2baaa: #a89683;
  --tone-a3ae95: #8d7864;
  --tone-a9b09e: #998572;
  --tone-a9b19e: #9a8673;
  --tone-a9beaf: #b4a391;
  --tone-b0b7a7: #aa9886;
  --tone-b5c7bc: #c7b9a8;
  --tone-b5ca8d: #a3907d;
  --tone-b6c6af: #c2b4a2;
  --tone-b8ce91: #ab9a87;
  --tone-b9c9b3: #c7b9a8;
  --tone-bdc4b7: #c6b8a7;
  --tone-bdc5ba: #c9bbaa;
  --tone-c0c6ba: #cabcab;
  --tone-c2cbc5: #d2c5b6;
  --tone-c3cabc: #cdc0b0;
  --tone-c8d3ad: #cabcab;
  --tone-c8d7d5: #ded3c6;
  --tone-cbd0c3: #d6cabb;
  --tone-cbd6ca: #ded4c7;
  --tone-cddbc1: #dcd1c3;
  --tone-cedcab: #cec1b1;
  --tone-d0dac3: #dcd1c4;
  --tone-d3e1b1: #d5c9bb;
  --tone-d3ece6: #ebe3d9;
  --tone-d5decb: #e4dace;
  --tone-d9eeeb: #eee6dd;
  --tone-dae3cf: #e7ddd2;
  --tone-dce2df: #ebe2d8;
  --tone-dfe7d8: #ebe3d9;
  --tone-dfebd8: #ede5db;
  --tone-e0edeb: #f0e9df;
  --tone-e0eeed: #f0e9e0;
  --tone-e1e7d6: #eae2d8;
  --tone-e1e7d7: #ebe2d8;
  --tone-e1e7d8: #ebe3d9;
  --tone-e4eddf: #f0e8df;
  --tone-e4eedc: #efe7de;
  --tone-e5e9e1: #efe7de;
  --tone-e6ecdf: #efe8de;
  --tone-e7eee3: #f1eae1;
  --tone-e8eee2: #f1eae1;
  --tone-eaf2ee: #f5eee6;
  --tone-edf0e7: #f3ece4;
  --tone-edf0e8: #f3ede4;
  --tone-edf3e7: #f4ede5;
  --tone-eef2e6: #f3ede4;
  --tone-eff3e9: #f5eee6;
  --tone-f0f4e9: #f5eee6;
  --tone-f1f3eb: #f5efe7;
  --tone-f1f4e8: #f5eee6;
  --tone-f1f4ec: #f6f0e8;
  --tone-f1f5e8: #f5eee6;
  --tone-f1f5ed: #f6f0e8;
  --tone-f1f6ec: #f6f0e8;
  --tone-f3f5ef: #f7f1e9;
  --tone-f3f7ee: #f7f1ea;
  --tone-f5f6f2: #f8f2eb;
  --tone-f5f8ed: #f7f1ea;
  --tone-f5f8ef: #f8f2ea;
  --tone-f6f8f2: #f9f3ec;
  --tone-f7f9f3: #faf4ed;
  --tone-f7faf2: #faf4ed;
  --tone-f8faf4: #faf4ed;
  --tone-fcfdf9: #fdf7f1;
  --tone-245b46: #b34d20;
  --bg: #f7f3ee;
  --tx: #49392f;
  --mu: #786756;
  --bd: #e7dfd5;
  --ac: #b34d20;
  --n: #f0e6d7;
  --nt: #755532;
  --h: #f7e2d4;
  --ht: #91451f;
  --sf: #ffffff;
  --palette-hover: #963e19;
  --palette-top: #fffaf5;
  --palette-accent: #936737;
  --palette-today: #fff3e9;
  --palette-past: #e8dfd4;
  --palette-pastn: #dfd0bb;
  --palette-pasth: #e8cebb;
}

/* 兩種主題共用元件，職務標籤各自保有輔色。 */
:root:is([data-color-scheme="blue"], [data-color-scheme="amber"]) .topbar {
  background: var(--palette-top);
  border-color: var(--bd);
  box-shadow: 0 1px 0 var(--bd);
}
:root:is([data-color-scheme="blue"], [data-color-scheme="amber"]) .compact-brand,
:root:is([data-color-scheme="blue"], [data-color-scheme="amber"]) #desktop-actions .action-heading h2 {
  color: var(--tx);
}
:root:is([data-color-scheme="blue"], [data-color-scheme="amber"]) .b.pri,
:root:is([data-color-scheme="blue"], [data-color-scheme="amber"]) #desktop-actions .assignment-modes .b.on {
  background: var(--ac);
  border-color: var(--ac);
  color: #ffffff;
}
:root:is([data-color-scheme="blue"], [data-color-scheme="amber"]) .b.pri:hover {
  background: var(--palette-hover);
  border-color: var(--palette-hover);
}
:root:is([data-color-scheme="blue"], [data-color-scheme="amber"]) #desktop-actions .person-group .b.rn,
:root:is([data-color-scheme="blue"], [data-color-scheme="amber"]) .day-person.rn {
  background: var(--n);
  color: var(--nt);
}
:root:is([data-color-scheme="blue"], [data-color-scheme="amber"]) #desktop-actions .person-group .b.rh,
:root:is([data-color-scheme="blue"], [data-color-scheme="amber"]) .day-person.rh {
  background: var(--h);
  color: var(--ht);
}
:root:is([data-color-scheme="blue"], [data-color-scheme="amber"]) #desktop-actions .person-group .b.on,
:root:is([data-color-scheme="blue"], [data-color-scheme="amber"]) .day-person.on {
  border-color: var(--ac);
  outline-color: var(--ac);
  box-shadow: inset 0 0 0 1px var(--ac);
}
:root:is([data-color-scheme="blue"], [data-color-scheme="amber"]) #calendar-workspace .d.today:not(.cl):not(.lvd) {
  background: var(--palette-today);
  border-color: var(--ac);
}
:root:is([data-color-scheme="blue"], [data-color-scheme="amber"]) #calendar-workspace .d.ps {
  background: var(--palette-past);
  border-color: var(--bd);
}
:root:is([data-color-scheme="blue"], [data-color-scheme="amber"]) #calendar-workspace .d.ps .c.n:not(.me):not(.lv):not(.p) {
  background: var(--palette-pastn);
  color: var(--nt);
}
:root:is([data-color-scheme="blue"], [data-color-scheme="amber"]) #calendar-workspace .d.ps .c.h:not(.me):not(.lv):not(.p) {
  background: var(--palette-pasth);
  color: var(--ht);
}
:root:is([data-color-scheme="blue"], [data-color-scheme="amber"]) .stat-card > strong,
:root:is([data-color-scheme="blue"], [data-color-scheme="amber"]) .stat-card > b {
  color: var(--ac);
}
:root:is([data-color-scheme="blue"], [data-color-scheme="amber"]) .person-group-label,
:root:is([data-color-scheme="blue"], [data-color-scheme="amber"]) .day-person-group h3 {
  color: var(--palette-accent);
}
/* 補足既有選人元件對比；停用仍以刪除線表示。 */
:root:is([data-color-scheme="blue"], [data-color-scheme="amber"]) .b.person-chip.ex {
  color: var(--mu);
}
:root[data-color-scheme="blue"] .compact-brand img { content: url("mark-blue.svg"); }
:root[data-color-scheme="amber"] .compact-brand img { content: url("mark-amber.svg"); }

/* 統計用主色呼應操作按鈕，假日仍維持原有金色。 */
:root:is([data-color-scheme="blue"], [data-color-scheme="amber"]) .bar i:first-child,
:root:is([data-color-scheme="blue"], [data-color-scheme="amber"]) .stat-legend span:first-child i {
  background: var(--ac);
}
:root:is([data-color-scheme="blue"], [data-color-scheme="amber"]) .legend-n {
  background: var(--n);
  box-shadow: 0 0 0 1px var(--nt);
}
:root:is([data-color-scheme="blue"], [data-color-scheme="amber"]) .legend-h {
  background: var(--h);
  box-shadow: 0 0 0 1px var(--ht);
}
.theme-switcher {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--mu);
  font-size: 12px;
  white-space: nowrap;
}
.theme-switcher select {
  width: auto;
  min-height: 38px;
  margin: 0;
  padding: 6px 9px;
  color: var(--tx);
  background: var(--sf);
  border-color: var(--bd);
  font-size: 13px;
}
.phone-layout .topbar {
  flex-wrap: wrap;
}
.phone-layout .theme-switcher {
  gap: 5px;
}
.phone-layout .theme-switcher select {
  min-height: 36px;
  font-size: 12px;
  padding: 5px 7px;
}
.phone-layout .account {
  flex-basis: 100%;
  justify-content: flex-end;
}

/* 裝飾性統計輔色維持相同色溫；假日、排休與個人班次沿用狀態色。 */
:root:is([data-color-scheme="blue"], [data-color-scheme="amber"]) .bar i + i {
  background: var(--palette-accent) !important;
}
:root:is([data-color-scheme="blue"], [data-color-scheme="amber"]) .stat-legend span + span i {
  background: var(--palette-accent);
}
