/* TimeGrid — the few rules Tailwind utilities do not cover. */
@font-face { font-family: 'Inter'; src: url('../vendor/fonts/Inter-Regular.woff') format('woff'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Inter'; src: url('../vendor/fonts/Inter-Medium.woff') format('woff'); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: 'Inter'; src: url('../vendor/fonts/Inter-SemiBold.woff') format('woff'); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: 'Inter'; src: url('../vendor/fonts/Inter-Bold.woff') format('woff'); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'Inter'; src: url('../vendor/fonts/Inter-ExtraBold.woff') format('woff'); font-weight: 800; font-style: normal; font-display: swap; }
html, body { font-family: Inter, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; }
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: #f1f5f9; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }
.grid-line-hour { border-bottom: 1px solid #e2e8f0; }
.grid-line-half { border-bottom: 1px dashed #f1f5f9; }
.time-slot:hover { background-color: rgba(99, 102, 241, 0.05); }
.drag-handle-top, .drag-handle-bottom { cursor: ns-resize; }
.tooltip-card { pointer-events: none; transition: opacity .15s ease, transform .15s ease; }
.hidden { display: none !important; }
.sidebar-collapsed { width: 4.5rem !important; }
.sidebar-collapsed .sidebar-text-element { display: none; }
/* Local Fallback Mode: everything that writes is visibly disabled; reading keeps working. */
body.tg-offline [data-write] { opacity: .45; pointer-events: none; cursor: not-allowed; }
.tg-card-dragging { opacity: .8; box-shadow: 0 10px 25px rgba(15, 23, 42, .35); z-index: 30 !important; }
.tg-faded { opacity: .4; }
button:focus-visible, select:focus-visible, input:focus-visible, textarea:focus-visible { outline: 2px solid #6366f1; outline-offset: 1px; }
