/* “日程双栏台”：仅作用于个人工作台，不改变公开判准卡片与赛事管理。 */
#personal-time-workbench-overlay .tw-shell { padding: 2rem 2rem 4rem; font-family: var(--ft-font-sans, 'Microsoft YaHei', sans-serif); }
#personal-time-workbench-overlay .tw-container { max-width: 1440px; }
#personal-time-workbench-overlay .tw-header { margin-bottom: 1.4rem; }
#personal-time-workbench-overlay .tw-back { display: inline-flex; align-items: center; gap: .35rem; margin-bottom: .6rem; font-size: .9rem; }
#personal-time-workbench-overlay h1 { font-family: var(--ft-font-serif, Georgia, 'Noto Serif SC', 'Songti SC', serif); font-size: 3rem; font-weight: 700; letter-spacing: -.035em; line-height: 1.2; margin-bottom: .35rem; }
#personal-time-workbench-overlay .tw-subtitle { font-size: 1rem; }
#personal-time-workbench-overlay .tw-workspace { display: grid; grid-template-columns: minmax(0, 2fr) minmax(310px, 1fr); gap: .6rem; align-items: stretch; }
#personal-time-workbench-overlay .tw-panel { padding: 1.15rem; border-radius: .5rem; }
#personal-time-workbench-overlay .tw-composer { display: flex; flex-direction: column; gap: .6rem; min-width: 0; }
#personal-time-workbench-overlay .tw-composer > .twq-panel { flex: 1; }
#personal-time-workbench-overlay .tw-toolbar { padding: 0 0 1rem; border: 0; border-radius: 0; gap: .75rem; background: transparent; }
#personal-time-workbench-overlay .tw-week-switch { flex: 1; flex-wrap: nowrap; gap: .8rem; }
#personal-time-workbench-overlay .tw-week-switch strong { margin: 0; flex: 1; font-family: var(--ft-font-serif, Georgia, 'Noto Serif SC', serif); font-size: 1.16rem; font-weight: 700; white-space: nowrap; }
#personal-time-workbench-overlay .tw-week-switch > button:not(.tw-button) { display: grid; place-items: center; width: 40px; height: 40px; padding: .5rem; border-radius: .35rem; background: transparent; flex-shrink: 0; }
#personal-time-workbench-overlay .tw-calendar-actions { display: flex; gap: .5rem; align-items: center; }
#personal-time-workbench-overlay .tw-calendar-actions .tw-button { padding: .5rem .35rem; border: 0; background: transparent; color: var(--tw-accent); min-height: 40px; font-size: .8rem; }
#personal-time-workbench-overlay .tw-icon { width: 17px; height: 17px; display: inline-block; vertical-align: middle; flex-shrink: 0; }
#personal-time-workbench-overlay .tw-calendar-scroll { overflow-x: auto; scrollbar-width: thin; padding-bottom: .4rem; }
#personal-time-workbench-overlay .tw-mobile-hint { display: none; }
#personal-time-workbench-overlay .tw-week-grid { display: block; min-width: 720px; }
#personal-time-workbench-overlay .tw-calendar { display: grid; grid-template-columns: 42px repeat(7, minmax(0, 1fr)); gap: 0; position: relative; padding-bottom: .4rem; }
#personal-time-workbench-overlay .tw-day { min-height: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
#personal-time-workbench-overlay .tw-day.today { background: #e5bc620d; }
html.light-mode #personal-time-workbench-overlay .tw-day.today { background: #e5bc6214; }
#personal-time-workbench-overlay .tw-day-head { height: 76px; gap: .2rem; justify-content: center; border: 1px solid var(--tw-line); border-right: 0; padding: .4rem; font-size: .86rem; }
#personal-time-workbench-overlay .tw-day:last-of-type .tw-day-head { border-right: 1px solid var(--tw-line); }
#personal-time-workbench-overlay .tw-day-head strong { font-size: 1rem; font-weight: 500; color: var(--tw-muted); }
#personal-time-workbench-overlay .tw-day-head small { min-height: 14px; font-size: .72rem; color: var(--tw-accent); }
#personal-time-workbench-overlay .tw-day.today .tw-day-head { border-color: var(--tw-line); color: var(--tw-accent); }
#personal-time-workbench-overlay .tw-day.today .tw-day-head strong { color: var(--tw-accent); font-weight: 650; }
#personal-time-workbench-overlay .tw-day-items, #personal-time-workbench-overlay .tw-axis-hours { position: relative; height: 480px; display: block; padding: 0; }
#personal-time-workbench-overlay .tw-day-items { border-left: 1px solid var(--tw-line); border-bottom: 1px solid var(--tw-line); }
#personal-time-workbench-overlay .tw-day:last-of-type .tw-day-items { border-right: 1px solid var(--tw-line); }
#personal-time-workbench-overlay .tw-axis-head { height: 76px; }
#personal-time-workbench-overlay .tw-axis-hours > span { position: absolute; right: 8px; transform: translateY(-50%); font-size: .66rem; font-variant-numeric: tabular-nums; color: var(--tw-muted); }
#personal-time-workbench-overlay .tw-hour-line { position: absolute; left: 0; right: 0; border-top: 1px solid var(--tw-line); opacity: .55; pointer-events: none; }
#personal-time-workbench-overlay .tw-chip { position: absolute; min-height: 42px; display: flex; flex-direction: column; justify-content: start; gap: .1rem; padding: .35rem .38rem; border: 0; border-left: 3px solid; border-radius: .2rem; font-family: inherit; font-size: .75rem; font-weight: 500; line-height: 1.25; text-align: left; text-decoration: none; overflow: hidden; cursor: default; }
#personal-time-workbench-overlay .tw-chip.tw-unknown-end { min-height: 58px; }
#personal-time-workbench-overlay :is(button,a).tw-chip { cursor: pointer; }
#personal-time-workbench-overlay .tw-chip > span { white-space: nowrap; font-size: .75rem; font-variant-numeric: tabular-nums; }
#personal-time-workbench-overlay .tw-chip strong { font-size: .82rem; font-weight: 550; }
#personal-time-workbench-overlay .tw-chip small { font-size: .63rem; }
#personal-time-workbench-overlay .tw-chip.busy { background: #9f79ae; color: #181824; border-color: #b899c4; }
#personal-time-workbench-overlay .tw-chip.available { background: #85be98; color: #152e22; border-color: #a1d5ad; }
#personal-time-workbench-overlay .tw-chip.judging { background: #7aace2; color: #162b43; border-color: #a1c7ef; }
#personal-time-workbench-overlay .tw-chip.debate { background: #deb772; color: #39290f; border-color: #efce95; }
html.light-mode #personal-time-workbench-overlay .tw-chip.busy { background: #e3d1e8; color: #49354e; border-color: #ac86b5; }
html.light-mode #personal-time-workbench-overlay .tw-chip.available { background: #c4e6d0; color: #24513a; border-color: #73b18b; }
html.light-mode #personal-time-workbench-overlay .tw-chip.judging { background: #d4e5f8; color: #254e88; border-color: #85ace6; }
html.light-mode #personal-time-workbench-overlay .tw-chip.debate { background: #f3e1c0; color: #73430d; border-color: #c49b52; }
#personal-time-workbench-overlay .tw-calendar-empty { position: absolute; top: 44%; left: 60px; right: 18px; text-align: center; color: var(--tw-muted); font-size: .83rem; padding: .75rem; background: var(--tw-panel); border: 1px solid var(--tw-line); border-radius: .35rem; }
#personal-time-workbench-overlay .tw-calendar-footer { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1rem; padding-top: .9rem; }
#personal-time-workbench-overlay .tw-legend { gap: .9rem; margin: 0; font-size: .71rem; flex: 1; }
#personal-time-workbench-overlay .tw-zone-label select { min-width: 0; padding: .35rem .45rem; font-size: .72rem; border-radius: .3rem; max-width: 240px; }
#personal-time-workbench-overlay .twq-panel { margin: 0; }
#personal-time-workbench-overlay .twq-head { align-items: start; gap: .4rem; }
#personal-time-workbench-overlay .twq-head h2 { font-family: var(--ft-font-serif, Georgia, 'Noto Serif SC', serif); font-size: 1.45rem; font-weight: 700; line-height: 1.45; }
#personal-time-workbench-overlay .twq-head p { font-size: .85rem; line-height: 1.5; margin-top: .3rem; }
#personal-time-workbench-overlay .twq-head > button { border: 0; background: transparent; padding: .35rem .2rem; min-height: 32px; color: var(--tw-muted); font-size: .72rem; }
#personal-time-workbench-overlay .twq-body { gap: .65rem; margin-top: 1rem; }
#personal-time-workbench-overlay .twq-body > label { gap: .35rem; font-size: .9rem; font-weight: 550; }
#personal-time-workbench-overlay .twq-body textarea, #personal-time-workbench-overlay .twq-body select { padding: .6rem; border-radius: .35rem; font-weight: 400; font-size: .95rem; line-height: 1.6; }
#personal-time-workbench-overlay .twq-body textarea { min-height: 100px; }
#personal-time-workbench-overlay .twq-hint { font-size: .76rem; line-height: 1.5; }
#personal-time-workbench-overlay .twq-body > button { border-radius: .35rem; font-size: .81rem; }
#personal-time-workbench-overlay .twq-body > [data-quick="preview"] { padding: .3rem .6rem; min-height: 32px; }
#personal-time-workbench-overlay .twq-preview { gap: .4rem; }
#personal-time-workbench-overlay .twq-preview h3 { font-size: .95rem; margin: .2rem 0 0; }
#personal-time-workbench-overlay .twq-preview-rows { max-height: 200px; overflow-y: auto; border: 1px solid var(--tw-line); border-radius: .35rem; }
#personal-time-workbench-overlay .twq-row { position: relative; border: 0; border-bottom: 1px solid var(--tw-line); border-radius: 0; padding: .6rem .65rem; background: transparent; flex-direction: row-reverse; gap: .4rem; justify-content: space-between; }
#personal-time-workbench-overlay .twq-row:last-child { border-bottom: 0; }
#personal-time-workbench-overlay .twq-row > div { gap: .15rem; font-size: .93rem; }
#personal-time-workbench-overlay .twq-row > div span { font-size: .8rem; }
#personal-time-workbench-overlay .twq-kind { font-size: .7rem; color: #ba9bbc; }
#personal-time-workbench-overlay .twq-public .twq-kind { color: #77bf9b; }
html.light-mode #personal-time-workbench-overlay .twq-kind { color: #805784; }
html.light-mode #personal-time-workbench-overlay .twq-public .twq-kind { color: #347654; }
#personal-time-workbench-overlay .twq-invalid { background: #d67b7b12; }
#personal-time-workbench-overlay .twq-body label.twq-consent { font-size: .78rem; line-height: 1.5; font-weight: 400; gap: .5rem; }
#personal-time-workbench-overlay .twq-consent input { width: 17px; height: 17px; margin: 2px 0 0; }
html.light-mode #personal-time-workbench-overlay .twq-consent input { color-scheme: light; }
#personal-time-workbench-overlay .twq-body > [data-quick="save"] { width: 100%; justify-self: stretch; }
#personal-time-workbench-overlay .tw-invitation-panel { margin-top: .6rem; padding: 0 1.15rem; }
#personal-time-workbench-overlay .tw-invitation-panel summary { display: flex; align-items: center; gap: 1rem; min-height: 72px; cursor: pointer; list-style: none; }
#personal-time-workbench-overlay .tw-invitation-panel summary::-webkit-details-marker { display: none; }
#personal-time-workbench-overlay .tw-invitation-panel summary > span { display: grid; gap: .25rem; flex: 1; }
#personal-time-workbench-overlay .tw-invitation-panel summary strong { font-size: .88rem; }
#personal-time-workbench-overlay .tw-invitation-panel summary small { color: var(--tw-muted); font-size: .76rem; }
#personal-time-workbench-overlay .tw-invitation-icon { width: 30px; height: 30px; }
#personal-time-workbench-overlay .tw-invitation-panel details[open] .tw-invitation-chevron { transform: rotate(90deg); }
#personal-time-workbench-overlay .tw-invitation-panel .tw-invitations { padding-bottom: 1rem; }
#personal-time-workbench-overlay .tw-agenda { margin-top: 1.2rem; }
#personal-time-workbench-overlay .tw-agenda .tw-section-head { margin-bottom: .5rem; align-items: center; }
#personal-time-workbench-overlay :is(button,summary,a,select):focus-visible { outline: 2px solid var(--tw-accent); outline-offset: 3px; }
@media (max-width: 1100px) {
  #personal-time-workbench-overlay .tw-shell { padding: 1.5rem 1.25rem 3rem; }
  #personal-time-workbench-overlay .tw-workspace { grid-template-columns: minmax(0, 1.9fr) minmax(300px, 1fr); }
  #personal-time-workbench-overlay .tw-toolbar { align-items: start; }
  #personal-time-workbench-overlay .tw-week-switch { gap: .4rem; }
  #personal-time-workbench-overlay .tw-week-switch strong { font-size: .86rem; }
  #personal-time-workbench-overlay .tw-calendar-actions { margin-left: auto; }
  #personal-time-workbench-overlay .tw-mobile-hint { display: block; margin: 0 0 .5rem; color: var(--tw-muted); font-size: .72rem; }
}
@media (max-width: 959px) {
  #personal-time-workbench-overlay .tw-workspace { grid-template-columns: minmax(0, 1fr); gap: .8rem; }
  #personal-time-workbench-overlay .tw-day-items, #personal-time-workbench-overlay .tw-axis-hours { height: 350px; }
  #personal-time-workbench-overlay .tw-composer .twq-panel { min-height: 0; }
  #personal-time-workbench-overlay .twq-preview-rows { max-height: 260px; }
  #personal-time-workbench-overlay .tw-mobile-hint { display: block; margin: 0 0 .5rem; color: var(--tw-muted); font-size: .72rem; }
  #personal-time-workbench-overlay .tw-time-axis { position: sticky; left: 0; z-index: 2; background: var(--tw-panel); }
}
@media (max-width: 650px) {
  #personal-time-workbench-overlay .tw-shell { padding: 1.1rem .8rem 2rem; }
  #personal-time-workbench-overlay .tw-header { margin-bottom: 1rem; }
  #personal-time-workbench-overlay h1 { font-size: 2rem; }
  #personal-time-workbench-overlay .tw-subtitle { font-size: .8rem; }
  #personal-time-workbench-overlay .tw-panel { padding: .85rem; }
  #personal-time-workbench-overlay .tw-week { display: block; }
  #personal-time-workbench-overlay .tw-week-switch { width: 100%; justify-content: space-between; }
  #personal-time-workbench-overlay .tw-week-switch strong { width: auto; min-width: 0; font-size: .79rem; white-space: normal; text-align: center; }
  #personal-time-workbench-overlay .tw-week-switch > button:not(.tw-button) { width: 44px; height: 44px; }
  #personal-time-workbench-overlay .tw-calendar-actions { width: 100%; justify-content: flex-end; margin-top: -.4rem; }
  #personal-time-workbench-overlay .tw-toolbar { gap: .5rem; padding-bottom: .6rem; }
  #personal-time-workbench-overlay .tw-day-items, #personal-time-workbench-overlay .tw-axis-hours { height: 280px; }
  #personal-time-workbench-overlay .tw-day-head, #personal-time-workbench-overlay .tw-axis-head { height: 60px; }
  #personal-time-workbench-overlay .tw-legend { font-size: .66rem; gap: .55rem; }
  #personal-time-workbench-overlay .tw-calendar-footer { gap: .65rem; }
  #personal-time-workbench-overlay .twq-head { flex-direction: row; }
  #personal-time-workbench-overlay .twq-head h2 { font-size: 1.12rem; }
  #personal-time-workbench-overlay .twq-head > button, #personal-time-workbench-overlay .twq-body > [data-quick="preview"] { min-height: 44px; }
  #personal-time-workbench-overlay .twq-row { flex-direction: row-reverse; }
  #personal-time-workbench-overlay .tw-invitation-panel { padding: 0 .85rem; }
  #personal-time-workbench-overlay .tw-agenda .tw-section-head { align-items: start; flex-direction: column; gap: .35rem; }
}
