/* Additive, scoped styling. No changes to the established material/FCM UI. */
.operator-zone {overflow-wrap:anywhere; min-width:0;}
.operator-zone h3 {font-size:1.3rem;line-height:1.35;}
.operator-zone h4 {font-size:1.07rem;line-height:1.4;margin:0 0 .55rem;}
.operator-zone p {line-height:1.65;}
.op-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.op-field {display:flex;flex-direction:column;gap:8px;font-size:1rem;line-height:1.5;min-width:0;}
.op-field>span {font-weight:650;}
.op-field .field {width:100%;min-width:0;max-width:100%;box-sizing:border-box;font-size:1rem;}
.op-field textarea {min-height:95px;}
.op-role-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0;}
.op-role {border:1px solid #cbd5e1;border-left:5px solid #64748b;border-radius:10px;padding:17px;background:#fff;min-width:0;}
.op-role>strong {display:inline-block;padding:3px 8px;border-radius:5px;background:#edf2f7;}
.op-role.op-yes {border-left-color:#16845c;}
.op-role.op-unknown {border-left-color:#c8870c;background:#fffbeb;}
.op-role.op-no {border-left-color:#64748b;}
.op-role.op-no>strong {background:#eef2f6;color:#475569;}
.op-status {padding:12px 15px;border-radius:8px;border:1px solid #d3dce7;}
.op-status.op-yes {background:#edf9f3;border-color:#91c9b1;}
.op-status.op-unknown {background:#fff8e4;border-color:#dfc27c;}
.op-status.op-no {background:#f5f6f8;border-color:#cbd5e1;}
.op-route {border:1px solid #cbd5e1;border-radius:12px;padding:20px;margin:20px 0;background:#f9fbfe;}
.op-route-head {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;}
.op-services {display:flex;flex-wrap:wrap;gap:18px;margin:20px 0;}
.op-services label {display:flex;align-items:center;gap:6px;font-size:1rem;}
.op-services input {width:18px;height:18px;}
.op-obligations {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.op-duty {padding:18px;border:1px solid #ccd8e4;border-radius:10px;}
.op-table-wrap {overflow-x:auto;margin:18px 0;}
.op-table {width:100%;border-collapse:collapse;font-size:.98rem;}
.op-table td,.op-table th {border:1px solid #d3dce7;padding:12px;text-align:left;vertical-align:top;}
.op-table th {background:#edf4fa;}
.operator-zone details {margin:10px 0;}
.operator-zone summary {cursor:pointer;font-weight:600;}
@media(max-width:1050px){.op-role-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:640px){.op-grid,.op-role-grid,.op-obligations{grid-template-columns:1fr;}.op-route{padding:14px;}.op-route-head{align-items:flex-start;}.op-route-head .btn{padding:8px 10px;}.op-table td,.op-table th{padding:8px;}}
@media print{.op-role,.op-duty,.op-route{break-inside:avoid;}.operator-zone button{display:none;}}
