
.tt-toolbar{display:flex;justify-content:flex-end;gap:10px;margin:10px 0}
.tt-tz-badge{font-size:12px;background:#eef2ff;border:1px solid #c7d2fe;color:#1e3a8a;padding:3px 8px;border-radius:999px}
.tt-table{width:100%;border-collapse:collapse}
.tt-table th,.tt-table td{border:1px solid #ddd;padding:8px;vertical-align:middle}
.tt-modal{position:fixed;inset:0;z-index:100000;display:none}
.tt-modal .tt-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.45)}
.tt-modal .tt-modal-content{position:relative;max-width:560px;margin:10vh auto;background:#fff;border-radius:10px;padding:22px;box-shadow:0 18px 40px rgba(0,0,0,0.25)}
.tt-modal .tt-modal-close{position:absolute;right:10px;top:8px;border:0;background:transparent;font-size:22px;cursor:pointer}
.tt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:12px 0}
.tt-actions{display:flex;gap:8px;align-items:center}
.tt-status{min-width:120px}
.tt-postpone-wrap{display:flex;align-items:center;gap:8px}
.tt-flag{width:36px;height:16px;display:inline-block;opacity:.2;background:url('assets/flag-ap.svg') no-repeat center/contain;transition:opacity .15s ease}
.tt-flag-on{opacity:1}
.tt-hint{display:inline-block;margin-left:8px;font-size:12px;color:#555}
.tt-import-status{display:inline-block;margin-top:4px;font-size:12px}
.tt-import-status.tt-success{color:#0a7f28}
.tt-import-status.tt-error{color:#b00020}

.tt-batch-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tt-batch-controls label{display:flex;align-items:center;gap:5px;margin:0}.tt-shift-minutes{width:75px}.tt-shift-status{font-size:12px;max-width:360px}.tt-select-col{width:34px;text-align:center}@media(max-width:700px){.tt-toolbar{align-items:flex-start;flex-wrap:wrap}.tt-batch-controls{width:100%}}
.tt-display-filter{display:flex;align-items:center;gap:6px;margin:0}.tt-display-filter select{min-width:150px}
@media(max-width:700px){.tt-display-filter{width:100%}.tt-display-filter select{flex:1}}

.tt-import-build{font-size:11px;color:#666;margin-top:3px}.tt-import-diagnostic{margin:6px 0 0;max-width:480px;max-height:260px;overflow:auto;white-space:pre-wrap;word-break:break-word;text-align:left;font-size:11px;background:#f7f7f7;border:1px solid #ddd;padding:6px}

.tt-course-modal-content{max-width:1100px!important;width:min(1100px,94vw);margin:4vh auto!important;max-height:92vh;overflow:auto}
.tt-course-layout{display:grid;grid-template-columns:minmax(360px,1fr) minmax(360px,1.2fr);gap:18px;align-items:start}
.tt-course-panel fieldset{margin:12px 0;padding:10px;border:1px solid #ddd}
.tt-course-panel legend{font-weight:600;padding:0 5px}
.tt-course-panel>label{display:block;margin:8px 0}
.tt-course-panel input[type=text]{width:100%}
.tt-latlon-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tt-latlon-row label{display:flex;flex-direction:column;gap:4px}
.tt-marks-table-wrap{max-height:300px;overflow:auto;margin-bottom:8px}
.tt-marks-table{width:100%;border-collapse:collapse}
.tt-marks-table th,.tt-marks-table td{padding:4px;border-bottom:1px solid #eee;text-align:left}
.tt-marks-table input{width:100%;box-sizing:border-box}
#tt-course-map{height:560px;min-height:420px;border:1px solid #ccc;border-radius:6px;background:#f5f5f5}
.tt-course-status{min-height:22px;margin:4px 0 10px;color:#333}
@media(max-width:850px){.tt-course-layout{grid-template-columns:1fr}.tt-course-modal-content{width:96vw}.tt-course-map-wrap{order:-1}#tt-course-map{height:360px;min-height:320px}}
