/* Small additions Tailwind utilities don't cover */

/* Forecast part of the plan (beyond the exact-dates horizon): hatched bars */
.bar-forecast {
  background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.55) 0 4px, transparent 4px 8px);
}

/* Timeline */
.tl-grid { position: relative; }
.tl-bar { position: absolute; top: 6px; height: 24px; border-radius: 6px; cursor: grab; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 11px; line-height: 24px; padding: 0 6px; user-select: none; }
.tl-bar:active { cursor: grabbing; }
.tl-bar.is-dragging { opacity: .85; box-shadow: 0 4px 12px rgba(15,23,42,.18); z-index: 5; }
.tl-bar:focus-visible { outline: 2px solid #009442; outline-offset: 2px; }
.tl-today { position: absolute; top: 0; bottom: 0; width: 0; border-left: 1.5px dashed #009442; pointer-events: none; z-index: 3; }

/* Tables with a sticky header inside a scrolling card */
.table-scroll { max-height: calc(100vh - 290px); overflow: auto; }
.table-scroll thead th { position: sticky; top: 0; z-index: 1; }

/* Range inputs in brand colour */
input[type=range] { accent-color: #009442; }

/* Draggable queue rows */
.queue-item.is-moving { background: #eef8f2; }

/* Hide number spinners */
input[type=number]::-webkit-inner-spin-button { opacity: .4; }

/* Keep text clear of the dropdown arrow on every select */
select { padding-right: 2.25rem !important; }

/* (?) help icon */
.help-btn { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; flex-shrink: 0; color: #94a3b8; border-radius: 9999px; cursor: help; vertical-align: middle; }
.help-btn svg { width: 15px; height: 15px; }
.help-btn:hover, .help-btn:focus-visible { color: #007f38; outline: none; }
.help-btn:focus-visible { box-shadow: 0 0 0 2px #a9dec0; }

/* Phase 2 report preview: every part linked to its source record */
#rp-paper .src { cursor: pointer; border-bottom: 1px dotted #94a3b8; border-radius: 2px; transition: background-color .15s; }
#rp-paper div.src { border-bottom: 0; }
#rp-paper .src:hover { background: #e0f2fe; outline: 1px dashed #38bdf8; outline-offset: 1px; }
#rp-paper .src-flash { background: #fef3c7; outline: 2px solid #f59e0b; }
@media print { header, aside, .no-print { display: none !important; } main { padding: 0 !important; } }

#rp-paper .has-cmt { background: #fef9c3; border-bottom: 2px solid #eab308; }
#rp-paper .cmt-pin { display: inline-block; margin-left: 2px; padding: 0 4px; border-radius: 9999px; background: #eab308; color: #fff; font: 600 9px/14px Inter, sans-serif; vertical-align: super; }
