.management-dialog { width: min(1200px, 96vw); min-width: 0; max-width: 96vw; max-height: 90vh; }
.operations-dialog { width: min(960px, 96vw); }
.operations-badge { display: inline-block; margin-left: 4px; padding: 1px 6px; border-radius: 10px; background: #b45309; color: white; font-size: 11px; }
.operations-badge[hidden] { display: none; }
.operations-alert-button[data-severity="critical"] .operations-badge { background: #b42318; }
.operations-heading { display: flex; gap: 20px; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.operations-heading h2 { font-size: 26px; color: #153c39; margin: 7px 0; }
.operations-heading p { color: #64748b; font-size: 12px; }
.operations-status { display: flex; align-items: baseline; gap: 8px; white-space: nowrap; color: #64748b; font-size: 12px; }
.operations-status strong { font-size: 42px; color: #153c39; font-variant-numeric: tabular-nums; }
.operations-summary { padding: 12px 15px; border-left: 3px solid #0f766e; background: #eef7f4; color: #355f59; font-size: 12px; line-height: 1.7; }
#operations-alerts-dialog[data-severity="critical"] .operations-summary { border-color: #b42318; background: #fff2ec; color: #963d2b; }
.operations-categories { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin: 18px 0 24px; }
.operations-categories button { text-align: left; padding: 12px; background: #f8fafc; border: 1px solid #dce4e9; border-radius: 5px; cursor: pointer; color: #475569; font: inherit; }
.operations-categories span { display: block; font-size: 12px; }
.operations-categories strong { display: block; font-size: 23px; margin-top: 5px; color: #1e293b; }
.operations-group { margin: 0 0 24px; scroll-margin-top: 16px; }
.operations-group h3 { font-size: 16px; color: #334155; }
.operations-group > .management-section-heading { padding-bottom: 10px; border-bottom: 1px solid #dce4e9; }
.operations-item { display: flex; gap: 20px; align-items: center; justify-content: space-between; padding: 16px 0; border-bottom: 1px solid #edf0f3; }
.operations-item-main { min-width: 0; }
.operations-item-title { display: flex; align-items: center; gap: 9px; }
.operations-item h4 { font-size: 14px; color: #243b48; overflow-wrap: anywhere; }
.operations-item p { color: #64748b; font-size: 12px; line-height: 1.8; margin-top: 8px; }
.operations-level { font-size: 10px; padding: 3px 7px; border-radius: 3px; white-space: nowrap; color: #925500; background: #fff5df; }
.operations-item[data-severity="critical"] .operations-level { color: #a12c20; background: #ffede7; }
.operations-item[data-severity="info"] .operations-level { color: #38675d; background: #edf6f2; }
.operations-actions { display: flex; flex-direction: column; gap: 7px; flex-shrink: 0; }
.operations-actions .btn { color: #155e56; border-color: #aac7bf; background: #fff; white-space: nowrap; }
.operations-empty { color: #7c8998; font-size: 12px; padding: 16px 0; line-height: 1.7; }
.operations-payment-details, .operations-rules { color: #64748b; font-size: 12px; line-height: 1.8; }
.operations-payment-details summary, .operations-rules summary { cursor: pointer; padding: 8px 0; }
.operations-rules { border-top: 1px solid #dce4e9; padding-top: 8px; }
.operations-rules p { margin-top: 8px; }
.operations-payment { display: grid; grid-template-columns: 1.2fr 1fr 1fr 1fr; padding: 8px 0; gap: 8px; border-bottom: 1px solid #edf0f3; font-variant-numeric: tabular-nums; }
.operations-payment strong { text-align: right; color: #475569; }
@media (max-width: 600px) {
  .operations-heading { align-items: flex-start; gap: 12px; }
  .operations-heading h2 { font-size: 20px; }
  .operations-status { flex-direction: column; gap: 0; }
  .operations-status strong { font-size: 32px; }
  .operations-categories { grid-template-columns: repeat(2, 1fr); }
  .operations-categories button:last-child { grid-column: 1 / -1; }
  .operations-item { align-items: flex-start; flex-direction: column; gap: 10px; }
  .operations-actions { flex-direction: row; flex-wrap: wrap; }
  .operations-payment { grid-template-columns: repeat(2, 1fr); }
}
.management-dialog .dialog-body { overflow-y: auto; padding: 24px; }
.management-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 24px; }
.management-heading h2 { margin: 7px 0 8px; color: #153c39; font-size: 26px; letter-spacing: -.6px; }
.management-heading p, .management-section-heading p { color: #64748b; font-size: 12px; margin-top: 5px; }
.management-control { display: flex; align-items: center; gap: 10px; white-space: nowrap; color: #475569; font-size: 13px; }
.management-dialog select, .management-dialog input[type="search"] { border: 1px solid #cbd5e1; background: #fff; border-radius: 5px; padding: 9px 10px; font: inherit; color: #334155; }
.management-dialog select:focus-visible, .management-dialog input:focus-visible, .management-dialog button:focus-visible { outline: 2px solid #0f766e; outline-offset: 2px; }
.overview-metrics { display: grid; grid-template-columns: 1.3fr repeat(3, 1fr); border: 1px solid #cbd5e1; border-radius: 7px; overflow: hidden; }
.overview-metrics > div { padding: 22px; border-right: 1px solid #e2e8f0; display: flex; flex-direction: column; gap: 10px; }
.overview-metrics > div:last-child { border-right: 0; }
.overview-metrics span { color: #64748b; font-size: 12px; }
.overview-metrics strong { color: #1e293b; font-size: 26px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.overview-metrics small { color: #64748b; font-size: 11px; }
.overview-metrics .overview-primary { background: #eef7f4; border-top: 3px solid #0f766e; padding-top: 19px; }
.overview-primary strong[data-result="profit"], .management-profit { color: #047857; }
.overview-primary strong[data-result="loss"], .management-loss { color: #b91c1c; }
.overview-secondary { display: grid; grid-template-columns: 2fr 1fr; gap: 28px; margin: 24px 0 30px; }
.management-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.management-section-heading h4, .overview-fleet h4 { color: #334155; font-size: 13px; }
.management-section-heading > span { font-size: 11px; color: #64748b; }
.overview-bars { height: 120px; display: flex; gap: 5px; margin: 12px 0 8px; background: linear-gradient(to bottom, transparent calc(50% - .5px), #cbd5e1 calc(50% - .5px), #cbd5e1 calc(50% + .5px), transparent calc(50% + .5px)); }
.overview-bar { flex: 1; position: relative; min-width: 0; }
.overview-bar > span { position: absolute; width: 100%; border-radius: 2px; }
.overview-bar .positive { background: #228979; }
.overview-bar .negative { background: #d8876b; }
.overview-trend-labels { display: flex; justify-content: space-between; color: #94a3b8; font-size: 10px; }
.overview-fleet { border-left: 1px solid #e2e8f0; padding-left: 28px; }
.overview-fleet > div { display: flex; justify-content: space-between; margin-top: 12px; font-size: 12px; color: #64748b; }
.overview-fleet strong { color: #334155; font-variant-numeric: tabular-nums; }
.overview-fleet p { font-size: 11px; line-height: 1.6; margin-top: 12px; color: #94a3b8; }
.overview-ranking-heading { margin-bottom: 14px; flex-wrap: wrap; }
.overview-ranking-heading h3 { font-size: 19px; color: #0f172a; }
.overview-filters { display: flex; gap: 8px; flex-wrap: wrap; font-size: 12px; }
.overview-filters input { width: 195px; }
.overview-table-wrap { overflow: auto; max-height: 340px; border: 1px solid #e2e8f0; border-radius: 5px; }
.management-table { border-collapse: collapse; width: 100%; font-size: 12px; font-variant-numeric: tabular-nums; }
.management-table th { background: #f1f5f9; color: #64748b; font-size: 11px; font-weight: 500; position: sticky; top: 0; z-index: 1; }
.management-table th, .management-table td { padding: 13px 12px; text-align: right; border-bottom: 1px solid #e2e8f0; white-space: nowrap; }
.management-table th:first-child, .management-table td:first-child { text-align: left; }
.management-table tbody tr:last-child td { border-bottom: 0; }
.management-table tbody tr:hover { background: #f8fafc; }
.overview-route { display: flex; align-items: center; gap: 12px; }
.overview-route strong { color: #334155; font-size: 12px; }
.overview-route small, .overview-partial { display: block; font-size: 10px; color: #94a3b8; margin-top: 4px; }
.overview-rank { color: #94a3b8; width: 20px; font-size: 14px; }
.route-arrow { color: #0f766e; margin: 0 5px; }
.management-footnote { font-size: 11px; line-height: 1.8; color: #64748b; margin-top: 10px; }
.batch-dialog { width: min(800px, 96vw); }
.batch-template { padding: 18px 20px; border-left: 3px solid #0f766e; background: #eef7f4; }
.batch-template h3 { margin: 8px 0; color: #153c39; font-size: 22px; }
.batch-template p { color: #64748b; font-size: 12px; }
.batch-toolbar { display: flex; align-items: center; gap: 8px; margin: 22px 0 12px; flex-wrap: wrap; }
.batch-toolbar h4 { margin-right: auto; color: #334155; font-size: 14px; }
.batch-candidates { border: 1px solid #e2e8f0; border-radius: 6px; max-height: 300px; overflow-y: auto; }
.batch-candidate { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-bottom: 1px solid #e2e8f0; cursor: pointer; }
.batch-candidate:last-child { border-bottom: 0; }
.batch-candidate:has(input:checked) { background: #eef7f4; }
.batch-candidate input { width: 17px; height: 17px; accent-color: #0f766e; flex-shrink: 0; }
.batch-candidate > span { flex: 1; min-width: 0; }
.batch-candidate strong { display: block; color: #334155; font-size: 14px; }
.batch-candidate small { color: #64748b; font-size: 11px; font-weight: normal; }
.batch-candidate > span > small { display: block; margin-top: 5px; }
.batch-candidate > b { color: #0f766e; font-size: 11px; font-weight: 500; white-space: nowrap; }
.batch-candidate.unavailable { background: #f8fafc; cursor: not-allowed; }
.batch-candidate.unavailable .batch-reason, .batch-candidate.unavailable > b { color: #9a5a36; }
.batch-preview { margin-top: 18px; padding: 15px 18px; background: #f1f5f9; border-radius: 5px; }
.batch-preview strong { font-size: 14px; color: #334155; }
.batch-preview p { font-size: 12px; color: #64748b; line-height: 1.7; margin-top: 8px; }
.batch-dialog button:disabled { opacity: .45; cursor: not-allowed; }
.management-table td.management-empty, .management-empty { text-align: center; padding: 28px 16px; color: #94a3b8; white-space: normal; }
.charter-business-dialog { background: #f8fafc; }
.charter-business-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 22px; }
.charter-business-cards { display: grid; gap: 16px; margin: 16px 0 24px; }
.charter-business-cards .order-card { margin: 0; padding: 20px; border: 1px solid #dce4e9; border-left: 4px solid #d97706; border-radius: 6px; background: #fff; }
.charter-business-dialog p { line-height: 1.7; color: #475569; }
.charter-business-dialog .management-section-heading { flex-wrap: wrap; margin-bottom: 10px; }
.charter-business-dialog h3 { font-size: 16px; color: #1e293b; }
.charter-business-dialog h3 small { font-size: 12px; font-weight: 400; color: #64748b; }
.charter-business-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.charter-itinerary { display: grid; gap: 12px; margin: 18px 0; padding-left: 24px; }
.charter-itinerary li span { display: block; margin-top: 4px; font-size: 12px; color: #64748b; }
.charter-business-preview { margin: 18px 0; padding: 20px; border: 1px solid #fed7aa; border-radius: 6px; background: #fff7ed; }
.charter-business-preview .overview-table-wrap { overflow-x: auto; margin: 12px 0; }
.charter-contract-commission { margin: 12px 0; padding: 12px; border-radius: 5px; background: #f1f5f9; }
.charter-business-dialog button:disabled { opacity: .45; cursor: not-allowed; }
@media (max-width: 800px) { .overview-metrics { grid-template-columns: repeat(2, 1fr); } .overview-metrics > div { padding: 16px; } .overview-metrics strong { font-size: 22px; } .overview-secondary { grid-template-columns: 1fr; gap: 20px; } .overview-fleet { border-left: 0; border-top: 1px solid #e2e8f0; padding: 16px 0 0; } .management-heading { align-items: flex-start; flex-wrap: wrap; } .management-heading h2 { font-size: 22px; } .management-dialog .dialog-body { padding: 16px; } }
