/* A calm planning canvas. The scale is controlled in pixels/day, never by viewport width. */
#timeline-section { --timeline-accent: #32594e; --timeline-paper: #fcfcf8; --timeline-border: #dce4de; }
.main-nav { overflow-x: auto; scrollbar-width: none; }
.main-nav::-webkit-scrollbar { display: none; }
.timeline-sync { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 2px 2px 18px; }
.timeline-sync p { margin: 5px 0 0; color: var(--muted); font-size: 12px; }
.timeline-source { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 650; letter-spacing: .01em; }
.timeline-source::before { content: ""; width: 7px; height: 7px; background: #36806b; border-radius: 50%; }
.timeline-source.fixture::before { background: #bd8a39; }
#timeline-sync-error { color: #943b2e; max-width: 740px; }
#timeline-refresh { border: 1px solid #d6dfdb; background: #fff; color: #32594e; border-radius: 9px; padding: 9px 13px; font-size: 12px; font-weight: 650; min-height: 40px; white-space: nowrap; }
.timeline-board { background: var(--timeline-paper); border: 1px solid var(--timeline-border); border-radius: 18px; overflow: hidden; box-shadow: 0 5px 22px #18324a04; }
.timeline-board-tools { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; padding: 18px 22px; border-bottom: 1px solid #e8ece5; }
.timeline-date-controls, .timeline-scale-controls { display: flex; gap: 5px; align-items: center; }
.timeline-board-tools button { min-width: 38px; min-height: 38px; border: 1px solid #e0e5df; border-radius: 8px; background: #fff; color: #375148; font-size: 20px; }
.timeline-board-tools button:hover { background: #edf2ec; }
.timeline-board-tools #timeline-today { padding: 0 12px; font-size: 12px; font-weight: 700; margin: 0 4px; }
#timeline-zoom-label { min-width: 79px; text-align: center; font-weight: 650; font-size: 12px; }
#timeline-range { margin: 0; font-size: 12px; color: #748176; font-variant-numeric: tabular-nums; }
.timeline-stage { position: relative; overflow: hidden; touch-action: pan-y; user-select: none; -webkit-user-select: none; cursor: grab; background-image: radial-gradient(#b6c3b640 .75px, transparent .75px); background-size: 18px 18px; transition: height .18s ease; }
.timeline-stage.dragging { cursor: grabbing; }
.timeline-axis { position: absolute; top: 112px; left: 0; right: 0; height: 2px; background: #c9d4cb; pointer-events: none; }
.timeline-tick { position: absolute; top: 94px; height: 24px; width: 1px; background: #b9c6bb; pointer-events: none; }
.timeline-tick span { position: absolute; bottom: 30px; left: 0; color: #69776b; font-size: 12px; font-weight: 600; white-space: nowrap; }
.timeline-tick.year { width: 2px; background: #728779; }
.timeline-tick.year span { font-weight: 750; color: #3d5849; }
.timeline-day-tick { position: absolute; top: 108px; height: 9px; width: 1px; background: #c3cec3; pointer-events: none; }
.timeline-day-tick span { position: absolute; bottom: 14px; color: #829082; font-size: 10px; transform: translateX(-50%); }
.timeline-today-line { position: absolute; top: 32px; bottom: 0; width: 1px; background: #658c6c75; pointer-events: none; }
.timeline-today-line > span { position: absolute; bottom: calc(100% + 4px); left: 0; transform: translateX(-50%); color: #4a6e50; font-size: 10px; font-weight: 750; letter-spacing: .03em; }
.timeline-milestone { position: absolute; display: flex; align-items: flex-start; gap: 9px; padding: 12px; min-height: 86px; border: 1px solid #d6dfd5; border-radius: 12px; background: #fff; color: #304e44; text-align: left; box-shadow: 0 3px 8px #2f4c3d06; transition: box-shadow .16s, border-color .16s, background .16s; }
.timeline-milestone:hover, .timeline-milestone:focus-visible { border-color: #799c86; box-shadow: 0 6px 16px #2f4c3d16; background: #fdfffb; }
.timeline-milestone.customer { border-color: #d9d4ea; color: #67547c; }
.timeline-milestone.customer:hover { border-color: #9f8fb5; }
.timeline-milestone.fulfilled { background: #edf5eb; }
.timeline-milestone.customer.fulfilled { background: #f1eff7; }
.milestone-symbol { font-size: 24px; line-height: 1; flex-shrink: 0; margin-top: 2px; font-weight: 400; }
.milestone-copy { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.milestone-date { font-size: 10px; text-transform: uppercase; letter-spacing: .06em; opacity: .72; }
.milestone-copy strong { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 12px; line-height: 1.4; font-weight: 700; overflow-wrap: anywhere; }
.milestone-count { font-size: 10px; opacity: .75; white-space: nowrap; }
.timeline-milestone.medium { min-height: 84px; padding: 10px; gap: 6px; }
.timeline-milestone.medium .milestone-symbol { font-size: 18px; }
.timeline-milestone.medium .milestone-count { display: none; }
.timeline-milestone.compact { align-items: center; justify-content: center; padding: 8px; min-height: 46px; border-radius: 50%; }
.timeline-milestone.compact .milestone-symbol { margin: 0; }
.timeline-board-bottom { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 15px 22px; border-top: 1px solid #e8ece5; background: #fafbf7; }
.timeline-legend { display: flex; gap: 16px; color: #6c7a70; font-size: 11px; }
.timeline-legend span:first-child { color: #32594e; }.timeline-legend span:last-child { color: #6b577e; }
.timeline-board-bottom > p { margin: 0; font-size: 11px; color: #7d877d; }
#timeline-empty { text-align: center; color: #708071; margin: 0; padding: 0 26px 32px; font-size: 14px; }
.timeline-underboard { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 17px; }
.timeline-underboard > p { font-size: 12px; color: var(--muted); margin: 0; }
#timeline-jump { max-width: 360px; min-width: 210px; padding: 10px 12px; color: #455c50; background: #fff; border: 1px solid #d9e1db; border-radius: 9px; font-size: 12px; }
.timeline-dialog { width: min(92vw, 570px); height: min(840px, 88dvh); max-height: 88dvh; border: 1px solid #dfe6de; border-radius: 18px; padding: 0; overflow: hidden; background: #fcfdfb; box-shadow: 0 30px 100px #18261b40; }
.timeline-dialog[open] { display: flex; flex-direction: column; animation: timeline-dialog-enter .16s ease-out; }
.timeline-dialog::backdrop { background: #182a244f; backdrop-filter: blur(2px); }
.issue-dialog { width: min(92vw, 600px); }
.timeline-dialog-header { flex: 0 0 auto; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 25px 26px 18px; border-bottom: 1px solid #e5eae2; }
.timeline-dialog-header h2 { margin: 6px 0 0; font-size: 23px; letter-spacing: -.035em; line-height: 1.25; overflow-wrap: anywhere; }
.timeline-dialog-header p { margin: 0; color: #6e8073; font-size: 11px; font-weight: 650; }
.timeline-close { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 42px; width: 42px; height: 42px; padding: 0; color: #708075; background: #eef2ec; border: none; border-radius: 50%; font-size: 27px; line-height: 1; }
.timeline-close:hover { background: #e3e9e0; color: #284637; }
.timeline-dialog-body { overflow-y: auto; overscroll-behavior-y: contain; -webkit-overflow-scrolling: touch; min-height: 0; flex: 1; padding: 22px 26px; }
.timeline-dialog-actions { flex-shrink: 0; padding: 16px 26px; display: flex; justify-content: flex-end; align-items: center; gap: 10px; border-top: 1px solid #e5eae2; background: #fcfdfb; }
.timeline-dialog-actions > button { min-height: 44px; font-size: 13px; }
.danger-btn { background: transparent; color: #9a493e; padding: 10px 0; border: 0; margin-right: auto; }
#milestone-error { margin: 8px 24px; flex-shrink: 0; font-size: 12px; }
.milestone-progress { display: flex; align-items: center; gap: 12px; padding: 14px 16px; margin-bottom: 23px; border: 1px solid #dbe5d8; border-radius: 12px; background: #f0f5ed; color: #435d40; }
.milestone-progress.neutral { color: #718073; background: #f4f6f2; border-color: #e4e9e1; }
.milestone-progress.fulfilled { background: #e9f4e5; color: #38663a; border-color: #c5ddbe; }
.progress-symbol { font-size: 22px; font-weight: 650; }
.progress-copy { display: flex; flex-direction: column; gap: 3px; }.progress-copy strong { font-size: 13px; }.progress-copy span { font-size: 12px; opacity: .8; }
.milestone-list-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 12px; }
.milestone-list-heading h3 { margin: 0; font-size: 13px; }
.timeline-check { display: flex; align-items: center; gap: 7px; font-size: 11px; color: #6a796c; cursor: pointer; min-height: 34px; }
.timeline-check input { width: 16px; height: 16px; accent-color: #476b50; margin: 0; }
.timeline-issue-card { background: #fff; border: 1px solid #dfe6dc; border-radius: 12px; margin-bottom: 10px; overflow: hidden; }
.issue-open { border: 0; width: 100%; color: inherit; background: none; text-align: left; padding: 14px; display: block; }
.issue-open:hover { background: #f6f8f3; }
.issue-open h3 { margin: 8px 0 9px; font-size: 14px; font-weight: 650; line-height: 1.45; overflow-wrap: anywhere; }
.issue-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 10px; }
.issue-number { font-size: 11px; color: #66786a; font-variant-numeric: tabular-nums; font-weight: 650; }
.issue-status { font-size: 10px; display: inline-flex; gap: 4px; padding: 3px 7px; background: #eef4e9; color: #56713d; border-radius: 5px; }
.issue-status.completed { color: #635681; background: #f0ecf7; }.issue-status.unfulfilled { color: #80633d; background: #f8f1e5; }
.fixture-badge { color: #9c792d; font-size: 10px; }
.issue-labels { display: flex; flex-wrap: wrap; gap: 4px; }
.issue-label { --label-color: #a0b2a4; display: inline-block; font-size: 10px; line-height: 1.35; padding: 3px 6px 3px 8px; border: 1px solid #e2e8de; border-left: 3px solid var(--label-color); border-radius: 4px; color: #637063; background: #f8faf5; overflow-wrap: anywhere; }
.assignment-caption { padding: 7px 14px; background: #f8faf6; border-top: 1px solid #edf0e9; font-size: 10px; color: #7b8779; }
.timeline-footnote { font-size: 11px; line-height: 1.6; color: #839080; margin: 18px 0 0; }
.timeline-empty-list { font-size: 13px; color: #7a8879; line-height: 1.65; padding: 12px 0 22px; margin: 0; }
.milestone-fields { display: grid; grid-template-columns: minmax(0, 1fr) 150px; gap: 15px 12px; margin-bottom: 24px; }
.timeline-field { display: flex; flex-direction: column; gap: 7px; font-size: 12px; font-weight: 650; color: #536c59; }
.timeline-field input { min-width: 0; width: 100%; padding: 11px; font-size: 14px; background: #fff; color: #294137; border: 1px solid #ccd8ca; border-radius: 8px; }
.milestone-types { grid-column: 1 / -1; display: flex; gap: 10px; border: 0; margin: 0; padding: 0; }
.milestone-types legend { padding: 0 0 8px; font-size: 12px; font-weight: 650; color: #536c59; }
.milestone-types label { display: flex; align-items: center; gap: 7px; flex: 1; border: 1px solid #d7e0d3; padding: 11px 10px; border-radius: 8px; font-size: 12px; background: #fff; cursor: pointer; }
.milestone-types input { accent-color: #496c51; }
.milestone-types label:has(input:checked) { background: #eef4ea; border-color: #99b295; }
.assignment-controls { display: flex; align-items: center; gap: 5px; padding: 8px 10px; background: #f8faf6; border-top: 1px solid #edf0e9; }
.assignment-controls select { min-width: 0; min-height: 38px; padding: 7px; background: #fff; color: #52684e; border: 1px solid #d8e1d2; border-radius: 7px; font-size: 11px; margin-right: auto; }
.order-button { width: 38px; height: 38px; background: #fff; border: 1px solid #d8e1d2; border-radius: 7px; color: #52684e; }
.remove-assignment { border: 0; background: transparent; padding: 7px; font-size: 10px; color: #967365; min-height: 38px; }
.issue-picker { margin: 18px 0 0; padding: 0 14px 12px; border: 1px dashed #b7c9b2; border-radius: 10px; background: #f5f8f1; }
.issue-picker summary { font-size: 13px; padding: 14px 0 5px; cursor: pointer; color: #526f46; font-weight: 650; }
.issue-picker:not([open]) summary { padding-bottom: 2px; }
.issue-picker > .timeline-field { margin-top: 14px; }.issue-picker > .timeline-check { margin: 8px 0; }
.issue-picker-count { font-size: 10px; color: #83927d; }
.issue-picker-list { max-height: 340px; overflow-y: auto; overscroll-behavior: contain; }
.issue-choice { width: 100%; display: flex; align-items: center; gap: 11px; padding: 12px 0; border: 0; border-top: 1px solid #e0e7da; background: transparent; text-align: left; color: #3f5d39; }
.issue-choice.selected { opacity: .55; cursor: default; }
.choice-icon { font-size: 21px; flex: 0 0 23px; text-align: center; }
.issue-choice-copy { display: flex; flex-direction: column; gap: 4px; min-width: 0; }.issue-choice-copy strong { font-size: 12px; font-weight: 600; overflow-wrap: anywhere; }.issue-choice-meta { font-size: 10px; color: #788970; }
#issue-detail-body > .issue-status { margin-bottom: 12px; }
.issue-description { color: #415644; font-size: 14px; line-height: 1.75; overflow-wrap: anywhere; margin-top: 22px; }
.issue-description p { white-space: pre-wrap; margin: 14px 0; }.issue-description h2 { font-size: 19px; }.issue-description h3 { font-size: 16px; }.issue-description h4 { font-size: 14px; }
.issue-description a, #issue-github-link { color: #426c51; text-underline-offset: 3px; }
.issue-description ul { padding-left: 22px; }.issue-description li { margin: 6px 0; }
.issue-description pre { background: #f0f3ed; border: 1px solid #dce4d6; border-radius: 9px; padding: 14px; overflow-x: auto; font-size: 11px; }.issue-description code { font-size: .9em; background: #f0f3ed; border-radius: 3px; padding: 2px 4px; }.issue-description pre code { padding: 0; }
#issue-back { margin-right: auto; color: #476c4d; font-size: 13px; }#issue-github-link { font-size: 12px; }
.timeline-dialog.saving button, .timeline-dialog.saving input, .timeline-dialog.saving select { pointer-events: none; opacity: .55; }
@keyframes timeline-dialog-enter { from { opacity: 0; transform: translateY(8px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }
@media (max-width: 720px) {
  .main-nav { display: flex; gap: 1px; overflow-x: auto; flex-wrap: nowrap; }
  .main-nav button { flex: 0 0 auto; min-width: 66px; padding: 11px 12px; white-space: nowrap; font-size: 12px; }
  .timeline-board { border-radius: 13px; }
  .timeline-board-tools { padding: 12px; gap: 10px; }
  #timeline-range { order: 3; flex-basis: 100%; font-size: 10px; }
  .timeline-board-tools button { min-width: 37px; min-height: 42px; }
  .timeline-board-tools #timeline-today { margin: 0; padding: 0 8px; }#timeline-zoom-label { min-width: 65px; font-size: 11px; }
  .timeline-date-controls, .timeline-scale-controls { gap: 3px; }
  .timeline-board-bottom { padding: 13px; gap: 10px; }.timeline-board-bottom > p { font-size: 10px; }.timeline-legend { font-size: 10px; }
  .timeline-underboard { flex-direction: column; align-items: stretch; gap: 12px; }#timeline-jump { max-width: none; width: 100%; min-height: 44px; font-size: 16px; }
  .timeline-sync { gap: 10px; padding-bottom: 15px; }.timeline-sync p { font-size: 11px; }#timeline-refresh { min-height: 44px; }
  .timeline-dialog, .issue-dialog { width: 100%; max-width: 100%; height: 100dvh; max-height: 100dvh; margin: 0; inset: 0; border: 0; border-radius: 0; }
  .timeline-dialog-header { padding: calc(15px + env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) 15px max(18px, env(safe-area-inset-left)); }
  .timeline-dialog-header h2 { font-size: 23px; }.timeline-dialog-body { padding: 20px max(18px, env(safe-area-inset-right)) 20px max(18px, env(safe-area-inset-left)); }
  .timeline-dialog-actions { padding: 13px max(18px, env(safe-area-inset-right)) calc(13px + env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left)); }
  .timeline-dialog-actions .primary-btn { flex: 1; }.timeline-close { width: 44px; height: 44px; flex-basis: 44px; }
  .milestone-fields { grid-template-columns: 1fr; gap: 15px; }.timeline-field input { font-size: 16px; min-height: 46px; }.milestone-types label { min-height: 48px; font-size: 12px; }
  .timeline-check { min-height: 42px; font-size: 12px; }.timeline-check input { width: 18px; height: 18px; }.assignment-controls select { font-size: 16px; width: 125px; min-height: 44px; }.order-button { width: 44px; height: 44px; flex-shrink: 0; }.remove-assignment { min-height: 44px; padding: 5px; font-size: 10px; }
  .issue-open { padding: 13px; }.issue-open h3 { font-size: 14px; }.milestone-list-heading { gap: 0; }.milestone-types { grid-column: 1; }.issue-picker-list { max-height: 38dvh; }.issue-choice { padding: 14px 0; }
}
@media (prefers-reduced-motion: reduce) { .timeline-stage, .timeline-milestone { transition: none; } }

/* Let the timeline take precedence over the surrounding application chrome. */
.timeline-view .topbar { min-height: 68px; }
.timeline-view .auth-strip { padding-top: 5px; padding-bottom: 5px; }
.timeline-view .main-nav { margin-bottom: 10px; }
.timeline-view .intro { margin-top: 16px; margin-bottom: 16px; }
.timeline-view .intro h1 { font-size: 30px; }
.timeline-view .intro .muted { font-size: 12px; }
.timeline-view .timeline-sync { padding-bottom: 12px; }
@media (max-width: 720px) {
  .timeline-view .topbar { min-height: 58px; }
  .timeline-view .brand-mark { width: 33px; height: 33px; font-size: 22px; }
  .timeline-view .brand strong { font-size: 16px; }
  .timeline-view .intro { gap: 12px; margin-top: 13px; margin-bottom: 13px; }
  .timeline-view .intro h1 { font-size: 26px; }
  .timeline-view .intro .toolbar { display: block; }
  .timeline-view .intro .primary-btn { width: auto; min-height: 44px; }
}

@media (max-width: 720px) {
  .timeline-view .intro { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
  .timeline-view .intro .toolbar { width: auto; }
  .timeline-view .intro .primary-btn { padding: 10px 12px; font-size: 12px; }
  .timeline-view .intro .eyebrow { font-size: 9px; }
}

/* Milestones uses an open time axis across the available content width. */
.timeline-view { background: #f0f5ee; }
.timeline-board { background: transparent; border: 0; border-radius: 0; box-shadow: none; overflow: hidden; }
.timeline-board-tools { padding: 14px 0 20px; border: 0; }
.timeline-stage { background-image: radial-gradient(#b8c8b630 .7px, transparent .7px); }
.timeline-board-bottom { padding: 15px 0; background: transparent; border: 0; }
.timeline-sync { padding-left: 0; padding-right: 0; }
.milestone-add-cards { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 18px; }
.milestone-add-cards > button { min-height: 44px; flex: 1; font-size: 12px; }
.assignment-controls { align-items: end; gap: 7px; }
.assignment-requirement { display: flex; flex-direction: column; gap: 4px; margin-right: auto; }
.assignment-requirement > span { font-size: 10px; color: #758570; }
.assignment-controls select { min-height: 40px; margin: 0; font-size: 12px; }
.order-button { min-height: 40px; width: 40px; }
.card-drag-handle { display: flex; align-items: center; justify-content: center; height: 40px; width: 34px; flex-shrink: 0; border: 1px solid #d8e1d2; border-radius: 7px; background: #fff; color: #74866b; font-size: 22px; cursor: grab; user-select: none; -webkit-user-select: none; -webkit-user-drag: none; touch-action: none; }
.card-drag-handle:active { cursor: grabbing; }
.timeline-issue-card.card-dragging { opacity: .45; }
.timeline-issue-card.card-drop-before { box-shadow: 0 -3px 0 #6b9768; border-top-color: #6b9768; }
.timeline-issue-card.card-drop-after { box-shadow: 0 3px 0 #6b9768; border-bottom-color: #6b9768; }
.card-inline-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; padding: 0 10px 4px; background: #f8faf6; }
.card-inline-actions .text-btn { margin-right: auto; font-size: 11px; min-height: 36px; }
.card-inline-actions .remove-assignment { padding-right: 3px; }
.manual-source { font-size: 10px; border: 1px solid #d7e2d0; color: #5b7351; border-radius: 5px; padding: 3px 6px; font-weight: 650; }
.manual-card .issue-open h3 { margin-bottom: 2px; }
.manual-completion { padding: 0 14px 10px; min-height: 36px; font-size: 12px; color: #465e3e; }
.manual-detail-completion { margin: 8px 0; font-size: 14px; }
.manual-detail-requirement { color: #75856d; font-size: 12px; }
.manual-detail-actions { display: flex; align-items: center; gap: 18px; margin-top: 28px; }
.manual-detail-actions .danger-btn { margin: 0 0 0 auto; }
.manual-card-form { display: flex; flex-direction: column; gap: 18px; }
.timeline-field textarea, .timeline-field select { width: 100%; min-width: 0; padding: 11px; font-size: 14px; background: #fff; color: #294137; border: 1px solid #ccd8ca; border-radius: 8px; }
.timeline-field textarea { resize: vertical; min-height: 130px; line-height: 1.6; }
.issue-picker-dialog .timeline-dialog-body { display: flex; flex-direction: column; gap: 10px; }
.issue-picker-dialog .timeline-field, .issue-picker-dialog .timeline-check, .issue-picker-dialog .issue-picker-count { flex-shrink: 0; margin: 0; }
.issue-picker-dialog .issue-picker-list { flex: 1; min-height: 80px; max-height: none; margin-top: 3px; }
.issue-picker-dialog .timeline-footnote { flex-shrink: 0; margin: 3px 0 0; }
.issue-picker-dialog .issue-choice { padding: 13px 8px; cursor: pointer; border-radius: 7px; align-items: flex-start; }
.issue-picker-dialog .issue-choice:hover { background: #f2f6ed; }
.issue-picker-dialog .issue-choice.selected { opacity: 1; color: #354f31; background: #edf5e6; cursor: pointer; }
.issue-choice > input { width: 19px; height: 19px; margin: 3px 2px 0 0; flex-shrink: 0; accent-color: #527a43; }
.timeline-dialog.saving textarea { pointer-events: none; opacity: .55; }
@media (max-width: 720px) {
  .timeline-board { border-radius: 0; }
  .timeline-board-tools { padding: 8px 0 16px; }
  .timeline-board-bottom { padding: 14px 0; }
  .assignment-controls { gap: 6px; }
  .assignment-controls select { min-height: 44px; font-size: 16px; width: 132px; }
  .card-drag-handle { width: 36px; height: 44px; }
  .order-button { min-height: 44px; width: 44px; }
  .card-inline-actions .text-btn, .card-inline-actions .remove-assignment { min-height: 44px; font-size: 11px; }
  .manual-completion { min-height: 44px; padding-bottom: 10px; }
  .manual-card-form .timeline-field textarea, .manual-card-form .timeline-field select { font-size: 16px; }
  .issue-picker-dialog .timeline-dialog-header h2 { font-size: 22px; }
  .issue-picker-dialog .timeline-dialog-body { gap: 8px; }
  .issue-picker-dialog .issue-picker-list { max-height: none; }
  .issue-picker-dialog .timeline-footnote { font-size: 10px; line-height: 1.45; }
  #manual-card-save { flex: 1; font-size: 13px; }
}

.card-drag-handle:focus-visible { outline: 3px solid #8ecfc4; outline-offset: 3px; }
.card-drag-handle[aria-disabled="true"] { cursor: wait; opacity: .55; }

.card-drag-preview { position: fixed; pointer-events: none; z-index: 5; width: 240px; padding: 10px 13px; background: #f9fcf6; border: 1px solid #7d9d72; border-radius: 9px; box-shadow: 0 8px 28px #28472426; color: #365231; font-size: 12px; font-weight: 650; line-height: 1.4; opacity: .96; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
