/* ============================================================
   v1.3.31 — 화면 검수 수정 (안 보이는 글자 · 잘리는 값 · 어두운 화면 배치)

   왜 필요했나 (2026-09-09 브라우저 실측):
    · 상단 홈/뒤로/앞으로 버튼이 흰 글자 + 밝은 회색 배경 = 대비 1.86:1 로 사실상 안 보였다.
    · 넓은 화면의 "대표 / 전체 현황" 이름표는 대비 1.02:1 (완전히 안 보임).
    · 글자 크기를 키우면 KPI 값(미등록 등)이 "미..." 로 잘리고 아랫부분이 잘렸다.
    · 어두운 화면은 v1.3.24~26 배치 규칙이 통째로 빠져(모두 html:not([data-theme="dark"]))
      본문이 오른쪽으로 밀리고 왼쪽에 빈 칸이 생겼으며, 카드가 흰 바탕 + 밝은 글자로 남아 읽을 수 없었다.

   구성:
    M. 어두운 화면 색 자동 반전 (생성기: scratchpad/mkdarkcolors.js)
    B~L. 손으로 쓴 수정 (상단 버튼 대비 · 값 잘림 · 숨김 요소 · 어두운 화면 보완)
    A. 어두운 화면 배치 동일화 (생성기: scratchpad/mkdarkparity.js)
   순서 = 자동 반전 → 손수정 → 배치. 뒤에 오는 것이 이긴다.
   업무 로직/API/DB/권한/계산은 건드리지 않는다. 화면 표시 전용.
   ============================================================ */
/* ── M. 어두운 화면 색 자동 반전 (생성) ─────────────────────────── */
html[data-theme="dark"] .login-card,
  html[data-theme="dark"] .form-card{background-color:#141b24}
html[data-theme="dark"] input,
  html[data-theme="dark"] select,
  html[data-theme="dark"] textarea{background-color:#141b24;color:#dbe7f5}
html[data-theme="dark"] .quiet{background-color:#1a222c;color:#dbe7f5}
html[data-theme="dark"] .topbar{background-color:#141b24}
html[data-theme="dark"] .metric{background-color:#141b24}
html[data-theme="dark"] .station-card{background-color:#141b24}
html[data-theme="dark"] .badge{background-color:#17222f;color:#dbe7f5}
html[data-theme="dark"] .badge.problem{background-color:#2a1e21;color:#ff9c9c}
html[data-theme="dark"] .badge.ok{background-color:#132019;color:#79d9ac}
html[data-theme="dark"] .amount-row,
  html[data-theme="dark"] .button-row{color:#dbe7f5}
html[data-theme="dark"] .install-steps li{background-color:#141b24}
html[data-theme="dark"] .install-success,
  html[data-theme="dark"] .install-warning{background-color:#132019;color:#79d9ac}
html[data-theme="dark"] .install-warning{background-color:#241a1c;color:#f3c579}
html[data-theme="dark"] .difference-box{background-color:#17222f}
html[data-theme="dark"] .calendar-grid > div,
  html[data-theme="dark"] .calendar-day{background-color:#141b24}
html[data-theme="dark"] .calendar-day.has-events{background-color:#141b24}
html[data-theme="dark"] .day-sales{color:#79d9ac;background-color:#16261d}
html[data-theme="dark"] .calendar-weekday.sun{color:#ff9c9c}
html[data-theme="dark"] .calendar-weekday.sat{color:#dbe7f5}
html[data-theme="dark"] .calendar-day.sun > .day-head > strong{color:#ff9c9c}
html[data-theme="dark"] .calendar-day.sat > .day-head > strong{color:#dbe7f5}
html[data-theme="dark"] .badge.warn{background-color:#241a1c;color:#f3c579}
html[data-theme="dark"] .badge.more{background-color:#1a222c;color:#dbe7f5}
html[data-theme="dark"] .badge.delivery{background-color:#132019;color:#79d9ac}
html[data-theme="dark"] .badge.document{background-color:#241a1c;color:#f3c579}
html[data-theme="dark"] .badge.calendar-event{background-color:#17222f;color:#dbe7f5}
html[data-theme="dark"] .badge.calendar-event.done{background-color:#132019;color:#79d9ac}
html[data-theme="dark"] .permission-choice-grid label,
  html[data-theme="dark"] .station-choice-grid label{background-color:#141b24}
html[data-theme="dark"] .problem-chips span{background-color:#2a1e21;color:#ff9c9c}
html[data-theme="dark"] .station-card.warning{background-color:#241a1c}
html[data-theme="dark"] .forecast-note{background-color:#1a222c}
html[data-theme="dark"] .overview-panel{background-color:#141b24}
html[data-theme="dark"] .overview-tabs button{background-color:#1a222c;color:#dbe7f5}
html[data-theme="dark"] .bar-track{background-color:#17222f}
html[data-theme="dark"] .bar-item small{color:#dbe7f5}
html[data-theme="dark"] .overview-note{background-color:#141b24;color:#dbe7f5}
html[data-theme="dark"] .segmented{background-color:#17222f}
html[data-theme="dark"] .segmented .active{background-color:#141b24}
html[data-theme="dark"] .empty-card{background-color:#141b24}
html[data-theme="dark"] .bottom-nav{background-color:#141b24}
html[data-theme="dark"] .bottom-nav button{color:#dbe7f5}
html[data-theme="dark"] .bottom-nav button.active{background-color:#17222f}
html[data-theme="dark"] .document-viewer-head{background-color:#141b24}
html[data-theme="dark"] .document-viewer-body iframe{background-color:#141b24}
html[data-theme="dark"] .closing-action{background-color:#141b24}
html[data-theme="dark"] .closing-detail-remove{background-color:#2a1e21;color:#ff9c9c}
html[data-theme="dark"] .password-toggle:hover,
  html[data-theme="dark"] .password-toggle:focus-visible{background-color:#17222f}
html[data-theme="dark"] table tbody tr:nth-child(even) > td{background-color:#141b24}
html[data-theme="dark"] table tfoot td,
  html[data-theme="dark"] table tr.total td{background-color:#2a1e21}
html[data-theme="dark"] .kpi{background-color:#141b24}
html[data-theme="dark"] .kpi-icon{background-color:#17222f}
html[data-theme="dark"] .kpi-icon.ok{background-color:#16261d}
html[data-theme="dark"] .kpi-icon.danger{background-color:#2a1e21}
html[data-theme="dark"] .kpi-icon.warn{background-color:#241a1c}
html[data-theme="dark"] .kpi-icon.info{background-color:#17222f}
html[data-theme="dark"] .panel{background-color:#141b24}
html[data-theme="dark"] .donut::after{background-color:#141b24}
html[data-theme="dark"] .mix-bar{background-color:#1a222c}
html[data-theme="dark"] .table-scroll{background-color:#141b24}
html[data-theme="dark"] .data-table thead th{background-color:#141b24}
html[data-theme="dark"] .data-table tbody tr:hover{background-color:#141b24}
html[data-theme="dark"] .data-table tfoot td{background-color:#141b24}
html[data-theme="dark"] .report-track{background-color:#1a222c}
html[data-theme="dark"] .station-tile{background-color:#141b24}
html[data-theme="dark"] .tile-chart{background-color:#141b24}
html[data-theme="dark"] /* 인식 결과에서 "사람이 꼭 봐야 할 항목" 강조 */
.review-field{background-color:#241a1c}
html[data-theme="dark"] .review-hint{color:#f3c579}
html[data-theme="dark"] /* ============================================================
   화면 안 탭 (2026-08-23)
   항목이 많은 화면을 큰 갈래로 나눠,
  html[data-theme="dark"] 고른 것만 보이게 한다.
   ============================================================ */
.tab-bar{background-color:#17222f}
html[data-theme="dark"] .tab-button{color:#dbe7f5}
html[data-theme="dark"] .tab-button.active{background-color:#141b24}
html[data-theme="dark"] /* 시스템 안의 하위 탭은 한 단계 아래라는 게 보이도록 조금 작고 옅게 */
.tab-bar-sub{background-color:#1a222c}
html[data-theme="dark"] .cal-kpi{background-color:#141b24}
html[data-theme="dark"] .cal-kpi.bad strong{color:#ff9c9c}
html[data-theme="dark"] .calendar-day.alert{background-color:#141b24}
html[data-theme="dark"] /* 검색·일정등록은 접어둔다 */
.calendar-tools{background-color:#141b24}
html[data-theme="dark"] .message-card.unread{background-color:#141b24}
html[data-theme="dark"] .message-card.urgent .station-head strong{color:#ff9c9c}
html[data-theme="dark"] /* ============================================================
   현황 맨 위 — 이 달 매출·마진 (2026-08-23)
   ============================================================ */
.trend-panel{background-color:#141b24}
html[data-theme="dark"] .trend-kpi{background-color:#141b24}
html[data-theme="dark"] .trend-rank-row:hover{background-color:#1a222c}
html[data-theme="dark"] .rank-track{background-color:#1a222c}
html[data-theme="dark"] .rank-value em{color:#79d9ac}
html[data-theme="dark"] /* 준비 상태 패널 (2026-08-23) */
.ready-panel{background-color:#141b24}
html[data-theme="dark"] /* 환산수량 ↔ 부피량 전환 */
.qty-switch{background-color:#1a222c}
html[data-theme="dark"] .qty-option.active{background-color:#141b24}
html[data-theme="dark"] .badge.calendar-event.plan{background-color:#1a222c;color:#dbe7f5}
html[data-theme="dark"] .badge.calendar-event.doing{background-color:#2a1e21;color:#f3c579}
html[data-theme="dark"] .badge.calendar-event.done{background-color:#1a222c;color:#dbe7f5}
html[data-theme="dark"] .badge.calendar-event.cancelled{background-color:#1a222c}
html[data-theme="dark"] .report-card{background-color:#141b24}
html[data-theme="dark"] .report-line.done{background-color:#16261d;color:#79d9ac}
html[data-theme="dark"] .report-line.done:hover{background-color:#1a2c22}
html[data-theme="dark"] .report-line.missing{background-color:#2a1e21;color:#ff9c9c}
html[data-theme="dark"] .tank-card{background-color:#141b24}
html[data-theme="dark"] .tank-card.bad{background-color:#141b24}
html[data-theme="dark"] .tank-vessel{background-color:#1a222c}
html[data-theme="dark"] .tank-total{background-color:#141b24}
html[data-theme="dark"] .badge.warn{background-color:#2a1e21;color:#f3c579}
html[data-theme="dark"] .zoom-switch{background-color:#1a222c}
html[data-theme="dark"] .zoom-option.active{background-color:#141b24}
html[data-theme="dark"] .sheet-flag{background-color:#1a222c;color:#dbe7f5}
html[data-theme="dark"] .sheet-flag.cream{background-color:#241a1c;color:#f3c579}
html[data-theme="dark"] .sheet-flag.gray{background-color:#1a222c;color:#dbe7f5}
html[data-theme="dark"] .sheet-flag.ok{background-color:#16261d;color:#79d9ac}
html[data-theme="dark"] .sheet-flag.bad{background-color:#2a1e21;color:#ff9c9c}
html[data-theme="dark"] .sheet-wrap{background-color:#141b24}
html[data-theme="dark"] .sheet-rowno{background-color:#1a222c !important}
html[data-theme="dark"] .sheet-head{background-color:#141b24}
html[data-theme="dark"] .sheet-name{background-color:#141b24}
html[data-theme="dark"] .sheet-input{background-color:#241a1c}
html[data-theme="dark"] .sheet-total td{background-color:#2a1e21}
html[data-theme="dark"] .sheet-ok{color:#79d9ac}
html[data-theme="dark"] .sheet-bad{color:#ff9c9c}
html[data-theme="dark"] .sheet-tab{background-color:#17222f}
html[data-theme="dark"] .sheet-tab:hover:not(.active){background-color:#1c2836}
html[data-theme="dark"] /* ============================================================
   백업·복구 화면 정리 (2026-08-23)
   순서대로 1 → 2,
  html[data-theme="dark"] 마지막 버튼만 강조. 모양은 전부 같게.
   ============================================================ */
.step-block{background-color:#141b24}
html[data-theme="dark"] .backup-kind{background-color:#141b24}
html[data-theme="dark"] .backup-kind.full{background-color:#141b24}
html[data-theme="dark"] /* 경고 박스 */
.warn-box{background-color:#141b24}
html[data-theme="dark"] .warn-box strong{color:#ff9c9c}
html[data-theme="dark"] .warn-box span{color:#ff9c9c}
html[data-theme="dark"] .warn-box b{color:#ff9c9c}
html[data-theme="dark"] .restore-warn{background-color:#141b24}
html[data-theme="dark"] .restore-warn strong{color:#f3c579}
html[data-theme="dark"] .restore-warn span{color:#f3c579}
html[data-theme="dark"] .restore-warn b{color:#f3c579}
html[data-theme="dark"] /* 입력칸 번호 */
.field-no{background-color:#17222f}
html[data-theme="dark"] .install-final-text code{background-color:#1a222c}
html[data-theme="dark"] /* 복구 — 자동 인식 결과 */
.restore-kind{background-color:#141b24}
html[data-theme="dark"] .restore-kind.server{background-color:#141b24}
html[data-theme="dark"] .restore-kind.bad{background-color:#141b24}
html[data-theme="dark"] /* 폰 — 화면 맨 바닥. 아래에 아무것도 없다. */
.quick-upload-bar{background-color:#141b24}
html[data-theme="dark"] .quick-bar-btn{background-color:#1a222c}
html[data-theme="dark"] /* ============================================================
   폰 올리기 — 화면 맨 바닥에 딱 붙는 직사각형 두 칸
   틈 없이 반반. 그 아래에는 아무것도 없다.
   ============================================================ */
.quick-upload-bar{background-color:#141b24}
html[data-theme="dark"] .badge.warn{background-color:#2a1e21;color:#f3c579}
html[data-theme="dark"] .prio-chip.imp{background-color:#2a1e21;color:#ff9c9c}
html[data-theme="dark"] .prio-chip.gen{background-color:#17222f;color:#dbe7f5}
html[data-theme="dark"] .message-type.task{background-color:#2a2419;color:#f3c579}
html[data-theme="dark"] .message-type.report{background-color:#17222f;color:#dbe7f5}
html[data-theme="dark"] .message-type.notice{background-color:#132019;color:#79d9ac}
html[data-theme="dark"] .message-due{color:#ff9c9c}
html[data-theme="dark"] .ack-done{color:#79d9ac}
html[data-theme="dark"] /* 역할별 실제 업무센터 · 필수알림 */
.work-push-required{background-color:#17222f}
html[data-theme="dark"] .work-push-required strong{color:#dbe7f5}
html[data-theme="dark"] .work-push-required span{color:#dbe7f5}
html[data-theme="dark"] .work-push-required.problem{background-color:#2a1e21}
html[data-theme="dark"] .work-push-required.problem strong{color:#ff9c9c}
html[data-theme="dark"] .role-dashboard-eyebrow,
  html[data-theme="dark"] .role-panel-kicker{color:#dbe7f5}
html[data-theme="dark"] .role-dashboard-kpis .work-stat{background-color:#141b24}
html[data-theme="dark"] .role-business-strip article{background-color:#141b24}
html[data-theme="dark"] .role-dashboard-panel{background-color:#141b24}
html[data-theme="dark"] .text-link{color:#dbe7f5}
html[data-theme="dark"] .role-station-row{background-color:#141b24}
html[data-theme="dark"] .role-station-row:hover{background-color:#141b24}
html[data-theme="dark"] .role-status.ok{background-color:#132019;color:#79d9ac}
html[data-theme="dark"] .role-status.bad{background-color:#2a1e21;color:#ff9c9c}
html[data-theme="dark"] .role-more-alerts{background-color:#141b24;color:#dbe7f5}
html[data-theme="dark"] .role-comms button{background-color:#141b24}
html[data-theme="dark"] .role-comms button span{color:#dbe7f5}
html[data-theme="dark"] .role-shortcuts .work-shortcut span{color:#dbe7f5}
html[data-theme="dark"] .mini-calendar-week span{color:#dbe7f5}
html[data-theme="dark"] .mini-calendar-day{background-color:#141b24;color:#dbe7f5}
html[data-theme="dark"] .mini-calendar-day:hover{background-color:#141b24}
html[data-theme="dark"] .mini-calendar-day.has-work{background-color:#141b24}
html[data-theme="dark"] .calendar-badge.business-task{background-color:#17222f;color:#dbe7f5}
html[data-theme="dark"] .operation-actual-summary{background-color:#141b24}
html[data-theme="dark"] .operation-checks span{background-color:#141b24}
html[data-theme="dark"] .operation-checks .done{color:#79d9ac;background-color:#141b24}
html[data-theme="dark"] .operation-checks .missing{color:#ff9c9c;background-color:#141b24}
html[data-theme="dark"] .operation-file-label input{background-color:#141b24}
html[data-theme="dark"] .operation-file-label span{color:#dbe7f5}
html[data-theme="dark"] .competitor-price-row span{color:#dbe7f5}
html[data-theme="dark"] .operation-report-row{background-color:#141b24}
html[data-theme="dark"] .operation-report-row:hover{background-color:#141b24}
html[data-theme="dark"] .operation-report-row small{color:#dbe7f5}
html[data-theme="dark"] .operation-report-status{background-color:#2a1e21;color:#f3c579}
html[data-theme="dark"] .operation-report-status.reviewed{background-color:#1a222c;color:#79d9ac}
html[data-theme="dark"] .operation-report-status.paid{background-color:#17222f;color:#dbe7f5}
html[data-theme="dark"] .operation-report-attach{color:#dbe7f5}
html[data-theme="dark"] .operation-price-summary span{background-color:#141b24}
html[data-theme="dark"] /* ============================================================
   v1.0.9 역할 화면 / 초기등록 / 컴팩트 대시보드
   ============================================================ */
@media (min-width:960px){background-color:#141b24;background-color:#141b24;color:#dbe7f5;background-color:#141b24;background-color:#141b24}
html[data-theme="dark"] .tile-donut:after,
  html[data-theme="dark"] .mini-donut:after{background-color:#141b24}
html[data-theme="dark"] .tile-donut b,
  html[data-theme="dark"] .mini-donut b{color:#dbe7f5}
html[data-theme="dark"] .tile-sales>span:first-child small{color:#dbe7f5}
html[data-theme="dark"] .tile-sales-track,
  html[data-theme="dark"] .mini-sales-track{background-color:#1a222c}
html[data-theme="dark"] .role-mini-head small{color:#dbe7f5}
html[data-theme="dark"] .role-mini-sales>span{color:#dbe7f5}
html[data-theme="dark"] .mini-mix>div{background-color:#1a222c}
html[data-theme="dark"] .mini-mix small{color:#dbe7f5}
html[data-theme="dark"] .overview-kpis article{background-color:#141b24}
html[data-theme="dark"] .overview-kpis span{color:#dbe7f5}
html[data-theme="dark"] .setup-head span{color:#dbe7f5}
html[data-theme="dark"] .setup-head p{color:#dbe7f5}
html[data-theme="dark"] .setup-station-grid label{color:#dbe7f5}
html[data-theme="dark"] .setup-tank-row{background-color:#141b24}
html[data-theme="dark"] .setup-foot{color:#dbe7f5}
html[data-theme="dark"] /* ============================================================
   v1.0.10 Excel형 컴팩트 운영 대시보드
   - PC 상단 요약은 한 줄
   - 주유소는 행 단위 한눈표
   - 원형 완료율 제거,
  html[data-theme="dark"] 실제 탱크 재고 막대 사용
   - 미완료 상태 셀은 눌러서 바로 해당 업무로 이동
   ============================================================ */
@media (min-width:960px){background-color:#1c2836;background-color:#141b24;color:#dbe7f5;color:#dbe7f5;color:#dbe7f5;background-color:#141b24 !important;color:#dbe7f5;color:#dbe7f5;background-color:#1a222c;color:#dbe7f5;background-color:#1a222c;color:#dbe7f5;background-color:#141b24;color:#ff9c9c;color:#ff9c9c;color:#dbe7f5}
html[data-theme="dark"] .form-card{background-color:#141b24}
html[data-theme="dark"] .page-title h1{color:#dbe7f5}
html[data-theme="dark"] input,
  html[data-theme="dark"] select,
  html[data-theme="dark"] textarea{background-color:#141b24}
html[data-theme="dark"] .tab-bar{background-color:#1a222c !important}
html[data-theme="dark"] .tab-button.active{background-color:#141b24 !important}
html[data-theme="dark"] .data-table th,
  html[data-theme="dark"] table th{background-color:#141b24;color:#dbe7f5}
html[data-theme="dark"] .empty-card{background-color:#141b24 !important}
html[data-theme="dark"] /* v1.0.15 우선순위 고정: 긴급복구 CSS 뒤에서도 완성형 레이어가 이긴다. */
@media(min-width:960px){background-color:#141b24 !important;color:#79d9ac !important;color:#f3c579 !important}
html[data-theme="dark"] /* ═══ v1.0.16 재고·탱크 안전 개편 — inventory view에만 범위를 제한한다 ═══ */
.inventory-view .inventory-context-bar{background-color:#141b24}
html[data-theme="dark"] .inventory-view .inventory-context-bar label{color:#dbe7f5}
html[data-theme="dark"] .inventory-view .inventory-context-copy strong{color:#dbe7f5}
html[data-theme="dark"] .inventory-view .inventory-context-copy small{color:#dbe7f5}
html[data-theme="dark"] .inventory-view .form-help{color:#dbe7f5}
html[data-theme="dark"] .inventory-view .empty-card{background-color:#141b24 !important;color:#dbe7f5 !important}
html[data-theme="dark"] .inventory-view .tank-record-head{background-color:#1a222c;color:#dbe7f5}
html[data-theme="dark"] .inventory-view .tank-record-row{background-color:#141b24}
html[data-theme="dark"] .inventory-view .tank-ident strong{color:#dbe7f5}
html[data-theme="dark"] .inventory-view .balance-ok{color:#79d9ac}
html[data-theme="dark"] .inventory-view .balance-warning{color:#ff9c9c}
html[data-theme="dark"] .inventory-view .tank-level i{background-color:#1a222c}
html[data-theme="dark"] .inventory-view .tank-level small,
  html[data-theme="dark"] .inventory-view .tank-threshold small,
  html[data-theme="dark"] .inventory-view .tank-reading-meta small{color:#dbe7f5}
html[data-theme="dark"] .inventory-adjust-summary{background-color:#141b24}
html[data-theme="dark"] .inventory-adjust-summary strong{color:#dbe7f5}
html[data-theme="dark"] /* ═══ v1.0.78 — 재고 현황 목록(품목별). 탱크 표와 같은 톤: 칸 구분선·정렬·상태 줄무늬 ═══
   구조는 그대로(.dense-record-row.inventory-record-row 안에 station-head / amount-row.inventory-balance /
   forecast-note / inline-settings 4칸). 여기서 '보기'만 손본다. #inventoryCards 를 한 줄씩 세로로
   쌓는 건 위 v1.0.53 블록에 추가해 뒀다(그게 깨짐의 원인이었음). */
.inventory-view #inventoryCards{background-color:#141b24}
html[data-theme="dark"] .inventory-view .inventory-record-head{background-color:#1a222c;color:#dbe7f5}
html[data-theme="dark"] .inventory-view .inventory-record-row{background-color:#141b24 !important}
html[data-theme="dark"] .inventory-view .inventory-record-row:hover{background-color:#141b24 !important}
html[data-theme="dark"] .inventory-view .inventory-record-row .station-head strong{color:#dbe7f5}
html[data-theme="dark"] /* 2칸 — 장부 · 실측 · 차이 · 입고예정 : 한 줄에 하나씩 */
.inventory-view .inventory-record-row .inventory-balance{color:#dbe7f5}
html[data-theme="dark"] .inventory-view .inventory-record-row .inventory-balance .balance-warning{color:#ff9c9c}
html[data-theme="dark"] /* 3칸 — 예측 : 회색 알약 말고 조용한 본문 */
.inventory-view .inventory-record-row .forecast-note{color:#dbe7f5}
html[data-theme="dark"] .inventory-view .inventory-record-row .inline-settings label{color:#dbe7f5}
html[data-theme="dark"] /* ═══ v1.0.18 안정형 상단바 · 단일업무 미니대시보드 · 관리자 운영보드 ═══ */
@media(min-width:960px){background-color:#2a1e21;color:#ff9c9c;background-color:#141b24;color:#dbe7f5;color:#dbe7f5;color:#dbe7f5;color:#dbe7f5;color:#dbe7f5;background-color:#1a222c;color:#dbe7f5;background-color:#141b24;color:#dbe7f5;color:#dbe7f5}
html[data-theme="dark"] /* v1.0.20 ROLE DASHBOARD FINAL — 확정 시안 실사이트 구현 */
@media(min-width:960px){background-color:#1a222c !important;color:#dbe7f5 !important;background-color:#141b24 !important;color:#dbe7f5 !important;background-color:#141b24 !important;background-color:#17222f !important;color:#dbe7f5 !important;color:#dbe7f5 !important;color:#dbe7f5 !important;color:#dbe7f5 !important;background-color:#141b24 !important;color:#dbe7f5 !important;color:#dbe7f5 !important;background-color:#141b24 !important;color:#dbe7f5 !important;background-color:#141b24 !important;color:#dbe7f5 !important;background-color:#141b24 !important;background-color:#1a222c !important;background-color:#141b24 !important;color:#dbe7f5 !important;background-color:#141b24 !important;color:#dbe7f5 !important;color:#dbe7f5 !important;background-color:#1a222c !important;background-color:#141b24 !important;background-color:#141b24 !important;color:#dbe7f5 !important;background-color:#141b24 !important;background-color:#141b24 !important;background-color:#141b24 !important;background-color:#141b24 !important;background-color:#1a222c !important;background-color:#141b24 !important;color:#dbe7f5 !important;background-color:#17222f !important;color:#dbe7f5 !important;background-color:#141b24 !important}
html[data-theme="dark"] .screen-hero.protect .hero-ico{background-color:#16261d;color:#79d9ac}
html[data-theme="dark"] .screen-hero.rewind  .hero-ico{background-color:#2a1e21;color:#ff9c9c}
html[data-theme="dark"] .screen-hero .hero-kind{color:#dbe7f5}
html[data-theme="dark"] .screen-hero.protect .hero-kind b{color:#79d9ac}
html[data-theme="dark"] .screen-hero.rewind  .hero-kind b{color:#ff9c9c}
html[data-theme="dark"] .screen-hero .hero-copy p{color:#dbe7f5}
html[data-theme="dark"] .screen-hero .hero-copy p b{color:#dbe7f5}
html[data-theme="dark"] .screen-hero .hero-state .system-status-message{color:#dbe7f5}
html[data-theme="dark"] .safe-line{background-color:#16261d;color:#79d9ac}
html[data-theme="dark"] .risk-line{background-color:#2a1e21;color:#ff9c9c}
html[data-theme="dark"] .step-badge{background-color:#1a222c;color:#dbe7f5}
html[data-theme="dark"] .restore-run.danger-step{background-color:#141b24}
html[data-theme="dark"] .system-standalone-view .do-k{color:#dbe7f5}
html[data-theme="dark"] /* v1.0.23 GASONE CEO DASHBOARD */
@media (min-width:960px){background-color:#141b24 !important;color:#dbe7f5 !important;background-color:#141b24 !important;color:#dbe7f5 !important;background-color:#1a222c;color:#dbe7f5;background-color:#1a222c !important;color:#dbe7f5 !important;background-color:#141b24 !important;color:#dbe7f5 !important;background-color:#141b24 !important;color:#dbe7f5 !important;background-color:#1a222c !important;color:#dbe7f5 !important;background-color:#1a222c !important}
html[data-theme="dark"] #overviewChart .overview-bar-track{background-color:#17222f}
html[data-theme="dark"] #overviewChart .overview-bar-item > small{color:#dbe7f5}
html[data-theme="dark"] /* CALENDAR_WORKSPACE_V125 — 요청 범위: 달력/입고 일정만 */
.calendar-actionbar{background-color:#141b24}
html[data-theme="dark"] .calendar-actionbar strong{color:#dbe7f5}
html[data-theme="dark"] .calendar-actionbar span{color:#dbe7f5}
html[data-theme="dark"] .calendar-delivery-tools>summary{color:#dbe7f5 !important;background-color:#141b24}
html[data-theme="dark"] .calendar-delivery-head strong{color:#dbe7f5}
html[data-theme="dark"] .calendar-delivery-head span{color:#dbe7f5}
html[data-theme="dark"] .calendar-delivery-grid label{color:#dbe7f5}
html[data-theme="dark"] .calendar-delivery-actions span{color:#dbe7f5}
html[data-theme="dark"] .day-event-count{background-color:#17222f;color:#dbe7f5}
html[data-theme="dark"] .badge.cash-calendar{background-color:#17222f;color:#dbe7f5}
html[data-theme="dark"] .badge.cash-calendar.warn{background-color:#2a1e21;color:#f3c579}
html[data-theme="dark"] /* CALENDAR_EXECUTIVE_SUMMARY_HOVER_V128
   요청 범위: 달력만. 대표/관리자는 날짜 칸의 입고를 주유소별 요약하고,
  html[data-theme="dark"] 전체 Hover는 읽기 쉬운 카드형으로 표시한다. */
[data-view="calendar"] .badge.executive-delivery-summary{background-color:#17222f !important;color:#dbe7f5 !important}
html[data-theme="dark"] [data-view="calendar"] .badge.executive-delivery-summary b{color:#dbe7f5 !important}
html[data-theme="dark"] .cal-tip.rich{background-color:#141b24 !important;color:#dbe7f5 !important}
html[data-theme="dark"] .cal-tip.rich .cal-tip-rich{background-color:#141b24}
html[data-theme="dark"] .cal-tip.rich .cal-tip-chips{background-color:#141b24}
html[data-theme="dark"] .cal-tip.rich .cal-tip-chips span{background-color:#141b24;color:#dbe7f5}
html[data-theme="dark"] .cal-tip.rich .cal-tip-chips span.delivery{color:#dbe7f5;background-color:#17222f}
html[data-theme="dark"] .cal-tip.rich .cal-tip-chips span.danger{color:#ff9c9c;background-color:#2a1e21}
html[data-theme="dark"] .cal-tip.rich .cal-tip-section>header strong{color:#dbe7f5}
html[data-theme="dark"] .cal-tip.rich .cal-tip-section>header span{color:#dbe7f5}
html[data-theme="dark"] .cal-tip.rich .cal-tip-station{background-color:#141b24}
html[data-theme="dark"] .cal-tip.rich .cal-tip-station-head{background-color:#141b24}
html[data-theme="dark"] .cal-tip.rich .cal-tip-station-head strong{color:#dbe7f5}
html[data-theme="dark"] .cal-tip.rich .cal-tip-station-head span{color:#dbe7f5}
html[data-theme="dark"] .cal-tip.rich .cal-tip-delivery-row .fuel{color:#dbe7f5}
html[data-theme="dark"] .cal-tip.rich .cal-tip-delivery-row strong{color:#dbe7f5}
html[data-theme="dark"] .cal-tip.rich .cal-tip-delivery-row em.plan{background-color:#2a1e21;color:#f3c579}
html[data-theme="dark"] .cal-tip.rich .cal-tip-delivery-row em.done{background-color:#16261d;color:#79d9ac}
html[data-theme="dark"] .cal-tip.rich .cal-tip-lines>div{background-color:#141b24}
html[data-theme="dark"] .cal-tip.rich .cal-tip-lines>div:nth-child(even){background-color:#141b24}
html[data-theme="dark"] .cal-tip.rich .danger{color:#ff9c9c !important}
html[data-theme="dark"] .cal-tip.rich .cal-tip-empty span{color:#dbe7f5}
html[data-theme="dark"] /* ══════════════════════════════════════════════════════════════════════
   v1.0.30 — 대표 대시보드 확장 (2026-08-29)
   주유소 6곳 이상을 다 보이게 + 전체 발주 현황 / 재고 소진 예측 / 최근 변경 패널.
   한 화면 고정 그리드 대신 세로로 흐르고 필요하면 스크롤한다.
   기존 하드코딩 라이트 색을 따른다(이 앱 대시보드는 단일 테마).
   ══════════════════════════════════════════════════════════════════════ */
@media (min-width:960px){background-color:#141b24 !important;background-color:#1a222c !important;color:#dbe7f5 !important;color:#dbe7f5 !important;background-color:#141b24 !important;background-color:#1a222c !important;background-color:#141b24 !important;color:#dbe7f5 !important;color:#dbe7f5 !important}
html[data-theme="dark"] .demo-warn-strip{background-color:#2a2419;color:#f3c579}
html[data-theme="dark"] .demo-warn-strip span{color:#f3c579}
html[data-theme="dark"] /* ======================================================================
   v1.0.31 - PC screen density cleanup (2026-08-29)
   On wide screens,
  html[data-theme="dark"] forms / checkbox grids / cards were locked to 2 columns
   and puffed up,
  html[data-theme="dark"] leaving lots of empty space. Make them fill to content.
   Not applied on phones (<960px); mobile keeps its own 42px touch rules.
   ====================================================================== */
@media (min-width:960px){background-color:#141b24 !important;color:#dbe7f5 !important;color:#dbe7f5 !important}
html[data-theme="dark"] [data-view="purchases"] #purchaseItemTable .subtotal-row td{background-color:#1a222c}
html[data-theme="dark"] [data-view="purchases"] #purchaseItemTable .num-good{color:#79d9ac}
html[data-theme="dark"] [data-view="purchases"] #purchaseItemTable .num-bad{color:#ff9c9c}
html[data-theme="dark"] /* v1.0.33 — 메뉴별 상단 요약 대시보드: 클릭 가능한 KPI 타일 */
.menu-context-kpis .menu-context-kpi{background-color:#141b24}
html[data-theme="dark"] .menu-context-kpis .menu-context-kpi:hover{background-color:#1a222c}
html[data-theme="dark"] .menu-context-kpis .menu-context-kpi span{color:#dbe7f5}
html[data-theme="dark"] .menu-context-kpis .menu-context-kpi strong{color:#dbe7f5}
html[data-theme="dark"] .menu-context-kpis .menu-context-kpi.warn strong{color:#f3c579}
html[data-theme="dark"] .menu-context-kpis .menu-context-kpi.ok strong{color:#79d9ac}
html[data-theme="dark"] .role-preset{background-color:#141b24;color:#dbe7f5}
html[data-theme="dark"] .role-preset:hover{background-color:#141b24}
html[data-theme="dark"] .perm-toggle{background-color:#141b24}
html[data-theme="dark"] .perm-toggle>strong{color:#dbe7f5}
html[data-theme="dark"] .perm-toggle>small{color:#dbe7f5}
html[data-theme="dark"] .perm-toggle::after{background-color:#141b24}
html[data-theme="dark"] .perm-toggle:hover:not([disabled]){background-color:#141b24}
html[data-theme="dark"] .perm-toggle[aria-pressed="true"]{background-color:#17222f}
html[data-theme="dark"] .perm-toggle[aria-pressed="true"]>strong{color:#dbe7f5}
html[data-theme="dark"] #permScopeNote{color:#f3c579}
html[data-theme="dark"] /* 원가·실마진 관리 화면 */
.cost-filterbar{background-color:#1a222c}
html[data-theme="dark"] .cost-filterbar label{color:#dbe7f5}
html[data-theme="dark"] .cost-filterbar input,
  html[data-theme="dark"] .cost-filterbar select{background-color:#141b24;color:#dbe7f5}
html[data-theme="dark"] .cost-bar-row{background-color:#141b24}
html[data-theme="dark"] .cost-bar-row:hover{background-color:#141b24}
html[data-theme="dark"] .cost-bar-row.selected{background-color:#17222f}
html[data-theme="dark"] .cost-bar-row .cbr-name{color:#dbe7f5}
html[data-theme="dark"] .cost-bar-row .cbr-track{background-color:#1a222c}
html[data-theme="dark"] .cost-bar-row .cbr-amount{color:#dbe7f5}
html[data-theme="dark"] .cost-bar-row .cbr-margin.ok{color:#79d9ac}
html[data-theme="dark"] .cost-bar-row .cbr-margin.bad{color:#ff9c9c}
html[data-theme="dark"] .cost-bar-row .cbr-pending{color:#dbe7f5}
html[data-theme="dark"] .cost-bar-row .cbr-pending.warn{color:#f3c579}
html[data-theme="dark"] .cost-bar-row .cbr-issue{color:#f3c579}
html[data-theme="dark"] table.cost-grid tbody tr:nth-child(even),
  html[data-theme="dark"] table.cost-grid tbody tr:nth-child(even){background-color:#141b24}
html[data-theme="dark"] .station-backup-row{background-color:#141b24}
html[data-theme="dark"] .station-backup-row.warn{background-color:#141b24}
html[data-theme="dark"] .station-backup-row .sbr-name{color:#dbe7f5}
html[data-theme="dark"] .station-backup-row.ok .sbr-state{color:#79d9ac}
html[data-theme="dark"] .station-backup-row.warn .sbr-state{color:#ff9c9c}
html[data-theme="dark"] .station-backup-row .sbr-meta{color:#dbe7f5}
html[data-theme="dark"] .station-backup-warn{background-color:#2a1e21;color:#ff9c9c}
html[data-theme="dark"] .station-backup-ok{background-color:#16261d;color:#79d9ac}
html[data-theme="dark"] .chat-layout{background-color:#141b24}
html[data-theme="dark"] .chat-rooms{background-color:#141b24}
html[data-theme="dark"] .chat-rooms-head strong{color:#dbe7f5}
html[data-theme="dark"] .chat-room-item:hover{background-color:#1a222c}
html[data-theme="dark"] .chat-room-item.active{background-color:#17222f}
html[data-theme="dark"] .chat-room-item .cri-top strong{color:#dbe7f5}
html[data-theme="dark"] .chat-room-item .cri-tag{background-color:#1c2836;color:#dbe7f5}
html[data-theme="dark"] .chat-room-item .cri-bot small{color:#dbe7f5}
html[data-theme="dark"] .chat-thread-empty{color:#dbe7f5}
html[data-theme="dark"] .chat-thread-head{background-color:#141b24}
html[data-theme="dark"] .chat-thread-title strong{color:#dbe7f5}
html[data-theme="dark"] .chat-thread-title small{color:#dbe7f5}
html[data-theme="dark"] .chat-msg .chat-name{color:#dbe7f5}
html[data-theme="dark"] .chat-msg .chat-name em{color:#dbe7f5}
html[data-theme="dark"] .chat-msg.other .chat-bubble{background-color:#141b24;color:#dbe7f5}
html[data-theme="dark"] .chat-msg.mine .chat-bubble{background-color:#30291c;color:#ff9c9c}
html[data-theme="dark"] .chat-msg time{color:#dbe7f5}
html[data-theme="dark"] .chat-composer{background-color:#141b24}
html[data-theme="dark"] .chat-person:hover{background-color:#1a222c}
html[data-theme="dark"] .chat-person em{color:#dbe7f5}
html[data-theme="dark"] /* ── 5. 활성 상태(메뉴·탭·구분버튼·필터) 더 또렷하게 ──────────── */
.sidebar-nav button[data-nav].active{background-color:#141b24}
html[data-theme="dark"] .empty-card,
  html[data-theme="dark"] .v119-empty{background-color:#141b24}
html[data-theme="dark"] /* ── 기초 설정 화면 ── */
.setup-context-bar{background-color:#141b24}
html[data-theme="dark"] .setup-status{color:#dbe7f5}
html[data-theme="dark"] .setup-status.ok{color:#79d9ac}
html[data-theme="dark"] .setup-status.warn{color:#ff9c9c}
html[data-theme="dark"] .setup-chip{background-color:#1a222c;color:#dbe7f5}
html[data-theme="dark"] .setup-chip.ok{background-color:#16261d;color:#79d9ac}
html[data-theme="dark"] .setup-chip.need{background-color:#2a1e21;color:#ff9c9c}
html[data-theme="dark"] .setup-item{background-color:#141b24}
html[data-theme="dark"] .setup-item-main{color:#dbe7f5}
html[data-theme="dark"] .setup-addrow label{color:#dbe7f5}
html[data-theme="dark"] .setup-price-row{background-color:#141b24}
html[data-theme="dark"] .setup-price-state.ok{color:#79d9ac}
html[data-theme="dark"] .setup-price-state.need{color:#ff9c9c}
html[data-theme="dark"] .closing-batch-bar #closingBatchInfo{color:#dbe7f5}
html[data-theme="dark"] .closing-batch-bar .closing-batch-flagged{color:#dbe7f5}
html[data-theme="dark"] /* v1.0.43 — 끝 */

/* v1.0.46 — 기초 설정: 기본 마감시간 */
.setup-closing-time{color:#dbe7f5}
html[data-theme="dark"] .tank-forecast-row{background-color:#141b24}
html[data-theme="dark"] .tfr-now{color:#dbe7f5}
html[data-theme="dark"] .tfr-bar{background-color:#1a222c}
html[data-theme="dark"] /* v1.0.48 — 달력 매입 뱃지 · 주유소 필터 */
.calendar-scope{color:#dbe7f5}
html[data-theme="dark"] .badge.purchase-badge{background-color:#17222f;color:#dbe7f5}
html[data-theme="dark"] .badge.purchase-badge.expected{background-color:#2a1e21;color:#f3c579}
html[data-theme="dark"] /* v1.0.51 — 끝 */

/* ══ v1.0.52 — 관리자 '주유소 운영 현황' 표 밑에 상태(완료/확인/정상) 뜻 설명 줄 ══ */
.v120-ops-legend{background-color:#141b24;color:#dbe7f5}
html[data-theme="dark"] .v120-ops-legend b{color:#dbe7f5}
html[data-theme="dark"] /* v1.0.52 — 끝 */

/* ══ v1.0.53 — 감사 후속: '먼저 할 일' 배너 · 실시간 탱크재고 · 예측 정확도 ══ */
.v119-setup-banner{background-color:#2a1e21;color:#ff9c9c}
html[data-theme="dark"] .v119-setup-banner:hover{background-color:#2a1e21}
html[data-theme="dark"] .v119-setup-banner b{color:#ff9c9c}
html[data-theme="dark"] .v119-setup-banner span{color:#ff9c9c}
html[data-theme="dark"] .v119-setup-banner em{color:#ff9c9c}
html[data-theme="dark"] .v123-forecast.v123-rt .fc-days small{color:#dbe7f5}
html[data-theme="dark"] .v123-acc-head{color:#dbe7f5}
html[data-theme="dark"] .v123-acc-head b.ok{color:#79d9ac}
html[data-theme="dark"] .v123-acc-head b.bad{color:#ff9c9c}
html[data-theme="dark"] .v123-acc-row{background-color:#141b24;color:#dbe7f5}
html[data-theme="dark"] .v123-acc-row:hover{background-color:#141b24}
html[data-theme="dark"] .v123-acc-row b.ok{color:#79d9ac}
html[data-theme="dark"] .v123-acc-row b.bad{color:#ff9c9c}
html[data-theme="dark"] .v55-bar label{color:#dbe7f5}
html[data-theme="dark"] .v55-bar input,
  html[data-theme="dark"] .v55-bar select{background-color:#141b24}
html[data-theme="dark"] .v55-chip{background-color:#17222f;color:#dbe7f5}
html[data-theme="dark"] .v55-h2{color:#dbe7f5}
html[data-theme="dark"] .v55-panel{background-color:#141b24}
html[data-theme="dark"] .v55-quick summary,
  html[data-theme="dark"] .form-card > summary{color:#dbe7f5}
html[data-theme="dark"] .v55-quick-grid label{color:#dbe7f5}
html[data-theme="dark"] .v55-morning-head{background-color:#141b24}
html[data-theme="dark"] .v55-morning-head span{color:#dbe7f5}
html[data-theme="dark"] .v55-st small{color:#dbe7f5}
html[data-theme="dark"] .v55-cell.ok{background-color:#16261d;color:#79d9ac}
html[data-theme="dark"] .v55-cell.warn{background-color:#2a1e21;color:#f3c579}
html[data-theme="dark"] .v55-cell.bad{background-color:#2a1e21;color:#ff9c9c}
html[data-theme="dark"] .v55-adj-head{background-color:#141b24;color:#dbe7f5}
html[data-theme="dark"] .v55-adj-row input{background-color:#17222f}
html[data-theme="dark"] .v55-adj-diff.bad{color:#ff9c9c}
html[data-theme="dark"] .v55-adj-diff.warn{color:#f3c579}
html[data-theme="dark"] .v55-adj-diff.ok{color:#79d9ac}
html[data-theme="dark"] .v55-adj-source{color:#dbe7f5}
html[data-theme="dark"] .v55-adj-summary{background-color:#141b24;color:#dbe7f5}
html[data-theme="dark"] .v55-adj-summary strong{color:#dbe7f5}
html[data-theme="dark"] .v55-adj-summary b{color:#dbe7f5}
html[data-theme="dark"] .stockadj-charts article{background-color:#141b24}
html[data-theme="dark"] .stockadj-charts h3{color:#dbe7f5}
html[data-theme="dark"] .stockadj-charts p{color:#dbe7f5}
html[data-theme="dark"] .stockadj-bar-row i{background-color:#1a222c}
html[data-theme="dark"] .v55-annual-head{background-color:#141b24;color:#dbe7f5}
html[data-theme="dark"] .v55-annual-row .bad{color:#ff9c9c}
html[data-theme="dark"] .v55-annual-row .warn{color:#f3c579}
html[data-theme="dark"] .v55-market-card{background-color:#141b24}
html[data-theme="dark"] .v55-market-card h3{color:#dbe7f5}
html[data-theme="dark"] .v55-market-row .bad{color:#ff9c9c}
html[data-theme="dark"] .v55-market-row .ok{color:#79d9ac}
html[data-theme="dark"] .v55-pay-head{background-color:#141b24;color:#dbe7f5}
html[data-theme="dark"] .v55-pay-row .warn{color:#f3c579}
html[data-theme="dark"] .v55-pay-row .ok{color:#79d9ac}
html[data-theme="dark"] .v55-exp-row .ok{color:#79d9ac}
html[data-theme="dark"] .v55-exp-row .warn{color:#f3c579}
html[data-theme="dark"] /* ══ v1.0.57 — 폰 전용 홈(카드 대시보드) · 하단 5칸 네비 ══ */
@media (max-width:720px){background-color:#141b24 !important;color:#dbe7f5 !important;color:#dbe7f5 !important;background-color:#141b24;background-color:#141b24;color:#dbe7f5;color:#dbe7f5}
html[data-theme="dark"] .v55-dm-head{background-color:#141b24}
html[data-theme="dark"] .v55-dm-head span{color:#dbe7f5}
html[data-theme="dark"] .v55-dm-row{background-color:#141b24}
html[data-theme="dark"] .v55-dm-row:hover{background-color:#141b24}
html[data-theme="dark"] .v55-dm-row span:first-child{color:#dbe7f5}
html[data-theme="dark"] .v55-clone-box{background-color:#141b24}
html[data-theme="dark"] .v55-clone-box h3{color:#dbe7f5}
html[data-theme="dark"] .v55-fc-block b{color:#dbe7f5}
html[data-theme="dark"] .v55-fc-ok{color:#79d9ac}
html[data-theme="dark"] .v55-fc-left{color:#ff9c9c}
html[data-theme="dark"] .v55-fc-item{background-color:#141b24;color:#dbe7f5}
html[data-theme="dark"] .v55-fc-item.done{background-color:#1a222c;color:#79d9ac}
html[data-theme="dark"] .v55-fc-item.pending{color:#ff9c9c}
html[data-theme="dark"] .chat-register{background-color:#17222f;color:#dbe7f5}
html[data-theme="dark"] /* v1.0.55 — 끝 */

/* v1.0.57 — 대표 '유류 매입단가·수송료' 표 (loadFuelCost) */
.v55-fc{background-color:#141b24}
html[data-theme="dark"] .v55-fc-head{background-color:#141b24;color:#dbe7f5}
html[data-theme="dark"] .v55-fc-line{color:#dbe7f5}
html[data-theme="dark"] .v55-fc-line .fc-margin.ok{color:#79d9ac}
html[data-theme="dark"] .v55-fc-line .fc-margin.bad{color:#ff9c9c}
html[data-theme="dark"] /* ══ v1.0.58 — 항상 보이는 버전 칩 (내가 어느 버전을 보는지 헷갈리지 않게) ══ */
.version-chip{background-color:#1a222c;color:#dbe7f5}
html[data-theme="dark"] .version-chip:hover{background-color:#1c2836}
html[data-theme="dark"] .version-chip.stale{background-color:#2a2419;color:#f3c579}
html[data-theme="dark"] /* ══ v1.0.59 — 버전 잘 보이게 + 대표 폰 홈(주유소별 신호 + 지시) ══ */
.login-version{color:#dbe7f5}
html[data-theme="dark"] .mobile-home-version{background-color:#1a222c;color:#dbe7f5}
html[data-theme="dark"] .mobile-home-version.stale{background-color:#2a2419;color:#f3c579}
html[data-theme="dark"] .mobile-home-summary{background-color:#141b24;color:#dbe7f5}
html[data-theme="dark"] .mobile-home-summary b.ok{color:#79d9ac}
html[data-theme="dark"] .mobile-home-summary b.warn{color:#f3c579}
html[data-theme="dark"] .mobile-home-summary b.bad{color:#ff9c9c}
html[data-theme="dark"] .ceo-st-main{background-color:#141b24}
html[data-theme="dark"] .ceo-st-name{color:#dbe7f5}
html[data-theme="dark"] .ceo-st-sales{color:#dbe7f5}
html[data-theme="dark"] .ceo-st-sigs em{color:#dbe7f5}
html[data-theme="dark"] .ceo-st-instruct{background-color:#17222f;color:#dbe7f5}
html[data-theme="dark"] .ceo-st-instruct:active{background-color:#17222f}
html[data-theme="dark"] #adminPhoneStage{background-color:#141b24}
html[data-theme="dark"] /* ══ v1.0.61 — 브리핑 색 토큰 · 밝게/어둡게 (v1.0.66: 띠에서 실제 쓰는 규칙만 남김) ══ */
.brief-theme-toggle{background-color:#1a222c;color:#dbe7f5}
html[data-theme="dark"] .brief-theme-toggle:active{background-color:#1c2836}
html[data-theme="dark"] body[data-brief-theme="dark"] .bh-act.solid{color:#dbe7f5}
html[data-theme="dark"] .brief-strip{background-color:#141b24}
html[data-theme="dark"] .bs-msg{color:#dbe7f5}
html[data-theme="dark"] .bs-chip.bad{background-color:#2a1e21;color:#ff9c9c}
html[data-theme="dark"] .bs-chip.warn{background-color:#2a1e21;color:#f3c579}
html[data-theme="dark"] .bs-more{color:#dbe7f5}
html[data-theme="dark"] .bs-h b{color:#dbe7f5}
html[data-theme="dark"] .bs-normal{color:#dbe7f5}
html[data-theme="dark"] .bs-total{color:#dbe7f5}
html[data-theme="dark"] .bs-total b{color:#dbe7f5}
html[data-theme="dark"] .bs-allok{color:#dbe7f5}
html[data-theme="dark"] .mctx-bar{background-color:#1a222c}
html[data-theme="dark"] /* 폰에서도 메뉴마다 요약이 보이게. 예전엔 959px 아래에서 통째로 감췄다
   → 폰으로 일하는 소장·부장은 메뉴를 열어도 아무 요약이 없었다.
   위 기본 배치는 전부 @media(min-width:960px) 안에 있으니,
  html[data-theme="dark"] 폰은 여기서 처음부터 짠다.
   1줄: [메뉴 이름] ......... [홈]   2줄: [숫자 막대들] */
@media(max-width:959px){background-color:#141b24;color:#dbe7f5;color:#dbe7f5;background-color:#1a222c;color:#dbe7f5;color:#dbe7f5;color:#dbe7f5}
html[data-theme="dark"] /* ══ v1.0.83 — 끝 ══ */

/* Data availability must not look like a successful zero-value dashboard. */
.workflow-data-warning{background-color:#241a1c;color:#f3c579}
html[data-theme="dark"] .workflow-data-warning button{background-color:#141b24;color:#f3c579}
html[data-theme="dark"] /* ══════════════════════════════════════════════════════════════════════════════
   v1.0.93 USER-CENTERED DASHBOARD
   목적: 컴퓨터에 익숙하지 않은 사용자도 첫 화면에서 상태 → 해야 할 일 → 상세 순서로 읽는다.
   PC와 휴대폰은 같은 데이터를 쓰되,
  html[data-theme="dark"] 휴대폰에서는 그래프를 접어서 업무 버튼을 먼저 보여준다.
   ══════════════════════════════════════════════════════════════════════════════ */
.v193-guide{color:#dbe7f5}
html[data-theme="dark"] .v193-guide-copy>small{color:#dbe7f5}
html[data-theme="dark"] .v193-guide-title>strong{color:#dbe7f5}
html[data-theme="dark"] .v193-guide-copy>p{color:#dbe7f5}
html[data-theme="dark"] .v193-guide-actions button{background-color:#141b24;color:#dbe7f5}
html[data-theme="dark"] .v193-guide-actions button:hover{background-color:#141b24}
html[data-theme="dark"] .v193-guide-legend{color:#dbe7f5}
html[data-theme="dark"] .v193-health-stat{background-color:#141b24}
html[data-theme="dark"] .v193-health-stat>b{color:#dbe7f5}
html[data-theme="dark"] .v193-health-stat>em{color:#79d9ac}
html[data-theme="dark"] .v193-health-stat.ok{background-color:#1a222c}
html[data-theme="dark"] .v193-health-stat.warn{background-color:#241a1c}
html[data-theme="dark"] .v193-health-stat.warn>em{color:#f3c579}
html[data-theme="dark"] .v193-health-stat.bad{background-color:#2a1e21}
html[data-theme="dark"] .v193-health-stat.bad>em{color:#ff9c9c}
html[data-theme="dark"] .v193-station{background-color:#141b24;color:#dbe7f5}
html[data-theme="dark"] .v193-station:hover{background-color:#141b24}
html[data-theme="dark"] .v193-station-main>small{color:#dbe7f5}
html[data-theme="dark"] .v193-station-state{background-color:#16261d;color:#79d9ac}
html[data-theme="dark"] .v193-station-state.warn{background-color:#2a1e21;color:#f3c579}
html[data-theme="dark"] .v193-station-state.bad{background-color:#2a1e21;color:#ff9c9c}
html[data-theme="dark"] .v193-chip{background-color:#141b24}
html[data-theme="dark"] .v193-chip>b{color:#dbe7f5}
html[data-theme="dark"] .v193-chip>em{color:#79d9ac}
html[data-theme="dark"] .v193-chip.warn{background-color:#241a1c}
html[data-theme="dark"] .v193-chip.warn>em{color:#f3c579}
html[data-theme="dark"] .v193-chip.bad{background-color:#2a1e21}
html[data-theme="dark"] .v193-chip.bad>em{color:#ff9c9c}
html[data-theme="dark"] .v193-chip.unknown{background-color:#1a222c}
html[data-theme="dark"] .v193-chip.unknown>em{color:#dbe7f5}
html[data-theme="dark"] .v193-go{color:#dbe7f5}
html[data-theme="dark"] .v193-health-more{color:#dbe7f5}
html[data-theme="dark"] .v193-health-more b{color:#dbe7f5}
html[data-theme="dark"] .v193-help{color:#dbe7f5}
html[data-theme="dark"] .v193-help b{color:#dbe7f5}
html[data-theme="dark"] .v193-empty{color:#dbe7f5}
html[data-theme="dark"] .v193-empty>b{color:#dbe7f5}
html[data-theme="dark"] .v193-steps>section{background-color:#141b24}
html[data-theme="dark"] .v193-steps>section>header{background-color:#141b24}
html[data-theme="dark"] .v193-steps>section>header>b{color:#dbe7f5}
html[data-theme="dark"] .v193-steps>section>header>span{background-color:#2a1e21;color:#f3c579}
html[data-theme="dark"] .v193-steps>section>header>span.ok{background-color:#16261d;color:#79d9ac}
html[data-theme="dark"] .v193-steps button{background-color:#141b24;color:#dbe7f5}
html[data-theme="dark"] .v193-steps button.pending{background-color:#241a1c}
html[data-theme="dark"] .v193-steps button.done{background-color:#141b24;color:#79d9ac}
html[data-theme="dark"] .v193-steps button>i{background-color:#17222f;color:#dbe7f5}
html[data-theme="dark"] .v193-steps button.pending>i{background-color:#2a2419;color:#f3c579}
html[data-theme="dark"] .v193-steps button.done>i{background-color:#16261d;color:#79d9ac}
html[data-theme="dark"] .v193-steps button>span>small{color:#dbe7f5}
html[data-theme="dark"] .v193-steps button>em{color:#dbe7f5}
html[data-theme="dark"] .v193-steps button.done>em{color:#79d9ac}
html[data-theme="dark"] .v119-dashboard.dash-blocks .v119-panel>header strong{color:#dbe7f5 !important}
html[data-theme="dark"] .v119-dashboard.dash-blocks .v119-panel>header small{color:#dbe7f5 !important}
html[data-theme="dark"] .v119-dashboard.dash-blocks .v119-titlebar h1 small{color:#dbe7f5 !important}
html[data-theme="dark"] .v193-mobile-dashboard>.ceo2-mod>h3,
  html[data-theme="dark"] .v193-mobile-graphs>.ceo2-mod>h3{color:#dbe7f5}
html[data-theme="dark"] .v193-mobile-graphs .ceo2-mod{background-color:#141b24}
html[data-theme="dark"] .v193-mobile-more{background-color:#141b24}
html[data-theme="dark"] .v193-mobile-more>summary{color:#dbe7f5}
html[data-theme="dark"] .v193-mobile-more>summary::after{color:#dbe7f5}
html[data-theme="dark"] /* ══ v1.1.3 — 운영현황·보고 중심 역할 UI / PC+PHONE ══ */
.setup-role-note{background-color:#141b24;color:#dbe7f5}
html[data-theme="dark"] .quiet.danger{color:#ff9c9c;background-color:#141b24}
html[data-theme="dark"] .quiet.danger:hover{background-color:#2a1e21}
html[data-theme="dark"] .operation-hub-field,
  html[data-theme="dark"] .operation-hub-summary{background-color:#141b24}
html[data-theme="dark"] .operation-hub-field-head span{color:#dbe7f5}
html[data-theme="dark"] .operation-hub-field-head strong{color:#dbe7f5}
html[data-theme="dark"] .operation-hub-action{background-color:#141b24;color:#dbe7f5}
html[data-theme="dark"] .operation-hub-action>small{color:#dbe7f5}
html[data-theme="dark"] .operation-hub-action>b{color:#dbe7f5}
html[data-theme="dark"] .operation-hub-action.ok{background-color:#141b24}
html[data-theme="dark"] .operation-hub-action.warn{background-color:#241a1c}
html[data-theme="dark"] .operation-hub-action.na{background-color:#1a222c;color:#dbe7f5}
html[data-theme="dark"] .operation-hub-summary>div:first-child{background-color:#141b24}
html[data-theme="dark"] .operation-hub-summary>div:first-child>span{color:#dbe7f5}
html[data-theme="dark"] .operation-hub-summary>div:first-child>strong{color:#dbe7f5}
html[data-theme="dark"] .operation-hub-summary>div:first-child>small{color:#dbe7f5}
html[data-theme="dark"] .operation-hub-stations button{background-color:#141b24;color:#dbe7f5}
html[data-theme="dark"] .operation-hub-stations button b{color:#dbe7f5}
html[data-theme="dark"] .operation-hub-stations button small{color:#dbe7f5}
html[data-theme="dark"] .report-head-v112>div:first-child p:last-child{color:#dbe7f5}
html[data-theme="dark"] .report-progress-ring{background-color:#141b24}
html[data-theme="dark"] .report-progress-ring b{color:#dbe7f5}
html[data-theme="dark"] .report-progress-ring small{color:#dbe7f5}
html[data-theme="dark"] .report-card-open{color:#dbe7f5}
html[data-theme="dark"] .report-card-open small{color:#dbe7f5}
html[data-theme="dark"] .report-card-open>b{color:#dbe7f5}
html[data-theme="dark"] .report-card-open>em{color:#dbe7f5}
html[data-theme="dark"] .report-line-v112{background-color:#141b24}
html[data-theme="dark"] .report-line-v112 b{color:#dbe7f5}
html[data-theme="dark"] .report-line-v112 em{color:#79d9ac}
html[data-theme="dark"] .report-line-v112.missing{background-color:#2a1e21}
html[data-theme="dark"] .report-line-v112.missing em{color:#ff9c9c}
html[data-theme="dark"] .report-line-v112.na{background-color:#1a222c}
html[data-theme="dark"] .report-line-v112.na em{color:#dbe7f5}
html[data-theme="dark"] .report-station-detail{background-color:#141b24}
html[data-theme="dark"] .report-detail-head span{color:#dbe7f5}
html[data-theme="dark"] .report-detail-head h2{color:#dbe7f5}
html[data-theme="dark"] .report-detail-head p{color:#dbe7f5}
html[data-theme="dark"] .report-detail-summary article{background-color:#141b24}
html[data-theme="dark"] .report-detail-summary span{color:#dbe7f5}
html[data-theme="dark"] .report-detail-summary b{color:#dbe7f5}
html[data-theme="dark"] .report-detail-summary b.ok{color:#79d9ac}
html[data-theme="dark"] .report-detail-summary b.bad{color:#ff9c9c}
html[data-theme="dark"] .report-detail-summary small{color:#dbe7f5}
html[data-theme="dark"] .report-doc-card{background-color:#141b24}
html[data-theme="dark"] .report-doc-card>div:first-child small{color:#dbe7f5}
html[data-theme="dark"] .report-doc-type{color:#dbe7f5}
html[data-theme="dark"] .report-recognition span{background-color:#17222f;color:#dbe7f5}
html[data-theme="dark"] .report-recognition b{color:#dbe7f5}
html[data-theme="dark"] .report-submit-list button{background-color:#141b24;color:#dbe7f5}
html[data-theme="dark"] .report-submit-list button b{color:#dbe7f5}
html[data-theme="dark"] .report-submit-list button small{color:#dbe7f5}
html[data-theme="dark"] .v112-mobile-report{background-color:#141b24}
html[data-theme="dark"] /* 색선이 사라진 뒤에도 상태는 충분히 구분되도록 면과 배지만 사용 */
.v193-guide.bad,
  html[data-theme="dark"] .v193-station.bad,
  html[data-theme="dark"] .report-card-v112.bad{background-color:#141b24 !important}
html[data-theme="dark"] .v193-guide.warn,
  html[data-theme="dark"] .v193-station.warn,
  html[data-theme="dark"] .report-card-v112.warn{background-color:#141b24 !important}
html[data-theme="dark"] .v193-guide:not(.bad):not(.warn):not(.unknown),
  html[data-theme="dark"] .v193-station:not(.bad):not(.warn),
  html[data-theme="dark"] .report-card-v112:not(.bad):not(.warn){background-color:#141b24 !important}
html[data-theme="dark"] .station-card.problem,
  html[data-theme="dark"] .message-card.urgent,
  html[data-theme="dark"] .work-push-required.problem,
  html[data-theme="dark"] .role-station-row.needs,
  html[data-theme="dark"] .mobile-priority-row.needs,
  html[data-theme="dark"] .role-station-mini.needs,
  html[data-theme="dark"] .station-backup-row.warn,
  html[data-theme="dark"] .tank-forecast-row.bad{background-color:#141b24 !important}
html[data-theme="dark"] .station-tile.problem,
  html[data-theme="dark"] .cal-kpi.bad,
  html[data-theme="dark"] .trend-kpi.warn,
  html[data-theme="dark"] .tank-forecast-row.warn{background-color:#141b24 !important}
html[data-theme="dark"] .v1200-tank-visual>strong{color:#dbe7f5}
html[data-theme="dark"] .terminal-sortbar label{color:#dbe7f5}
html[data-theme="dark"] .terminal-sortbar small{color:#dbe7f5}
html[data-theme="dark"] .setup-order-no{color:#dbe7f5}
html[data-theme="dark"] .factory-reset-dialog{background-color:#141b24}
html[data-theme="dark"] .factory-reset-warning-icon{background-color:#2a1e21;color:#ff9c9c}
html[data-theme="dark"] .factory-reset-dialog h2{color:#ff9c9c}
html[data-theme="dark"] .factory-reset-dialog p{color:#dbe7f5}
html[data-theme="dark"] .factory-reset-dialog .factory-reset-backup-note{background-color:#2a1e21;color:#ff9c9c}
html[data-theme="dark"] /* v1.3.7 — 자료 촬영·원본 모아보기·간편 인식수정 */
.document-capture-guide{background-color:#141b24}
html[data-theme="dark"] .document-capture-guide strong{color:#dbe7f5}
html[data-theme="dark"] .document-capture-guide p{color:#dbe7f5}
html[data-theme="dark"] .document-capture-guide small{color:#dbe7f5}
html[data-theme="dark"] .document-filter-grid label{color:#dbe7f5}
html[data-theme="dark"] .document-gallery-card{background-color:#141b24}
html[data-theme="dark"] .document-gallery-preview{background-color:#1a222c}
html[data-theme="dark"] .document-gallery-preview img{background-color:#141b24}
html[data-theme="dark"] .document-gallery-preview iframe{background-color:#141b24}
html[data-theme="dark"] .document-gallery-meta small{color:#dbe7f5}
html[data-theme="dark"] .document-record-row .identity-warning{color:#f3c579}
html[data-theme="dark"] .document-record-row .identity-ok{color:#79d9ac}
html[data-theme="dark"] .calendar-mode-switch{background-color:#17222f}
html[data-theme="dark"] .calendar-mode-option{color:#dbe7f5}
html[data-theme="dark"] .calendar-day.purchase-mode .purchase-badge{background-color:#1a222c;color:#79d9ac}
html[data-theme="dark"] .calendar-day.failure-mode .calendar-failure-badge{background-color:#2a1e21;color:#ff9c9c}
html[data-theme="dark"] .calendar-day.failure-mode .day-sales{color:#79d9ac;background-color:#1a222c}
html[data-theme="dark"] .calendar-purchase-tip-row{background-color:#141b24}
html[data-theme="dark"] .calendar-purchase-tip-row strong{color:#dbe7f5}
html[data-theme="dark"] .calendar-purchase-tip-row small{color:#dbe7f5}
html[data-theme="dark"] .calendar-purchase-tip-row span{color:#dbe7f5}
html[data-theme="dark"] .calendar-purchase-tip-row>b{color:#dbe7f5}
html[data-theme="dark"] .calendar-purchase-tip-row>em{color:#dbe7f5}
html[data-theme="dark"] .calendar-finance-tip{background-color:#141b24}
html[data-theme="dark"] .calendar-finance-tip strong{color:#dbe7f5}
html[data-theme="dark"] .calendar-finance-tip span{color:#dbe7f5}
html[data-theme="dark"] .calendar-failure-tip-row{background-color:#141b24}
html[data-theme="dark"] .calendar-failure-tip-row time{color:#ff9c9c}
html[data-theme="dark"] .calendar-failure-tip-row>div small{color:#dbe7f5}
html[data-theme="dark"] .calendar-failure-tip-row>div strong{color:#dbe7f5}
html[data-theme="dark"] .calendar-failure-tip-row>div span{color:#dbe7f5}
html[data-theme="dark"] .calendar-failure-tip-row>b{color:#dbe7f5}
html[data-theme="dark"] .calendar-day-financial-card{background-color:#141b24}
html[data-theme="dark"] .calendar-day-financial-card strong{color:#dbe7f5}
html[data-theme="dark"] .calendar-day-financial-card span{color:#dbe7f5}
html[data-theme="dark"] .calendar-detail-station{color:#dbe7f5}
html[data-theme="dark"] .calendar-purchase-main{background-color:#141b24}
html[data-theme="dark"] .calendar-purchase-main span{color:#dbe7f5}
html[data-theme="dark"] .calendar-purchase-main strong{color:#dbe7f5}
html[data-theme="dark"] .calendar-purchase-quantities span{background-color:#141b24;color:#dbe7f5}
html[data-theme="dark"] .calendar-purchase-quantities b{color:#dbe7f5}
html[data-theme="dark"] .calendar-purchase-source{color:#dbe7f5}
html[data-theme="dark"] .calendar-failure-detail-head time{color:#ff9c9c}
html[data-theme="dark"] .calendar-failure-money>div{background-color:#141b24}
html[data-theme="dark"] .calendar-failure-money span{color:#dbe7f5}
html[data-theme="dark"] .calendar-failure-money strong{color:#ff9c9c}
html[data-theme="dark"] .calendar-failure-money b{color:#dbe7f5}
html[data-theme="dark"] .failure-approval-no{background-color:#141b24}
html[data-theme="dark"] .failure-approval-no span{color:#dbe7f5}
html[data-theme="dark"] .failure-approval-no strong{color:#dbe7f5}
html[data-theme="dark"] .calendar-failure-minor span{color:#dbe7f5;background-color:#1a222c}
html[data-theme="dark"] .calendar-failure-detail p{color:#dbe7f5}
html[data-theme="dark"] .v1321-head small{color:#dbe7f5}
html[data-theme="dark"] .v1321-head h2{color:#dbe7f5}
html[data-theme="dark"] .v1321-head-status{color:#dbe7f5}
html[data-theme="dark"] .v1321-head-status button{background-color:#141b24;color:#dbe7f5}
html[data-theme="dark"] .v1321-kpis .v1200-kpi{background-color:#141b24}
html[data-theme="dark"] .v1321-card{background-color:#141b24}
html[data-theme="dark"] .v1321-card>header h3{color:#dbe7f5}
html[data-theme="dark"] .v1321-card>header small{color:#dbe7f5}
html[data-theme="dark"] .v1321-empty{color:#dbe7f5;background-color:#141b24}
html[data-theme="dark"] .v1321-bar-row:hover{background-color:#141b24}
html[data-theme="dark"] .v1321-bar-row>span{color:#dbe7f5}
html[data-theme="dark"] .v1321-bar-row>i{background-color:#1a222c}
html[data-theme="dark"] .v1321-bar-row>strong{color:#dbe7f5}
html[data-theme="dark"] .v1321-bar-row>small{color:#dbe7f5}
html[data-theme="dark"] .v1321-bar-row.bad{background-color:#2a1e21}
html[data-theme="dark"] .v1321-bar-row.bad>strong,
  html[data-theme="dark"] .v1321-bar-row.bad>small{color:#ff9c9c}
html[data-theme="dark"] .v1321-bar-row.warn{background-color:#241a1c}
html[data-theme="dark"] .v1321-bar-row.warn>strong{color:#f3c579}
html[data-theme="dark"] .v1321-hourly small{color:#dbe7f5}
html[data-theme="dark"] .v1321-foot{color:#dbe7f5}
html[data-theme="dark"] .v1321-inbound button{background-color:#141b24;color:#dbe7f5}
html[data-theme="dark"] .v1321-inbound time{color:#dbe7f5}
html[data-theme="dark"] /* 달력 상태: 예정은 점선/연한 파랑,
  html[data-theme="dark"] 실제 입고는 초록. 오늘은 셀 전체를 부드럽게 강조. */
.calendar-day.today{background-color:#17222f !important}
html[data-theme="dark"] .calendar-day.today>.day-head{background-color:#17222f}
html[data-theme="dark"] .calendar-day .delivery-badge.expected{background-color:#17222f !important;color:#dbe7f5 !important}
html[data-theme="dark"] .calendar-day .delivery-badge.received{background-color:#1a222c !important;color:#79d9ac !important}
html[data-theme="dark"] .calendar-delivery-advanced{background-color:#141b24}
html[data-theme="dark"] .calendar-delivery-advanced summary{color:#dbe7f5}
html[data-theme="dark"] .goods-sheet-summary>span{background-color:#141b24}
html[data-theme="dark"] .goods-sheet-summary small{color:#dbe7f5}
html[data-theme="dark"] .goods-sheet-summary b{color:#dbe7f5}
html[data-theme="dark"] .goods-sheet-summary .bad{background-color:#2a1e21}
html[data-theme="dark"] .goods-sheet-summary .bad b{color:#ff9c9c}
html[data-theme="dark"] .goods-sheet-summary .warn{background-color:#241a1c}
html[data-theme="dark"] .goods-sheet-summary .warn b{color:#f3c579}
html[data-theme="dark"] .goods-sheet-table-wrap{background-color:#141b24}
html[data-theme="dark"] .goods-sheet-table th{background-color:#1a222c;color:#dbe7f5}
html[data-theme="dark"] .goods-sheet-table td{background-color:#141b24}
html[data-theme="dark"] .goods-sheet-table tr.bad td{background-color:#141b24}
html[data-theme="dark"] .goods-sheet-table tr.warn td{background-color:#241a1c}
html[data-theme="dark"] .goods-sheet-table tr:hover td{background-color:#141b24}
html[data-theme="dark"] .goods-sheet-table .goods-name small{color:#dbe7f5}
html[data-theme="dark"] .goods-sheet-status{background-color:#1a222c;color:#79d9ac}
html[data-theme="dark"] .goods-sheet-status.bad{background-color:#2a1e21;color:#ff9c9c}
html[data-theme="dark"] .goods-sheet-status.warn{background-color:#2a2419;color:#f3c579}
html[data-theme="dark"] .sheet-edit-hint{color:#dbe7f5}
html[data-theme="dark"] /* v1.3.22 — 조회실패/예측보류/전체목록 표시 */
.v1321-empty.error{background-color:#141b24;color:#ff9c9c}
html[data-theme="dark"] .v1321-empty.error button{background-color:#141b24;color:#ff9c9c}
html[data-theme="dark"] .v1321-note.warn{background-color:#241a1c;color:#f3c579}
html[data-theme="dark"] .v1322-forecast-pending{background-color:#141b24;color:#dbe7f5}
html[data-theme="dark"] .v1322-basis-strip span{background-color:#141b24;color:#dbe7f5}
html[data-theme="dark"] .v1322-basis-strip b{color:#dbe7f5}
html[data-theme="dark"] /* v1.3.23 — 대표 전용 전체 비교 대시보드. 개별 주유소 대시보드는 기존 규칙 유지. */
.v1323-ceo .v1321-kpis .v1200-kpi>span{color:#dbe7f5}
html[data-theme="dark"] .v1323-column>b,
  html[data-theme="dark"] .v1323-station-column>b{color:#dbe7f5}
html[data-theme="dark"] .v1323-column>small{color:#dbe7f5}
html[data-theme="dark"] .v1323-station-column:hover>i{background-color:#1a222c}
html[data-theme="dark"] .v1323-station-column>span{color:#dbe7f5}
html[data-theme="dark"] .v1323-chart-help{color:#dbe7f5}
html[data-theme="dark"] .v1323-station-tile{background-color:#141b24;color:#dbe7f5}
html[data-theme="dark"] .v1323-station-tile:hover{background-color:#141b24}
html[data-theme="dark"] .v1323-station-tile.bad{background-color:#141b24}
html[data-theme="dark"] .v1323-station-tile>header em{color:#dbe7f5}
html[data-theme="dark"] .v1323-station-tile>div span{background-color:#141b24}
html[data-theme="dark"] .v1323-station-tile>div small{color:#dbe7f5}
html[data-theme="dark"] .v1323-station-tile>div strong{color:#dbe7f5}
html[data-theme="dark"] .v1323-station-tile>footer span{background-color:#1a222c;color:#dbe7f5}
html[data-theme="dark"] .v1323-station-tile>footer span.bad{background-color:#2a1e21;color:#ff9c9c}
html[data-theme="dark"] .v1323-station-tile>footer span.warn{background-color:#2a2419;color:#f3c579}
html[data-theme="dark"] .v1323-station-group{background-color:#141b24}
html[data-theme="dark"] .v1323-station-group>header{background-color:#141b24}
html[data-theme="dark"] .v1323-station-group>header button{color:#dbe7f5}
html[data-theme="dark"] .v1323-station-group>header button:hover{background-color:#17222f}
html[data-theme="dark"] .v1323-station-group>header span{color:#dbe7f5}
html[data-theme="dark"] .v1323-station-group>header em{color:#dbe7f5}
html[data-theme="dark"] /* ── PC 왼쪽 메뉴: 선택 시안처럼 밝고 가볍게 ── */
@media(min-width:960px){color:#dbe7f5 !important;color:#dbe7f5 !important;color:#dbe7f5 !important;color:#dbe7f5 !important;background-color:#17222f !important;color:#dbe7f5 !important;color:#dbe7f5 !important}
html[data-theme="dark"] /* 폰: 같은 디자인,
  html[data-theme="dark"] 한 화면에 너무 커지지 않게 */
@media(max-width:959px){background-color:#17222f !important}
html[data-theme="dark"] /* ============================================================
   v1.3.27 안정화 — 상단 주요 버튼 대비 / 자료상태 카드
   ============================================================ */
@media(min-width:960px){background-color:#141b24 !important;color:#dbe7f5 !important;color:#dbe7f5 !important}
html[data-theme="dark"] .v1327-data-state{background-color:#141b24 !important;color:#dbe7f5 !important}
html[data-theme="dark"] .v1327-data-state b{color:#dbe7f5 !important}
html[data-theme="dark"] .v1327-data-state small{color:#dbe7f5 !important}
html[data-theme="dark"] .v1327-data-state.ok{background-color:#141b24 !important}
html[data-theme="dark"] .v1327-data-state.warn{background-color:#241a1c !important}
html[data-theme="dark"] .v1327-data-state.bad{background-color:#141b24 !important}

@media (min-width: 960px){
  html[data-theme="dark"] .sidebar-nav button[data-nav]:hover{background-color:#141b24}
  html[data-theme="dark"] .sidebar-nav button[data-nav].active{background-color:#141b24}
  html[data-theme="dark"] .quick-btn{background-color:#141b24}
  html[data-theme="dark"] .quick-btn:hover{background-color:#141b24}
}

@supports not (background: color-mix(in srgb, red 10%, white)){
  html[data-theme="dark"] .supplier-badge{background-color:#17222f}
}

@media (max-width: 959px){
  html[data-theme="dark"] .phone-nav-row.sub{background-color:#141b24}
  html[data-theme="dark"] .phone-nav-row.sub .phone-nav-item.active{background-color:#141b24}
}

@media (max-width:959px){
  html[data-theme="dark"] .topbar .top-actions .quiet{background-color:#141b24}
  html[data-theme="dark"] main{background-color:#1a222c}
  html[data-theme="dark"] .mobile-home-role{color:#dbe7f5}
  html[data-theme="dark"] .mobile-home-head p{color:#dbe7f5}
  html[data-theme="dark"] .mobile-stat{background-color:#141b24}
  html[data-theme="dark"] .mobile-stat span{color:#dbe7f5}
  html[data-theme="dark"] .mobile-home-card{background-color:#141b24}
  html[data-theme="dark"] .mobile-card-head span{color:#dbe7f5}
  html[data-theme="dark"] .mobile-card-head button{background-color:#1a222c;color:#dbe7f5}
  html[data-theme="dark"] .mobile-priority-row{background-color:#141b24}
  html[data-theme="dark"] .mobile-priority-row.needs{background-color:#141b24}
  html[data-theme="dark"] .mobile-priority-row small{color:#dbe7f5}
  html[data-theme="dark"] .mobile-priority-row>b{color:#dbe7f5}
  html[data-theme="dark"] .mobile-action-grid button{background-color:#141b24}
  html[data-theme="dark"] .mobile-action-grid span{color:#dbe7f5}
  html[data-theme="dark"] .mobile-alert-list button{background-color:#141b24}
  html[data-theme="dark"] .mobile-alert-list small{color:#dbe7f5}
  html[data-theme="dark"] .mobile-connect-grid button{background-color:#141b24}
  html[data-theme="dark"] .mobile-connect-grid span{color:#dbe7f5}
  html[data-theme="dark"] .mobile-connect-grid strong{color:#dbe7f5}
  html[data-theme="dark"] .mobile-calendar-summary p{color:#dbe7f5}
  html[data-theme="dark"] .mobile-empty-ok,
  html[data-theme="dark"] .mobile-empty-error{color:#dbe7f5}
  html[data-theme="dark"] .mobile-empty-ok{background-color:#141b24;color:#79d9ac}
  html[data-theme="dark"] .mobile-empty-error{background-color:#141b24;color:#ff9c9c}
}

@media(min-width:960px){
  html[data-theme="dark"] .sidebar-brand-mark{background-color:#141b24 !important;color:#dbe7f5 !important}
  html[data-theme="dark"] .topbar{background-color:#141b24}
  html[data-theme="dark"] .role-dashboard-head h1{color:#dbe7f5}
  html[data-theme="dark"] .role-dashboard-head p{color:#dbe7f5}
  html[data-theme="dark"] .role-dashboard-asof{color:#dbe7f5}
  html[data-theme="dark"] .role-dashboard-kpis .work-stat strong{color:#dbe7f5}
  html[data-theme="dark"] .role-dashboard-panel{background-color:#141b24}
  html[data-theme="dark"] .role-panel-head h2{color:#dbe7f5}
  html[data-theme="dark"] .role-station-table-head{background-color:#1a222c}
  html[data-theme="dark"] .role-station-mini.needs{background-color:#141b24 !important}
  html[data-theme="dark"] .station-tank-track{background-color:#1a222c !important}
  html[data-theme="dark"] .work-status-cell.done{background-color:#16261d !important;color:#79d9ac !important}
  html[data-theme="dark"] .work-status-cell.done b{color:#79d9ac}
  html[data-theme="dark"] .work-status-cell.missing{background-color:#2a1e21 !important;color:#ff9c9c !important}
  html[data-theme="dark"] .dashboard-no-data{color:#dbe7f5}
  html[data-theme="dark"] .work-rank-list button,
  html[data-theme="dark"] .work-tank-overview button{background-color:#141b24;color:#dbe7f5}
  html[data-theme="dark"] .work-rank-list button>b{background-color:#17222f;color:#dbe7f5}
  html[data-theme="dark"] .work-rank-list button>i,
  html[data-theme="dark"] .work-tank-overview button>i{background-color:#1a222c}
  html[data-theme="dark"] .work-rank-list button>strong small{color:#79d9ac}
  html[data-theme="dark"] .work-tank-overview button span small{color:#dbe7f5}
  html[data-theme="dark"] .topbar{background-color:#141b24 !important}
  html[data-theme="dark"] .page-title h1{color:#dbe7f5 !important}
  html[data-theme="dark"] .quiet{background-color:#141b24 !important;color:#dbe7f5 !important}
  html[data-theme="dark"] .form-card,
  html[data-theme="dark"] .panel,
  html[data-theme="dark"] .overview-panel,
  html[data-theme="dark"] .trend-panel,
  html[data-theme="dark"] .role-dashboard-panel,
  html[data-theme="dark"] .operation-submit-panel,
  html[data-theme="dark"] .operation-inbox-panel{background-color:#141b24 !important}
  html[data-theme="dark"] .form-card input,
  html[data-theme="dark"] .form-card select,
  html[data-theme="dark"] .form-card textarea,
  html[data-theme="dark"] .panel input,
  html[data-theme="dark"] .panel select,
  html[data-theme="dark"] .panel textarea,
  html[data-theme="dark"] .toolbar input,
  html[data-theme="dark"] .toolbar select,
  html[data-theme="dark"] .sheet-toolbar input,
  html[data-theme="dark"] .sheet-toolbar select{background-color:#141b24 !important;color:#dbe7f5 !important}
  html[data-theme="dark"] .tab-bar{background-color:#17222f !important}
  html[data-theme="dark"] .tab-button{color:#dbe7f5 !important}
  html[data-theme="dark"] .tab-button.active{background-color:#141b24 !important}
  html[data-theme="dark"] .segmented{background-color:#17222f !important}
  html[data-theme="dark"] .segmented button.active{background-color:#141b24 !important}
  html[data-theme="dark"] .section-label{color:#dbe7f5 !important}
  html[data-theme="dark"] .data-table th,
  html[data-theme="dark"] .sheet-table th{color:#dbe7f5 !important}
  html[data-theme="dark"] .data-table td,
  html[data-theme="dark"] .sheet-table td{background-color:#141b24 !important}
  html[data-theme="dark"] .target-panel-head{background-color:#141b24 !important}
  html[data-theme="dark"] .station-tank-value b{color:#dbe7f5}
  html[data-theme="dark"] .work-status-cell.done{color:#79d9ac !important}
  html[data-theme="dark"] .work-status-cell.warn{color:#f3c579 !important}
  html[data-theme="dark"] .message-thread-panel{background-color:#141b24}
  html[data-theme="dark"] .document-list-panel{background-color:#141b24}
  html[data-theme="dark"] #inventoryCards{background-color:#141b24}
  html[data-theme="dark"] .ledger-list-panel{background-color:#141b24}
  html[data-theme="dark"] /* 공통 Excel형 동적 목록 */
  .dense-record-head{color:#dbe7f5}
  html[data-theme="dark"] .dense-record-row{background-color:#141b24 !important}
  html[data-theme="dark"] .dense-record-row:hover{background-color:#141b24 !important}
  html[data-theme="dark"] .page-title h1{color:#dbe7f5 !important}
  html[data-theme="dark"] .page-title p{color:#dbe7f5 !important}
  html[data-theme="dark"] .target-dashboard-loading{background-color:#141b24}
  html[data-theme="dark"] .target-kpi{background-color:#141b24}
  html[data-theme="dark"] .target-kpi-icon{background-color:#1a222c}
  html[data-theme="dark"] .target-kpi-copy small{color:#dbe7f5}
  html[data-theme="dark"] .target-kpi-copy strong{color:#dbe7f5}
  html[data-theme="dark"] .target-kpi-copy em{color:#dbe7f5}
  html[data-theme="dark"] .target-panel{background-color:#141b24}
  html[data-theme="dark"] .target-panel-head{background-color:#141b24}
  html[data-theme="dark"] .target-panel-head h2{color:#dbe7f5}
  html[data-theme="dark"] .target-link{background-color:#141b24}
  html[data-theme="dark"] .target-station-panel .role-station-table-head{background-color:#141b24 !important}
  html[data-theme="dark"] .target-station-panel .role-station-mini{background-color:#141b24 !important}
  html[data-theme="dark"] .target-station-panel .role-station-mini.needs{background-color:#141b24 !important}
  html[data-theme="dark"] .target-donut:after{background-color:#141b24}
  html[data-theme="dark"] .target-donut small{color:#dbe7f5}
  html[data-theme="dark"] .target-donut strong{color:#dbe7f5}
  html[data-theme="dark"] .target-sales-legend button{background-color:#141b24}
  html[data-theme="dark"] .target-sales-legend button span{color:#dbe7f5}
  html[data-theme="dark"] .target-sales-legend button b{color:#dbe7f5}
  html[data-theme="dark"] .target-tank-list button{background-color:#141b24}
  html[data-theme="dark"] .target-tank-list button span b{color:#dbe7f5}
  html[data-theme="dark"] .target-tank-list button span small{color:#dbe7f5}
  html[data-theme="dark"] .target-tank-list button>strong{color:#dbe7f5}
  html[data-theme="dark"] .target-tank-list button>i{background-color:#1a222c}
  html[data-theme="dark"] .target-progress-bars span{color:#dbe7f5}
  html[data-theme="dark"] .target-progress-bars i{background-color:#1a222c}
  html[data-theme="dark"] .target-progress-bars strong{color:#dbe7f5}
  html[data-theme="dark"] .target-list-row{background-color:#141b24}
  html[data-theme="dark"] .target-list-row b{color:#dbe7f5}
  html[data-theme="dark"] .target-list-row small{color:#dbe7f5}
  html[data-theme="dark"] .target-empty-list,
  html[data-theme="dark"] .target-empty-chart{color:#dbe7f5}
  html[data-theme="dark"] .target-empty-chart strong{color:#dbe7f5}
  html[data-theme="dark"] .target-action-row{background-color:#141b24}
  html[data-theme="dark"] .target-action-row b{color:#dbe7f5}
  html[data-theme="dark"] .target-action-row small{color:#dbe7f5}
  html[data-theme="dark"] .target-quick-grid button{background-color:#141b24}
  html[data-theme="dark"] .target-quick-grid button strong{color:#dbe7f5}
  html[data-theme="dark"] /* 실제 업무 화면 전체도 동일한 시안 언어로 정돈 */
  .form-card,
  html[data-theme="dark"] .overview-panel,
  html[data-theme="dark"] .trend-panel,
  html[data-theme="dark"] .station-card,
  html[data-theme="dark"] .role-dashboard-panel,
  html[data-theme="dark"] .operation-submit-panel,
  html[data-theme="dark"] .operation-inbox,
  html[data-theme="dark"] .recognition-dialog,
  html[data-theme="dark"] .password-dialog{background-color:#141b24 !important}
  html[data-theme="dark"] .form-card h2,
  html[data-theme="dark"] .form-card h3{color:#dbe7f5 !important}
  html[data-theme="dark"] .form-card label{color:#dbe7f5 !important}
  html[data-theme="dark"] .form-card input,
  html[data-theme="dark"] .form-card select,
  html[data-theme="dark"] .form-card textarea{background-color:#141b24 !important}
  html[data-theme="dark"] .quiet{background-color:#141b24 !important;color:#dbe7f5 !important}
  html[data-theme="dark"] .data-table th,
  html[data-theme="dark"] .sheet-table th{background-color:#141b24 !important;color:#dbe7f5 !important}
  html[data-theme="dark"] .station-head h2,
  html[data-theme="dark"] .station-head strong{color:#dbe7f5 !important}
  html[data-theme="dark"] .top-nav-button{background-color:#141b24;color:#dbe7f5}
  html[data-theme="dark"] .top-nav-button.home{background-color:#17222f;color:#dbe7f5}
  html[data-theme="dark"] .ui-setting-cluster label{background-color:#141b24}
  html[data-theme="dark"] .ui-setting-cluster label>span{color:#dbe7f5}
  html[data-theme="dark"] .ui-setting-cluster select{background-color:#141b24}
  html[data-theme="dark"] .demo-data-badge{background-color:#2a2419;color:#f3c579}
  html[data-theme="dark"] .target-kpi-copy small{color:#dbe7f5 !important}
  html[data-theme="dark"] .manager-tank-card{background-color:#141b24}
  html[data-theme="dark"] .manager-tank-card.warn{background-color:#241a1c}
  html[data-theme="dark"] .manager-tank-card.danger{background-color:#2a1e21}
  html[data-theme="dark"] .manager-tank-head b{color:#dbe7f5}
  html[data-theme="dark"] .manager-tank-head em{color:#dbe7f5}
  html[data-theme="dark"] .manager-tank-card>strong{color:#dbe7f5}
  html[data-theme="dark"] .manager-tank-card>small{color:#dbe7f5}
  html[data-theme="dark"] .manager-tank-card>i{background-color:#17222f}
  html[data-theme="dark"] .manager-sales-bars small{color:#dbe7f5}
  html[data-theme="dark"] .station-fuel-card{background-color:#141b24}
  html[data-theme="dark"] .station-fuel-card:hover{background-color:#141b24}
  html[data-theme="dark"] .station-fuel-card>strong{color:#dbe7f5}
  html[data-theme="dark"] .station-fuel-line>i{background-color:#17222f}
  html[data-theme="dark"] .station-fuel-line>small{color:#dbe7f5}
  html[data-theme="dark"] .station-fuel-line.risk small,
  html[data-theme="dark"] .station-fuel-line.risk b{color:#ff9c9c}
  html[data-theme="dark"] .overview-dashboard-grid>section{background-color:#141b24}
  html[data-theme="dark"] .station-detail-link-grid button{background-color:#141b24}
  html[data-theme="dark"] .station-detail-link-grid b{color:#dbe7f5}
  html[data-theme="dark"] .station-detail-link-grid span{color:#dbe7f5}
  html[data-theme="dark"] .manager-tank-compare button,
  html[data-theme="dark"] .manager-fuel-mix button{background-color:#141b24;color:#dbe7f5}
  html[data-theme="dark"] .manager-tank-compare small,
  html[data-theme="dark"] .manager-fuel-mix small{color:#dbe7f5}
  html[data-theme="dark"] .manager-tank-compare button>i,
  html[data-theme="dark"] .manager-fuel-mix button>i{background-color:#1a222c}
  html[data-theme="dark"] .manager-tank-compare button.danger,
  html[data-theme="dark"] .manager-fuel-mix button.risk{background-color:#141b24}
  html[data-theme="dark"] .manager-tank-compare button>strong small{color:#dbe7f5}
  html[data-theme="dark"] .v119-staff-board>section{background-color:#141b24}
  html[data-theme="dark"] .v119-staff-board>section>header{background-color:#141b24}
  html[data-theme="dark"] .v119-staff-board>section>header small{color:#dbe7f5}
  html[data-theme="dark"] .v119-staff-board>section>header strong{color:#dbe7f5}
  html[data-theme="dark"] .v119-staff-summary span{background-color:#141b24}
  html[data-theme="dark"] .v119-staff-summary small{color:#dbe7f5}
  html[data-theme="dark"] .v119-staff-summary b{color:#dbe7f5}
  html[data-theme="dark"] .v119-staff-summary b.bad{color:#ff9c9c}
  html[data-theme="dark"] .v119-staff-summary b.ok{color:#79d9ac}
  html[data-theme="dark"] .v119-staff-quick button{background-color:#141b24;color:#dbe7f5}
  html[data-theme="dark"] .v119-staff-quick small{color:#dbe7f5}
  html[data-theme="dark"] .v119-staff-quick em{color:#dbe7f5}
  html[data-theme="dark"] body .ui-scale-popover>summary{background-color:#141b24 !important;color:#dbe7f5 !important}
  html[data-theme="dark"] body .ui-scale-popover>summary::after{color:#dbe7f5 !important}
  html[data-theme="dark"] body .ui-scale-popover[open]>summary{background-color:#17222f !important;color:#dbe7f5 !important}
  html[data-theme="dark"] body .ui-scale-popover>summary strong{color:#dbe7f5 !important}
  html[data-theme="dark"] body .ui-scale-popover-panel{background-color:#141b24 !important}
  html[data-theme="dark"] body .ui-scale-popover-panel>.ui-scale-main,
  html[data-theme="dark"] body .ui-scale-popover-panel>.ui-scale-body{background-color:#141b24 !important}
  html[data-theme="dark"] body .ui-scale-popover-panel>.ui-scale-main>span,
  html[data-theme="dark"] body .ui-scale-popover-panel>.ui-scale-body>span{color:#dbe7f5 !important}
  html[data-theme="dark"] body .ui-scale-popover-panel>.ui-scale-main select,
  html[data-theme="dark"] body .ui-scale-popover-panel>.ui-scale-body select{background-color:#141b24 !important;color:#dbe7f5 !important}
  html[data-theme="dark"] body .ui-scale-popover-panel .ui-setting-detail>summary{background-color:#141b24 !important;color:#dbe7f5 !important}
  html[data-theme="dark"] body .ui-scale-popover-panel .ui-setting-detail>summary::after{color:#dbe7f5}
  html[data-theme="dark"] body .ui-scale-popover-panel .ui-setting-detail-grid{background-color:#141b24 !important}
}

@media(max-width:959px){
  html[data-theme="dark"] .phone-nav-row.sub .phone-nav-item.active{background-color:#141b24 !important;color:#dbe7f5 !important}
  html[data-theme="dark"] .mobile-home-role{color:#dbe7f5 !important}
  html[data-theme="dark"] .mobile-notify-button{background-color:#141b24 !important;color:#dbe7f5 !important}
  html[data-theme="dark"] .mobile-stat{background-color:#141b24 !important}
  html[data-theme="dark"] .mobile-card-head span{color:#dbe7f5 !important}
  html[data-theme="dark"] .mobile-action-grid button{background-color:#141b24 !important}
  html[data-theme="dark"] .mobile-action-grid button:before{background-color:#17222f;color:#dbe7f5}
  html[data-theme="dark"] #mainContent{background-color:#141b24 !important}
  html[data-theme="dark"] .mobile-work-actions button,
  html[data-theme="dark"] .mobile-priority-row,
  html[data-theme="dark"] .mobile-stat,
  html[data-theme="dark"] .mobile-work-section{background-color:#141b24 !important}
  html[data-theme="dark"] .mobile-work-section h2{color:#dbe7f5 !important}
  html[data-theme="dark"] .phone-nav{background-color:#141b24 !important}
  html[data-theme="dark"] [data-view="dashboard"] .target-dashboard-top:after{background-color:#141b24;color:#dbe7f5}
  html[data-theme="dark"] body #phoneNavTop .phone-nav-item{color:#dbe7f5 !important}
  html[data-theme="dark"] body #phoneNavSub .phone-nav-item.active{background-color:#141b24 !important;color:#dbe7f5 !important}
}

@media (min-width:960px){
  html[data-theme="dark"] .topbar-brand-v119 small{background-color:#141b24;color:#dbe7f5}
  html[data-theme="dark"] body .topbar #adminRolePreview select{background-color:#141b24 !important;color:#dbe7f5 !important}
  html[data-theme="dark"] body .topbar .ui-setting-cluster input[type="number"]{background-color:#141b24 !important;color:#dbe7f5 !important}
  html[data-theme="dark"] body .topbar .data-mode-setting select{background-color:#141b24 !important;color:#dbe7f5 !important}
  html[data-theme="dark"] body .topbar .demo-data-badge{background-color:#30291c !important;color:#f3c579 !important}
  html[data-theme="dark"] .v119-loading{background-color:#141b24}
  html[data-theme="dark"] .v119-titlebar span{color:#dbe7f5}
  html[data-theme="dark"] .v119-titlebar h1{color:#dbe7f5}
  html[data-theme="dark"] .v119-titlebar>button,
  html[data-theme="dark"] .v119-panel>header button{background-color:#141b24;color:#dbe7f5}
  html[data-theme="dark"] .v119-kpi{background-color:#141b24}
  html[data-theme="dark"] .v119-kpi>i{background-color:#17222f;color:#dbe7f5}
  html[data-theme="dark"] .v119-kpi.ok>i{background-color:#16261d;color:#79d9ac}
  html[data-theme="dark"] .v119-kpi.warn>i{background-color:#2a1e21}
  html[data-theme="dark"] .v119-kpi.bad>i{background-color:#2a1e21;color:#ff9c9c}
  html[data-theme="dark"] .v119-kpi small{color:#dbe7f5}
  html[data-theme="dark"] .v119-kpi strong{color:#dbe7f5}
  html[data-theme="dark"] .v119-kpi em{color:#dbe7f5}
  html[data-theme="dark"] /* v1.0.69: 옛 대시보드 행/열 그리드(.v119-grid.ceo-main/.admin-top/.manager-main …)는 블럭 구조(.dblk-grid)로 대체 — 삭제. .v119-panel 등 패널 겉모습은 블럭도 그대로 씀. */
  .v119-panel{background-color:#141b24}
  html[data-theme="dark"] .v119-panel>header{background-color:#141b24}
  html[data-theme="dark"] .v119-panel>header small{color:#dbe7f5}
  html[data-theme="dark"] .v119-panel>header strong{color:#dbe7f5}
  html[data-theme="dark"] .v119-table-head{background-color:#141b24;color:#dbe7f5}
  html[data-theme="dark"] .v119-table-row{background-color:#141b24;color:#dbe7f5}
  html[data-theme="dark"] .v119-table-row:hover{background-color:#141b24}
  html[data-theme="dark"] .v119-table-row .station strong{color:#dbe7f5}
  html[data-theme="dark"] .v119-table-row .station small{color:#dbe7f5}
  html[data-theme="dark"] .v119-status.ok{background-color:#16261d;color:#79d9ac}
  html[data-theme="dark"] .v119-status.bad{background-color:#2a1e21;color:#ff9c9c}
  html[data-theme="dark"] .v119-table .ok{color:#79d9ac}
  html[data-theme="dark"] .v119-table .bad{color:#ff9c9c}
  html[data-theme="dark"] .v119-table-row .arrow{color:#dbe7f5}
  html[data-theme="dark"] .v119-chart-bars small{color:#dbe7f5}
  html[data-theme="dark"] .v119-risk-list button{background-color:#141b24}
  html[data-theme="dark"] .v119-risk-list button>b:first-child{background-color:#17222f;color:#dbe7f5}
  html[data-theme="dark"] .v119-risk-list span small{color:#dbe7f5}
  html[data-theme="dark"] .v119-risk-list em{background-color:#1a222c}
  html[data-theme="dark"] .v119-risk-list .bad{color:#ff9c9c}
  html[data-theme="dark"] .v119-risk-list .ok{color:#79d9ac}
  html[data-theme="dark"] .v119-list button{background-color:#141b24}
  html[data-theme="dark"] .v119-list button strong{color:#dbe7f5}
  html[data-theme="dark"] .v119-list button small{color:#dbe7f5}
  html[data-theme="dark"] .v119-list button>em{color:#dbe7f5}
  html[data-theme="dark"] .v119-mini-table button{background-color:#141b24}
  html[data-theme="dark"] .v119-mini-table .bad{color:#ff9c9c}
  html[data-theme="dark"] .v119-mini-table .ok{color:#79d9ac}
  html[data-theme="dark"] .v119-station-cards>button{background-color:#141b24;color:#dbe7f5}
  html[data-theme="dark"] .v119-station-cards>button.risk{background-color:#141b24}
  html[data-theme="dark"] .v119-station-cards header strong{color:#dbe7f5}
  html[data-theme="dark"] .v119-station-cards>button>i{background-color:#1a222c}
  html[data-theme="dark"] .v119-station-cards>button>small{color:#dbe7f5}
  html[data-theme="dark"] .v119-system-cards button{background-color:#141b24}
  html[data-theme="dark"] .v119-system-cards span{color:#dbe7f5}
  html[data-theme="dark"] .v119-system-cards strong{color:#dbe7f5}
  html[data-theme="dark"] .v119-system-cards small{color:#dbe7f5}
  html[data-theme="dark"] .v119-system-cards strong.ok{color:#79d9ac}
  html[data-theme="dark"] .v119-process i{background-color:#1a222c}
  html[data-theme="dark"] .v119-process strong{color:#dbe7f5}
  html[data-theme="dark"] .v119-tank-table .head{background-color:#141b24;color:#dbe7f5}
  html[data-theme="dark"] .v119-tank-table>button{background-color:#141b24;color:#dbe7f5}
  html[data-theme="dark"] .v119-tank-table>button span:nth-child(5)>i{background-color:#1a222c}
  html[data-theme="dark"] .v119-tank-table b.ok{color:#79d9ac}
  html[data-theme="dark"] .v119-tank-table b.bad{color:#ff9c9c}
  html[data-theme="dark"] .v119-tank-cards>button{background-color:#141b24;color:#dbe7f5}
  html[data-theme="dark"] .v119-tank-cards header strong{color:#dbe7f5}
  html[data-theme="dark"] .v119-tank-cards header span{color:#dbe7f5}
  html[data-theme="dark"] .v119-tank-cards>button>b{color:#dbe7f5}
  html[data-theme="dark"] .v119-tank-cards>button>b small{color:#dbe7f5}
  html[data-theme="dark"] .v119-tank-cards .gauge strong{color:#dbe7f5}
  html[data-theme="dark"] .v119-tank-cards footer .bad{color:#ff9c9c}
  html[data-theme="dark"] .v119-tank-cards footer .ok{color:#79d9ac}
  html[data-theme="dark"] .v119-empty{color:#dbe7f5}
  html[data-theme="dark"] .v119-empty.ok{color:#79d9ac}
  html[data-theme="dark"] .v119-empty.bad{color:#ff9c9c;background-color:#141b24}
  html[data-theme="dark"] html[data-ui-role="STAFF"] .work-stat{background-color:#141b24 !important}
  html[data-theme="dark"] html[data-ui-role="STAFF"] .work-stat span{color:#dbe7f5}
  html[data-theme="dark"] .work-stat strong{color:#dbe7f5}
  html[data-theme="dark"] .work-stat small{color:#dbe7f5}
  html[data-theme="dark"] html[data-ui-role="STAFF"] .role-dashboard-panel{background-color:#141b24 !important}
  html[data-theme="dark"] html[data-ui-role="STAFF"] .role-panel-head{background-color:#141b24 !important}
  html[data-theme="dark"] html[data-ui-role="STAFF"] .role-panel-head h2{color:#dbe7f5 !important}
  html[data-theme="dark"] html[data-ui-role="STAFF"] .role-panel-kicker{color:#dbe7f5 !important}
  html[data-theme="dark"] html[data-ui-role="STAFF"] .work-shortcuts button{background-color:#141b24 !important}
  html[data-theme="dark"] /* 패널 머리글이 본문보다 한 겹 위에 있게 */
  body .v119-dashboard .v119-panel>header,
  html[data-theme="dark"] body .v123-ceo .v119-panel>header{background-color:#1a222c !important}
  html[data-theme="dark"] body .v119-dashboard .v119-panel>header strong{color:#dbe7f5 !important}
  html[data-theme="dark"] body .v119-dashboard .v119-kpi strong{color:#dbe7f5 !important}
  html[data-theme="dark"] body .v119-dashboard .v119-kpi.ok strong{color:#79d9ac !important}
  html[data-theme="dark"] body .v119-dashboard .v119-kpi.warn strong{color:#f3c579 !important}
  html[data-theme="dark"] body .v119-dashboard .v119-kpi.bad strong{color:#ff9c9c !important}
  html[data-theme="dark"] .v119-table-head{color:#dbe7f5 !important}
  html[data-theme="dark"] body .sidebar-version-chip{background-color:#141b24 !important;color:#dbe7f5 !important}
  html[data-theme="dark"] body .sidebar-version-chip:hover{background-color:#17222f !important}
  html[data-theme="dark"] body .sidebar-version-chip.stale{background-color:#2a2419 !important;color:#f3c579 !important}
  html[data-theme="dark"] body .topbar #versionChip{background-color:#141b24 !important;color:#dbe7f5 !important}
}

/* ── B. 어두운 화면 색 보완 ─────────────────────────────────────────
   v1.3.21~v1.3.23 에서 추가된 대시보드 조각들(카드·타일·조회조건·빈칸)은
   밝은 화면 색만 정해져 있어서, 어두운 화면에서 "흰 바탕 + 밝은 글자" 가 되어 글자가 안 보였다.
   여기서 바탕과 테두리를 어둡게 맞춘다. 글자색은 기존 어두운 화면 규칙을 그대로 쓴다. */
html[data-theme="dark"]{
  --v131-surface:#141b24;
  --v131-surface-2:#1a222c;
  --v131-page:#0e141b;
  --v131-border:#2b3644;
  --v131-ink:#e6ecf3;
  --v131-muted:#9fb0c2;
}
html[data-theme="dark"] body .view,
html[data-theme="dark"] body #mainContent{ background:var(--v131-page)!important; }
html[data-theme="dark"] body .v1321-card,
html[data-theme="dark"] body .v1321-card.v1323-full,
html[data-theme="dark"] body .v1321-card.v1321-quick-card,
html[data-theme="dark"] body .global-period-bar,
html[data-theme="dark"] body .panel,
html[data-theme="dark"] body .overview-panel,
html[data-theme="dark"] body .trend-panel,
html[data-theme="dark"] body .form-card,
html[data-theme="dark"] body .station-card,
html[data-theme="dark"] body .role-dashboard-panel,
html[data-theme="dark"] body .table-scroll{
  background:var(--v131-surface)!important;
  border-color:var(--v131-border)!important;
  color:var(--v131-ink)!important;
}
html[data-theme="dark"] body .v1321-empty,
html[data-theme="dark"] body .v1323-station-tile,
html[data-theme="dark"] body .v1323-station-tile.ok,
html[data-theme="dark"] body .v1323-station-tile.warn,
html[data-theme="dark"] body .v1323-station-tile.bad,
html[data-theme="dark"] body .v1200-kpi,
html[data-theme="dark"] body .sidebar-version-chip,
html[data-theme="dark"] body .version-chip,
html[data-theme="dark"] body .brief-theme-toggle,
html[data-theme="dark"] body .topbar select,
html[data-theme="dark"] body .global-period-bar select,
html[data-theme="dark"] body .global-period-bar input{
  background:var(--v131-surface-2)!important;
  border-color:var(--v131-border)!important;
  color:var(--v131-ink)!important;
}
/* 카드 안의 제목·설명·KPI 라벨이 밝은 화면 색(짙은 남색)을 그대로 쓰던 것 정리 */
html[data-theme="dark"] body .v1321-card h2,
html[data-theme="dark"] body .v1321-card h3,
html[data-theme="dark"] body .v1321-card strong,
html[data-theme="dark"] body .global-period-bar strong,
html[data-theme="dark"] body .page-title h1,
html[data-theme="dark"] body .page-title h2,
html[data-theme="dark"] body .v1200-kpi>strong,
html[data-theme="dark"] body .v1323-station-tile strong{ color:var(--v131-ink)!important; }
html[data-theme="dark"] body .v1321-card small,
html[data-theme="dark"] body .v1321-card span,
html[data-theme="dark"] body .v1321-empty,
html[data-theme="dark"] body .global-period-bar small,
html[data-theme="dark"] body .page-title p,
html[data-theme="dark"] body .v1200-kpi>span,
html[data-theme="dark"] body .v1200-kpi>small,
html[data-theme="dark"] body .v1323-station-tile small,
html[data-theme="dark"] body .v1323-station-tile span{ color:var(--v131-muted)!important; }
/* 상태색(정상·주의·위험)은 어두운 바탕에서도 구분되게 밝은 쪽으로 */
html[data-theme="dark"] body .v1200-kpi>small.up{ color:#5ed6a4!important; }
html[data-theme="dark"] body .v1200-kpi>small.warn{ color:#ffc46b!important; }
html[data-theme="dark"] body .v1200-kpi>small.bad{ color:#ff8b8b!important; }

/* ── C. 상단 이동 버튼(홈·뒤로·앞으로) 대비 ──────────────────────────
   v1.1.x 의 남색 상단바 시절 스타일(흰 글자 + 반투명 남색 배경)이 그대로 남아,
   v1.3.24 이후 흰 상단바에서는 "흰 글자 위 밝은 회색" (대비 1.86:1) 이라 글자가 거의 안 보였다.
   v1.3.27 에서 알림·검색·로그아웃에 적용한 것과 같은 규칙을 이 세 버튼에도 적용한다. */
@media(min-width:960px){
  html:not([data-theme="dark"]) body .topbar #navHome,
  html:not([data-theme="dark"]) body .topbar #navBack,
  html:not([data-theme="dark"]) body .topbar #navForward{
    background:#fff!important;
    color:#183c5d!important;
    border:1px solid #c8d8e7!important;
    box-shadow:0 1px 2px rgba(23,59,93,.05)!important;
  }
  html:not([data-theme="dark"]) body .topbar #navHome:hover,
  html:not([data-theme="dark"]) body .topbar #navBack:hover,
  html:not([data-theme="dark"]) body .topbar #navForward:hover{
    background:#edf6ff!important;
    border-color:#9fc5e8!important;
    color:#0c5eaa!important;
  }
  html:not([data-theme="dark"]) body .topbar #navHome:active,
  html:not([data-theme="dark"]) body .topbar #navBack:active,
  html:not([data-theme="dark"]) body .topbar #navForward:active{
    background:#dceeff!important;
    color:#0a4c8c!important;
  }
  html:not([data-theme="dark"]) body .topbar #navHome:focus-visible,
  html:not([data-theme="dark"]) body .topbar #navBack:focus-visible,
  html:not([data-theme="dark"]) body .topbar #navForward:focus-visible{
    outline:3px solid rgba(21,112,205,.28)!important;
    outline-offset:2px!important;
  }
  html[data-theme="dark"] body .topbar #navHome,
  html[data-theme="dark"] body .topbar #navBack,
  html[data-theme="dark"] body .topbar #navForward{
    background:#173653!important;
    color:#eef6ff!important;
    border:1px solid #365672!important;
  }
  html[data-theme="dark"] body .topbar #navHome:hover,
  html[data-theme="dark"] body .topbar #navBack:hover,
  html[data-theme="dark"] body .topbar #navForward:hover{
    background:#1d4a70!important;
  }
}

/* ── D. 숫자·상태 글자가 잘려서 안 보이던 것 ────────────────────────
   KPI 카드 값은 한 줄 고정 + 넘치면 숨김(...) 이라 글자 크기를 키우면 "미등록" 이 "미..." 로 잘렸다.
   세로로도 잘려 글자 아랫부분이 없어졌다. 자료를 감추지 않는다(방향성 10항)는 원칙에 맞게
   줄바꿈을 허용하고 카드 높이가 내용을 따라가게 한다. */
.v1200-kpi{ min-height:auto!important; }
.v1200-kpi>strong{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  line-height:1.24!important;
  overflow-wrap:anywhere;
  word-break:keep-all;
}
.v1200-kpi>small{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  line-height:1.3!important;
  word-break:keep-all;
}
/* 글자를 키우면 KPI 6칸이 한 줄에 다 들어가지 않는다. 억지로 좁히지 말고 다음 줄로 넘긴다. */
@media(min-width:960px){
  .v1321-kpis{ grid-template-columns:repeat(auto-fit,minmax(136px,1fr))!important; }
}

/* ── E. 상단바 역할·화면 이름표 대비 ────────────────────────────────
   넓은 화면(1200px 이상)에서만 보이는 "대표 / 전체 현황" 이름표가
   남색 상단바 시절 색(흰색·연한 하늘색)을 그대로 쓰고 있어 흰 상단바에서 거의 안 보였다.
   (대비 1.02:1 / 1.24:1 — 사실상 글자가 없는 것처럼 보인다) */
@media(min-width:960px){
  html:not([data-theme="dark"]) body .topbar #topbarRoleLabel,
  html:not([data-theme="dark"]) body .topbar .topbar-title small,
  html:not([data-theme="dark"]) body .topbar .data-mode-setting>span{
    color:#5b7185!important;
  }
  html:not([data-theme="dark"]) body .topbar #topbarUserLabel,
  html:not([data-theme="dark"]) body .topbar .topbar-title strong{
    color:#183c5d!important;
  }
  html[data-theme="dark"] body .topbar #topbarRoleLabel,
  html[data-theme="dark"] body .topbar .topbar-title small,
  html[data-theme="dark"] body .topbar .data-mode-setting>span{ color:#a9c2da!important; }
  html[data-theme="dark"] body .topbar #topbarUserLabel,
  html[data-theme="dark"] body .topbar .topbar-title strong{ color:#eef6ff!important; }
}

/* ── F. 숨김 처리한 상단바 요소가 그대로 보이던 것 ──────────────────
   '가상자료(미리보기)' 전환은 실제 운영 시작(2026-09) 이후 관리자 전용이다.
   JS 는 hidden 을 걸어 두는데 상단바 배치 규칙의 display:flex 가 이를 덮어써서
   대표·소장 화면에도 그대로 보였다. hidden 이면 실제로 숨긴다. */
.topbar [hidden]{ display:none!important; }

/* ── G. 글자를 키웠을 때 위아래가 잘리던 이름표 ─────────────────────
   줄간격이 글자 크기보다 작게 고정돼 있어 '아주 크게'에서 글자 아랫부분이 잘렸다. */
.topbar-brand-v119 strong,
.topbar #topbarRoleLabel,
.topbar #topbarUserLabel,
.topbar .topbar-title strong,
.topbar .topbar-title small{ line-height:1.35!important; overflow:visible!important; }

/* F 보강 — 상단바 배치 규칙(display:flex!important)이 hidden 을 이기던 것을 우선순위로 정리 */
html body .topbar .ui-setting-cluster label[hidden],
html body .topbar .ui-setting-cluster [hidden],
html body .topbar [hidden]{ display:none!important; }

/* G 보강 — 이름표는 말줄임(...) 대신 그대로 보여준다 */
.topbar-brand-v119 strong,
.topbar #topbarRoleLabel,
.topbar #topbarUserLabel{ text-overflow:clip!important; }

/* H. 카드 아래 작은 설명글이 너무 흐려서 읽기 힘들던 것(대비 2.8:1 → 4.0:1 이상) */
html:not([data-theme="dark"]) body .v1321-card small,
html:not([data-theme="dark"]) body .v1321-card .v1321-card-note,
html:not([data-theme="dark"]) body .global-period-bar small{ color:#5f7387!important; }

/* ── I. 달력 화면 KPI 값 잘림 ──────────────────────────────────────
   달력 상단 요약(입고예정·실제입고 등)이 높이 36px 고정 + 한 줄 고정이라
   글자를 키우면 숫자 아랫부분이 잘렸다. 높이가 내용을 따라가게 한다. */
[data-view="calendar"] .cal-kpi{ height:auto!important; min-height:36px!important; }
[data-view="calendar"] .cal-kpi strong{ line-height:1.25!important; overflow:visible!important; text-overflow:clip!important; }
[data-view="calendar"] .cal-kpi span{ white-space:normal!important; }

/* ── J. 오늘 업무(직원) 화면 숫자 아랫부분 잘림 ────────────────────
   줄간격이 1.05 로 고정돼 있어 글자를 키우면 숫자·글자 아래가 잘렸다. 카드 높이는 그대로 두고 줄간격만 넓힌다. */
.work-stat strong{ line-height:1.28!important; overflow:visible!important; text-overflow:clip!important; }
.work-stat span,.work-stat small{ overflow:visible!important; }

/* ── K. 밝은 화면에서 주의(주황) 글자가 흐리던 것 (2.65:1 → 4.2:1) ── */
html:not([data-theme="dark"]) body .v120-staff-board .staff-summary b.warn,
html:not([data-theme="dark"]) body .v1200-kpi>small.warn,
html:not([data-theme="dark"]) body .v119-tank-cards footer .warn{ color:#a4640a!important; }

/* ── L. 어두운 화면: 본문 글자색 기본값 ─────────────────────────────
   v1.3.21~ 이후 추가된 화면 조각들은 밝은 화면 기준의 짙은 남색 글자만 정해 두어
   어두운 바탕 위에서 글자가 보이지 않았다(대비 1.3:1 수준). 상태색(.bad/.warn/.ok/.up)은 건드리지 않는다. */
html[data-theme="dark"] body #mainContent h1,
html[data-theme="dark"] body #mainContent h2,
html[data-theme="dark"] body #mainContent h3,
html[data-theme="dark"] body #mainContent h4,
html[data-theme="dark"] body #mainContent th,
html[data-theme="dark"] body #mainContent legend,
html[data-theme="dark"] body #mainContent summary,
html[data-theme="dark"] body #mainContent strong:not(.bad):not(.warn):not(.ok):not(.up):not(.down){
  color:var(--v131-ink)!important;
}
html[data-theme="dark"] body #mainContent p,
html[data-theme="dark"] body #mainContent td,
html[data-theme="dark"] body #mainContent li,
html[data-theme="dark"] body #mainContent label,
html[data-theme="dark"] body #mainContent small:not(.bad):not(.warn):not(.ok):not(.up):not(.down){
  color:var(--v131-muted)!important;
}
/* 달력 날짜·오늘 표시는 어두운 바탕에서도 또렷하게 */
html[data-theme="dark"] body .calendar-day .day-head strong{ color:var(--v131-ink)!important; }
html[data-theme="dark"] body .calendar-day.sat .day-head strong{ color:#8ab4ff!important; }
html[data-theme="dark"] body .calendar-day.sun .day-head strong{ color:#ff9b9b!important; }
html[data-theme="dark"] body .day-head-meta .today-label{ color:#cfe0f0!important; }

/* ── N. 어두운 화면에서 값이 비어 있던 디자인 토큰 ──────────────────
   --panel 은 정의된 적이 없어 var(--panel,#fff) 이 항상 흰색으로 떨어졌다.
   --ui-bg/--ui-panel/--ui-border/--ui-muted 도 밝은 화면 값만 있었다. 어두운 화면 값만 채운다. */
html[data-theme="dark"]{
  --panel:#141b24;
  --surface:#141b24;
  --card:#141b24;
  --bg:#0e141b;
  --sunken:#1a222c;      /* .setup-empty 등 "눌린" 배경 */
  --input-bg:#131a23;
  --row-alt:#171f29;
  --navy:#0b1a2b;
  --ui-bg:#0e141b;
  --ui-panel:#141b24;
  --ui-border:#2b3644;
  --ui-muted:#9fb0c2;
}
/* 달력 오늘 표시는 흰 글자가 얹히므로 조금 더 진한 파랑으로 (대비 2.4 → 4.5) */
html[data-theme="dark"] body .calendar-day.today .day-head,
html[data-theme="dark"] body .calendar-day.today .day-head strong{ background-color:#2b6fd6!important; color:#ffffff!important; }

html[data-theme="dark"] body .calendar-day.today .day-head .day-head-meta .today-label,
html[data-theme="dark"] body .calendar-day .day-head .today-label{ color:#ffffff!important; }

/* ── A. 어두운 화면 배치 동일화 (생성) ──────────────────────────── */
html[data-theme="dark"] .login-card,
html[data-theme="dark"] .password-dialog,
html[data-theme="dark"] .install-dialog{border-width:1px !important;border-style:solid !important}
/* ── 상단바/조회조건 ── */
html[data-theme="dark"] .topbar-v119{border-bottom-width:1px !important;border-bottom-style:solid !important}
html[data-theme="dark"] .global-period-bar{border-width:1px !important;border-style:solid !important;padding:9px 11px!important}
/* ── 전체 페이지 공통 ── */
html[data-theme="dark"] .page-title{padding:5px 2px 8px!important;margin-bottom:7px!important}
html[data-theme="dark"] .page-title h1{font-weight:950!important;letter-spacing:-.035em!important}
html[data-theme="dark"] .panel,
html[data-theme="dark"] .overview-panel,
html[data-theme="dark"] .trend-panel,
html[data-theme="dark"] .form-card,
html[data-theme="dark"] .station-card,
html[data-theme="dark"] .role-dashboard-panel,
html[data-theme="dark"] .operation-submit-panel,
html[data-theme="dark"] .operation-inbox-panel,
html[data-theme="dark"] .goods-overview-panel,
html[data-theme="dark"] .table-scroll{border-width:1px !important;border-style:solid !important}
html[data-theme="dark"] .form-card,
html[data-theme="dark"] .panel,
html[data-theme="dark"] .overview-panel{padding:13px 14px!important}
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea{border-width:1px !important;border-style:solid !important}
html[data-theme="dark"] .primary{border-width:0 !important}
html[data-theme="dark"] .quiet{border-width:1px !important;border-style:solid !important}
html[data-theme="dark"] .tab-bar,
html[data-theme="dark"] .overview-tabs{border-width:1px !important;border-style:solid !important}
html[data-theme="dark"] table thead th,
html[data-theme="dark"] .data-table thead th{font-weight:900!important}
/* ── 대표/관리자/소장 대시보드 공통: 선택 시안 톤 ── */
html[data-theme="dark"] .v1321-dashboard{gap:11px!important}
html[data-theme="dark"] .v1321-head{padding:2px 3px 3px!important;align-items:center!important}
html[data-theme="dark"] .v1321-head small{font-size:9.5px!important}
html[data-theme="dark"] .v1321-head h2{font-size:20px!important;font-weight:950!important}
html[data-theme="dark"] .v1322-basis-strip{gap:6px!important}
html[data-theme="dark"] .v1322-basis-strip span{padding:5px 8px!important;font-size:7.6px!important}
html[data-theme="dark"] .v1321-kpis{gap:8px!important}
html[data-theme="dark"] .v1321-kpis .v1200-kpi{position:relative!important;min-height:82px!important;padding:12px 11px 10px 52px!important;border-width:1px !important;border-style:solid !important;overflow:hidden!important;justify-content:center!important;text-align:left!important}
html[data-theme="dark"] .v1321-kpis .v1200-kpi::before{position:absolute;left:12px;top:14px;width:31px;height:31px;display:grid;place-items:center;font-size:17px;font-weight:900}
html[data-theme="dark"] .v1321-kpis .v1200-kpi:nth-child(1)::before{content:"▥"}
html[data-theme="dark"] .v1321-kpis .v1200-kpi:nth-child(2)::before{content:"⛽"}
html[data-theme="dark"] .v1321-kpis .v1200-kpi:nth-child(3)::before{content:"!"}
html[data-theme="dark"] .v1321-kpis .v1200-kpi:nth-child(4)::before{content:"●"}
html[data-theme="dark"] .v1321-kpis .v1200-kpi:nth-child(5)::before{content:"▣"}
html[data-theme="dark"] .v1321-kpis .v1200-kpi:nth-child(6)::before{content:"₩"}
html[data-theme="dark"] .v1321-kpis .v1200-kpi>span{font-size:10.5px!important;font-weight:900!important}
html[data-theme="dark"] .v1321-kpis .v1200-kpi>strong{font-size:20px!important;line-height:1.05!important;margin-top:2px!important}
html[data-theme="dark"] .v1321-kpis .v1200-kpi>small{font-size:7.8px!important}
html[data-theme="dark"] .v1321-kpis .v1200-kpi>b{top:8px!important;right:9px!important}
html[data-theme="dark"] .v1321-grid{gap:10px!important}
html[data-theme="dark"] .v1321-card{padding:11px 12px!important;border-width:1px !important;border-style:solid !important}
html[data-theme="dark"] .v1321-card>header{min-height:34px!important;margin-bottom:8px!important;padding-bottom:7px!important;border-bottom-width:1px !important;border-bottom-style:solid !important}
html[data-theme="dark"] .v1321-card>header h3{font-size:12.5px!important;font-weight:950!important}
html[data-theme="dark"] .v1321-card>header small{font-size:7.8px!important}
html[data-theme="dark"] .v1321-card>header h3::before{content:"";display:inline-block;width:5px;height:14px;margin-right:7px;vertical-align:-2px}
/* 대표 세로 그래프: 매출 파랑 / 판매량 민트 */
html[data-theme="dark"] .v1323-column-chart,
html[data-theme="dark"] .v1323-station-columns{height:188px!important;gap:10px!important;padding-top:14px!important}
html[data-theme="dark"] .v1323-column>i,
html[data-theme="dark"] .v1323-station-column>i{height:124px!important}
html[data-theme="dark"] .v1323-column>b,
html[data-theme="dark"] .v1323-station-column>b{font-size:9.2px!important}
/* 일반 대시보드의 가로 그래프는 파스텔 + 위험 강조 */
html[data-theme="dark"] .v1321-bar-row{min-height:27px!important}
html[data-theme="dark"] .v1321-bar-row>i{height:9px!important}
/* 대표 주유소 카드/묶음 */
html[data-theme="dark"] .v1323-station-tiles{gap:8px!important}
html[data-theme="dark"] .v1323-station-tile{border-width:1px !important;border-style:solid !important;padding:10px 11px!important}
html[data-theme="dark"] .v1323-station-tile:hover{transform:translateY(-1px)}
html[data-theme="dark"] .v1323-station-tile.bad{border-left-width:4px !important;border-left-style:solid !important}
html[data-theme="dark"] .v1323-station-tile.warn{border-left-width:4px !important;border-left-style:solid !important}
html[data-theme="dark"] .v1323-station-tile.ok{border-left-width:4px !important;border-left-style:solid !important}
html[data-theme="dark"] .v1323-station-group{border-width:1px !important;border-style:solid !important}
/* 운영센터/소장·관리자 카드 */
html[data-theme="dark"] .role-dashboard-head{border-width:1px !important;border-style:solid !important;padding:12px 14px!important}
html[data-theme="dark"] .role-dashboard-kpis .work-stat,
html[data-theme="dark"] .work-center-stats .work-stat{border-width:1px !important;border-style:solid !important}
html[data-theme="dark"] body{font-family:"Pretendard Variable","Pretendard","SUIT Variable","Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif!important}
/* ── 사이드바: 선택 시안의 밝고 친근한 FuelHub 느낌 ── */
html[data-theme="dark"] .sidebar-brand{gap:8px!important;padding:8px 7px 13px!important;margin-bottom:7px!important;border-bottom-width:1px !important;border-bottom-style:solid !important}
html[data-theme="dark"] .sidebar-brand-mark{width:34px!important;height:34px!important;font-size:0!important}
html[data-theme="dark"] .sidebar-brand-mark::before{content:"💧";font-size:18px;line-height:1}
html[data-theme="dark"] .sidebar-brand-text{font-size:.91rem!important;font-weight:950!important;letter-spacing:-.03em}
html[data-theme="dark"] .sidebar-brand-copy small{font-size:.58rem!important}
html[data-theme="dark"] .role-nav-group-head{font-size:.63rem!important;padding-left:7px!important}
html[data-theme="dark"] .role-nav-item{min-height:39px!important;padding:7px 8px!important;font-size:.72rem!important;font-weight:850!important}
html[data-theme="dark"] .role-nav-icon{width:24px!important;height:24px!important;font-size:.72rem!important}
/* ── 상단 도구바: 기능은 그대로, 카드형 필터처럼 보이게 ── */
html[data-theme="dark"] .topbar-v119{border-bottom-width:1px !important;border-bottom-style:solid !important}
html[data-theme="dark"] .topbar-brand-v119 strong{font-weight:950!important;letter-spacing:-.025em}
/* ─────────────────────────────────────────────────────────────
   대시보드 공통 — 숫자는 조금 더 크게, 카드와 그래프는 더 풍부하게
   ───────────────────────────────────────────────────────────── */
html[data-theme="dark"] .v1321-dashboard{gap:9px!important}
html[data-theme="dark"] .v1321-head{position:relative!important;overflow:hidden!important;padding:11px 14px!important;margin:0!important;border-width:1px !important;border-style:solid !important}
html[data-theme="dark"] .v1321-head::after{content:"⛽";position:absolute;right:68px;bottom:-15px;font-size:58px;transform:rotate(-6deg);pointer-events:none}
html[data-theme="dark"] .v1321-head small{font-size:9.5px!important;font-weight:850!important}
html[data-theme="dark"] .v1321-head h2{font-size:21px!important;font-weight:950!important;letter-spacing:-.035em!important}
html[data-theme="dark"] .v1321-head-status{position:relative;z-index:1}
html[data-theme="dark"] .v1321-head-status span{font-weight:800!important}
html[data-theme="dark"] .v1321-head-status button{border-width:1px !important;border-style:solid !important}
html[data-theme="dark"] .v1322-basis-strip{gap:6px!important;margin:0!important;padding:0 1px!important}
html[data-theme="dark"] .v1322-basis-strip span{padding:4px 8px!important}
html[data-theme="dark"] .v1321-kpis{gap:7px!important}
html[data-theme="dark"] .v1321-kpis .v1200-kpi{min-height:75px!important;padding:10px 10px 9px 49px!important;border-width:1px !important;border-style:solid !important;overflow:hidden!important}
html[data-theme="dark"] .v1321-kpis .v1200-kpi::before{left:10px!important;top:12px!important;width:31px!important;height:31px!important;font-size:16px!important}
html[data-theme="dark"] .v1321-kpis .v1200-kpi>span{font-size:10.8px!important;font-weight:900!important}
html[data-theme="dark"] .v1321-kpis .v1200-kpi>strong{font-size:22px!important;line-height:1.04!important;letter-spacing:-.025em!important}
html[data-theme="dark"] .v1321-kpis .v1200-kpi>small{font-size:8.2px!important}
html[data-theme="dark"] .v1321-grid{gap:9px!important}
html[data-theme="dark"] .v1321-card{position:relative!important;overflow:hidden!important;padding:10px 11px!important;border-width:1px !important;border-style:solid !important}
html[data-theme="dark"] .v1321-card>header{min-height:33px!important;margin:-1px 0 8px!important;padding:1px 2px 7px!important;border-bottom-width:1px !important;border-bottom-style:solid !important}
html[data-theme="dark"] .v1321-card>header h3{font-size:13px!important;font-weight:950!important;letter-spacing:-.025em!important}
html[data-theme="dark"] .v1321-card>header small{font-size:8.1px!important}
html[data-theme="dark"] .v1321-card>header h3::before{width:5px!important;height:15px!important}
/* 대표 추이/비교 차트 — 칸 박스 대신 실제 그래프처럼 격자 + 막대 */
html[data-theme="dark"] .v1323-column-chart,
html[data-theme="dark"] .v1323-station-columns{height:164px!important;gap:9px!important;padding:12px 10px 4px!important;border-width:1px !important;border-style:solid !important;overflow-x:auto!important}
html[data-theme="dark"] .v1323-column>i,
html[data-theme="dark"] .v1323-station-column>i{height:106px!important;overflow:visible!important}
html[data-theme="dark"] .v1323-column>i>em,
html[data-theme="dark"] .v1323-station-column>i>em{width:min(38px,68%)!important}
html[data-theme="dark"] .v1323-column>b,
html[data-theme="dark"] .v1323-station-column>b{font-size:10.5px!important;font-weight:950!important}
html[data-theme="dark"] .v1323-column>small,
html[data-theme="dark"] .v1323-station-column>span{font-size:8.2px!important;font-weight:800!important}
html[data-theme="dark"] .v1323-chart-help{font-size:8px!important}
/* 대표 주유소 카드 — 작은 랭킹 카드 느낌 */
html[data-theme="dark"] .v1323-station-tiles{gap:7px!important;grid-template-columns:repeat(auto-fit,minmax(165px,1fr))!important}
html[data-theme="dark"] .v1323-station-tile{padding:9px 10px!important}
html[data-theme="dark"] .v1323-station-tile>header b{font-size:11px!important}
html[data-theme="dark"] .v1323-station-tile>header em{font-size:8px!important}
html[data-theme="dark"] .v1323-station-tile>div span{padding:6px 7px!important}
html[data-theme="dark"] .v1323-station-tile>div small{font-size:7.5px!important}
html[data-theme="dark"] .v1323-station-tile>div strong{font-size:11.5px!important}
html[data-theme="dark"] .v1323-station-tile.ok{border-left-width:4px !important;border-left-style:solid !important}
html[data-theme="dark"] .v1323-station-tile.warn{border-left-width:4px !important;border-left-style:solid !important}
html[data-theme="dark"] .v1323-station-tile.bad{border-left-width:4px !important;border-left-style:solid !important}
/* 탱크/유외/예측 막대 — 상태를 색으로 바로 찾게 */
html[data-theme="dark"] .v1321-bar-row{min-height:30px!important;padding:3px 5px!important}
html[data-theme="dark"] .v1321-bar-row>span{font-weight:850!important}
html[data-theme="dark"] .v1321-bar-row>strong{font-weight:950!important}
html[data-theme="dark"] .v1321-bar-row>i{height:10px!important}
/* ─────────────────────────────────────────────────────────────
   관리자·소장·부장 대시보드 — 대표와 같은 디자인 언어
   ───────────────────────────────────────────────────────────── */
html[data-theme="dark"] .role-dashboard-head{position:relative;overflow:hidden;padding:12px 14px!important}
html[data-theme="dark"] .role-dashboard-head::after{content:"☀";position:absolute;right:18px;bottom:-14px;font-size:56px}
html[data-theme="dark"] .role-dashboard-head h1{font-size:1.35rem!important;font-weight:950!important}
html[data-theme="dark"] .role-dashboard-kpis .work-stat,
html[data-theme="dark"] .work-center-stats .work-stat{min-height:70px!important}
html[data-theme="dark"] .role-dashboard-kpis .work-stat strong{font-size:1.15rem!important}
html[data-theme="dark"] .role-panel-head{border-bottom-width:1px !important;border-bottom-style:solid !important;padding-bottom:7px!important}
html[data-theme="dark"] .role-panel-head h2{font-size:.86rem!important}
/* ─────────────────────────────────────────────────────────────
   모든 업무 메뉴 공통 — 안쪽 내용까지 동일한 톤
   ───────────────────────────────────────────────────────────── */
html[data-theme="dark"] .page-title{padding:7px 4px 9px!important}
html[data-theme="dark"] .page-title h1,
html[data-theme="dark"] .page-title h2{font-weight:950!important;letter-spacing:-.035em!important}
html[data-theme="dark"] .page-title h1::before{content:"";display:inline-block;width:7px;height:7px;margin-right:8px;vertical-align:3px}
html[data-theme="dark"] .page-title p{font-weight:650!important}
html[data-theme="dark"] .form-card,
html[data-theme="dark"] .panel,
html[data-theme="dark"] .overview-panel,
html[data-theme="dark"] .trend-panel,
html[data-theme="dark"] .station-card,
html[data-theme="dark"] .operation-submit-panel,
html[data-theme="dark"] .operation-inbox-panel,
html[data-theme="dark"] .goods-overview-panel,
html[data-theme="dark"] .document-upload-panel,
html[data-theme="dark"] .document-filter-panel,
html[data-theme="dark"] .document-list-panel,
html[data-theme="dark"] .ledger-entry-panel,
html[data-theme="dark"] .ledger-list-panel,
html[data-theme="dark"] .v55-panel{border-width:1px !important;border-style:solid !important}
html[data-theme="dark"] .station-head{padding-bottom:7px!important;margin-bottom:8px!important;border-bottom-width:1px !important;border-bottom-style:solid !important}
html[data-theme="dark"] .station-head h2,
html[data-theme="dark"] .station-head strong,
html[data-theme="dark"] .form-card h2,
html[data-theme="dark"] .form-card h3,
html[data-theme="dark"] .panel h2,
html[data-theme="dark"] .panel h3{font-weight:950!important;letter-spacing:-.02em!important}
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea{border-width:1px !important;border-style:solid !important}
html[data-theme="dark"] button.primary,
html[data-theme="dark"] .primary{border-width:0 !important}
html[data-theme="dark"] button.quiet,
html[data-theme="dark"] .quiet{border-width:1px !important;border-style:solid !important}
/* 탭 */
html[data-theme="dark"] .tab-bar,
html[data-theme="dark"] .overview-tabs,
html[data-theme="dark"] .segmented,
html[data-theme="dark"] .sheet-tabbar{padding:4px!important}
html[data-theme="dark"] .tab-button,
html[data-theme="dark"] .overview-tabs button,
html[data-theme="dark"] .segmented button,
html[data-theme="dark"] .sheet-tab{font-weight:850!important}
/* Excel형 표 — 촘촘하지만 시선이 잘 가는 색감 */
html[data-theme="dark"] .table-scroll{overflow:auto!important;border-width:1px !important;border-style:solid !important}
html[data-theme="dark"] table{border-collapse:separate!important;border-spacing:0!important}
html[data-theme="dark"] table th,
html[data-theme="dark"] .data-table th,
html[data-theme="dark"] .sheet-table th{font-weight:900!important}
/* 마감 메뉴의 큰 업무 버튼 */
html[data-theme="dark"] .closing-actions{gap:8px!important}
html[data-theme="dark"] .closing-action{border-width:1px !important;border-style:solid !important}
html[data-theme="dark"] .closing-action strong{font-weight:950!important}
html[data-theme="dark"] .calendar-weekday{font-weight:900!important}
html[data-theme="dark"] .calendar-day:hover{transform:translateY(-1px)}
/* 유외상품·재고/탱크: 큰 빈 카드보다 실제 행 중심 */
html[data-theme="dark"] .goods-overview-list,
html[data-theme="dark"] .tank-records,
html[data-theme="dark"] .tank-forecast-list{gap:5px!important}
html[data-theme="dark"] .kpi-row{gap:7px!important}
html[data-theme="dark"] .empty-card{border-width:1px !important;border-style:dashed !important}
html[data-theme="dark"] .topbar-brand-drop{font-size:0!important}
html[data-theme="dark"] .topbar-brand-drop::before{content:"💧";font-size:13px;line-height:1}
html[data-theme="dark"] body{font-family:"IBM Plex Sans KR","Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif!important}

@media(max-width:560px){
  html[data-theme="dark"] .v1321-head{grid-template-columns:1fr auto!important}
  html[data-theme="dark"] .v1321-kpis .v1200-kpi{min-height:69px!important}
  html[data-theme="dark"] .v1321-kpis .v1200-kpi>strong{font-size:15px!important}
  html[data-theme="dark"] .v1323-station-tiles{grid-template-columns:1fr!important}
  html[data-theme="dark"] .goods-sheet-summary{gap:5px!important}
  html[data-theme="dark"] .v1323-station-tiles{grid-template-columns:1fr!important}
  html[data-theme="dark"] .v1321-head-status span{display:none!important}
  html[data-theme="dark"] .v1321-kpis .v1200-kpi>strong{font-size:16.5px!important}
  html[data-theme="dark"] .closing-actions{grid-template-columns:1fr 1fr!important}
  html[data-theme="dark"] .closing-action{grid-column:auto!important;min-height:80px!important}
}

@media(min-width:960px){
  html[data-theme="dark"] body #mainContent{left:var(--fh26-sidebar)!important;right:0!important;width:auto!important;margin-left:0!important;max-width:none!important;overflow-x:auto!important}
}
