.lo-workspace { display:grid; gap:14px; color:var(--text-primary); }
.lo-toolbar { display:grid; gap:10px; padding:2px 0; }
.lo-tabs { display:flex; gap:4px; flex-wrap:wrap; }
.lo-tabs a { padding:9px 12px; border-radius:8px; color:var(--text-secondary); text-decoration:none; font-size:12px; min-height:38px; display:flex; align-items:center; }
.lo-tabs a[aria-current=page] { color:var(--surface); background:var(--text-primary); font-weight:700; }
.lo-tabs a:hover { box-shadow:inset 0 0 0 1px var(--border); }
.lo-filters { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.lo-filters label { display:flex; align-items:center; gap:7px; font-size:12px; }
.lo-filters .pb-input { width:155px; min-height:38px; }
.lo-filters .lo-search { flex:1; min-width:200px; }
.lo-filters .lo-search input { width:100%; }
.lo-card { padding:17px; min-width:0; }
.lo-card h2,.lo-card h3 { margin:0; color:var(--text-primary); font-size:15px; line-height:1.4; }
.lo-card h3 { font-size:13px; }
.lo-card p { margin:6px 0 12px; font-size:12px; color:var(--text-secondary); line-height:1.6; }
.lo-section-head { display:flex; flex-wrap:wrap; gap:9px; align-items:center; justify-content:space-between; margin-bottom:12px; }
.lo-section-head h2,.lo-section-head h3 { margin:0; }
.lo-section-head p { margin-bottom:0; }
.lo-actions { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.lo-workspace .pb-btn { white-space:normal; min-height:36px; text-align:center; }
.lo-workspace a.pb-btn { color:var(--text-primary); }
.lo-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.lo-kpi { padding:17px; display:flex; flex-direction:column; gap:10px; }
.lo-kpi > span { font-size:12px; color:var(--text-secondary); }
.lo-kpi > strong { font-size:26px; line-height:1.2; letter-spacing:-.025em; overflow-wrap:anywhere; }
.lo-kpi > small { font-size:11px; color:var(--text-secondary); line-height:1.5; }
.lo-overview-grid { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr); gap:14px; }
.lo-planning-grid { display:grid; grid-template-columns:minmax(230px,.7fr) minmax(0,2fr); gap:14px; }
.lo-settings-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.lo-route-list { display:grid; gap:8px; margin-top:12px; }
.lo-route-card { display:grid; gap:7px; padding:12px; background:var(--surface-raised); border:1px solid var(--border); border-radius:9px; color:var(--text-primary); text-decoration:none; }
.lo-route-card > div { display:flex; align-items:start; gap:8px; justify-content:space-between; }
.lo-route-card > span { font-size:12px; color:var(--text-secondary); line-height:1.5; }
.lo-route-card:hover,.lo-route-card.is-selected { border-color:var(--brand); box-shadow:inset 3px 0 0 var(--brand); }
.lo-badge { font-size:10px; font-weight:600; line-height:1.4; border-radius:6px; background:var(--surface-raised); border:1px solid var(--border); padding:3px 7px; display:inline-flex; align-items:center; }
.lo-table-wrap { overflow:auto; max-width:100%; }
.lo-table { width:100%; border-collapse:collapse; text-align:left; font-size:12px; }
.lo-table th { padding:10px 9px; color:var(--text-secondary); background:var(--surface-raised); font-weight:600; font-size:11px; white-space:nowrap; }
.lo-table td { padding:11px 9px; border-bottom:1px solid var(--border); vertical-align:top; max-width:260px; overflow-wrap:anywhere; }
.lo-table small { display:block; margin-top:5px; color:var(--text-secondary); font-size:11px; line-height:1.5; }
.lo-table a:not(.pb-btn) { color:var(--brand); text-underline-offset:3px; }
.lo-pager { display:flex; gap:7px; align-items:center; flex-wrap:wrap; padding-top:12px; font-size:11px; color:var(--text-secondary); }
.lo-pager > span { margin-right:auto; }
.lo-note { color:var(--text-secondary); font-size:12px; line-height:1.65; margin:0; padding:10px 12px; border:1px solid var(--border); border-radius:8px; background:var(--surface-raised); }
.lo-empty { text-align:center; padding:28px 18px; border:1px dashed var(--border); border-radius:9px; color:var(--text-secondary); font-size:12px; }
.lo-empty strong { display:block; color:var(--text-primary); font-size:14px; }
.lo-empty p { max-width:490px; margin:8px auto 0; }
.lo-clean-list { margin:0; padding:0; list-style:none; }
.lo-clean-list > li { display:flex; align-items:center; gap:9px; padding:11px 0; border-bottom:1px solid var(--border); font-size:12px; }
.lo-clean-list > li:last-child { border-bottom:0; }
.lo-clean-list > li > div:first-child { flex:1; min-width:0; }
.lo-clean-list span,.lo-clean-list small { display:block; color:var(--text-secondary); font-size:11px; line-height:1.5; margin-top:4px; overflow-wrap:anywhere; }
.lo-clean-list strong { overflow-wrap:anywhere; }
.lo-kv { display:grid; grid-template-columns:115px minmax(0,1fr); gap:7px 12px; font-size:12px; line-height:1.6; }
.lo-kv dt { color:var(--text-secondary); }
.lo-kv dd { margin:0; overflow-wrap:anywhere; white-space:pre-wrap; }
.lo-stops { display:grid; gap:10px; padding:0; list-style:none; margin:14px 0; }
.lo-stop { border:1px solid var(--border); border-radius:9px; padding:12px; }
.lo-stop .lo-section-head { margin-bottom:6px; font-size:13px; }
.lo-checks { border:1px solid var(--border); border-radius:8px; padding:11px; margin:13px 0; font-size:12px; }
.lo-checks summary { cursor:pointer; font-weight:600; }
.lo-checks ul { padding-left:20px; color:var(--text-secondary); line-height:1.8; }
.lo-muted { color:var(--text-secondary); }
.lo-workspace [aria-busy=true] { opacity:.7; }
@media(min-width:1600px){ .lo-overview-grid .lo-route-list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:1100px){ .lo-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); } .lo-overview-grid { grid-template-columns:minmax(0,1fr); } .lo-planning-grid { grid-template-columns:minmax(0,1fr); } .lo-planning-grid > aside .lo-route-list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:767px){
  .lo-toolbar { gap:7px; } .lo-tabs { flex-wrap:nowrap; overflow:auto; overscroll-behavior-x:contain; padding-bottom:4px; } .lo-tabs a { flex-shrink:0; min-height:44px; }
  .lo-filters { gap:8px; } .lo-filters > label:not(.lo-search) { flex:1; } .lo-filters .pb-input { width:100%; min-height:44px; } .lo-filters .lo-search { min-width:0; flex-basis:calc(100% - 110px); }
  .lo-settings-grid { grid-template-columns:minmax(0,1fr); } .lo-card { padding:13px; } .lo-workspace .pb-btn { min-height:44px; } .lo-kpi { padding:13px; } .lo-kpi > strong { font-size:23px; }
  .lo-clean-list > li { flex-wrap:wrap; } .lo-clean-list > li > div:first-child { min-width:170px; } .lo-table { min-width:740px; } .lo-kv { grid-template-columns:85px minmax(0,1fr); }
  .lo-stop .lo-section-head > .lo-actions { flex-basis:100%; } .lo-table-wrap { margin-inline:-3px; }
}
@media(max-width:430px){ .lo-planning-grid > aside .lo-route-list { grid-template-columns:minmax(0,1fr); } .lo-kpi > strong { font-size:20px; } .lo-kpi { gap:7px; } }
