:root {
  --navy: #172f57;
  --navy-2: #24456f;
  --blue: #2d6cdf;
  --blue-soft: #e9f0fd;
  --green: #1f8a61;
  --green-soft: #e5f5ee;
  --amber: #d8891c;
  --amber-soft: #fff3df;
  --red: #c74c4c;
  --red-soft: #fdecec;
  --ink: #182230;
  --muted: #66768d;
  --line: #dce3ec;
  --bg: #f2f5f9;
  --card: #fff;
  --shadow: 0 10px 28px rgba(30, 50, 80, .08);
  --sidebar-width: 244px;
  box-sizing: border-box;
}
*, *::before, *::after { box-sizing: inherit; }
html { min-width: 320px; background: var(--bg); }
body { margin: 0; color: var(--ink); background: var(--bg); font-family: "Noto Sans SC", "Microsoft YaHei", sans-serif; font-size: 14px; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
.button-help-anchor:not(.collapse-button) { position: relative; }
.button-help-dot { position:absolute; top:5px; right:5px; z-index:6; width:14px; height:14px; border:.6px solid currentColor; border-radius:50%; background:transparent; color:inherit; box-shadow:none; display:grid; place-items:center; font:500 9px/1 Arial,sans-serif; cursor:help; opacity:.55; transition:opacity .15s ease,transform .15s ease; }
.button-help-dot:hover { opacity:1; transform:scale(1.08); }
.button-help-anchor:not(.nav-item):not(.upload-cta):not(.raw-ofd-drop):not(.volume-drop):not(.file-remove):not(.collapse-button) { padding-right:max(25px,1.8em); }
.nav-item .button-help-dot { color:rgba(255,255,255,.72); }
.file-remove .button-help-dot { top:2px; right:2px; }
.upload-cta .button-help-dot,.volume-drop .button-help-dot,.raw-ofd-drop .button-help-dot { top:9px; right:9px; }
.button-help-tooltip { position:fixed; left:0; top:0; z-index:10000; width:min(280px,calc(100vw - 20px)); padding:10px 12px; border:1px solid #cad7e6; border-radius:9px; background:#172f50; color:#fff; box-shadow:0 12px 28px rgba(19,39,67,.28); font-size:12px; line-height:1.55; letter-spacing:0; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-3px); transition:opacity .12s ease,transform .12s ease,visibility .12s ease; }
.button-help-tooltip.show { opacity:1; visibility:visible; transform:translateY(0); }
.hidden { display: none !important; }
.app-shell { min-height: 100vh; }
.schedule-active .topbar-actions { display: none; }
.schedule-frame { scroll-margin-top: 88px; }
.sidebar { position: fixed; inset: 0 auto 0 0; z-index: 20; width: var(--sidebar-width); padding: 20px 14px; background: var(--navy); color: #fff; display: flex; flex-direction: column; overflow-x:hidden; overflow-y:auto; transition: width .18s ease, transform .18s ease; }
.brand { display: flex; align-items: center; gap: 10px; padding: 0 6px 24px; border-bottom: 1px solid rgba(255,255,255,.12); }
.brand-mark { width: 40px; height: 40px; border-radius: 11px; display: grid; place-items: center; background: #fff; color: var(--navy); font-family: Barlow, sans-serif; font-weight: 700; letter-spacing: .03em; }
.brand-copy { min-width: 0; display: flex; flex-direction: column; }
.brand-copy strong { font: 700 18px Barlow, sans-serif; letter-spacing: .04em; }
.brand-copy span { font-size: 11px; color: rgba(255,255,255,.65); }
.icon-button { width: 34px; height: 34px; border: 0; border-radius: 9px; background: transparent; cursor: pointer; }
.collapse-button { position: absolute; top: 25px; right: -14px; background: #fff; color: var(--navy); box-shadow: var(--shadow); font-size: 24px; line-height: 1; }
.nav-list { display: flex; flex-direction: column; gap: 5px; margin-top: 20px; flex:0 0 auto; }
.nav-item { border: 0; width: 100%; min-height: 44px; padding: 0 11px; border-radius: 9px; background: transparent; color: rgba(255,255,255,.72); display: flex; align-items: center; gap: 10px; cursor: pointer; text-align: left; }
.nav-item:hover:not(.disabled), .nav-item.active { color: #fff; background: rgba(255,255,255,.12); }
.nav-index { width: 23px; flex: 0 0 23px; font: 600 11px Barlow, sans-serif; color: rgba(255,255,255,.42); }
.nav-item.active .nav-index { color: #f7bd56; }
.nav-item em { margin-left: auto; font-style: normal; font-size: 9px; padding: 2px 5px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; }
.nav-item.disabled { opacity: .55; cursor: not-allowed; }
.nav-badge { display:none; }
.sidebar-cloud { margin-top:auto; padding:18px 7px 14px; border-top:1px solid rgba(255,255,255,.14); }
.sidebar-cloud-heading { display:flex; align-items:center; gap:9px; min-width:0; margin-bottom:12px; }
.sidebar-cloud-heading > div { min-width:0; }
.sidebar-cloud-heading strong { display:block; font-size:12px; }
.sidebar-cloud-heading small { display:block; margin-top:3px; color:rgba(255,255,255,.55); font-size:10px; line-height:1.3; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sidebar-cloud-heading small.cloud-status-ready { color:#a9efd0 !important; }
.sidebar-cloud-heading small.cloud-status-error { color:#ffd1c9 !important; }
.sidebar-cloud-icon { font-size:16px; color:#91c8ea; }
.sidebar-cloud .cloud-safety-lock { min-height:26px; margin-bottom:10px; color:rgba(255,255,255,.78); font-size:11px; }
.sidebar-cloud .cloud-safety-lock input { width:14px; height:14px; accent-color:#8fcdb5; }
.sidebar-cloud-actions { display:grid; gap:7px; }
.sidebar-cloud .button { width:100%; min-height:34px; padding:7px 20px 7px 10px; border:1px solid rgba(255,255,255,.22); border-radius:9px; background:rgba(255,255,255,.09); color:#fff; text-align:left; font:600 11px Barlow,sans-serif; }
.sidebar-cloud .button:hover:not(:disabled) { background:rgba(255,255,255,.17); }
.sidebar-cloud .button:disabled { opacity:.43; cursor:not-allowed; }
.sidebar-cloud-actions .button { min-height:39px; border:0; border-radius:11px 11px 5px 11px; box-shadow:0 5px 13px rgba(7,21,43,.16); font-size:11px; letter-spacing:.015em; }
.sidebar-cloud-actions #cloudBackup { background:linear-gradient(115deg,#b8f0df,#77d9bc); color:#103d43; }
.sidebar-cloud-actions #cloudBackup:hover:not(:disabled) { background:linear-gradient(115deg,#c9f7e9,#8de4c7); transform:translateY(-1px); }
.sidebar-cloud-actions #cloudRestore { background:linear-gradient(115deg,#91baff,#6195ea); color:#102d53; }
.sidebar-cloud-actions #cloudRestore:hover:not(:disabled) { background:linear-gradient(115deg,#a7c9ff,#77a9f2); transform:translateY(-1px); }
.cloud-skipped-files { margin-top:10px; padding:8px 9px; border:1px solid rgba(255,209,201,.42); border-radius:9px; background:rgba(148,47,58,.18); color:#ffe2dc; font-size:10px; line-height:1.45; }
.cloud-skipped-files summary { cursor:pointer; font-weight:700; }
.cloud-skipped-files p { margin:7px 0 5px; }
.cloud-skipped-files ul { max-height:150px; overflow:auto; margin:0; padding-left:15px; }
.cloud-skipped-files li { padding:5px 0; overflow-wrap:anywhere; border-top:1px solid rgba(255,255,255,.12); }
.cloud-skipped-files li small { display:block; color:#f2c7c2; }
.sidebar-cloud-more { margin-top:9px; color:rgba(255,255,255,.7); font-size:11px; }
.sidebar-cloud-more summary { cursor:pointer; padding:4px 0; }
.sidebar-cloud-more .button,.sidebar-cloud-more .cloud-version-picker { margin-top:7px; }
.sidebar-cloud-more .cloud-version-picker { color:rgba(255,255,255,.7); font-size:10px; }
.sidebar-cloud-more .cloud-version-picker select { width:100%; min-height:32px; font-size:10px; }
.sidebar-cloud-more p { margin:8px 0 0; font-size:10px; line-height:1.45; }
.cloud-file-catalog { max-height:300px; overflow:auto; padding-right:3px; }
.cloud-file-row { display:flex; align-items:center; gap:5px; padding:6px 0; border-bottom:1px solid rgba(255,255,255,.12); }
.cloud-file-row span { min-width:0; flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#fff; }
.cloud-file-row small { display:block; color:rgba(255,255,255,.6); }
.cloud-file-row button { flex:none; border:1px solid rgba(255,255,255,.25); border-radius:5px; background:rgba(255,255,255,.1); color:#fff; cursor:pointer; font-size:10px; padding:4px 5px; }
.sidebar-footer { margin-top: auto; padding: 16px 8px 0; border-top: 1px solid rgba(255,255,255,.12); display: flex; gap: 8px; align-items: center; color: rgba(255,255,255,.6); font-size: 10px; }
.privacy-dot { width: 7px; height: 7px; background: #52c899; border-radius: 50%; box-shadow: 0 0 0 4px rgba(82,200,153,.12); }
.main-content { min-height: 100vh; margin-left: var(--sidebar-width); transition: margin-left .18s ease; }
.topbar { min-height: 84px; padding: 18px 28px; background: #fff; border-bottom: 1px solid var(--line); display: flex; align-items: center; gap: 18px; position: sticky; top: 0; z-index: 10; }
.topbar h1 { margin: 2px 0 0; font-size: 22px; line-height: 1.2; }
.eyebrow, .section-number { margin: 0; font: 600 10px Barlow, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: #7588a2; }
.eyebrow.light { color: rgba(255,255,255,.62); }
.topbar-actions { margin-left: auto; display: flex; gap: 12px; align-items: center; }
.date-control { height: 44px; padding: 5px 10px; border: 1px solid var(--line); border-radius: 9px; display: grid; align-content: center; }
.date-control span { color: var(--muted); font-size: 9px; }
.date-control input { border: 0; padding: 0; color: var(--ink); background: transparent; font: 600 13px Barlow, sans-serif; outline: 0; }
.source-pill { max-width: 250px; padding: 8px 12px; border-radius: 999px; background: #edf1f6; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 12px; }
.source-pill.ready { background: var(--green-soft); color: var(--green); }
.view { display: none; padding: 26px 28px 50px; max-width: 1500px; margin: 0 auto; }
.view.active { display: block; }
.schedule-view { max-width: none; }
.schedule-frame { display:block; width:100%; min-height:850px; border:1px solid var(--line); border-radius:14px; background:#f7faf7; box-shadow:var(--shadow); }
.hero-panel { min-height: 178px; padding: 30px 32px; border-radius: 15px; background: radial-gradient(circle at 82% 20%, rgba(72,137,235,.34), transparent 25%), linear-gradient(115deg, var(--navy), #254c7f); color: #fff; display: flex; justify-content: space-between; align-items: center; gap: 30px; box-shadow: var(--shadow); }
.overview-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 14px; }
.overview-heading h2 { margin:3px 0 0; font-size:23px; }
.overview-heading > span { color:var(--muted); font-size:12px; }
.ofd-upload-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; align-items:stretch; }
.ofd-upload-grid .panel { margin-top:0; min-width:0; min-height:222px; padding:18px; box-shadow:0 8px 20px rgba(28,62,99,.045); }
.ofd-upload-grid .raw-ofd-panel { border:1px solid #75c8b2; border-top:5px solid #008b74; background:linear-gradient(135deg,#c9efe3 0%,#e7f8f1 58%,#f8fdfa 100%); }
.ofd-file-upload-panel { display:flex; flex-direction:column; border:1px solid #83a9ec; border-top:5px solid #2c5ec3; background:linear-gradient(135deg,#bcd4ff 0%,#dce9ff 60%,#f3f7ff 100%); box-shadow:0 10px 22px rgba(45,95,180,.12); }
.upload-card-heading { display:flex; align-items:center; gap:10px; margin-bottom:13px; }
.upload-card-heading h3 { margin:0; font-size:17px; }
.upload-card-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; background:#ccece2; color:#147d68; font-size:21px; }
.ofd-file-upload-panel .upload-card-icon { background:#d9e5fa; color:#386ac0; }
.ofd-upload-grid .upload-cta,.raw-ofd-drop { position:relative; width:100%; min-height:72px; padding:13px; border:1px dashed #61ad98; border-radius:10px; background:rgba(255,255,255,.83); color:var(--ink); display:flex; align-items:center; gap:12px; cursor:pointer; }
.ofd-upload-grid .upload-cta { flex:1 1 auto; border-color:#9bb6e8; }
.ofd-upload-grid .upload-cta:hover { border-color:#5481cf; background:#fff; }
.raw-ofd-drop:hover,.raw-ofd-drop.dragover { border-color:#258c78; background:#fff; }
.ofd-upload-grid .upload-icon { flex:0 0 35px; width:35px; height:35px; background:#daf2ea; color:#247e69; font-size:20px; }
.ofd-file-upload-panel .upload-icon { background:#e3ebfb; color:#3e72c8; }
.ofd-upload-grid .upload-cta small,.raw-ofd-drop small { color:var(--muted); font-size:11px; }
.raw-ofd-drop input { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.raw-ofd-drop b,.raw-ofd-drop small { display:block; }
.raw-ofd-drop small { margin-top:3px; }
.ofd-upload-grid .raw-ofd-controls { margin-top:13px; gap:8px; }
.ofd-upload-grid .raw-ofd-controls .raw-ofd-date { flex:1 1 150px; }
.ofd-upload-grid .raw-ofd-controls .button { align-self:end; }
.ofd-upload-grid .raw-ofd-status { margin-top:9px; }
.ofd-upload-grid .raw-ofd-status:empty { display:none; }
.hero-panel h2 { margin: 8px 0 8px; font-size: clamp(22px, 3vw, 32px); }
.hero-panel p { margin: 0; color: rgba(255,255,255,.72); max-width: 680px; }
.upload-cta { position: relative; flex: 0 0 250px; min-height: 86px; padding: 17px 20px; border: 1px dashed rgba(255,255,255,.45); border-radius: 13px; background: rgba(255,255,255,.1); display: flex; gap: 14px; align-items: center; cursor: pointer; transition: background .15s, transform .15s; overflow: hidden; }
.upload-cta:hover { background: rgba(255,255,255,.16); transform: translateY(-1px); }
.upload-cta input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.upload-cta b, .upload-cta small { display: block; }
.upload-cta small { color: rgba(255,255,255,.62); margin-top: 3px; }
.upload-icon { width: 42px; height: 42px; border-radius: 11px; background: rgba(255,255,255,.16); display: grid; place-items: center; font-size: 23px; }
.notice { margin-top: 16px; padding: 12px 15px; border-radius: 10px; background: var(--blue-soft); color: #2459aa; border: 1px solid #cadbfd; }
.notice.error { background: var(--red-soft); color: #9f3737; border-color: #f4caca; }
.file-library-panel { position:relative; z-index:9; flex:0 0 auto; margin:0; padding:0; border:0; box-shadow:none; background:transparent; }
.file-library-mini { display:flex; align-items:center; gap:8px; }
.file-library-mini #fileLibrarySummary { color:#8390a1; font-size:11px; white-space:nowrap; }
.file-library-mini .collapse-toggle { min-height:32px; padding:0 24px 0 10px; border-radius:9px; background:#f7f9fc; color:#61738b; }
.file-library-popover { position:absolute; top:calc(100% + 8px); right:0; width:min(650px,calc(100vw - 32px)); max-height:min(440px,70vh); overflow:auto; padding:14px; border:1px solid var(--line); border-radius:12px; background:#fff; box-shadow:0 17px 35px rgba(17,39,69,.16); }
.file-library-popover-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:0 2px 10px; font-size:12px; }
.file-library-popover .file-card { grid-template-columns:minmax(160px,1.2fr) minmax(150px,1fr) auto; }
.file-library-actions { display: flex; align-items: center; gap: 14px; }
.file-library { display: grid; gap: 9px; }
.file-library .empty-state.compact { min-height: 72px; }
.file-card { min-height: 66px; padding: 11px 13px; border: 1px solid var(--line); border-radius: 10px; background: #f9fbfd; display: grid; grid-template-columns: minmax(220px, 1.4fr) minmax(220px, 1fr) auto; gap: 16px; align-items: center; }
.file-card-main { min-width: 0; }
.file-card-main b { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.file-card-main small, .file-card-meta small { display: block; margin-top: 4px; color: var(--muted); }
.file-card-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; }
.file-chip { display: inline-flex; align-items: center; min-height: 23px; padding: 2px 8px; border-radius: 999px; background: var(--blue-soft); color: #2459aa; font: 600 11px Barlow, sans-serif; }
.file-chip.reply { background: var(--green-soft); color: var(--green); }
.file-remove { width: 34px; height: 34px; border: 1px solid #f1cdcd; border-radius: 8px; background: #fff; color: var(--red); cursor: pointer; font-size: 17px; }
.file-remove:hover { background: var(--red-soft); }
.danger-text:disabled { opacity: .4; cursor: not-allowed; }
.kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 18px 0; }
.kpi-card { min-height: 116px; padding: 17px 19px; border: 1px solid var(--line); border-radius: 12px; background: var(--card); box-shadow: 0 7px 22px rgba(30,50,80,.04); border-top: 3px solid var(--blue); }
.kpi-card:nth-child(2) { border-top-color: var(--green); }
.kpi-card:nth-child(3) { border-top-color: var(--amber); }
.kpi-card:nth-child(4) { border-top-color: var(--red); }
.kpi-card span { color: var(--muted); font-size: 12px; }
.kpi-card strong { display: block; margin: 6px 0 3px; font: 700 31px Barlow, sans-serif; }
.kpi-card small { color: #8794a6; }
.kpi-grid.compact .kpi-card { min-height: 102px; }
.content-grid { display: grid; gap: 18px; margin: 18px 0; }
.content-grid.two-one { grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); }
.panel { padding: 21px; background: var(--card); border: 1px solid var(--line); border-radius: 13px; box-shadow: 0 7px 22px rgba(30,50,80,.04); margin-top: 18px; }
.raw-ofd-panel { border-left: 4px solid var(--blue); }
.raw-ofd-help { margin: -4px 0 16px; color: var(--muted); line-height: 1.6; }
.raw-ofd-controls { display: flex; align-items: end; flex-wrap: wrap; gap: 12px; }
.raw-ofd-controls label { display: grid; gap: 5px; color: var(--muted); font-size: 12px; font-weight: 600; }
.raw-ofd-controls input { min-height: 39px; padding: 7px 10px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink); }
.raw-ofd-controls .raw-ofd-file { flex: 1 1 320px; min-width: 0; }
.raw-ofd-controls .raw-ofd-date { flex: 0 1 180px; }
.raw-ofd-controls .button { min-height: 39px; }
.raw-ofd-status { margin: 13px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.raw-ofd-status.raw-ofd-error { color: var(--red); }
.raw-ofd-preview { overflow: auto; max-height: 250px; margin-top: 12px; border: 1px solid var(--line); border-radius: 8px; }
.raw-ofd-preview table { width: 100%; border-collapse: collapse; font-size: 12px; }
.raw-ofd-preview th, .raw-ofd-preview td { padding: 8px 10px; border-bottom: 1px solid var(--line); text-align: right; white-space: nowrap; }
.raw-ofd-preview th:first-child, .raw-ofd-preview td:first-child { text-align: left; }
.raw-ofd-preview thead { position: sticky; top: 0; background: #edf3fc; }
.content-grid .panel { margin-top: 0; }
.panel-heading { min-height: 40px; display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 17px; }
.panel h3, .section-toolbar h2 { margin: 3px 0 0; }
.panel h3 { font-size: 17px; }
.muted { color: var(--muted); }
.text-button { border: 0; background: transparent; color: var(--blue); cursor: pointer; }
.collapse-toggle { min-height:30px; padding:0 10px; border:1px solid var(--line); border-radius:7px; background:#fff; color:#51637b; cursor:pointer; font-size:10px; font-weight:600; white-space:nowrap; }
.collapse-toggle:hover { border-color:#a8b7ca; color:var(--navy); background:#f7f9fc; }
.collapse-toggle[aria-expanded="false"] { background:#edf2f7; color:var(--navy); }
.collapse-toggle::before { content:'▴'; display:inline-block; margin-right:5px; font-size:9px; }
.collapse-toggle[aria-expanded="false"]::before { content:'▾'; }
.collapse-target-hidden { display:none !important; }
.workflow-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.workflow-step { min-height: 92px; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: #fff; display: flex; align-items: flex-start; gap: 11px; text-align: left; cursor: pointer; }
.workflow-step:hover { border-color: #a7b9d3; }
.workflow-step b, .workflow-step small { display: block; }
.workflow-step small { margin-top: 5px; color: var(--muted); }
.step-state { width: 26px; height: 26px; flex: 0 0 26px; border-radius: 50%; background: #e8edf4; color: #74849a; display: grid; place-items: center; font: 600 12px Barlow, sans-serif; }
.step-state.done { background: var(--green); color: #fff; }
.step-state.warning { background: var(--amber); color: #fff; }
.quality-list { display: grid; gap: 13px; }
.quality-list > div { display: grid; grid-template-columns: 10px 1fr; gap: 1px 10px; align-items: center; }
.quality-list small { grid-column: 2; color: var(--muted); }
.quality-dot { width: 8px; height: 8px; border-radius: 50%; background: #aab4c2; }
.quality-dot.ok { background: var(--green); }
.quality-dot.warn { background: var(--amber); }
.quality-dot.bad { background: var(--red); }
.fleet-bars { display: grid; gap: 11px; }
.fleet-bar-row { display: grid; grid-template-columns: minmax(130px, 1.2fr) minmax(180px, 3fr) 76px 76px; gap: 10px; align-items: center; }
.fleet-name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight: 600; }
.bar-track { height: 10px; background: #ebeff4; border-radius: 999px; overflow: hidden; }
.bar-fill { height: 100%; border-radius: inherit; background: var(--green); }
.bar-fill.bad { background: var(--red); }
.bar-fill.warn { background: var(--amber); }
.bar-rate { font: 700 14px Barlow, sans-serif; text-align: right; }
.bar-miss { color: var(--muted); text-align: right; font: 500 12px Barlow, sans-serif; }
.section-toolbar { min-height: 58px; display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 18px; }
.section-toolbar p { margin: 5px 0 0; }
.filter-group { display: flex; flex-wrap: wrap; gap: 10px; }
.filter-group label { display: grid; gap: 4px; color: var(--muted); font-size: 10px; }
.filter-group select { min-width: 145px; height: 38px; padding: 0 30px 0 10px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink); }
.filter-group.inline select { min-width: 130px; }
.toolbar-buttons { display: flex; gap: 9px; }
.button { min-height: 40px; padding: 0 15px; border-radius: 8px; border: 1px solid transparent; cursor: pointer; font-weight: 600; }
.button.primary { background: var(--navy); color: #fff; }
.button.secondary { background: #fff; border-color: var(--line); color: var(--navy); }
.button:hover:not(:disabled) { transform: translateY(-1px); }
.button:disabled { opacity: .45; cursor: not-allowed; }
.danger-text { border: 0; background: transparent; color: var(--red); cursor: pointer; }
.settings-panel label { position: relative; margin: 12px 0; display: grid; grid-template-columns: 1fr 88px 20px; align-items: center; gap: 8px; }
.settings-panel input { height: 38px; border: 1px solid var(--line); border-radius: 8px; padding: 0 9px; }
.settings-panel p { color: var(--muted); font-size: 12px; line-height: 1.7; }
.search-box { height: 38px; padding: 0 10px; border: 1px solid var(--line); border-radius: 8px; display: flex; align-items: center; gap: 6px; color: #8a97aa; background: #fff; }
.search-box input { width: 210px; border: 0; outline: 0; background: transparent; }
.search-box.wide { flex: 1; max-width: 560px; }
.search-box.wide input { width: 100%; }
.switch-label { display: flex; align-items: center; gap: 7px; color: var(--muted); }
.table-wrap { width: 100%; overflow: auto; border: 1px solid var(--line); border-radius: 9px; }
.table-wrap.tall { max-height: 620px; }
table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
th { position: sticky; top: 0; z-index: 2; background: var(--navy); color: #fff; padding: 10px 11px; text-align: left; white-space: nowrap; font-weight: 500; }
td { padding: 9px 11px; border-top: 1px solid #e6ebf1; white-space: nowrap; }
tbody tr:nth-child(even) td { background: #f9fafc; }
tbody tr:hover td { background: #edf3fb; }
.number { text-align: right; font-family: Barlow, sans-serif; font-variant-numeric: tabular-nums; }
.status-chip { display: inline-flex; align-items: center; min-height: 23px; padding: 2px 8px; border-radius: 999px; background: var(--green-soft); color: var(--green); font-size: 11px; }
.status-chip.bad { background: var(--red-soft); color: var(--red); }
.status-chip.pending { background: var(--amber-soft); color: #a7630b; }
.table-footer { padding: 10px 2px 0; text-align: right; color: var(--muted); font-size: 11px; }
.empty-state { min-height: 120px; border: 1px dashed var(--line); border-radius: 10px; color: #8a96a6; display: grid; place-items: center; text-align: center; padding: 20px; }
.explanation-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.summary-chip { padding: 14px 16px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.summary-chip span { display: block; color: var(--muted); font-size: 11px; }
.summary-chip strong { display: block; margin-top: 4px; font: 700 24px Barlow, sans-serif; }
.logic-note { display: flex; align-items: center; gap: 12px; padding-block: 13px; background: #f7f9fc; }
.logic-note strong { flex: 0 0 auto; color: var(--navy); }
.logic-note span { color: var(--muted); font-size: 12px; line-height: 1.55; }
.explanation-list { display: grid; gap: 12px; }
.explanation-card { border: 1px solid var(--line); border-radius: 10px; padding: 15px; display: grid; grid-template-columns: minmax(230px, .9fr) minmax(280px, 1.25fr) minmax(220px, .9fr); gap: 14px; align-items: start; }
.explanation-card h4 { margin: 0 0 5px; font-size: 14px; }
.family-row { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.review-flag { display: inline-flex; padding: 3px 7px; border-radius: 999px; background: var(--red-soft); color: var(--red); font-size: 10px; font-weight: 700; }
.explanation-meta { color: var(--muted); font-size: 11px; line-height: 1.8; }
.explanation-metrics { display: flex; gap: 10px; margin-top: 8px; }
.explanation-metrics span { padding: 3px 7px; background: #f0f3f7; border-radius: 6px; font: 600 11px Barlow, sans-serif; }
.explanation-card textarea { width: 100%; min-height: 78px; resize: vertical; padding: 9px 10px; border: 1px solid var(--line); border-radius: 8px; line-height: 1.5; }
.explanation-card select { width: 100%; height: 38px; border: 1px solid var(--line); border-radius: 8px; padding: 0 8px; background: #fff; }
.field-stack { display: grid; gap: 6px; color: var(--muted); font-size: 11px; }
.field-stack small { color: #7d8999; line-height: 1.45; }
.feedback-controls { display: grid; gap: 10px; }
.feedback-controls textarea { min-height: 62px; }
.explanation-card .saved-label { margin-top: 8px; text-align: center; color: var(--muted); font-size: 10px; }
.response-controls { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-block: 13px; }
.response-controls p { max-width: 720px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; text-align: right; }
.response-sheet-card { overflow: hidden; border: 1px solid #c8d5e4; border-radius: 8px; background: #fff; box-shadow: 0 6px 24px rgba(23,52,82,.08); }
.response-sheet-title { min-height: 42px; display: flex; align-items: center; padding: 0 14px; background: #2f75b5; color: #fff; font: 700 15px Arial, sans-serif; }
.response-sheet-wrap { border: 0; border-radius: 0; }
.response-sheet-table { min-width: 1180px; table-layout: fixed; font-family: Arial, sans-serif; }
.response-sheet-table th { position: static; height: 36px; padding: 7px 9px; background: #2f75b5; text-align: center; font: 700 12px Arial, sans-serif; }
.response-sheet-table th:nth-child(1) { width: 190px; }
.response-sheet-table th:nth-child(2) { width: 70px; }
.response-sheet-table th:nth-child(3) { width: 82px; }
.response-sheet-table th:nth-child(4) { width: 720px; }
.response-sheet-table th:nth-child(5) { width: 118px; }
.response-sheet-table td { height: 34px; padding: 7px 9px; border: 1px solid #d9e1f2; white-space: normal; color: #1f1f1f; vertical-align: middle; }
.response-sheet-table tr.group-alt td:not(.dsp-cell) { background: #f7fafd; }
.response-sheet-table .dsp-cell { background: #d9eaf7; text-align: center; font-weight: 700; }
.response-sheet-table .dsp-cell.dsp-alt { background: #bdd7ee; }
.response-sheet-table .sc-cell, .response-sheet-table .ofd-cell, .response-sheet-table .reply-cell { text-align: center; font-weight: 700; }
.response-sheet-table .response-cell { min-height: 34px; line-height: 1.45; outline: none; }
.response-sheet-table .response-cell[contenteditable="true"]:focus { box-shadow: inset 0 0 0 2px #5b9bd5; background: #fff !important; }
.response-sheet-table tr.row-empty .ofd-cell,
.response-sheet-table tr.row-empty .response-cell,
.response-sheet-table tr.row-empty .reply-cell { background: #d9d9d9 !important; }
.response-sheet-table tr.row-good .ofd-cell,
.response-sheet-table tr.row-good .response-cell,
.response-sheet-table tr.row-good .reply-cell { background: #e2f0d9 !important; }
.response-sheet-table tr.row-bad .ofd-cell { background: #fff2cc !important; }
.response-sheet-table .reply-cell.status-on-time, .sheet-status.status-on-time { background: #e2f0d9 !important; }
.response-sheet-table .reply-cell.status-late, .sheet-status.status-late { background: #fff2cc !important; }
.response-sheet-table .reply-cell.status-no-reply, .sheet-status.status-no-reply { background: #fce4d6 !important; }
.response-sheet-table .reply-cell.status-invalid, .sheet-status.status-invalid { background: #ffe599 !important; }
.response-sheet-table .reply-cell.status-no-need, .sheet-status.status-no-need { background: #e2f0d9 !important; }
.sheet-status { width: 100%; min-height: 28px; border: 0; border-radius: 0; outline: 0; text-align: center; font: 700 11px Arial, sans-serif; color: #1f1f1f; }
.response-empty { height: 130px !important; color: #8390a1 !important; text-align: center !important; }
.cloud-backup-panel { display:grid; grid-template-columns:minmax(260px,1fr) auto; align-items:center; gap:14px 24px; padding:18px 20px; border-color:#cfe4dc; background:linear-gradient(135deg,#f6fbf9,#fff); }
.cloud-backup-copy { display:flex; align-items:center; gap:14px; }
.cloud-backup-copy h3 { margin:2px 0 4px; }
.cloud-icon { display:grid; width:44px; height:44px; place-items:center; flex:0 0 auto; border-radius:13px; background:#e3f4ed; color:#18845f; font-size:23px; }
.cloud-actions { justify-content:flex-end; }
.cloud-safety-controls { grid-column:1 / -1; display:grid; grid-template-columns:minmax(240px,.8fr) minmax(260px,1fr) auto; gap:12px; align-items:end; padding:14px; border:1px solid #dcebe6; border-radius:12px; background:#fff; }
.cloud-safety-lock { display:flex; align-items:center; gap:10px; min-height:42px; cursor:pointer; }
.cloud-safety-lock input { width:18px; height:18px; accent-color:var(--navy); }
.cloud-safety-lock span { display:grid; gap:2px; }
.cloud-safety-lock small { color:var(--muted); font-weight:400; }
.cloud-version-picker { display:grid; gap:5px; color:var(--muted); font-size:12px; }
.cloud-version-picker select { min-height:40px; border:1px solid var(--line); border-radius:9px; padding:0 10px; background:#fff; color:var(--ink); }
.cloud-backup-note { grid-column:1 / -1; margin:0; padding-top:12px; border-top:1px solid #dcebe6; color:var(--muted); font-size:12px; line-height:1.55; }
.cloud-status-ready { color:#18845f !important; }
.cloud-status-error { color:#b54735 !important; }
.dnr-upload-grid { display:grid; grid-template-columns:minmax(300px,.9fr) minmax(420px,1.4fr); gap:16px; margin-bottom:16px; }
.dnr-upload-panel { display:flex; align-items:center; justify-content:space-between; gap:20px; background:linear-gradient(135deg,#17385f,#214f81); color:#fff; }
.dnr-upload-panel h3 { margin:2px 0 6px; }
.dnr-upload-panel p { margin:0; color:#cbd9e8; font-size:12px; line-height:1.55; }
.upload-cta.compact { min-width:250px; flex-basis:250px; padding:15px 17px; }
.dnr-library-panel { min-width:0; }
.dnr-file-library { display:grid; gap:8px; max-height:188px; overflow:auto; }
.dnr-file-card { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:12px; padding:10px 12px; border:1px solid var(--line); border-radius:8px; background:#f8fafc; }
.dnr-file-card b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; }
.dnr-file-card small { color:var(--muted); font-size:10px; }
.dnr-file-card .file-remove { width:26px; height:26px; }
.dnr-filter-panel { display:grid; gap:10px; }
.dnr-filters { display:grid; grid-template-columns:repeat(4,minmax(150px,1fr)); gap:12px; }
.dnr-filters label { display:grid; gap:5px; color:var(--muted); font-size:10px; }
.dnr-filters input,.dnr-filters select { width:100%; height:40px; padding:0 10px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--ink); }
.dnr-trend { min-height:260px; display:flex; align-items:flex-end; gap:8px; padding:28px 4px 4px; overflow-x:auto; border-bottom:1px solid var(--line); }
.dnr-trend-column { min-width:48px; flex:1 0 48px; max-width:78px; height:210px; display:grid; grid-template-rows:1fr auto; gap:8px; text-align:center; }
.dnr-trend-space { display:flex; align-items:flex-end; justify-content:center; }
.dnr-trend-bar { position:relative; width:min(34px,72%); min-height:3px; border-radius:6px 6px 0 0; background:linear-gradient(180deg,#f1af32,#d67b22); }
.dnr-trend-bar span { position:absolute; top:-21px; left:50%; transform:translateX(-50%); font:700 10px Barlow,sans-serif; }
.dnr-trend-label { color:var(--muted); font:500 10px Barlow,sans-serif; white-space:nowrap; }
.dnr-reason-list { display:grid; gap:10px; max-height:286px; overflow:auto; }
.dnr-reason-row { display:grid; grid-template-columns:minmax(130px,1fr) minmax(90px,1.4fr) 56px; align-items:center; gap:10px; font-size:11px; }
.dnr-reason-track { height:8px; overflow:hidden; border-radius:999px; background:#edf1f5; }
.dnr-reason-fill { height:100%; border-radius:inherit; background:#e69a2d; }
.dnr-reason-row strong { text-align:right; font:700 11px Barlow,sans-serif; }
.dnr-training-btn { min-width:92px; padding:7px 9px; border:1px solid #aac7e9; border-radius:7px; background:#edf5ff; color:#1d5d9d; font:700 10px inherit; cursor:pointer; }
.dnr-training-btn.danger { border-color:#edc0b7; background:#fff1ee; color:#b54735; }
.dnr-status { display:inline-flex; padding:5px 8px; border-radius:999px; background:#e5f4ed; color:#167554; font-size:10px; font-weight:700; white-space:nowrap; }
.dnr-status.danger { background:#fff0ed; color:#b54735; }
.volume-hero { min-height:132px; padding:24px 27px; border-radius:14px; background:radial-gradient(circle at 86% 25%,rgba(255,255,255,.13),transparent 28%),linear-gradient(115deg,#1f3864,#2b4a7e); color:#fff; display:flex; align-items:center; justify-content:space-between; gap:24px; box-shadow:var(--shadow); }
.volume-hero h3 { margin:5px 0 7px; font-size:22px; }
.volume-hero p { margin:0; color:rgba(255,255,255,.72); }
.volume-hero-chips { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.volume-hero-chips span { padding:5px 11px; border:1px solid rgba(255,255,255,.28); border-radius:999px; background:rgba(255,255,255,.07); font-size:11px; white-space:nowrap; }
.volume-upload-panel { padding-bottom:16px; }
.volume-upload-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.volume-drop { position:relative; min-height:102px; padding:17px 18px; border:1.5px dashed #acb9ca; border-radius:11px; background:linear-gradient(180deg,#fff,#f7f9fc); display:flex; align-items:flex-start; gap:14px; cursor:pointer; transition:border-color .15s,background .15s,transform .15s; }
.volume-drop:hover,.volume-drop.over { border-color:var(--navy); background:#f2f6fb; transform:translateY(-1px); }
.volume-drop:focus-within { outline:2px solid #4f7fbf; outline-offset:2px; }
.volume-drop input { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.volume-drop-icon { width:44px; height:44px; flex:0 0 44px; border-radius:10px; background:#dfe5ee; color:#1f3864; display:grid; place-items:center; font-size:22px; }
.volume-drop b,.volume-drop small,.volume-drop em { display:block; }
.volume-drop b { font-size:14px; }
.volume-drop b i { margin-left:5px; padding:1px 7px; border:1px solid var(--line); border-radius:999px; color:var(--muted); font-size:9px; font-style:normal; font-weight:500; }
.volume-drop small { margin-top:3px; color:var(--muted); font-size:11px; }
.volume-drop em { margin-top:9px; color:var(--muted); font-size:11px; font-style:normal; word-break:break-all; }
.volume-drop.builtin em { color:#315d96; font-weight:600; }
.volume-drop.done { border-style:solid; border-color:#4ba880; background:#eef8f4; }
.volume-drop.done .volume-drop-icon { background:#228a63; color:#fff; }
.volume-drop.done em { color:#167554; font-weight:600; }
.volume-upload-actions { display:flex; justify-content:flex-end; padding-top:8px; }
.volume-export-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.volume-export { min-height:92px; padding:16px 17px; border:0; border-radius:11px; background:#1f3864; color:#fff; display:flex; align-items:center; gap:13px; text-align:left; cursor:pointer; transition:transform .15s,box-shadow .15s,opacity .15s; }
.volume-export.slate { background:#44546a; }
.volume-export.teal { background:#2f5d62; }
.volume-export.red { background:#8a3b3b; }
.volume-export:hover:not(:disabled) { transform:translateY(-2px); box-shadow:0 10px 20px -12px rgba(20,35,60,.65); }
.volume-export:disabled { opacity:.38; cursor:not-allowed; }
.volume-export-icon { width:40px; height:40px; flex:0 0 40px; border-radius:9px; background:rgba(255,255,255,.14); display:grid; place-items:center; font-size:20px; }
.volume-export b,.volume-export small { display:block; }
.volume-export b { font-size:14px; }
.volume-export small { margin-top:4px; color:rgba(255,255,255,.72); font-size:10px; line-height:1.45; }
.volume-kpis { grid-template-columns:repeat(5,minmax(0,1fr)); margin-top:18px; }
.volume-table td.volume-bar-cell { min-width:150px; }
.volume-bar-track { width:100%; height:8px; overflow:hidden; border-radius:999px; background:#e9edf3; }
.volume-bar-fill { height:100%; border-radius:inherit; background:#506f9c; }
.volume-bar-fill.pending { background:#e0a13b; }
.volume-table tfoot td { border-top:2px solid #1f3864; background:#d6dce4; font-weight:700; }
.pickup-upload-grid { display:grid; grid-template-columns:minmax(320px,.9fr) minmax(430px,1.35fr); gap:16px; margin-top:16px; }
.pickup-upload-panel { display:flex; align-items:center; justify-content:space-between; gap:20px; background:linear-gradient(135deg,#17385f,#214f81); color:#fff; }
.pickup-upload-panel h3 { margin:2px 0 6px; }
.pickup-upload-panel p { margin:0; color:#cbd9e8; font-size:12px; line-height:1.55; }
.pickup-upload-panel code { color:#fff; font-size:11px; }
.pickup-library-panel { min-width:0; }
.pickup-file-library { display:grid; gap:8px; max-height:190px; overflow:auto; }
.pickup-file-card { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:12px; padding:10px 12px; border:1px solid var(--line); border-radius:8px; background:#f8fafc; }
.pickup-file-card b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; }
.pickup-file-card small { color:var(--muted); font-size:10px; }
.pickup-file-card .file-remove { width:26px; height:26px; }
.pickup-connection-panel { margin:16px 0; display:grid; gap:16px; border-color:#b8cadc; }
.pickup-connection-panel.hidden { display:none; }
.pickup-connection-guide { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.pickup-connection-guide > span { min-height:62px; padding:11px 12px; border:1px solid var(--line); border-radius:9px; background:#f8fafc; color:var(--muted); font-size:11px; line-height:1.5; }
.pickup-connection-guide b { display:inline-grid; place-items:center; width:20px; height:20px; margin-right:6px; border-radius:50%; background:#1f4f78; color:#fff; font-size:10px; }
.pickup-connection-guide a { color:#174f91; font-weight:700; }
.pickup-connection-guide code { color:#17385f; font-size:10px; }
.pickup-connection-fields { display:grid; grid-template-columns:2fr 1fr; gap:12px; }
.pickup-connection-fields label { display:grid; gap:6px; color:var(--muted); font-size:10px; }
.pickup-connection-fields input { width:100%; height:40px; padding:0 11px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--ink); }
.pickup-connection-actions { display:flex; align-items:center; justify-content:flex-end; gap:9px; }
.pickup-connection-actions small { margin-right:auto; color:var(--muted); font-size:10px; }
.pickup-storage-note { display:flex; align-items:center; gap:12px; margin-top:14px; padding:12px 16px; border:1px solid #b9dfd4; border-radius:11px; background:#f0faf6; color:#234c45; }
.pickup-storage-icon { display:grid; place-items:center; flex:0 0 25px; width:25px; height:25px; border-radius:50%; background:#d7f1e6; color:#18845f; font-weight:700; }
.pickup-storage-note p { display:grid; gap:2px; flex:1; margin:0; font-size:12px; line-height:1.45; }
.pickup-storage-note p span { color:#4e6e69; }
.pickup-storage-note .text-button { color:#176b53; white-space:nowrap; }
.pickup-anomaly-kpis { gap:10px; margin:14px 0 0; }
.pickup-anomaly-card { min-height:82px; padding:12px 15px; box-shadow:none; }
.pickup-anomaly-card strong { margin:3px 0 1px; font-size:25px; }
.pickup-anomaly-card small { font-size:10px; }
.pickup-anomaly-card.pickup-tone-0 { background:#f3f8ff; }
.pickup-anomaly-card.pickup-tone-1 { background:#fff9ed; border-top-color:#e0a13b; }
.pickup-anomaly-card.pickup-tone-2 { background:#fff4f1; border-top-color:#e47860; }
.pickup-anomaly-card.pickup-tone-3 { background:#f4f5fb; border-top-color:#7e80b6; }
.pickup-filter-panel { display:grid; gap:14px; }
.pickup-filters { display:grid; grid-template-columns:repeat(4,minmax(150px,1fr)); gap:12px; }
.pickup-filters label { display:grid; gap:5px; color:var(--muted); font-size:10px; }
.pickup-filters select { width:100%; height:40px; padding:0 10px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--ink); }
.pickup-metrics-panel { margin:16px 0; }
.pickup-trends-panel { margin:16px 0; border:1px solid #c9d9e7; background:linear-gradient(160deg,#f9fcff,#fff 43%); }
.pickup-trend-filters { display:flex; align-items:end; gap:10px; flex-wrap:wrap; margin:15px 0; }
.pickup-trend-filters label { display:grid; gap:5px; color:var(--muted); font-size:10px; }
.pickup-trend-filters input,.pickup-trend-filters select { height:39px; padding:0 10px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--ink); }
.pickup-trend-filters select { min-width:150px; max-width:230px; }
.pickup-trend-filters .button { min-height:39px; }
.pickup-trend-filter-note { margin:-5px 0 13px; color:var(--muted); font-size:11px; }
.pickup-trend-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.pickup-trend-card { min-width:0; padding:14px; border:1px solid #dbe6ed; border-radius:11px; background:#fff; }
.pickup-trend-card h4 { margin:0 0 8px; color:#1e4866; font-size:14px; }
.pickup-trend-plot svg { width:100%; height:auto; display:block; }
.pickup-trend-legend { display:flex; flex-wrap:wrap; gap:7px 13px; max-height:76px; overflow:auto; padding:8px 2px 0; border-top:1px solid #edf1f5; }
.pickup-trend-key { display:inline-flex; align-items:center; gap:5px; color:#5c7082; font-size:10px; white-space:nowrap; }
.pickup-trend-key i { width:8px; height:8px; border-radius:50%; }
.pickup-report-panel { margin:16px 0; border:1px solid #bfd2e4; background:linear-gradient(145deg,#fff 62%,#f4f9fc); }
.pickup-report-heading { align-items:center; }
.pickup-report-heading h3 { color:#123a5b; }
.pickup-report-heading .muted { margin:5px 0 0; }
.pickup-report-tag { padding:6px 10px; border-radius:20px; background:#dceef2; color:#196076; font-size:10px; font-weight:800; letter-spacing:.08em; white-space:nowrap; }
.pickup-report-controls { display:flex; flex-wrap:wrap; gap:10px; align-items:end; margin:18px 0; }
.pickup-report-controls label { display:flex; flex-direction:column; gap:6px; color:#637d92; font-size:10px; font-weight:700; }
.pickup-report-controls select { height:39px; padding:0 11px; border:1px solid #cbdbe8; border-radius:9px; background:#fff; color:#17334d; font-size:12px; }
.pickup-report-controls .button { min-height:39px; }
.pickup-report-preview { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.pickup-report-preview > div { padding:13px 15px; border:1px solid #d7e4eb; border-radius:11px; background:#fff; }
.pickup-report-preview span { display:block; color:#637d92; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.pickup-report-preview strong { display:block; margin:5px 0 2px; color:#153b58; font-size:23px; line-height:1.15; }
.pickup-report-preview small { color:#778ca0; font-size:10px; }
.pickup-report-preview > div:nth-child(1) { border-top:3px solid #168eaa; }
.pickup-report-preview > div:nth-child(2) { border-top:3px solid #39a883; }
.pickup-report-preview > div:nth-child(3) { border-top:3px solid #e9aa48; }
.pickup-report-preview > div:nth-child(4) { border-top:3px solid #df7180; }
.pickup-report-note { margin:12px 0 0; color:#637d92; font-size:10px; line-height:1.5; }
@media (max-width:900px) { .pickup-trend-grid { grid-template-columns:1fr; } }
@media (max-width:650px) { .pickup-report-preview { grid-template-columns:repeat(2,minmax(0,1fr)); } .pickup-report-controls .button { width:100%; } }
.pickup-metrics-filters input { width:100%; height:40px; padding:0 10px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--ink); }
.pickup-metrics-kpis { gap:10px; margin:16px 0 20px; }
.pickup-metrics-definition { margin:-5px 0 17px; padding:11px 14px; border-left:3px solid #318e9d; border-radius:0 8px 8px 0; background:#edf7fa; color:#456476; font-size:11px; line-height:1.6; }
.pickup-metrics-definition b { color:#183f5c; }
.pickup-metric-card { min-height:103px; box-shadow:none; }
.pickup-metric-card.pickup-metric-0 { background:#edf8f5; border-top-color:#25a177; }
.pickup-metric-card.pickup-metric-1 { background:#eef5fd; border-top-color:#3984cc; }
.pickup-metric-card.pickup-metric-2 { background:#fff7ee; border-top-color:#dc9840; }
.pickup-metric-card.pickup-metric-3 { background:#f5f6fb; border-top-color:#788ab0; }
.pickup-metrics-tables { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.pickup-metrics-tables > div:nth-child(n+3),.pickup-daily-details { grid-column:1 / -1; }
.pickup-metrics-tables h4 { margin:0 0 9px; font-size:13px; }
.pickup-metrics-tables h4 small { margin-left:5px; color:var(--muted); font-size:10px; font-weight:400; }
.pickup-metrics-tables table { min-width:780px; }
.pickup-metrics-tables > div { min-width:0; }
.pickup-metrics-tables > div > .table-wrap { max-height:290px; }
.pickup-metrics-tables th { background:#f3f6fa; color:#486078; }
.pickup-metrics-tables tbody tr:nth-child(even) { background:#f9fbfd; }
.pickup-metrics-tables td.pickup-rate-high { color:#177654; font-weight:800; background:#e9f7ef; }
.pickup-metrics-tables td.pickup-rate-mid { color:#9a6415; font-weight:800; background:#fff5dc; }
.pickup-metrics-tables td.pickup-rate-low { color:#b34450; font-weight:800; background:#fdecef; }
.pickup-metrics-tables td.pickup-unreached { color:#a14e37; font-weight:700; }
.pickup-reasons { padding:15px 16px; border:1px solid var(--line); border-radius:10px; background:#fbfcfe; }
.pickup-reason-note { margin:0 0 12px; color:var(--muted); font-size:10px; line-height:1.55; }
.pickup-attribution-panel,.pickup-outside-panel { min-width:0; padding:15px 16px; border:1px solid var(--line); border-radius:10px; background:#fbfcfe; }
.pickup-attribution-content { display:grid; grid-template-columns:160px minmax(0,1fr); align-items:center; gap:18px; min-height:190px; }
.pickup-attribution-pie { width:160px; height:160px; overflow:visible; }
.pickup-attribution-breakdown { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; width:100%; }
.pickup-attribution-card { min-width:0; padding:11px; border:1px solid #eadce1; border-top:3px solid #c85669; border-radius:9px; background:#fff8f9; }
.pickup-attribution-card.store { border-color:#d8e9e1; border-top-color:#21947b; background:#f5fbf8; }
.pickup-attribution-heading { display:grid; gap:5px; color:#a33d50; font-size:11px; font-weight:700; }
.pickup-attribution-heading strong { color:#1c3449; font-size:13px; }
.pickup-attribution-card.store .pickup-attribution-heading { color:#18846b; }
.pickup-attribution-sub { display:grid; gap:3px; margin-top:10px; padding-top:8px; border-top:1px solid #efdee3; color:#637a8c; font-size:10px; }
.pickup-attribution-sub strong { color:#ab4558; font-size:11px; }
.pickup-attribution-card p,.pickup-attribution-unknown { margin:10px 0 0; color:var(--muted); font-size:10px; line-height:1.45; }
.pickup-attribution-unknown { grid-column:1 / -1; }
@media (max-width:700px) { .pickup-attribution-content { grid-template-columns:1fr; justify-items:center; } .pickup-attribution-breakdown { grid-template-columns:1fr 1fr; } }
.pickup-outside-panel .table-wrap { max-height:230px; }
.pickup-reason-list { display:grid; gap:12px; max-height:350px; overflow:auto; }
.pickup-reason-row { display:grid; gap:5px; padding:10px 12px; border:1px solid #e7edf3; border-radius:9px; background:#fff; }
.pickup-reason-title { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#263f55; font-size:12px; }
.pickup-reason-label { display:flex; justify-content:space-between; gap:12px; font-size:11px; }
.pickup-reason-label b { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pickup-reason-label span { color:var(--muted); white-space:nowrap; }
.pickup-reason-track { height:7px; overflow:hidden; border-radius:999px; background:#edf1f5; }
.pickup-reason-track span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#e7a149,#d97654); }
.pickup-reason-track.store span { background:linear-gradient(90deg,#1991a6,#2e71bc); }
.pickup-reason-track.parcel span { background:linear-gradient(90deg,#dc8d43,#c85562); }
.pickup-daily-details { border-top:1px solid var(--line); padding-top:12px; }
.pickup-daily-details summary { width:max-content; cursor:pointer; color:#275478; font-size:12px; font-weight:700; }
.pickup-daily-details[open] summary { margin-bottom:12px; }
.pickup-daily-details p { margin-bottom:0; font-size:11px; }
.pickup-repeat-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:17px 0 8px; }
.pickup-repeat-heading h4 { margin:0; color:#a73e53; font-size:14px; }
.pickup-repeat-heading span { color:var(--muted); font-size:11px; }
.pickup-repeat-wrap { max-height:340px; border:1px solid var(--line); border-radius:9px; }
.pickup-repeat-wrap th { background:#fbeef1; color:#7b3b4a; }
.pickup-repeat-wrap tbody tr:nth-child(even) { background:#fff9fa; }
.pickup-repeat-wrap .pickup-streak-count { color:#b34450; font-weight:800; }
.pickup-metrics-method { margin:18px 0 0; padding-top:12px; border-top:1px solid var(--line); color:var(--muted); font-size:11px; line-height:1.5; }
.pickup-metrics-daily { max-height:360px; }
.pickup-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:9px; }
.pickup-dsp-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:14px 0; }
.pickup-dsp-tab { padding:8px 12px; border:1px solid var(--line); border-radius:999px; background:#fff; color:var(--ink); font:600 11px inherit; cursor:pointer; }
.pickup-dsp-tab.active { border-color:#1f4f78; background:#1f4f78; color:#fff; }
.pickup-capture-card { overflow:hidden; margin-bottom:16px; border:1px solid #b7c9dc; background:#fff; box-shadow:var(--shadow); }
.pickup-capture-wrap { overflow:auto; }
.pickup-table { width:max-content; min-width:100%; border-collapse:collapse; font:500 11px Arial,sans-serif; color:#111; table-layout:fixed; }
.pickup-table th,.pickup-table td { height:36px; padding:6px 8px; border:1px solid #c8d5e3; text-align:center; vertical-align:middle; white-space:normal; overflow-wrap:anywhere; }
.pickup-table th { background:#2f75b5; color:#fff; font-weight:700; }
.pickup-table th:nth-child(1),.pickup-table td:nth-child(1) { width:92px; }
.pickup-table th:nth-child(2),.pickup-table td:nth-child(2) { width:82px; }
.pickup-table th:nth-child(3),.pickup-table td:nth-child(3) { width:150px; }
.pickup-table th:nth-child(4),.pickup-table td:nth-child(4) { width:126px; }
.pickup-table th:nth-child(5),.pickup-table td:nth-child(5) { width:170px; }
.pickup-table th:nth-child(6),.pickup-table td:nth-child(6) { width:130px; }
.pickup-table th:nth-child(7),.pickup-table td:nth-child(7) { width:176px; }
.pickup-table th:nth-child(8),.pickup-table td:nth-child(8) { width:180px; }
.pickup-table th:nth-child(9),.pickup-table td:nth-child(9) { width:142px; }
.pickup-table th:nth-child(10),.pickup-table td:nth-child(10) { width:112px; }
.pickup-table th:nth-child(11),.pickup-table td:nth-child(11) { width:116px; }
.pickup-table th:nth-child(12),.pickup-table td:nth-child(12) { width:160px; }
.pickup-table td.pickup-result-failed { background:#fce5cd; color:#9a4f06; font-weight:700; }
.pickup-table td.pickup-result-none { background:#f4cccc; color:#990000; font-weight:700; }
.pickup-table td.time-before { background:#fff2cc; color:#7f6000; font-weight:700; }
.pickup-table td.time-after { background:#e2f0d9; color:#375623; font-weight:700; }
.pickup-table td.time-within { background:#fce8e6; color:#a61c00; font-weight:700; }
.pickup-sync-state { display:inline-flex; align-items:center; gap:6px; }
.pickup-sync-state::before { content:''; width:7px; height:7px; border-radius:50%; background:#d89d2b; }
.pickup-sync-state.ready::before { background:#2b9a72; }
.pickup-sync-state.error::before { background:#c44737; }
.history-filter-panel { display: grid; gap: 18px; }
.history-filters { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: 12px; }
.history-filters label { display: grid; gap: 5px; color: var(--muted); font-size: 10px; }
.history-filters input, .history-filters select { width: 100%; height: 40px; padding: 0 10px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink); }
.history-range-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.history-range-summary .summary-chip { background: #f8fafc; }
.history-chart { min-height: 280px; display: flex; align-items: flex-end; gap: 14px; padding: 26px 12px 4px; border-bottom: 1px solid var(--line); overflow-x: auto; }
.history-column { min-width: 70px; flex: 0 0 70px; height: 230px; display: grid; grid-template-rows: 1fr auto; gap: 8px; text-align: center; }
.history-bar-space { display: flex; align-items: flex-end; justify-content: center; }
.history-bar { width: min(48px, 70%); min-height: 3px; border-radius: 7px 7px 0 0; background: linear-gradient(180deg, #4d84df, var(--navy-2)); position: relative; }
.history-bar span { position: absolute; top: -23px; left: 50%; transform: translateX(-50%); font: 700 12px Barlow, sans-serif; }
.history-label { font: 500 11px Barlow, sans-serif; color: var(--muted); }
.capacity-hero { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:15px; padding:28px 30px; border-radius:16px; color:#fff; background:linear-gradient(115deg,#17395c,#205b7e 68%,#397e8d); box-shadow:var(--shadow); }
.capacity-hero h2 { margin:8px 0 8px; font-size:27px; }
.capacity-hero p:last-child { max-width:690px; margin:0; color:#d7e9f1; font-size:12px; line-height:1.65; }
.capacity-hero .section-number { color:#a6cbde; }
.capacity-hero-actions { display:flex; gap:9px; flex:0 0 auto; }
.capacity-hero-actions .button { border-color:rgba(255,255,255,.36); background:rgba(255,255,255,.12); color:#fff; white-space:nowrap; }
.capacity-hero-actions .button.primary { background:#fff; border-color:#fff; color:#194568; }
.capacity-status { padding:11px 15px; margin:0 0 12px; border-radius:10px; border:1px solid #bad9e6; background:#edf7fb; color:#2b6077; font-size:11px; line-height:1.5; }
.capacity-status.error { border-color:#fac5c5; background:#fff0f0; color:#ad3434; }
.capacity-source-note { display:flex; gap:12px 20px; flex-wrap:wrap; margin-bottom:16px; color:#6d8093; font-size:11px; }
.capacity-source-note span { display:inline-flex; align-items:center; gap:6px; }
.capacity-source-dot { display:inline-block; width:8px; height:8px; border-radius:50%; }
.capacity-source-dot.ofd { background:#237cac; }.capacity-source-dot.sheet { background:#8e9bad; }
.capacity-filters { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:16px; }
.capacity-filters label,.capacity-chart-range { display:grid; gap:6px; color:var(--muted); font-size:11px; }
.capacity-filters select,.capacity-chart-range select { width:100%; min-height:38px; border:1px solid var(--line); border-radius:8px; background:#fff; color:#1c2e45; padding:7px 10px; }
.capacity-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:16px; }
.capacity-kpi { display:grid; gap:7px; padding:18px 20px; border:1px solid #d8e5f2; border-top:3px solid #4087d1; border-radius:11px; background:#fff; box-shadow:var(--shadow); }
.capacity-kpi-1 { border-top-color:#17a881; }.capacity-kpi-2 { border-top-color:#ef9d28; }.capacity-kpi-3 { border-top-color:#7767ca; }
.capacity-kpi span { color:var(--muted); font-size:12px; }.capacity-kpi strong { font:700 26px Barlow,sans-serif; color:#182c47; }.capacity-kpi small { font-size:11px; color:var(--muted); line-height:1.4; }
.capacity-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:14px; margin-bottom:16px; }
.capacity-chart-panel { min-width:0; }
.capacity-chart-range { min-width:120px; }
.capacity-trend svg { display:block; width:100%; height:auto; min-height:205px; }
.capacity-trend-foot { display:flex; justify-content:space-between; padding:2px 10px 0 46px; color:#6f8397; font-size:11px; }
.capacity-trend-foot strong { color:#155c88; }
.capacity-bar { display:grid; grid-template-columns:39px minmax(0,1fr) 52px; align-items:center; gap:8px; margin:11px 0; font:700 11px Barlow,sans-serif; }
.capacity-bar-track { height:10px; background:#eaf0f7; border-radius:99px; overflow:hidden; }.capacity-bar-track i { display:block; height:100%; border-radius:99px; }
.capacity-bar small { grid-column:2 / 4; margin-top:-6px; color:#7b8b9d; font-size:10px; font-weight:400; }
.capacity-pill { display:inline-block; min-width:51px; padding:4px 7px; border-radius:6px; font-weight:700; text-align:center; }
.capacity-bar-track .good,.capacity-pill.good { background:#dff5e9; color:#168459; }.capacity-bar-track .good { background:#25a776; }
.capacity-bar-track .watch,.capacity-pill.watch { background:#fff0ca; color:#a96a0b; }.capacity-bar-track .watch { background:#efae35; }
.capacity-bar-track .low,.capacity-pill.low { background:#ffe3e1; color:#bb4a43; }.capacity-bar-track .low { background:#e56d64; }
.capacity-bar strong.good { color:#168459; }.capacity-bar strong.watch { color:#a96a0b; }.capacity-bar strong.low { color:#bb4a43; }
.capacity-dsp-bar { grid-template-columns:minmax(100px,145px) minmax(0,1fr) 66px; }
.capacity-dsp-bar b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.capacity-dsp-bar strong { text-align:right; white-space:nowrap; }
.capacity-dsp-bar small { text-align:right; }
.capacity-volume-trend { display:grid; gap:8px; padding-top:4px; }
.capacity-volume-row { display:grid; grid-template-columns:38px minmax(0,1fr) 62px; gap:8px; align-items:center; color:#61758a; font:600 11px Barlow,sans-serif; }
.capacity-volume-row b { text-align:right; color:#263e57; }
.capacity-volume-track { height:12px; overflow:hidden; border-radius:99px; background:#edf2f7; }
.capacity-volume-track > i { display:block; height:100%; border-radius:99px; background:#e3a967; }
.capacity-volume-track em { display:block; height:100%; border-radius:99px; background:#258bad; }
.capacity-source { display:inline-block; padding:3px 8px; border-radius:99px; font-size:10px; font-weight:700; white-space:nowrap; }
.capacity-source.ofd { background:#e1f2fa; color:#1b6d95; }.capacity-source.sheet { background:#edf0f4; color:#67778b; }
.capacity-table-panel { margin-bottom:16px; }.capacity-table-panel .table-wrap { max-height:530px; overflow:auto; }
.toast { position: fixed; right: 24px; bottom: 24px; z-index: 99; max-width: 360px; padding: 12px 16px; border-radius: 10px; background: #162941; color: #fff; box-shadow: var(--shadow); opacity: 0; pointer-events: none; transform: translateY(12px); transition: opacity .18s, transform .18s; }
.toast.show { opacity: 1; transform: translateY(0); }
.mobile-menu { display: none; }
body.sidebar-collapsed .sidebar { width: 76px; }
body.sidebar-collapsed .main-content { margin-left: 76px; }
body.sidebar-collapsed .brand-copy, body.sidebar-collapsed .nav-item > span:not(.nav-index), body.sidebar-collapsed .nav-item em, body.sidebar-collapsed .sidebar-footer span:last-child, body.sidebar-collapsed .nav-badge { display: none; }
body.sidebar-collapsed .brand { justify-content: center; padding-inline: 0; }
body.sidebar-collapsed .nav-item { justify-content: center; padding-inline: 0; }
body.sidebar-collapsed .nav-index { width: auto; flex-basis: auto; }
body.sidebar-collapsed .sidebar-cloud { display:none; }
@media (max-width: 980px) {
  .capacity-grid { grid-template-columns: 1fr; } .capacity-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); } .capacity-hero { align-items:flex-start; flex-direction:column; }
  .ofd-upload-grid { grid-template-columns:1fr; }
  .workflow-list { grid-template-columns: repeat(2, 1fr); }
  .content-grid.two-one { grid-template-columns: 1fr; }
  .kpi-grid { grid-template-columns: repeat(2, 1fr); }
  .explanation-card { grid-template-columns: 1fr; }
  .response-controls { align-items: flex-start; flex-direction: column; }
  .response-controls p { text-align: left; }
  .history-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cloud-backup-panel { grid-template-columns:1fr; }
  .cloud-actions { justify-content:flex-start; }
  .cloud-safety-controls { grid-template-columns:1fr; }
  .dnr-upload-grid { grid-template-columns:1fr; }
  .dnr-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .volume-export-grid { grid-template-columns:1fr; }
  .pickup-upload-grid { grid-template-columns:1fr; }
  .pickup-metrics-tables { grid-template-columns:1fr; }
  .pickup-metrics-tables > div:nth-child(n+3),.pickup-daily-details { grid-column:auto; }
  .pickup-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pickup-connection-guide { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pickup-connection-fields { grid-template-columns:1fr; }
}
@media (max-width: 760px) {
  .sidebar { transform: translateX(-105%); width: 244px; }
  body.mobile-nav-open .sidebar { transform: translateX(0); }
  .main-content, body.sidebar-collapsed .main-content { margin-left: 0; }
  .mobile-menu { display: block; }
  .collapse-button { display: none; }
  .topbar { padding: 14px 16px; }
  .topbar-actions { gap: 6px; }
  .source-pill { display: none; }
  .view { padding: 18px 14px 40px; }
  .pickup-connection-guide { grid-template-columns:1fr; }
  .pickup-connection-actions { align-items:stretch; flex-direction:column; }
  .pickup-connection-actions small { margin:0 0 4px; }
  .hero-panel { align-items: stretch; flex-direction: column; padding: 24px; }
  .upload-cta { flex-basis: auto; width: 100%; }
  .file-card { grid-template-columns: 1fr auto; }
  .file-card-meta { grid-column: 1; grid-row: 2; }
  .file-remove { grid-column: 2; grid-row: 1 / span 2; }
  .section-toolbar { align-items: flex-start; flex-direction: column; }
  .toolbar-buttons { width: 100%; }
  .toolbar-buttons .button { flex: 1; }
  .explanation-summary { grid-template-columns: repeat(2, 1fr); }
  .fleet-bar-row { grid-template-columns: minmax(100px, 1fr) minmax(100px, 2fr) 64px; }
  .bar-miss { display: none; }
}
@media (max-width: 520px) {
  .capacity-filters,.capacity-kpis { grid-template-columns: 1fr; }
  .capacity-hero { padding:22px; }.capacity-hero-actions { width:100%; flex-wrap:wrap; }.capacity-hero-actions .button { flex:1; text-align:center; }
  .overview-heading { align-items:flex-end; }
  .file-library-mini #fileLibrarySummary { display:none; }
  .file-library-popover .file-card { grid-template-columns:minmax(0,1fr) auto; }
  .kpi-grid, .workflow-list { grid-template-columns: 1fr; }
  .topbar h1 { font-size: 18px; }
  .date-control { height: 40px; }
  .filter-group, .filter-group label, .filter-group select { width: 100%; }
  .panel-heading { align-items: flex-start; flex-direction: column; }
  .file-library-actions { width: 100%; justify-content: space-between; }
  .history-filters, .history-range-summary { grid-template-columns: 1fr; }
  .dnr-upload-panel { align-items:stretch; flex-direction:column; }
  .upload-cta.compact { min-width:0; width:100%; flex-basis:auto; }
  .dnr-filters { grid-template-columns:1fr; }
  .dnr-file-card { grid-template-columns:minmax(0,1fr) auto; }
  .dnr-file-card small { grid-column:1; }
  .volume-hero { align-items:flex-start; flex-direction:column; }
  .volume-hero-chips { justify-content:flex-start; }
  .volume-upload-grid { grid-template-columns:1fr; }
  .pickup-upload-panel { align-items:stretch; flex-direction:column; }
  .pickup-storage-note { align-items:flex-start; flex-wrap:wrap; }
  .pickup-storage-note .text-button { margin-left:37px; }
  .pickup-anomaly-kpis,.pickup-metrics-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pickup-file-card { grid-template-columns:minmax(0,1fr) auto; }
  .pickup-file-card small { grid-column:1; }
  .pickup-filters { grid-template-columns:1fr; }
  .pickup-actions { justify-content:stretch; }
  .pickup-actions .button { flex:1 1 100%; }
}
@media print {
  .sidebar, .topbar, .section-toolbar, .toolbar-buttons, .search-box, .switch-label, .button-help-dot, .button-help-tooltip { display: none !important; }
  .main-content { margin: 0 !important; }
  .view { display: block !important; padding: 0; }
  .view:not(.active) { display: none !important; }
  .panel { box-shadow: none; break-inside: avoid; }
}
.pickup-volume-date-note{margin:0 0 16px;padding:12px 16px;border:1px solid #c7dcec;border-radius:12px;background:#eef7fc;color:#315b75;font-size:12px}
.pickup-volume-merchant-panel{margin-bottom:16px;border-top:3px solid #9568b2}.pickup-volume-merchant-filters,.driver-progress-capture-controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:12px}.pickup-volume-merchant-filters label,.driver-progress-capture-controls label{display:grid;gap:5px;min-width:130px;color:#64788b;font-size:11px}.pickup-volume-merchant-filters input:not([type=checkbox]),.pickup-volume-merchant-filters select,.driver-progress-capture-controls select{min-height:36px;padding:8px 10px;border:1px solid #d3e0e9;border-radius:8px;background:#fff;color:#22354a}.pickup-volume-merchant-filters label:nth-child(2){flex:1 1 200px}.pickup-volume-merchant-toggle{display:flex!important;flex-direction:row;align-items:center;gap:7px;padding-bottom:9px;color:#385367!important}.pickup-volume-merchant-notice{margin:0 0 10px;color:#64788b;font-size:11px}.pickup-volume-merchant-panel .pickup-volume-sc-table{min-width:920px}.pickup-volume-merchant-panel .pickup-volume-sc-table td:nth-child(2){max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pickup-volume-merchant-panel .pickup-volume-sc-table td:nth-child(2) small{display:block;color:#75889a}.pickup-volume-merchant-panel .pickup-volume-sc-table td:nth-child(1),.pickup-volume-merchant-panel .pickup-volume-sc-table td:nth-child(2),.pickup-volume-merchant-panel .pickup-volume-sc-table td:nth-child(6),.pickup-volume-merchant-panel .pickup-volume-sc-table td:nth-child(7){text-align:left}.driver-progress-capture-panel{margin-bottom:20px;border-top:3px solid #5789b4}.driver-progress-capture-controls{margin-bottom:0}.driver-progress-capture-controls label{flex:1 1 220px}.driver-progress-capture-controls select{max-width:340px}
.pickup-volume-merchant-panel .pickup-volume-sc-table th:nth-child(2),.pickup-volume-merchant-panel .pickup-volume-sc-table th:nth-child(6),.pickup-volume-merchant-panel .pickup-volume-sc-table th:nth-child(7){text-align:left}
.pickup-volume-merchant-panel .pickup-volume-merchant-table{min-width:1160px}
.pickup-volume-merchant-table th:nth-child(8),.pickup-volume-merchant-table td:nth-child(8){text-align:left}
.pickup-volume-merchant-table td:nth-child(6),.pickup-volume-merchant-table td:nth-child(7),.pickup-volume-merchant-table td:nth-child(8){min-width:135px;text-align:left}
.pickup-volume-merchant-table td small{display:block;color:#70869a;font-size:10px;line-height:1.5}
.pickup-volume-merchant-table .pickup-volume-filter-row th{padding:6px;background:#e9f2fa}
.pickup-volume-filter-row input,.pickup-volume-filter-row select{width:100%;min-width:72px;height:29px;padding:4px 6px;border:1px solid #cad9e7;border-radius:5px;background:#fff;color:#243e58;font-size:10px}
.pickup-volume-filter-row th:nth-child(2){min-width:180px}
.pickup-volume-filter-row th:nth-child(5){min-width:130px}
.pickup-volume-merchant-more{padding-top:10px}
.driver-progress-upload .upload-cta.compact{flex:0 0 auto;min-width:0;width:100%;min-height:76px;margin-top:10px;border-color:#90b9d3;background:#fff;color:#173a57}.driver-progress-upload .upload-cta.compact small{color:#687d8d}.driver-progress-layout{align-items:start}
.driver-report-control{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.driver-report-control label,.driver-progress-filters label{display:grid;gap:5px;color:#6b7f91;font-size:11px}.driver-report-control select,.driver-progress-filters select,.driver-progress-filters input{min-height:37px;padding:8px 10px;border:1px solid #d3e0e9;border-radius:9px;background:#fff;color:#22354a}.driver-progress-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:17px 0}.driver-progress-upload{display:flex;flex-direction:column;gap:12px;background:linear-gradient(135deg,#e8f4fd,#fff 72%);border-top:4px solid #2875a8}.driver-progress-upload>div>p{font-size:12px;color:#61788c}.driver-progress-upload .upload-cta{margin-top:auto;min-height:70px}.driver-progress-rule{border-top:4px solid #c45062;background:linear-gradient(135deg,#fff0f1,#fff 72%)}.driver-rule-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #eedde0;font-size:12px}.driver-rule-row span{font-weight:700;color:#ac3f52}.driver-rule-foot{margin:12px 0 0;color:#6c7888;font-size:11px;line-height:1.5}.driver-progress-filter-panel{margin:0 0 16px}.driver-progress-filter-panel .panel-heading{margin-bottom:13px}.driver-progress-filters{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:12px}.driver-progress-kpis{margin-bottom:16px}.driver-progress-kpis .kpi-card:nth-child(1){border-top:3px solid #c45062}.driver-progress-kpis .kpi-card:nth-child(2){border-top:3px solid #2875a8}.driver-progress-kpis .kpi-card:nth-child(3){border-top:3px solid #d2933b}.driver-progress-kpis .kpi-card:nth-child(4){border-top:3px solid #148b9c}.driver-progress-charts{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.driver-progress-charts .panel:first-child{border-top:3px solid #2875a8}.driver-progress-charts .panel:last-child{border-top:3px solid #c45062}.driver-chart-row{display:grid;grid-template-columns:minmax(90px,1fr) minmax(130px,2fr) 86px;gap:10px;align-items:center;padding:7px 0;font-size:11px}.driver-chart-row b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.driver-chart-track{height:10px;border-radius:8px;background:#e8eff4;overflow:hidden}.driver-chart-fill{display:block;height:100%;border-radius:8px;background:#c45062}.driver-chart-row:nth-child(2n) .driver-chart-fill{background:#d2933b}.driver-chart-row strong{text-align:right;color:#a94254;font-variant-numeric:tabular-nums}.driver-progress-table-panel{margin-bottom:20px}.driver-progress-table{width:100%;border-collapse:collapse;font-size:11px}.driver-progress-table th{background:#173a57;color:white;text-align:left;padding:10px 9px;white-space:nowrap}.driver-progress-table td{padding:9px;border-bottom:1px solid #e0e9ef}.driver-progress-table tbody tr:nth-child(even){background:#f5f8fa}.driver-progress-table td.numeric{text-align:right;font-variant-numeric:tabular-nums}.driver-progress-table .rate-bad{font-weight:700;color:#c45062}.driver-progress-table .rate-watch{font-weight:700;color:#b97724}.driver-progress-empty{padding:18px;color:#697d8e;font-size:12px}@media(max-width:900px){.driver-progress-layout,.driver-progress-charts{grid-template-columns:1fr}.driver-progress-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.driver-progress-table{min-width:790px}}@media(max-width:520px){.driver-progress-filters{grid-template-columns:1fr}.driver-report-control{width:100%}}
.pickup-volume-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}
.pickup-volume-upload{display:flex;flex-direction:column;gap:14px;min-height:210px;background:linear-gradient(145deg,#eef6ff 0%,#fff 72%);border-top:4px solid #4386c7}
.pickup-volume-upload.afternoon{background:linear-gradient(145deg,#edf9f4 0%,#fff 72%);border-top-color:#249c78}
.pickup-volume-upload .upload-cta{flex:0 0 auto;min-width:0;width:100%;min-height:70px;margin-top:auto}
.pickup-volume-upload p{margin:4px 0;color:#667a8d;font-size:12px}
.pickup-volume-file-list{display:grid;gap:6px;max-height:170px;overflow:auto}
.pickup-volume-file{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:7px 10px;border-radius:8px;background:#fff;border:1px solid #dde8ef;font-size:11px;min-width:0}
.pickup-volume-file span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pickup-volume-file button{border:0;background:transparent;color:#b44955;font-size:17px;cursor:pointer}
.pickup-volume-kpis{margin-bottom:16px}
.pickup-volume-kpis .kpi-card:nth-child(1){border-top:3px solid #4386c7}
.pickup-volume-kpis .kpi-card:nth-child(2){border-top:3px solid #249c78}
.pickup-volume-kpis .kpi-card:nth-child(3){border-top:3px solid #d39342}
.pickup-volume-kpis .kpi-card:nth-child(4){border-top:3px solid #6c8cb1}
.pickup-volume-insights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}
.pickup-volume-insight{min-width:0;min-height:215px;border-top:3px solid #347da8}
.pickup-volume-insight:nth-child(2){border-top-color:#d39342}
.pickup-volume-insight:nth-child(3){border-top-color:#249c78}
.pickup-volume-insight:nth-child(4){border-top-color:#6c8cb1}
.pickup-volume-insight .panel-heading{margin-bottom:17px}
.pickup-volume-snapshot-row{display:grid;grid-template-columns:40px minmax(0,1fr) 78px;gap:10px;align-items:center;margin:13px 0;font-size:12px;color:#405a6c}
.pickup-volume-snapshot-row b{text-align:right;font-variant-numeric:tabular-nums;color:#173a57}
.pickup-volume-simple-track{height:12px;overflow:hidden;border-radius:4px;background:#e8eff4}
.pickup-volume-simple-track i{display:block;height:100%;min-width:0;border-radius:4px;background:#2875a8}
.pickup-volume-simple-track i.afternoon{background:#148b9c}
.pickup-volume-simple-track i.up{background:#1d9a74}
.pickup-volume-simple-track i.down{background:#d15b6a}
.pickup-volume-insight-note{margin:17px 0 0;color:#6b7f90;font-size:11px;line-height:1.5}
.pickup-volume-movement-numbers{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pickup-volume-movement-numbers>div{display:grid;gap:3px;padding:9px 12px;border-radius:8px;background:#f2f7fa}
.pickup-volume-movement-numbers small,.pickup-volume-movement-numbers span{font-size:11px;color:#6b7f90}
.pickup-volume-movement-numbers strong{font-size:20px;font-variant-numeric:tabular-nums}
.pickup-volume-movement-track{display:flex;overflow:hidden;height:11px;margin-top:14px;border-radius:6px;background:#e8eff4}
.pickup-volume-movement-track span.up{background:#1d9a74}
.pickup-volume-movement-track span.down{background:#d15b6a}
.pickup-volume-region-row{display:grid;grid-template-columns:48px minmax(0,1fr) 78px;align-items:center;gap:9px;margin:9px 0;font-size:12px}
.pickup-volume-region-row>b{color:#244356}
.pickup-volume-region-row>strong{text-align:right;font-variant-numeric:tabular-nums}
.pickup-volume-movers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.pickup-volume-mover-group{min-width:0}
.pickup-volume-mover-group h4{margin:0 0 7px;font-size:12px}
.pickup-volume-mover-group h4.up{color:#1d9a74}
.pickup-volume-mover-group h4.down{color:#d15b6a}
.pickup-volume-mover-row{display:grid;grid-template-columns:minmax(0,1fr) 48px 37px;gap:5px;align-items:center;margin:9px 0;font-size:11px}
.pickup-volume-mover-row>span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#405a6c}
.pickup-volume-mover-row .pickup-volume-simple-track{height:8px}
.pickup-volume-mover-row>b{text-align:right;font-variant-numeric:tabular-nums}
.pickup-volume-chart-panel{margin-bottom:16px;border-top:3px solid #347da8}
.pickup-volume-chart-panel .panel-heading{margin-bottom:5px}
.pickup-volume-chart-key{display:flex;align-items:center;gap:6px;color:#64798b;font-size:11px;white-space:nowrap}
.pickup-volume-chart-key i{display:inline-block;width:9px;height:9px;border-radius:3px;background:#1d9a74}
.pickup-volume-chart-key i:nth-of-type(2){margin-left:9px;background:#d15b6a}
.pickup-volume-chart-note{margin:0 0 15px;color:#718397;font-size:11px}
.pickup-volume-chart{display:grid;gap:10px}
.pickup-volume-chart-row{display:grid;grid-template-columns:62px minmax(0,1fr) 124px;align-items:center;gap:12px;min-height:26px;font-size:12px}
.pickup-volume-chart-row>b{color:#244356}
.pickup-volume-chart-row>strong{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.pickup-volume-chart-row>strong small{font-size:11px;font-weight:500}
.pickup-volume-chart-track{position:relative;height:19px;border-radius:4px;background:linear-gradient(90deg,#fff3f4 0 49.8%,#d1dae2 49.8% 50.2%,#eff9f5 50.2% 100%)}
.pickup-volume-chart-bar{position:absolute;top:3px;height:13px;border-radius:3px;background:#1d9a74;left:50%}
.pickup-volume-chart-bar.down{left:auto;right:50%;background:#d15b6a}
.pickup-volume-chart-bar.same{display:none}
.pickup-volume-date-control{display:grid;gap:4px;color:#708195;font-size:11px}
.pickup-volume-date-control select{min-width:150px;padding:9px;border:1px solid #d2e0e9;border-radius:8px;background:#fff}
.pickup-volume-sc-table,.pickup-volume-route-table{width:100%;border-collapse:collapse;font-size:12px}
.pickup-volume-sc-table th,.pickup-volume-sc-table td,.pickup-volume-route-table th,.pickup-volume-route-table td{padding:10px 12px;border-bottom:1px solid #e0eaf0;text-align:right}
.pickup-volume-sc-table th:first-child,.pickup-volume-sc-table td:first-child,.pickup-volume-route-table th:first-child,.pickup-volume-route-table td:first-child{text-align:left}
.pickup-volume-sc-table th,.pickup-volume-route-table th{background:#173a57;color:#fff;font-weight:600}
.pickup-volume-route-table tbody tr:nth-child(even){background:#f5f9fc}
.pickup-volume-station{margin-top:12px}
.pickup-volume-station summary{display:flex;align-items:center;gap:12px;padding:11px 14px;background:#e9f2fa;color:#173a57;border-left:4px solid #2875a8;cursor:pointer;list-style:none}
.pickup-volume-station summary::-webkit-details-marker{display:none}
.pickup-volume-station summary span{margin-left:auto;font-size:12px}
.pickup-volume-station summary em{font-size:11px;font-style:normal;color:#2875a8;white-space:nowrap}
.pickup-volume-station[open] summary{background:#deedf8}
.pickup-volume-regional-panel{margin-bottom:16px;border-top:3px solid #238d69}
.pickup-volume-region-detail{margin-top:11px;border:1px solid #d8e7ec;border-radius:10px;overflow:hidden}
.pickup-volume-region-detail summary{display:flex;align-items:center;gap:16px;padding:13px 16px;cursor:pointer;list-style:none;background:#eef7f5;color:#173a57}
.pickup-volume-region-detail summary::-webkit-details-marker{display:none}
.pickup-volume-region-detail summary>b{font-size:15px;min-width:120px}
.pickup-volume-region-detail summary>span{margin-left:auto;font-size:12px;color:#607687}
.pickup-volume-region-detail summary>strong{min-width:120px;text-align:right;font-variant-numeric:tabular-nums}
.pickup-volume-region-detail[open] summary{background:#dff0ec}
.pickup-volume-region-body{padding:14px 16px 17px}
.pickup-volume-prior{margin:0 0 14px;color:#607687;font-size:12px;line-height:1.5}
.pickup-volume-prior:last-child{margin:12px 0 0}
.pickup-volume-region-tables{display:grid;grid-template-columns:1fr 1.15fr;gap:16px}
.pickup-volume-region-tables h4{margin:0 0 8px;color:#173a57;font-size:13px}
.pickup-volume-region-tables .pickup-volume-sc-table{font-size:11px}
.pickup-volume-region-tables .pickup-volume-sc-table th,.pickup-volume-region-tables .pickup-volume-sc-table td{padding:8px 9px;white-space:nowrap}
.volume-up{color:#16805b;font-weight:700}.volume-down{color:#be4b5e;font-weight:700}.volume-same{color:#64798b;font-weight:600}
.pickup-volume-empty{padding:32px;text-align:center;color:#718397}
@media(max-width:1000px){.pickup-volume-region-tables{grid-template-columns:1fr}}
@media(max-width:800px){.pickup-volume-region-detail summary{flex-wrap:wrap;gap:7px}.pickup-volume-region-detail summary>span{margin-left:0}.pickup-volume-region-detail summary>strong{margin-left:auto}}
@media(max-width:800px){.pickup-volume-upload-grid,.pickup-volume-insights{grid-template-columns:1fr}.pickup-volume-results{overflow-x:auto}.pickup-volume-sc-table,.pickup-volume-route-table{min-width:650px}.pickup-volume-chart-row{grid-template-columns:48px minmax(0,1fr) 102px;gap:7px}.pickup-volume-chart-row>strong small{display:block}}
.pickup-attribution-denominator{display:block;margin:0 0 6px;color:#8b6470;font-size:10px}
.button[hidden] { display:none !important; }
.ofd-trends-section{margin:0 0 20px}.ofd-trends-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:10px}.ofd-trends-heading h2{margin:4px 0 5px;color:#1c2940;font-size:21px}.ofd-trends-heading p:last-child{margin:0;color:#718298;font-size:12px}.ofd-trends-controls{display:flex;align-items:end;gap:9px;flex-wrap:wrap}.ofd-trends-controls label{display:grid;gap:5px;color:#677a8e;font-size:11px}.ofd-trends-controls input{min-height:36px;padding:7px 9px;border:1px solid #d2dfea;border-radius:8px;background:#fff;color:#22354a}.ofd-trends-controls button{min-height:36px;white-space:nowrap}.ofd-trends-note{margin:0 0 13px;color:#607488;font-size:11px}.ofd-trends-group-heading{display:flex;align-items:baseline;gap:10px;margin:13px 0 9px}.ofd-trends-group-heading h3{margin:0;color:#20314b;font-size:15px}.ofd-trends-group-heading span{color:#8390a2;font-size:11px}.ofd-trends-grid{display:grid;gap:12px}.ofd-trends-grid.sc{grid-template-columns:repeat(3,minmax(0,1fr))}.ofd-trends-grid.dsp{grid-template-columns:repeat(4,minmax(0,1fr))}.ofd-trends-grid>.empty-state{grid-column:1/-1}.ofd-mini-card{min-width:0;padding:15px 15px 12px;border:1px solid #dce6f0;border-left:4px solid var(--ofd-accent);border-radius:15px;background:#fff;box-shadow:0 2px 9px #1a365912}.ofd-mini-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.ofd-mini-top h4{min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#222744;font-size:14px}.ofd-mini-average{flex:none;color:#7c8599;font-size:11px;font-weight:700;white-space:nowrap}.ofd-mini-average strong{color:var(--ofd-accent);font-size:22px;letter-spacing:-.6px}.ofd-mini-meta{display:flex;justify-content:space-between;gap:7px;align-items:center;margin:6px 0 9px;color:#68778e;font-size:11px}.ofd-mini-meta>span{white-space:nowrap}.ofd-mini-change{font-weight:700}.ofd-mini-change.up{color:#049a65}.ofd-mini-change.down{color:#d33d5f}.ofd-mini-change.neutral{color:#7d8a9b}.ofd-mini-meta>b{padding:3px 7px;border-radius:14px;font-size:10px;white-space:nowrap}.ofd-mini-meta>b.good{background:#dbf7e8;color:#00925b}.ofd-mini-meta>b.bad{background:#fce7ec;color:#ce2352}.ofd-mini-scroll{overflow-x:auto;scrollbar-width:thin}.ofd-mini-bars{display:flex;gap:3px;min-width:max-content;border-bottom:1px solid #d9e2eb}.ofd-mini-day{display:flex;flex:0 0 37px;flex-direction:column;align-items:center;text-align:center;font-variant-numeric:tabular-nums}.ofd-mini-day>strong{height:15px;font-size:10px;line-height:15px}.ofd-mini-bar-space{position:relative;width:31px;height:65px;border-bottom:1px solid #e1e7ef}.ofd-mini-bar-space i{position:absolute;right:2px;bottom:0;left:2px;display:block;border-radius:3px 3px 0 0}.ofd-mini-day small{padding-top:4px;color:#77849a;font-size:10px}.ofd-mini-day em{padding:2px 0 4px;font-size:10px;font-style:normal;font-weight:700;color:#8c97a7}.ofd-mini-day em.good{color:#009a61}.ofd-mini-day em.bad{color:#d32755}@media(max-width:1250px){.ofd-trends-grid.dsp{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:950px){.ofd-trends-grid.sc,.ofd-trends-grid.dsp{grid-template-columns:repeat(2,minmax(0,1fr))}.ofd-trends-heading{align-items:start;flex-direction:column}}@media(max-width:620px){.ofd-trends-grid.sc,.ofd-trends-grid.dsp{grid-template-columns:1fr}.ofd-trends-controls{width:100%}.ofd-trends-controls label{flex:1 1 115px}.ofd-trends-controls input{width:100%}}

/* OFD trend cards: five aligned columns on wide screens, with flexible day bars. */
.ofd-trends-grid.sc,.ofd-trends-grid.dsp{grid-template-columns:repeat(5,minmax(0,1fr))}
.ofd-mini-card{padding:14px 13px 11px;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);box-shadow:0 4px 13px rgba(28,55,85,.07);transition:transform .16s ease,box-shadow .16s ease}
.ofd-mini-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(28,55,85,.12)}
.ofd-mini-top{align-items:start;min-height:27px}
.ofd-mini-top h4{margin-top:2px;line-height:1.25}
.ofd-mini-average strong{font-size:20px}
.ofd-mini-meta{display:grid;grid-template-columns:minmax(0,1fr);gap:5px;min-height:40px;margin:5px 0 9px}
.ofd-mini-meta>span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.ofd-mini-meta>b{justify-self:start}
.ofd-mini-bars{display:grid;grid-template-columns:repeat(var(--ofd-days),minmax(0,1fr));gap:2px;width:100%;border-bottom:1px solid #d9e2eb}
.ofd-mini-day{min-width:0;flex:none}
.ofd-mini-day>strong{font-size:9px;letter-spacing:-.2px;white-space:nowrap}
.ofd-mini-bar-space{width:100%;max-width:30px;height:58px;margin:auto}
.ofd-mini-bar-space i{right:1px;left:1px}
.ofd-mini-day small,.ofd-mini-day em{font-size:9px}
@media(max-width:1650px){.ofd-trends-grid.sc,.ofd-trends-grid.dsp{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1400px){.ofd-trends-grid.sc,.ofd-trends-grid.dsp{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1050px){.ofd-trends-grid.sc,.ofd-trends-grid.dsp{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.ofd-trends-grid.sc,.ofd-trends-grid.dsp{grid-template-columns:1fr}}

/* Checkable SC and DSP filters on OFD analysis. */
#view-ofd .filter-group{align-items:flex-end}
.ofd-multi-field{display:grid;gap:4px;min-width:158px;color:var(--muted);font-size:10px}
.ofd-multi-field.dsp{min-width:206px}
.ofd-multi-filter{position:relative;color:var(--ink);font-size:12px}
.ofd-multi-filter summary{display:flex;align-items:center;justify-content:space-between;gap:10px;height:38px;padding:0 11px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer;list-style:none;outline-offset:2px}
.ofd-multi-filter summary::-webkit-details-marker{display:none}
.ofd-multi-filter summary span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ofd-multi-filter summary span:last-child{flex:none;color:#6c8198;font-size:16px;transition:transform .15s ease}
.ofd-multi-filter[open] summary{border-color:#7ca8dc;box-shadow:0 0 0 3px rgba(69,135,205,.1)}
.ofd-multi-filter[open] summary span:last-child{transform:rotate(180deg)}
.ofd-multi-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:50;width:max(100%,270px);padding:10px;border:1px solid #d5e1ed;border-radius:11px;background:#fff;box-shadow:0 16px 36px rgba(20,44,76,.18)}
.ofd-multi-field.dsp .ofd-multi-menu{width:max(100%,310px)}
.ofd-multi-menu-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;color:#657a90;font-size:11px}
.ofd-multi-menu-head button{padding:4px 20px 4px 6px;border:0;border-radius:5px;background:#edf4fc;color:#20598f;font-size:10px;font-weight:700;cursor:pointer;white-space:nowrap}
.ofd-multi-menu input[type=search]{width:100%;height:34px;padding:6px 9px;border:1px solid #d9e4ef;border-radius:7px;background:#f8fbfe;color:var(--ink);font-size:12px}
.ofd-multi-options{display:grid;gap:2px;max-height:250px;margin-top:7px;overflow-y:auto}
.filter-group .ofd-multi-option{display:flex;align-items:center;gap:8px;min-height:31px;padding:5px 7px;border-radius:6px;color:#253a53;font-size:12px;cursor:pointer}
.ofd-multi-option:hover{background:#f0f6fd}
.ofd-multi-option input{flex:none;width:15px;height:15px;margin:0;accent-color:#3176c2}
.ofd-multi-option span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ofd-multi-empty{margin:8px 4px;color:#8391a3;font-size:11px}
@media(max-width:680px){.ofd-multi-field,.ofd-multi-field.dsp{width:100%;min-width:0}.ofd-multi-menu,.ofd-multi-field.dsp .ofd-multi-menu{width:100%}}
