/* Shared desktop surfaces; the phone's stacked penalty cards stay intact. */
@media (min-width:1024px) {
  #panels :is(.matlab-violation-viewer,.transport-planner-panel) {
    font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
  }
  #panels .matlab-violation-workspace {
    grid-template-columns:236px minmax(0,1fr); gap:20px; align-items:start;
  }
  #panels .matlab-violation-sidebar {
    grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto auto;
    padding:16px; border:1px solid var(--td-border); border-radius:18px;
    background:var(--td-surface); box-shadow:none;
  }
  #panels .matlab-violation-sidebar .violation-summary-grid { grid-row:auto; }
  #panels .matlab-violation-sidebar .violation-groups-navigation { grid-template-columns:minmax(0,1fr); }
  #panels .matlab-violation-sidebar .violation-groups-arrow { display:none; }
  #panels .matlab-violation-sidebar #violationGroups {
    display:grid!important; grid-template-columns:minmax(0,1fr); gap:8px!important;
    width:100%; max-height:64vh; overflow:auto; scroll-snap-type:none;
  }
  #panels .matlab-violation-sidebar #violationGroups > .violation-group-button {
    min-width:0!important; width:100%!important; min-height:0; flex:none!important;
    white-space:normal; overflow-wrap:anywhere; padding:12px!important;
  }
  #panels :is([data-panel="activity_review"],[data-panel="violation_review"]) .review-range[data-range-scope] {
    grid-template-columns:repeat(2,minmax(170px,230px)) repeat(2,minmax(125px,150px))!important;
    width:fit-content; max-width:100%; gap:12px!important; padding:16px!important;
    border-radius:16px; background:var(--td-surface); box-shadow:none;
  }
  #panels .review-range[data-range-scope] :is(input,button) { height:48px; min-height:48px; border-radius:12px; }
  #panels .matlab-violation-viewer .violation-main.matlab-table-ready {
    display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto auto;
    gap:14px; min-width:0;
  }
  #panels .matlab-violation-viewer .violation-table-heading {
    display:flex; grid-column:1/-1; grid-row:1; gap:20px; align-items:center;
    justify-content:space-between; min-height:0; padding:18px 20px;
    border:1px solid var(--td-border); border-radius:16px;
    background:var(--td-surface-raised); color:var(--td-ink); box-shadow:none;
  }
  #panels .matlab-violation-viewer .violation-table-heading h3 {
    font:700 20px/1.35 system-ui,sans-serif; color:var(--td-ink); margin:0;
  }
  #panels .matlab-violation-viewer .violation-table-heading p {
    color:var(--td-muted); font:500 13px/1.5 system-ui,sans-serif; margin-top:5px;
  }
  #panels .matlab-violation-viewer .violation-table-heading > div:last-child {
    display:grid; gap:4px; min-width:135px; padding:10px 16px; text-align:right;
    border:0; border-radius:12px; background:var(--td-surface);
  }
  #panels .matlab-violation-viewer .violation-table-heading > div:last-child strong {
    font:750 23px/1.25 system-ui,sans-serif; color:#bc354c; font-variant-numeric:tabular-nums;
  }
  #panels .matlab-violation-viewer .violation-table-heading span { color:var(--td-muted); font-size:11px; }
  #panels .matlab-violation-viewer .violation-search { grid-column:1/-1; grid-row:2; }
  #panels .matlab-violation-viewer .violation-table-meta { display:none; }
  #panels .matlab-violation-viewer .violation-table-scroll {
    grid-column:1/-1; grid-row:3; min-height:0; max-height:65vh; overflow:auto;
    border:1px solid var(--td-border); border-radius:16px; background:var(--td-surface-raised);
    scrollbar-width:thin; overscroll-behavior:contain; box-shadow:0 6px 22px #132d4310;
  }
  #panels .matlab-violation-viewer .violation-table {
    width:100%; min-width:920px; table-layout:auto; border-collapse:separate; border-spacing:0;
    font:400 13px/1.45 system-ui,sans-serif; color:var(--td-ink);
  }
  #panels .matlab-violation-viewer .violation-table :is(th,td) {
    padding:12px 14px; border:0; border-bottom:1px solid var(--td-border);
    text-align:left; vertical-align:middle; white-space:normal; font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
    background:var(--td-surface-raised); color:var(--td-ink);
  }
  #panels .matlab-violation-viewer .violation-table th {
    position:sticky; top:0; z-index:1; background:var(--td-surface); color:var(--td-muted);
    font-size:12px; font-weight:700; line-height:1.4; box-shadow:0 1px 0 var(--td-border);
  }
  #panels .matlab-violation-viewer .violation-table :is(th,td):first-child { width:44px; text-align:center; }
  #panels .matlab-violation-viewer .violation-table :is(th,td):nth-child(2),
  #panels .matlab-violation-viewer .violation-table :is(th,td):nth-child(3) {
    min-width:144px; font-variant-numeric:tabular-nums;
  }
  #panels .matlab-violation-viewer .violation-table tbody tr:nth-child(even) td {
    background:color-mix(in srgb,var(--td-surface) 45%,var(--td-surface-raised));
  }
  #panels .matlab-violation-viewer .violation-table tbody tr:hover td { background:var(--td-icon-fill); }
  #panels .matlab-violation-viewer .violation-table .money-cell {
    font-weight:700; text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; color:#bc354c;
  }
  #panels .matlab-violation-viewer .violation-date-link {
    padding:5px 0; border:0; border-radius:5px; background:transparent;
    color:#087eb5; text-decoration:underline; text-underline-offset:3px;
    font:650 13px/1.45 system-ui,sans-serif; white-space:normal; text-align:left; box-shadow:none;
  }
  #panels .matlab-violation-viewer .violation-table .vehicle-cell { min-width:110px; overflow-wrap:anywhere; }
  #panels .matlab-violation-viewer .violation-table td:last-child { min-width:145px; }
  #panels .matlab-violation-viewer .violation-table .mobile-penalty-stack-cell { display:none!important; }
  #panels .inline-violation-viewer { padding:16px; border:1px solid var(--td-border); border-radius:18px; background:var(--td-surface); }
  #panels .inline-violation-viewer .violation-table-heading { margin-bottom:14px; }
  #panels .inline-violation-viewer .inline-violation-table { min-width:1060px; }
  #panels .inline-violation-viewer .inline-violation-table :is(th,td):first-child {
    width:180px; min-width:170px; max-width:230px; text-align:left; overflow-wrap:anywhere;
  }
  #panels .matlab-violation-sidebar :is(input,.violation-group-button) {
    border:1px solid var(--td-border); border-radius:12px; box-shadow:none; font:500 14px/1.4 system-ui,sans-serif;
  }
  #panels .matlab-violation-sidebar .violation-summary-grid article { border-radius:12px; }
  #panels .matlab-violation-sidebar .violation-summary-grid strong { font-family:system-ui,sans-serif; }

  /* Keep every editable planner control on the same 48px baseline. */
  #panels .transport-planner-panel { --planner-control:48px; }
  #panels .transport-planner-panel :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="range"]),select,
      .localized-datetime-value,[data-route-duration-edit],.schedule-duration-edit) {
    box-sizing:border-box; min-width:0; max-width:100%; width:100%;
    height:var(--planner-control)!important; min-height:var(--planner-control)!important;
    margin:0; padding:10px 12px; border:1px solid var(--td-border)!important; border-radius:12px!important;
    background:var(--td-surface-raised); color:var(--td-ink);
    font:550 15px/1.4 system-ui,sans-serif; box-shadow:none; font-variant-numeric:tabular-nums;
  }
  #panels .transport-planner-panel :is(input,select,button):focus-visible {
    outline:3px solid #32a5d980; outline-offset:2px;
  }
  #panels .transport-planner-panel label { min-width:0; }
  #panels .transport-planner-panel label > span:not(.localized-datetime):not(.localized-datetime-value) {
    font:650 12px/1.4 system-ui,sans-serif; color:var(--td-muted); letter-spacing:.02em;
  }
  #panels .transport-meta-grid.is-simplified-meta {
    display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; align-items:end;
    padding:20px 24px; margin:0;
  }
  #panels .transport-meta-grid.is-simplified-meta > label:not([hidden]) {
    grid-column:auto; display:grid; gap:8px; margin:0;
  }
  #panels .transport-meta-grid .localized-datetime { height:var(--planner-control); }
  #panels .transport-layout { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px; padding:0 24px 24px; align-items:start; }
  #panels .transport-planner-panel :is(.transport-editor,.transport-map-panel) {
    padding:20px; border:1px solid var(--td-border); border-radius:18px; background:var(--td-surface); box-shadow:none;
  }
  #panels .transport-planner-panel :is(.transport-column-heading,.transport-map-heading) h3 { font:700 19px/1.35 system-ui,sans-serif; }
  #panels .transport-planner-panel .transport-map-wrap { border-radius:14px; overflow:hidden; }
  #panels .transport-planner-panel .transport-editor-actions { margin-top:16px; gap:12px!important; }
  #panels .transport-planner-panel .transport-editor-actions > button { font-weight:650; box-shadow:none; }
  #panels .transport-city-table-wrap { overflow:visible; }
  #panels :is(.transport-city-table,#transportCityBody) { display:block; width:100%; min-width:0; }
  #panels .transport-city-table > thead { display:none; }
  #panels #transportCityBody > .transport-city-main-row {
    display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px;
    width:100%; box-sizing:border-box; padding:14px; margin:0;
    border:1px solid #76b9e6; border-bottom:0; border-radius:16px 16px 0 0;
  }
  #panels #transportCityBody > .transport-city-main-row > td {
    display:block; min-width:0; width:auto; padding:0; border:0;
  }
  #panels #transportCityBody > .transport-activity-detail {
    display:block; width:100%; box-sizing:border-box; margin:0 0 16px;
    border:1px solid #76b9e6; border-top:0; border-radius:0 0 16px 16px;
  }
  #panels #transportCityBody > .transport-activity-detail > td[colspan] {
    display:block; width:100%; box-sizing:border-box; padding:0 14px 14px; border:0;
    background:transparent!important; border-radius:0 0 16px 16px;
  }
  #panels #transportCityBody .transport-activity-editor {
    width:100%; box-sizing:border-box; margin:0; padding:8px 0 0; border:0; background:transparent!important;
  }
  #panels #transportCityBody > .transport-border-stop { display:block!important; width:100%!important; margin:0 0 16px; }
  #panels #transportCityBody > .transport-border-stop > td {
    display:block!important; width:100%!important; box-sizing:border-box; padding:0!important; border:0;
  }
  #panels #transportCityBody .transport-border-card[data-multi-border-editor="1"] {
    padding:14px; border-radius:16px; box-shadow:none;
  }
  #panels #transportCityBody .transport-border-compact-head {
    display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px;
  }
  html[data-theme="dark"] #panels #transportCityBody > .transport-activity-detail {
    background:#143c54!important; border-color:#417f9f!important;
  }
  #panels #transportCityBody :is(.transport-city-actions,.transport-border-actions) {
    display:flex; align-items:center; justify-content:flex-end; gap:6px; width:auto!important; min-width:0; margin:0;
  }
  #panels #transportCityBody :is(.transport-city-actions,.transport-border-actions) button {
    display:inline-flex; align-items:center; justify-content:center; flex:0 0 40px;
    width:40px!important; min-width:40px; height:48px; min-height:48px; padding:0; margin:0!important;
    border:1px solid var(--td-border); border-radius:12px; box-shadow:none;
  }
  #panels #transportCityBody :is(.transport-activity-item,.transport-border-activity-item) {
    display:grid; grid-template-columns:minmax(0,1fr) 110px 40px; gap:10px; align-items:end;
  }
  #panels #transportCityBody :is(.transport-activity-field,.transport-border-activity-item > label) {
    display:grid; grid-template-columns:minmax(0,1fr); gap:7px; min-width:0; margin:0;
  }
  #panels #transportCityBody :is(.transport-activity-item,.transport-border-activity-item) > button {
    width:40px; min-width:40px; height:48px; min-height:48px; margin:0; padding:0; border-radius:12px;
  }
  #panels #transportCityBody :is(.transport-activity-editor-head,.transport-border-editor-head) {
    align-items:center; gap:12px; margin-bottom:12px;
  }
  #panels #transportCityBody :is(.transport-activity-editor-head,.transport-border-editor-head) button {
    min-height:40px; padding:8px 12px; border:1px solid var(--td-border); border-radius:10px;
    background:var(--td-surface-raised); color:var(--td-ink); font:650 13px/1.3 system-ui,sans-serif;
  }
  #panels .transport-planner-panel :is(.fuel-consumption-section,.time-organization-section) {
    border:1px solid var(--td-border); border-radius:18px; box-shadow:none; overflow:hidden;
  }
  #panels .transport-planner-panel :is(.fuel-consumption-panel,.time-organization-panel) { padding:20px; background:var(--td-surface); }
  #panels .transport-planner-panel :is(.transport-summary,.fuel-calculation-summary) { gap:12px; }
  #panels .transport-planner-panel :is(.transport-summary,.fuel-calculation-summary) > article {
    padding:16px!important; border:1px solid var(--td-border); border-radius:14px; background:var(--td-surface-raised); box-shadow:none;
  }
  #panels .transport-planner-panel :is(.transport-route-table-wrap,.organized-schedule-table-wrap) {
    border:1px solid var(--td-border); border-radius:14px; overflow:auto;
  }
  #panels .transport-planner-panel :is(.transport-route-table,.organized-schedule-table) { width:100%; font:500 14px/1.45 system-ui,sans-serif; }
  #panels .transport-planner-panel :is(.transport-route-table,.organized-schedule-table) :is(th,td) { padding:12px 14px; vertical-align:middle; }
  #panels .transport-planner-panel :is(.transport-route-table,.organized-schedule-table) th { font-size:12px; background:var(--td-surface); color:var(--td-muted); }
  #panels .transport-planner-panel :is([data-route-duration-edit],.schedule-duration-edit) { min-width:110px; display:flex; align-items:center; justify-content:center; gap:10px; }
  html[data-theme="dark"] #panels .matlab-violation-viewer :is(.money-cell,.violation-table-heading > div:last-child strong) { color:#ff97a6; }
  html[data-theme="dark"] #panels .matlab-violation-viewer .violation-date-link { color:#8fd6fc; }
}
@media (min-width:1024px) and (max-width:1199px) {
  #panels .transport-layout { grid-template-columns:minmax(0,1fr); }
  #panels .matlab-violation-workspace { grid-template-columns:210px minmax(0,1fr); gap:14px; }
}
