/* Executive Operations Command Center (Phase 13.5). Design tokens only (ds/tokens.css + design-system.css): light/dark come from the tokens. Mobile-first RTL: 360 / 390 / 430 then desktop. */
.oc-root{display:flex;flex-direction:column;gap:var(--ds-space-4);min-width:0}
.oc-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--ds-space-3)}
.oc-tabs{display:flex;gap:var(--ds-space-1);overflow-x:auto;max-width:100%;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.oc-tabs::-webkit-scrollbar{display:none}
.oc-tab{flex:0 0 auto;min-height:var(--ds-touch-min);padding:0 var(--ds-space-4);border:var(--ds-border-w) solid var(--ds-border-subtle);border-radius:var(--ds-radius-md);background:var(--ds-surface);color:var(--ds-text-muted);font:inherit;font-size:var(--ds-fs-secondary);cursor:pointer;white-space:nowrap}
.oc-tab.is-active{background:var(--ds-primary-soft);color:var(--ds-primary);border-color:var(--ds-primary);font-weight:600}
.oc-tab:focus-visible,.oc-chip:focus-visible,.oc-tile:focus-visible,.oc-hrow:focus-visible,.oc-link:focus-visible,.oc-stat:focus-visible{outline:none;box-shadow:var(--ds-focus-ring)}

/* filters */
.oc-filters{display:flex;flex-direction:column;gap:var(--ds-space-3);padding:var(--ds-space-3) var(--ds-space-4)}
.oc-chips{display:flex;gap:var(--ds-space-2);flex-wrap:wrap}
.oc-presets{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.oc-presets::-webkit-scrollbar{display:none}
.oc-chip{flex:0 0 auto;min-height:36px;padding:0 var(--ds-space-3);border:var(--ds-border-w) solid var(--ds-border);border-radius:999px;background:var(--ds-surface);color:var(--ds-text);font:inherit;font-size:var(--ds-fs-secondary);cursor:pointer;display:inline-flex;align-items:center}
.oc-chip.is-active{background:var(--ds-primary-soft);border-color:var(--ds-primary);color:var(--ds-primary)}
.oc-dates{display:grid;grid-template-columns:1fr 1fr;gap:var(--ds-space-3)}
.oc-grid-f{display:grid;grid-template-columns:1fr;gap:var(--ds-space-3);padding-top:var(--ds-space-3)}
.oc-f{margin:0;min-width:0}.oc-f select,.oc-f input{width:100%;max-width:100%}
.oc-adv summary{cursor:pointer;min-height:var(--ds-touch-min);display:flex;align-items:center;gap:var(--ds-space-2);font-size:var(--ds-fs-secondary);color:var(--ds-text)}
.oc-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--ds-primary);color:#fff;font-size:var(--ds-fs-caption)}
.oc-fbar{display:flex;justify-content:flex-end;gap:var(--ds-space-2)}
.oc-applied,.oc-listbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ds-space-2)}
.oc-sort{margin-inline-start:auto;display:inline-flex;align-items:center;gap:var(--ds-space-2);font-size:var(--ds-fs-secondary);color:var(--ds-text-muted)}

/* cards + tiles */
.oc-card{padding:var(--ds-space-4);min-width:0;display:flex;flex-direction:column;gap:var(--ds-space-3)}
.oc-card-h{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--ds-space-2)}
.oc-card-h h4{margin:0;font-size:var(--ds-fs-card-title)}
.oc-sub,.oc-stamp,.oc-note{font-size:var(--ds-fs-caption);color:var(--ds-text-muted)}
.oc-note{margin:0}.oc-stamp{text-align:end}
.oc-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ds-space-3)}
.oc-tile{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:var(--ds-space-3);min-height:var(--ds-touch-min);background:var(--ds-surface);border:var(--ds-border-w) solid var(--ds-border-subtle);border-inline-start:4px solid var(--ds-border-strong);border-radius:var(--ds-radius-md);color:var(--ds-text);font:inherit;text-align:start;min-width:0}
button.oc-tile{cursor:pointer}button.oc-tile:hover{background:var(--ds-hover)}
.oc-tile-l{font-size:var(--ds-fs-secondary);color:var(--ds-text-muted);line-height:1.3}
.oc-tile-v{font-size:var(--ds-fs-section-title);line-height:1.1;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.oc-tile-v small{font-size:var(--ds-fs-caption);font-weight:400;color:var(--ds-text-muted)}
.oc-tile-s{font-style:normal;font-size:var(--ds-fs-caption);color:var(--ds-text-muted)}
.oc-tile.tone-info{border-inline-start-color:var(--ds-info)}.oc-tile.tone-warning{border-inline-start-color:var(--ds-warning)}.oc-tile.tone-danger{border-inline-start-color:var(--ds-danger)}.oc-tile.tone-success{border-inline-start-color:var(--ds-success)}
.oc-tile.tone-danger .oc-tile-v{color:var(--ds-danger)}.oc-tile.tone-warning .oc-tile-v{color:var(--ds-warning)}.oc-tile.tone-success .oc-tile-v{color:var(--ds-success)}
.oc-grid-2{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--ds-space-4)}
.oc-nodata{margin:0;padding:var(--ds-space-3);color:var(--ds-text-muted);font-size:var(--ds-fs-secondary);text-align:center}
.oc-warn{padding:var(--ds-space-3);border-radius:var(--ds-radius-md);background:var(--ds-warning-bg);color:var(--ds-text);font-size:var(--ds-fs-secondary)}

/* recommendations */
.oc-recs{display:flex;flex-direction:column;gap:var(--ds-space-2)}
.oc-rec{display:flex;flex-direction:column;gap:var(--ds-space-2);padding:var(--ds-space-3);border:var(--ds-border-w) solid var(--ds-border-subtle);border-inline-start:4px solid var(--ds-info);border-radius:var(--ds-radius-md);background:var(--ds-surface)}
.oc-rec.sev-high{border-inline-start-color:var(--ds-danger)}.oc-rec.sev-medium{border-inline-start-color:var(--ds-warning)}.oc-rec.sev-low{border-inline-start-color:var(--ds-info)}
.oc-rec-b b{display:block;font-size:var(--ds-fs-body)}.oc-rec-b p{margin:4px 0 0;font-size:var(--ds-fs-secondary);color:var(--ds-text-muted);line-height:1.5}
.oc-rec .ds-btn{align-self:flex-start}

/* tracking widget */
.oc-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ds-space-2)}
.oc-tr{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--ds-space-2);border-radius:var(--ds-radius-md);background:var(--ds-bg);text-align:center}
.oc-tr b{font-size:var(--ds-fs-section-title);font-variant-numeric:tabular-nums}.oc-tr span{font-size:var(--ds-fs-caption);color:var(--ds-text-muted)}
.oc-tr.tone-danger b{color:var(--ds-danger)}.oc-tr.tone-warning b{color:var(--ds-warning)}

/* charts */
.oc-donut{display:flex;justify-content:center;min-width:0}
.oc-donut .ds-donut-row{flex-wrap:wrap;justify-content:center;gap:var(--ds-space-3)}
.oc-legend{display:flex;flex-wrap:wrap;gap:var(--ds-space-3);font-size:var(--ds-fs-caption);color:var(--ds-text-muted)}
.oc-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-inline-end:6px;vertical-align:middle}
.oc-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.oc-svg{display:block;max-width:none}
.oc-grid{stroke:var(--ds-border-subtle);stroke-width:1}
.oc-axis{fill:var(--ds-text-muted);font-size:var(--fs-helper)}
.oc-hit{fill:transparent}.oc-grp[role=button]{cursor:pointer}.oc-grp:hover .oc-hit,.oc-grp:focus .oc-hit{fill:var(--ds-hover)}.oc-grp:focus{outline:none}
.oc-hbars{display:flex;flex-direction:column;gap:var(--ds-space-1)}
.oc-hrow{display:grid;grid-template-columns:minmax(72px,30%) minmax(0,1fr) auto;align-items:center;gap:var(--ds-space-2);width:100%;min-height:32px;padding:2px var(--ds-space-1);border:0;border-radius:var(--ds-radius-sm);background:transparent;color:var(--ds-text);font:inherit;font-size:var(--ds-fs-secondary);text-align:start}
button.oc-hrow{cursor:pointer}button.oc-hrow:hover{background:var(--ds-hover)}
.oc-hl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.oc-htrack{position:relative;display:block;height:10px;border-radius:999px;background:var(--ds-bg);overflow:hidden;min-width:0}
.oc-htrack i{display:block;height:100%;border-radius:999px}.oc-htrack i.neg{background:var(--ds-danger)!important}
.oc-hv{font-variant-numeric:tabular-nums;color:var(--ds-text-muted);font-size:var(--ds-fs-caption);white-space:nowrap}
.oc-pairs{display:flex;flex-direction:column;gap:var(--ds-space-2)}
.oc-pair{display:grid;grid-template-columns:minmax(72px,28%) minmax(0,1fr);gap:var(--ds-space-2);align-items:center;font-size:var(--ds-fs-secondary)}
.oc-ptracks{display:flex;flex-direction:column;gap:4px;min-width:0}
.oc-ptracks .oc-htrack{height:14px}.oc-ptracks em{position:absolute;inset-inline-end:6px;top:-1px;font-style:normal;font-size:var(--fs-helper);color:var(--ds-text);font-variant-numeric:tabular-nums}
.oc-ptracks em.neg,.oc-num.neg{color:var(--ds-danger)}

/* trips table (cards on phones) + operators */
.oc-tablewrap{min-width:0}
.oc-table{width:100%}
.oc-table thead{display:none}
.oc-table,.oc-table tbody,.oc-table tr,.oc-table td{display:block;width:100%}
.oc-table tr{padding:var(--ds-space-3);margin-bottom:var(--ds-space-3);border:var(--ds-border-w) solid var(--ds-border-subtle);border-radius:var(--ds-radius-md);background:var(--ds-surface)}
.oc-table td{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--ds-space-3);padding:4px 0;border:0;font-size:var(--ds-fs-secondary);text-align:end;flex-wrap:wrap}
.oc-table td::before{content:attr(data-label);color:var(--ds-text-muted);text-align:start;flex:0 0 auto}
.oc-table td small{display:block;color:var(--ds-text-muted)}
.oc-table .status{margin-inline-start:4px}
.oc-num{font-variant-numeric:tabular-nums}
.oc-link{border:0;background:none;padding:0;color:var(--ds-primary);font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px;min-height:28px}
.oc-flag{margin-inline-start:6px;color:var(--ds-warning)}
.oc-pager{display:flex;align-items:center;justify-content:center;gap:var(--ds-space-3);font-size:var(--ds-fs-secondary)}
.oc-ops{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--ds-space-4)}
.oc-op{padding:var(--ds-space-4);display:flex;flex-direction:column;gap:var(--ds-space-3);min-width:0}
.oc-op header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--ds-space-2);align-items:baseline}.oc-op h4{margin:0}
.oc-op-sec h5{margin:0 0 var(--ds-space-2);font-size:var(--ds-fs-secondary);color:var(--ds-text-muted);font-weight:600}
.oc-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ds-space-2)}
.oc-stat{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:var(--ds-space-2);border:var(--ds-border-w) solid var(--ds-border-subtle);border-radius:var(--ds-radius-sm);background:var(--ds-surface);font:inherit;color:var(--ds-text);text-align:start;min-width:0}
button.oc-stat{cursor:pointer}button.oc-stat:hover{background:var(--ds-hover)}
.oc-stat b{font-size:var(--ds-fs-card-title);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.oc-stat span{font-size:var(--ds-fs-caption);color:var(--ds-text-muted)}
.oc-stat.tone-danger b{color:var(--ds-danger)}.oc-stat.tone-warning b{color:var(--ds-warning)}.oc-stat.tone-info b{color:var(--ds-info)}

@media (min-width:480px){.oc-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.oc-track{grid-template-columns:repeat(6,minmax(0,1fr))}.oc-grid-f{grid-template-columns:repeat(2,minmax(0,1fr))}.oc-rec{flex-direction:row;align-items:center;justify-content:space-between}.oc-rec-b{flex:1}}
@media (min-width:768px){
  .oc-tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
  .oc-grid-f{grid-template-columns:repeat(4,minmax(0,1fr))}
  .oc-dates{max-width:420px}
  .oc-table,.oc-table tbody,.oc-table tr,.oc-table td{display:revert;width:auto}
  .oc-table thead{display:table-header-group}
  .oc-table tr{padding:0;margin:0;border:0;border-radius:0;background:transparent}
  .oc-table td{padding:var(--ds-space-2) var(--ds-space-3);text-align:start;flex-wrap:nowrap}
  .oc-table td::before{content:none}
  .oc-tablewrap{overflow-x:auto}
  .oc-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .oc-ops{grid-template-columns:repeat(2,minmax(0,1fr))}
  .oc-stats{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media (min-width:1200px){.oc-ops{grid-template-columns:repeat(3,minmax(0,1fr))}.oc-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (prefers-reduced-motion:reduce){.oc-root *{transition:none!important;animation:none!important}}
