.ops { padding: 24px; max-width: 1500px; width: 100%; }
.ops h1 { font-size: 25px; margin: 0 0 6px; }
.ops h2 { font-size: 18px; margin: 0; }
.ops h3 { font-size: 15px; margin: 0; }
.ops p { margin: 5px 0 0; color: #62615d; font-size: 13px; line-height: 1.6; }
.ops-banner { background: #fff7e5; border: 1px solid #e9d5a9; border-radius: 10px; padding: 10px 14px; color: #735114; font-size: 12px; line-height: 1.6; margin: 16px 0; }
.ops-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-bottom: 18px; }
.ops-stat { padding: 16px; background: #fff; border: 1px solid #e4e2dd; border-radius: 12px; font-size: 12px; color: #62615d; }
.ops-stat strong { display: block; color: #1e1e1e; font-size: 27px; margin: 5px 0; }
.ops-tabs { display: flex; flex-wrap: wrap; gap: 6px; border-bottom: 1px solid #d9d6cf; padding-bottom: 12px; margin-bottom: 20px; }
.ops button { cursor: pointer; border: 1px solid #d9d6cf; background: #fff; border-radius: 8px; padding: 9px 12px; color: #1e1e1e; font-size: 12px; font-weight: 700; }
.ops button[aria-selected="true"], .ops button.ops-primary { background: #b5121b; color: #fff; border-color: #b5121b; }
.ops button:hover { box-shadow: 0 0 0 1px #b5121b; }
.ops button:focus-visible, .ops input:focus-visible, .ops textarea:focus-visible, .ops select:focus-visible { outline: 3px solid #2f6fb0; outline-offset: 2px; }
.ops-toolbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 16px; }
.ops-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.ops label { display: flex; flex-direction: column; gap: 5px; color: #62615d; font-size: 12px; font-weight: 600; }
.ops input, .ops select, .ops textarea { min-height: 37px; padding: 8px 10px; border: 1px solid #d9d6cf; border-radius: 8px; background: #fff; color: #1e1e1e; font-size: 13px; min-width: 0; width: 100%; }
.ops input[type="number"] { width: 90px; }
.ops textarea { resize: vertical; min-height: 80px; }
.ops-panel { padding: 18px; background: #fff; border: 1px solid #e4e2dd; border-radius: 12px; }
.ops-stack { display: flex; flex-direction: column; gap: 12px; }
.ops-table-wrap { overflow-x: auto; border: 1px solid #e4e2dd; border-radius: 12px; background: #fff; }
.ops table { border-collapse: collapse; width: 100%; font-size: 13px; text-align: left; }
.ops th { padding: 12px 14px; font-size: 11px; color: #62615d; background: #f8f7f4; text-transform: uppercase; letter-spacing: .04em; }
.ops td { padding: 13px 14px; border-top: 1px solid #eeece6; vertical-align: top; }
.ops td small { display: block; color: #62615d; margin-top: 5px; font-size: 11px; line-height: 1.5; }
.ops td select { min-width: 225px; }
.ops-pill { display: inline-block; padding: 4px 8px; background: #e8f3ec; color: #1f5c38; border-radius: 6px; font-size: 11px; font-weight: 700; white-space: nowrap; }
.ops-pill[data-problem="true"] { background: #fbeaeb; color: #8e0e15; }
.ops-substitutes { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin: 14px 0; }
.ops-substitutes p { min-height: 42px; margin-bottom: 8px; }
.ops-split { display: grid; grid-template-columns: minmax(260px, .85fr) minmax(320px, 1.15fr); gap: 18px; align-items: start; }
.ops-case { text-align: left; display: flex; flex-direction: column; gap: 7px; width: 100%; }
.ops-case[aria-pressed="true"] { border-color: #b5121b; background: #fbf1f1; }
.ops-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin: 16px 0; }
.ops-wide { grid-column: 1 / -1; }
.ops-history { margin: 12px 0 0; padding-left: 18px; color: #62615d; font-size: 12px; line-height: 1.8; }
.ops-message { padding: 12px 14px; border-radius: 9px; background: #e6eef8; color: #1f4b80; margin-bottom: 16px; font-size: 13px; }
.ops-error { color: #8e0e15; font-size: 13px; }
.ops-fleet { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
@media (max-width: 1100px) { .ops-substitutes, .ops-fleet { grid-template-columns: repeat(2,minmax(0,1fr)); } .ops-split { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .ops { padding: 14px; } .ops-stats { grid-template-columns: repeat(2,minmax(0,1fr)); } .ops-substitutes, .ops-fleet, .ops-form { grid-template-columns: 1fr; } }
