/* 參照原版：1000px 起使用左月曆、右側固定且可獨立捲動的工具欄。 */
.desktop-mode-select,
.desktop-actions {
  display: none;
}
.desktop-layout .topbar {
  height: 54px;
  padding: 0 22px;
}
.desktop-layout main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(340px, 28vw, 400px);
  column-gap: 22px;
  row-gap: 15px;
  align-items: start;
  padding: 14px 22px 0;
  max-width: none;
}
.desktop-layout #calendar-workspace {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
}
.desktop-layout .supporting-sections {
  grid-column: 2;
  grid-row: 1;
  display: grid;
  align-content: start;
  gap: 12px;
  margin: 0;
  position: sticky;
  top: 12px;
  max-height: calc(100dvh - 84px);
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0 3px 2px 0;
  min-width: 0;
  scrollbar-width: thin;
}
.desktop-layout .page-footer {
  grid-column: 1/-1;
  grid-row: 2;
  padding: 0 0 15px;
}
.desktop-layout .calendar-panel#mainc {
  position: relative;
  padding: 14px 15px 0;
}
.desktop-layout .calendar-top {
  position: absolute;
  right: 15px;
  top: 14px;
  display: flex;
}
.desktop-layout .calendar-top > div:first-child {
  display: none;
}
.desktop-layout .calendar-actions .pill {
  display: none;
}
.desktop-layout .calendar-actions .export-btn {
  min-height: 36px;
  font-size: 12px;
  padding: 6px 10px;
}
.desktop-layout #mainc > .nav {
  margin: 0 0 12px;
  padding-right: 118px;
  min-height: 36px;
  flex-wrap: nowrap;
}
.desktop-layout #mainc > .nav > .filter {
  display: none;
}
.desktop-layout .month-controls {
  gap: 5px;
  flex-wrap: nowrap;
}
.desktop-layout .nav select {
  min-height: 36px;
  font-size: 14px;
  padding: 5px 7px;
}
.desktop-layout .nav .arrow {
  height: 36px;
  width: 32px;
}
.desktop-layout .nav .today-btn {
  min-height: 36px;
  padding: 5px 10px;
  font-size: 12px;
}
.desktop-layout .grid {
  gap: 6px;
}
.desktop-layout .wk {
  font-size: 13px;
  padding: 5px 0 8px;
}
.desktop-layout #cal .d {
  min-height: clamp(
    96px,
    calc((100dvh - 380px) / var(--month-weeks, 5)),
    128px
  );
  padding: 7px 6px;
  gap: 4px;
}
.desktop-layout #cal .d em {
  font-size: 14px;
  line-height: 1.4;
  margin-bottom: 0;
}
.desktop-layout #cal .d .c {
  font-size: 14px;
  min-height: 26px;
  padding: 3px 4px;
  line-height: 1.5;
}
.desktop-layout #cal .d .c.n::after,
.desktop-layout #cal .d .c.h::after {
  font-size: 10px;
}
.desktop-layout .calendar-footer {
  padding: 12px 0;
  gap: 7px;
}
.desktop-layout .legend {
  font-size: 10px;
  gap: 10px;
}
.desktop-layout .footer-tip {
  font-size: 10px;
}
.desktop-layout .desktop-actions {
  display: block;
  background: #fff;
  border: 1px solid var(--bd);
  border-radius: 10px;
  padding: 14px;
}
.desktop-layout .desktop-actions h2 {
  font-size: 14px;
  margin: 0 0 10px;
  color: #49643c;
}
.desktop-layout .desktop-action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.desktop-layout .desktop-action-row .b {
  min-height: 36px;
  font-size: 13px;
  padding: 6px 10px;
  flex: 1;
  white-space: nowrap;
}
.desktop-layout .desktop-actions .mu {
  font-size: 12px;
  margin: 0 0 9px;
}
.desktop-layout .support-section > summary {
  min-height: 51px;
  padding: 13px 14px;
  gap: 7px;
  align-items: center;
}
.desktop-layout .support-section > summary > span:first-child {
  display: block;
}
.desktop-layout .support-section > summary b {
  font-size: 14px;
}
.desktop-layout .support-section > summary small {
  display: block;
  font-size: 10px;
  margin-top: 3px;
}
.desktop-layout .support-section .summary-hint {
  display: none;
}
.desktop-layout .support-body {
  padding: 13px;
}
.desktop-layout #section-stats .overview {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  margin: 0 0 13px;
}
.desktop-layout #section-stats .metric {
  padding: 9px 10px;
  min-height: 72px;
  gap: 0;
}
.desktop-layout #section-stats .metric-icon,
.desktop-layout #section-stats .metric-note {
  display: none;
}
.desktop-layout #section-stats .metric-title {
  font-size: 11px;
}
.desktop-layout #section-stats .metric-value {
  font-size: 24px;
  line-height: 1.4;
}
.desktop-layout #section-stats .metric-value small {
  font-size: 10px;
  margin-left: 4px;
}
.desktop-layout #section-stats #st {
  padding: 0;
  border: 0;
}
.desktop-layout #section-stats .stat-heading {
  display: none;
}
.desktop-layout #section-stats .stat-summary {
  padding: 7px 9px;
  font-size: 11px;
  margin-bottom: 9px;
}
.desktop-layout #section-stats #st .sr {
  grid-template-columns: 61px minmax(25px, 1fr) auto;
  gap: 6px;
  align-items: center;
  margin-top: 12px;
}
.desktop-layout #section-stats #st .sr > .c {
  font-size: 13px;
  grid-row: auto;
}
.desktop-layout #section-stats #st .sr > span:last-child {
  font-size: 10px;
  white-space: nowrap;
  grid-column: auto;
}
.desktop-layout #section-stats #st .bar {
  height: 6px;
}
.desktop-layout #section-stats .stat-legend {
  font-size: 10px;
  margin-top: 13px;
  padding-top: 10px;
  gap: 13px;
}
.desktop-layout #section-settings #cfg {
  padding: 12px;
}
.desktop-layout #section-settings #cfg .box {
  padding: 0;
  max-width: none;
}
.desktop-layout #cfg .prow {
  flex-wrap: wrap;
  gap: 8px;
  padding: 11px 0;
}
.desktop-layout #cfg .prow > .row {
  margin-left: auto;
  flex-wrap: wrap;
}
.desktop-layout #cfg .nmt {
  font-size: 13px;
}
.desktop-layout #cfg .b {
  min-height: 34px;
  font-size: 12px;
  padding: 5px 8px;
}
.desktop-layout #cfg .mu {
  font-size: 11px;
}
.desktop-layout #section-requests .box {
  padding: 0;
  border: 0;
}
.desktop-layout #section-requests .card .b {
  min-height: 36px;
  font-size: 13px;
}
.desktop-layout #section-requests .empty-panel {
  padding: 12px 0;
}
@media (min-width: 1000px) and (max-width: 1400px) {
  .desktop-layout .person-chip.b small {
    display: none;
  }
  .desktop-layout .desktop-persons {
    gap: 6px 10px;
  }
  .desktop-layout .person-chip.b {
    padding: 5px 8px;
  }
  .desktop-layout #cal .d .c.n::after,
  .desktop-layout #cal .d .c.h::after {
    display: none;
  }
}
@media (min-width: 1000px) and (max-width: 1150px) {
  .desktop-layout main {
    padding: 12px 16px 0;
    column-gap: 16px;
    grid-template-columns: minmax(0, 1fr) 340px;
  }
  .desktop-layout .topbar {
    padding: 0 16px;
  }
  .desktop-layout .calendar-panel#mainc {
    padding: 12px 10px 0;
  }
  .desktop-layout .calendar-top {
    right: 10px;
    top: 12px;
  }
  .desktop-layout .nav select {
    font-size: 12px;
    padding: 5px;
  }
  .desktop-layout .nav .arrow {
    width: 27px;
  }
  .desktop-layout #mainc > .nav {
    padding-right: 96px;
  }
  .desktop-layout .calendar-actions .export-btn {
    font-size: 11px;
    padding: 6px 7px;
  }
  .desktop-layout .person-chip.b {
    font-size: 13px;
    min-height: 34px;
  }
  .desktop-layout #cal .d .c {
    font-size: 13px;
  }
  .desktop-layout .footer-tip {
    display: none;
  }
}
