.detail-link,.detail-link .detail-link-icon{color:#1d4ed8}
.detail-link .detail-link-icon{opacity:1}
.op-page{max-width:1200px;margin:0 auto 24px;color:#334155}
.op-page h1{font-size:22px;margin:0 0 14px}.op-page h2{font-size:14px;margin:0}
.op-page input,.op-page select,.op-page textarea{font:inherit;color:inherit;min-height:36px;min-width:0;max-width:100%;width:100%;padding:7px 9px;background:#fff;border:1px solid #cbd5e1;border-radius:6px;box-sizing:border-box}
.op-page button{min-height:32px}.op-page label{display:block;font-size:13px}.op-page fieldset{min-width:0;margin:0}
.op-page a{color:#1d4ed8}.op-sub{font-size:13px;color:#64748b}.op-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:16px}.op-head label{max-width:190px}
.op-summary{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 16px;margin-bottom:14px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;position:sticky;top:var(--op-sticky-top,54px);z-index:10;font-size:13px;box-shadow:0 2px 6px rgba(15,23,42,.06)}
.op-summary-date{display:flex!important;align-items:center;gap:7px;white-space:nowrap;width:auto!important;max-width:180px}
.op-summary-date input{min-height:32px;padding:5px 8px}.op-summary .btn{margin-left:auto}
.op-vehicle{border:1px solid #e2e8f0;border-radius:10px;background:#fff;margin-bottom:12px}.op-vehicle-head{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;padding:12px 15px;border-bottom:1px solid #e2e8f0;background:#fafbfc;border-radius:10px 10px 0 0;font-size:12px}.op-vehicle-name{display:flex;align-items:center;gap:10px;min-width:0;margin-right:auto;overflow:hidden;white-space:nowrap}.op-vehicle-name strong{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:16px}.op-vehicle-name>span{flex:0 999 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.op-tag{background:#f1f5f9;border-radius:5px;padding:4px 8px}
.op-legs{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px}.op-leg{border:1px solid #e2e8f0;border-radius:8px;padding:12px}.op-leg.filled{background:#fcfefa;border-color:#b6d983}.op-leg-head{display:flex;align-items:center;justify-content:space-between;min-height:32px;margin-bottom:10px}.op-leg-fields{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(80px,.8fr);gap:9px;font-size:12px}
.op-time{display:flex;gap:6px;align-items:center;min-width:0}.op-time input{flex:1;width:0}.op-time button{white-space:nowrap;padding:6px 8px;font-size:12px}
.op-go{background:#dbeafe!important;color:#1d4ed8!important;border:1px solid #93c5fd!important}
.op-tag,.op-check{flex:none;border:1px solid;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700;white-space:nowrap}.op-state-0{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.op-state-1{background:#fffbeb;border-color:#fcd34d;color:#b45309}.op-state-2{background:#f4f9e9;border-color:#b6d983;color:#6ea115}.op-collapse{flex:0 0 42px;width:42px;height:42px;min-height:42px!important;padding:0;border:0;border-radius:0;background:transparent;display:flex;align-items:center;justify-content:center}.op-leg-head{height:40px}.op-leg-head h2{color:#6ea115}.op-ride-row a svg{margin-right:5px}
.op-place{display:grid;grid-template-columns:1fr 1fr;gap:6px}.op-place label{position:relative;cursor:pointer}.op-place input[type=radio]{position:absolute;opacity:0;width:1px;height:1px;min-height:0}.op-place label span{display:block;padding:8px 3px;text-align:center;border:1px solid #cbd5e1;border-radius:6px;background:white;font-size:12px;white-space:nowrap}.op-place input:checked+span{background:#f3f9e1;border-color:#8fc31f;color:#6ea115}.op-place input:focus-visible+span{outline:2px solid #1d4ed8}.op-free-place{grid-column:1/-1}
.op-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;padding:15px 0;flex-wrap:wrap}.op-actions>span{margin-right:auto;font-size:13px}
.op-inspection{border:1px solid #e2e8f0;border-radius:8px;padding:0;background:white;overflow:hidden}.op-inspection-row{display:grid;grid-template-columns:minmax(0,1fr) 74px 74px;align-items:center;padding:7px 12px;border-bottom:1px solid #e2e8f0;min-height:48px;font-size:13px}.op-inspection-row:first-child{background:#f8fafc;min-height:32px}.op-inspection-row>span:nth-child(n+2){text-align:center}.op-inspection-row label{display:flex;align-items:center;justify-content:center;min-height:38px}.op-inspection-row input{width:18px;height:18px;min-height:18px;accent-color:#6ea115}.op-inspection-row.bad{background:#fee2e2;color:#dc2626}.op-inspection-row.bad input{accent-color:#dc2626}.op-notes{margin-top:15px}.op-notes textarea{display:block;margin-top:6px}
.op-ride{max-width:760px;background:#fff;padding:24px;border:1px solid #e2e8f0;border-radius:10px}.op-attention{background:#f0fdfa;border-color:#99f6e4}.op-customer{font-size:20px;line-height:1.8;margin-bottom:18px}.op-customer strong{font-size:28px}.op-ride-row{display:grid!important;grid-template-columns:100px minmax(0,1fr);align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #e2e8f0;font-size:14px!important}.op-ride-row .op-time{max-width:330px}.op-people{display:flex;gap:7px}.op-people button{width:44px;height:44px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;font-weight:bold}.op-people button[aria-pressed=true]{background:#f3f9e1;border-color:#8fc31f;color:#6ea115}
.op-retry{position:fixed;bottom:12px;left:12px;z-index:500;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:10px;max-width:calc(100vw - 24px);box-shadow:0 3px 12px #0002}
.op-report-controls{justify-content:flex-start;align-items:flex-end}.op-report-controls h1{margin-right:auto}.op-report-controls .op-actions{padding:0}.op-report-controls label{flex:1;min-width:110px}.op-empty{text-align:center;padding:44px 18px;background:#fff}
.op-report-editor{display:grid;grid-template-columns:110px 110px minmax(180px,1fr) auto;align-items:end;gap:8px;padding:13px 16px;margin-bottom:12px!important;background:#f4f9e9;border:1px solid #b6d983;border-radius:9px}.op-report-editor legend{font-weight:bold}.op-report-editor input{background:#f4f9e9}
.op-report-sheet{background:#fff;color:#111;border:1px solid #9ca3af;padding:18px;margin-bottom:20px}.op-report-sheet .op-report-title{text-align:center;font-size:19px;font-weight:800;letter-spacing:4px;margin:0 0 10px}.op-report-title span{font-size:12px;font-weight:400;letter-spacing:0}
.op-report-sheet table{width:100%;border-collapse:collapse;font-size:12px;table-layout:fixed}.op-report-sheet th,.op-report-sheet td{border:1px solid #777;padding:6px;vertical-align:middle;overflow-wrap:anywhere}.op-report-sheet th{background:#e4e7eb;text-align:center;font-weight:700}.op-report-meta{margin-bottom:9px}.op-report-details th,.op-report-details td{vertical-align:top}.op-report-sheet .op-number{text-align:right}.op-report-sheet .op-clock{text-align:center}.op-payment span{display:inline-block;white-space:nowrap}.op-report-sheet .op-payment{overflow-wrap:normal;word-break:keep-all}.op-manual td{background:#fffdf0}.op-blank td{height:26px}.op-report-distance{margin-top:9px}.op-report-distance td{text-align:right;white-space:nowrap}.op-report-notes{margin-top:9px}.op-report-notes th{width:9%}.op-report-notes div{min-height:58px;white-space:pre-wrap}.op-report-notes textarea{background:#f4f9e9;border:0;min-height:58px;border-radius:0}.op-remove{background:#fee2e2;color:#dc2626;padding:4px 8px;display:block;margin-top:6px}
@media screen and (max-width:767px){.op-report-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:9px}.op-report-controls h1,.op-report-controls .op-actions{grid-column:1/-1}.op-report-controls label{max-width:none;min-width:0;overflow:hidden}.op-report-editor{grid-template-columns:1fr 1fr}.op-report-editor label:nth-of-type(3){grid-column:1/-1}.op-report-sheet{padding:12px;border:0}.op-report-sheet .op-report-title{font-size:17px;letter-spacing:1px}.op-report-title span{display:block}.op-report-sheet .op-report-details,.op-report-details tbody{display:block}.op-report-details thead,.op-report-details colgroup{display:none}.op-report-details tr{display:block;border:1px solid #cbd5e1;border-radius:6px;margin:10px 0;padding:8px}.op-report-details td{display:grid;grid-template-columns:65px minmax(0,1fr);gap:8px;border:0;padding:4px;text-align:left!important}.op-report-details td:before{content:attr(data-label);color:#64748b;font-size:11px}.op-report-details td:empty{display:none}.op-report-details tr.op-blank{display:none}.op-report-sheet .op-report-meta,.op-report-meta tbody,.op-report-meta tr,.op-report-sheet .op-report-distance,.op-report-distance tbody,.op-report-distance tr{display:block}.op-report-meta colgroup{display:none}.op-report-meta th,.op-report-distance th{display:inline-block;width:35%;font-size:11px}.op-report-meta td,.op-report-distance td{display:inline-block;width:65%;font-size:12px}.op-report-meta th,.op-report-meta td,.op-report-distance th,.op-report-distance td{box-sizing:border-box}.op-report-distance th:first-child{width:100%}.op-report-notes th{width:16%}}
@page operation-report{size:A4 landscape;margin:0}
@media print{
  body:has(.op-report-sheets),body:has(.op-report-sheets) #root,body:has(.op-report-sheets) #root>div{background:white;margin:0;padding:0;height:auto;overflow:visible}
  body:has(.op-report-sheets) .navbar,body:has(.op-report-sheets) .toast,body:has(.op-report-sheets) .sp-hide,body:has(.op-report-sheets) .ptr-spinner,.op-report-controls,.op-report-editor,.op-remove,.op-retry{display:none!important}
  body:has(.op-report-sheets) .main{margin:0;padding:0;max-width:none;width:auto;height:auto;overflow:visible}
  .op-report-page{max-width:none;margin:0;padding:0}.op-report-sheets{margin:0;padding:0}
  .op-report-sheet{page:operation-report;break-after:page;margin:0;padding:10mm;border:0}.op-report-sheet:last-child{break-after:auto}
  .op-report-sheet .op-report-title{font-size:14pt;letter-spacing:3pt;margin-bottom:4pt}.op-report-title span{font-size:8pt}
  .op-report-sheet table{font-size:8.5pt}.op-report-sheet th,.op-report-sheet td{padding:2.5pt 4pt}.op-report-sheet th{print-color-adjust:exact;-webkit-print-color-adjust:exact}.op-report-sheet tr{break-inside:avoid;page-break-inside:avoid}.op-manual td{background:white}.op-report-notes div{min-height:11mm}.op-report-notes textarea{background:white}.op-report-notes{margin-top:5pt}
}
@media(max-width:767px){.op-page h1{font-size:20px}.op-legs{grid-template-columns:1fr;padding:10px}.op-leg-fields{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.op-leg-fields>label:last-child{grid-column:1/-1}.op-summary{gap:8px 10px;padding:8px 10px;margin-bottom:10px;font-size:12px}
.op-summary-date{max-width:150px;gap:5px}
/* 車両ヘッダは2行にする。1行目に車名を全幅で置き、状態バッジは2行目へ送る。 */
/* 折りたたみは絶対配置で2行にまたがらせ、右側は padding で場所を空ける。 */
.op-vehicle-head{flex-wrap:wrap;gap:2px 8px;padding:7px 52px 7px 12px;position:relative}
.op-vehicle-name{flex:0 0 100%;margin-right:0;gap:8px}
.op-collapse{position:absolute;right:5px;top:50%;transform:translateY(-50%);margin:0}
.op-summary-date input{min-height:30px;padding:4px 6px}
/* 狭い画面では1行目を日付と保存だけにし、件数は2行目へ送る。 */
.op-dispatch-summary .op-summary-date{order:1}
.op-dispatch-summary .btn{order:2;margin-left:auto}
.op-dispatch-summary::after{content:"";flex-basis:100%;height:0;order:3}
.op-dispatch-summary>span{order:4}.op-inspection-row{grid-template-columns:minmax(0,1fr) 46px 46px;padding:7px 9px}.op-ride{padding:15px}.op-ride-row{grid-template-columns:1fr;gap:8px}.op-people button{flex:1;width:auto;max-width:44px}.op-customer strong{font-size:24px}}
