/* Transport preview only. Screen styling never changes the shared PDF pages. */
@media screen {
  #transportPage {
    --tr-bg: #f5f6f8;
    --tr-surface: #ffffff;
    --tr-subtle: #f8f9fb;
    --tr-line: #e4e7ec;
    --tr-ink: #243044;
    --tr-muted: #657186;
    --tr-accent: #bd496f;
    --tr-soft: #fbf0f4;
    background: var(--tr-bg);
    color: var(--tr-ink);
    padding: 24px 28px 48px;
    font-size: 14px;
    line-height: 1.55;
    letter-spacing: -.02em;
  }
  #transportPage .transport-shell { max-width: 1360px; margin-inline: auto; }
  #transportPage button { touch-action: manipulation; transition: background-color .15s, border-color .15s; box-shadow: none; white-space: normal; line-height: 1.4; }
  #transportPage button:focus-visible,
  #transportPage input:focus-visible,
  #transportPage select:focus-visible,
  #transportPage textarea:focus-visible,
  #transportPage summary:focus-visible { outline: 3px solid #d073924f; outline-offset: 3px; }
  #transportPage .transport-header { align-items: center; gap: 20px; margin-bottom: 20px; }
  #transportPage .transport-header h2 { margin: 8px 0 4px; color: var(--tr-ink); font-size: 26px; line-height: 1.3; font-weight: 800; letter-spacing: -.04em; }
  #transportPage .transport-brand { display: inline-block; margin: 0 0 0 12px; color: var(--tr-muted); font-size: 11px; font-weight: 650; vertical-align: middle; }
  #transportPage .transport-header p { color: var(--tr-muted); font-size: 13px; }
  #transportPage .transport-back { min-height: 32px; color: var(--tr-muted); font-weight: 600; font-size: 13px; }
  #transportPage .transport-export { display: flex; justify-content: flex-end; gap: 8px; }
  #transportPage .transport-export button,
  #transportPage .transport-toolbar-actions button,
  #transportPage .transport-preset-actions button,
  #transportPage .transport-directory-actions button,
  #transportPage .transport-directory-head > button,
  #transportPage .transport-dialog-actions button {
    min-height: 44px; padding: 10px 14px; border: 1px solid var(--tr-line);
    border-radius: 10px; background: var(--tr-surface); color: var(--tr-ink); font-size: 13px; font-weight: 650;
  }
  #transportPage .transport-export #transportCopy { background: transparent; border-color: transparent; color: var(--tr-muted); }
  #transportPage .transport-primary,
  #transportPage #transportPdf { background: var(--tr-accent) !important; border-color: var(--tr-accent) !important; color: #fff !important; }
  #transportPage :where(button:hover:not(:disabled):not(.transport-primary):not(#transportPdf)) { background-color: var(--tr-subtle); border-color: #cbd1dc; }
  #transportPage .transport-primary:hover:not(:disabled),
  #transportPage #transportPdf:hover:not(:disabled) { filter: brightness(.94); }
  #transportPage button:disabled { opacity: .42; }
  #transportPage .transport-workflow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; max-width: 720px; margin: 0 0 20px; padding: 5px; background: #e9ecf0; border-radius: 12px; }
  #transportPage .transport-workflow button { min-height: 44px; padding: 10px 16px; border: 1px solid transparent; border-radius: 8px; background: transparent; color: #5f6b7e; font-size: 14px; font-weight: 650; }
  #transportPage .transport-workflow button[aria-current=page] { background: var(--tr-surface); color: var(--tr-accent); border-color: #e0e3e8; box-shadow: 0 1px 3px #18223608; }
  #transportPage .transport-panel { border: 1px solid var(--tr-line); border-radius: 16px; padding: 20px; background: var(--tr-surface); box-shadow: none; }
  #transportPage .transport-carepo-note { display: flex; gap: 8px; align-items: baseline; margin: 0 0 18px; padding: 10px 14px; border-radius: 9px; background: var(--tr-subtle); color: var(--tr-muted); font-size: 12px; line-height: 1.7; }
  #transportPage .transport-carepo-note::before { content: '안내'; color: var(--tr-ink); font-weight: 750; flex: 0 0 auto; }
  #transportPage .transport-toolbar { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 16px 24px; align-items: end; margin: 0; }
  #transportPage .transport-toolbar-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; align-items: center; }
  #transportPage .transport-date-control { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; min-width: 0; }
  #transportPage .transport-date-control > label { display: block; text-align: left; grid-column: 1 / -1; font-size: 12px; font-weight: 700; color: var(--tr-muted); margin: 0; }
  #transportPage .transport-date-input { min-height: 44px; border-color: var(--tr-line); border-radius: 10px; }
  #transportPage .transport-date-input input { min-height: 42px; width: 100%; padding: 10px 12px; font-size: 14px; font-weight: 650; font-variant-numeric: tabular-nums; color: var(--tr-ink); background: var(--tr-surface); }
  #transportPage .transport-date-input button { min-width: 40px; min-height: 42px; border-left-color: var(--tr-line); color: var(--tr-muted); background: var(--tr-surface); }
  #transportPage #transportDateApply { min-height: 44px; border: 1px solid var(--tr-line); border-radius: 10px; padding: 10px 14px; color: var(--tr-ink); background: var(--tr-surface); font-size: 13px; font-weight: 650; }
  #transportPage #transportLegacyWrap { grid-column: 1 / -1; max-width: 320px; }
  #transportPage .transport-preset-tools { display: grid; grid-template-columns: minmax(160px, 1fr) minmax(260px, 1.2fr) auto; gap: 16px; align-items: center; margin-top: 18px; padding: 16px; background: var(--tr-subtle); border: 1px solid var(--tr-line); border-radius: 12px; }
  #transportPage .transport-preset-intro strong { display: block; color: var(--tr-ink); font-size: 14px; font-weight: 750; }
  #transportPage .transport-preset-intro p { margin: 5px 0 0; color: var(--tr-muted); font-size: 12px; line-height: 1.7; max-width: 260px; }
  #transportPage .transport-weekday-field { min-width: 0; }
  #transportPage #transportWeekdayLabel { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  #transportPage .transport-weekdays { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
  #transportPage .transport-weekdays button { position: relative; display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 44px; padding: 10px 4px; background: var(--tr-surface); color: var(--tr-muted); border: 1px solid var(--tr-line); border-radius: 8px; font-size: 14px; font-weight: 700; }
  #transportPage .transport-weekdays button[aria-checked=true] { border-color: #d77b98; background: var(--tr-soft); color: var(--tr-accent); }
  #transportPage .transport-weekdays button[data-saved=true]::after { content: ''; position: absolute; bottom: 5px; width: 3px; height: 3px; border-radius: 50%; background: currentColor; }
  #transportPage #transportTemplateHint { margin: 7px 0 0; color: var(--tr-muted); font-size: 11px; min-height: 17px; }
  #transportPage .transport-preset-actions { display: flex; gap: 8px; min-width: 0; }
  #transportPage #transportTemplateLoad { border-color: #c4cbd6; background: var(--tr-surface); }
  #transportPage #transportTemplateSave { color: var(--tr-muted); background: transparent; }
  #transportPage .transport-status { margin: 10px 0 14px; min-height: 20px; font-size: 12px; line-height: 1.7; color: var(--tr-muted); }
  #transportPage .transport-status.error { color: #b33450; }
  #transportPage .transport-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0 0 16px; }
  #transportPage .transport-metric { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 6px; padding: 12px 16px; border: 1px solid var(--tr-line); border-radius: 10px; background: var(--tr-surface); }
  #transportPage .transport-metric > span { font-size: 12px; color: var(--tr-muted); font-weight: 600; }
  #transportPage .transport-metric strong { color: var(--tr-ink); font-size: 20px; font-weight: 750; font-variant-numeric: tabular-nums; letter-spacing: -.04em; }
  #transportPage #transportWarnings:not(:empty) { margin: 0 0 16px; padding: 14px 16px; border-color: #eed8b0; background: #fffbf2; color: #825f27; border-radius: 10px; font-size: 13px; }
  #transportPage #transportUnassigned { margin: 0 0 16px; padding: 12px 14px; border-color: var(--tr-line); background: var(--tr-subtle); color: var(--tr-muted); }
  #transportPage #transportUnassigned summary { cursor: pointer; color: var(--tr-ink); font-size: 13px; font-weight: 650; }
  #transportPage .transport-scroll { border: 1px solid var(--tr-line); border-radius: 12px; scrollbar-width: thin; scrollbar-color: #cbd1dc transparent; }
  #transportPage .transport-table { min-width: 1000px; width: 100%; table-layout: fixed; font-size: 13px; line-height: 1.65; }
  #transportPage .transport-table th { padding: 13px 12px; background: var(--tr-subtle); color: var(--tr-muted); font-size: 12px; font-weight: 650; border: 0; }
  #transportPage .transport-table th:nth-child(1) { width: 52px; text-align: center; }
  #transportPage .transport-table th:nth-child(2) { width: 114px; }
  #transportPage .transport-table th:nth-child(3) { width: 66px; }
  #transportPage .transport-table th:nth-child(4) { width: 142px; }
  #transportPage .transport-table th:nth-child(6) { width: 150px; }
  #transportPage .transport-table th:nth-child(7) { width: 182px; }
  #transportPage .transport-table td { padding: 15px 12px; color: var(--tr-ink); border-top: 1px solid var(--tr-line); overflow-wrap: anywhere; background: var(--tr-surface); }
  #transportPage .transport-table tr:not(.transport-group):not(.transport-round) td:nth-child(2) { font-weight: 700; }
  #transportPage .transport-table tr:not(.transport-group):not(.transport-round) td:nth-child(4) { white-space: nowrap; font-variant-numeric: tabular-nums; font-size: 12px; }
  #transportPage .transport-table .transport-number { color: var(--tr-muted); font-variant-numeric: tabular-nums; }
  #transportPage .transport-table .transport-group td { padding: 15px 16px; background: var(--tr-soft); border-top: 1px solid #efdde4; }
  #transportPage .transport-group-content strong { font-size: 15px; font-weight: 750; }
  #transportPage .transport-group-content small { color: var(--tr-muted); font-size: 12px; font-weight: 500; margin-left: 5px; }
  #transportPage .transport-round td { padding: 12px 16px; background: var(--tr-subtle); color: #52627a; font-size: 12px; font-weight: 600; }
  #transportPage .transport-round .transport-actions { float: right; display: inline-flex; flex-wrap: wrap; gap: 6px; }
  #transportPage .transport-table .transport-row-action { min-height: 32px; padding: 6px 9px; margin: 2px; border: 1px solid var(--tr-line); background: var(--tr-surface); color: var(--tr-muted); border-radius: 7px; font-size: 11px; font-weight: 600; }
  #transportPage .transport-planned-badge { display: inline-block; background: #edf4f0; color: #52705f; padding: 3px 7px; border-radius: 5px; font-size: 11px; font-weight: 650; white-space: nowrap; }
  #transportPage .transport-bottom { align-items: stretch; gap: 20px; margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--tr-line); }
  #transportPage .transport-bottom label { display: grid; gap: 9px; margin: 0; color: var(--tr-muted); font-size: 12px; }
  #transportPage .transport-bottom textarea { min-height: 96px; padding: 12px 14px; border-color: var(--tr-line); background: var(--tr-surface); color: var(--tr-ink); border-radius: 10px; font-size: 13px; line-height: 1.8; }
  #transportPage .transport-bottom > strong { align-self: flex-end; color: var(--tr-muted); font-size: 12px; font-weight: 500; white-space: normal; }
  #transportPage .transport-directory-head { gap: 12px; margin-bottom: 24px; }
  #transportPage .transport-directory-head h3 { margin: 0; color: var(--tr-ink); font-size: 20px; font-weight: 750; }
  #transportPage .transport-directory-head p { margin-top: 8px; font-size: 13px; line-height: 1.6; color: var(--tr-muted); }
  #transportPage .transport-directory-list { gap: 14px; grid-template-columns: repeat(auto-fill,minmax(260px,1fr)); }
  #transportPage .transport-senior-card { padding: 18px; background: var(--tr-surface); border-color: var(--tr-line); border-radius: 12px; }
  #transportPage .transport-senior-card strong { display: block; font-size: 15px; color: var(--tr-ink); }
  #transportPage .transport-senior-card strong small { display: inline-block; margin-left: 6px; padding: 2px 6px; background: var(--tr-subtle); color: var(--tr-muted); border-radius: 5px; font-size: 11px; font-weight: 500; }
  #transportPage .transport-senior-card p { margin: 10px 0 16px; font-size: 13px; line-height: 1.8; color: var(--tr-muted); }
  #transportPage .transport-senior-card button { min-height: 36px; padding: 7px 12px; border-color: var(--tr-line); color: var(--tr-ink); font-size: 12px; border-radius: 8px; }
  #transportPage .transport-dialog { padding: 26px; width: min(560px,calc(100vw - 32px)); max-height: calc(100dvh - 32px); border-color: var(--tr-line); border-radius: 16px; background: var(--tr-surface); color: var(--tr-ink); box-shadow: 0 16px 56px #1d29392b; }
  #transportPage .transport-dialog::backdrop,
  #transportPage .transport-export-dialog::backdrop { background: #1a233866; backdrop-filter: blur(2px); }
  #transportPage .transport-dialog h3 { margin-bottom: 24px; color: var(--tr-ink); font-size: 20px; letter-spacing: -.03em; }
  #transportPage .transport-dialog label { align-items: stretch; justify-content: flex-start; text-align: left; margin-bottom: 18px; gap: 8px; color: var(--tr-muted); font-size: 13px; }
  #transportPage .transport-dialog input:not([type=checkbox]),
  #transportPage .transport-dialog select,
  #transportPage .transport-dialog textarea,
  #transportPage #transportLegacyPeriod { min-height: 44px; border: 1px solid var(--tr-line); padding: 11px 12px; border-radius: 9px; background-color: var(--tr-surface); color: var(--tr-ink); font-size: 14px; font-weight: 500; }
  #transportPage .transport-dialog select,
  #transportPage #transportLegacyPeriod { appearance: none; padding-right: 36px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23657186' stroke-width='1.8'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; }
  #transportPage .transport-dialog textarea { min-height: 100px; line-height: 1.7; }
  #transportPage .transport-staff-pick { margin: 8px 0 20px; padding: 14px; border-color: var(--tr-line); }
  #transportPage .transport-staff-pick legend { color: var(--tr-muted); font-size: 12px; padding: 0 6px; }
  #transportPage .transport-staff-pick label { grid-template-columns: 21px minmax(0,1fr) 86px; gap: 12px; align-items: center; margin: 0; padding: 8px 0; }
  #transportPage .transport-staff-pick input[type=checkbox] { accent-color: var(--tr-accent); }
  #transportPage .transport-dialog-actions { gap: 8px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--tr-line); }
  #transportPage .transport-export-dialog { padding: 24px; background: var(--tr-bg); border-color: var(--tr-line); }
  #transportPage .transport-export-dialog header { padding-bottom: 16px; border-bottom: 1px solid var(--tr-line); }
  #transportPage .transport-export-dialog h3 { color: var(--tr-ink); font-size: 18px; }
  #transportPage .transport-export-dialog button { min-height: 44px; padding: 10px 14px; border: 1px solid var(--tr-line); border-radius: 9px; background: var(--tr-surface); color: var(--tr-ink); font-weight: 650; }
  #transportPage .transport-export-actions { gap: 8px; margin: 16px 0 24px; }
  #transportPage #transportExportStatus { color: var(--tr-muted); line-height: 1.7; }
  #transportPage #transportExportDownload { background: var(--tr-accent); color: white; border-color: var(--tr-accent); }
  #transportPage #transportExportPages img { box-shadow: 0 2px 8px #1722370b; }
  #transportPage .transport-calendar { border-color: var(--tr-line); border-radius: 12px; padding: 14px; box-shadow: 0 10px 32px #1822361f; }
  #transportPage .transport-calendar .transport-day { min-height: 38px; }
  #transportPage .transport-calendar .transport-day.selected { background: var(--tr-accent); border-color: var(--tr-accent); }
}
@media screen and (max-width: 1100px) {
  #transportPage { padding: 24px 20px 48px; }
  #transportPage .transport-header { align-items: flex-start; flex-wrap: wrap; }
  #transportPage .transport-toolbar { grid-template-columns: 1fr; }
  #transportPage .transport-date-control { max-width: 300px; }
  #transportPage .transport-toolbar-actions { justify-content: flex-start; }
  #transportPage .transport-preset-tools { grid-template-columns: minmax(0,1fr) auto; gap: 16px; }
  #transportPage .transport-preset-intro { grid-column: 1 / -1; }
  #transportPage .transport-preset-intro p { max-width: none; }
}
@media screen and (max-width: 600px) {
  #transportPage { padding: 20px 12px 96px; }
  #transportPage .transport-header { gap: 20px; margin-bottom: 20px; }
  #transportPage .transport-header h2 { font-size: 25px; }
  #transportPage .transport-brand { margin-top: 0; }
  #transportPage .transport-export { display: grid; width: 100%; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  #transportPage .transport-export button { min-height: 42px; padding: 10px 8px; }
  #transportPage .transport-export #transportCopy { grid-column: 1 / -1; order: 3; min-height: 28px; padding: 4px; text-align: right; justify-content: flex-end; }
  #transportPage .transport-export #transportPdf { grid-column: 1 / -1; order: 2; }
  #transportPage .transport-workflow { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px; margin-bottom: 20px; }
  #transportPage .transport-workflow button { padding: 10px 8px; font-size: 13px; }
  #transportPage .transport-panel { padding: 16px; border-radius: 14px; }
  #transportPage .transport-carepo-note { margin-bottom: 20px; padding: 12px; }
  #transportPage .transport-date-control { max-width: none; width: 100%; flex: auto; }
  #transportPage .transport-date-input input { font-size: 16px; }
  #transportPage .transport-toolbar { gap: 16px; }
  #transportPage .transport-toolbar-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  #transportPage .transport-toolbar-actions button { min-height: 46px; padding: 10px 7px; font-size: 12px; }
  #transportPage .transport-preset-tools { grid-template-columns: minmax(0,1fr); gap: 16px; margin-top: 20px; padding: 14px; }
  #transportPage .transport-preset-intro { grid-column: auto; }
  #transportPage .transport-preset-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; min-width: 0; }
  #transportPage .transport-preset-actions button { padding: 10px 6px; font-size: 12px; }
  #transportPage .transport-weekdays { gap: 3px; }
  #transportPage .transport-weekdays button { min-height: 44px; padding: 8px 2px; font-size: 13px; }
  #transportPage .transport-metrics { gap: 6px; margin-bottom: 16px; }
  #transportPage .transport-metric { display: grid; gap: 8px; padding: 12px 8px; }
  #transportPage .transport-metric > span { font-size: 11px; }
  #transportPage .transport-metric strong { font-size: 20px; }
  #transportPage .transport-bottom { flex-direction: column; gap: 14px; margin-top: 20px; padding-top: 20px; }
  #transportPage .transport-bottom > strong { align-self: flex-start; font-size: 11px; }
  #transportPage .transport-bottom textarea { font-size: 16px; }
  #transportPage .transport-directory-head { align-items: stretch; margin-bottom: 20px; }
  #transportPage .transport-directory-head h3 { font-size: 18px; }
  #transportPage .transport-directory-head > button { flex: 1 0 40%; font-size: 12px; }
  #transportPage .transport-directory-list { grid-template-columns: minmax(0,1fr); gap: 12px; }
  #transportPage .transport-directory-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  #transportPage .transport-dialog { padding: 20px; width: calc(100vw - 24px); max-height: calc(100dvh - 24px); }
  #transportPage .transport-dialog h3 { font-size: 18px; margin-bottom: 20px; }
  #transportPage .transport-dialog input:not([type=checkbox]),
  #transportPage .transport-dialog select,
  #transportPage .transport-dialog textarea { font-size: 16px; }
  #transportPage .transport-export-dialog { padding: 16px; }
  #transportPage .transport-export-dialog header { gap: 10px; }
  #transportPage .transport-export-dialog h3 { font-size: 16px; }
  #transportPage .transport-export-actions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
  #transportPage .transport-export-actions button { min-width: 0; padding: 9px 6px; font-size: 11px; }
}
@media screen and (prefers-reduced-motion: reduce) {
  #transportPage button { transition: none; }
}

@media print {#transportPage .transport-metrics {display:none!important}}

@media screen {
  #transportPage .transport-photo-tools { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px; margin: 0 0 24px; background: var(--tr-surface); border: 1px solid var(--tr-line); border-radius: 12px; }
  #transportPage .transport-photo-tools strong { font-size: 14px; color: var(--tr-ink); }
  #transportPage .transport-photo-tools p { margin: 5px 0 0; font-size: 12px; line-height: 1.7; color: var(--tr-muted); }
  #transportPage #transportPhotoShareAll { flex-shrink: 0; border-color: #d77b98; color: var(--tr-accent); background: var(--tr-soft); }
  #transportPage .transport-photo-page { margin: 16px 0 24px; padding: 0; }
  #transportPage .transport-photo-page figcaption { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border: 1px solid var(--tr-line); background: var(--tr-surface); border-radius: 10px 10px 0 0; }
  #transportPage .transport-photo-page figcaption strong { margin-right: auto; color: var(--tr-muted); font-size: 12px; }
  #transportPage .transport-photo-page figcaption a { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 14px; border: 1px solid var(--tr-line); border-radius: 9px; color: var(--tr-ink); background: var(--tr-surface); text-decoration: none; font-size: 13px; font-weight: 650; }
  #transportPage .transport-photo-page figcaption a:focus-visible { outline: 3px solid #d073924f; outline-offset: 3px; }
  #transportPage #transportExportPages .transport-photo-page img { margin: 0; }
}
@media screen and (max-width: 600px) {
  #transportPage .transport-export #transportPdf { grid-column: auto; order: 1; }
  #transportPage .transport-photo-tools { align-items: stretch; flex-direction: column; gap: 12px; padding: 14px; }
  #transportPage .transport-photo-page figcaption { gap: 6px; padding: 8px; }
  #transportPage .transport-photo-page figcaption a,
  #transportPage .transport-photo-page figcaption button { padding: 8px 10px; font-size: 12px; }
}
/* Date-specific use and transport planning, scoped to transport only. */
#transportPage .transport-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}
#transportPage .transport-plan-toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:18px 0}
#transportPage .transport-plan-toolbar label{display:grid;gap:6px;min-width:180px;text-align:left}
#transportPage .transport-plan-toolbar label:has(input[type="search"]){flex:1}
#transportPage #transportPlanList{display:grid;gap:12px}
#transportPage .transport-plan-card{display:grid;grid-template-columns:minmax(160px,1.3fr) repeat(3,minmax(110px,.8fr));gap:12px;padding:16px;border:1px solid #e1e5ec;border-radius:12px;background:white;align-items:start}
#transportPage .transport-plan-person{display:grid;gap:6px;word-break:break-word}
#transportPage .transport-plan-person small{color:#64748b;line-height:1.5}
#transportPage .transport-plan-card label{display:grid;gap:6px;text-align:left;font-size:13px}
#transportPage .transport-plan-note{grid-column:1/-2}
#transportPage .transport-plan-state{font-size:13px;color:#64748b;align-self:center}
#transportPage [data-action="remove-rider"]{color:#be3455;min-width:36px;font-size:20px;line-height:1}
#transportPage .transport-editor-col{white-space:nowrap}
#transportPage #transportSeniorOptions{height:auto;min-height:150px;padding:8px;background-image:none}
#transportPage #transportSeniorOptions option{padding:10px 8px}
#transportPage .transport-use-days{display:flex;gap:10px;flex-wrap:wrap;padding:12px;border:1px solid #e1e5ec;border-radius:10px}
#transportPage .transport-use-days label{display:inline-flex;align-items:center;gap:5px}
#transportPage .transport-use-days input{width:18px;height:18px;min-height:0;margin:0}
@media(max-width:700px){
  #transportPage .transport-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  #transportPage .transport-plan-card{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}
  #transportPage .transport-plan-person,#transportPage .transport-plan-note{grid-column:1/-1}
  #transportPage .transport-plan-toolbar label{min-width:0;flex:1 1 100%}
  #transportPage .transport-plan-card input,#transportPage .transport-plan-card select{font-size:16px;width:100%;min-width:0}
}

#transportPage .transport-plan-card select{appearance:none;-webkit-appearance:none;width:100%;min-width:0;min-height:44px;padding:10px 30px 10px 12px;border:1px solid #dce2eb;border-radius:9px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%2364748b' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 10px center;color:#26364a;font:inherit;line-height:1.4}
#transportPage .transport-plan-note input{width:100%;min-width:0;min-height:44px;border:1px solid #dce2eb;border-radius:9px;background:#fff;padding:10px 12px;box-sizing:border-box}
#transportPage .transport-plan-card select:disabled{background-color:#f6f7f9;opacity:.8}
@media(min-width:900px){#transportPage .transport-workflow{grid-template-columns:repeat(5,minmax(0,1fr));max-width:900px}}
@media(max-width:700px){#transportPage .transport-plan-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto}#transportPage .transport-plan-toolbar label:has(input[type="search"]){grid-column:1/-1}#transportPage #transportPlanRefresh{grid-column:1/-1}}

#transportPage .transport-plan-card input,#transportPage .transport-plan-card select,#transportPage .transport-plan-toolbar input{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box}
#transportPage .transport-use-days input{width:18px!important;min-width:18px!important;max-width:18px!important;height:18px!important}
@media(max-width:700px){#transportPage .transport-plan-card input,#transportPage .transport-plan-card select,#transportPage .transport-plan-toolbar input,#transportPage #transportSeniorSearch{font-size:16px!important}}

#transportPage .transport-plan-card label,#transportPage .transport-plan-toolbar label{grid-template-columns:minmax(0,1fr);justify-content:stretch;justify-items:stretch;align-content:start}

#transportPage .transport-plan-card label.transport-day-toggle{display:flex!important;flex-direction:row;justify-content:flex-start;align-items:center;gap:10px;min-height:44px;padding:10px 12px;border:1px solid #dce2eb;border-radius:9px;background:#fff;cursor:pointer;box-sizing:border-box}
#transportPage .transport-plan-card .transport-day-toggle input[type="checkbox"]{appearance:auto!important;-webkit-appearance:auto!important;width:20px!important;min-width:20px!important;max-width:20px!important;height:20px!important;min-height:20px!important;padding:0;margin:0;accent-color:#c44c75;flex:0 0 20px;cursor:pointer}
#transportPage .transport-day-toggle[data-enabled="true"]{background:#fff4f8!important;border-color:#e7a8bf!important;color:#a7355d}
#transportPage .transport-day-toggle[data-enabled="false"]{background:#f5f6f8!important;color:#6b7280}
#transportPage .transport-day-toggle:focus-within{outline:2px solid #c44c75;outline-offset:2px}
/* Layout review: screen only; PDF/copy and stored records are unchanged. */
@media screen {
  #transportPage .transport-shell,
  #transportPage .transport-panel,
  #transportPage .transport-header > *,
  #transportPage .transport-toolbar > *,
  #transportPage .transport-plan-card > * { min-width: 0; max-width: 100%; }
  #transportPage .transport-scroll { max-width: 100%; overflow-x: auto; }
  #transportPage .transport-table { min-width: 1000px; }
  #transportPage .transport-table th:nth-child(7) { width: 220px; }
  #transportPage .transport-editor-col { white-space: normal; }
  #transportPage td.transport-editor-col { display: table-cell; }
  #transportPage .transport-table .transport-row-action { margin: 2px 1px; }
  #transportPage .transport-group-content { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
  #transportPage .transport-group-content strong { min-width: 0; overflow-wrap: anywhere; }
  #transportPage .transport-actions { display: inline-flex; flex-wrap: wrap; gap: 6px; max-width: 100%; }
  #transportPage .transport-workflow { grid-template-columns: repeat(5,minmax(0,1fr)); max-width: 960px; }
  #transportPage .transport-workflow button { min-width: 0; padding-inline: 8px; overflow-wrap: anywhere; }
  #transportPage .transport-dialog,
  #transportPage .transport-export-dialog { box-sizing: border-box; max-width: calc(100vw - 24px); max-height: calc(100dvh - 24px); overflow: auto; }
  #transportPage .transport-dialog input:not([type=checkbox]),
  #transportPage .transport-dialog textarea,
  #transportPage .transport-dialog select { min-width: 0; max-width: 100%; }
  #transportPage .transport-photo-page figcaption { flex-wrap: wrap; }
}
@media screen and (max-width: 1120px) {
  #transportPage .transport-header { align-items: stretch; }
  #transportPage .transport-header > *,#transportPage .transport-export { width: 100%; }
  #transportPage .transport-export { justify-content: flex-start; flex-wrap: wrap; }
  #transportPage .transport-preset-tools { grid-template-columns: minmax(0,1fr); }
  #transportPage .transport-preset-actions { flex-wrap: wrap; }
  #transportPage .transport-directory-actions { flex-wrap: wrap; }
}
@media screen and (max-width: 1120px) {
  #transportPage { padding-inline: 12px; padding-bottom: calc(96px + env(safe-area-inset-bottom)); }
  #transportPage .transport-panel { padding: 12px; border-radius: 12px; }
  #transportPage .transport-workflow { grid-template-columns: repeat(3,minmax(0,1fr)); }
  #transportPage .transport-workflow button { font-size: 12px; padding: 10px 6px; }
  #transportPage .transport-export { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  #transportPage .transport-export button { min-width: 0; }
  #transportPage .transport-export #transportCopy,#transportPage .transport-export #transportPdf { grid-column: auto; order: 0; }
  #transportPage .transport-preset-tools { padding: 12px; }
  #transportPage .transport-preset-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  #transportPage .transport-scroll { overflow: visible; border: 0; }
  #transportPage .transport-table { display: block; min-width: 0; width: 100%; }
  #transportPage .transport-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  #transportPage .transport-table tbody { display: block; width: 100%; }
  #transportPage .transport-table tr { display: grid; grid-template-columns: 28px minmax(0,1fr) auto; width: 100%; margin-bottom: 10px; border: 1px solid var(--tr-line); border-radius: 10px; background: white; padding: 10px; gap: 8px; }
  #transportPage .transport-table td { display: block; padding: 0; border: 0; min-width: 0; background: transparent; }
  #transportPage .transport-table tr:not(.transport-group):not(.transport-round) td:nth-child(1) { grid-column: 1; grid-row: 1; }
  #transportPage .transport-table tr:not(.transport-group):not(.transport-round) td:nth-child(2) { grid-column: 2; grid-row: 1; }
  #transportPage .transport-table tr:not(.transport-group):not(.transport-round) td:nth-child(3) { grid-column: 3; grid-row: 1; }
  #transportPage .transport-table tr:not(.transport-group):not(.transport-round) td:nth-child(4),
  #transportPage .transport-table tr:not(.transport-group):not(.transport-round) td:nth-child(5),
  #transportPage .transport-table tr:not(.transport-group):not(.transport-round) td:nth-child(6) { grid-column: 2 / -1; white-space: normal; overflow-wrap: anywhere; }
  #transportPage .transport-table tr:not(.transport-group):not(.transport-round) td:nth-child(4)::before { content: '연락처  '; color: var(--tr-muted); font-weight: 500; }
  #transportPage .transport-table tr:not(.transport-group):not(.transport-round) td:nth-child(5)::before { content: '주소  '; color: var(--tr-muted); font-weight: 500; }
  #transportPage .transport-table tr:not(.transport-group):not(.transport-round) td:nth-child(6):not(:empty)::before { content: '비고  '; color: var(--tr-muted); font-weight: 500; }
  #transportPage .transport-table tr:not(.transport-group):not(.transport-round) td:nth-child(6):empty,
  #transportPage .transport-table td.transport-editor-col:empty { display: none; }
  #transportPage .transport-table td.transport-editor-col { grid-column: 1 / -1; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px; padding-top: 8px; border-top: 1px solid var(--tr-line); white-space: normal; }
  #transportPage .transport-table .transport-row-action { min-height: 40px; margin: 0; padding: 8px 10px; }
  #transportPage .transport-table .transport-group,
  #transportPage .transport-table .transport-round { display: block; padding: 12px; }
  #transportPage .transport-table .transport-group { background: var(--tr-soft); margin-top: 18px; }
  #transportPage .transport-table .transport-round { background: var(--tr-subtle); }
  #transportPage .transport-table .transport-group td,
  #transportPage .transport-table .transport-round td { display: block; padding: 0; background: transparent; }
  #transportPage .transport-round .transport-actions { float: none; display: flex; margin-top: 10px; }
  #transportPage .transport-group-content .transport-actions { width: 100%; }
  #transportPage .transport-directory-head { flex-wrap: wrap; gap: 12px; }
  #transportPage .transport-plan-card { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #transportPage .transport-plan-person,#transportPage .transport-plan-note { grid-column: 1 / -1; }
  #transportPage .transport-plan-toolbar { display: grid; grid-template-columns: minmax(0,1fr) auto; }
  #transportPage .transport-plan-toolbar label { min-width: 0; }
  #transportPage .transport-plan-toolbar label:has(input[type=search]),#transportPage #transportPlanRefresh { grid-column: 1 / -1; }
}
@media screen and (max-height: 500px) {
  #transportPage .transport-dialog,#transportPage .transport-export-dialog { max-height: calc(100dvh - 16px); margin-block: 8px; }
}
@media screen {
  #transportPage .transport-address-tools { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:-8px 0 12px; }
  #transportPage .transport-address-tools button,#transportPage [data-address-close] { min-height:44px; padding:10px 14px; border:1px solid var(--tr-line); border-radius:9px; background:white; color:var(--tr-accent); }
  #transportPage .transport-address-tools small,#transportPage .transport-address-status { color:var(--tr-muted); font-size:12px; line-height:1.6; }
  #transportPage .transport-address-status:empty { display:none; }
  #transportPage .transport-address-panel { padding:8px; margin-bottom:14px; border:1px solid var(--tr-line); border-radius:10px; background:white; }
  #transportPage .transport-address-panel[hidden] { display:none!important; }
  #transportPage [data-address-close] { display:block; margin:0 0 8px auto; }
  #transportPage [data-address-host] { height:400px; width:100%; min-width:0; }
  #transportPage [data-address-host] iframe { max-width:100%; }
}
@media screen {
  #transportPage .transport-directory-search { display:grid; gap:8px; margin:0 0 20px; }
  #transportPage .transport-directory-search label { display:block; margin:0; text-align:left; font-size:13px; color:var(--tr-muted); font-weight:650; }
  #transportPage #transportDirectorySearch { box-sizing:border-box; width:100%; min-width:0; min-height:44px; padding:11px 12px; border:1px solid var(--tr-line); border-radius:9px; background:var(--tr-surface); color:var(--tr-ink); font:inherit; }
  #transportPage #transportDirectorySearchStatus { margin:0; font-size:12px; color:var(--tr-muted); }
}
@media screen and (max-width:1120px) { #transportPage #transportDirectorySearch { font-size:16px; } }
@media screen {
  #transportPage .transport-month-dialog { width:min(680px,calc(100vw - 24px)); }
  #transportPage .transport-month-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:6px; margin:16px 0; }
  #transportPage .transport-month-grid > strong { text-align:center; font-size:12px; }
  #transportPage label.transport-month-day { display:flex; flex-direction:column; align-items:center; gap:6px; min-width:0; padding:10px 2px; margin:0; border:1px solid var(--tr-line); border-radius:8px; background:#f5f6f8; cursor:pointer; }
  #transportPage label.transport-month-day[data-enabled=true] { background:var(--tr-soft); border-color:#d77b98; color:var(--tr-accent); }
  #transportPage .transport-month-day input[type=checkbox] { appearance:auto!important; width:20px!important; min-width:20px!important; height:20px!important; min-height:20px!important; margin:0!important; padding:0!important; accent-color:var(--tr-accent); }
  #transportPage .transport-month-day small { font-size:11px; }
  #transportPage .transport-month-changes { font-size:13px; line-height:1.7; padding-top:12px; border-top:1px solid var(--tr-line); }
  #transportPage [data-month-status] { font-size:13px; line-height:1.7; overflow-wrap:anywhere; }
  #transportPage [data-month-load] { min-height:44px; padding:8px 14px; border:1px solid var(--tr-line); border-radius:9px; background:white; color:var(--tr-ink); }
}
@media screen and (max-width:600px) { #transportPage .transport-month-grid { gap:3px; } #transportPage .transport-month-dialog { padding:16px; } }
/* Monthly calendar visual refinement; underlying date plans remain unchanged. */
@media screen {
  #transportPage .transport-month-dialog { width:min(700px,calc(100vw - 24px)); padding:26px; border:1px solid #e6e9ef; box-shadow:0 24px 80px #24304426; }
  #transportPage .transport-month-dialog h3 { margin-bottom:10px; font-size:21px; }
  #transportPage .transport-month-dialog > .transport-copy-explain { margin:0 0 22px; font-size:12px; line-height:1.75; color:#758096; }
  #transportPage .transport-month-navigation { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:8px 0 18px; }
  #transportPage .transport-month-navigation > div { display:grid; gap:3px; text-align:center; }
  #transportPage .transport-month-navigation small { color:var(--tr-muted); font-size:11px; letter-spacing:.05em; }
  #transportPage [data-month-heading] { font-size:24px; color:var(--tr-ink); letter-spacing:-.04em; }
  #transportPage .transport-month-navigation button { width:42px; min-height:42px; flex:0 0 42px; padding:0; border:1px solid var(--tr-line); border-radius:50%; background:white; font-size:26px; color:var(--tr-ink); }
  #transportPage .transport-month-picker { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto; align-items:end; gap:8px; padding:12px; border-radius:12px; background:var(--tr-subtle); }
  #transportPage .transport-month-picker label { display:grid; gap:5px; margin:0; font-size:11px; text-align:left; color:var(--tr-muted); }
  #transportPage .transport-month-picker select { width:100%; min-width:0; min-height:42px; padding:9px 30px 9px 12px; font-size:14px; background-color:white; }
  #transportPage [data-month-load] { min-height:42px; font-size:12px; }
  #transportPage .transport-month-legend { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin:18px 0 12px; color:var(--tr-muted); font-size:11px; }
  #transportPage .transport-month-legend > span { display:inline-flex; align-items:center; gap:5px; }
  #transportPage .transport-month-legend i { width:9px; height:9px; border-radius:50%; background:#f1d8e2; border:1px solid #ce7896; }
  #transportPage .transport-month-legend > span:nth-child(2) i { background:#f1f3f6; border-color:#d5dbe3; }
  #transportPage .transport-month-legend > span:nth-child(3) i { background:#d69840; border-color:#d69840; }
  #transportPage [data-month-status] { font-size:12px; color:var(--tr-muted); margin:10px 0; }
  #transportPage .transport-month-grid { gap:7px; margin:14px 0 20px; }
  #transportPage .transport-month-grid > strong { padding:6px 0; font-size:11px; color:#7a8494; font-weight:600; }
  #transportPage .transport-month-grid > strong:first-child { color:#bb637a; }
  #transportPage .transport-month-grid > strong:nth-child(7) { color:#6686aa; }
  #transportPage label.transport-month-day { position:relative; display:flex; min-height:92px; align-items:center; justify-content:center; gap:5px; padding:10px 3px; border-radius:12px; border:1px solid #e9ecf0; background:#f8f9fb; color:#8992a2; transition:background .15s,border-color .15s,box-shadow .15s; }
  #transportPage label.transport-month-day[data-enabled=true] { color:#ab3e65; background:#fff5f8; border-color:#eed7e0; }
  #transportPage .transport-month-date { font-size:15px; font-weight:750; font-variant-numeric:tabular-nums; }
  #transportPage label.transport-month-day[data-changed=true]::after { content:''; position:absolute; top:7px; right:7px; width:5px; height:5px; border-radius:50%; background:#d69840; }
  #transportPage .transport-month-day input[type=checkbox] { position:absolute!important; width:1px!important; min-width:1px!important; height:1px!important; min-height:1px!important; opacity:0; overflow:hidden; clip-path:inset(50%); }
  #transportPage .transport-month-indicator { display:grid; place-items:center; width:23px; height:23px; border-radius:50%; background:#eceff3; color:#9ba4b2; font-size:16px; line-height:1; }
  #transportPage [data-enabled=true] .transport-month-indicator { background:#bd496f; color:white; }
  #transportPage .transport-month-day small { font-size:10px; font-weight:600; }
  #transportPage .transport-month-day:focus-within { outline:3px solid #d0739255; outline-offset:2px; }
  #transportPage .transport-month-day:has(input:disabled) { cursor:default; opacity:.65; }
  #transportPage label.transport-month-day:hover:has(input:not(:disabled)) { border-color:#cb829c; box-shadow:0 2px 6px #bd496f12; }
  #transportPage .transport-month-changes { background:var(--tr-subtle); border:1px solid var(--tr-line); padding:14px; border-radius:12px; }
  #transportPage .transport-month-changes p { margin:8px 0 0; font-size:12px; }
  #transportPage .transport-month-dialog .transport-dialog-actions { position:sticky; bottom:-26px; z-index:2; margin:16px -26px -26px; padding:16px 26px; background:#fffffff5; backdrop-filter:blur(8px); border-top:1px solid var(--tr-line); }
}
@media screen and (max-width:600px) {
  #transportPage .transport-month-dialog { padding:16px; }
  #transportPage .transport-month-dialog h3 { font-size:18px; }
  #transportPage [data-month-heading] { font-size:22px; }
  #transportPage .transport-month-picker { padding:10px; gap:6px; }
  #transportPage .transport-month-picker select { font-size:16px; padding-left:8px; }
  #transportPage [data-month-load] { padding:8px 10px; }
  #transportPage .transport-month-grid { gap:4px; }
  #transportPage label.transport-month-day { min-height:78px; padding:8px 2px; border-radius:9px; }
  #transportPage .transport-month-date { font-size:14px; }
  #transportPage .transport-month-dialog .transport-dialog-actions { bottom:-16px; margin-inline:-16px; margin-bottom:-16px; padding:12px 16px; }
}
@media screen { #transportPage .transport-month-picker label { grid-template-columns:minmax(0,1fr); justify-items:stretch; align-content:start; } }

@media screen {
  #transportPage .transport-date-heading { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:8px; }
  #transportPage .transport-date-heading > label { display:block; margin:0; text-align:left; color:var(--tr-muted); font-size:12px; font-weight:700; }
  #transportPage .transport-date-steps { display:flex; gap:6px; }
  #transportPage .transport-date-steps button { display:grid; place-items:center; width:44px; min-height:44px; padding:0; border:1px solid var(--tr-line); border-radius:9px; background:var(--tr-surface); color:var(--tr-ink); font-size:24px; line-height:1; }
}

@media screen {
 #transportPage .transport-assignment-filters {display:flex;flex-wrap:wrap;gap:6px;border:0;padding:0;margin:12px 0;}
 #transportPage .transport-assignment-filters legend {font-size:12px;color:var(--tr-muted);margin-bottom:8px;}
 #transportPage .transport-assignment-filters label {position:relative;display:block;margin:0;cursor:pointer;}
 #transportPage .transport-assignment-filters input {position:absolute;opacity:0;width:1px;min-height:0;}
 #transportPage .transport-assignment-filters span {display:block;padding:10px 12px;border:1px solid var(--tr-line);border-radius:9px;background:white;font-size:13px;}
 #transportPage .transport-assignment-filters input:checked + span {background:var(--tr-soft);border-color:#d77b98;color:var(--tr-accent);}
 #transportPage .transport-assignment-filters input:focus-visible + span {outline:3px solid #d0739255;}
 #transportPage #transportDialogStatus {font-size:13px;line-height:1.6;color:var(--tr-muted);overflow-wrap:anywhere;}
}

@media screen {
 #transportPage .transport-default-assignment {display:grid;gap:12px;margin:18px 0 4px;padding:16px;border:1px solid var(--tr-line);border-radius:12px;background:var(--tr-subtle);min-width:0;}
 #transportPage .transport-default-assignment legend {padding:0 5px;font-size:13px;font-weight:700;color:var(--tr-ink);}
 #transportPage .transport-default-assignment label {display:grid;gap:6px;min-width:0;}
 #transportPage .transport-default-assignment select {width:100%;min-width:0;}
 #transportPage .transport-default-assignment p {margin:0;}
}

@media screen {
 #transportPage #transportSeniorDialog {width:min(600px,calc(100vw - 24px));padding:22px;}
 #transportPage #transportSeniorDialog h3 {margin:0 0 18px;}
 #transportPage #transportSeniorFields {display:grid;gap:14px;}
 #transportPage .transport-senior-main {display:grid;gap:12px;}
 #transportPage #transportSeniorFields label {display:grid;grid-template-columns:minmax(0,1fr);gap:5px;margin:0;min-width:0;align-items:stretch;justify-items:stretch;font-size:12px;}
 #transportPage #transportSeniorFields input:not([type=checkbox]),#transportPage #transportSeniorFields select,#transportPage #transportSeniorFields textarea {width:100%;min-width:0;box-sizing:border-box;}
 #transportPage .transport-senior-pair {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
 #transportPage .transport-senior-pair.transport-senior-vehicle {grid-template-columns:minmax(0,1fr) 110px;}
 #transportPage .transport-senior-address-row {display:flex;align-items:stretch;gap:8px;min-width:0;}
 #transportPage .transport-senior-address-row input {flex:1;}
 #transportPage .transport-senior-address-row button {flex:0 0 auto;min-height:44px;white-space:nowrap;font-size:12px;padding:8px 12px;}
 #transportPage .transport-senior-weekdays {margin:0;padding:10px 12px;justify-content:space-between;gap:6px;}
 #transportPage #transportSeniorFields .transport-senior-weekdays label {display:flex;align-items:center;gap:5px;min-height:28px;}
 #transportPage .transport-senior-current {margin:0;font-size:12px;color:var(--tr-ink);}
 #transportPage .transport-senior-help {margin:0;color:var(--tr-muted);font-size:12px;line-height:1.6;}
 #transportPage .transport-senior-extra {border-top:1px solid var(--tr-line);padding-top:12px;}
 #transportPage .transport-senior-extra summary {cursor:pointer;font-size:13px;color:var(--tr-muted);padding:5px 0;}
 #transportPage .transport-senior-extra-body {display:grid;gap:14px;padding-top:14px;}
 #transportPage .transport-senior-extra textarea {min-height:76px;}
 #transportPage #transportSeniorFields .transport-address-status:empty {display:none;}
 #transportPage #transportSeniorDialog .transport-dialog-actions {position:sticky;bottom:-22px;margin:18px -22px -22px;padding:14px 22px;background:var(--tr-surface);border-top:1px solid var(--tr-line);z-index:2;}
}
@media screen and (max-width:480px) {
 #transportPage #transportSeniorDialog {padding:16px;}
 #transportPage .transport-senior-pair {grid-template-columns:minmax(0,1fr);gap:10px;}
 #transportPage .transport-senior-pair.transport-senior-vehicle {grid-template-columns:minmax(0,1fr) 82px;gap:8px;}
 #transportPage #transportSeniorFields .transport-senior-weekdays label {flex-direction:column;gap:4px;}
 #transportPage #transportSeniorDialog .transport-dialog-actions {bottom:-16px;margin-inline:-16px;margin-bottom:-16px;padding:12px 16px;}
}

#transportPage #transportUnassignedMetric[hidden], #transportPage #transportUnassigned[hidden] { display: none !important; }

#transportPage .transport-editor-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
#transportPage .transport-save-info{margin:10px 0;padding:10px 12px;border-radius:9px;background:#edf6f1;color:#245c43;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
#transportPage .transport-save-info[data-state="unsaved"]{background:#fff4e4;color:#895719}
#transportPage .transport-save-info[data-state="saving"]{background:#edf2fa;color:#395779}
#transportPage .transport-save-info[data-state="empty"]{background:#f3f5f8;color:#5d6b7e}

#transportPage .transport-review-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}
#transportPage .transport-review-tools>article{min-width:0;padding:16px;border:1px solid #e0e5ee;border-radius:12px;background:#fff}
#transportPage .transport-review-tools header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
#transportPage .transport-review-tools header button{padding:7px 10px;font-size:12px}
#transportPage .transport-review-tools p{font-size:12px;line-height:1.6;color:#61718a;overflow-wrap:anywhere}
#transportPage .transport-review-tools ul{margin:10px 0 0;padding:0;list-style:none;max-height:230px;overflow:auto}
#transportPage .transport-review-tools li{padding:9px 0;border-top:1px solid #edf0f5;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
#transportPage .transport-review-tools li small{display:block;color:#61718a}
#transportPage .transport-review-tools li[data-warning-kind="leave"]{color:#9a3c17}
#transportPage .transport-change-kind{display:inline-block;margin-left:8px;padding:1px 6px;border-radius:6px;background:#fbeef3;color:#a8446a;font-size:11px}
#transportPage .transport-bulk-tools{display:flex;flex-wrap:wrap;gap:10px;padding:14px;margin:0 0 14px;border:1px solid #e1e5ed;border-radius:10px;background:#f8f9fc}
#transportPage .transport-bulk-tools>div:first-child{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
#transportPage .transport-bulk-tools span{font-size:12px;color:#69788e}
#transportPage .transport-bulk-actions{display:flex;flex:1;gap:8px;align-items:center;flex-wrap:wrap}
#transportPage .transport-bulk-actions select{flex:1;min-width:160px;max-width:100%;min-height:42px;padding:8px;border:1px solid #dce2eb;border-radius:8px;background:#fff}
#transportPage .transport-bulk-person{display:flex!important;align-items:center;gap:8px;cursor:pointer;margin-bottom:4px}
#transportPage .transport-plan-card .transport-bulk-person input[type="checkbox"]{appearance:auto!important;width:20px!important;min-width:20px!important;max-width:20px!important;height:20px!important;padding:0;margin:0;accent-color:#c44c75;flex:0 0 20px}
#transportPage .transport-review-tools[hidden],#transportPage .transport-bulk-tools[hidden]{display:none!important}
#transportPage .transport-bulk-dialog [data-bulk-names]{font-size:13px;line-height:1.7;overflow-wrap:anywhere;max-height:160px;overflow:auto;padding:12px;border-radius:8px;background:#f7f8fb}
#transportPage .transport-bulk-dialog [data-bulk-warnings]{font-size:12px;line-height:1.6;color:#915518}
@media(max-width:700px){#transportPage .transport-review-tools{grid-template-columns:minmax(0,1fr)}#transportPage .transport-bulk-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;flex-basis:100%}#transportPage .transport-bulk-actions select{grid-column:1/-1;min-width:0}#transportPage .transport-bulk-actions button{min-width:0;font-size:12px;padding:10px 6px}}
#transportPage .transport-plan-card{grid-template-columns:minmax(180px,1.4fr) repeat(2,minmax(120px,1fr))}
#transportPage .transport-plan-note,#transportPage .transport-plan-state{grid-column:1/-1}
#transportPage .transport-plan-person small{display:block;overflow-wrap:anywhere}
@media(max-width:700px){#transportPage .transport-plan-card{grid-template-columns:repeat(2,minmax(0,1fr))}#transportPage .transport-editor-actions{width:100%}#transportPage .transport-editor-actions button{flex:1;min-width:0}}
