/* ============================================================================
   app-theme.css — 통합 관리 사이트 공통 디자인 시스템 (2026-09-07)
   shared-nav.js 가 모든 내부 페이지(<main>) 뒤에 로드합니다.
   페이지별 인라인/런타임 주입 스타일(일부 !important)을 덮는 "테마 레이어"라
   여기서도 !important 를 폭넓게 씁니다. 레이아웃/구조는 건드리지 않고
   색·타이포·버튼·카드·표·입력 등 "겉모습"만 하나로 통일합니다.

   색 방향:
   - Primary 액션 = 딥네이비(#151d2e) — 헤더와 한 가족, 차분하고 단정하게
   - Accent(강조) = 블루(#26314a) — 링크·포커스·선택된 필터에만 절제해서 사용
   - 나머지는 중립 회색 + 의미색(성공 green / 경고 amber / 위험 red)
   ========================================================================== */

:root{
  --yj-primary:#151d2e; --yj-primary-h:#26314a;
  --yj-accent:#26314a;  --yj-accent-h:#26314a; --yj-accent-tint:#eef1f5;
  --yj-ink:#151922; --yj-ink-2:#565c68; --yj-ink-3:#878d99;
  --yj-line:#e7e9ee; --yj-line-2:#eef0f3;
  --yj-surface:#f4f5f7; --yj-card:#ffffff;
  --yj-field:#eef0f4; --yj-field-h:#e6e8ee;
  /* 2026-10-12 디자인 정리: 모서리 판 16 · 단추·입력 8, 판은 그림자 없이 옅은 선 1px(떠 있는 판만 그림자) */
  --yj-radius:16px; --yj-radius-sm:8px;
  --yj-shadow:0 0 0 1px rgba(17,24,39,.08);
  --yj-shadow-lg:0 12px 32px rgba(17,24,39,.14);
  --yj-focus:0 0 0 3px rgba(21,29,46,0.14);
  /* 페이지들이 쓰는 기존 토큰도 새 팔레트로 재정의 */
  --blue:#26314a!important; --b:#26314a!important;
  --navy:#151922!important; --n:#151922!important;
  --ink:#151922!important; --muted:#565c68!important;
  --line:#e7e9ee!important; --key:#f4f5f8!important; --bg:#f6f7f8!important;
}

body{background:var(--yj-surface)!important}
main,#appMain{color:var(--yj-ink)}
[hidden]{display:none!important}

/* ── 공통 서체 : Pretendard (shared-nav.js 가 CDN 로드) ───────────────── */
html,body,button,input,select,textarea,
main,#appMain,main *,#appMain *,
.column-menu,.column-menu *,
.side-nav,.side-nav *,header,header *{
  font-family:Pretendard,"Pretendard Variable",-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Segoe UI",Roboto,sans-serif!important;
}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}

/* ── 타이포 ───────────────────────────────────────────────────────────── */
main h1,#appMain h1,.page-head h1{font-weight:750!important;letter-spacing:-.3px!important;color:var(--yj-ink)!important}
main h2:not(.iv-title),#appMain h2:not(.iv-title){font-weight:700!important;font-size:16px!important;letter-spacing:-.2px!important;color:var(--yj-ink)!important}
main h3,#appMain h3,main .section-title,#appMain .section-title{font-weight:700!important;letter-spacing:-.1px!important;color:var(--yj-ink)!important}
main .hint,#appMain .hint,main .table-note,#appMain .table-note,main .src,main .summary{color:var(--yj-ink-3)!important;font-weight:500!important}
main .fresh,#appMain .fresh{font-size:12px;color:var(--yj-ink-3);white-space:nowrap}
main a:not(.btn):not(.button):not(.page-head__action):not(.history-btn):not(.tab):not(.chipbtn){color:var(--yj-accent)}

/* ── 카드 · 패널 (보더리스: 테두리 0, 그림자로 경계) ─────────────────── */
main .card,#appMain .card,
main .panel,#appMain .panel,
main .upload-card,#appMain .upload-card,
main .metric,main .stat:not(.statline .stat),main article.card{
  background:var(--yj-card)!important;
  border:0!important;
  border-radius:var(--yj-radius)!important;
  box-shadow:var(--yj-shadow)!important;
}
main .card.accent,#appMain .card.accent{background:#eef1f7!important;border:0!important;box-shadow:none!important}
main .notice,#appMain .notice{background:#eef1f7!important;border:0!important;border-radius:var(--yj-radius)!important;color:var(--yj-ink-2)!important}

/* ── 도착관리 표 : 파랑끼 잔재 정리 ──────────────────────────────────── */
main th.dragover,#appMain th.dragover{background:#eef1f6!important;box-shadow:inset 3px 0 var(--yj-primary)!important}
main tbody tr:hover,#appMain tbody tr:hover{font-weight:400!important}
main tr.completed-row td,#appMain tr.completed-row td{background:#eef7f1!important}
main .columns label,#appMain .columns label,main .column-menu label{background:#fafbfc!important;border-color:var(--yj-line)!important}
/* 합계 스트립(도착관리) */
main .totals,#appMain .totals{border:0!important;border-radius:var(--yj-radius)!important;box-shadow:var(--yj-shadow)!important}
main .total,#appMain .total{border-right-color:var(--yj-line-2)!important}
main .total span,#appMain .total span{color:var(--yj-ink-3)!important;font-weight:600!important;font-size:12px!important;letter-spacing:0!important}
main .total strong,#appMain .total strong{color:var(--yj-ink)!important;font-weight:700!important}
/* 업로드 화면 부가 설명문 정리 */
main .upload-head p,#appMain .upload-head p,main .src,#appMain .src{display:none!important}

/* 미인수 건 KPI — 다른 카드와 동일하게(클릭만 가능) */
main #pendingCard,#appMain #pendingCard{cursor:pointer}

/* ── KPI / 숫자 타일 ─────────────────────────────────────────────────── */
main .metric strong,main .stat strong,main .kpi strong,main .card .amount,main .total strong,#appMain .metric strong{
  font-weight:750!important;letter-spacing:-.3px!important;color:var(--yj-ink)!important}
main .metric span,main .stat span,main .card .label,main .total span,#appMain .metric span{
  color:var(--yj-ink-2)!important;font-weight:600!important;letter-spacing:0!important}

/* ── 조회바 / 툴바 ───────────────────────────────────────────────────── */
main .filter,#appMain .filter,
main .toolbar,#appMain .toolbar,
main .segbar,#appMain .segbar,
main .filters,#appMain .filters{
  background:var(--yj-card)!important;
  border:0!important;
  border-radius:var(--yj-radius)!important;
  box-shadow:var(--yj-shadow)!important;
  background-image:none!important;
}
main .filter::before,#appMain .filter::before,
main .operations-filter-fixed::before,main .operations-filter-fixed::after{display:none!important}  /* "조회 조건"·"고정 조회" 라벨/글로우 제거 */
main .filter-row+.filter-row,#appMain .filter-row+.filter-row{border-top-color:var(--yj-line-2)!important}
main .filter-row .period-label,#appMain .filter-row .period-label{color:var(--yj-ink-2)!important;font-weight:700!important}
/* 스크롤 시 고정되는 조회바(운영현황) — 유리효과 걷어내고 평범한 카드로 */
main .operations-filter-fixed{
  background:var(--yj-card)!important;border:0!important;
  box-shadow:0 12px 32px rgba(17,24,39,.14)!important;backdrop-filter:none!important;border-radius:var(--yj-radius)!important}

/* ── 버튼 : 한 가지 규격 ─────────────────────────────────────────────────
   기본 <button> 은 secondary(흰 배경 + 테두리)로 두고, 진짜 주요 동작만
   primary(딥네이비)로 올린다. 아이콘/삭제용 미니 버튼은 따로 예외 처리. */
/* .iv-tab(청구서 거래처 탭)·.lgx-jump button(발송대장 날짜 시트 탭)은 화면이 스스로 모양을 갖고 있다.
   여기서 배경을 덮으면 '지금 고른 탭'이 안 고른 탭과 같은 회색이 되어 어느 거래처를 보는지 알 수 없다. */
main button:not(:is(.iv-tab,.lgx-jump button)),#appMain button:not(:is(.iv-tab,.lgx-jump button)),
main .btn,main .button,main .page-head__action,main a.page-head__action,main .history-btn,
#appMain .btn,#appMain .button{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:36px;padding:0 16px;
  border-radius:var(--yj-radius-sm)!important;
  border:1px solid transparent!important;
  font:600 13px/1 -apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Pretendard",sans-serif!important;
  letter-spacing:-.1px!important;
  background:var(--yj-field)!important;color:var(--yj-ink-2)!important;
  cursor:pointer;white-space:nowrap;
  transition:background .12s cubic-bezier(.2,.7,.2,1),border-color .12s cubic-bezier(.2,.7,.2,1),box-shadow .12s cubic-bezier(.2,.7,.2,1),transform .12s cubic-bezier(.2,.7,.2,1)!important;
  box-shadow:none!important;
}
main button:not(:is(.iv-tab,.lgx-jump button)):hover,#appMain button:not(:is(.iv-tab,.lgx-jump button)):hover,main .btn:hover,main .button:hover,
main .page-head__action:hover,main .history-btn:hover{
  background:var(--yj-field-h)!important;border-color:transparent!important;color:var(--yj-ink)!important}
main button:active,#appMain button:active,main .btn:active,main .button:active{transform:translateY(1px)}
main button:disabled,#appMain button:disabled,main .btn:disabled,main .button:disabled{
  opacity:.45!important;cursor:default!important;transform:none!important}

/* primary : 딥네이비 — 각 화면의 대표 동작(조회·업로드·저장·확정 등) */
main .btn.primary,main .button,main .btn-primary,
main #applyRange,main #save,main #apply,
main .column-menu .actions button:last-child,
#appMain .btn.primary,#appMain .button{
  background:var(--yj-primary)!important;color:#fff!important;border-color:var(--yj-primary)!important}
main .btn.primary:hover,main .button:hover,main #applyRange:hover,main #save:hover,main #apply:hover,
#appMain .btn.primary:hover,#appMain .button:hover{
  background:var(--yj-primary-h)!important;border-color:var(--yj-primary-h)!important;color:#fff!important}

/* quiet : 옅은 회색 필(도구·빠른선택·기간 프리셋) */
main .ghost,main .btn.ghost,main .quick,main .quick-range,main .chipbtn,
main .column-menu button,
#appMain .ghost,#appMain .quick,#appMain .chipbtn{
  background:#f1f2f5!important;color:#4a5060!important;border-color:transparent!important;height:32px!important;padding:0 12px!important}
main .ghost:hover,main .btn.ghost:hover,main .quick:hover,main .quick-range:hover,main .chipbtn:hover,
#appMain .ghost:hover,#appMain .quick:hover{background:#e8eaef!important;color:var(--yj-ink)!important}
/* 선택된 상태(사업장/기간/필터 칩) = accent 틴트 */
main .chipbtn.on,main .filter-row .quick.on,#appMain .chipbtn.on{
  background:var(--yj-accent-tint)!important;color:var(--yj-accent)!important;border-color:transparent!important}
/* 세그먼트 토글(차트 일자별/요일별 등) — 알약 하나(.seg-thumb)가 버튼들 뒤에서
   고른 칸으로 미끄러진다. 인사관리 화면의 .hr-seg 와 같은 생김새로 맞췄다. */
main .seg,#appMain .seg{position:relative;display:inline-flex;gap:2px;border:0!important;border-radius:var(--yj-radius-sm)!important;background:var(--yj-field)!important;padding:3px!important}
main .seg button,#appMain .seg button{position:relative;z-index:1;background:transparent!important;color:#4a5060!important;border-color:transparent!important;height:30px!important;padding:0 12px!important;border-radius:8px!important}
main .seg button:hover,#appMain .seg button:hover{background:transparent!important;color:var(--yj-ink)!important}
main .seg button.on,#appMain .seg button.on{background:transparent!important;color:#fff!important}
/* 알약이 붙지 않은 .seg 는 고른 칸 자체를 짙게(흰 글자만 떠 보이지 않게) — 2026-09-15 */
main .seg:not(.has-thumb) button.on,#appMain .seg:not(.has-thumb) button.on{background:var(--yj-primary)!important;border-radius:8px!important}
main .seg .seg-thumb,#appMain .seg .seg-thumb{position:absolute;top:3px;bottom:3px;left:3px;width:0;border-radius:8px;background:var(--yj-primary);transition:left .2s cubic-bezier(.2,.7,.2,1),width .2s cubic-bezier(.2,.7,.2,1);z-index:0}
/* 열머리 필터 화살표(▾) */
main .column-filter{height:auto!important;padding:0 4px!important;background:transparent!important;border:0!important;color:var(--yj-ink-3)!important}
main .column-filter.active{color:var(--yj-accent)!important}

/* danger : 위험 동작만 */
main .btn.danger,main .history-btn.delete,main .danger,#appMain .btn.danger{
  background:#fff!important;color:#c0392b!important;border-color:#ecc6c2!important}
main .btn.danger:hover,main .history-btn.delete:hover{background:#fdf3f2!important;border-color:#e0aaa3!important;color:#c0392b!important}

/* 성공/인쇄 강조 버튼(도착관리 "선택 영수증 인쇄") */
main #printSelected.print-highlight,main .print-highlight{
  background:#1f8f4e!important;color:#fff!important;border-color:#1f8f4e!important}
main #printSelected.print-highlight:hover,main .print-highlight:hover{background:#1a7a42!important;border-color:#1a7a42!important;color:#fff!important}

/* 탭(차량정비) : 선택 안 된 탭 = secondary, 선택된 탭 = 딥네이비 */
main .tabs button:not(.on){background:var(--yj-field)!important;color:var(--yj-ink-2)!important;border:1px solid transparent!important}
main .tabs button:not(.on):hover{background:var(--yj-field-h)!important;border-color:transparent!important;color:var(--yj-ink)!important}

/* 아이콘/삭제용 미니 버튼 : 테두리·배경 없이 */
/* 2026-10-13 디자인 통일: 옛 창 닫기 이름(.dialog-close·.arrival-detail-close·.pending-dialog__close)은 아무도 안 써서 뺌 — 창 닫기는 공용 .yj-pop-x */
main .itemrow-del,main .filechip button,main .dialog-head button,main .side-nav__close{
  background:transparent!important;border:0!important;color:var(--yj-ink-3)!important;height:auto!important;padding:2px 8px!important;box-shadow:none!important}
main .itemrow-del:hover{background:#f0f1f4!important;color:var(--yj-ink)!important}

/* ── 입력 ────────────────────────────────────────────────────────────── */
main input:not(:is(.lgx-t,.lgx-s,.iv-t,.iv-me,.iv-amt,.iv-to) input),main select,main textarea,main .searchbox,main .editcell,
#appMain input:not(:is(.lgx-t,.lgx-s,.iv-t,.iv-me,.iv-amt,.iv-to) input),#appMain select,#appMain textarea{
  border:1px solid transparent!important;border-radius:var(--yj-radius-sm)!important;
  background:var(--yj-field)!important;color:var(--yj-ink)!important;
  transition:background .12s cubic-bezier(.2,.7,.2,1),border-color .12s cubic-bezier(.2,.7,.2,1),box-shadow .12s cubic-bezier(.2,.7,.2,1)!important}
main input:not(:is(.lgx-t,.lgx-s,.iv-t,.iv-me,.iv-amt,.iv-to) input):focus,main select:focus,main textarea:focus,main .searchbox:focus,main .editcell:focus,
#appMain input:not(:is(.lgx-t,.lgx-s,.iv-t,.iv-me,.iv-amt,.iv-to) input):focus,#appMain select:focus,#appMain textarea:focus{
  outline:0!important;background:#fff!important;border-color:var(--yj-accent)!important;box-shadow:var(--yj-focus)!important}

/* ── 문서형 표는 공통 규칙에서 뺀다 (2026-09-27) ──────────────────────
   아래 '표'·'입력'·'보더리스' 규칙은 목록·카드 화면을 단정하게 만들려고
   테두리를 지우고 입력칸을 회색 알약으로 바꾼다. 그런데 노선배차표의
   발송대장(.lgx-t/.lgx-s)과 청구서(.iv-t/.iv-me/.iv-amt/.iv-to)는 엑셀·인쇄 서류를
   그대로 옮긴 표라, 격자선과 칸 모양 자체가 내용이다. 공통 규칙이 덮어쓰면
   격자가 사라지고 칸마다 둥근 알약이 생겨 '스프레드시트'가 '설문지'로 보인다.
   그래서 이 표들 안은 건드리지 않고, 화면이 적어 둔 값이 그대로 나오게 둔다.
   (배차표 table.g 는 dispatch.html 이 직접 되살리고 있다 — 같은 취지)

   ── 표 ──────────────────────────────────────────────────────────────── */
main table:not(:is(.lgx-t,.lgx-s,.iv-t,.iv-me,.iv-amt,.iv-to)),#appMain table:not(:is(.lgx-t,.lgx-s,.iv-t,.iv-me,.iv-amt,.iv-to)){border-color:var(--yj-line-2)!important}
main th:not(:is(.lgx-t,.lgx-s,.iv-t,.iv-me,.iv-amt,.iv-to) th),#appMain th:not(:is(.lgx-t,.lgx-s,.iv-t,.iv-me,.iv-amt,.iv-to) th),main .table th{
  background:#fafafb!important;color:var(--yj-ink-3)!important;
  font-weight:650!important;font-size:12px!important;letter-spacing:.01em!important;
  border-bottom:1px solid var(--yj-line)!important;border-right:0!important}
main td:not(:is(.lgx-t,.lgx-s,.iv-t,.iv-me,.iv-amt,.iv-to) td),#appMain td:not(:is(.lgx-t,.lgx-s,.iv-t,.iv-me,.iv-amt,.iv-to) td),main .table td{border-color:var(--yj-line-2)!important;border-right:0!important}
main tbody tr:hover td:not(:is(.lgx-t,.lgx-s,.iv-t,.iv-me,.iv-amt,.iv-to) td),#appMain tbody tr:hover td:not(:is(.lgx-t,.lgx-s,.iv-t,.iv-me,.iv-amt,.iv-to) td){background:#f8f9fb!important;font-weight:inherit!important}
main .table,#appMain .table,main .totals,#appMain .totals,
main .upload-history-table-wrap,#appMain .upload-history-table-wrap{
  border:0!important;border-radius:var(--yj-radius)!important;box-shadow:var(--yj-shadow)!important}
main .tablescroll,#appMain .tablescroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
main .table th::before{color:var(--yj-ink-3)!important}                          /* 드래그 핸들(⠿) 톤 다운 */

/* ── 뱃지 · 알약 ─────────────────────────────────────────────────────── */
main .badge,main .pill,main .chip,main .upload-type,#appMain .badge,#appMain .pill{
  border-radius:999px!important;font-weight:650!important;font-size:12px!important;letter-spacing:0!important}
main .upload-type,#appMain .upload-type{background:var(--yj-accent-tint)!important;color:var(--yj-accent)!important}
main .pill{background:#e9f6ef!important;color:#177a48!important}

/* ── 차트 : 헤더와 같은 딥네이비 계열 (파랑 제거) ──────────────────── */
main .bar,#appMain .bar{
  background:#22304a!important;background-image:none!important;
  border:0!important;box-shadow:none!important;border-radius:4px 4px 2px 2px!important}
main .bar:hover,#appMain .bar:hover{background:#0f1826!important;filter:none!important;transform:none!important}
main .bar span,#appMain .bar span{color:var(--yj-ink-3)!important;font-weight:500!important}
main .chart,#appMain .chart{border-bottom-color:var(--yj-line)!important}
main .fill,#appMain .fill{background:#22304a!important;background-image:none!important}
main .track,#appMain .track{background:var(--yj-line-2)!important}
main .value,#appMain .value{color:var(--yj-ink-2)!important;font-weight:650!important}
main .weekday-row b,#appMain .weekday-row b{color:var(--yj-ink-2)!important}
main .axis,#appMain .axis,main .chart .tick,main [class*="axis"]{color:var(--yj-ink-3)!important}

/* ── 표 좌우 스크롤바 : 파랑 → 중립 회색 ──────────────────────────── */
main .table-top-scroll,#appMain .table-top-scroll{scrollbar-color:#c2c6cf transparent!important}
main .table-top-scroll::-webkit-scrollbar-track,#appMain .table-top-scroll::-webkit-scrollbar-track{background:#f0f1f4!important;border-radius:8px}
main .table-top-scroll::-webkit-scrollbar-thumb,#appMain .table-top-scroll::-webkit-scrollbar-thumb{background:#c2c6cf!important;border:2px solid #fff!important;border-radius:8px}
main .table::-webkit-scrollbar,#appMain .table::-webkit-scrollbar{height:10px;width:10px}
main .table::-webkit-scrollbar-track,#appMain .table::-webkit-scrollbar-track{background:#f0f1f4}
main .table::-webkit-scrollbar-thumb,#appMain .table::-webkit-scrollbar-thumb{background:#c2c6cf;border:2px solid #fff;border-radius:8px}

/* ── 정산 "이번 달 수익" 배너 : 헤더와 같은 딥네이비 ─────────────────── */
main .profit-banner,#appMain .profit-banner{
  background:linear-gradient(135deg,#0f1826,#20304d)!important;
  border-radius:var(--yj-radius)!important;box-shadow:none!important}
main .profit-banner .label{color:#9db0d4!important}
main .profit-banner .formula-line{color:#d5dbe4!important}

/* ── 탭(차량정비) : accent 대신 딥네이비로 통일 ─────────────────────── */
main .tabs button.on,#appMain .tabs button.on{
  background:var(--yj-primary)!important;border-color:var(--yj-primary)!important;color:#fff!important;box-shadow:none!important}
main .tabs button.on .navbadge{background:#fff!important;color:var(--yj-primary)!important}

/* ── 빈 상태 ─────────────────────────────────────────────────────────── */
main .empty,#appMain .empty,main .center-note,main .upload-history-empty{color:var(--yj-ink-3)!important}

/* ── 다이얼로그 — 2026-10-13 디자인 통일: 창 틀은 공용 yj-pop.css. 옛 창 이름(.dialog·.settings-dialog·.upload-dialog·.pending-dialog·
   .arrival-detail-box·.pending-detail-dialog)은 아무도 안 써서 뺌. 열 고르기 판(.column-menu)은 아직 이 이름을 써서 둠 ── */
.column-menu{border-radius:var(--yj-radius)!important;border:0!important;box-shadow:0 12px 32px rgba(17,24,39,.14)!important}
.column-menu button{border-radius:var(--yj-radius-sm)!important;font-weight:600!important}
.column-menu .clear{background:#f1f2f5!important;color:var(--yj-ink-2)!important}
.column-menu .actions button:last-child{background:var(--yj-primary)!important;color:#fff!important}

/* ── 파일 업로드 박스 (데이터 업로드) ───────────────────────────────── */
main .drop-zone,main .dropzone,#appMain .drop-zone{
  border:1.5px dashed #cfd3db!important;background:#fafbfc!important;background-image:none!important;border-radius:var(--yj-radius)!important}
main .drop-zone:hover,main .drop-zone.dragging,main .dropzone:hover,main .dropzone.drag{
  border-color:var(--yj-accent)!important;background:#f3f5f8!important;transform:none!important}
main .drop-icon,#appMain .drop-icon{background:#eef1f6!important;color:var(--yj-ink-2)!important}
main .choose,#appMain .choose{background:#fff!important;border:1px solid #d7dae2!important;color:var(--yj-ink-2)!important;font-weight:600!important}
main .file-list,#appMain .file-list{border-color:var(--yj-line)!important;border-radius:var(--yj-radius-sm)!important}
main .note,#appMain .note{background:#f6f7f8!important;color:var(--yj-ink-2)!important;border-radius:var(--yj-radius-sm)!important}

/* ── 도착 상세 다이얼로그 (검색결과 행 클릭 → 좌우 2열) ─────────────── */
.arrival-detail-box{background:var(--yj-surface)!important;border:1px solid var(--yj-line)!important}
.arrival-detail-head{background:linear-gradient(120deg,#0f1826,#20304d)!important}
.arrival-detail-head h2{font-weight:700!important;letter-spacing:-.2px!important}
.arrival-detail-section,.arrival-detail-overview .arrival-detail-field{border-color:var(--yj-line)!important}
.arrival-detail-section h3{background:#fff!important;border-bottom-color:var(--yj-line-2)!important;font-weight:700!important;font-size:13px!important;color:var(--yj-ink)!important}
.arrival-detail-field dt{background:#fafafb!important;color:var(--yj-ink-3)!important;font-weight:600!important}
.arrival-detail-field{border-color:var(--yj-line-2)!important}
.arrival-detail-button{border:1px solid transparent!important;background:var(--yj-field)!important;color:var(--yj-ink-2)!important;border-radius:var(--yj-radius-sm)!important;font-weight:600!important}
.arrival-detail-button.primary{background:var(--yj-primary)!important;border-color:var(--yj-primary)!important;color:#fff!important}
.arrival-detail-close{border:1px solid #ffffff40!important;background:#ffffff14!important;border-radius:var(--yj-radius-sm)!important}

/* ── 운영현황 스크롤 고정 조회바 : 유리효과 완전 제거 ──────────────── */
main .operations-filter-fixed{
  background:var(--yj-card)!important;border:0!important;
  box-shadow:0 12px 32px rgba(17,24,39,.14)!important;backdrop-filter:none!important;border-radius:var(--yj-radius)!important}
main .operations-filter-fixed::before,main .operations-filter-fixed::after{display:none!important}
main .operations-filter-fixed input{background:#fff!important}
main .operations-filter-fixed .quick-range{background:#f1f2f5!important;border:1px solid transparent!important;color:#4a5060!important}
/* 도착관리 조회바(런타임 주입 .filter-row) — 파랑끼 버튼을 중립 회색으로 */
main .filter .quick,main .filter-row .quick,main .filter .ghost,main .filter-row .ghost,
main .filter-row .quick-range,#appMain .filter-row .quick{
  background:#f1f2f5!important;color:#4a5060!important;border:1px solid transparent!important}
main .filter .quick:hover,main .filter-row .quick:hover,main .filter .ghost:hover,main .filter-row .ghost:hover{
  background:#e8eaef!important;color:var(--yj-ink)!important}
main .filter .quick.on,main .filter-row .quick.on{background:var(--yj-accent-tint)!important;color:var(--yj-accent)!important}

/* ── 세로 리듬 : 섹션 간격·카드 안쪽 여백 통일 ──────────────────────────
   표/합계처럼 padding:0 이 필요한 카드는 건드리지 않는다. */
main>section,main>article,#appMain>section{margin-top:16px!important}
main>section:first-of-type,#appMain>section:first-of-type{margin-top:0!important}
main .card:not(.table):not(.totals):not(.filter):not(.toolbar):not(.chart),
main .panel,#appMain .card:not(.table):not(.totals){padding:16px!important}
main .metric,main .card.metric,main article.stat,#appMain .metric{padding:16px!important}
main .section-title,#appMain .section-title{margin:24px 0 8px!important;font-size:13px!important;text-transform:none!important}

/* ── 보더리스 마감 : 페이지별 인라인 스타일에 남은 테두리 정리 ───────── */
main table:not(:is(.lgx-t,.lgx-s,.iv-t,.iv-me,.iv-amt,.iv-to)),#appMain table:not(:is(.lgx-t,.lgx-s,.iv-t,.iv-me,.iv-amt,.iv-to)){border:0!important}
/* 속성 선택자(input[type=date] 등)로 지정된 입력도 보더리스로 */
main input[type]:not(:is(.lgx-t,.lgx-s,.iv-t,.iv-me,.iv-amt,.iv-to) input),#appMain input[type]:not(:is(.lgx-t,.lgx-s,.iv-t,.iv-me,.iv-amt,.iv-to) input){border:1px solid transparent!important;background:var(--yj-field)!important}
main input[type]:not(:is(.lgx-t,.lgx-s,.iv-t,.iv-me,.iv-amt,.iv-to) input):focus,#appMain input[type]:not(:is(.lgx-t,.lgx-s,.iv-t,.iv-me,.iv-amt,.iv-to) input):focus{background:#fff!important;border-color:var(--yj-accent)!important;box-shadow:var(--yj-focus)!important}
main .timeline .ev,#appMain .timeline .ev,
main .file-list,#appMain .file-list,
main .imgstrip img,#appMain .imgstrip img{border:0!important}
main .timeline .ev,#appMain .timeline .ev{box-shadow:var(--yj-shadow)!important}
main .itemsbox,#appMain .itemsbox,
main .reviewnote,#appMain .reviewnote{border:0!important;box-shadow:none!important;background:#f0f2f5!important}
main .editcell,#appMain .editcell{background:#fff!important;border:1px solid var(--yj-line)!important}
main .editcell:focus,#appMain .editcell:focus{border-color:var(--yj-accent)!important}
main .bardiv,main .stat-sep,main .stat-line .sep,#appMain .bardiv{background:var(--yj-line-2)!important}
main .dropzone,#appMain .dropzone{border:1.5px dashed #d2d6de!important;background:#f4f5f7!important;border-radius:var(--yj-radius)!important}

/* ── 반응형 : 좁은 화면에서 버튼/입력 살짝 축소 ─────────────────────── */
@media(max-width:900px){
  main button,main .btn,main .button,main .page-head__action{height:34px;padding:0 12px}
  main .card,main .panel,#appMain .card{padding:16px!important}
}

/* ── 모바일 최적화 (720px 이하) ─────────────────────────────────────────
   표가 화면 밖으로 잘리던 문제: 표를 담은 카드가 좌우로 스크롤되게 하고,
   셀은 줄바꿈 대신 한 줄로 유지. 그리드는 1열로. */
@media(max-width:720px){
  main,#appMain{padding:16px 12px 56px!important}
  main h1,#appMain h1,.page-head h1{font-size:18px!important;margin-bottom:12px!important}
  /* 표를 직접 담은 카드/래퍼는 좌우 스크롤 */
  main .card:has(>table),main .panel:has(>table),main .card:has(>.receipt-editor),
  main .tablescroll,#appMain .card:has(>table){overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  main table th,main table td,#appMain table th,#appMain table td{white-space:nowrap!important;padding:8px!important}
  main table,#appMain table{font-size:12px!important}
  /* 그리드·KPI는 1열 */
  main .kpis,main .grid,main .stats,main .admin-grid,main .kpis,#appMain .kpis,#appMain .grid,#appMain .stats{grid-template-columns:1fr!important}
  main .completion-summary,#appMain .completion-summary{grid-template-columns:1fr!important}
  /* 조회바: 검색창은 한 줄 전체, 나머지 컨트롤은 유연하게 */
  main .filter,main .toolbar,main .filter-row,#appMain .filter{gap:8px!important}
  main .filter #q,main .filter-row #q,main .filters .grow,#appMain .filter #q{flex:1 1 100%!important;min-width:100%!important}
  main .filter input,main .filter select,main .toolbar input,main .toolbar select,
  main .filter-row input,main .filter-row select,#appMain .filter input,#appMain .filter select{min-width:0!important}
  main .section-title,#appMain .section-title{margin:16px 0 8px!important}
  /* 정산 수익 배너 폰트 축소 */
  main .profit-banner .amount,#appMain .profit-banner .amount{font-size:22px!important}
}
