/* timetable screen — styles specific to this screen only; shared styles live in tiye.css */
.tt-datepick { display: flex; align-items: center; gap: 8px; margin-left: 8px; }
.tt-datepick .seg button { height: 34px; padding: 0 14px; }
.tt-datepick .input { width: 150px; }

.tt-view.tt-layout { grid-template-columns: minmax(0, 1fr) 340px; align-items: start; gap: 14px; }
.tt-view > .stack { gap: 10px; }
.tt-banner { padding: 7px 8px 7px 14px; min-height: 44px; font-weight: 500; }
.tt-banner b { font-weight: 600; }
.tt-banner .badge { flex: none; }

.tt-grid table.tt td { height: 29px; }
.tt-grid table.tt tbody tr:last-child td { border-bottom: 0; }
.tt-view table.tt th { height: 32px; }
.tt-view table.tt td.time { font-size: 13.5px; }
.tt-view table.tt td.cell.empty { background: #F1EFEA; }
.tt-view .ttc { height: 29px; grid-template-columns: 42px 74px minmax(0, 1fr) auto 42px; gap: 8px; padding: 0 12px; }
.tt-view .ttc .bus { white-space: nowrap; overflow: hidden; }
.tt-view .ttc .flag:empty { display: none; }
.tt-view .ttc .flag:empty + .seats { grid-column: 4 / 6; }
.tt-view td.cell.cancelled .ttc { background: #F7F6F2; }
.tt-view td.cell.sel .ttc { box-shadow: inset 0 0 0 2px var(--copper); }
.tt-skel { padding: 0 12px; }

.tt-edit { position: sticky; top: 0; display: flex; flex-direction: column; height: calc(100vh - var(--topbar-h) - 32px); min-height: 420px; }
.tt-edit-head { padding: 14px 16px 12px; border-bottom: 1px solid var(--line); display: flex; flex-direction: column; gap: 2px; }
.tt-edit-head .t-label { margin-bottom: 2px; }
.tt-edit-title { font-size: 15px; font-weight: 600; line-height: 1.35; }
.tt-edit-body { flex: 1; min-height: 0; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 14px; }
.tt-edit-body p { margin: 0; line-height: 1.55; }
.tt-edit-body .field .help { line-height: 1.45; }
.tt-edit .card-foot { border-top: 0; padding: 12px 16px 16px; }
.tt-divider { height: 1px; background: var(--line); margin: 2px 0; }
.tt-cancel { display: flex; flex-direction: column; gap: 6px; }
.tt-cancel .strong { font-size: 13.5px; }
.tt-kv { grid-template-columns: 60px minmax(0, 1fr); }
.tt-none { padding-top: 2px; }
