.tc-main { position: relative; overflow: hidden; background: #fff; border: 1px solid #e5e7eb; border-radius: 8px; padding: 8px; }
.tc-bottom-overlay { position: absolute; left: 0; right: 0; bottom: 0; height: 56px; display: none; justify-content: center; align-items: flex-end; background: linear-gradient(to top, rgba(255,255,255,0.95), rgba(255,255,255,0)); pointer-events: auto; z-index: 10; }
.tc-bottom-overlay.visible { display: flex; }
.tc-expand-toggle { margin-bottom: 8px; padding: 6px 10px; font-size: 12px; border: 1px solid #d1d5db; border-radius: 6px; background: #f9fafb; cursor: pointer; pointer-events: auto; }
.tc-controls { margin-top: 12px; }
.tc-control-item { margin: 6px 0; color: #374151; font-size: 14px; }
.fc .fc-timegrid-slot { height: 28px; }
.fc-theme-standard .fc-button { border-radius: 6px; }
.fc .fc-toolbar-title { font-size: 16px; }
.fc .fc-header-toolbar .fc-toolbar-chunk:nth-child(2) { display: flex; flex-direction: row; align-items: center; justify-content: center; gap: 8px; flex-wrap: nowrap; }
.fc .fc-header-toolbar .fc-toolbar-chunk:nth-child(2) .fc-toolbar-title { order: 2; display: inline-block; margin: 0 8px; }
.fc .fc-header-toolbar .fc-toolbar-chunk:nth-child(2) .fc-button-group { order: 1; display: inline-flex; }
.fc .fc-header-toolbar .fc-toolbar-chunk:nth-child(2) .fc-button-group:last-child { order: 3; }
.fc .fc-header-toolbar .fc-toolbar-chunk:nth-child(2) { display: flex; align-items: center; gap: 8px; flex-wrap: nowrap; }
.fc .fc-header-toolbar .fc-toolbar-chunk:nth-child(2) .fc-toolbar-title { order: 2; }
.fc .fc-header-toolbar .fc-toolbar-chunk:nth-child(2) .fc-button-group { order: 1; }
.fc .fc-header-toolbar .fc-toolbar-chunk:nth-child(2) .fc-button-group:last-child { order: 3; }
.fc .fc-toolbar-chunk { gap: 8px; }
.fc .fc-scrollgrid, .fc .fc-timegrid { border-radius: 6px; }
.fc .fc-timegrid-slot-label { color: #6b7280; }
.fc .fc-timegrid-axis-cushion { font-size: 12px; }
.fc .fc-timegrid-now-indicator-line { border-top-color: #ef4444; }
.fc .fc-day-today { background: #fffbe6; }

@media (max-width: 800px) {
  .tc-main { padding: 6px; }
  .fc { font-size: 12px; }
  .fc .fc-toolbar-title { font-size: 14px; }
  .fc-theme-standard .fc-button { padding: 3px 6px; font-size: 12px; }
  .fc .fc-timegrid-slot { height: 20px; }
  .fc .fc-timegrid-axis-cushion { font-size: 11px; }
  .fc .fc-timegrid-slot-label { font-size: 11px; }
  .fc .fc-col-header-cell-cushion { font-size: 12px; }
  .fc .fc-event-title, .fc .fc-event-time { font-size: 12px; }
  .fc .fc-header-toolbar, .fc .fc-toolbar, .fc .fc-toolbar-ltr { font-size: 11px; }
  .fc .fc-toolbar-chunk { gap: 6px; }
}

@media (max-width: 480px) {
  .fc .fc-toolbar-title { font-size: 12px; }
  .fc-theme-standard .fc-button { padding: 2px 5px; font-size: 11px; }
  .fc .fc-header-toolbar, .fc .fc-toolbar, .fc .fc-toolbar-ltr { font-size: 10.5px; }
}
.tc-modal-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.45); display: flex; align-items: center; justify-content: center; z-index: 1000; }
.tc-modal { background: #fff; border-radius: 10px; width: min(680px, 92vw); max-height: 80vh; overflow: auto; box-shadow: 0 10px 25px rgba(0,0,0,0.2); padding: 16px; }
.tc-modal-close { float: right; padding: 6px 12px; border: 1px solid #d1d5db; border-radius: 6px; background: #f3f4f6; cursor: pointer; }
.tc-modal-title { margin: 8px 0 12px; font-size: 18px; }
.tc-modal-meta { color: #4b5563; font-size: 14px; margin-bottom: 12px; }
.tc-modal-content { font-size: 14px; line-height: 1.6; }