.psc-dialog, .psc-tools {
  --psc-bg: #19222c; --psc-text: #f1f5f9; --psc-border: #607084; --psc-muted: #c3d0db;
  color: var(--psc-text); letter-spacing: 0;
}
body[data-theme="light"] .psc-dialog, body[data-theme="light"] .psc-tools {
  --psc-bg: #fff; --psc-text: #172638; --psc-border: #b9c5d1; --psc-muted: #40546a;
}
body[data-theme="dark"] .psc-dialog, body[data-theme="dark"] .psc-tools {
  --psc-bg: #19222c; --psc-text: #f1f5f9; --psc-border: #607084; --psc-muted: #c3d0db;
}
#weekGrid .psc-tools { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px; width: 108px; max-width: 100%; min-height: 44px; margin: 4px auto 0; }
#weekGrid .psc-tools button, .psc-dialog button {
  background: var(--psc-bg); color: var(--psc-text); border: 1px solid var(--psc-border);
  border-radius: 6px; min-height: 44px; padding: 6px 10px; font: 600 12px/1.3 system-ui,sans-serif;
  letter-spacing: 0; box-shadow: none; cursor: pointer;
}
#weekGrid .psc-tools button:disabled, .psc-dialog button:disabled { opacity: .5; cursor: not-allowed; }
#weekGrid .psc-tools button { min-width: 0; width: 100%; padding: 6px 3px; }
.psc-dialog { background: var(--psc-bg); border: 1px solid var(--psc-border); border-radius: 8px; padding: 20px; width: 520px; max-width: calc(100vw - 24px); max-height: calc(100dvh - 24px); box-sizing: border-box; overflow: auto; }
.psc-dialog::backdrop { background: #0009; }
.psc-dialog h2 { font-size: 20px; line-height: 1.3; margin: 0 0 16px; color: var(--psc-text); }
.psc-dialog h3, .psc-dialog legend { font-size: 14px; font-weight: 700; color: var(--psc-text); }
.psc-dialog p, .psc-dialog li { font-size: 14px; color: var(--psc-text); overflow-wrap: anywhere; }
.psc-dialog fieldset { border: 0; padding: 0; margin: 12px 0; min-width: 0; }
.psc-dialog .psc-choice { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 10px 0; margin: 0; border-bottom: 1px solid var(--psc-border); color: var(--psc-text); font-size: 14px; text-align: left; }
.psc-dialog .psc-choice input { appearance: auto; position: static; width: 22px !important; height: 22px !important; min-height: 22px !important; flex: 0 0 22px; margin: 0; opacity: 1; accent-color: #128366; }
.psc-dialog .psc-choice span { min-width: 0; overflow-wrap: anywhere; }
.psc-dialog .psc-choice b, .psc-dialog .psc-choice small { display: block; color: var(--psc-text); }
.psc-dialog .psc-choice small { color: var(--psc-muted); margin-top: 3px; }
.psc-dialog .psc-confirm { border: 0; }
.psc-dialog footer { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
body[data-theme="light"] .psc-dialog button[data-submit], body[data-theme="dark"] .psc-dialog button[data-submit], .psc-dialog [data-submit] { background: #efbb00; color: #171a20; border-color: #efbb00; }
.psc-dialog [role="status"] { min-height: 20px; color: var(--psc-muted); }
.psc-dialog :focus-visible, #weekGrid .psc-tools button:focus-visible { outline: 3px solid #168fd4; outline-offset: 3px; }
@media(max-width: 480px) { .psc-dialog { padding: 16px; } .psc-dialog footer button { flex: 1; } }
