/* Reservation detail — shared panel palette */
.modal:has(.reservation-detail){width:min(1000px,100%);max-height:min(94dvh,980px);background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:0 28px 90px rgba(19,38,58,.18)}
.modal:has(.reservation-detail) .modal-head{padding:15px 22px;background:var(--card);color:var(--ink);border-bottom:1px solid var(--line)}
.modal:has(.reservation-detail) .modal-head h2{font-weight:700;font-size:12px;line-height:1.2;letter-spacing:.11em;color:var(--navy)}
.modal:has(.reservation-detail) .modal-head button{color:var(--ink);border-color:var(--line);background:var(--bg)}
.modal:has(.reservation-detail) .modal-head button:hover{background:#e9f3fd}
.modal:has(.reservation-detail) .modal-body{padding:20px 24px 24px;background:var(--bg)}
.modal:has(.reservation-detail) .modal-foot{background:var(--card);border-color:var(--line);padding:12px 24px}
.modal:has(.reservation-detail) :is(button,a,input):focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.reservation-detail{--rd-ink:var(--ink);--rd-muted:var(--muted);--rd-line:var(--line);--rd-blue:var(--blue);color:var(--rd-ink);font-family:inherit}
.reservation-detail .detail-top{display:flex;align-items:center;gap:17px;padding:3px 1px 18px;border-bottom:1px solid var(--rd-line)}
.reservation-detail .truck-icon{flex:0 0 58px;width:58px;height:58px;border-radius:16px;background:#e9f3fd;color:var(--navy2);display:grid;place-items:center;font-size:13px;font-weight:900;letter-spacing:.08em;box-shadow:inset 0 0 0 1px #d3e4f3}
.reservation-detail .truck-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.reservation-detail .detail-identity{min-width:0}
.reservation-detail .detail-kicker,.reservation-detail .section-kicker{display:block;color:var(--muted);font:700 9px/1.25 "DM Mono",ui-monospace,monospace;letter-spacing:.12em}
.reservation-detail .detail-kicker span{color:var(--blue);margin-left:5px}
.reservation-detail .detail-top h2{font-size:25px;line-height:1.1;letter-spacing:-.035em;color:var(--navy);margin:5px 0 7px}
.reservation-detail .detail-status-row{display:flex;align-items:center;flex-wrap:wrap;gap:5px}
.reservation-detail .detail-status-row .badge{margin:0}
.reservation-detail .detail-carrier{margin-top:7px;color:var(--muted);font-size:11px;font-weight:600}
.reservation-detail .detail-carrier span{color:var(--blue);padding:0 3px}
.reservation-detail .status-workflow{margin:16px 0 12px;padding:18px 19px;background:#f1f6fa;border:1px solid #d5e3ed;border-radius:14px;color:var(--ink)}
.reservation-detail .workflow-eyebrow{color:#1767a8;font:700 9px/1.2 "DM Mono",ui-monospace,monospace;letter-spacing:.13em}
.reservation-detail .workflow-heading h3{font-size:18px;letter-spacing:-.02em;margin-top:5px}
.reservation-detail .workflow-stage{color:#1767a8;background:var(--card);border-color:#d2e5ee}
.reservation-detail .status-journey{gap:0;margin:18px 0 17px}
.reservation-detail .status-journey li{font-size:9px;line-height:1.3;color:var(--muted)}
.reservation-detail .status-journey li:not(:last-child):after{left:calc(50% + 17px);width:calc(100% - 34px);background:#cbdce5}
.reservation-detail .journey-dot{width:33px;height:33px;border-color:#cbdce5;color:#637c8d;background:var(--card)}
.reservation-detail .status-journey li.done{color:#197459}
.reservation-detail .status-journey li.done .journey-dot{background:#178f70;border-color:#178f70}
.reservation-detail .status-journey li.current{color:#145f8c}
.reservation-detail .status-journey li.current .journey-dot{background:#176f9c;border-color:#176f9c;box-shadow:0 0 0 4px rgba(23,111,156,.12)}
.reservation-detail .workflow-action{border-color:#d5e3ed;padding-top:13px}
.reservation-detail .workflow-action p{max-width:540px;color:var(--muted)}
.reservation-detail .workflow-button .primary{background:linear-gradient(135deg,#176ac3,#12a7b1);box-shadow:0 8px 18px rgba(23,106,195,.2);border-radius:9px}
.reservation-detail .workflow-button .success{background:#eaf8f3;color:#0e8a65;box-shadow:none;border-radius:9px}
.reservation-detail .workflow-button button:disabled{background:#e0e8ec;color:#637686;box-shadow:none;cursor:not-allowed}
.reservation-detail .workflow-button button:hover:not(:disabled){transform:translateY(-1px)}
.reservation-detail .eligibility{border-radius:9px}
.reservation-detail .eligibility.eligible{background:#f0f8fc;border-color:#cce5f4;color:#155e82}
.reservation-detail .eligibility.ineligible{background:#fff1f0;border-color:#f1c5c2;color:#a33430}
.reservation-detail .ministry-result,.reservation-detail .detail-card,.reservation-detail .detail-notes{border:1px solid var(--rd-line);border-radius:13px;overflow:hidden;background:var(--card);box-shadow:0 2px 4px rgba(19,38,58,.035)}
.reservation-detail .ministry-result{margin:12px 0}
.reservation-detail .ministry-result .card-head{display:flex;align-items:center;justify-content:flex-start;gap:11px;padding:12px 15px;background:var(--bg);border-bottom:1px solid var(--line)}
.reservation-detail .ministry-result .card-head h3{margin:3px 0 0;font-size:13px;color:var(--ink)}
.reservation-detail .ministry-mark{width:38px;height:38px;flex:0 0 38px;display:block;object-fit:contain;padding:4px;border:1px solid var(--line);border-radius:10px;background:var(--card)}
.reservation-detail .ministry-result .card-body{padding:12px 15px;color:var(--muted);font-size:12px;line-height:1.55}
.reservation-detail .ministry-result .card-body p{margin:0}
.reservation-detail .detail-tools{margin:12px 0;border-color:var(--rd-line);border-radius:13px;background:var(--card);padding:14px 15px}
.reservation-detail .detail-tools-heading{margin-bottom:12px}
.reservation-detail .detail-tools-heading h3,.reservation-detail .problems-section .card-head h3{color:var(--ink);font-size:13px}
.reservation-detail .detail-tools-heading span{font-size:10px;color:var(--muted)}
.reservation-detail .detail-tool-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,175px),1fr));gap:8px}
.reservation-detail .detail-tool-grid button{border-radius:8px;transition:background-color .16s ease,border-color .16s ease,transform .16s ease}
.reservation-detail .detail-tool-grid button:hover:not(:disabled),.reservation-detail .detail-upload button:hover{transform:translateY(-1px)}
.reservation-detail .detail-tool-grid .danger{background:#fff0f0;border-color:#f1c5c2;color:#b33c3c}
.reservation-detail .detail-tool-grid .danger:hover{background:#ffe5e5}
.reservation-detail .readonly-note{border-color:#f3d595;background:#fff3d9;color:#76520d}
.reservation-detail .detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}
.reservation-detail .detail-item{min-width:0;padding:11px 12px;background:var(--card);border:1px solid var(--line);border-radius:9px}
.reservation-detail .detail-item span{color:var(--muted);font:700 8px/1.3 "DM Mono",ui-monospace,monospace;letter-spacing:.08em}
.reservation-detail .detail-item b{margin-top:6px;color:var(--ink);font-size:12px;line-height:1.45}
.reservation-detail .detail-value{display:flex;align-items:center;justify-content:space-between;gap:7px;min-width:0;flex-wrap:wrap}
.reservation-detail .detail-value b{min-width:0;overflow-wrap:anywhere}
.reservation-detail .detail-call{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:44px;margin-top:6px;padding:7px 12px;border:1px solid #bad4ec;border-radius:8px;background:#e9f3fd;color:#155f9f;text-decoration:none;font-size:12px;font-weight:800}
.reservation-detail .detail-call:hover{background:#dcecfb}
.reservation-detail .problems-section{margin-top:12px;border-color:var(--rd-line);border-radius:13px;background:var(--card)}
.reservation-detail .problems-section .card-head{padding:13px 15px;background:var(--bg);border-bottom:1px solid var(--line)}
.reservation-detail .problems-section .card-body{padding:8px 15px}
.reservation-detail .problem-row{padding:12px 2px;border-color:var(--line)}
.reservation-detail .problem-row b{color:var(--ink);font-size:12px}
.reservation-detail .problem-row .small{line-height:1.5}
.reservation-detail .problem-row button{white-space:nowrap}
.reservation-detail .detail-notes{margin-top:12px}
.reservation-detail .detail-notes .card-head,.reservation-detail .detail-card .card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 15px;background:var(--bg);border-bottom:1px solid var(--line)}
.reservation-detail .detail-notes .card-head h3,.reservation-detail .detail-card .card-head h3{font-size:13px;color:var(--ink)}
.reservation-detail .detail-notes .card-body{padding:13px 15px;line-height:1.6}
.reservation-detail .detail-bottom{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:12px;margin-top:12px}
.reservation-detail .detail-card .card-body{padding:12px 15px}
.reservation-detail .timeline{margin:3px 4px 1px;padding-left:17px;border-color:#cbdce5}
.reservation-detail .timeline div{margin-bottom:14px}
.reservation-detail .timeline div:last-child{margin-bottom:2px}
.reservation-detail .timeline div:before{background:var(--blue);box-shadow:0 0 0 3px #e9f3fd}
.reservation-detail .timeline b{color:var(--ink);font-size:11px}
.reservation-detail .timeline span{display:block;margin-top:3px;font-size:10px}
.reservation-detail .detail-card .row-card{padding:9px 0;border-color:var(--line)}
.reservation-detail .detail-card .row-card .small{color:var(--ink);overflow-wrap:anywhere}
.reservation-detail .detail-card .link-btn{border-radius:7px}
.reservation-detail .detail-upload{display:grid;gap:9px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.reservation-detail .detail-upload input{padding:8px;border:1px dashed #b9cce0;border-radius:8px;background:#f9fbfc;color:var(--ink);font-size:11px}
.reservation-detail .detail-upload button{min-height:38px;border-radius:8px}
.reservation-detail .empty{padding:13px;border-radius:8px;background:#f1f4f7;color:var(--muted);text-align:center;font-size:11px}

@media(max-width:720px){
  .modal:has(.reservation-detail){width:100%;max-height:calc(100dvh - 12px);border-radius:16px}
  .modal:has(.reservation-detail) .modal-head{padding:13px 16px}
  .modal:has(.reservation-detail) .modal-body{padding:15px 14px 18px}
  .modal:has(.reservation-detail) .modal-foot{padding:10px 14px}
  .reservation-detail .detail-top{align-items:flex-start;gap:12px;padding-bottom:14px}
  .reservation-detail .truck-icon{width:46px;height:46px;flex-basis:46px;border-radius:13px}
  .reservation-detail .detail-top h2{font-size:21px}
  .reservation-detail .detail-carrier{line-height:1.5}
  .reservation-detail .status-workflow{padding:15px 13px}
  .reservation-detail .workflow-heading{align-items:flex-start}
  .reservation-detail .workflow-stage{font-size:9px;padding:6px 8px}
  .reservation-detail .status-journey{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:15px}
  .reservation-detail .status-journey li:nth-child(4):after{display:none}
  .reservation-detail .status-journey li:nth-child(5){grid-column:1}
  .reservation-detail .status-journey li:not(:last-child):after{top:14px}
  .reservation-detail .workflow-action{align-items:flex-start;flex-direction:column}
  .reservation-detail .workflow-button{width:100%}
  .reservation-detail .workflow-button button{width:100%;min-height:42px}
  .reservation-detail .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .reservation-detail .detail-item{padding:9px}
  .reservation-detail .detail-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .reservation-detail .detail-bottom{grid-template-columns:1fr;gap:10px}
}
@media(max-width:420px){
  .reservation-detail .status-journey li{font-size:8px}
  .reservation-detail .journey-dot{width:29px;height:29px}
  .reservation-detail .status-journey li:not(:last-child):after{top:13px;left:calc(50% + 15px);width:calc(100% - 30px)}
  .reservation-detail .detail-tool-grid{grid-template-columns:1fr}
  .reservation-detail .problem-row{align-items:flex-start;flex-direction:column}
}
