.admin-arco {
  --accent: #165dff;
  --ink: #1d2129;
  --muted: #687182;
  --line: #e5e6eb;
  color: var(--ink);
  background: #f2f3f5;
  font-size: 14px;
  letter-spacing: 0;
  line-height: 1.5;
}
.admin-arco #adminApp > header { min-height:64px; padding:12px 24px; border-color:var(--line); }
.workspace-brand { display:flex; align-items:center; gap:10px; font-size:18px; }
.brand-mark { width:32px; height:32px; display:inline-grid; place-items:center; flex:none; background:var(--accent); color:white; border-radius:4px; font-size:19px; }
.admin-arco #adminApp > main { max-width:1640px; padding:24px 28px 40px; }
.admin-arco .workspace-nav { background:white; border-bottom:1px solid var(--line); padding:10px 24px; margin:0; gap:6px; }
.admin-arco .workspace-nav button { background:transparent; border-radius:4px; color:#4e5969; min-height:40px; font-weight:500; }
.admin-arco .workspace-nav button.active { background:#e8f3ff; color:#165dff; font-weight:600; }
.admin-arco .workspace-nav button:hover { background:#f2f3f5; }
.workspace-overview { margin-bottom:18px; color:var(--muted); }
.workspace-overview > summary { width:fit-content; cursor:pointer; font-size:13px; padding:4px 0; }
.workspace-overview #stats { margin-top:12px; }
.workspace-overview .stat { min-height:74px; }
.workspace-section { background:white; min-width:0; padding:24px; border-top:1px solid var(--line); }
.admin-arco :is(#tab-data,#tab-riders) h2 { font-size:17px; line-height:1.5; font-weight:600; color:var(--ink); }
.admin-arco :is(#tab-data,#tab-riders) .muted { color:var(--muted); }
.admin-arco :is(#tab-data,#tab-riders) input,
.admin-arco :is(#tab-data,#tab-riders) select,
.admin-arco :is(#tab-data,#tab-riders) textarea { border:1px solid #e5e6eb; border-radius:4px; background:#f7f8fa; padding:8px 10px; min-height:36px; color:var(--ink); }
.admin-arco :is(#tab-data,#tab-riders) :is(input,select,textarea):focus { border-color:var(--accent); outline:2px solid #165dff22; outline-offset:1px; background:white; }
.admin-arco :is(#tab-data,#tab-riders) button { border-radius:4px; padding:8px 14px; min-height:36px; background:var(--accent); font-weight:500; }
.admin-arco :is(#tab-data,#tab-riders) button.ghost { background:#f2f3f5; color:#4e5969; }
.admin-arco :is(#tab-data,#tab-riders) button.secondary { background:#e8f3ff; color:#165dff; }
.admin-arco :is(#tab-data,#tab-riders) button:disabled { opacity:.5; cursor:not-allowed; }
.admin-arco :is(#tab-data,#tab-riders) .subview-tabs { gap:24px; background:transparent; border-bottom:1px solid #dcdfe6; }
.admin-arco :is(#tab-data,#tab-riders) .subview-tabs button { background:transparent; color:var(--muted); padding:8px 0 12px; border:0; border-bottom:2px solid transparent; border-radius:0; }
.admin-arco :is(#tab-data,#tab-riders) .subview-tabs button.active { border-bottom-color:var(--accent); color:var(--accent); }
.admin-arco .summary-filter-section > .row { display:block; }
.admin-arco .data-summary-filters { display:grid; grid-template-columns:minmax(300px,2fr) repeat(3,minmax(130px,1fr)) auto; gap:16px; align-items:end; width:100%; }
.admin-arco .data-summary-filters .filter-field { min-width:0; max-width:none; }
.admin-arco .data-summary-filters label { margin:0 0 6px; }
.admin-arco .data-summary-filters button { margin:0; }
.admin-arco #dataSummaryCards { grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:20px; }
.admin-arco #dataSummaryCards .stat { background:#fafbfc; border:1px solid #eef0f3; padding:16px; border-radius:4px; min-height:98px; }
.admin-arco #dataSummaryCards .stat > span { color:var(--muted); font-size:13px; }
.admin-arco #dataSummaryCards .stat strong { font-size:24px; line-height:1.3; font-weight:600; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.admin-arco #dataSummaryCards .stat strong.stat-value-empty { font-size:16px; color:#86909c; }
.admin-arco .detail-block { padding-top:24px; margin-top:24px; border-top:1px solid var(--line); }
.admin-arco :is(#tab-data,#tab-riders) th { background:#f7f8fa; color:#4e5969; font-size:12px; font-weight:500; }
.admin-arco :is(#tab-data,#tab-riders) :is(th,td) { padding:12px 14px; border-color:#f0f1f3; }
.admin-arco :is(#tab-data,#tab-riders) td { font-size:13px; font-variant-numeric:tabular-nums; }
.admin-arco :is(#tab-data,#tab-riders) tbody tr:hover { background:#f7faff; }
.changes-heading { gap:16px; align-items:flex-start; }
.changes-heading h2 { margin-bottom:6px; }
.changes-toolbar { align-items:end; flex-wrap:wrap; gap:12px; }
.changes-toolbar label { margin:0; font-size:12px; }
.changes-toolbar input { display:block; margin-top:4px; }
.change-modes { display:flex; background:#f2f3f5; padding:3px; border-radius:4px; gap:2px; }
.admin-arco #tab-data .change-modes button { background:transparent; color:#4e5969; padding:6px 10px; white-space:nowrap; }
.admin-arco #tab-data .change-modes button[aria-pressed=true] { background:white; color:var(--accent); box-shadow:0 1px 3px #1d212910; }
#riderChangesStatus { color:#925b12; margin:10px 0; }
#riderChangesStatus:empty { display:none; }
#riderChangesTable { margin-top:20px; max-width:100%; overflow:auto; }
#riderChangesTable table { min-width:1300px; width:100%; }
#riderChangesTable th { white-space:nowrap; }
#riderChangesTable td { white-space:nowrap; }
#riderChangesTable :is(th,td):first-child { min-width:230px; max-width:290px; white-space:normal; overflow-wrap:anywhere; position:sticky; left:0; background:white; z-index:1; border-right:1px solid var(--line); }
#riderChangesTable th:first-child { background:#f7f8fa; }
#riderChangesTable small { display:block; font-size:11px; color:var(--muted); margin-top:5px; }
.change-total { font-weight:600; }
.change-up { color:#00866a; }
.change-down { color:#c95037; }
.change-flat,.change-divider { color:#86909c; }
.change-complete { color:#00866a; font-size:12px; }
.change-missing { font-size:12px; color:#986200; }
.change-missing summary { cursor:pointer; }
.change-missing span { display:block; max-width:230px; white-space:normal; margin-top:8px; }
.changes-definition { margin-top:16px; color:var(--muted); font-size:12px; }
.changes-definition summary { cursor:pointer; width:fit-content; }
.changes-definition p { max-width:1000px; line-height:1.7; }
.empty-state { text-align:center; color:var(--muted); padding:32px 12px; }
.admin-arco .roster-heading { display:block; }
.result-count { font-size:12px; font-weight:400; color:var(--muted); margin-left:8px; }
.admin-arco .rider-filter-bar { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; width:100%; margin:20px 0; }
.admin-arco .rider-filter-bar > * { width:100%; max-width:none; min-width:0; }
.admin-arco .rider-filter-bar .search-input { grid-column:span 2; }
.admin-arco #ridersTable td[data-label="姓名"] { min-width:170px; max-width:230px; }
.admin-arco #ridersTable .rider-profile-warning { font-size:11px; color:#92670b; line-height:1.6; margin-top:6px; }
.admin-arco #ridersTable tr.rider-incomplete { background:#fff; }
.admin-arco #ridersTable tr.rider-incomplete td { background:transparent; }
.admin-arco #ridersTable tr.rider-incomplete td:first-child { border-left:2px solid #e4b860; }
.admin-arco #ridersTable .tag { border-radius:3px; font-size:12px; background:#e8f5f0; color:#19775c; }
.admin-arco #ridersTable .status-pending { background:#fff4dc; color:#946300; }
.admin-arco #ridersTable .status-resigned { background:#f2f3f5; color:#687182; }
.admin-arco #ridersTable .table-actions { min-width:190px; display:flex; flex-wrap:wrap; gap:6px; }
.admin-arco #ridersTable .table-actions button { font-size:12px; padding:5px 8px; min-height:30px; }
.admin-arco .rider-notes summary { color:#165dff; font-size:12px; cursor:pointer; }
.admin-arco .rider-note { border-color:var(--line); }
.admin-arco button:focus-visible,.admin-arco summary:focus-visible,.admin-arco [tabindex="0"]:focus-visible { outline:2px solid #165dff; outline-offset:3px; }
@media(min-width:1100px) {
  .admin-arco .workspace-nav { position:fixed; top:64px; bottom:0; left:0; width:180px; border-right:1px solid var(--line); border-bottom:0; flex-direction:column; align-items:stretch; padding:20px 12px; overflow:auto; }
  .admin-arco .workspace-nav button { text-align:left; padding:10px 16px; flex:0 0 auto; }
  .admin-arco #adminApp > main { margin-left:180px; max-width:none; }
}
@media(max-width:1300px) {
  .admin-arco .data-summary-filters { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .admin-arco .data-summary-filters .date-range-field { grid-column:span 2; }
}
@media(max-width:800px) {
  .admin-arco #adminApp > main { padding:16px; }
  .workspace-section { padding:18px; }
  .admin-arco #dataSummaryCards { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .admin-arco .rider-filter-bar { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .admin-arco .data-summary-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .changes-toolbar { width:100%; }
}
@media(max-width:600px) {
  .admin-arco #adminApp > header { position:static; padding:12px 16px; gap:12px; }
  .workspace-brand { font-size:16px; }
  .brand-mark { width:28px; height:28px; font-size:17px; }
  .admin-arco .workspace-nav { padding:8px 12px; gap:4px; flex-wrap:wrap; }
  .admin-arco .workspace-nav button { font-size:13px; padding:8px 10px; }
  .admin-arco #adminApp > main { padding:12px 10px 32px; }
  .workspace-section { padding:16px 12px; }
  .admin-arco :is(#tab-data,#tab-riders) button { min-height:44px; }
  .admin-arco .rider-filter-bar { gap:8px; }
  .admin-arco #ridersTable td { padding:0; }
  .admin-arco #ridersTable td[data-label="姓名"] { max-width:none; min-width:0; font-size:16px; }
  .admin-arco #ridersTable tr.rider-incomplete td:first-child { border:0; }
  .admin-arco #ridersTable tr.rider-incomplete td:first-child { box-shadow:none; }
  .admin-arco #ridersTable tbody tr { background:#fff; border-color:#e5e6eb; border-radius:4px; padding:16px 12px; gap:14px; }
  .admin-arco #ridersTable .table-actions { min-width:0; }
  .admin-arco #ridersTable .table-actions button { min-height:44px; font-size:13px; }
  .admin-arco .roster-section { background:transparent; padding:0; border:0; }
  .admin-arco #dataSummaryCards { gap:8px; }
  .admin-arco #dataSummaryCards .stat { padding:12px; min-height:88px; }
  .admin-arco #dataSummaryCards .stat strong { font-size:21px; }
  .admin-arco #dataSummaryCards .stat strong.stat-value-empty { font-size:14px; }
  .admin-arco .date-range-control { grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:6px; }
  .admin-arco .data-summary-filters { gap:12px 8px; }
  .admin-arco .data-summary-filters button { grid-column:1/-1; }
  .changes-toolbar label { flex:1; min-width:140px; }
  .change-modes { width:100%; }
  .change-modes button { flex:1; }
  #riderChangesTable :is(th,td):first-child { position:static; min-width:170px; max-width:220px; }
  .admin-arco :is(#tab-data,#tab-riders) h2 { font-size:16px; }
}
.admin-arco .cumulative-filters { display:grid; grid-template-columns:180px 180px minmax(180px,1fr) auto; gap:16px; align-items:end; }
.admin-arco .cumulative-filters > div { min-width:0; }
.admin-arco .cumulative-filters label { margin:0 0 6px; }
.admin-arco .cumulative-grid { width:max-content; min-width:100%; border-collapse:separate; border-spacing:0; table-layout:fixed; }
.admin-arco .cumulative-grid td, .admin-arco .cumulative-grid th { min-width:100px; padding:10px 12px; text-align:right; white-space:nowrap; }
.admin-arco .cumulative-grid .cumulative-station { position:sticky; left:0; z-index:2; min-width:160px; width:160px; max-width:160px; white-space:normal; overflow-wrap:anywhere; text-align:left; background:#f5f6f8; box-sizing:border-box; }
.admin-arco .cumulative-grid .cumulative-metric { position:sticky; left:160px; z-index:1; min-width:170px; width:170px; text-align:left; background:#fff; box-shadow:1px 0 0 #e5e6eb; }
.admin-arco .cumulative-grid thead .cumulative-metric { background:#f5f6f8; }
.admin-arco .cumulative-total { background:#e8f3ff; font-weight:600; }
.admin-arco .cumulative-group-start > * { border-top:2px solid #d9dce2; }
.admin-arco .cumulative-missing { color:#86909c; font-size:12px; }
.admin-arco .cumulative-station small { display:block; margin-top:8px; color:#6b7785; font-weight:400; }
.admin-arco .cumulative-station details { margin-top:12px; font-weight:400; font-size:12px; }
@media(max-width:900px) {
  .admin-arco .cumulative-filters { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
}
@media(max-width:600px) {
  .admin-arco .cumulative-grid .cumulative-station { min-width:100px; width:100px; max-width:100px; padding:8px; }
  .admin-arco .cumulative-grid .cumulative-metric { left:100px; min-width:112px; width:112px; max-width:112px; white-space:normal; padding:8px; }
}
